JP2862387B2 - 超高速画像処理システムのフィルタリング処理方式 - Google Patents
超高速画像処理システムのフィルタリング処理方式Info
- Publication number
- JP2862387B2 JP2862387B2 JP5711791A JP5711791A JP2862387B2 JP 2862387 B2 JP2862387 B2 JP 2862387B2 JP 5711791 A JP5711791 A JP 5711791A JP 5711791 A JP5711791 A JP 5711791A JP 2862387 B2 JP2862387 B2 JP 2862387B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- data
- memory
- address
- image
- 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.)
- Expired - Fee Related
Links
Landscapes
- Image Processing (AREA)
Description
【0001】
【産業上の利用分野】本発明は大規模画像の前処理を実
時間で行うことができる超高速画像処理システムRIP
E(Real−time Image Process
ing Engine)のフィルタリング処理方式に関
するものである。
時間で行うことができる超高速画像処理システムRIP
E(Real−time Image Process
ing Engine)のフィルタリング処理方式に関
するものである。
【0002】
【従来の技術】医療、工業生産などの分野で計算機を用
いた画像処理の必要性が高まって来ている。これらの応
用分野における近い将来の目標は2次元またはそれ以上
の多次元大規模画像(高画質画像)の実時間処理であ
る。システムの認識能力を向上させるためには画像自体
の分解能をあげることが必須であるが、そのためには、
画素数を増大させること、および前処理でのフィルタの
マスクサイズを増大させることが必要である。
いた画像処理の必要性が高まって来ている。これらの応
用分野における近い将来の目標は2次元またはそれ以上
の多次元大規模画像(高画質画像)の実時間処理であ
る。システムの認識能力を向上させるためには画像自体
の分解能をあげることが必須であるが、そのためには、
画素数を増大させること、および前処理でのフィルタの
マスクサイズを増大させることが必要である。
【0003】ここ数年間での画像処理に対する具体的要
求の例として以下の3項目が考えられる。
求の例として以下の3項目が考えられる。
【0004】1画像当たり2048×2048以上の
画素を持つ多値およびカラーの画像の処理が可能となる
こと。
画素を持つ多値およびカラーの画像の処理が可能となる
こと。
【0005】上記の画像に対してフィルタリングなど
の局所並列処理が高速に行えること、および50×5
0程度の大きさのマスクを用いたフィルタリング処理が
可能であること。
の局所並列処理が高速に行えること、および50×5
0程度の大きさのマスクを用いたフィルタリング処理が
可能であること。
【0006】画像処理ではフィルタリングを中心とする
前処理が行われる場合が多く、画像の規模およびフィル
タの規模が増大するのに従い、前処理に必要な計算時間
は急激に増加する。
前処理が行われる場合が多く、画像の規模およびフィル
タの規模が増大するのに従い、前処理に必要な計算時間
は急激に増加する。
【0007】これまで医療、工業生産などで実用化され
ている画像処理システムでは、512×512程度の画
素を持つ画像を対象としているが、2048×2048
画素程度の解像度を持つ医療用X線フィルムなどの複雑
な濃淡画像の前処理を行うためには、スーパーコンピュ
ータなどの汎用大型計算機を用いても実時間処理は困難
である。このような大規模画像の前処理を効率よく行う
専用システムを実現するためには、処理の並列化および
パイプライン化が有効であると考えられる。特にフィル
タリング処理のアルゴリズムの多くは並列型の積和演算
を頻繁に用いているので、画素単位での空間並列処理が
効果的であると考えられる。
ている画像処理システムでは、512×512程度の画
素を持つ画像を対象としているが、2048×2048
画素程度の解像度を持つ医療用X線フィルムなどの複雑
な濃淡画像の前処理を行うためには、スーパーコンピュ
ータなどの汎用大型計算機を用いても実時間処理は困難
である。このような大規模画像の前処理を効率よく行う
専用システムを実現するためには、処理の並列化および
パイプライン化が有効であると考えられる。特にフィル
タリング処理のアルゴリズムの多くは並列型の積和演算
を頻繁に用いているので、画素単位での空間並列処理が
効果的であると考えられる。
【0008】
【発明が解決しようとする課題】ところで、画像1行中
の画素数と同じ個数の演算素子を用意して画素単位での
並列処理を行う、所謂行並列型局所演算におけるデータ
の格納には、これまで主として線形な番地をもつ有限長
のメモリを用いることが考えられている。しかし、この
ようなメモリを用いて行並列型局所演算をプログラムで
実行しようとすると、メモリ中の原データおよび中間結
果の格納場所を順次変更(移動)させる必要があり、そ
のための有効な方法の1つとしてはメモリ中の原データ
および中間結果の格納場所の原点(ベースポンインタ)
を移動することであるが、この方法では原データおよび
中間結果に対するアクセスは常にベースポンインタを経
由して行わなければならず、ベースポンインタの内容を
変える操作と、ベースポンインタで指定されるメモリの
内容を読み取る操作とでメモリを2回アクセスする必要
が生じ、また、メモリの境界でのポインタの操作のため
の処理のオーバーヘッドも生じ処理時間がかかってしま
うという問題があった。
の画素数と同じ個数の演算素子を用意して画素単位での
並列処理を行う、所謂行並列型局所演算におけるデータ
の格納には、これまで主として線形な番地をもつ有限長
のメモリを用いることが考えられている。しかし、この
ようなメモリを用いて行並列型局所演算をプログラムで
実行しようとすると、メモリ中の原データおよび中間結
果の格納場所を順次変更(移動)させる必要があり、そ
のための有効な方法の1つとしてはメモリ中の原データ
および中間結果の格納場所の原点(ベースポンインタ)
を移動することであるが、この方法では原データおよび
中間結果に対するアクセスは常にベースポンインタを経
由して行わなければならず、ベースポンインタの内容を
変える操作と、ベースポンインタで指定されるメモリの
内容を読み取る操作とでメモリを2回アクセスする必要
が生じ、また、メモリの境界でのポインタの操作のため
の処理のオーバーヘッドも生じ処理時間がかかってしま
うという問題があった。
【0009】本発明は上記課題を解決するためのもの
で、メモリアクセスをハードウェア構成で実現すること
により、フィルタリング処理時間を大幅に短縮すること
が可能な超高速画像処理システムのフィルタリング処理
方式を提供することを目的とする。
で、メモリアクセスをハードウェア構成で実現すること
により、フィルタリング処理時間を大幅に短縮すること
が可能な超高速画像処理システムのフィルタリング処理
方式を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明は、1行分の画像
データの全部または一部をラスタースキャン順に取り込
む複数の入力要素からなる入力ユニットと、各入力要素
からの画像データが同時に転送され、画素単位で並列的
に画像処理演算を行う複数の処理要素からなる処理ユニ
ットと、各処理要素からの処理データが同時に転送され
る複数の出力要素からなる出力ユニットと、入力ユニッ
ト、処理ユニット、出力ユニットを制御するコントロー
ラとを備え、順次各行毎に画素単位で並列的に画像処理
を行う超高速画像処理システムにおいて、各処理要素は
処理を受け持つ列のデータを必要個数分記憶可能なメモ
リ容量を持ち、終端アドレスが先頭アドレスに繋がるエ
ンドレス型メモリと、前記コントローラからの指令によ
り行改毎に1づつ内容が変更され、終端アドレスの次に
先頭アドレスが書き込まれるベースポインタと、行改毎
にベースポインタの内容が書き込まれるとともに、エン
ドレス型メモリからのデータ読み出し毎に内容を1づつ
変更して該メモリのアドレス指定を行うリファレンスポ
インタとを有し、リファレンスポインタによりフィルタ
のマスクサイズに対応したエンドレス型メモリの領域を
順次アクセスするようにしたことを特徴とする。
データの全部または一部をラスタースキャン順に取り込
む複数の入力要素からなる入力ユニットと、各入力要素
からの画像データが同時に転送され、画素単位で並列的
に画像処理演算を行う複数の処理要素からなる処理ユニ
ットと、各処理要素からの処理データが同時に転送され
る複数の出力要素からなる出力ユニットと、入力ユニッ
ト、処理ユニット、出力ユニットを制御するコントロー
ラとを備え、順次各行毎に画素単位で並列的に画像処理
を行う超高速画像処理システムにおいて、各処理要素は
処理を受け持つ列のデータを必要個数分記憶可能なメモ
リ容量を持ち、終端アドレスが先頭アドレスに繋がるエ
ンドレス型メモリと、前記コントローラからの指令によ
り行改毎に1づつ内容が変更され、終端アドレスの次に
先頭アドレスが書き込まれるベースポインタと、行改毎
にベースポインタの内容が書き込まれるとともに、エン
ドレス型メモリからのデータ読み出し毎に内容を1づつ
変更して該メモリのアドレス指定を行うリファレンスポ
インタとを有し、リファレンスポインタによりフィルタ
のマスクサイズに対応したエンドレス型メモリの領域を
順次アクセスするようにしたことを特徴とする。
【0011】
【作用】本発明は画像1行中の画素数と同じかそれ以下
の個数の演算素子を用意して画素単位での並列処理を行
う行並列型局所演算による画像処理システムにおいて、
終端アドレスが先頭アドレスに繋がり、処理を受け持つ
列のデータを必要個数分記憶可能な有限長のエンドレス
型のメモリ(以下ではスリットメモリと言う)のアドレ
スをベースポインタとリファレンスポインタで行い、ベ
ースポインタは処理すべき行が変わる毎に外部コントロ
ーラより内容が1づつ変更されて終端アドレスの次には
先頭アドレス0にリセットされ、同時にベースポインタ
の内容がリファレンスポインタに書き込まれ、リファレ
ンスポインタでスリットメモリのアドレス指定を行うと
同時にリファレンスポインタの内容を1変更し、リファ
レンスポインタによりフィルタのマスクサイズに対応し
たスリットメモリの領域を順次アクセスすることによ
り、各処理要素は現在どこの行を処理しているか意識せ
ず、超高速での処理を行うことが可能となる。
の個数の演算素子を用意して画素単位での並列処理を行
う行並列型局所演算による画像処理システムにおいて、
終端アドレスが先頭アドレスに繋がり、処理を受け持つ
列のデータを必要個数分記憶可能な有限長のエンドレス
型のメモリ(以下ではスリットメモリと言う)のアドレ
スをベースポインタとリファレンスポインタで行い、ベ
ースポインタは処理すべき行が変わる毎に外部コントロ
ーラより内容が1づつ変更されて終端アドレスの次には
先頭アドレス0にリセットされ、同時にベースポインタ
の内容がリファレンスポインタに書き込まれ、リファレ
ンスポインタでスリットメモリのアドレス指定を行うと
同時にリファレンスポインタの内容を1変更し、リファ
レンスポインタによりフィルタのマスクサイズに対応し
たスリットメモリの領域を順次アクセスすることによ
り、各処理要素は現在どこの行を処理しているか意識せ
ず、超高速での処理を行うことが可能となる。
【0012】
【実施例】図1は本発明におけるメモリアクセスを説明
するための図、図2は本発明の画像処理システムのハー
ドウェア構成を示す図、図3は各画像処理要素を示す図
である。図中、1はベースポインタ、2はリファレンス
ポインタ、3は加減算器、4はスリットメモリ、10は
入力ユニット(LIU)、10−1〜10−nはラッチ
回路(IE)、20は処理ユニット(LPU)、20−
1〜20−nは処理要素(PE)、30は出力ユニット
(LOU)、30−1〜30−nはラッチ回路(O
E)、40はホストコンピュータ、50は外部コントロ
ーラ、21−iはセレクタ、22−iは算術論理ユニッ
ト(ALU)、23−iはレジスタファイル、24−i
はフラグレジスタ、25−iは通信コントローラ、26
−iはバスである。
するための図、図2は本発明の画像処理システムのハー
ドウェア構成を示す図、図3は各画像処理要素を示す図
である。図中、1はベースポインタ、2はリファレンス
ポインタ、3は加減算器、4はスリットメモリ、10は
入力ユニット(LIU)、10−1〜10−nはラッチ
回路(IE)、20は処理ユニット(LPU)、20−
1〜20−nは処理要素(PE)、30は出力ユニット
(LOU)、30−1〜30−nはラッチ回路(O
E)、40はホストコンピュータ、50は外部コントロ
ーラ、21−iはセレクタ、22−iは算術論理ユニッ
ト(ALU)、23−iはレジスタファイル、24−i
はフラグレジスタ、25−iは通信コントローラ、26
−iはバスである。
【0013】まず、本発明の超高速画像処理システムR
IPEを図2、図3により説明する。
IPEを図2、図3により説明する。
【0014】本発明のRIPEでは、65536階調
(16ビット)の濃淡画像データに対する各行の処理
を、入力−演算−出力の3つのステージに分割し、パイ
プライン的に処理することにより画像データの入出力と
演算処理を平行して行うものであり、演算ステージでは
画像1行中の画素数と同じ個数のPE(Process
ig Element)を用い、外部コントローラより
各PEに対して同一の命令を1つづつ与え、それぞれの
画像データに対して同一の処理を行うSIMD(Sin
gle Instruction stream Mu
ltiple Data stream)型の並列処理
が行われるため、画像データの処理が1行分同時に行わ
れる。
(16ビット)の濃淡画像データに対する各行の処理
を、入力−演算−出力の3つのステージに分割し、パイ
プライン的に処理することにより画像データの入出力と
演算処理を平行して行うものであり、演算ステージでは
画像1行中の画素数と同じ個数のPE(Process
ig Element)を用い、外部コントローラより
各PEに対して同一の命令を1つづつ与え、それぞれの
画像データに対して同一の処理を行うSIMD(Sin
gle Instruction stream Mu
ltiple Data stream)型の並列処理
が行われるため、画像データの処理が1行分同時に行わ
れる。
【0015】本発明のRIPEのハードウェア構成は図
2に示すようなものであり、このシステムはホストシス
テムのバックエンドプロセッサとして動作し、外部コン
トローラ50、入力ユニット10、演算ユニット20、
出力ユニット30からなっている。外部コントローラ5
0はホストコンピュータ40との同期をとりながら、入
力ユニット10、演算ユニット20、出力ユニット30
の制御を行い、ユーザーが作成した処理プログラムを格
納するRAMと、予め基本的な処理のプログラムが格納
されているROMを持ち、ホストコンピュータ40から
の指示にしたがってRAMまたはROMに記憶された命
令を1ステップづつ順次各演算ユニット20に送ってお
り、各演算ユニットは命令されたことだけを実行する処
理機械として機能する。なお、ユーザーが作成した処理
プログラムは処理に先立ち、あらかじめホストコンピュ
ータ40からコントローラ50のRAMにダウンロード
される。
2に示すようなものであり、このシステムはホストシス
テムのバックエンドプロセッサとして動作し、外部コン
トローラ50、入力ユニット10、演算ユニット20、
出力ユニット30からなっている。外部コントローラ5
0はホストコンピュータ40との同期をとりながら、入
力ユニット10、演算ユニット20、出力ユニット30
の制御を行い、ユーザーが作成した処理プログラムを格
納するRAMと、予め基本的な処理のプログラムが格納
されているROMを持ち、ホストコンピュータ40から
の指示にしたがってRAMまたはROMに記憶された命
令を1ステップづつ順次各演算ユニット20に送ってお
り、各演算ユニットは命令されたことだけを実行する処
理機械として機能する。なお、ユーザーが作成した処理
プログラムは処理に先立ち、あらかじめホストコンピュ
ータ40からコントローラ50のRAMにダウンロード
される。
【0016】入力ステージを受け持つLIU10は16
ビット幅のn個のラッチ回路(IE)から構成されてシ
フトレジスタとして動作し、他のメモリに記憶されてい
るイメージデータ、或いはカメラで読み込んだイメージ
データがラスタースキャン順に入力され、その画素デー
タを順次シフトし、画像1行分の画素データが揃った時
点で1行分の画素データを同時にLPU20の各PE2
0−1〜20−nに同時並列的に転送する。
ビット幅のn個のラッチ回路(IE)から構成されてシ
フトレジスタとして動作し、他のメモリに記憶されてい
るイメージデータ、或いはカメラで読み込んだイメージ
データがラスタースキャン順に入力され、その画素デー
タを順次シフトし、画像1行分の画素データが揃った時
点で1行分の画素データを同時にLPU20の各PE2
0−1〜20−nに同時並列的に転送する。
【0017】LPU20はn個のPEから構成されて演
算ステージを受け持っており、図3に示すような各モジ
ュールからなっている。図3はi番目のPE20−iを
示したものであり、ラッチ回路10−iからのデータを
順次スリットメモリ4に読み込み、このデータをバス2
6−iを通してALU22−iで演算して中間結果をレ
ジスタ23−iに格納し、また結果をセレクタ21−i
を通してラッチ回路30−iへ出力するものである。各
PEはコントローラ50からの命令を1ステップづつ受
け取って一斉に同一処理を行っており、自身のメモリに
はプログラムが格納されておらず、外部からの指令によ
って単に処理機械として動作する。
算ステージを受け持っており、図3に示すような各モジ
ュールからなっている。図3はi番目のPE20−iを
示したものであり、ラッチ回路10−iからのデータを
順次スリットメモリ4に読み込み、このデータをバス2
6−iを通してALU22−iで演算して中間結果をレ
ジスタ23−iに格納し、また結果をセレクタ21−i
を通してラッチ回路30−iへ出力するものである。各
PEはコントローラ50からの命令を1ステップづつ受
け取って一斉に同一処理を行っており、自身のメモリに
はプログラムが格納されておらず、外部からの指令によ
って単に処理機械として動作する。
【0018】スリットメモリ4は、図1に示すようにk
ビット幅のアドレス空間を有し、先頭アドレスと後端ア
ドレスとが繋がった有限長(2k )のエンドレスタイプ
のメモリで、フィルタリング処理に必要なデータを格納
するためのものである。すなわち、画像データに対する
局所処理では1つの画素の出力値を決定するために、そ
の画素の近傍の画素データも必要となり、この場合全て
のPEが各自必要なデータを内部に持つこととすると、
システム全体ではデータが重複し不経済である。そこ
で、各PE内でのスリットメモリにそのPEが処理を受
け持っている列のデータを必要な個数分、すなわちマス
クの縦の画素の個数分だけ記憶させることにし、残りの
近傍データは他のPE内のスリットメモリに保持されて
いるので、隣接するPE間で通信コントローラ25−i
を通してデータ転送を行うことによって得るようにす
る。本実施例では各スリットメモリは16ビット幅の6
4個のセルからなり、列方向の長さが64以下のマスク
を用いた空間並列処理が実現できる。
ビット幅のアドレス空間を有し、先頭アドレスと後端ア
ドレスとが繋がった有限長(2k )のエンドレスタイプ
のメモリで、フィルタリング処理に必要なデータを格納
するためのものである。すなわち、画像データに対する
局所処理では1つの画素の出力値を決定するために、そ
の画素の近傍の画素データも必要となり、この場合全て
のPEが各自必要なデータを内部に持つこととすると、
システム全体ではデータが重複し不経済である。そこ
で、各PE内でのスリットメモリにそのPEが処理を受
け持っている列のデータを必要な個数分、すなわちマス
クの縦の画素の個数分だけ記憶させることにし、残りの
近傍データは他のPE内のスリットメモリに保持されて
いるので、隣接するPE間で通信コントローラ25−i
を通してデータ転送を行うことによって得るようにす
る。本実施例では各スリットメモリは16ビット幅の6
4個のセルからなり、列方向の長さが64以下のマスク
を用いた空間並列処理が実現できる。
【0019】ALU22−iは各画素に対して16ビッ
ト幅の算術論理演算処理を行うものである。処理内容は
どのようなフィルタ処理を行うかにより異なるが、AL
U22−iは外部コントローラから1つづつ与えられる
命令を実行する。
ト幅の算術論理演算処理を行うものである。処理内容は
どのようなフィルタ処理を行うかにより異なるが、AL
U22−iは外部コントローラから1つづつ与えられる
命令を実行する。
【0020】レジスタファイル23−iは中間結果等の
データを格納するレジスタが割付けられたファイルで、
16個の16ビット幅のGR(General Reg
ister),通信コントローラ25−iを通して隣接
するPE間で転送されるデータを格納する通信用レジス
タCR(Communication Registe
r)等からなり、またフラグレジスタ24−iは符合、
零、オーバーフロー、キャリー等のフラグの内容を格納
するためのものである。
データを格納するレジスタが割付けられたファイルで、
16個の16ビット幅のGR(General Reg
ister),通信コントローラ25−iを通して隣接
するPE間で転送されるデータを格納する通信用レジス
タCR(Communication Registe
r)等からなり、またフラグレジスタ24−iは符合、
零、オーバーフロー、キャリー等のフラグの内容を格納
するためのものである。
【0021】セレクタ21−iは局所処理を行う場合、
画像の外周部では近傍のデータが完全には得られないた
め計算結果は無効となり、従来の画像処理アルゴリズム
では、通常強制的に出力値を0にしたり、処理内容に応
じて適切な定数または近傍の値等を設定するようにして
いるが、この画像外周部の出力値を定数にするか、無効
ではあるが計算値にするかいずれかを設定できるように
し、この機能を行っている。
画像の外周部では近傍のデータが完全には得られないた
め計算結果は無効となり、従来の画像処理アルゴリズム
では、通常強制的に出力値を0にしたり、処理内容に応
じて適切な定数または近傍の値等を設定するようにして
いるが、この画像外周部の出力値を定数にするか、無効
ではあるが計算値にするかいずれかを設定できるように
し、この機能を行っている。
【0022】こうして各PEはスリットメモリ4に読み
込まれた必要なデータを順次読み出すと共に、隣接する
処理ユニットからのデータを通信コントローラを通して
受け取り、フィルタリング処理を行いラッチ回路に出力
している。
込まれた必要なデータを順次読み出すと共に、隣接する
処理ユニットからのデータを通信コントローラを通して
受け取り、フィルタリング処理を行いラッチ回路に出力
している。
【0023】図2のLOU30は16ビット幅のn個の
ラッチ回路からなり、出力ステージを受持ち、LPU2
0で演算されたデータは1行分同時にLOU30に転送
され、その後順次シフトされることによって1画素づつ
ラスタースキャン順に出力される。
ラッチ回路からなり、出力ステージを受持ち、LPU2
0で演算されたデータは1行分同時にLOU30に転送
され、その後順次シフトされることによって1画素づつ
ラスタースキャン順に出力される。
【0024】このようなRIPEシステムにおいて、図
4に示すような局所平均化フィルタを例にとって説明す
ると、マスクの中心を(i,j)とする時、各画素の列
方向のデータはそれぞれのPE内に保持しているので、
PE20−jでは、j列の加算、即ち++を行
い、次にj−1列を受けもつPE20−(j−1)での
(j−1)列の加算結果(++)を受け取ってj
例の加算結果に加え、次に(j+1)列を受けもつPE
20−(j+1)での(j+1)列の加算結果(+
+)を受け取ってj例と(j−1)列の加算結果に加
算し、最後に9で除算することにより局所平均化処理が
行われる。
4に示すような局所平均化フィルタを例にとって説明す
ると、マスクの中心を(i,j)とする時、各画素の列
方向のデータはそれぞれのPE内に保持しているので、
PE20−jでは、j列の加算、即ち++を行
い、次にj−1列を受けもつPE20−(j−1)での
(j−1)列の加算結果(++)を受け取ってj
例の加算結果に加え、次に(j+1)列を受けもつPE
20−(j+1)での(j+1)列の加算結果(+
+)を受け取ってj例と(j−1)列の加算結果に加
算し、最後に9で除算することにより局所平均化処理が
行われる。
【0025】この場合、例えばマスクの大きさが5×5
であるとすると、図5に示すように、2つ隣の列のデー
タは2回転送する必要がある。すなわち、2つ離れたP
Eからのデータをもらうには本来2回の転送が必要であ
るが、互いに1つ隣りの列へデータ転送すれば、例えば
(j−2)列、(j+2)列のデータは隣の(j−1)
列、(j+1)列に転送されて保持されているので、隣
の(j−1)列、(j+1)列からその列のデータと同
様に(j−2)列、(j+2)列のデータを受け取るこ
とができ、したがって全てのPEは互いに1つ隣りの列
のPEへデータ転送するだけで必要なデータを獲得する
ことができる。
であるとすると、図5に示すように、2つ隣の列のデー
タは2回転送する必要がある。すなわち、2つ離れたP
Eからのデータをもらうには本来2回の転送が必要であ
るが、互いに1つ隣りの列へデータ転送すれば、例えば
(j−2)列、(j+2)列のデータは隣の(j−1)
列、(j+1)列に転送されて保持されているので、隣
の(j−1)列、(j+1)列からその列のデータと同
様に(j−2)列、(j+2)列のデータを受け取るこ
とができ、したがって全てのPEは互いに1つ隣りの列
のPEへデータ転送するだけで必要なデータを獲得する
ことができる。
【0026】このようなフィルタリング処理において、
本発明においては図1(a)に示すように、外部コント
ローラ50から行が変わる毎に順次1づつ内容が変更さ
れ、スリットメモリの終端まで到達するとクリアされる
ベースポインタ1で、フィルタ処理に必要なスリットメ
モリの基点を指定し、同時にベースポインタの内容をリ
ファレンスポインタに書き込み、リファレンスポインタ
2ではフィルタのマスクサイズに応じ、例えば5×5の
マスクであればベースポインタの内容がnであるとき
に、リファレンスポインタ2はベースポインタの値nを
基点にメモリアドレスレジスタ3にその内容を書き込む
と共に、自身の値を「+1」あるいは「−1」し、順次
この操作を行うことにより自動的にn〜n+4(または
n−4)までのアドレスを指定してデータを読み出すこ
とができる。そして、ベースポインタ1はその値が(2
k −1)に達すると、行改の時に値が0にリセットされ
て先頭アドレスに戻る。従って、スリットメモリの構造
はあたかも図1(b)に示すように、エンドレスのリン
グ状になっていることになる。このベースポインタの内
容は読みだす行が変わる毎にコントローラより1つづ更
新され、各PEは現在自身がどの行で処理しているかを
意識せず、単にフィルタリング処理を実行することにな
る。
本発明においては図1(a)に示すように、外部コント
ローラ50から行が変わる毎に順次1づつ内容が変更さ
れ、スリットメモリの終端まで到達するとクリアされる
ベースポインタ1で、フィルタ処理に必要なスリットメ
モリの基点を指定し、同時にベースポインタの内容をリ
ファレンスポインタに書き込み、リファレンスポインタ
2ではフィルタのマスクサイズに応じ、例えば5×5の
マスクであればベースポインタの内容がnであるとき
に、リファレンスポインタ2はベースポインタの値nを
基点にメモリアドレスレジスタ3にその内容を書き込む
と共に、自身の値を「+1」あるいは「−1」し、順次
この操作を行うことにより自動的にn〜n+4(または
n−4)までのアドレスを指定してデータを読み出すこ
とができる。そして、ベースポインタ1はその値が(2
k −1)に達すると、行改の時に値が0にリセットされ
て先頭アドレスに戻る。従って、スリットメモリの構造
はあたかも図1(b)に示すように、エンドレスのリン
グ状になっていることになる。このベースポインタの内
容は読みだす行が変わる毎にコントローラより1つづ更
新され、各PEは現在自身がどの行で処理しているかを
意識せず、単にフィルタリング処理を実行することにな
る。
【0027】本発明の画像処理は、図6に示すように、
カメラ63で直接読みこんだ画像データをA/D変換し
て直接RIPEシステム60に読みこむか、あるいは一
旦メモリ61に読みこんだデータを読み出してRIPE
システムに読みこむか、どちらの処理を行わても良く、
この結果をモニタ64に出力し、あるいは結果を再度メ
モリ61に書き込む等ホストコンピュータ40からの指
示により実行することができる。
カメラ63で直接読みこんだ画像データをA/D変換し
て直接RIPEシステム60に読みこむか、あるいは一
旦メモリ61に読みこんだデータを読み出してRIPE
システムに読みこむか、どちらの処理を行わても良く、
この結果をモニタ64に出力し、あるいは結果を再度メ
モリ61に書き込む等ホストコンピュータ40からの指
示により実行することができる。
【0028】なお、上記実施例ではPEが画像1行分の
画素分だけ用意されて1行分の画像処理が同時並列的に
実行される場合について説明したが、本発明はこれに限
定されるものではなく、PEが画像1行分の画素に満た
ない場合でも、順次PEを一部重ねながらずらしていく
ことによって対応可能であり、この場合にフィルタのマ
スクサイズに応じて重なり度合を適宜変更すればよい。
画素分だけ用意されて1行分の画像処理が同時並列的に
実行される場合について説明したが、本発明はこれに限
定されるものではなく、PEが画像1行分の画素に満た
ない場合でも、順次PEを一部重ねながらずらしていく
ことによって対応可能であり、この場合にフィルタのマ
スクサイズに応じて重なり度合を適宜変更すればよい。
【0029】
【発明の効果】以上のように本発明によれば、外部より
その内容を順次1づつ変更されるベースポインタとベー
スポインタで指定される値を原点とし、メモリのアドレ
ス指定をする毎にインクリメントあるいはデクリメント
されるリファレンスポインタによってスリットメモリの
内容を読み出し、ハードウェア構成によりフィルタ処理
に必要なデータの読み出しを行うようにしたので、通常
のメモリを用いたソフトウェアによる処理に比して処理
時間を数分の1以下にすることが可能となる。なお、本
発明のフィルタリング処理は局所平均化フィルタ以外に
もラプラシアンフィルタ、ガウシアン型平滑化フィル
タ、メディアンフィルタ、疑似メディアンフィルタ、適
用的平滑化フィルタ等、各種フィルタに適用することが
できる。
その内容を順次1づつ変更されるベースポインタとベー
スポインタで指定される値を原点とし、メモリのアドレ
ス指定をする毎にインクリメントあるいはデクリメント
されるリファレンスポインタによってスリットメモリの
内容を読み出し、ハードウェア構成によりフィルタ処理
に必要なデータの読み出しを行うようにしたので、通常
のメモリを用いたソフトウェアによる処理に比して処理
時間を数分の1以下にすることが可能となる。なお、本
発明のフィルタリング処理は局所平均化フィルタ以外に
もラプラシアンフィルタ、ガウシアン型平滑化フィル
タ、メディアンフィルタ、疑似メディアンフィルタ、適
用的平滑化フィルタ等、各種フィルタに適用することが
できる。
【図1】 本発明におけるメモリアクセスのハードウェ
ア構成を説明するための図である。
ア構成を説明するための図である。
【図2】 本発明の画像処理システムのハードウェア構
成を説明するための図である。
成を説明するための図である。
【図3】 各画像処理要素を示す図である。
【図4】 フィルタ処理を説明するための図である。
【図5】 フィルタ処理におけるデータ転送を説明する
ための図である。
ための図である。
【図6】 RIPEシステムを説明するための図であ
る。
る。
1…ベースポインタ、2…リファレンスポインタ、3…
加減算器、4…スリットメモリ、10…入力ユニット
(IU)、10−1〜10−n…ラッチ回路、20…処
理ユニット(PU)、20−1〜20−n…処理要素
(PE)、30…出力ユニット(OU)、30−1〜3
0−n…ラッチ回路、40…ホストコンピュータ、50
…外部コントローラ、21−i…セレクタ(Selec
tor)、22−i…算術論理ユニット(ALU)、2
3−i…レジスタファイル、24−i…フラグレジス
タ、25−i…通信コントローラ、26−i…バス。
加減算器、4…スリットメモリ、10…入力ユニット
(IU)、10−1〜10−n…ラッチ回路、20…処
理ユニット(PU)、20−1〜20−n…処理要素
(PE)、30…出力ユニット(OU)、30−1〜3
0−n…ラッチ回路、40…ホストコンピュータ、50
…外部コントローラ、21−i…セレクタ(Selec
tor)、22−i…算術論理ユニット(ALU)、2
3−i…レジスタファイル、24−i…フラグレジス
タ、25−i…通信コントローラ、26−i…バス。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06T 5/20 G06T 1/20 G06F 15/16 390
Claims (1)
- 【請求項1】 1行分の画像データの全部または一部を
ラスタースキャン順に取り込む複数の入力要素からなる
入力ユニットと、各入力要素からの画像データが同時に
転送され、画素単位で並列的に画像処理演算を行う複数
の処理要素からなる処理ユニットと、各処理要素からの
処理データが同時に転送される複数の出力要素からなる
出力ユニットと、入力ユニット、処理ユニット、出力ユ
ニットを制御するコントローラとを備え、順次各行毎に
画素単位で並列的に画像処理を行う超高速画像処理シス
テムにおいて、各処理要素は処理を受け持つ列のデータ
を必要個数分記憶可能なメモリ容量を持ち、終端アドレ
スが先頭アドレスに繋がるエンドレス型メモリと、前記
コントローラからの指令により行改毎に1づつ内容が変
更され、終端アドレスの次に先頭アドレスが書き込まれ
るベースポインタと、行改毎にベースポインタの内容が
書き込まれるとともに、前記エンドレス型メモリからの
データ読み出し毎に内容を1づつ変更して該メモリのア
ドレス指定を行うリファレンスポインタとを有し、リフ
ァレンスポインタによりフィルタのマスクサイズに対応
したエンドレス型メモリの領域を順次アクセスするよう
にしたことを特徴とする超高速画像処理システムのフィ
ルタリング処理方式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5711791A JP2862387B2 (ja) | 1991-03-20 | 1991-03-20 | 超高速画像処理システムのフィルタリング処理方式 |
US07/851,024 US5315699A (en) | 1991-03-20 | 1992-03-11 | Filtering operation method for very high-speed image processing system |
DE69225839T DE69225839T2 (de) | 1991-03-20 | 1992-03-19 | Filtersystem und Verfahren zur Bildverarbeitung mit sehr hoher Geschwindigkeit |
EP92302403A EP0518462B1 (en) | 1991-03-20 | 1992-03-19 | Filtering system and operation method for very high-speed image processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5711791A JP2862387B2 (ja) | 1991-03-20 | 1991-03-20 | 超高速画像処理システムのフィルタリング処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04291681A JPH04291681A (ja) | 1992-10-15 |
JP2862387B2 true JP2862387B2 (ja) | 1999-03-03 |
Family
ID=13046603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5711791A Expired - Fee Related JP2862387B2 (ja) | 1991-03-20 | 1991-03-20 | 超高速画像処理システムのフィルタリング処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2862387B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4682975B2 (ja) * | 2006-12-25 | 2011-05-11 | 富士ゼロックス株式会社 | 画像処理装置 |
-
1991
- 1991-03-20 JP JP5711791A patent/JP2862387B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04291681A (ja) | 1992-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5315699A (en) | Filtering operation method for very high-speed image processing system | |
JPS6053349B2 (ja) | 画像処理プロセツサ | |
AU747283B2 (en) | Data processing system for logically adjacent data samples such as image data in a machine vision system | |
JPH0740252B2 (ja) | マルチプロセツサシステム | |
US4606066A (en) | Programmable image processor | |
Olariu et al. | Fast component labelling and convex hull computation on reconfigurable meshes | |
JP2862387B2 (ja) | 超高速画像処理システムのフィルタリング処理方式 | |
JP2862388B2 (ja) | 超高速画像処理システムのフィルタリング処理方式 | |
JPH0756673B2 (ja) | 分割空間フイルタによる画像処理方法 | |
Herron et al. | A general-purpose high-speed logical transform image processor | |
JPH07334671A (ja) | 超高速画像処理システムのフィルタリング処理方式 | |
JPS6334658A (ja) | 画像処理用dmaコントロ−ラ | |
Raja et al. | An SIMD multiple DSP microprocessor system for image processing | |
JPS6247785A (ja) | 近傍画像処理装置 | |
JPH07192130A (ja) | 仮ラベル付け方法 | |
JP3441858B2 (ja) | 画像処理方法及びその装置 | |
CN117422608A (zh) | 图像引导滤波方法及系统 | |
Atiquzzaman et al. | A novel multiprocessor architecture for low-level image processing applied to road-traffic data capture and analysis | |
JP2658346B2 (ja) | 並列画像処理装置 | |
JPH06274617A (ja) | メディアンフィルタ処理方法 | |
JPS61262977A (ja) | 画像処理装置 | |
JPH0969159A (ja) | テンプレートマッチング装置 | |
JPH05101175A (ja) | デジタル2値画像の拡大・縮小処理方式 | |
JPH07104839B2 (ja) | マルチプロセツサ・システムの制御方法 | |
JPH02126372A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |