JPH07282237A - 半導体集積回路 - Google Patents
半導体集積回路Info
- Publication number
- JPH07282237A JPH07282237A JP6071821A JP7182194A JPH07282237A JP H07282237 A JPH07282237 A JP H07282237A JP 6071821 A JP6071821 A JP 6071821A JP 7182194 A JP7182194 A JP 7182194A JP H07282237 A JPH07282237 A JP H07282237A
- Authority
- JP
- Japan
- Prior art keywords
- data
- arithmetic
- parallel
- circuit
- circuits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
Abstract
(57)【要約】
【目的】 2次元デ−タを用いた演算処理を高い並列度
で高速に行うことのできる半導体集積回路を与えるこ
と。 【構成】 2次元メモリアレ−(MAR)、2次元メモリア
レ−のワ−ド線を選択することによりデ−タ線を通じて
並列に読みだしたデ−タを演算回路群へ並列に転送する
並列デ−タ転送回路(TRC)、並列デ−タ転送回路から転
送されるデ−タを用いて演算処理を並列に行う演算回路
群(PE)を具備し、個々の演算回路は並列デ−タ転送回路
を通じて上記2次元メモリアレ−の連続する複数のワ−
ド線とデ−タ線をアクセスでき、複数の隣接する演算回
路がアクセスできる2次元メモリアレ−のデ−タ線の範
囲は重なりを持つようにした。 【効果】 隣接する演算回路がアクセスできるデ−タ線
の範囲は重なりを持つため、2次元メモリアレ−に記憶
された2次元デ−タに対してコンボリュ−ション演算な
どを並列に行うことができる。
で高速に行うことのできる半導体集積回路を与えるこ
と。 【構成】 2次元メモリアレ−(MAR)、2次元メモリア
レ−のワ−ド線を選択することによりデ−タ線を通じて
並列に読みだしたデ−タを演算回路群へ並列に転送する
並列デ−タ転送回路(TRC)、並列デ−タ転送回路から転
送されるデ−タを用いて演算処理を並列に行う演算回路
群(PE)を具備し、個々の演算回路は並列デ−タ転送回路
を通じて上記2次元メモリアレ−の連続する複数のワ−
ド線とデ−タ線をアクセスでき、複数の隣接する演算回
路がアクセスできる2次元メモリアレ−のデ−タ線の範
囲は重なりを持つようにした。 【効果】 隣接する演算回路がアクセスできるデ−タ線
の範囲は重なりを持つため、2次元メモリアレ−に記憶
された2次元デ−タに対してコンボリュ−ション演算な
どを並列に行うことができる。
Description
【0001】
【産業上の利用分野】本発明は2次元メモリセルアレー
を用いた半導体集積回路に関するものであって、特にコ
ンボリューション演算などのデジタルフィルタ処理、あ
るいは、動画像の動きベクトルの探索の演算など2次元
のデータを用いた演算をリアルタイムに行うのに適した
半導体集積回路を与えるものである。
を用いた半導体集積回路に関するものであって、特にコ
ンボリューション演算などのデジタルフィルタ処理、あ
るいは、動画像の動きベクトルの探索の演算など2次元
のデータを用いた演算をリアルタイムに行うのに適した
半導体集積回路を与えるものである。
【0002】
【従来の技術】2次元のデータを扱う情報処理には様々
なものがあるが、特に画像処理ではCRT画面上の画素
の配列が2次元になっているので、頻繁に2次元のデー
タの演算が行われる。代表的なものとして、2次元のフ
ィルタ処理がある。
なものがあるが、特に画像処理ではCRT画面上の画素
の配列が2次元になっているので、頻繁に2次元のデー
タの演算が行われる。代表的なものとして、2次元のフ
ィルタ処理がある。
【0003】図2に画像処理を行う従来の半導体集積回
路を示した。この装置は、2次元のフィルタ処理を行う
のに適したもので、1987年のアイ・エス・エス・シ
ー・シー・ダイジェスト・オブ・テクニカル、ペーパー
ズの182ページから183ページに記載されているア
・バイシーモス・イメージ・シグナル・プロセッサー・
ウイズ・ラインメモリと題した論文(Yoshiki Kobayash
i,Tadashi Fukushima,Syuichi Miura,Morio Kanasaki,K
ohtaro Hirasawa, "A BiCMOS Image Processorwith Lin
e Memories", ISSCC Digest of Technical Papers,p.18
2-183;Feb., 1987)に記載されたものである。
路を示した。この装置は、2次元のフィルタ処理を行う
のに適したもので、1987年のアイ・エス・エス・シ
ー・シー・ダイジェスト・オブ・テクニカル、ペーパー
ズの182ページから183ページに記載されているア
・バイシーモス・イメージ・シグナル・プロセッサー・
ウイズ・ラインメモリと題した論文(Yoshiki Kobayash
i,Tadashi Fukushima,Syuichi Miura,Morio Kanasaki,K
ohtaro Hirasawa, "A BiCMOS Image Processorwith Lin
e Memories", ISSCC Digest of Technical Papers,p.18
2-183;Feb., 1987)に記載されたものである。
【0004】図2の半導体集積回路の概要を説明する。
図2(a)は、半導体チップ上に形成された上記半導体集
積回路のブロック図である。図2(a)に示したように、
この半導体集積回路は、入力画像データに対してしきい
値処理等の前処理をする前処理演算回路PPU、画像の
1ライン分を記憶して1ライン分の遅延を作るラインメ
モリLM1,LM2、シフトレジスタSR、フィルタの
重み係数を記憶するデータメモリDM、演算回路PE、
加算回路を含むリンケージユニットLU1,LU2から
構成されている。図2(b)は、図2(a)の半導体集積回路
を3x3の空間フィルタの計算に用いた場合の計算の方
法を示した例である。図2(b)において、F32,F(x+i)
(Y+j)は、それぞれ、入力画像のフレームにおける、第
3行、第2列の画素の値(濃淡値)と、第(x+i)行、第
(Y+j)列の画素の値を示す。また、Wij,W-1-1,..,W1
1は、フィルタ係数、Rxyは、演算出力画像のフレーム
の第x行、第Y列の画素の値を示す。この図を用いて、図
2(a)の半導体集積回路の動作を説明する。よく知られ
ているように、3x3の空間フィルタの計算では、Rxy
の値は、図2(b)に示した式のように、入力画像の画素
の値とフィルタ係数の積和演算であらわせる。Rxyの値
を求めるには、入力画像のフレームの第x行、第Y列の画
素を中心とする9つの入力画像の画素の値が必要にな
る。入力された画像データは、まず、前処理演算回路P
PUに入力される。フィルタ処理ではしきい値処理を施
す必要がないため、入力された画像データは、そのま
ま、シフトレジスタSRとラインメモリLM1に伝えら
れる。ラインメモリLM1の出力は、1ライン分遅延さ
れて出力される。ラインメモリLM1の出力は、ライン
メモリLM2に入力されているので、さらに1ライン分
遅延されて出力される。このため、3x3の空間フィル
タの計算に必要な入力画像の画素の値がライン毎に別々
のシフトレジスタに蓄えられる。図(b)には、F22を中心
とした9つの入力画像の画素の値がシフトレジスタに蓄
えられている様子を示した。シフトレジスタに蓄えられ
た9つの画素の値は、順番に演算回路PE1,PE2,
PE3に入力され、対応する係数との積が計算される。
乗算の結果は、リンケージユニットLU1,LU2に入
力され、加算されて、この場合、R22の値が、求められ
る。このように、第2図に示した従来の、半導体集積回
路では、ラインメモリによる遅延を利用して、3つのラ
インに渡る画素の値を3つの演算回路に入力し、3つの
乗算を並列に処理している。このため、空間フィルタの
高速処理が可能である。上記の文献によれば、1.8ミ
クロンの加工技術によるBiCMOSデバイスで試作し
た結果、512x512画素からなるテレビ画像につい
て、3x3の空間フィルタの計算をリアルタイムで処理
できると報告されている。
図2(a)は、半導体チップ上に形成された上記半導体集
積回路のブロック図である。図2(a)に示したように、
この半導体集積回路は、入力画像データに対してしきい
値処理等の前処理をする前処理演算回路PPU、画像の
1ライン分を記憶して1ライン分の遅延を作るラインメ
モリLM1,LM2、シフトレジスタSR、フィルタの
重み係数を記憶するデータメモリDM、演算回路PE、
加算回路を含むリンケージユニットLU1,LU2から
構成されている。図2(b)は、図2(a)の半導体集積回路
を3x3の空間フィルタの計算に用いた場合の計算の方
法を示した例である。図2(b)において、F32,F(x+i)
(Y+j)は、それぞれ、入力画像のフレームにおける、第
3行、第2列の画素の値(濃淡値)と、第(x+i)行、第
(Y+j)列の画素の値を示す。また、Wij,W-1-1,..,W1
1は、フィルタ係数、Rxyは、演算出力画像のフレーム
の第x行、第Y列の画素の値を示す。この図を用いて、図
2(a)の半導体集積回路の動作を説明する。よく知られ
ているように、3x3の空間フィルタの計算では、Rxy
の値は、図2(b)に示した式のように、入力画像の画素
の値とフィルタ係数の積和演算であらわせる。Rxyの値
を求めるには、入力画像のフレームの第x行、第Y列の画
素を中心とする9つの入力画像の画素の値が必要にな
る。入力された画像データは、まず、前処理演算回路P
PUに入力される。フィルタ処理ではしきい値処理を施
す必要がないため、入力された画像データは、そのま
ま、シフトレジスタSRとラインメモリLM1に伝えら
れる。ラインメモリLM1の出力は、1ライン分遅延さ
れて出力される。ラインメモリLM1の出力は、ライン
メモリLM2に入力されているので、さらに1ライン分
遅延されて出力される。このため、3x3の空間フィル
タの計算に必要な入力画像の画素の値がライン毎に別々
のシフトレジスタに蓄えられる。図(b)には、F22を中心
とした9つの入力画像の画素の値がシフトレジスタに蓄
えられている様子を示した。シフトレジスタに蓄えられ
た9つの画素の値は、順番に演算回路PE1,PE2,
PE3に入力され、対応する係数との積が計算される。
乗算の結果は、リンケージユニットLU1,LU2に入
力され、加算されて、この場合、R22の値が、求められ
る。このように、第2図に示した従来の、半導体集積回
路では、ラインメモリによる遅延を利用して、3つのラ
インに渡る画素の値を3つの演算回路に入力し、3つの
乗算を並列に処理している。このため、空間フィルタの
高速処理が可能である。上記の文献によれば、1.8ミ
クロンの加工技術によるBiCMOSデバイスで試作し
た結果、512x512画素からなるテレビ画像につい
て、3x3の空間フィルタの計算をリアルタイムで処理
できると報告されている。
【0005】
【発明が解決しようとする課題】本発明が解決しようと
する第1の課題は、2次元データを用いた演算を高い並
列度で行う半導体集積回路を与えることであり、第2の
課題は、大量の2次元データを蓄えることのできる2次
元メモリセルアレーと2次元データを用いた演算を高い
並列度で行う複数の演算回路を高い集積度で半導体チッ
プに集積することである。
する第1の課題は、2次元データを用いた演算を高い並
列度で行う半導体集積回路を与えることであり、第2の
課題は、大量の2次元データを蓄えることのできる2次
元メモリセルアレーと2次元データを用いた演算を高い
並列度で行う複数の演算回路を高い集積度で半導体チッ
プに集積することである。
【0006】前記したように、図2に示した従来の半導
体集積回路では、空間フィルタの計算において、一つの
出力画素の計算に必要な9個の乗算のうち3つずつを並
列に行うことにより高速処理を実現している。しかし、
さらに将来を考えるとさらに並列度を上げて高速化する
必要がある。
体集積回路では、空間フィルタの計算において、一つの
出力画素の計算に必要な9個の乗算のうち3つずつを並
列に行うことにより高速処理を実現している。しかし、
さらに将来を考えるとさらに並列度を上げて高速化する
必要がある。
【0007】テレビやワークステーション、パーソナル
コンピュータ、ゲーム機器等の画像の高品質化が進む
と、1フレームの画素数が増加し、画素の周波数はさら
に高速化される。また、より高画質化を目指して複雑な
処理が要求されるので演算量が増大し、ますます高速な
演算処理が要求される。また、近い将来、通信機能、画
面表示機能をもつ携帯機器が広く使われるようになると
予想されている。そのような機器では通信機能により受
信した動画像のデータにさまざまな処理を行って鮮明な
画面表示を行う必要があると考えられる。このような機
器においては、電源装置として電圧の低い電池が搭載さ
れ、それによって機器が駆動される。しかし、一般に、
電源電圧が低下するとほぼそれに比例して、半導体集積
回路の速度は低下するので、従来の半導体集積回路で
は、十分な演算速度ができない恐れがある。これを解決
するには、並列度を上げて、処理速度の低下を防ぐ必要
がある。したがって、より並列度が高く、高速に2次元
データの演算を行うことのできる半導体集積回路が望ま
れる。
コンピュータ、ゲーム機器等の画像の高品質化が進む
と、1フレームの画素数が増加し、画素の周波数はさら
に高速化される。また、より高画質化を目指して複雑な
処理が要求されるので演算量が増大し、ますます高速な
演算処理が要求される。また、近い将来、通信機能、画
面表示機能をもつ携帯機器が広く使われるようになると
予想されている。そのような機器では通信機能により受
信した動画像のデータにさまざまな処理を行って鮮明な
画面表示を行う必要があると考えられる。このような機
器においては、電源装置として電圧の低い電池が搭載さ
れ、それによって機器が駆動される。しかし、一般に、
電源電圧が低下するとほぼそれに比例して、半導体集積
回路の速度は低下するので、従来の半導体集積回路で
は、十分な演算速度ができない恐れがある。これを解決
するには、並列度を上げて、処理速度の低下を防ぐ必要
がある。したがって、より並列度が高く、高速に2次元
データの演算を行うことのできる半導体集積回路が望ま
れる。
【0008】また、画像を扱う装置では、CPUによる
画像の生成、加工とCRTへの描画を同時に行うため少
なくとも一画面のデータを記憶するいわゆる画像メモリ
が用いられる。この画像メモリと2次元データの演算を
高並列に行う装置を同一の半導体チップに集積すること
は、画像を扱う装置の小型化に寄与するため、特に、携
帯機器で望まれる。
画像の生成、加工とCRTへの描画を同時に行うため少
なくとも一画面のデータを記憶するいわゆる画像メモリ
が用いられる。この画像メモリと2次元データの演算を
高並列に行う装置を同一の半導体チップに集積すること
は、画像を扱う装置の小型化に寄与するため、特に、携
帯機器で望まれる。
【0009】
【課題を解決するための手段】本発明の代表的な実施例
によれば、複数のデータ線(DG)と該複数のデータ線(DG)
と交叉する複数のワード線(W1〜W3)と上記複数のデータ
線(DG)と上記複数のワード線(W1〜W3)との所望の交点に
設けられた複数のメモリセルとを具備するメモリセルア
レー(MAR)と、上記複数のデータ線(DG)からの複数のデ
ータを並列に転送する並列データ転送回路(TRC)と、該
並列データ転送回路(TRC)により転送された上記複数の
データを入力信号とする複数の演算回路(PE1〜PEn)とを
具備し、上記並列データ転送回路(TRC)は上記複数の演
算回路の各演算回路に対して上記複数のデータ線(DG)の
2本以上のデータ線を順次選択して接続することにより
上記複数のデータの2つ以上のデータを上記複数の演算
回路(PE1〜PEn)の各演算回路に転送することが可能な如
く構成されるとともに上記複数の演算回路(PE1〜PEn)の
隣合う演算回路が同一のデータ線から同一のデータを入
力することが可能な如く構成されてなることを特徴とす
る半導体集積回路。
によれば、複数のデータ線(DG)と該複数のデータ線(DG)
と交叉する複数のワード線(W1〜W3)と上記複数のデータ
線(DG)と上記複数のワード線(W1〜W3)との所望の交点に
設けられた複数のメモリセルとを具備するメモリセルア
レー(MAR)と、上記複数のデータ線(DG)からの複数のデ
ータを並列に転送する並列データ転送回路(TRC)と、該
並列データ転送回路(TRC)により転送された上記複数の
データを入力信号とする複数の演算回路(PE1〜PEn)とを
具備し、上記並列データ転送回路(TRC)は上記複数の演
算回路の各演算回路に対して上記複数のデータ線(DG)の
2本以上のデータ線を順次選択して接続することにより
上記複数のデータの2つ以上のデータを上記複数の演算
回路(PE1〜PEn)の各演算回路に転送することが可能な如
く構成されるとともに上記複数の演算回路(PE1〜PEn)の
隣合う演算回路が同一のデータ線から同一のデータを入
力することが可能な如く構成されてなることを特徴とす
る半導体集積回路。
【0010】
【作用】隣接する演算回路がアクセスできる2次元メモ
リアレーのデータ線の範囲は重なりを持つので、ある画
素の値をその画素の近傍の画素の値より計算する画像の
フィルタ演算を行うことができる。たとえば、3x3の
フィルタでは、1つの出力画素の結果を得るために2次
元に分布した周辺の3x3の入力画素を必要とするが、
同一ライン上の隣り合う画素を1つの演算回路に入力し
てライン方向のフィルタ演算を行うことができる。ま
た、演算回路が、複数のワード線の2本以上のワード線
が選択されることによって上記複数のデータ線群の1つ
のデータ線群に読みだされる複数のデータ群を用いて演
算を行うように設計されれば、3x3の入力画素のう
ち、ライン方向に垂直な方向の画素を1つの演算回路に
入力してフィルタ演算を行うことができることになる。
従って、3x3の画素を1つの演算回路に入力してフィ
ルタ演算を行うことができることになる。さらに隣接す
る演算回路が、並列データ転送回路を通じてアクセスで
きるデータ線の範囲は重なりをもつので、コンボリュー
ション演算や3x3フィルタ等の2次元データを用いた
演算を複数の演算回路が並列に処理することができる。
リアレーのデータ線の範囲は重なりを持つので、ある画
素の値をその画素の近傍の画素の値より計算する画像の
フィルタ演算を行うことができる。たとえば、3x3の
フィルタでは、1つの出力画素の結果を得るために2次
元に分布した周辺の3x3の入力画素を必要とするが、
同一ライン上の隣り合う画素を1つの演算回路に入力し
てライン方向のフィルタ演算を行うことができる。ま
た、演算回路が、複数のワード線の2本以上のワード線
が選択されることによって上記複数のデータ線群の1つ
のデータ線群に読みだされる複数のデータ群を用いて演
算を行うように設計されれば、3x3の入力画素のう
ち、ライン方向に垂直な方向の画素を1つの演算回路に
入力してフィルタ演算を行うことができることになる。
従って、3x3の画素を1つの演算回路に入力してフィ
ルタ演算を行うことができることになる。さらに隣接す
る演算回路が、並列データ転送回路を通じてアクセスで
きるデータ線の範囲は重なりをもつので、コンボリュー
ション演算や3x3フィルタ等の2次元データを用いた
演算を複数の演算回路が並列に処理することができる。
【0011】
【実施例】図1は、本発明による半導体装置の実施例
で、リアルタイムで入力される画像デ−タに対して3x
3の空間フィルタの演算を行う装置の構成を示したもの
である。図1には、本実施例の構成と画像フレ−ムの画
素と、装置内のメモリセルの内容の対応、および、並列
デ−タ転送回路の制御方法を合わせて示した。本実施例
によれば、出力画像のフレ−ムの1ライン分の空間フィ
ルタの演算を並列に行うことができる。本実施例は、図
に示したように、入力される画素Fxyを1ライン分蓄
えて、並列に2次元メモリアレ−MARに書き込むため
のシリアルアクセスメモリSAM1、シリアルアクセス
メモリSAM1から出力された画素の値を3ライン分記
憶するための2次元メモリアレ−MAR,2次元メモリ
アレ−MARの1ライン分の画素の値を並列に読みだし
てラッチするためのセンスアンプSA,読みだした値を
演算回路群に並列に転送する並列デ−タ転送回路TR
C、フィルタ係数を記憶するデ−タメモリDM,ならび
に積和演算を並列に行う演算回路群PE1,PE
2,..,PEnより構成されている。以下、図1を用
いて本実施例の動作を説明する。
で、リアルタイムで入力される画像デ−タに対して3x
3の空間フィルタの演算を行う装置の構成を示したもの
である。図1には、本実施例の構成と画像フレ−ムの画
素と、装置内のメモリセルの内容の対応、および、並列
デ−タ転送回路の制御方法を合わせて示した。本実施例
によれば、出力画像のフレ−ムの1ライン分の空間フィ
ルタの演算を並列に行うことができる。本実施例は、図
に示したように、入力される画素Fxyを1ライン分蓄
えて、並列に2次元メモリアレ−MARに書き込むため
のシリアルアクセスメモリSAM1、シリアルアクセス
メモリSAM1から出力された画素の値を3ライン分記
憶するための2次元メモリアレ−MAR,2次元メモリ
アレ−MARの1ライン分の画素の値を並列に読みだし
てラッチするためのセンスアンプSA,読みだした値を
演算回路群に並列に転送する並列デ−タ転送回路TR
C、フィルタ係数を記憶するデ−タメモリDM,ならび
に積和演算を並列に行う演算回路群PE1,PE
2,..,PEnより構成されている。以下、図1を用
いて本実施例の動作を説明する。
【0012】まず、Pビットのデ−タよりなる入力画像
が、順番にシリアルアクセスメモリSAM1に入力され
る。入力画像の第1行の画素値F11,F12,..,F1kが、
たまったところで、並列に2次元メモリアレ−MARの
ワ−ド線W1に書き込む。つづいて、同じように入力画
像の第2行,第3行の画素値が、シリアルアクセスメモ
リSAM1にたまる度にワ−ド線W2,W3に書き込
む。以上で、出力画像のフレ−ムの1ライン分の画素の
値を計算するのに必要な3ライン分のデ−タが2次元メ
モリアレ−MARに準備されたことになる。このとき
の、入力画像のフレ−ムと2次元メモリアレ−MARの
ワ−ド線上のデ−タとの対応は、図1左下に示したよう
になっている。
が、順番にシリアルアクセスメモリSAM1に入力され
る。入力画像の第1行の画素値F11,F12,..,F1kが、
たまったところで、並列に2次元メモリアレ−MARの
ワ−ド線W1に書き込む。つづいて、同じように入力画
像の第2行,第3行の画素値が、シリアルアクセスメモ
リSAM1にたまる度にワ−ド線W2,W3に書き込
む。以上で、出力画像のフレ−ムの1ライン分の画素の
値を計算するのに必要な3ライン分のデ−タが2次元メ
モリアレ−MARに準備されたことになる。このとき
の、入力画像のフレ−ムと2次元メモリアレ−MARの
ワ−ド線上のデ−タとの対応は、図1左下に示したよう
になっている。
【0013】次のラインのデ−タが、シリアルアクセス
メモリSAM1に書き込まれている間に、出力画像のフ
レ−ムの第2行の画素の値R11,R12,..,R1kを並列に
計算する。このとき、並列デ−タ転送回路の制御は、図
1右下に示してあるように、9回の演算サイクルで実行
される。まず、第1サイクルでは、2次元メモリアレ−
MARのワ−ド線W1に記憶した1ライン分の入力画像
を読みだし、デ−タ線群DGを通じてセンスアンプSA
にラッチする。ここで、並列転送回路TRCを構成する
セレクタSELのスイッチL,C,Rのうち、Lをオン
にする。これにより、並列転送回路TRCを通じて演算
回路PE1に入力画素F11、演算回路PE2に入力画素
F12、..,演算回路PEnに入力画素F1k-2を転送す
る。同時に、デ−タメモリDMより重み係数C-1-1を読
みだし、演算回路に入力された入力画素との乗算を行
う。つづいて、第2サイクルでは、セレクタSEL内の
スイッチCをオンにして、並列転送回路を通じて演算回
路PE1に入力画素F12、演算回路PE2に入力画素F
13、..,演算回路PEnに入力画素F1k-1を入力し、
重み係数C-10と入力画素との乗算を行う。第3サイク
ルでは、セレクタSEL内のスイッチRをオンにして、
並列転送回路を通じて同様にして、演算回路PE1に入
力画素F13、演算回路PE2に入力画素F14、..,演
算回路PEnに入力画素F1kを入力し、重み係数C-11
と入力画素との乗算を行う。こうして、2次元メモリア
レ−MARのワ−ド線W1に記憶した入力画像を使用し
た後、今度はワ−ド線W2を選択して1ライン分の入力
画像を読みだし、センスアンプにラッチする。そして、
第4サイクルでは、セレクタSEL内のスイッチLをオ
ンにして、演算回路PE1に入力画素F21、演算回路P
E2に入力画素F22、..,演算回路PEnに入力画素
F2k-2を転送し、重み係数C0-1との乗算を行い、先に
計算した値に加算する。つづいて、第5サイクルでは、
セレクタSEL内のスイッチCをオンにして、演算回路
PE1に入力画素F22、演算回路PE2に入力画素F2
3、..,演算回路PEnに入力画素F2k-1を入力し、
重み係数C00との乗算を行い、先に計算した値に加算す
る。同様にして、第6サイクルでは、セレクタSEL内
のスイッチRをオンにして、演算回路PE1に入力画素
F23、演算回路PE2に入力画素F24、..,演算回路
PEnに入力画素F2kを入力し、重み係数C01と入力画
素との乗算を行い、先に計算した値に加算する。さらに
第7から9サイクルで、同様な計算をワ−ド線W3を選
択して行うと演算回路PE1,PE2,..,PEnに
は、出力フレ−ムの第2ラインの画素の値R22,R2
3,..,R2k-1が求まる。これをシリアルアクセスメ
モリSAM2に並列に転送して、順に出力する。なお、
端の画素については、必要な入力画素がないので図示し
たようにそのまま転送すればよい。出力画像の次の1ラ
イン分の演算を行うには、同様の動作を繰り返せばよ
い。すなわち、シリアルアクセスメモリSAM1に1ラ
イン分の画素情報がたまったら、1ラインの画素情報を
2次元メモリアレ−の最も古く書き替えたワ−ド線に転
送し、次のライン分の画素情報がシリアルアクセスメモ
リSAM1に書き込まれている間に出力画像の1ライン
分演算を行う。こうして、本実施例によれば、出力フレ
−ムの同一のライン上の複数の画像の2次元の3x3空
間フィルタ演算を並列にリアルタイムで処理することが
できる。個々の演算回路は、画像の1ライン分が入力さ
れる時間内に演算とデ−タ転送を終えればよい。このた
め、1つの画素が入力される時間毎に演算していた従来
に較べて演算に使える時間が長くなる。言い換えると入
力画素の周波数が高い場合でもリアルタイムの処理が可
能となる。
メモリSAM1に書き込まれている間に、出力画像のフ
レ−ムの第2行の画素の値R11,R12,..,R1kを並列に
計算する。このとき、並列デ−タ転送回路の制御は、図
1右下に示してあるように、9回の演算サイクルで実行
される。まず、第1サイクルでは、2次元メモリアレ−
MARのワ−ド線W1に記憶した1ライン分の入力画像
を読みだし、デ−タ線群DGを通じてセンスアンプSA
にラッチする。ここで、並列転送回路TRCを構成する
セレクタSELのスイッチL,C,Rのうち、Lをオン
にする。これにより、並列転送回路TRCを通じて演算
回路PE1に入力画素F11、演算回路PE2に入力画素
F12、..,演算回路PEnに入力画素F1k-2を転送す
る。同時に、デ−タメモリDMより重み係数C-1-1を読
みだし、演算回路に入力された入力画素との乗算を行
う。つづいて、第2サイクルでは、セレクタSEL内の
スイッチCをオンにして、並列転送回路を通じて演算回
路PE1に入力画素F12、演算回路PE2に入力画素F
13、..,演算回路PEnに入力画素F1k-1を入力し、
重み係数C-10と入力画素との乗算を行う。第3サイク
ルでは、セレクタSEL内のスイッチRをオンにして、
並列転送回路を通じて同様にして、演算回路PE1に入
力画素F13、演算回路PE2に入力画素F14、..,演
算回路PEnに入力画素F1kを入力し、重み係数C-11
と入力画素との乗算を行う。こうして、2次元メモリア
レ−MARのワ−ド線W1に記憶した入力画像を使用し
た後、今度はワ−ド線W2を選択して1ライン分の入力
画像を読みだし、センスアンプにラッチする。そして、
第4サイクルでは、セレクタSEL内のスイッチLをオ
ンにして、演算回路PE1に入力画素F21、演算回路P
E2に入力画素F22、..,演算回路PEnに入力画素
F2k-2を転送し、重み係数C0-1との乗算を行い、先に
計算した値に加算する。つづいて、第5サイクルでは、
セレクタSEL内のスイッチCをオンにして、演算回路
PE1に入力画素F22、演算回路PE2に入力画素F2
3、..,演算回路PEnに入力画素F2k-1を入力し、
重み係数C00との乗算を行い、先に計算した値に加算す
る。同様にして、第6サイクルでは、セレクタSEL内
のスイッチRをオンにして、演算回路PE1に入力画素
F23、演算回路PE2に入力画素F24、..,演算回路
PEnに入力画素F2kを入力し、重み係数C01と入力画
素との乗算を行い、先に計算した値に加算する。さらに
第7から9サイクルで、同様な計算をワ−ド線W3を選
択して行うと演算回路PE1,PE2,..,PEnに
は、出力フレ−ムの第2ラインの画素の値R22,R2
3,..,R2k-1が求まる。これをシリアルアクセスメ
モリSAM2に並列に転送して、順に出力する。なお、
端の画素については、必要な入力画素がないので図示し
たようにそのまま転送すればよい。出力画像の次の1ラ
イン分の演算を行うには、同様の動作を繰り返せばよ
い。すなわち、シリアルアクセスメモリSAM1に1ラ
イン分の画素情報がたまったら、1ラインの画素情報を
2次元メモリアレ−の最も古く書き替えたワ−ド線に転
送し、次のライン分の画素情報がシリアルアクセスメモ
リSAM1に書き込まれている間に出力画像の1ライン
分演算を行う。こうして、本実施例によれば、出力フレ
−ムの同一のライン上の複数の画像の2次元の3x3空
間フィルタ演算を並列にリアルタイムで処理することが
できる。個々の演算回路は、画像の1ライン分が入力さ
れる時間内に演算とデ−タ転送を終えればよい。このた
め、1つの画素が入力される時間毎に演算していた従来
に較べて演算に使える時間が長くなる。言い換えると入
力画素の周波数が高い場合でもリアルタイムの処理が可
能となる。
【0014】また、上記で説明したように、本実施例で
は一つのセンスアンプにラッチした情報を、並列デ−タ
転送回路TRCを通じて、異なる演算回路に転送するこ
とが可能である。このため、センスアンプにラッチした
デ−タを演算中にセンスアンプ間で移動させたり、演算
回路間でデ−タの転送をすることなく、2次元空間フィ
ルタあるいはコンボリュ−ション演算を並列に処理する
ことができる。このため、センスアンプ間や演算回路間
の転送動作のための余分な回路が不要なため、高集積で
低消費電力な装置を実現できる。図1に示したように、
本実施例では演算回路を2次元メモリアレ−MARの直
下に配置した。このため、2次元メモリアレ−から演算
回路間へのデ−タ転送距離が、ほぼ一定で、しかも非常
に短くできる。このため、転送にかかわる遅延時間が小
さいという利点に加えて、演算回路間でのばらつきが小
さく演算回路間で同期をとることが容易であるという利
点もある。また、並列デ−タ転送回路と演算回路はメモ
リアレ−の直下に近接して配置されているので、高集積
化が可能で、画素情報の転送に伴う消費電力も小さく押
さえることができる。
は一つのセンスアンプにラッチした情報を、並列デ−タ
転送回路TRCを通じて、異なる演算回路に転送するこ
とが可能である。このため、センスアンプにラッチした
デ−タを演算中にセンスアンプ間で移動させたり、演算
回路間でデ−タの転送をすることなく、2次元空間フィ
ルタあるいはコンボリュ−ション演算を並列に処理する
ことができる。このため、センスアンプ間や演算回路間
の転送動作のための余分な回路が不要なため、高集積で
低消費電力な装置を実現できる。図1に示したように、
本実施例では演算回路を2次元メモリアレ−MARの直
下に配置した。このため、2次元メモリアレ−から演算
回路間へのデ−タ転送距離が、ほぼ一定で、しかも非常
に短くできる。このため、転送にかかわる遅延時間が小
さいという利点に加えて、演算回路間でのばらつきが小
さく演算回路間で同期をとることが容易であるという利
点もある。また、並列デ−タ転送回路と演算回路はメモ
リアレ−の直下に近接して配置されているので、高集積
化が可能で、画素情報の転送に伴う消費電力も小さく押
さえることができる。
【0015】図1の実施例は、3x3のフィルタの計算
を行う装置であった。このため、並列デ−タ転送回路
は、一つの演算回路と3画素分のデ−タ線を接続し、隣
接する演算回路との間で、2画素分の重なりをもって、
センスアンプと演算回路を接続していた。容易にわかる
ように、図1の実施例において、並列デ−タ転送回路と
メモリアレ−の構成を変更することにより、3x3以上
の任意の大きさのフィルタの演算を行うことができる。
図3は、5x5のフィルタの演算を行うことのできる演
算装置の構成例を示した実施例である。本実施例は、図
1の実施例において、2次元メモリアレ−MARのワ−
ド線の数を5本に、並列デ−タ転送回路TRCの重なり
を4画素に、それぞれ増加したものである。並列デ−タ
転送回路TRCを構成するセレクタSELとして、5P
ビットのデ−タからPビットのデ−タを選択する5対1
のセレクタを用い、デ−タメモリの容量も増やして、5
x5のフィルタに必要な、25個の係数を記憶できるよ
うにした。本実施例では、1つの演算回路が、5つの画
素に相当するセンスアンプから、デ−タを受け取ること
ができ、隣接する演算回路でデ−タ線群DGのうち4画
素分のデ−タ線を共用している。このため、図1の実施
例と同様に2次元メモリアレ−のワ−ド線を順番に選択
しながら、5x5のフィルタの演算を並列に行うことが
できる。なお、本実施例では、5x5のフィルタの演算
だけではなく、5本のワ−ド線のうちの4本と、1つの
転送回路TRCに接続されている5組の配線のうち、4
組を用いることにより、4x4のフィルタを構成できる
ことは容易にわかる。同様にして、3x3や2x2のフ
ィルタの演算も可能である。
を行う装置であった。このため、並列デ−タ転送回路
は、一つの演算回路と3画素分のデ−タ線を接続し、隣
接する演算回路との間で、2画素分の重なりをもって、
センスアンプと演算回路を接続していた。容易にわかる
ように、図1の実施例において、並列デ−タ転送回路と
メモリアレ−の構成を変更することにより、3x3以上
の任意の大きさのフィルタの演算を行うことができる。
図3は、5x5のフィルタの演算を行うことのできる演
算装置の構成例を示した実施例である。本実施例は、図
1の実施例において、2次元メモリアレ−MARのワ−
ド線の数を5本に、並列デ−タ転送回路TRCの重なり
を4画素に、それぞれ増加したものである。並列デ−タ
転送回路TRCを構成するセレクタSELとして、5P
ビットのデ−タからPビットのデ−タを選択する5対1
のセレクタを用い、デ−タメモリの容量も増やして、5
x5のフィルタに必要な、25個の係数を記憶できるよ
うにした。本実施例では、1つの演算回路が、5つの画
素に相当するセンスアンプから、デ−タを受け取ること
ができ、隣接する演算回路でデ−タ線群DGのうち4画
素分のデ−タ線を共用している。このため、図1の実施
例と同様に2次元メモリアレ−のワ−ド線を順番に選択
しながら、5x5のフィルタの演算を並列に行うことが
できる。なお、本実施例では、5x5のフィルタの演算
だけではなく、5本のワ−ド線のうちの4本と、1つの
転送回路TRCに接続されている5組の配線のうち、4
組を用いることにより、4x4のフィルタを構成できる
ことは容易にわかる。同様にして、3x3や2x2のフ
ィルタの演算も可能である。
【0016】図1、3の実施例では、画素の値をPビッ
トで表わすと、デ−タ線P本毎に一つの演算回路を配置
すればよい。例えば、画素の値が、8ビットの精度で表
現される場合には、演算回路は8本のデ−タ線のピッチ
に収まるように配置すればよい。しかし、演算回路の規
模が大きい場合や、あるいは2次元メモリアレ−のデ−
タ線のピッチが狭い場合等には、演算回路を配置するの
が困難な場合も考えられる。
トで表わすと、デ−タ線P本毎に一つの演算回路を配置
すればよい。例えば、画素の値が、8ビットの精度で表
現される場合には、演算回路は8本のデ−タ線のピッチ
に収まるように配置すればよい。しかし、演算回路の規
模が大きい場合や、あるいは2次元メモリアレ−のデ−
タ線のピッチが狭い場合等には、演算回路を配置するの
が困難な場合も考えられる。
【0017】その場合には、図4のような実施例を用い
ることができる。図4は3x3のフィルタの計算を行う
図1の装置において、演算回路のレイアウトピッチを緩
くするための1実施例である。本実施例では、シリアル
アクセスメモリSAM1に入力された1ライン分の入力
画像を、ディストリビュ−タDISから構成される並列
デ−タ転送回路TRC1を通じて3ライン文の容量をも
つレジスタRG1へ転送し、3倍のレイアウト巾に範囲
に1ライン分の演算回路を配置した。このため、演算回
路のレイアウトピッチは、図1の実施例の3倍になる。
図1の実施例では、1個の演算回路は、3画素分のデ−
タ線からのデ−タ転送が可能で、隣接する演算回路での
転送経路が2本ずつ重なっていた。これに対して、本実
施例では、1個の演算回路は、9画素分のデ−タ線から
のデ−タ転送が可能で、隣接する演算回路間で、6本の
デ−タ線を共有するように並列デ−タ転送回路を構成し
ている。以下、図4を用いて本実施例の動作を説明す
る。
ることができる。図4は3x3のフィルタの計算を行う
図1の装置において、演算回路のレイアウトピッチを緩
くするための1実施例である。本実施例では、シリアル
アクセスメモリSAM1に入力された1ライン分の入力
画像を、ディストリビュ−タDISから構成される並列
デ−タ転送回路TRC1を通じて3ライン文の容量をも
つレジスタRG1へ転送し、3倍のレイアウト巾に範囲
に1ライン分の演算回路を配置した。このため、演算回
路のレイアウトピッチは、図1の実施例の3倍になる。
図1の実施例では、1個の演算回路は、3画素分のデ−
タ線からのデ−タ転送が可能で、隣接する演算回路での
転送経路が2本ずつ重なっていた。これに対して、本実
施例では、1個の演算回路は、9画素分のデ−タ線から
のデ−タ転送が可能で、隣接する演算回路間で、6本の
デ−タ線を共有するように並列デ−タ転送回路を構成し
ている。以下、図4を用いて本実施例の動作を説明す
る。
【0018】まず、入力画像の第1ラインが、シリアル
メモリSAM1に蓄積されたら、全てのディストリビュ
−タDIS内のスイッチLを導通してレジスタRG1に
並列に書き込む。続いて、入力画像の第2ラインが、シ
リアルメモリSAM1に蓄積されたら、今度は、全ての
ディストリビュ−タDIS内のスイッチCを導通してレ
ジスタRG1に並列に書き込む。さらに、入力画像の第
3ラインが、シリアルメモリSAM1に蓄積されたら、
全てのディストリビュ−タDIS内のスイッチRを導通
してレジスタRG1に並列に書き込む。こうして、レジ
スタRG1に書き込まれた、連続する第1、2、3ライ
ンの画像をレジスタRG1からデ−タ線群DGを通じて
RG2に並列に転送すると、レジスタRG2には、出力
画像の第2ラインの演算を行うのに必要な3ライン分の
入力画像の画素が、そろったことになる。これらのデ−
タを並列デ−タ転送回路TRC2を通じて、演算回路に
転送して出力画像の第2ライン画素の値を求める。な
お、デ−タの転送と演算は、入力画像の第4ラインが、
シリアルメモリSAM1に書き込まれている間に行う必
要がある。出力画像の第2ライン画素の値の計算が終了
し、入力画像の第4ラインが、シリアルメモリSAM1
に書き込まれたら、ディストリビュ−タDISのスイッ
チLを導通してレジスタRG1の内容の1/3を書き替
える。このとき、レジスタRG1には、入力画像の第
2、3、4ラインの画像が揃うので、これをレジスタR
G1からRG2に並列に転送して、出力画像の第3ライ
ンの演算を行う。1ライン分の入力画像が、シリアルア
クセスメモリSAM1に溜る度にこのような操作をつづ
けていけば、3x3のフィルタの演算を連続して並列に
行うことができる。なお、上記の動作において、レジス
タRG2から演算回路へどのようにデ−タを送って演算
を行うかについて、図5、6を用いて説明する。
メモリSAM1に蓄積されたら、全てのディストリビュ
−タDIS内のスイッチLを導通してレジスタRG1に
並列に書き込む。続いて、入力画像の第2ラインが、シ
リアルメモリSAM1に蓄積されたら、今度は、全ての
ディストリビュ−タDIS内のスイッチCを導通してレ
ジスタRG1に並列に書き込む。さらに、入力画像の第
3ラインが、シリアルメモリSAM1に蓄積されたら、
全てのディストリビュ−タDIS内のスイッチRを導通
してレジスタRG1に並列に書き込む。こうして、レジ
スタRG1に書き込まれた、連続する第1、2、3ライ
ンの画像をレジスタRG1からデ−タ線群DGを通じて
RG2に並列に転送すると、レジスタRG2には、出力
画像の第2ラインの演算を行うのに必要な3ライン分の
入力画像の画素が、そろったことになる。これらのデ−
タを並列デ−タ転送回路TRC2を通じて、演算回路に
転送して出力画像の第2ライン画素の値を求める。な
お、デ−タの転送と演算は、入力画像の第4ラインが、
シリアルメモリSAM1に書き込まれている間に行う必
要がある。出力画像の第2ライン画素の値の計算が終了
し、入力画像の第4ラインが、シリアルメモリSAM1
に書き込まれたら、ディストリビュ−タDISのスイッ
チLを導通してレジスタRG1の内容の1/3を書き替
える。このとき、レジスタRG1には、入力画像の第
2、3、4ラインの画像が揃うので、これをレジスタR
G1からRG2に並列に転送して、出力画像の第3ライ
ンの演算を行う。1ライン分の入力画像が、シリアルア
クセスメモリSAM1に溜る度にこのような操作をつづ
けていけば、3x3のフィルタの演算を連続して並列に
行うことができる。なお、上記の動作において、レジス
タRG2から演算回路へどのようにデ−タを送って演算
を行うかについて、図5、6を用いて説明する。
【0019】図5(a)、(b)は、図4の実施例のた
めの並列デ−タ転送回路TRC2の構成例を示してい
る。図5(a)に示したように、並列デ−タ転送回路T
RC2はセレクタSELが、2層に並んで接続され,個
々のセレクタSELには、3つの制御信号φLi,φCi,
φRiが、入力されている。セレクタSELは、図5
(b)左に示したように3つのスイッチL,C,Rより
構成されている。制御信号φLiにより、スイッチLが導
通すると、左側の入力信号INLが、出力され、制御信
号φCiにより、スイッチCが導通すると、中央の入力信
号INCが、制御信号φRiにより、スイッチRが導通す
ると、右側の入力信号INRが、それぞれ出力される。
これらのスイッチは、図5(b)右に示したようにMO
Sトランジスタを並列に接続することにより構成でき
る。図5(a)には、レジスタRG2に、入力画像の第
1、2、3ラインが、転送された状態を示している。前
記したように、この状態において、出力画像の第2ライ
ンを並列に演算するための画素デ−タを演算回路に転送
する必要がある。図6に、そのための制御信号のタイミ
ングを示した。図6において、φL1,φC1,φR1およ
び、φL2,φC2,φR2は、それぞれ、図5(a)の並列
デ−タ転送回路TRC2を構成するセレクタSELの制
御信号である。それぞれの時刻に、並列デ−タ転送回路
TRC2の出力のうち左端の4つのTNO0,TNO
1,TNO2,TNO3にどの画素デ−タが、出力され
るかという事も図6に示してある。図5(a)に示した
ように、演算回路PE1には、並列デ−タ転送回路TR
Cの出力TNO1が、接続されている。したがって、図
6より、演算回路PE1には、F11,F12,F1
3,F21,F22,..と画素F22を中心とした3
x3の画素デ−タが、入力されることがわかる。同様に
して、演算回路PE2には、画素F23を中心とした3
x3の画素デ−タが、演算回路PE3には、画素F24
を中心とした3x3の画素デ−タが、入力される。した
がって、演算回路PE1,PE2,PE3,..によっ
て、出力画像の第2ライン分の演算を並列に行うことが
できる。出力画像の第3ライン以降の演算も同様にして
行うことができる。なお、左端のTNO0については、
3x3のフィルタの演算を行うことができないので図1
と同様に、演算回路を通さないで、そのまま出力するよ
うにした。以上のように、図4、5、6に示した実施例
によれば、演算回路のレイアウトピッチを緩和したうえ
で、2次元空間フィルタ演算を出力画像の1ライン毎に
並列に行うことができる。なお、ここでは3x3フィル
タについて示したが、それ以上の大きさのフィルタの演
算用にも容易に拡張できる。
めの並列デ−タ転送回路TRC2の構成例を示してい
る。図5(a)に示したように、並列デ−タ転送回路T
RC2はセレクタSELが、2層に並んで接続され,個
々のセレクタSELには、3つの制御信号φLi,φCi,
φRiが、入力されている。セレクタSELは、図5
(b)左に示したように3つのスイッチL,C,Rより
構成されている。制御信号φLiにより、スイッチLが導
通すると、左側の入力信号INLが、出力され、制御信
号φCiにより、スイッチCが導通すると、中央の入力信
号INCが、制御信号φRiにより、スイッチRが導通す
ると、右側の入力信号INRが、それぞれ出力される。
これらのスイッチは、図5(b)右に示したようにMO
Sトランジスタを並列に接続することにより構成でき
る。図5(a)には、レジスタRG2に、入力画像の第
1、2、3ラインが、転送された状態を示している。前
記したように、この状態において、出力画像の第2ライ
ンを並列に演算するための画素デ−タを演算回路に転送
する必要がある。図6に、そのための制御信号のタイミ
ングを示した。図6において、φL1,φC1,φR1およ
び、φL2,φC2,φR2は、それぞれ、図5(a)の並列
デ−タ転送回路TRC2を構成するセレクタSELの制
御信号である。それぞれの時刻に、並列デ−タ転送回路
TRC2の出力のうち左端の4つのTNO0,TNO
1,TNO2,TNO3にどの画素デ−タが、出力され
るかという事も図6に示してある。図5(a)に示した
ように、演算回路PE1には、並列デ−タ転送回路TR
Cの出力TNO1が、接続されている。したがって、図
6より、演算回路PE1には、F11,F12,F1
3,F21,F22,..と画素F22を中心とした3
x3の画素デ−タが、入力されることがわかる。同様に
して、演算回路PE2には、画素F23を中心とした3
x3の画素デ−タが、演算回路PE3には、画素F24
を中心とした3x3の画素デ−タが、入力される。した
がって、演算回路PE1,PE2,PE3,..によっ
て、出力画像の第2ライン分の演算を並列に行うことが
できる。出力画像の第3ライン以降の演算も同様にして
行うことができる。なお、左端のTNO0については、
3x3のフィルタの演算を行うことができないので図1
と同様に、演算回路を通さないで、そのまま出力するよ
うにした。以上のように、図4、5、6に示した実施例
によれば、演算回路のレイアウトピッチを緩和したうえ
で、2次元空間フィルタ演算を出力画像の1ライン毎に
並列に行うことができる。なお、ここでは3x3フィル
タについて示したが、それ以上の大きさのフィルタの演
算用にも容易に拡張できる。
【0020】図7は、3x3のフィルタの計算を行う図
1の装置において、演算回路のレイアウトピッチを緩く
するための第2の実施例である。図4では、図1の装置
と同数の演算回路を3倍のレイアウト巾に配置すること
により、レイアウトピッチの緩和を実現した。それに対
して本実施例では、演算回路の数を1/3にして、これ
らを図1の実施例と同じレイアウト巾に配置することに
よりレイアウトピッチの緩和を図った。図8(a)、
(b)は、図7の実施例のための並列デ−タ転送回路T
RC1の構成例を示している。図8(a)には、センス
アンプSAに、入力画像の第1ラインの画素の値F1
1,F12,...が、転送された状態を示している。
並列デ−タ転送回路TRC1は、図7に示したように5
PビットからPビットを選ぶ一種の5対1のセレクタS
ELで構成される。図8(a)には、図7のセレクタS
ELを2PビットからPビットを選ぶ一種の2対1のセ
レクタSEL2-1を用いて構成する実施例を示した。セ
レクタは、3層に並んで接続されており、個々のセレク
タSEL2-1には、2つの制御信号φLi,φRiが、入力
されている。セレクタSEL2-1は、図8(b)左に示
したように2つのスイッチL,Rより構成されている。
制御信号φLiにより、スイッチLが導通すると、左側の
入力信号INLが出力され、制御信号φRiによりスイッ
チRが導通すると、右側の入力信号INRが、それぞれ
出力される。これらのスイッチは、図8(b)右に示し
たようにMOSトランジスタを並列に接続することによ
り構成できる。
1の装置において、演算回路のレイアウトピッチを緩く
するための第2の実施例である。図4では、図1の装置
と同数の演算回路を3倍のレイアウト巾に配置すること
により、レイアウトピッチの緩和を実現した。それに対
して本実施例では、演算回路の数を1/3にして、これ
らを図1の実施例と同じレイアウト巾に配置することに
よりレイアウトピッチの緩和を図った。図8(a)、
(b)は、図7の実施例のための並列デ−タ転送回路T
RC1の構成例を示している。図8(a)には、センス
アンプSAに、入力画像の第1ラインの画素の値F1
1,F12,...が、転送された状態を示している。
並列デ−タ転送回路TRC1は、図7に示したように5
PビットからPビットを選ぶ一種の5対1のセレクタS
ELで構成される。図8(a)には、図7のセレクタS
ELを2PビットからPビットを選ぶ一種の2対1のセ
レクタSEL2-1を用いて構成する実施例を示した。セ
レクタは、3層に並んで接続されており、個々のセレク
タSEL2-1には、2つの制御信号φLi,φRiが、入力
されている。セレクタSEL2-1は、図8(b)左に示
したように2つのスイッチL,Rより構成されている。
制御信号φLiにより、スイッチLが導通すると、左側の
入力信号INLが出力され、制御信号φRiによりスイッ
チRが導通すると、右側の入力信号INRが、それぞれ
出力される。これらのスイッチは、図8(b)右に示し
たようにMOSトランジスタを並列に接続することによ
り構成できる。
【0021】以下、図9を用いて、図7、8に示した実
施例の動作を説明する。図9において、(φL1,φR
1),(φL2,φR2)および、(φL3,φR3)は、それ
ぞれ、図8に示した並列デ−タ転送回路TRC1を構成
するセレクタSELの制御信号である。図9には、ワ−
ド線の選択及び上記制御信号のタイミング、並列デ−タ
転送回路TRC1の出力のうち左端の4つのTNO0,
TNO1,TNO2,TNO3から出力される画素デ−
タ、および、並列デ−タ転送回路TRC2内のディスト
リビュ−タDISのスイッチL,C,Rを導通させるタ
イミングを示してある。本実施例では、演算回路の数を
1/3にしたため、一つの演算回路で連続する3つの出
力画素の演算を行う。まず、入力画像の第1ラインが、
図7のシリアルメモリSAM1に蓄積された後、これを
2次元メモリアレ−MARのワ−ド線W1に転送する。
第2、第3ラインも同様にワ−ド線W2、W3に転送し
てから、出力画像の第2ラインの演算を開始する。ワ−
ド線W1上の入力画像の第1ラインをデ−タ線群DGを
通じて読みだし、図8(a)に示したように、センスア
ンプに左から入力画像の画素F11,F12,F13..,を
ラッチした後、図9のサイクルt1の欄に示したよう
に、並列デ−タ転送回路TRC1内のセレクタSELの
制御信号を切り替える。すると、並列デ−タ転送回路T
RCの出力、TNO1,TNO2,TNO3を通して演
算回路PE1にF11、PE2にF14、PE3にF1
7、.....が転送されるので、デ−タメモリから読みだし
た重み係数との乗算を乗算器MT1,MT2,..,で
行い、結果をレジスタRG1,RG2,..に蓄える。
つづいて、図9のサイクルt2の欄に示したように、セ
レクタSELの制御信号を切り替えると今度は、PE1
にF12、PE2にF15、PE3にF18、.....が、転送さ
れる。これらのデ−タと、重み係数との乗算を行い、レ
ジスタに蓄えた先の結果と加算して、再び、レジスタに
蓄える。さらに、図9のサイクルt3の欄に示したよう
に、制御信号を切り替え、PE1にF13、PE2にF1
6、PE3にF19、.....を転送し、乗算を行い先の結果
に加算する。ここまでの結果を図7の並列デ−タ転送回
路TRC2内のディストリビュ−タDISのスイッチL
を通じて、シリアルアクセスメモリSAM2に書き込
む。シリアルアクセスメモリSAM2には、デ−タが、
間欠に書き込まれる。
施例の動作を説明する。図9において、(φL1,φR
1),(φL2,φR2)および、(φL3,φR3)は、それ
ぞれ、図8に示した並列デ−タ転送回路TRC1を構成
するセレクタSELの制御信号である。図9には、ワ−
ド線の選択及び上記制御信号のタイミング、並列デ−タ
転送回路TRC1の出力のうち左端の4つのTNO0,
TNO1,TNO2,TNO3から出力される画素デ−
タ、および、並列デ−タ転送回路TRC2内のディスト
リビュ−タDISのスイッチL,C,Rを導通させるタ
イミングを示してある。本実施例では、演算回路の数を
1/3にしたため、一つの演算回路で連続する3つの出
力画素の演算を行う。まず、入力画像の第1ラインが、
図7のシリアルメモリSAM1に蓄積された後、これを
2次元メモリアレ−MARのワ−ド線W1に転送する。
第2、第3ラインも同様にワ−ド線W2、W3に転送し
てから、出力画像の第2ラインの演算を開始する。ワ−
ド線W1上の入力画像の第1ラインをデ−タ線群DGを
通じて読みだし、図8(a)に示したように、センスア
ンプに左から入力画像の画素F11,F12,F13..,を
ラッチした後、図9のサイクルt1の欄に示したよう
に、並列デ−タ転送回路TRC1内のセレクタSELの
制御信号を切り替える。すると、並列デ−タ転送回路T
RCの出力、TNO1,TNO2,TNO3を通して演
算回路PE1にF11、PE2にF14、PE3にF1
7、.....が転送されるので、デ−タメモリから読みだし
た重み係数との乗算を乗算器MT1,MT2,..,で
行い、結果をレジスタRG1,RG2,..に蓄える。
つづいて、図9のサイクルt2の欄に示したように、セ
レクタSELの制御信号を切り替えると今度は、PE1
にF12、PE2にF15、PE3にF18、.....が、転送さ
れる。これらのデ−タと、重み係数との乗算を行い、レ
ジスタに蓄えた先の結果と加算して、再び、レジスタに
蓄える。さらに、図9のサイクルt3の欄に示したよう
に、制御信号を切り替え、PE1にF13、PE2にF1
6、PE3にF19、.....を転送し、乗算を行い先の結果
に加算する。ここまでの結果を図7の並列デ−タ転送回
路TRC2内のディストリビュ−タDISのスイッチL
を通じて、シリアルアクセスメモリSAM2に書き込
む。シリアルアクセスメモリSAM2には、デ−タが、
間欠に書き込まれる。
【0022】次に、センスアンプに第1ラインの入力画
素をラッチしたまま、図9のサイクルt4からt6に示
したようなデ−タの転送を行い演算結果をディストリビ
ュ−タDISのスイッチCを導通して、シリアルアクセ
スメモリSAM2に間欠に書き込む。
素をラッチしたまま、図9のサイクルt4からt6に示
したようなデ−タの転送を行い演算結果をディストリビ
ュ−タDISのスイッチCを導通して、シリアルアクセ
スメモリSAM2に間欠に書き込む。
【0023】さらに、つづいて、センスアンプに第1ラ
インの入力画素をラッチしたまま、図9のサイクルt7
からt9に示したようなデ−タの転送を行い演算結果を
ディストリビュ−タDISのスイッチRを導通して、シ
リアルアクセスメモリSAM2に間欠に書き込む。この
後、ワ−ド線W2を選択してセンスアンプに第2ライン
の入力画素をラッチし、同様の演算を行う。ただし、サ
イクルt1,t4,t7の始めに、第1ラインの入力画
素を使って得た結果をシリアルアクセスメモリSAM2
から、図7に示したレジスタRG1,RG2,..に取
り込み、それに新たに求めた乗算結果を加算しておく。
同様の動作をワ−ド線W3を選択してセンスアンプに第
3ラインの入力画素をラッチして行うとSAM2には、
出力画像の第2ラインの全ての画素の値が求まる。1ラ
イン分の入力画像が、シリアルアクセスメモリSAM1
に溜る度にこのような操作をつづけていけば、3x3の
フィルタの演算をつづけて行うことができる。本実施例
では、図4の実施例と同じように演算回路のレイアウト
ピッチを図1の実施例の3倍にできるという利点があ
る。本実施例では、1つの演算回路が、連続した3つの
出力画素の演算を行うので、演算回路の数が1/3で済
み、多くの演算回路を1つのチップ上に集積できない場
合に適している。なお、容易に分かるように、演算回路
のピッチをさらに緩和するには、1つの演算回路が、連
続した3画素以上の演算をするように構成すればよい。
容易にわかるように、そのためには、隣接する演算回路
での転送経路の重なりを2本にしたまま、一つの演算回
路にさらに多数のセンスアンプからのデ−タ転送が可能
なように転送ネットワ−クを構成すればよい。
インの入力画素をラッチしたまま、図9のサイクルt7
からt9に示したようなデ−タの転送を行い演算結果を
ディストリビュ−タDISのスイッチRを導通して、シ
リアルアクセスメモリSAM2に間欠に書き込む。この
後、ワ−ド線W2を選択してセンスアンプに第2ライン
の入力画素をラッチし、同様の演算を行う。ただし、サ
イクルt1,t4,t7の始めに、第1ラインの入力画
素を使って得た結果をシリアルアクセスメモリSAM2
から、図7に示したレジスタRG1,RG2,..に取
り込み、それに新たに求めた乗算結果を加算しておく。
同様の動作をワ−ド線W3を選択してセンスアンプに第
3ラインの入力画素をラッチして行うとSAM2には、
出力画像の第2ラインの全ての画素の値が求まる。1ラ
イン分の入力画像が、シリアルアクセスメモリSAM1
に溜る度にこのような操作をつづけていけば、3x3の
フィルタの演算をつづけて行うことができる。本実施例
では、図4の実施例と同じように演算回路のレイアウト
ピッチを図1の実施例の3倍にできるという利点があ
る。本実施例では、1つの演算回路が、連続した3つの
出力画素の演算を行うので、演算回路の数が1/3で済
み、多くの演算回路を1つのチップ上に集積できない場
合に適している。なお、容易に分かるように、演算回路
のピッチをさらに緩和するには、1つの演算回路が、連
続した3画素以上の演算をするように構成すればよい。
容易にわかるように、そのためには、隣接する演算回路
での転送経路の重なりを2本にしたまま、一つの演算回
路にさらに多数のセンスアンプからのデ−タ転送が可能
なように転送ネットワ−クを構成すればよい。
【0024】以上、第9図までで説明した実施例では、
2次元の線形フィルタを例に説明を行った。これらの実
施例をもちいれば、フィルタの大きさ、係数を変えるこ
とにより、画像中の線やエッジの強調、あるいは、平滑
化等が、高速に処理できる。また、演算回路の機能を変
えることにより、特定パタ−ンの抽出,あるいはメディ
アンフィルタ等の非線形フィルタの演算も高速に行うこ
とができる。さらに、上記の実施例は、2次元に分布し
た近傍セルの情報を用いて出力の演算を行うものであれ
ば、上記以外のさまざまな演算、たとえば、セルオ−ト
マトンや、近傍ニュ−ロンとのみ結合されたニュ−ラル
ネットワ−クの演算等にも利用できることはもちろんで
ある。なお、上記の実施例を説明する図面では、2次元
メモリセルアレ−には、処理に必要な数ライン文の画素
のデ−タのみを蓄えるようになっていた。しかし、2次
元メモリセルアレ−のワ−ド線の本数を増やすことによ
り、さらに多くのラインの画素デ−タを蓄えることも容
易である。例えば、1フレ−ム分のデ−タを蓄えるよう
にすれば、いわゆるフレ−ムメモリとしても用いること
ができる。その場合には、2次元メモリセルアレ−の一
部のみに演算を施し、残りは、そのまま、シリアルに読
み出して出力することにより、画面の一部のみにフィル
タ等の処理を施すようにできる。また、ワ−ド線の制御
とを変更するだけで、演算を施す領域を移動することも
容易に可能である。
2次元の線形フィルタを例に説明を行った。これらの実
施例をもちいれば、フィルタの大きさ、係数を変えるこ
とにより、画像中の線やエッジの強調、あるいは、平滑
化等が、高速に処理できる。また、演算回路の機能を変
えることにより、特定パタ−ンの抽出,あるいはメディ
アンフィルタ等の非線形フィルタの演算も高速に行うこ
とができる。さらに、上記の実施例は、2次元に分布し
た近傍セルの情報を用いて出力の演算を行うものであれ
ば、上記以外のさまざまな演算、たとえば、セルオ−ト
マトンや、近傍ニュ−ロンとのみ結合されたニュ−ラル
ネットワ−クの演算等にも利用できることはもちろんで
ある。なお、上記の実施例を説明する図面では、2次元
メモリセルアレ−には、処理に必要な数ライン文の画素
のデ−タのみを蓄えるようになっていた。しかし、2次
元メモリセルアレ−のワ−ド線の本数を増やすことによ
り、さらに多くのラインの画素デ−タを蓄えることも容
易である。例えば、1フレ−ム分のデ−タを蓄えるよう
にすれば、いわゆるフレ−ムメモリとしても用いること
ができる。その場合には、2次元メモリセルアレ−の一
部のみに演算を施し、残りは、そのまま、シリアルに読
み出して出力することにより、画面の一部のみにフィル
タ等の処理を施すようにできる。また、ワ−ド線の制御
とを変更するだけで、演算を施す領域を移動することも
容易に可能である。
【0025】以下では、フィルタ以外に本発明を適用し
た例として、動きベクトルの検出のための実施例を示
す。動きベクトルの検出は、デジタル動画像の圧縮伸長
において有用な処理であるが、演算量が非常に多いた
め、高速に動きベクトルの検出を行う装置が望まれてい
る。良く知られているように、動きベクトルの検出は、
入力画像を複数の画素より構成されるブロックに分解
し、個々のブロックについて、参照画像の対応する位置
のブロックおよびその近傍にある複数のブロックと比較
して最も距離の小さいブロックを求め、入力画像のブロ
ックとの座標の差を求めることにより行われる。
た例として、動きベクトルの検出のための実施例を示
す。動きベクトルの検出は、デジタル動画像の圧縮伸長
において有用な処理であるが、演算量が非常に多いた
め、高速に動きベクトルの検出を行う装置が望まれてい
る。良く知られているように、動きベクトルの検出は、
入力画像を複数の画素より構成されるブロックに分解
し、個々のブロックについて、参照画像の対応する位置
のブロックおよびその近傍にある複数のブロックと比較
して最も距離の小さいブロックを求め、入力画像のブロ
ックとの座標の差を求めることにより行われる。
【0026】図10および図11に示したのは、本発明
を応用して動画像の動きベクトルの演算を行う装置の実
施例である。以下では、説明を簡単にするため、ブロッ
クの大きさを3x3画素、探索範囲を上下左右2画素と
するが、本実施例はこれらの数字に限定されるものでは
なく、容易に拡張できる。図10に動きベクトルの演算
を行う装置を、図11に、図10において求めたブロッ
ク間距離の最小値を求めて、動きベクトルを出力する最
小距離演算部の構成を示した。以下、本実施例の構成と
動作を説明する。
を応用して動画像の動きベクトルの演算を行う装置の実
施例である。以下では、説明を簡単にするため、ブロッ
クの大きさを3x3画素、探索範囲を上下左右2画素と
するが、本実施例はこれらの数字に限定されるものでは
なく、容易に拡張できる。図10に動きベクトルの演算
を行う装置を、図11に、図10において求めたブロッ
ク間距離の最小値を求めて、動きベクトルを出力する最
小距離演算部の構成を示した。以下、本実施例の構成と
動作を説明する。
【0027】図10の装置では、入力画像の画素Fxy
と比較に用いる参照画像の画素REFx'y'は、それぞ
れ、シリアルアクセスメモリSAM2及びSAM1にリ
アルタイムで入力される。シリアルアクセスメモリに入
力された後に、それぞれ、3ライン分の2次元バッファ
アレ−BAF2,BAF1に転送され、さらに比較のた
めの2次元メモリアレ−MAR2,MAR1へと転送さ
れる。2次元メモリアレ−MAR2は、3ライン分の入
力画像が、記憶できるので、3x3画素の大きさのブロ
ックが1列記憶できる。一方、2次元メモリアレ−MA
R1には、MAR2内の入力画像のブロックに相当する
位置に加えて上下2ライン分加えた7ライン分の入力画
像が記憶できる。なお、シリアルアクセスメモリSAM
2に入力される入力画像は、SAM1に入力される参照
画像より2ライン遅れて入力され、1ライン分のデ−タ
が溜る度にSAM1,2から各々BAF1,2、MAR
1,2へとデ−タが転送される。これにより、MAR1
内の画像は、MAR2内の入力画像のブロックに相当す
る位置に加えて上下2ライン分を加えたものになる。3
ライン分の2次元バッファアレ−BAF2,BAF1
は、1列分のブロックの動きベクトルを求めている間に
次列のブロックの動きベクトルを求めるためのデ−タを
一時的に蓄えておくためのものである。1列分のブロッ
クの動きベクトルの演算が終了する度にこれらの2次元
バッファアレ−BAF1,BAF2のデ−タは、MAR
1,MAR2へ転送され、次の1列分のブロックの動き
ベクトルの演算を行っていく。前記したように動きベク
トルを求めるためには、入力画像のブロックと上下左右
に位置をずらした参照画像のブロックの間の距離を計算
する必要がある。ブロックの間の距離は、1つのブロッ
クを構成する画素と片方のブロックを構成する画素の値
の差を合計することによって求めることができる。図1
0の実施例では、演算回路PE1,..,PEnによ
り、メモリアレ−MAR2とMAR1から読みだされた
画素間の距離を並列に計算する。メモリアレ−MAR2
のワ−ド線を1本ずつ選択する度に並列デ−タ転送回路
TRC2の制御信号φL,φC,φRを切り替えると、演
算回路毎に異なるブロックの画素を転送することができ
る。一方、メモリアレ−MAR1には、MAR2内の入
力画像のブロックに相当する位置に加えて上下2ライン
余分に参照画像のデ−タがある。したがって、ワ−ド線
を切り替えることにより、入力画像のブロックに相当す
る位置に加えて上下2画素の範囲で、転送する画素のy
座標を変えることができる。さらに、並列デ−タ転送回
路TRC1の制御信号を切り替えることにより、x方向に
も入力画像のブロックに相当する位置に加えて左右2画
素合計7画素の範囲で、位置をずらした画素を各演算回
路に転送することができる。従って、演算回路に入力さ
れる参照画像のブロックの座標は、入力画像に対して、
x,y方向に2画素の範囲でシフトすることが可能であ
る。なお、並列デ−タ転送回路TRC1の信号線には、
4本ずつ重なりが必要であるが、TN1の信号線には、
重なりは不要である。
と比較に用いる参照画像の画素REFx'y'は、それぞ
れ、シリアルアクセスメモリSAM2及びSAM1にリ
アルタイムで入力される。シリアルアクセスメモリに入
力された後に、それぞれ、3ライン分の2次元バッファ
アレ−BAF2,BAF1に転送され、さらに比較のた
めの2次元メモリアレ−MAR2,MAR1へと転送さ
れる。2次元メモリアレ−MAR2は、3ライン分の入
力画像が、記憶できるので、3x3画素の大きさのブロ
ックが1列記憶できる。一方、2次元メモリアレ−MA
R1には、MAR2内の入力画像のブロックに相当する
位置に加えて上下2ライン分加えた7ライン分の入力画
像が記憶できる。なお、シリアルアクセスメモリSAM
2に入力される入力画像は、SAM1に入力される参照
画像より2ライン遅れて入力され、1ライン分のデ−タ
が溜る度にSAM1,2から各々BAF1,2、MAR
1,2へとデ−タが転送される。これにより、MAR1
内の画像は、MAR2内の入力画像のブロックに相当す
る位置に加えて上下2ライン分を加えたものになる。3
ライン分の2次元バッファアレ−BAF2,BAF1
は、1列分のブロックの動きベクトルを求めている間に
次列のブロックの動きベクトルを求めるためのデ−タを
一時的に蓄えておくためのものである。1列分のブロッ
クの動きベクトルの演算が終了する度にこれらの2次元
バッファアレ−BAF1,BAF2のデ−タは、MAR
1,MAR2へ転送され、次の1列分のブロックの動き
ベクトルの演算を行っていく。前記したように動きベク
トルを求めるためには、入力画像のブロックと上下左右
に位置をずらした参照画像のブロックの間の距離を計算
する必要がある。ブロックの間の距離は、1つのブロッ
クを構成する画素と片方のブロックを構成する画素の値
の差を合計することによって求めることができる。図1
0の実施例では、演算回路PE1,..,PEnによ
り、メモリアレ−MAR2とMAR1から読みだされた
画素間の距離を並列に計算する。メモリアレ−MAR2
のワ−ド線を1本ずつ選択する度に並列デ−タ転送回路
TRC2の制御信号φL,φC,φRを切り替えると、演
算回路毎に異なるブロックの画素を転送することができ
る。一方、メモリアレ−MAR1には、MAR2内の入
力画像のブロックに相当する位置に加えて上下2ライン
余分に参照画像のデ−タがある。したがって、ワ−ド線
を切り替えることにより、入力画像のブロックに相当す
る位置に加えて上下2画素の範囲で、転送する画素のy
座標を変えることができる。さらに、並列デ−タ転送回
路TRC1の制御信号を切り替えることにより、x方向に
も入力画像のブロックに相当する位置に加えて左右2画
素合計7画素の範囲で、位置をずらした画素を各演算回
路に転送することができる。従って、演算回路に入力さ
れる参照画像のブロックの座標は、入力画像に対して、
x,y方向に2画素の範囲でシフトすることが可能であ
る。なお、並列デ−タ転送回路TRC1の信号線には、
4本ずつ重なりが必要であるが、TN1の信号線には、
重なりは不要である。
【0028】入力画像のブロックと参照画像のブロック
との間の距離は、次のようにして求められる。まず、座
標のシフト量を固定して、入力画像のブロックと参照画
像のブロックの画素を各演算回路PE1,..,PEn
に転送する。演算回路で求めた画素間の距離は、アキュ
ムレ−タAcc1,..,ACCnに転送され、1ブロ
ック分の値が加算される。こうして求めたブロック間の
距離は、最小距離演算部MIN1,..,MINnへ転
送される。最小距離演算部では、ブロック間の距離が最
小となる座標のシフト量を求める。最小距離演算部の構
成は図11に示した。図11を用いて動作を説明する。
図11に示したように、最小距離演算部MINiは比較
回路COM、レジスタREG1,REG2およびスイッ
チSWB1,SWB2より構成されている。特定のシフ
ト量Δx,Δyについてブロック間の距離BLDi(Δ
x,Δy)が求まると比較回路COMに入力される。比
較回路COMによって、新しく求めたブロック間の距離
BLDi(Δx,Δy)と、既に求めてレジスタREG
1に記憶しておいた別のシフト量Δx’,Δy’につい
てのブロック間の距離BLDi(Δx’,Δy’)とが
比較される。その結果、BLDi(Δx,Δy)の方が
小さければスイッチSWB1が導通してレジスタREG
1の内容がBLDi(Δx,Δy)に更新される。レジ
スタREG2には、シフト量(Δx’,Δy’)が、記
憶されているが。こちらも、スイッチSWB2も導通し
て(Δx,Δy)に更新される。逆に、BLDi(Δ
x,Δy)の方が大きい場合には、スイッチSWB1,
SWB2は導通せず、レジスタの内容は更新されない。
以上のような動作をすべてのシフト量で行うことにより
レジスタREG2には、ブロック間の距離が最小となる
シフト量、すなわち動きベクトルMCが求まる。図10
では、1列分のブロックの動きベクトルが並列に求まる
ので、これをシリアルアクセスメモリSAM3へ転送し
て順次チップ外に出力する。
との間の距離は、次のようにして求められる。まず、座
標のシフト量を固定して、入力画像のブロックと参照画
像のブロックの画素を各演算回路PE1,..,PEn
に転送する。演算回路で求めた画素間の距離は、アキュ
ムレ−タAcc1,..,ACCnに転送され、1ブロ
ック分の値が加算される。こうして求めたブロック間の
距離は、最小距離演算部MIN1,..,MINnへ転
送される。最小距離演算部では、ブロック間の距離が最
小となる座標のシフト量を求める。最小距離演算部の構
成は図11に示した。図11を用いて動作を説明する。
図11に示したように、最小距離演算部MINiは比較
回路COM、レジスタREG1,REG2およびスイッ
チSWB1,SWB2より構成されている。特定のシフ
ト量Δx,Δyについてブロック間の距離BLDi(Δ
x,Δy)が求まると比較回路COMに入力される。比
較回路COMによって、新しく求めたブロック間の距離
BLDi(Δx,Δy)と、既に求めてレジスタREG
1に記憶しておいた別のシフト量Δx’,Δy’につい
てのブロック間の距離BLDi(Δx’,Δy’)とが
比較される。その結果、BLDi(Δx,Δy)の方が
小さければスイッチSWB1が導通してレジスタREG
1の内容がBLDi(Δx,Δy)に更新される。レジ
スタREG2には、シフト量(Δx’,Δy’)が、記
憶されているが。こちらも、スイッチSWB2も導通し
て(Δx,Δy)に更新される。逆に、BLDi(Δ
x,Δy)の方が大きい場合には、スイッチSWB1,
SWB2は導通せず、レジスタの内容は更新されない。
以上のような動作をすべてのシフト量で行うことにより
レジスタREG2には、ブロック間の距離が最小となる
シフト量、すなわち動きベクトルMCが求まる。図10
では、1列分のブロックの動きベクトルが並列に求まる
ので、これをシリアルアクセスメモリSAM3へ転送し
て順次チップ外に出力する。
【0029】以上説明したように、図10、11の実施
例によれば、リアルタイムで入力される画像について、
1列分のブロックの動きベクトルを並列に求めることが
できる。従って、動きベクトルを利用した動画像の圧
縮、伸長システムに、本実施例にもとずく半導体集積回
路を搭載すれば、高速の処理を行うことが可能となる。
なお、図10の構成においても、図4、図7のような方
法で、演算回路のピッチを緩和できることは、もちろん
である。
例によれば、リアルタイムで入力される画像について、
1列分のブロックの動きベクトルを並列に求めることが
できる。従って、動きベクトルを利用した動画像の圧
縮、伸長システムに、本実施例にもとずく半導体集積回
路を搭載すれば、高速の処理を行うことが可能となる。
なお、図10の構成においても、図4、図7のような方
法で、演算回路のピッチを緩和できることは、もちろん
である。
【0030】これまで、本発明を用いた実施例を説明し
てきた。これまで説明してきた実施例では、1ライン分
以上の画素デ−タを記憶できるワ−ド線をもつ2次元メ
モリアレ−を用いていた。しかし、ワ−ド線の長さが余
り長いと配線容量、抵抗が増大して、高速の駆動が困難
になる場合がある。そのような場合には、アレ−を分割
すればよい。ただし、その場合には、単純に分割する
と、サブアレ−の端に配置した演算回路では、必要な画
素が、隣のサブアレ−に存在することになり、アクセス
パスを特別に設ける必要が生じてしまう。これを避ける
には、サブアレ−の端の画素デ−タを、隣接するサブア
レ−間で2重にもてばよい。また、実施例を説明するた
めの図では、2次元メモリアレ−の詳細な構成、あるい
は、制御信号の発生法等については説明を省略したが、
これらは、通常のLSIに用いられている技術で容易に
構成できる。例えば、2次元メモリアレ−には、1トラ
ンジスタセルより成るDRAMアレ−を用いることがで
きる。その場合には、2次元メモリアレ−を高集積に作
ることができるので、SRAMアレ−等を用いた場合に
比較して、同じチップサイズで演算回路を多数集積でき
る。このため、より高速な処理を行うことができる。な
お、これまで説明してきたように、本発明の実施例で
は、短時間のうちにメモリアレ−の情報をすべて使用す
る場合が多い。そのため、DRAMアレ−を用いる場合
でも、演算中は自動的にリフレッシュが行われる。した
がって、演算を中断してリフレッシュを行う必要がない
という利点がある。
てきた。これまで説明してきた実施例では、1ライン分
以上の画素デ−タを記憶できるワ−ド線をもつ2次元メ
モリアレ−を用いていた。しかし、ワ−ド線の長さが余
り長いと配線容量、抵抗が増大して、高速の駆動が困難
になる場合がある。そのような場合には、アレ−を分割
すればよい。ただし、その場合には、単純に分割する
と、サブアレ−の端に配置した演算回路では、必要な画
素が、隣のサブアレ−に存在することになり、アクセス
パスを特別に設ける必要が生じてしまう。これを避ける
には、サブアレ−の端の画素デ−タを、隣接するサブア
レ−間で2重にもてばよい。また、実施例を説明するた
めの図では、2次元メモリアレ−の詳細な構成、あるい
は、制御信号の発生法等については説明を省略したが、
これらは、通常のLSIに用いられている技術で容易に
構成できる。例えば、2次元メモリアレ−には、1トラ
ンジスタセルより成るDRAMアレ−を用いることがで
きる。その場合には、2次元メモリアレ−を高集積に作
ることができるので、SRAMアレ−等を用いた場合に
比較して、同じチップサイズで演算回路を多数集積でき
る。このため、より高速な処理を行うことができる。な
お、これまで説明してきたように、本発明の実施例で
は、短時間のうちにメモリアレ−の情報をすべて使用す
る場合が多い。そのため、DRAMアレ−を用いる場合
でも、演算中は自動的にリフレッシュが行われる。した
がって、演算を中断してリフレッシュを行う必要がない
という利点がある。
【0031】
【発明の効果】本発明による半導体集積回路によれば、
2次元空間フィルタ、コンボリュ−ション演算、あるい
は画像間の動きベクトルの探索のための演算など2次元
のデ−タを用いた演算を、並列に処理することが可能で
ある。このため、上記の演算をリアルタイムで高速に処
理できる。
2次元空間フィルタ、コンボリュ−ション演算、あるい
は画像間の動きベクトルの探索のための演算など2次元
のデ−タを用いた演算を、並列に処理することが可能で
ある。このため、上記の演算をリアルタイムで高速に処
理できる。
【図1】本発明による半導体集積回路の構成(3x3空
間フィルタ)を示す実施例。
間フィルタ)を示す実施例。
【図2】ラインメモリを用いた従来の半導体集積回路。
【図3】本発明をによる半導体集積回路の構成(5x5
空間フィルタ)を示す実施例。
空間フィルタ)を示す実施例。
【図4】図1の実施例において、演算回路のレイアウト
ピッチを緩和するための第1の構成を示す実施例。
ピッチを緩和するための第1の構成を示す実施例。
【図5】図4の実施例における並列デ−タ転送回路の構
成を示す実施例。
成を示す実施例。
【図6】図4、5の実施例における並列デ−タ転送回路
の制御法を示す実施例。
の制御法を示す実施例。
【図7】図1の実施例において、演算回路のレイアウト
ピッチを緩和するための構成を示す第2の実施例。
ピッチを緩和するための構成を示す第2の実施例。
【図8】図7の実施例における並列デ−タ転送回路の構
成を示す実施例。
成を示す実施例。
【図9】図7、8の実施例における並列デ−タ転送回路
の制御法を示す実施例。
の制御法を示す実施例。
【図10】本発明を用いた、動きベクトル演算装置の構
成を示す実施例。
成を示す実施例。
【図11】図10の実施例における最小距離演算部の構
成を示す実施例。
成を示す実施例。
SAM1,SAM2,SAM3−−−−−−シリアルア
クセスメモリ MAR,MAR1,MAR2−−−−−−−2次元メモ
リアレ− SA−−−−−−−−−−−−−−−−−−センスアン
プ DG−−−−−−−−−−−−−−−−−−デ−タ線群 TRC,TRC1,TRC2−−−−−−−並列デ−タ
転送回路 SEL−−−−−−−−−−−−−−−−−セレクタ DIS−−−−−−−−−−−−−−−−−ディストリ
ビュ−タ PE1,PE2,..,PEn−−−−−−演算回路 DM−−−−−−−−−−−−−−−−−−デ−タメモ
リ RG,RG1,RG2,..,REG−−−レジスタ MT1,MT2,..,MT(n/3)−−−−−乗算器 ADD1,ADD2,..,ADD(n/3)−−加算器 BAF1,BAF2−−−−−−−−−−−バッファ ACC1,ACC2,..,ACCn−−−アキュムレ
−タ MIN1,MIN2,..,MINn−−−最小距離演
算部 COM−−−−−−−−−−−−−−−−−比較回路
クセスメモリ MAR,MAR1,MAR2−−−−−−−2次元メモ
リアレ− SA−−−−−−−−−−−−−−−−−−センスアン
プ DG−−−−−−−−−−−−−−−−−−デ−タ線群 TRC,TRC1,TRC2−−−−−−−並列デ−タ
転送回路 SEL−−−−−−−−−−−−−−−−−セレクタ DIS−−−−−−−−−−−−−−−−−ディストリ
ビュ−タ PE1,PE2,..,PEn−−−−−−演算回路 DM−−−−−−−−−−−−−−−−−−デ−タメモ
リ RG,RG1,RG2,..,REG−−−レジスタ MT1,MT2,..,MT(n/3)−−−−−乗算器 ADD1,ADD2,..,ADD(n/3)−−加算器 BAF1,BAF2−−−−−−−−−−−バッファ ACC1,ACC2,..,ACCn−−−アキュムレ
−タ MIN1,MIN2,..,MINn−−−最小距離演
算部 COM−−−−−−−−−−−−−−−−−比較回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中川 哲也 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 木内 淳 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内
Claims (10)
- 【請求項1】複数のデータ線と該複数のデータ線と交叉
する複数のワード線と上記複数のデータ線と上記複数の
ワード線との所望の交点に設けられた複数のメモリセル
とを具備するメモリセルアレーと、上記複数のデータ線
からの複数のデータを並列に転送する並列データ転送回
路と、該並列データ転送回路により転送された上記複数
のデータを入力信号とする複数の演算回路とを具備し、 上記並列データ転送回路は上記複数の演算回路の各演算
回路に対して上記複数のデータ線の2本以上のデータ線
を順次選択して接続することにより上記複数のデータの
2つ以上のデータを上記複数の演算回路の各演算回路に
転送することが可能な如く構成されるとともに上記複数
の演算回路の隣合う演算回路が同一のデータ線から同一
のデータを入力することが可能な如く構成されてなるこ
とを特徴とする半導体集積回路。 - 【請求項2】請求項1に記載の半導体集積回路におい
て、上記複数の演算回路の各演算回路は上記複数のワー
ド線の2本以上のワード線が選択されることによって上
記複数のデータ線の1本のデータ線に読みだされる複数
のデータを用いて演算を行うことを特徴とする半導体集
積回路。 - 【請求項3】請求項1又は請求項2の何れかに記載の半
導体集積回路において、外部から入力されるシリアルデ
ータを蓄えるとともに該シリアルデータを上記複数のデ
ータ線に並列に出力する第1のシリアルアクセスメモリ
と、上記複数の演算回路の出力データをシリアルデータ
に変換して外部に出力する第2のシリアルアクセスメモ
リとをさらに具備したことを特徴とする半導体集積回
路。 - 【請求項4】請求項1乃至請求項3の何れかに記載の半
導体集積回路において、上記複数の演算回路の各演算回
路は上記メモリセルアレーからの上記複数のデータと予
め定められた定数とを用いて演算を行うことを特徴とす
る半導体集積回路。 - 【請求項5】複数のデータ線群と該複数のデータ線群と
交叉する複数のワード線と上記複数のデータ線群と上記
複数のワード線との所望の交点に設けられた複数のメモ
リセルとを具備するメモリセルアレーと、上記複数のデ
ータ線群からの複数のデータ群を並列に転送する並列デ
ータ転送回路と、該並列データ転送回路により転送され
た上記複数のデータ群を入力信号とする複数の演算回路
とを具備し、 上記並列データ転送回路は上記複数の演算回路の各演算
回路に対して上記複数のデータ線群の2つ以上のデータ
線群を順次選択して接続することにより上記複数のデー
タ群の2つ以上のデータ群を上記複数の演算回路の各演
算回路に転送することが可能な如く構成されるとともに
上記複数の演算回路の隣合う演算回路が同一のデータ線
群から同一のデータ群を入力することが可能な如く構成
されてなることを特徴とする半導体集積回路。 - 【請求項6】請求項5に記載の半導体集積回路におい
て、上記複数の演算回路の各演算回路は上記複数のワー
ド線の2本以上のワード線が選択されることによって上
記複数のデータ線群の1つのデータ線群に読みだされる
複数のデータ群を用いて演算を行うことを特徴とする半
導体集積回路。 - 【請求項7】請求項5又は請求項6の何れかに記載の半
導体集積回路において、外部から入力されるシリアルデ
ータを蓄えるとともに該シリアルデータを上記複数のデ
ータ線群に並列に出力する第1のシリアルアクセスメモ
リと、上記複数の演算回路の出力データをシリアルデー
タに変換して外部に出力する第2のシリアルアクセスメ
モリとをさらに具備したことを特徴とする半導体集積回
路。 - 【請求項8】請求項5乃至請求項7の何れかに記載の半
導体集積回路において、上記複数の演算回路の各演算回
路は上記メモリセルアレーからの上記複数のデータと予
め定められた定数とを用いて演算を行うことを特徴とす
る半導体集積回路。 - 【請求項9】複数のデータ線と該複数のデータ線と交叉
する複数のワード線と上記複数のデータ線と上記複数の
ワード線との所望の交点に設けられた複数のメモリセル
とを具備する第1と第2のメモリセルアレーと、上記第
1のメモリセルアレーの上記複数のデータ線からの複数
の第1データを並列に転送する第1の並列データ転送回
路と、上記第2のメモリセルアレーの上記複数のデータ
線からの複数の第2データを並列に転送する第2の並列
データ転送回路と、上記第1と第2の並列データ転送回
路により転送された上記複数の第1及び第2データを入
力信号とする複数の演算回路とを具備し、 上記第1の並列データ転送回路は上記複数の演算回路の
各演算回路に対して上記複数の第1データ線の2つ以上
のデータ線を順次選択して接続することにより上記複数
の第1データの2つ以上のデータを上記複数の演算回路
の各演算回路に転送することが可能な如く構成されると
ともに上記複数の演算回路の隣合う演算回路が同一のデ
ータ線から同一のデータを入力することが可能な如く構
成され、 上記第2の並列データ転送回路は上記複数の演算回路の
各演算回路に対して上記複数の第2データ線の2つ以上
のデータ線を順次選択して接続することにより上記複数
の第2データの2つ以上のデータを上記複数の演算回路
の各演算回路に転送することが可能な如く構成されると
ともに上記複数の演算回路の隣合う演算回路が同一のデ
ータ線から同一のデータを入力することが可能な如く構
成されてなることを特徴とする半導体集積回路。 - 【請求項10】複数のデータ線群と該複数のデータ線群
と交叉する複数のワード線と上記複数のデータ線群と上
記複数のワード線との所望の交点に設けられた複数のメ
モリセルとを具備する第1と第2のメモリセルアレー
と、上記第1のメモリセルアレーの上記複数のデータ線
群からの複数の第1データ群を並列に転送する第1の並
列データ転送回路と、上記第2のメモリセルアレーの上
記複数のデータ線群からの複数の第2データ群を並列に
転送する第2の並列データ転送回路と、上記第1と第2
の並列データ転送回路により転送された上記複数の第1
及び第2データ群を入力信号とする複数の演算回路とを
具備し、 上記第1の並列データ転送回路は上記複数の演算回路の
各演算回路に対して上記複数の第1データ線群の2つ以
上のデータ線群を順次選択して接続することにより上記
複数の第1データ群の2つ以上のデータ群を上記複数の
演算回路の各演算回路に転送することが可能な如く構成
されるとともに上記複数の演算回路の隣合う演算回路が
同一のデータ線群から同一のデータ群を入力することが
可能な如く構成され、 上記第2の並列データ転送回路は上記複数の演算回路の
各演算回路に対して上記複数の第2データ線群の2つ以
上のデータ線群を順次選択して接続することにより上記
複数の第2データ群の2つ以上のデータ群を上記複数の
演算回路の各演算回路に転送することが可能な如く構成
されるとともに上記複数の演算回路の隣合う演算回路が
同一のデータ線群から同一のデータ群を入力することが
可能な如く構成されてなることを特徴とする半導体集積
回路。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07182194A JP3251421B2 (ja) | 1994-04-11 | 1994-04-11 | 半導体集積回路 |
TW084102953A TW447192B (en) | 1994-04-11 | 1995-03-27 | Semiconductor integrated circuit |
DE69520974T DE69520974T2 (de) | 1994-04-11 | 1995-03-29 | Eine integrierte Halbleiterschaltung |
EP95302121A EP0676764B1 (en) | 1994-04-11 | 1995-03-29 | A semiconductor integrated circuit |
KR1019950007778A KR100373222B1 (ko) | 1994-04-11 | 1995-04-04 | 반도체집적회로 |
CN95104392A CN1104695C (zh) | 1994-04-11 | 1995-04-10 | 半导体集成电路 |
US08/931,776 US5854636A (en) | 1994-04-11 | 1997-09-16 | Semiconductor IC with a plurality of processing circuits which receive parallel data via a parallel data transfer circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07182194A JP3251421B2 (ja) | 1994-04-11 | 1994-04-11 | 半導体集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07282237A true JPH07282237A (ja) | 1995-10-27 |
JP3251421B2 JP3251421B2 (ja) | 2002-01-28 |
Family
ID=13471611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07182194A Expired - Fee Related JP3251421B2 (ja) | 1994-04-11 | 1994-04-11 | 半導体集積回路 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5854636A (ja) |
EP (1) | EP0676764B1 (ja) |
JP (1) | JP3251421B2 (ja) |
KR (1) | KR100373222B1 (ja) |
CN (1) | CN1104695C (ja) |
DE (1) | DE69520974T2 (ja) |
TW (1) | TW447192B (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212477A (ja) * | 1995-11-27 | 1997-08-15 | Canon Inc | デジタル画像処理プロセッサ |
JP2009037348A (ja) * | 2007-07-31 | 2009-02-19 | Canon Inc | 画像処理装置及び方法 |
JP2011525008A (ja) * | 2008-05-29 | 2011-09-08 | アクシス・セミコンダクター・インコーポレーテッド | リアルタイムデータ処理のための方法&装置 |
US8856494B2 (en) | 2004-11-03 | 2014-10-07 | Intel Corporation | SIMD processor for performing data filtering and/or interpolation |
US10713042B2 (en) | 2017-07-03 | 2020-07-14 | Fujitsu Limited | Arithmetic processing device and control method for arithmetic processing device |
JP2022106726A (ja) * | 2017-01-26 | 2022-07-20 | 株式会社半導体エネルギー研究所 | 電子機器 |
Families Citing this family (152)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE59705713D1 (de) | 1997-01-08 | 2002-01-17 | Stuttgart Mikroelektronik | Verfahren und vorrichtung zur analogen signalverarbeitung |
JP3650519B2 (ja) * | 1997-12-17 | 2005-05-18 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
JP3283040B2 (ja) * | 1997-12-19 | 2002-05-20 | ビーエイイー システムズ パブリック リミテッド カンパニー | 重み付けなしニューラル技術を利用したデジタル信号フィルタ |
US6587158B1 (en) * | 1998-07-23 | 2003-07-01 | Dvdo, Inc. | Method and apparatus for reducing on-chip memory in vertical video processing |
US6990058B1 (en) | 2000-04-03 | 2006-01-24 | Dphi Acquisitions, Inc. | Structure and method for storing data on optical disks |
WO2001093035A2 (en) | 2000-05-30 | 2001-12-06 | Dataplay, Inc. | Defect management system for write-once storage disk |
US6738333B1 (en) | 2000-05-30 | 2004-05-18 | Dphi Acquisitions, Inc. | Format for recording data in a storage disk |
CN100385460C (zh) * | 2001-03-13 | 2008-04-30 | 伊强德斯股份有限公司 | 联动式计数器及联动装置 |
JP2003280982A (ja) * | 2002-03-20 | 2003-10-03 | Seiko Epson Corp | 多次元メモリのデータ転送装置及び多次元メモリのデータ転送プログラム、並びに多次元メモリのデータ転送方法 |
US7423642B2 (en) * | 2005-12-14 | 2008-09-09 | Winbond Electronics Corporation | Efficient video frame capturing |
CN100409259C (zh) * | 2006-08-29 | 2008-08-06 | 中国航天时代电子公司第七七一研究所 | 可缩放大规模二维卷积电路 |
US7529149B2 (en) * | 2006-12-12 | 2009-05-05 | Mosaid Technologies Incorporated | Memory system and method with serial and parallel modes |
CN102169717B (zh) * | 2011-05-06 | 2013-03-13 | 西安华芯半导体有限公司 | 一种具有数据处理功能的存储器装置 |
JP6044240B2 (ja) * | 2012-10-01 | 2016-12-14 | 株式会社ソシオネクスト | 半導体装置及び半導体装置の設計方法 |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
EP3254286B1 (en) | 2015-02-06 | 2019-09-11 | Micron Technology, INC. | Apparatuses and methods for parallel writing to multiple memory device locations |
WO2016126472A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for scatter and gather |
EP3254287A4 (en) | 2015-02-06 | 2018-08-08 | Micron Technology, INC. | Apparatuses and methods for memory device as a store for program instructions |
WO2016144724A1 (en) | 2015-03-10 | 2016-09-15 | Micron Technology, Inc. | Apparatuses and methods for shift decisions |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
US10365851B2 (en) | 2015-03-12 | 2019-07-30 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US9952925B2 (en) | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US9697876B1 (en) | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US9767864B1 (en) | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
CN207637499U (zh) | 2016-11-08 | 2018-07-20 | 美光科技公司 | 用于形成在存储器单元阵列上方的计算组件的设备 |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
CN106843809B (zh) * | 2017-01-25 | 2019-04-30 | 北京大学 | 一种基于nor flash阵列的卷积运算方法 |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4298950A (en) * | 1979-10-12 | 1981-11-03 | Westinghouse Electric Corp. | Multipoint pipeline processor for computing the discrete fourier transform |
US4460958A (en) * | 1981-01-26 | 1984-07-17 | Rca Corporation | Window-scanned memory |
JPS6053349B2 (ja) * | 1981-06-19 | 1985-11-25 | 株式会社日立製作所 | 画像処理プロセツサ |
US4635292A (en) * | 1983-12-19 | 1987-01-06 | Matsushita Electric Industrial Co., Ltd. | Image processor |
EP0179605B1 (en) * | 1984-10-17 | 1992-08-19 | Fujitsu Limited | Semiconductor memory device having a serial data input circuit and a serial data output circuit |
GB2184316B (en) * | 1985-12-17 | 1989-10-11 | Sony Corp | Two-dimensional finite impulse response filter arrangements. |
US4860373A (en) * | 1986-03-31 | 1989-08-22 | General Electric Company | Location dependent signal processor |
US4845664A (en) * | 1986-09-15 | 1989-07-04 | International Business Machines Corp. | On-chip bit reordering structure |
JPH06101039B2 (ja) * | 1988-05-11 | 1994-12-12 | 富士通株式会社 | ウインドウ画像データの読出処理方式 |
FR2634084A1 (fr) * | 1988-07-08 | 1990-01-12 | Labo Electronique Physique | Circuit integre et dispositif de traitement d'images |
JPH0736163B2 (ja) * | 1988-08-26 | 1995-04-19 | 株式会社東芝 | 塗潰しパターン発生装置 |
US5321510A (en) * | 1989-11-13 | 1994-06-14 | Texas Instruments Incorporated | Serial video processor |
JP2753129B2 (ja) * | 1990-10-02 | 1998-05-18 | 株式会社東芝 | 半導体記憶装置 |
US5276641A (en) * | 1991-12-12 | 1994-01-04 | International Business Machines Corporation | Hybrid open folded sense amplifier architecture for a memory device |
GB9202613D0 (en) * | 1992-02-07 | 1992-03-25 | Questech Ltd | Improvements in and relating to digital filters |
EP0626661A1 (en) * | 1993-05-24 | 1994-11-30 | Societe D'applications Generales D'electricite Et De Mecanique Sagem | Digital image processing circuitry |
US5671296A (en) * | 1994-02-15 | 1997-09-23 | Unisys Corporation | Method of electronically processing a quantized image |
-
1994
- 1994-04-11 JP JP07182194A patent/JP3251421B2/ja not_active Expired - Fee Related
-
1995
- 1995-03-27 TW TW084102953A patent/TW447192B/zh active
- 1995-03-29 DE DE69520974T patent/DE69520974T2/de not_active Expired - Fee Related
- 1995-03-29 EP EP95302121A patent/EP0676764B1/en not_active Expired - Lifetime
- 1995-04-04 KR KR1019950007778A patent/KR100373222B1/ko not_active IP Right Cessation
- 1995-04-10 CN CN95104392A patent/CN1104695C/zh not_active Expired - Fee Related
-
1997
- 1997-09-16 US US08/931,776 patent/US5854636A/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212477A (ja) * | 1995-11-27 | 1997-08-15 | Canon Inc | デジタル画像処理プロセッサ |
US8856494B2 (en) | 2004-11-03 | 2014-10-07 | Intel Corporation | SIMD processor for performing data filtering and/or interpolation |
JP2009037348A (ja) * | 2007-07-31 | 2009-02-19 | Canon Inc | 画像処理装置及び方法 |
JP2011525008A (ja) * | 2008-05-29 | 2011-09-08 | アクシス・セミコンダクター・インコーポレーテッド | リアルタイムデータ処理のための方法&装置 |
JP2022106726A (ja) * | 2017-01-26 | 2022-07-20 | 株式会社半導体エネルギー研究所 | 電子機器 |
US10713042B2 (en) | 2017-07-03 | 2020-07-14 | Fujitsu Limited | Arithmetic processing device and control method for arithmetic processing device |
Also Published As
Publication number | Publication date |
---|---|
DE69520974T2 (de) | 2002-03-28 |
US5854636A (en) | 1998-12-29 |
CN1104695C (zh) | 2003-04-02 |
KR100373222B1 (ko) | 2003-04-26 |
TW447192B (en) | 2001-07-21 |
EP0676764B1 (en) | 2001-05-23 |
CN1126860A (zh) | 1996-07-17 |
KR950033952A (ko) | 1995-12-26 |
DE69520974D1 (de) | 2001-06-28 |
EP0676764A3 (en) | 1998-05-06 |
EP0676764A2 (en) | 1995-10-11 |
JP3251421B2 (ja) | 2002-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3251421B2 (ja) | 半導体集積回路 | |
US5546343A (en) | Method and apparatus for a single instruction operating multiple processors on a memory chip | |
EP0390907B1 (en) | Parallel data processor | |
US5138695A (en) | Systolic array image processing system | |
US4739474A (en) | Geometric-arithmetic parallel processor | |
US7167890B2 (en) | Multiplier-based processor-in-memory architectures for image and graphics processing | |
JP3199205B2 (ja) | 並列演算装置 | |
KR920001618B1 (ko) | 직교변환 프로세서 | |
US5179714A (en) | Parallel bit serial data processor | |
WO1989006014A1 (en) | An intelligent memory chip for matrix multiplication | |
WO1999053412A9 (en) | Global input/output support for a mesh connected computer | |
US4524428A (en) | Modular input-programmable logic circuits for use in a modular array processor | |
US4543642A (en) | Data Exchange Subsystem for use in a modular array processor | |
Duff | Parallel processors for digital image processing | |
Kondo et al. | An LSI adaptive array processor | |
CN111045727A (zh) | 一种基于非易失性内存计算的处理单元阵列及其计算方法 | |
Yang | Design of fast connected components hardware | |
GB2255845A (en) | Two dimentional shift-array for use in image compression | |
Sjostrom et al. | Discrete cosine transform chip for real-time video applications | |
Duller et al. | Design of an associative processor array | |
US20040172437A1 (en) | Image processing device and image processing method | |
Lu et al. | Semi-systolic array based motion estimation processor design | |
Hariyama et al. | Collision detection VLSI processor for highly-safe intelligent vehicles using a multiport content-addressable memory | |
Lin et al. | A high-speed shuffle bus for VLSI arrays | |
Wu | Block pipeline 2-D IIR filter structures via iteration and retiming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071116 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081116 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |