JP2862388B2 - 超高速画像処理システムのフィルタリング処理方式 - Google Patents
超高速画像処理システムのフィルタリング処理方式Info
- Publication number
- JP2862388B2 JP2862388B2 JP5711891A JP5711891A JP2862388B2 JP 2862388 B2 JP2862388 B2 JP 2862388B2 JP 5711891 A JP5711891 A JP 5711891A JP 5711891 A JP5711891 A JP 5711891A JP 2862388 B2 JP2862388 B2 JP 2862388B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- column
- data
- image
- pixel
- 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行中
の画素数と同じ個数の処理要素を用意して画素単位での
並列処理を行う、所謂行並列型局所演算におけるフィル
タリング処理は、各処理要素において自分が処理を受け
持つ列の画素データについての演算を行うとともに、他
の列の画素データを転送してもらい、そのデータにフィ
ルタの重みを乗算し、加算する等の処理を行うために各
列間の転送回数、乗算回数、加算回数が多くなり、特に
フィルタのマスクサイズが大きくなった場合にはフィル
タリング処理に時間を要してしまうという問題があっ
た。
の画素数と同じ個数の処理要素を用意して画素単位での
並列処理を行う、所謂行並列型局所演算におけるフィル
タリング処理は、各処理要素において自分が処理を受け
持つ列の画素データについての演算を行うとともに、他
の列の画素データを転送してもらい、そのデータにフィ
ルタの重みを乗算し、加算する等の処理を行うために各
列間の転送回数、乗算回数、加算回数が多くなり、特に
フィルタのマスクサイズが大きくなった場合にはフィル
タリング処理に時間を要してしまうという問題があっ
た。
【0009】本発明は上記課題を解決するためのもの
で、行並列型局所演算における乗算回数、加算回数、列
間のデータ転送回数を大幅に低減化してフィルタリング
処理時間を短縮することができる超高速画像処理システ
ムのフィルタリング処理方式を提供することを目的とす
る。
で、行並列型局所演算における乗算回数、加算回数、列
間のデータ転送回数を大幅に低減化してフィルタリング
処理時間を短縮することができる超高速画像処理システ
ムのフィルタリング処理方式を提供することを目的とす
る。
【0010】
【課題を解決するための手段】本発明は、1行分の画像
データの全部または一部をラスタースキャン順に取り込
む複数の入力要素からなる入力ユニットと、各入力要素
からの画像データが同時に転送され、画素単位で並列的
に画像処理演算を行う複数の処理要素からなる処理ユニ
ットと、各処理要素からの処理データが同時に転送され
る複数の出力要素からなる出力ユニットと、入力ユニッ
ト、処理ユニット、出力ユニットを制御するコントロー
ラとを備え、順次各行毎に画素単位で局所並列的に左右
の対称性を持つ重みを有するフィルタにより画像処理を
行う超高速画像処理システムであって、各処理要素は処
理を受け持つ列の各画素データにフィルタの中心の列の
各重みを乗算し、乗算結果を互いに加算して保持し、さ
らに処理を受け持つ列の各画素データにフィルタの中心
の列の片側の他の列の各重みを乗算し、乗算結果を互い
に加算して保持し、各処理要素は他の列の処理要素が保
持しているデータを転送により受け取ってフィルタリン
グ処理を実行することを特徴とする。
データの全部または一部をラスタースキャン順に取り込
む複数の入力要素からなる入力ユニットと、各入力要素
からの画像データが同時に転送され、画素単位で並列的
に画像処理演算を行う複数の処理要素からなる処理ユニ
ットと、各処理要素からの処理データが同時に転送され
る複数の出力要素からなる出力ユニットと、入力ユニッ
ト、処理ユニット、出力ユニットを制御するコントロー
ラとを備え、順次各行毎に画素単位で局所並列的に左右
の対称性を持つ重みを有するフィルタにより画像処理を
行う超高速画像処理システムであって、各処理要素は処
理を受け持つ列の各画素データにフィルタの中心の列の
各重みを乗算し、乗算結果を互いに加算して保持し、さ
らに処理を受け持つ列の各画素データにフィルタの中心
の列の片側の他の列の各重みを乗算し、乗算結果を互い
に加算して保持し、各処理要素は他の列の処理要素が保
持しているデータを転送により受け取ってフィルタリン
グ処理を実行することを特徴とする。
【0011】
【作用】本発明は画像1行中の画素数と同じかそれ以下
の個数の処理要素を用意して画素単位での並列処理を行
う行並列型局所演算により、左右の対称性を持つフィル
タを使用する画像処理システムにおいて、各処理要素は
処理を受け持つ列の画素データにフィルタの中心の列の
各重みを乗算して加算するとともに、処理を受け持つ列
の画素データにフィルタの中心の列より片方の側の他の
列の各重みを乗算して加算し、各処理要素は他の列の処
理要素が保持している演算結果を転送により受け取って
フィルタリング処理を実行することにより、フィルタリ
ング処理における乗算回数、加算回数、転送回数を大幅
に低減化して超高速での処理を行うことが可能となる。
の個数の処理要素を用意して画素単位での並列処理を行
う行並列型局所演算により、左右の対称性を持つフィル
タを使用する画像処理システムにおいて、各処理要素は
処理を受け持つ列の画素データにフィルタの中心の列の
各重みを乗算して加算するとともに、処理を受け持つ列
の画素データにフィルタの中心の列より片方の側の他の
列の各重みを乗算して加算し、各処理要素は他の列の処
理要素が保持している演算結果を転送により受け取って
フィルタリング処理を実行することにより、フィルタリ
ング処理における乗算回数、加算回数、転送回数を大幅
に低減化して超高速での処理を行うことが可能となる。
【0012】
【実施例】図1は本発明の演算処理を説明するための
図、図2は本発明のハードウェア構成を示す図、図3は
各画像処理要素を示す図である。図中、4はスリットメ
モリ、10は入力ユニット(LIU)、10−1〜10
−nはラッチ回路(IE)、20は処理ユニット(LP
U)、20−1〜20−nは処理要素(PE)、30は
出力ユニット(LOU)、30−1〜30−nはラッチ
回路(OE)、40はホストコンピュータ、50は外部
コントローラ、21−iはセレクタ(Selecto
r)、22−iは算術論理ユニット(ALU)、23−
iはレジスタファイル、24−iはフラグレジスタ、2
5−iは通信コントローラ、26−iはバスである。
図、図2は本発明のハードウェア構成を示す図、図3は
各画像処理要素を示す図である。図中、4はスリットメ
モリ、10は入力ユニット(LIU)、10−1〜10
−nはラッチ回路(IE)、20は処理ユニット(LP
U)、20−1〜20−nは処理要素(PE)、30は
出力ユニット(LOU)、30−1〜30−nはラッチ
回路(OE)、40はホストコンピュータ、50は外部
コントローラ、21−iはセレクタ(Selecto
r)、22−iは算術論理ユニット(ALU)、23−
iはレジスタファイル、24−iはフラグレジスタ、2
5−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個のラッチ回路から構成されてシフトレジ
スタとして動作し、他のメモリに記憶されているイメー
ジデータ、或いはカメラで読み込んだイメージデータが
ラスタースキャン順に入力され、その画素データを順次
シフトし、画像1行分の画素データが揃った時点で1行
分の画素データを同時にLPU20の各PE20−1〜
20−nに同時並列的に転送する。
ビット幅のn個のラッチ回路から構成されてシフトレジ
スタとして動作し、他のメモリに記憶されているイメー
ジデータ、或いはカメラで読み込んだイメージデータが
ラスタースキャン順に入力され、その画素データを順次
シフトし、画像1行分の画素データが揃った時点で1行
分の画素データを同時にLPU20の各PE20−1〜
20−nに同時並列的に転送する。
【0017】LPU20はn個のPEから構成されて演
算ステージを受け持っており、図3に示すような各モジ
ュールからなっている。図3はi番目のPE20−iを
示したものであり、ラッチ回路10−iからのデータを
一部切り出して記憶装置4(本発明ではスリットメモリ
と称する)に読み込み、このデータをバス26−iを通
してALU22−iで演算して中間結果をレジスタ23
−iに格納し、また結果をセレクタ21−iを通してラ
ッチ回路30−iへ出力するものである。各PEはコン
トローラ50からの命令を1ステップづつ受け取って一
斉に同一処理を行っており、自身のメモリにはプログラ
ムが格納されておらず、外部からの指令によって単に処
理機械として動作する。
算ステージを受け持っており、図3に示すような各モジ
ュールからなっている。図3はi番目のPE20−iを
示したものであり、ラッチ回路10−iからのデータを
一部切り出して記憶装置4(本発明ではスリットメモリ
と称する)に読み込み、このデータをバス26−iを通
してALU22−iで演算して中間結果をレジスタ23
−iに格納し、また結果をセレクタ21−iを通してラ
ッチ回路30−iへ出力するものである。各PEはコン
トローラ50からの命令を1ステップづつ受け取って一
斉に同一処理を行っており、自身のメモリにはプログラ
ムが格納されておらず、外部からの指令によって単に処
理機械として動作する。
【0018】スリットメモリ4は、フィルタリング処理
に必要なデータを格納するためのものである。すなわ
ち、画像データに対する局所並列処理では1つの画素の
出力値を決定するために、その画素の近傍の画素データ
も必要となり、この場合全てのPEが各自必要なデータ
を内部に持つこととすると、システム全体ではデータが
重複し不経済である。そこで、各PE内でのスリットメ
モリにそのPEが処理を受け持っている列のデータを必
要な個数分、すなわちマスクの縦の画素の個数分だけ記
憶させることにし、残りの近傍データは他のPE内のス
リットメモリに保持されているので、隣接するPE間で
通信コントローラ25−iを通してデータ転送を行うこ
とによって得るようにする。本実施例では各スリットメ
モリは16ビット幅の64個のセルからなり、列方向の
長さが64以下のマスクを用いた局所並列処理が実現で
きる。
に必要なデータを格納するためのものである。すなわ
ち、画像データに対する局所並列処理では1つの画素の
出力値を決定するために、その画素の近傍の画素データ
も必要となり、この場合全てのPEが各自必要なデータ
を内部に持つこととすると、システム全体ではデータが
重複し不経済である。そこで、各PE内でのスリットメ
モリにそのPEが処理を受け持っている列のデータを必
要な個数分、すなわちマスクの縦の画素の個数分だけ記
憶させることにし、残りの近傍データは他のPE内のス
リットメモリに保持されているので、隣接するPE間で
通信コントローラ25−iを通してデータ転送を行うこ
とによって得るようにする。本実施例では各スリットメ
モリは16ビット幅の64個のセルからなり、列方向の
長さが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システムにおいて、図
1(b)に示すような左右対称の3×3のフィルタによ
る処理を行う場合を考える。図1(a)は中心が(i,
j)である3×3の画素データであり、行われる演算は
図1(a)と図1(b)のマトリックスの要素ごとの積
で得られた次のマトリッスクの各要素の和であるとす
る。
1(b)に示すような左右対称の3×3のフィルタによ
る処理を行う場合を考える。図1(a)は中心が(i,
j)である3×3の画素データであり、行われる演算は
図1(a)と図1(b)のマトリックスの要素ごとの積
で得られた次のマトリッスクの各要素の和であるとす
る。
【0025】 この演算を行うi列の処理要素をPEiとすると、P
Eiはスリットメモリより画素データを読み出して演算
を行い、結果をレジスタに格納する。この演算は次のよ
うになる。
Eiはスリットメモリより画素データを読み出して演算
を行い、結果をレジスタに格納する。この演算は次のよ
うになる。
【0026】i列の各重みと画素データとの乗算処理
(dxij-1,exij,fxij+1) 加算処理(dxij-1+exij+fxij+1) (i−1)列の画素データの転送処理(xi-1j-1,x
i-1j,xi-1j+1) (i−1)列の画素データと重みの乗算及び乗算結果
の加算処理(axi-1j-1+bxi-1j+cxi-1j+1) 加算処理(+) (i+1)列の画素データの転送処理(xi+1j-1,x
i+1j,xi+1j+1) (i+1)列の画素データと重みの乗算及び乗算結果
の加算処理(axi+1j-1+bxi+1j+cxi+1j+1) 加算処理(+) この演算における乗算回数は3×3=9回、加算回数は
8回、転送回数は6回であり、M×Mのマスクサイズの
場合には、それぞれ乗算回数M2 回、加算回数M2 −1
回、転送回数M(M−1)回となり、Mが大きくなると
多くの処理時間を要してしまうことになる。
(dxij-1,exij,fxij+1) 加算処理(dxij-1+exij+fxij+1) (i−1)列の画素データの転送処理(xi-1j-1,x
i-1j,xi-1j+1) (i−1)列の画素データと重みの乗算及び乗算結果
の加算処理(axi-1j-1+bxi-1j+cxi-1j+1) 加算処理(+) (i+1)列の画素データの転送処理(xi+1j-1,x
i+1j,xi+1j+1) (i+1)列の画素データと重みの乗算及び乗算結果
の加算処理(axi+1j-1+bxi+1j+cxi+1j+1) 加算処理(+) この演算における乗算回数は3×3=9回、加算回数は
8回、転送回数は6回であり、M×Mのマスクサイズの
場合には、それぞれ乗算回数M2 回、加算回数M2 −1
回、転送回数M(M−1)回となり、Mが大きくなると
多くの処理時間を要してしまうことになる。
【0027】そこで、本発明ではフィルタの重みが左右
対称であることを利用し、各PEiでの処理負担を軽減
化することを考える。
対称であることを利用し、各PEiでの処理負担を軽減
化することを考える。
【0028】図1(c)に示すように処理要素PEi−
1は、自身が処理を受け持つ列の画素データをスリット
メモリより読み出し、重みd,e,fをそれぞれ乗算し
て互いに加算するとともに、同じ列の画素データに対し
て重みa,b,cを乗算して同様に加算し、 dxi-1j-1+exi-1j+fxi-1j+1 axi-1j-1+bxi-1j+cxi-1j+1 の計算結果をそれぞれレジスタに格納する。
1は、自身が処理を受け持つ列の画素データをスリット
メモリより読み出し、重みd,e,fをそれぞれ乗算し
て互いに加算するとともに、同じ列の画素データに対し
て重みa,b,cを乗算して同様に加算し、 dxi-1j-1+exi-1j+fxi-1j+1 axi-1j-1+bxi-1j+cxi-1j+1 の計算結果をそれぞれレジスタに格納する。
【0029】処理要素PEiは処理を受け持つ列の画素
データをスリットメモリより読み出し、重みd,e,f
を乗算して加算するとともに、同じ列の画素データに対
して重みa,b,cを乗算して加算し、 dxij-1+exij+fxij+1 axij-1+bxij+cxij+1 の計算結果をレジスタに格納する。
データをスリットメモリより読み出し、重みd,e,f
を乗算して加算するとともに、同じ列の画素データに対
して重みa,b,cを乗算して加算し、 dxij-1+exij+fxij+1 axij-1+bxij+cxij+1 の計算結果をレジスタに格納する。
【0030】処理要素PEi+1は処理を受け持つ列の
画素データをスリットメモリより読み出し、重みd,
e,fを乗算して加算するとともに、同じ列の画素デー
タに対して重みa,b,cを乗算して加算し、 dxi+1j-1+exi+1j+fxi+1j+1 axi+1j-1+bxi+1j+cxi+1j+1 の計算結果をレジスタに格納する。
画素データをスリットメモリより読み出し、重みd,
e,fを乗算して加算するとともに、同じ列の画素デー
タに対して重みa,b,cを乗算して加算し、 dxi+1j-1+exi+1j+fxi+1j+1 axi+1j-1+bxi+1j+cxi+1j+1 の計算結果をレジスタに格納する。
【0031】このように、各列の処理要素は自身が受け
持つ列の各画素データに対してフィルタの中心の列の各
重みを乗ずるとともに、フィルタの中心の列の片方の側
の列の重みも乗算して各々加算する。そして、各処理要
素での演算においては、隣接する列から、その列の画素
データに対して重みa,b,cを乗算した結果のデータ
を転送してもらって演算処理する。例えば、図1(c)
の処理要素PEiでは図の矢印で示すように隣接するP
Ei−1から axi-1j-1+bxi-1j+cxi-1j+1 の計算結果を受け取り、また隣接するPEi+1から axij-1+bxij+cxij+1 の計算結果を受け取ることにより、フィルタリング処理
の演算を行うことができる。この結果、処理要素PEi
で行う乗算回数は6回、加算回数は6回、転送回数は2
回と低減化することができる。この方式をより大きいマ
スクサイズに適用する場合には、フィルタの中心の列で
ない列の数が増えるだけで、これらの列の各重みを処理
を受け持つ列のデータに乗算すればよい。この方式をM
×Mのマスクサイズに適用した場合には、それぞれ乗算
回数はM(M+1)/2回、加算回数は(M−1)(M
+3)/2回、転送回数は(M2 −1)/4回となり、
処理時間を短縮することができる。
持つ列の各画素データに対してフィルタの中心の列の各
重みを乗ずるとともに、フィルタの中心の列の片方の側
の列の重みも乗算して各々加算する。そして、各処理要
素での演算においては、隣接する列から、その列の画素
データに対して重みa,b,cを乗算した結果のデータ
を転送してもらって演算処理する。例えば、図1(c)
の処理要素PEiでは図の矢印で示すように隣接するP
Ei−1から axi-1j-1+bxi-1j+cxi-1j+1 の計算結果を受け取り、また隣接するPEi+1から axij-1+bxij+cxij+1 の計算結果を受け取ることにより、フィルタリング処理
の演算を行うことができる。この結果、処理要素PEi
で行う乗算回数は6回、加算回数は6回、転送回数は2
回と低減化することができる。この方式をより大きいマ
スクサイズに適用する場合には、フィルタの中心の列で
ない列の数が増えるだけで、これらの列の各重みを処理
を受け持つ列のデータに乗算すればよい。この方式をM
×Mのマスクサイズに適用した場合には、それぞれ乗算
回数はM(M+1)/2回、加算回数は(M−1)(M
+3)/2回、転送回数は(M2 −1)/4回となり、
処理時間を短縮することができる。
【0032】次に、左右対称の特殊な例であるラプラシ
アンフィルタの場合、例えば、 のような重みを持つラプラシアンフィルタの場合には、
右辺の重みの−1,2,−1を−2倍すれば中心の重み
を求めることができるので、各処理要素PEはそれ自身
が処理を受け持つ列の各画素データに対しては−1,
2,−1の重みを乗算して加算し、自分自身は得られた
和を−2倍して用い、隣の列へ加算の結果をそのまま渡
せばよいことになり、乗算回数、加算回数をさらに減ら
すことができ、M×Mのマスクサイズの場合にはM2 の
乗算回数を(M+1)回に、M2 −1の加算回数を2
(M−1)回に、M(M−1)回の転送回数を4M/3
−2回にそれぞれ低減化することが可能である。
アンフィルタの場合、例えば、 のような重みを持つラプラシアンフィルタの場合には、
右辺の重みの−1,2,−1を−2倍すれば中心の重み
を求めることができるので、各処理要素PEはそれ自身
が処理を受け持つ列の各画素データに対しては−1,
2,−1の重みを乗算して加算し、自分自身は得られた
和を−2倍して用い、隣の列へ加算の結果をそのまま渡
せばよいことになり、乗算回数、加算回数をさらに減ら
すことができ、M×Mのマスクサイズの場合にはM2 の
乗算回数を(M+1)回に、M2 −1の加算回数を2
(M−1)回に、M(M−1)回の転送回数を4M/3
−2回にそれぞれ低減化することが可能である。
【0033】さらに、図1(b)のマスクの重みが全て
同じであり、例えば のように一様な場合には、列方向は前述した方法を適用
し、行方向については、1行ずらしたとき2行分は前回
のデータがそのまま使用できるので、これによりさらに
演算の省略ができ、M×Mのマスクサイズの場合では、
(M2 −1)回の加算回数を2(M−1)回に、M(M
−1)回の転送回数を(M−1)回にそれぞれ低減化す
ることができ、転送回数M(M−1)回となる。
同じであり、例えば のように一様な場合には、列方向は前述した方法を適用
し、行方向については、1行ずらしたとき2行分は前回
のデータがそのまま使用できるので、これによりさらに
演算の省略ができ、M×Mのマスクサイズの場合では、
(M2 −1)回の加算回数を2(M−1)回に、M(M
−1)回の転送回数を(M−1)回にそれぞれ低減化す
ることができ、転送回数M(M−1)回となる。
【0034】図4は局所平均化、疑似メディアン、局所
最大値フィルタについて本発明を適用した場合のマスク
サイズとフィルタリング処理時間との関係を示したもの
である。
最大値フィルタについて本発明を適用した場合のマスク
サイズとフィルタリング処理時間との関係を示したもの
である。
【0035】特性A,B,Cは従来法によるもの、D,
E,Fは本発明によるものであり、例えば局所最大値フ
ィルタの場合にはマスクサイズ63×63の場合、従来
法における内部処理時間が837.35msであるのに
対して、本発明における処理時間は7.68msとな
り、約1%にまで短縮され、超高速処理に好適であるこ
とがわかる。
E,Fは本発明によるものであり、例えば局所最大値フ
ィルタの場合にはマスクサイズ63×63の場合、従来
法における内部処理時間が837.35msであるのに
対して、本発明における処理時間は7.68msとな
り、約1%にまで短縮され、超高速処理に好適であるこ
とがわかる。
【0036】なお、本発明の画像処理は、図5に示すよ
うに、カメラ63で直接読み込んだ画像データをA/D
変換して直接RIPEシステム60に読み込むか、ある
いは一旦メモリ61に読み込んだデータを読み出してR
IPEシステムに読み込むか、どちらの処理を行っても
良く、この結果をモニタ64に出力し、あるいは結果を
再度メモリ61に書き込む等ホストコンピュータ40か
らの指示により実行することができる。
うに、カメラ63で直接読み込んだ画像データをA/D
変換して直接RIPEシステム60に読み込むか、ある
いは一旦メモリ61に読み込んだデータを読み出してR
IPEシステムに読み込むか、どちらの処理を行っても
良く、この結果をモニタ64に出力し、あるいは結果を
再度メモリ61に書き込む等ホストコンピュータ40か
らの指示により実行することができる。
【0037】また、上記実施例ではPEが画像1行分の
画素分だけ用意されて1行分の画像処理が同時並列的に
実行される場合について説明したが、本発明はこれに限
定されるものではなく、PEが画像1行分の画素に満た
ない場合でも、順次PEを一部重ねながらずらしていく
ことによって対応可能であり、この場合にフィルタのマ
スクサイズに応じて重なり度合を適宜変更すればよい。
画素分だけ用意されて1行分の画像処理が同時並列的に
実行される場合について説明したが、本発明はこれに限
定されるものではなく、PEが画像1行分の画素に満た
ない場合でも、順次PEを一部重ねながらずらしていく
ことによって対応可能であり、この場合にフィルタのマ
スクサイズに応じて重なり度合を適宜変更すればよい。
【0038】
【発明の効果】以上のように本発明によれば、各列に対
応する処理要素は自身が受け持つ列の画素データに対し
てフィルタの中心の列の各重みを乗算して互いに加算す
る演算を行うとともに、自身が受け持つ列の画素データ
に対してフィルタの中心の列の片方の側の列の各重みを
乗算して互いに加算する演算を行い、演算結果を各列の
処理要素で互いに転送して利用することにより、乗算回
数、加算回数、転送回数を低減化してフィルタリング処
理時間を大幅に短縮することが可能となる。
応する処理要素は自身が受け持つ列の画素データに対し
てフィルタの中心の列の各重みを乗算して互いに加算す
る演算を行うとともに、自身が受け持つ列の画素データ
に対してフィルタの中心の列の片方の側の列の各重みを
乗算して互いに加算する演算を行い、演算結果を各列の
処理要素で互いに転送して利用することにより、乗算回
数、加算回数、転送回数を低減化してフィルタリング処
理時間を大幅に短縮することが可能となる。
【図1】 本発明におけるフィルタリング処理を説明す
るための図である。
るための図である。
【図2】 本発明におけるメモリアクセスのハードウエ
ア構成を説明するための図である。
ア構成を説明するための図である。
【図3】 各画像処理要素を示す図である。
【図4】 マスクサイズと実行時間との関係を説明する
図である。
図である。
【図5】 RIPEシステムを説明するための図であ
る。
る。
4…スリットメモリ、10…入力ユニット(LIU)、
10−1〜10−n…ラッチ回路、20…処理ユニット
(LPU)、20−1〜20−n…処理要素(PE)、
30…出力ユニット(LOU)、30−1〜30−n…
ラッチ回路、40…ホストコンピュータ、50…外部コ
ントローラ、21−i…セレクタ(Selecto
r)、22−i…算術論理ユニット(ALU)、23−
i…レジスタファイル、24−i…フラグレジスタ、2
5−i…通信コントローラ、26−i…バス。
10−1〜10−n…ラッチ回路、20…処理ユニット
(LPU)、20−1〜20−n…処理要素(PE)、
30…出力ユニット(LOU)、30−1〜30−n…
ラッチ回路、40…ホストコンピュータ、50…外部コ
ントローラ、21−i…セレクタ(Selecto
r)、22−i…算術論理ユニット(ALU)、23−
i…レジスタファイル、24−i…フラグレジスタ、2
5−i…通信コントローラ、26−i…バス。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−118885(JP,A) 特開 昭58−217072(JP,A) 特開 平2−25987(JP,A) 特開 平2−300981(JP,A) 特開 昭63−24469(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06T 5/20 G06F 15/16 390 G06T 1/20
Claims (1)
- 【請求項1】 1行分の画像データの全部または一部を
ラスタースキャン順に取り込む複数の入力要素からなる
入力ユニットと、各入力要素からの画像データが同時に
転送され、画素単位で並列的に画像処理演算を行う複数
の処理要素からなる処理ユニットと、各処理要素からの
処理データが同時に転送される複数の出力要素からなる
出力ユニットと、入力ユニット、処理ユニット、出力ユ
ニットを制御するコントローラとを備え、順次各行毎に
画素単位で並列的に左右の対称性を持つ重みを有するフ
ィルタにより画像処理を行う超高速画像処理システムで
あって、各処理要素は処理を受け持つ列の各画素データ
にフィルタの中心の列の各重みを乗算し、乗算結果を互
いに加算して保持し、さらに処理を受け持つ列の各画素
データにフィルタの中心の列の片側の他の列の各重みを
乗算し、乗算結果を互いに加算して保持し、各処理要素
は他の列の処理要素が保持しているデータを転送により
受け取ってフィルタリング処理を実行することを特徴と
する超高速画像処理システムのフィルタリング処理方
式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5711891A JP2862388B2 (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 |
---|---|---|---|
JP5711891A JP2862388B2 (ja) | 1991-03-20 | 1991-03-20 | 超高速画像処理システムのフィルタリング処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04291682A JPH04291682A (ja) | 1992-10-15 |
JP2862388B2 true JP2862388B2 (ja) | 1999-03-03 |
Family
ID=13046631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5711891A Expired - Fee Related JP2862388B2 (ja) | 1991-03-20 | 1991-03-20 | 超高速画像処理システムのフィルタリング処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2862388B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7400781B2 (en) | 2002-12-17 | 2008-07-15 | Nec Corporation | Symmetric type image filter processing apparatus and program and method therefor |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4947983B2 (ja) * | 2006-01-31 | 2012-06-06 | キヤノン株式会社 | 演算処理システム |
-
1991
- 1991-03-20 JP JP5711891A patent/JP2862388B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7400781B2 (en) | 2002-12-17 | 2008-07-15 | Nec Corporation | Symmetric type image filter processing apparatus and program and method therefor |
Also Published As
Publication number | Publication date |
---|---|
JPH04291682A (ja) | 1992-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5315699A (en) | Filtering operation method for very high-speed image processing system | |
JPS6053349B2 (ja) | 画像処理プロセツサ | |
US5651121A (en) | Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand | |
DE69624578T2 (de) | Multiplixier-addierungsvorrichtung für gepackte daten | |
JP6532334B2 (ja) | 並列演算装置、画像処理装置及び並列演算方法 | |
JPH1091780A (ja) | 畳み込み装置および畳み込みを実行する方法 | |
JPS6326912B2 (ja) | ||
US4736440A (en) | Process for the processing of digitized signals representing an original image | |
Fountain et al. | Clip 4 parallel processing system | |
JP2862388B2 (ja) | 超高速画像処理システムのフィルタリング処理方式 | |
JP7251354B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
Olariu et al. | Fast component labelling and convex hull computation on reconfigurable meshes | |
JP2862387B2 (ja) | 超高速画像処理システムのフィルタリング処理方式 | |
JPH0756673B2 (ja) | 分割空間フイルタによる画像処理方法 | |
JPH07334671A (ja) | 超高速画像処理システムのフィルタリング処理方式 | |
JP3441858B2 (ja) | 画像処理方法及びその装置 | |
Kim et al. | Novel approach for high-speed convolution | |
JPS6319911B2 (ja) | ||
JP3817130B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した記録媒体 | |
US20240095304A1 (en) | Flexible matrix processing | |
US4987557A (en) | System for calculation of sum of products by repetitive input of data | |
JPS6379180A (ja) | 並列画像処理用lsi | |
JP2889244B2 (ja) | 画像処理装置 | |
JPH11149554A (ja) | 3x3グリッドのランクに基づくフィルタのSIMD計算 | |
JPH0223476A (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 |