JP2004030366A - フィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体 - Google Patents
フィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体 Download PDFInfo
- Publication number
- JP2004030366A JP2004030366A JP2002187297A JP2002187297A JP2004030366A JP 2004030366 A JP2004030366 A JP 2004030366A JP 2002187297 A JP2002187297 A JP 2002187297A JP 2002187297 A JP2002187297 A JP 2002187297A JP 2004030366 A JP2004030366 A JP 2004030366A
- Authority
- JP
- Japan
- Prior art keywords
- pixel values
- input
- median
- packet
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median filtering
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Picture Signal Circuits (AREA)
- Complex Calculations (AREA)
Abstract
【課題】装置の小型化を可能にする。
【解決手段】フィルタ装置では3*3のウィンドウに配列された9個の画素値である画像データ100のメディアン101を求める。まず、入力回路200は画像データ100を入力し3画素ずつのグループに分割し出力する。各グループの画素値は、ソート器204〜206で大きさ順にソートされ出力される。ソート後のグループの画素値はデータシフト器207〜209、211〜213、215〜217、最大値判定器229〜230により最大の画素値が判定されながら、判定された画素値は対応グループからシフトされて除去される。その結果、3グループにおいて大きい方から4個の画素値が除去される。ソート器219は残り5個の画素値から最大画素値(メディアン101)を出力する。したがってフィルタ装置ではソート関連の回路が削減される。
【選択図】 図1
【解決手段】フィルタ装置では3*3のウィンドウに配列された9個の画素値である画像データ100のメディアン101を求める。まず、入力回路200は画像データ100を入力し3画素ずつのグループに分割し出力する。各グループの画素値は、ソート器204〜206で大きさ順にソートされ出力される。ソート後のグループの画素値はデータシフト器207〜209、211〜213、215〜217、最大値判定器229〜230により最大の画素値が判定されながら、判定された画素値は対応グループからシフトされて除去される。その結果、3グループにおいて大きい方から4個の画素値が除去される。ソート器219は残り5個の画素値から最大画素値(メディアン101)を出力する。したがってフィルタ装置ではソート関連の回路が削減される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明はデジタル信号をフィルタ処理するためのフィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体に関し、特に、雑音を含む画像データから雑音を取り除くメディアンフィルタのためのフィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体に関する。
【0002】
【従来の技術】
画像を扱う各分野において、入力画像の雑音除去の一手法としてメディアンフィルタ処理は、重要な機能であり、その高速化が必要とされている。
【0003】
メディアンフィルタ処理とは、入力画像の各画素に対し、各画素を中心とするK×Lサイズのウィンドウ(局所領域)内の、K×L個の画素の輝度データ(以下、画素値と記す)の中央値(メディアン)を、出力画像における各画素の画素値とする処理である。
【0004】
従来、3×3のウィンドウに対するメディアンフィルタ処理は、ウィンドウ内の9つの画素値をソートして、これら画素値の中央値を算出していた。
【0005】
図15に従来のメディアンフィルタ装置の構成例を示す。図15のメディアンフィルタ装置は、入力データを昇順または降順にソートして出力するソート回路801〜803、805、806、808、809および811と、セレクタ804、807および810と、最大値判定器812〜814と、最小値判定器815〜817とを備える。
【0006】
図15のメディアンフィルタ装置の動作を、3×3サイズのウィンドウ内の、9個の画素値A0〜A2、B0〜B2およびC0〜C2の中央値を求める場合について説明する。
【0007】
まず、予め9個の画素値A0〜A2、B0〜B2およびC0〜C2は1グループあたり3個の画素値からなる3つのグループG1〜G3に分割されて、グループG1〜G3はソート回路801〜803にそれぞれ入力される。
【0008】
ソート回路801〜803のそれぞれは、入力したグループの3個の画素値をソートしてソート結果をセレクタ804に出力し、ソート結果が示す最大の画素を最大値判定器812へ出力し、ソート結果が示す最小の画素値を最小値判定器815へ出力する。
【0009】
最大値判定器812はグループG1〜G3の最大の画素値を入力し、入力した画素値どうしを比較し、入力した画素値のうち最大の画素値を判定し、判定結果をセレクタ804へ出力する。最小値判定器815はグループG1〜G3の最小の画素値を入力し、入力した画素値どうしを比較し、入力した画素値のうち最小の画素値を判定し、判定結果をセレクタ804へ出力する。
【0010】
セレクタ804はソート回路801〜803からソート結果である9個の画素値を入力して、最大値判定器812および最小値判定器815から与えられた判定結果が示す最大画素値および最小画素値を取除いた後に出力する。この操作により、入力した9個の画素値から2個の画素値が取除かれるので、7個の画素値が出力される。
【0011】
次に、セレクタ804は、この7個の画素値を3個、3個および1個の画素値からなる3つのグループに分割して出力する。具体的には、3個の画素値からなるグループをソート回路805と806へそれぞれ出力し、1個の画素値からなるグループ818をセレクタ807、最大値判定器813および最小値判定器816へそれぞれ出力する。ソート回路805と806のそれぞれは、入力したグループの画素値についてソートし、ソート結果をセレクタ807へ出力し、ソート結果が示す最大の画素値を最大値判定器813へ出力し、最小の画素値を最小値判定器816へ出力する。
【0012】
最大値判定器813は与えられる3つの画素値を入力し、入力した画素値どうしを比較し、入力した画素値のうち最大の画素値を判定し、判定結果をセレクタ807へ出力する。最小値判定器816は与えられる画素値を入力し、入力した画素値どうしを比較し、入力した画素値のうち最小の画素値を判定し、判定結果をセレクタ807へ出力する。
【0013】
セレクタ807はソート回路805と806からソート結果である6個の画素値およびグループ818の1個の画素値を入力して、最大値判定器813および最小値判定器816から与えられた判定結果が示す最大画素値および最小画素値を取除いた後に出力する。この操作により、入力した7個の画素値から2個の画素値が取除かれるので、5個の画素値が出力される。
【0014】
次に、セレクタ807は、この5個の画素値を3個からなるグループおよび2個の画素値からなるグループに分割して、3個からなるグループをソート回路808に、2個からなるグループをソート回路809にそれぞれ出力する。ソート回路808と809のそれぞれは、入力したグループの画素値についてソートし、ソート結果をセレクタ810へ出力し、ソート結果が示す最大の画素値を最大値判定器814へ出力し、最小の画素値を最小値判定器817へ出力する。
【0015】
最大値判定器814は入力した画素値どうしを比較し、入力した画素値の中での最大の画素値を判定し、判定結果をセレクタ810へ出力する。最小値判定器817は入力した画素値どうしを比較し、入力した画素値の中でこの中で最小の画素値を判定し、判定結果をセレクタ810へ出力する。
【0016】
セレクタ810はソート回路808と809からソート結果である5個の画素値を入力して、最大値判定器814および最小値判定器817から与えられた判定結果が示す最大画素値および最小画素値を取除いた後にソート回路811に出力する。この操作により、入力した5個の画素値から2個の画素値が取除かれるので、3個の画素値が出力される。
【0017】
ソート回路811はセレクタ810から入力した3個の画素値をソートし、ソート結果が示す画素値列の中央に位置する画素値を、メディアンとして出力する。
【0018】
【発明が解決しようとする課題】
上述のメディアンフィルタ処理では、9個の入力画素値から中央値を求めるために、入力画素値を3個の画素値からなる3つのグループに分割して個々のグループごとにソート処理を行ない、その後ソート結果から最大画素値と最小画素値の2個の画素値をセレクタで取除いて、処理対象となる画素値の数を減らす。そしてこの処理を繰り返して、処理対象となる画素値を2個ずつ減らしていき、最後に中央値を求めていた。この場合、最大画素値と最小画素値を取除く毎に、ソートを行なう必要があり、図15ではソート回路は8個必要であった。また最大値および最小値判定器はそれぞれ3個必要であった。ソート回路ならびに最大値および最小値判定器には、それぞれ比較器が使われているので、図15の全体では36個の比較器が必要であった。これがメディアンフィルタ装置の回路規模の増大および該メディアンフィルタ装置を用いたメディアンフィルタ処理をパイプライン処理に従い実行する場合のパイプライン段数の増加を招くので、メディアンフィルタ処理を高速に実行するのが困難であった。
【0019】
それゆえにこの発明の目的は、回路規模が小さいフィルタ装置を提供することである。
【0020】
この発明の他の目的は、フィルタ処理を高速に実行するフィルタ装置およびデータ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびこのフィルタプログラムを記録した機械読取り可能な記録媒体を提供することである。
【0021】
【課題を解決するための手段】
この発明のある局面に係るフィルタ装置は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるために入力手段と、除去手段と、ソート手段とを備える。
【0022】
入力手段がN個の画素値を入力すると、除去手段は入力されたN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する。ソート手段は、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値をメディアンとして出力する。
【0023】
この発明の他の局面に係るフィルタ装置は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるために、入力手段、除去手段およびソート手段を備える。
【0024】
入力手段が、N個の画素値を入力すると、除去手段は、入力されたN個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する。ソート手段は、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値をメディアンとして出力する。
【0025】
したがって、上述のフィルタ装置では画素値のソートは、除去手段のための1回とソート手段の1回との2回となるので、フィルタ装置のソートに関する回路点数を少なくできる。それゆえに、装置の規模が小型化される。また、ソートに関する処理が少ないので、当該フィルタ装置により高速にメディアンを求めることができる。
【0026】
上述のフィルタ装置では好ましくは、所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、フィルタ装置の設計について高い自由度を得ることができる。
【0027】
上述のフィルタ装置では好ましくは、入力手段は、分割手段とグループソート手段とを有する。分割手段がN個の画素値を入力して、K個の画素値ずつK個のグループに分割すると、グループソート手段は分割により得られたK個のグループそれぞれをについて、該グループの画素値を入力して、所定順にソートして除去手段に出力する。
【0028】
除去手段は、N個の画素値から(N−1)/2個の画素値を除去するために縦列接続された複数の画素除去部を有する。画素除去部のそれぞれは、判定部およびK個のグループの画素値を入力して、一旦格納して出力するシフト格納部を有する。判定部が、与えられるK個のグループ間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定すると、シフト格納部は、判定された画素値を含むグループにおいては、格納された該グループの画素値から判定された該画素値を除去して、除去後の画素値の所定順に従う2番目以降の画素値の順位をシフトさせて出力する。
【0029】
したがって、画素除去部のそれぞれは、判定部のための回路とシフト格納部のための回路とを有するだけでよいから、回路点数を少なくできる。
【0030】
この発明のさらなる他の局面に係るフィルタ装置は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるために、入力手段、複数局所領域のそれぞれに対応したメディアン抽出手段とを備える。メディアン抽出手段は除去手段とソート手段とを有する。
【0031】
入力手段が所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力すると、メディアン抽出手段の除去手段は、対応の局所領域に含まれるN個の画素値を入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する。ソート手段は、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値をメディアンとして出力する。
【0032】
この発明のさらなる他の局面に係るフィルタ装置は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるために、入力手段と、複数局所領域のそれぞれに対応したメディアン抽出手段とを備える。メディアン抽出手段は除去手段とソート手段とを有する。
【0033】
入力手段が、所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力すると、メディアン抽出手段の除去手段は、対応の局所領域に含まれるN個の画素値を入力して、入力画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する。ソート手段は、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値をメディアンとして出力する。
【0034】
したがって、上述のフィルタ装置によれば、画素値のソートは、除去手段のための1回とソート手段の1回との2回となるので、フィルタ装置のソートに関する回路点数を少なくできる。それゆえに、装置の規模が小型化される。また、ソートに関する処理が少ないので、当該フィルタ装置により高速にメディアンを求めることができる。
【0035】
上述のフィルタ装置では、重複する領域間上述のソート結果を共用するので、処理を高速化できる。
【0036】
上述のフィルタ装置では好ましくは所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、フィルタ装置の設計について高い自由度を得ることができる。
【0037】
上述のフィルタ装置では好ましくは、入力手段は、分割手段とグループソート手段とを有する。分割手段が、局所領域の画素値を入力して、K個の画素値の複数のグループに分割すると、グループソート手段は、分割により得られた複数グループそれぞれをについて、該グループの画素値を入力して、所定順にソートして、該グループが属する局所領域に対応の除去手段に出力する。
【0038】
除去手段は、N個の画素値から(N−1)/2個の画素値を除去するために縦列接続された複数の除去部を有する。除去部のそれぞれは、判定部およびK個のグループの前記画素値を入力して、一旦格納して出力するシフト格納部を有する。判定部が与えられるK個のグループ間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定すると、シフト格納部は、判定された前記画素値を含むグループにおいては、格納された該グループの画素値から判定された該画素値を除去して、除去後の画素値の所定順に従う2番目以降の画素値の順位をシフトさせて出力する。
【0039】
したがって、除去部のそれぞれは、判定部のための回路とシフト格納部のための回路とを有するだけでよいから、回路点数を少なくできる。
【0040】
この発明のさらなる他の局面に係るデータ駆動型情報処理装置は、行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備える。
【0041】
演算手段は、フィルタ演算手段と、その他演算手段と分岐手段とを有する。フィルタ演算手段は、メディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、入力パケットの命令情報に基づいて該入力パケットをフィルタ演算手段および他の演算手段のいずれかに出力する分岐手段とを有する。メディアンフィルタ命令は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンの算出を指示する。
【0042】
フィルタ演算手段は、除去手段とソート手段とを含む。除去手段は与えられるパケットのデータフィールドのN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する。ソート手段は、画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値を、メディアンとしてパケットのデータフィールドに格納して該パケットを出力する。
【0043】
この発明のさらなる他の局面に係るデータ駆動型情報処理装置は、行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備える。
【0044】
演算手段は、メディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、入力パケットの命令情報に基づいて該入力パケットをフィルタ演算手段および他の演算手段のいずれかに出力する分岐手段とを有する。メディアンフィルタ命令は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンの算出を指示する。
【0045】
フィルタ演算手段は、除去手段とソート手段とソート手段を含む。
除去手段が、与えられるパケットのデータフィールドのN個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去すると、ソート手段は、画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値を、メディアンとしてパケットのデータフィールドに格納して該パケットを出力する。
【0046】
上述のデータ駆動型情報処理装置によれば、メディアンフィルタ命令を含むデータフロープログラムに従う処理は、パケットがデータ駆動型情報処理装置内を周回することによるパイプライン処理に従い並列に実行される。したがって、メディアンフィルタ処理対象の画像データ量が多くても高速に処理を実行できる。
【0047】
また、フィルタ演算手段では画素値のソートは、除去手段のための1回とソート手段の1回との2回となるので、フィルタ演算手段のソートに関する回路点数を少なくできる。それゆえに、データ駆動型情報処理装置の規模が小型化される。
【0048】
上述のデータ駆動型情報処理装置では好ましくは所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、フィルタ演算手段の設計について高い自由度を得ることができる。
【0049】
上述のデータ駆動型情報処理装置では好ましくは、フィルタ演算手段は分割手段とグループソート手段とを含む入力手段をさらに有する。入力手段は分岐手段からパケットを入力すると、分割手段が入力パケットのデータフィールドのN個の画素値を、K個の画素値ずつK個のグループに分割する。グループソート手段は分割により得られたK個のグループそれぞれをについて、該グループの画素値を入力して、所定順にソートした後、該パケットのデータフィルードに格納して、該パケットを除去手段に出力する。
【0050】
除去手段は、N個の画素値から(N−1)/2個の画素値を除去するために縦列接続された複数の画素除去部を有する。画素除去部のそれぞれは、判定部およびK個のグループの画素値を入力して、一旦格納して出力するシフト格納部を有する。判定部が、与えられるK個のグループのパケットの間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定する。シフト格納部は、判定された画素値を含むグループのパケットにおいては、格納された該グループの画素値から判定された該画素値を除去して、除去後の画素値の所定順に従う2番目以降の画素値の順位をシフトさせて該パケットを出力する。
【0051】
したがって、画素除去部のそれぞれは、判定部のための回路とシフト格納部のための回路とを有するだけでよいから、回路点数を少なくできる。
【0052】
この発明のさらなる他の局面に係るデータ駆動型情報処理装置は行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備える。
【0053】
演算手段は、メディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、入力パケットの命令情報に基づいて該入力パケットをフィルタ演算手段および他の演算手段のいずれかに出力する分岐手段とを有する。
【0054】
メディアンフィルタ命令はデジタル化された画像においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンの算出を指示する。
【0055】
フィルタ演算手段は、入力手段と、複数局所領域のそれぞれに対応したメディアン抽出手段とを含む。入力手段は、与えられるパケットのデータフィールドの複数の局所領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値をデータフィールドに格納したパケットを出力する。メディアン抽出手段は、対応の局所領域に含まれるN個の画素値を格納したパケットを入力手段から入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する除去手段と、除去手段により画素値が除去された後のパケットのデータフィールドの(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値を、メディアンとして抽出してパケットのデータフィールドに格納して該パケットを出力する。
【0056】
この発明のさらなる他の局面に係るデータ駆動型情報処理装置は、行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備える。
【0057】
演算手段は、メディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、入力パケットの命令情報に基づいて該入力パケットをフィルタ演算手段および他の演算手段のいずれかに出力する分岐手段とを有する。メディアンフィルタ命令は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンの算出を指示する。
【0058】
前記フィルタ演算手段は、与えられるパケットの前記データフィールドの所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値をデータフィールドに格納したパケットを出力する入力手段と、複数局所領域のそれぞれに対応したメディアン抽出手段とを含む。
【0059】
メディアン抽出手段は、対応の局所領域に含まれるN個の画素値を格納したパケットを入力手段から入力して、入力画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する除去手段と、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値を、メディアンとして抽出しパケットのデータフィールドに格納して該パケットを出力するソート手段とを含む。
【0060】
上述のデータ駆動型情報処理装置によれば、メディアンフィルタ命令を含むデータフロープログラムに従う処理は、パケットがデータ駆動型情報処理装置内を周回することによるパイプライン処理に従い並列に実行される。したがって、メディアンフィルタ処理対象の画像データ量が多くても高速に処理を実行できる。
【0061】
また、フィルタ演算手段では画素値のソートは、除去手段のための1回とソート手段の1回との2回となるので、フィルタ演算手段のソートに関する回路点数を少なくできる。それゆえに、データ駆動型情報処理装置の規模が小型化される。
【0062】
上述のデータ駆動型情報処理装置では、重複する領域間で並列処理をする際、上述のソート結果を重複する領域間で共用するので、処理を高速化できる。
【0063】
上述のデータ駆動型情報処理装置では好ましくは所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、フィルタ演算手段の設計について高い自由度を得ることができる。
【0064】
上述のデータ駆動型情報処理装置では好ましくは複数の行先情報および複数の命令情報からなるデータフロープログラムを記憶し、パケットを入力して、データフロープログラムから次位の行先情報および次位の命令情報を読出し、該入力パケットの行先フィールドおよび命令フィールドのそれぞれに格納して、該入力パケットを出力するプログラム記憶手段と、プログラム記憶手段から出力されるパケットを入力して、該入力パケットの命令フィールドの命令情報の実行のために必要とされる内容を格納して該入力パケットを演算手段に出力する対データ検出手段と、演算手段から出力されたパケットを入力して、外部またはプログラム記憶手段に出力する入出力制御手段とをさらに備える。
【0065】
上述のデータ駆動型情報処理装置によれば、メディアンフィルタ命令の命令情報を含むデータフロープログラムをプログラム記憶手段に予め記憶させておくだけで、メディアンフィルタ処理を実行できる。
【0066】
この発明のさらなる他の局面に係るフィルタ方法は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるために、入力ステップ、除去ステップおよびソートステップを備える。入力ステップにおいて、N個の画素値を入力すると、除去ステップでは、入力されたN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値が除去される。ソートステップでは、除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値をメディアンとして出力する。
【0067】
この発明のさらなる他の局面に係るフィルタ方法は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるために、入力ステップ、除去ステップおよびソートステップを備える。
【0068】
入力ステップにおいてN個の画素値を入力すると、除去ステップでは、入力されたN個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値が除去される。ソートステップでは、除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値が、メディアンとして出力される。
【0069】
したがって、上述のフィルタ方法では画素値のソートは、除去ステップのための1回とソートステップの1回との2回となるので、ソートに関する処理を少なくできるので、当該フィルタ方法により高速にメディアンを求めることができる。
【0070】
上述のフィルタ方法では好ましくは、所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、メディアンを求める手順について高い自由度を得ることができる。
【0071】
上述のフィルタ方法では好ましくは、入力ステップは、分割ステップとグループソートステップとを有する。分割ステップにおいてN個の画素値を入力して、K個の画素値ずつK個のグループに分割すると、グループソートステップでは分割により得られたK個のグループそれぞれをについて、該グループの画素値を入力して、所定順にソートして除去ステップに与える。
【0072】
除去ステップは、N個の画素値から(N−1)/2個の画素値を除去するために縦列処理する複数の画素除去ステップを有する。画素除去ステップのそれぞれは、判定ステップおよびK個のグループの画素値を入力して、一旦格納して出力するシフト格納ステップを有する。判定ステップが、与えられるK個のグループ間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定すると、シフト格納ステップは、判定された画素値を含むグループにおいては、格納された該グループの画素値から判定された該画素値を除去して、除去後の画素値の所定順に従う2番目以降の画素値の順位をシフトさせて出力する。
【0073】
したがって、画素除去ステップのそれぞれは、判定ステップとシフト格納ステップのための処理を実行するだけでよいから、メディアンを高速に求めることができる。
【0074】
この発明のさらなる他の局面に係る上述のフィルタ方法のフィルタプログラムをコンピュータに実行させることにより、上述したような各フィルタ方法により得られる効果を得ることができる。
【0075】
この発明のさらなる他の局面に係る機械読取り可能な記録媒体に記録された上述のフィルタプログラムをコンピュータにより実行することで、上述したような各フィルタ方法により得られる効果を得ることができる。
【0076】
この発明のさらなる他の局面に係るフィルタ方法は、デジタル化された画像においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるために、入力ステップ、複数局所領域のそれぞれに対応したメディアン抽出ステップとを備える。メディアン抽出ステップは除去ステップとソートステップとを有する。
【0077】
入力ステップにおいて所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力すると、メディアン抽出ステップの除去ステップでは、対応の局所領域に含まれるN個の画素値を入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値が除去される。ソートステップでは、除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値がメディアンとして出力される。
【0078】
この発明のさらなる他の局面に係るフィルタ方法は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるために、入力ステップと、複数局所領域のそれぞれに対応したメディアン抽出ステップとを備える。メディアン抽出ステップは除去ステップとソートステップとを有する。
【0079】
入力ステップにおいて、所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力すると、メディアン抽出ステップの除去ステップでは、対応の局所領域に含まれるN個の画素値を入力して、入力画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値が除去される。ソートステップでは、除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値がメディアンとして出力される。
【0080】
したがって、上述のフィルタ方法によれば、画素値のソートは、除去ステップのための1回とソートステップの1回との2回となるので、ソートに関する処理が少なくなり、当該フィルタ方法により高速にメディアンを求めることができる。
【0081】
上述のフィルタ方法では好ましくは所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、メディアンを求める方法の設計について高い自由度を得ることができる。
【0082】
上述のフィルタ方法では好ましくは、入力ステップは、分割ステップとグループソートステップとを有する。分割ステップで、局所領域の画素値を入力して、K個の画素値の複数のグループに分割すると、グループソートステップでは、分割により得られた複数グループそれぞれをについて、該グループの画素値を入力して、所定順にソートして、該グループが属する局所領域に対応の除去ステップに与える。
【0083】
除去ステップでは、N個の画素値から(N−1)/2個の画素値を除去するために縦列処理する複数の画素除去ステップを有する。画素除去ステップのそれぞれは、判定ステップおよびK個のグループの画素値を入力して、一旦格納して出力するシフト格納ステップを有する。判定ステップが与えられるK個のグループ間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定すると、シフト格納ステップでは、判定された画素値を含むグループにおいては、格納された該グループの画素値から判定された該画素値が除去されて、除去後の画素値の所定順に従う2番目以降の画素値の順位がシフトされて出力される。
【0084】
したがって、画素除去ステップのそれぞれは、判定ステップとシフト格納ステップのための処理を実行するだけでよいから、高速にメディアンを求めることができる。
【0085】
この発明のさらなる他の局面に係る上述のフィルタ方法のフィルタプログラムをコンピュータに実行させることにより、上述したような各フィルタ方法による効果を得ることができる。
【0086】
この発明のさらなる他の局面に係る機械読取り可能な記録媒体に記録された上述のフィルタプログラムをコンピュータにより実行することで、上述したような各フィルタ方法による効果を得ることができる。
【0087】
【発明の実施の形態】
以下、この発明の各実施の形態について図面を参照して説明する。
【0088】
(実施の形態1)
本実施の形態では、メディアンフィルタ処理が主にハードウェアにて実現される。ここでは、2つのハードウェア構成例が示される。
【0089】
(メディアンフィルタ装置の第1の構成例)
図1に一方のハードウェア構成例が示される。図1に示すメディアンフィルタ装置は、入力データである画像データ100の各画素に対し、各画素を中心とする3×3サイズのウィンドウ内の、9個の画素値の中央値を、メディアン101として出力とする。
【0090】
図1のメディアンフィルタ装置は、画像データ100を入力して、9個の画素値を3個の画素値のグループ201〜203に生成して出力する入力回路200、複数の画素値を入力して昇順または降順にソートした後に出力するソート器204〜206、データシフト器207〜209、211〜213および215〜217、最大値判定器210、214および218、ならびに複数の画素値を入力してソートし、ソート結果が示す最大の画素値のみ出力するソート器219を備える。ソート器219が出力する画素値はメディアン101を示す。図2(A)〜(G)には図1のメディアンフィルタ装置における画素値のソートとシフトの詳細が示される。図1ではグループ201に対応してソート器204ならびにデータシフト器207、211および215が設けられ、グループ202に対応してソート器205ならびにデータシフト器208、212および216が設けられ、グループ203に対応してソート器206ならびにデータシフト器209、213および217が設けられる。
【0091】
動作において、図2(A)に示す画像データ100が入力回路200に与えられると、入力回路200は画像データ100を入力して、画像データ100の上述の3×3サイズのウィンドウ内の9個の画素値を縦一列の3個の画素からなる3つのグループ201〜203に分けて(図2(B)参照)、グループ201〜203をソート器204〜206にそれぞれ出力する。
【0092】
ソート器204〜206のそれぞれは、入力したグループの3個の画素値をソートして、ソート結果をデータシフト器207〜209のそれぞれに出力する。このとき、グループ201〜203それぞれのソート結果が示す該グループの最大の画素値220〜222それぞれは、最大値判定器210に出力される。このときのグループ201〜203それぞれのソート結果の一例が図2(C)に示される。この例では最大値判定器210に出力される最大の画素値220、221および222は画素値A0、B0およびC0のそれぞれである。
【0093】
図3の本実施の形態に係るソート器は比較器501〜503、セレクタ505〜507および判定器504を有する。ソート器に3つの入力値(画素値)IN0〜IN2が与えられると、入力値IN0とIN1は比較器501へ、入力値IN1とIN2は比較器502へ、および入力値IN0とIN2は比較器503へそれぞれ与えられる。比較器501〜503のそれぞれは、与えられた2つの入力値を比較して、比較結果を示す信号514〜516のそれぞれを判定器504に出力する。判定器504は入力した信号514〜516に基づいて入力値IN0〜IN2の大きさの順番を判定し、判定結果を示す信号517を出力する。出力された信号517はセレクタ505〜507のそれぞれに与えられる。セレクタ505〜507のそれぞれは、入力した信号517に従い、入力値1N0〜1N2から出力値(画素値)OUT0〜OUT2それぞれを出力する。ここで、出力値はOUT0>OUT1>OUT2の関係になっている。
【0094】
図1において、最大値判定器210は入力した最大の画素値220〜222を比較し、画素値220〜222の中から最大の画素値を判定し、該最大画素値を含むグループを判定し、判定結果を示す信号229をデータシフト回路207〜209のそれぞれに出力する。
【0095】
ここでは信号229はグループ201〜203それぞれの最大の画素値の中で、1番目と2番目に大きい画素値を含んでいるグループを示している。信号229は後述するシフト信号404に対応する。1番目および2番目に大きい画素値を含んでいるグループに対応のデータシフト器には信号229はONレベルで与えられて、それ以外のグループに対応のデータシフト器には信号229はOFFレベルで与えられる。
【0096】
図4に示す本実施の形態に係る最大値判定器は、図3のソート器の構成からセレクタを取り除いて、入力値の大小順判定のみを行なう構成を有する。具体的には比較器601〜603および判定器604を有する。3つの入力値(各グループの最大の画素値)IN0〜IN2のうち、入力値IN0とIN1は比較器601に、入力値IN1とIN2は比較器602に、および入力値IN0とIN2は比較器602にそれぞれ与えられる。比較器601〜603のそれぞれは、2つの入力値を大小比較して比較結果を示す信号605〜607のそれぞれを判定器604に出力する。判定器604は入力した信号に基づいて、入力値IN1〜IN3の大小順を判定し、判定結果を示す信号608を出力する。
【0097】
図1においてデータシフト回路207〜209それぞれは、ソート器204〜206のそれぞれから入力したソート結果である3つの画素値のうちに、最大値判定器210から入力した信号229が示す画素値、すなわち入力データ100の9つの画素値における1番目に大きい(最大の)画素値または2番目に大きい画素値を含んでいれば、ソート結果である3つの画素値をシフト操作する。データシフト回路207〜209それぞれは、シフト結果223〜225それぞれを次段のデータシフト回路211〜213それぞれに出力する。またデータシフト回路207〜209それぞれは、シフト結果が示す新たな最大の画素値を最大値判定器214に出力する。
【0098】
本実施の形態に係るデータシフト器によるシフト操作を図5を参照して説明する。データシフト器はシフトレジスタの機能を有する。つまり、与えられる画素値を入力して一旦格納して出力する。このとき、格納された画素値を必要に応じてシフト操作して出力する。ここでのシフト操作とは、ソート結果である複数の入力値から最大値を取除き2番目以降の値の順位を繰上げる操作である。図5ではソート結果であるデータDA0〜DA2のうち、最大値のデータDA0が取除かれて、データDA1とDA2の順位が繰上げられて、最大値はデータDA1に更新される。
【0099】
前述のシフト結果223〜225は図2(D)に示すように、信号229が示す最大の画素値A0と2番目に大きい画素値B0が取除かれて、画素値A1、A2、B1およびB2それぞれの順位が繰上がっている。この例では、説明を簡便にするためにグループ201と202がそれぞれ最大の画素値と2番目に大きい画素値をそれぞれ含んでいるとしている。
【0100】
図6(A)と(B)には本実施の形態に係るデータシフト器の構成例とシフト操作のための信号のテーブルが示される。図6(A)においてデータシフト器はセレクタ401と402、および最大値判定器から出力される判定結果を示すシフト信号404を入力する無効フラグ生成回路403を有する。シフト信号404は図6(B)に示すようにシフト操作を指示するときは‘ON’であり、そうでないときは‘OFF’である。
【0101】
動作において、前段から与えられた3つの入力値IN0〜IN2のうち、入力IN0とIN1はセレクタ401へ、入力IN1とIN2はセレクタ402に与えられる。また、入力値IN2は無効フラグ生成回路403に与えられる。シフト信号404がOFFの場合にはシフト操作がなされないので、図6(B)のテーブルに示すように出力値OUT0〜OUT2には入力値IN0〜IN2がそのまま出力されうようにシフト操作されない。シフト信号404がONの場合には、入力値IN0は取除かれ、入力値IN1とIN2の順位が繰り上げられる。このとき入力値IN2の順位が繰上がったので出力値OUT2に該当する入力値が無くなるため、無効フラグ生成回路403により無効フラグが生成されて、出力値OUT2に生成された無効フラグが設定される。
【0102】
図1において、最大値判定器214はグループ201〜203のシフト結果の信号223〜225を入力して、信号223〜225それぞれが示す最大の画素値どうしを比較し、この3つの最大画素値の中から最大の画素値を判定して、この最大の画素値を含むグループを判定し、判定結果を示す信号230をデータシフト器211〜213のそれぞれに出力する。ここでは信号230は判定された最大の画素値を含むグループを示している。したがって、データシフト器211〜213のうち、判定された最大の画素値を含むグループに対応のデータシフト器には前述のシフト信号404がONにして与えられる、それ以外のデータシフト器にはOFFにして与えられる。
【0103】
データシフト回路211〜213それぞれは、信号230(シフト信号404)によりシフト操作が指示されたときには、前段でシフト操作済みの対応グループの画素値について、さらにシフト操作する。データシフト回路211〜213それぞれのシフト操作の結果226〜228それぞれは、次段のデータシフト器215〜217それぞれに出力される。またデータシフト回路211〜213それぞれはシフト結果による新たな最大の画素値を最大値判定器218に出力する。図2(E)に示すシフト結果226〜228は、最大の画素値C0が取り除かれて、2番目以下の画素値C1とC2の順位が繰上がっている。この例では便宜上、グループ203が最大の画素値C0を含んでいるとしている。
【0104】
最大値判定器218は与えられる3つの画素値どうしを比較し、最大の画素値を判定する。そしてこの最大の画素値を含むグループを判定し、判定結果を示す信号231をデータシフト器215〜217に出力する。ここでは信号231は、判定された最大の画素値を含んでいるグループを示している。
【0105】
データシフト器215〜217はそれぞれ、前段のシフト結果を入力して、最大値判定器218から与えられる信号231に対応のシフト信号404に基づいて、シフト操作が指示されている場合には、入力したシフト結果が示す画素値についてシフト操作する。データシフト器215〜217それぞれのシフト結果が示す最大の画素値のみがソート器219に出力される。ソート器219は入力した画素値のうちから最大の画素値を判定するだけであるので、ソート器219に対してシフト結果の全ての画素値を与える必要はない。シフト結果は図2(F)に示すように、最大の画素値A1が取り除かれて、2番目以下の画素値A2の順位が繰上がっている。この例では便宜上グループ201が最大の画素値を含んでいるとしている。ソート器219には各グループのシフト結果の最大の画素値のみが与えられる。この例ではソート器219に与えられる最大の画素値はA2、B1およびC1である。
【0106】
ソート器219は与えられた各グループの最大の画素値を入力して、ソートし、この中から最大の画素値をメディアン(中央値)101として出力する。
【0107】
ここで、図1の構成は4個のソート器および3個の最大値判定器を含んで構成されて、該構成中に含まれる比較器は合計21個となるから、従来の図8に示す36個の比較器が必要とされる構成に比べて、比較器の数が大幅に削減される。
【0108】
図1の構成は、画像の3*3の2次元の局所領域に配列された9個の画素値を入力回路200により入力すると、入力された9個の画素値から、ソート器204〜206、データシフト器207〜209、211〜213、215〜217および219、ならびに最大値判定器210、214および231により、所定順にソートした場合の1番目〜4番目の画素値を除去し、除去された後の5個の画素値から、所定順にソートした場合の1番目の画素値を、メディアン101として出力している。
【0109】
ここでは最大値判定器210、214および218を利用して、最大値がシフトにより除去されているが、最大値判定器に代替して最小値判定器を利用して、最小値がシフトにより除去されてもよい。最小値判定器を利用する場合には、所定順にソートした場合の6番目〜9番目の画素値を除去し、除去された後の5個の画素値から、所定順にソートした場合の5番目の画素値を、メディアン101として出力すればよい。なお、所定順は降順および昇順のいずれかである。
【0110】
図1の構成では、9個の画素を入力しているが、入力する画素数は9個に限定されない。つまり、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素数を対象とすることができる。N個の画素数を対象として最大値判定器を用いた場合には、N個の画素値を入力して、入力されたN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去して、除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値が、メディアンとして出力される。最大値判定器に代替して最小値判定器を用いた場合には、N個の画素値を入力して、入力されたN個の画素値から、所定順にソートした場合の((N−1)/2+2)番目〜N番目の画素値を除去して、除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値が、メディアンとして出力される。
【0111】
(メディアンフィルタ装置の第2の構成例)
次に、並列に上述したメディアンフィルタ処理を実行する場合の構成例が示される。ここでは、例えば4並列処理について説明する。4並列処理する場合、隣り合った4つのウィンドウに対して同時に処理をする必要がある。
【0112】
図7に本実施の形態に係るメディアンフィルタ装置の他方のハードウェア構成例が示される。図8には図7のメディアンフィルタ装置に対する入力データである画像データ917の一例が示される。
【0113】
画像データ917は4個の3×3サイズのウィンドウW1〜W4が隣り合ったことを示している。図7に示すメディアンフィルタ装置は、図8の画像データ917の各ウィンドウについて、該ウィンドウの9個の画素値の中央値をメディアン918として出力とする。
【0114】
図7のメディアンフィルタ装置は、入力回路800、後述するグループG11〜G16のそれぞれに対応して設けられたソート器901〜906およびウィンドウW1〜W4のそれぞれに対応のモジュール907〜910を備える。モジュール907〜910それぞれは同様の構成を有して、図1のデータシフト器207〜217、最大値判定器210、214および218ならびにソート器219を有する。
【0115】
動作において、画像データ917が与えられると、入力回路800は画像データ917を入力して、それぞれ3つの画素からなる6個のグループG11〜G16に分ける。グループG11〜G13はウィンドウW1を、グループG12〜G14はウィンドウW2を、グループG13〜G15はウィンドウW3を、およびグループG14〜G16はウィンドウW4をそれぞれ構成する。
【0116】
グループG11〜G16のそれぞれは、ソート器901〜906に与えられるので、ソート器901〜906のそれぞれは、与えられるグループの3つの画素値をソートする。ソート器901〜903が出力するウィンドウW1に対応したソート結果911〜913は該ウィンドウW1に対応のモジュール907に、ソート器902〜904が出力するウィンドウW2に対応したソート結果912〜914は該ウィンドウW2に対応のモジュール908に、ソート器903〜905が出力するウィンドウW3に対応したソート結果913〜915は該ウィンドウW3に対応のモジュール909に、およびソート器904〜906が出力するウィンドウW4に対応したソート結果914〜916は該ウィンドウW4に対応のモジュール910にそれぞれ出力される。
【0117】
モジュール907〜910のそれぞれは、与えられるソート結果を入力して、図1で示したようにメディアンフィルタ処理して、対応のウィンドウW1〜W4のそれぞれについて中央値を求めて、メディアン918として出力する。
【0118】
ここで隣り合う4個のウィンドウW1〜W4に対して並列にメディアンフィルタ処理した場合、複数のウィンドウの重なり合った部分、すなわちグループG13およびG14は3つのウィンドウに属しており、グループG13およびG14のソート結果は3つのモジュールのメディアンフィルタ処理に使われることになる。
【0119】
このようにソート結果を隣り合うウィンドウ間で共用することにより、図7のように4並列処理を行った場合はソート器は6個となっている。もし、共用しなかった場合はソート器は12個必要であることから、図7のようにソート結果を隣り合うウィンドウ間で共用する構成とすることにより、メディアンフィルタ装置について大幅に回路規模を削減できる。
【0120】
(実施の形態2)
上述のように並列演算を伴うメディアンフィルタ処理は並列処理に適したデータ駆動型の演算装置で実行することが望ましい。本実施の形態では、上述のメディアンフィルタ装置が搭載されたデータ駆動型情報処理装置が示される。
【0121】
メディアンフィルタ装置がデータ駆動型情報処理装置に搭載された場合には、データ駆動型情報処理装置は画像処理装置本体となる。
【0122】
画像データなどの大容量データの高速処理が求められる場合には並列処理が有効である。並列処理向きアーキテクチャのうちでも、データ駆動型アーキテクチャが特に注目される。
【0123】
データ駆動型処理方式では、「ある処理に必要な入力データが全て揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行われる」という規則に従って処理が並列に進行する。
【0124】
図9には、本発明の実施の形態2に係るデータ駆動型処理システムの構成が、図10には、本発明の実施の形態2に係るデータ駆動型情報処理装置1の構成が、図11には本発明の実施の形態2に係る演算処理部13の構成が、図12(A)〜(C)には本発明の実施の形態2に適用されるパケットPA、PA1およびPA2のフィールド構成がそれぞれ示される。
【0125】
図9のデータ駆動型処理システムは、データ駆動型情報処理装置1および複数のデータが格納される外付けデータメモリ2を備える。データ駆動型情報処理装置1はデータ入力側にデータ伝送路3および4が、データ出力側にデータ伝送路5および6がそれぞれが接続されて、外付けデータメモリ2をアクセスするためアクセス制御線7が接続される。
【0126】
データ駆動型情報処理装置1へは、データ伝送路3または4から、パケットPAが時系列的に入力される。データ駆動型情報処理装置1には所定の処理内容がプログラムとして予め記憶されており、そのプログラム内容に基づく処理が実行される。
【0127】
外付けデータメモリ2は、データ駆動型情報処理装置1からのアクセス(外付けデータメモリ2の内容の参照/更新)要求信号をアクセス制御線7を介して受理すると、受理したアクセス要求に従ってアクセスを行った後、データ駆動型情報処理装置1に対して結果の応答を行う。
【0128】
データ駆動型情報処理装置1は、入力したパケットPAに対する処理を行って、処理が終了した後、処理結果を格納したパケットPAをデータ伝送路5または6を介して出力する。
【0129】
図10のデータ駆動型情報処理装置1は入出力/経路制御部10、発火制御部11、内蔵メモリ15と外付けメモリインタフェース16が接続された履歴処理部12、演算処理部13およびプログラム記憶部14を含む。プログラム記憶部14は、データ駆動型の処理を行うために必要なプログラムメモリ19を含む。図11に示すように演算処理部13は基本演算部処理部301、図1または図7の構成のメディアン演算処理部302、分岐部303および合流部304を備える。ここでは、内蔵メモリ15または外付けデータメモリ2にはメディアンフィルタ処理の対象となる画像データが予め格納されていると想定する。
【0130】
図12(A)には、データ駆動型情報処理装置1の入出力パケットPAの基本構成が、図12(B)および(C)には、データ駆動型情報処理装置1の内部を巡回するパケットPA1およびPA2の基本構成がそれぞれ示される。図12(B)のパケットPA1は、入出力/経路制御部10と発火制御部11とプログラム記憶部14を流れる。図12(C)のパケットPA2は、履歴処理部12と演算処理部13を流れる。
【0131】
図12(A)のパケットPAは、PE番号(Processing Element Number; プロセッサ番号)PEを格納するフィールド20、ノード番号NDを格納するフィールド22、世代番号GEを格納するフィールド23、およびデータDを格納するフィールド24を含む。図12(B)のパケットPA1は、図12(A)と同様のフィールド22〜24と命令コードOPを格納するフィールド21を含む。図12(C)のパケットPA2は、図12(B)と同様のフィールド21〜23と左データLDを格納するフィールド25と、右データRDを格納するフィールド26とを含む。
【0132】
図12(A)〜(C)において、プロセッサ番号PEは、複数のデータ駆動型情報処理装置1が接続されたシステムにおいて、対応するパケットPAが処理されるべきデータ駆動型情報処理装置1を特定するための情報である。ノード番号NDはプログラムメモリ19の内容をアクセスするためのアドレスとして用いられる。世代番号GEは、データ駆動型情報処理装置1に時系列に入力されるパケットを一意に識別するための識別子として用いられると共に履歴処理部12におけるメモリアドレス計算に用いられる。
【0133】
動作において、図12(A)のパケットPAは、データ伝送路3または4を介してプロセッサ番号PEで指定されたデータ駆動型情報処理装置1に与えられると、入出力/経路制御部10はパケットPAを入力して、該入力パケットPAの内容に基づいてパケットPA1を生成して、パケットPA1を発火制御部11へ出力する。
【0134】
発火制御部11は、与えられるパケットPA1を入力して、対となるパケットPA1を検出する。対のパケットPA1が検出されることを「発火」という。発火すると、ノード番号NDおよび世代番号GEの両方が一致する2つのパケットPA1、即ち対となる異なる2つのパケットPA1のうち、一方のパケットPA1のフィールド24のデータDを図12(C)のパケットPA2のフィールド25へ格納し、他方のパケットPA1のフィールド24のデータDをパケットPA2のフィールド26へ格納して、パケットPA2を履歴処理部12へ出力する。このとき一方のパケットPA1は消去される。なお、発火制御部11では命令コードOP、ノード番号NDおよび世代番号GEは変化しない。
【0135】
履歴処理部12は、発火制御部11から与えられたパケットPA2を入力して、入力パケットPA2の命令コードOPを解読して、解読結果に基づいて所定の処理を行う。命令コードOPが内蔵メモリアクセス命令を指示している場合には、内蔵メモリ15へのアクセス処理が行われて、アクセス結果をフィールド25または26に格納したパケットPA2を演算処理部13へ出力する。
【0136】
命令コードOPが外付けデータメモリアクセス命令を指示している場合には、外付けメモリインタフェース16に対してアクセス要求パケットを与える。外付けメモリインタフェース16は、受理したアクセス要求パケットの内容に従って、メモリアクセス制御線7を介して外付けデータメモリ2に対してアクセス処理を行った後その結果を受け取り、パケットを履歴処理部12へ出力する。結果として、外付けデータメモリアクセス命令を示すパケットPA2のフィールド25または26に外付けデータメモリ2のアクセス結果を格納して、演算処理部13へ該パケットPA2を出力する。
【0137】
例えば、命令コードOPがメディアンフィルタ処理を指示している場合には、外付けデータメモリ2の3×3サイズのウィンドウに相当のメモリ領域をアクセス処理し、アクセス結果をフィールド25または26に格納したパケットPA2を演算処理部13へ出力する。命令コードOPが履歴処理部12に無関係な命令を指示している場合には、パケットPA2は操作されず、そのまま演算処理部13へ出力される。
【0138】
演算処理部13では、分岐部303は、与えられるパケットPA2を入力して、該入力パケットPA2の命令コードOPを参照し、命令コードOPがメディアンフィルタ処理を示していれば、該パケットPA2をメディアン演算処理部302へ出力し、その他の演算処理を示していれば基本演算処理部301へ出力する。メディアン演算処理部302では、パケットPA2のフィールド24に格納された画像データに対して、メディアンフィルタ処理を実行する。基本演算処理部301ではメディアンフィルタ処理以外の処理をパケットPA2の内容に対し実行する。合流部304は、メディアン演算処理部302からのパケットと基本演算処理部301からのパケットを順次入力して、プログラム記憶部14へ出力する。
【0139】
メディアン演算処理部302では、入力回路200に相当の回路において、与えられるパケットPA2のフィールド24のN個の画素値を、K個の画素値ずつK個のグループに分割して、分割後の画素値をフィールド24に格納したパケットPA2が生成される。生成されたパケットについて、図1に示したようなソート器およびデータシフト器に相当の回路を通過させることにより、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値が除去される。これら回路を通過したパケットは、画素値が除去された後の(N−(N−1)/2)個の画素値をフィールド24に格納している。最終的に、図1のソート器219に相当の回路においてパケットの(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値がメディアンとしてフィールド24に格納されたパケットが生成されて出力される。
【0140】
メディアン演算処理部302に図7に相当の回路が適用されたときは、入力回路800に相当の回路において、フィールド24に画像データ917の画素値を格納したパケットPA2を入力すると、K個の画素ずつ6個のグループに分割した画素値をフィールド24に格納したパケットPA2を生成して出力する。パケットPA2のフィールド24の内容はソート器901〜906に対応の回路によりソートされる。
【0141】
その後、パケットPA2のフィールド24の内容は対応するウィンドウのモジュールに対応の回路に与えられる。各モジュールでは対応のウィンドウに含まれるN個の画素値を格納したパケットPA2を入力して、前述と同様にシフトしながら画素値を除去して、メディアンが抽出されて、パケットPA2のデータフィールドに該メディアン918を格納して該パケットPA2を出力する。
【0142】
プログラム記憶部14のプログラムメモリ19には、複数の次位の命令コードOPおよびノード番号NDからなるデータフロープログラムが予め格納される。予め格納される命令コードには、メディアンフィルタ処理を指示する命令コードが含まれる。プログラム記憶部14は、与えられたパケットPA1を入力し、該入力パケットPA1のノード番号NDに基づくアドレス指定によって、プログラムメモリ19から次位のノード番号NDおよび次位の命令コードOPを読出し、読出したノード番号NDと命令コードOPを該入力パケットPA1のフィールド22および21のそれぞれに格納して、該パケットPA1を入出力/経路制御部10へ出力する。なお、プログラム記憶部14では世代番号GEはデータDは変化しない。
【0143】
入出力/経路制御部10は、与えられたパケットPA1を入力し、該入力パケットPA1の命令コードOPとノード番号NDに基づいて、該パケットPA1の内容は該データ駆動型情報処理装置1の内部および外部のいずれで実行されるべきかを判別する。判別結果に基づいて、該パケットPA1は伝送路5または6を介して外部に出力されるか、または発火制御部11に出力される。
【0144】
このようにして、プログラムメモリ19に格納されたメディアンフィルタ処理の命令コードを含むプログラムに従う処理は、パケットがデータ駆動型情報処理装置1内を周回することによるパイプライン処理に従い並列に実行される。したがって、メディアンフィルタ処理対象の画像データ量が多くても高速に処理を実行できる。
【0145】
(実施の形態3)
上述の各実施の形態では、メディアンフィルタ処理はハードウェアまたはデータ駆動型情報処理装置にて実現していたが、本実施の形態で示すようにノイマン型情報処理装置で実行可能なソフトウェアで実現しても良い。
【0146】
図13(A)と(B)の本実施の形態3に係るメディアンフィルタ処理のフローチャートは、図1と図7のメディアンフィルタ装置の機能をプログラムにて実行する場合の手順を示す。
【0147】
図14は本実施の形態3に係るコンピュータの構成が示される。図14のコンピュータは、CRT(陰極線管)などからなるモニタ110、キーボード150、マウス160、該コンピュータ自体を集中的に制御するためのCPU(中央処理装置の略)122、ROM(Read Only Memory)またはRAM(ランダムアクセスメモリの略)を含んで構成されるメモリ124、固定ディスク126、FD(フレキシブルディスク)132が着脱自在に装着されて、装着されたFD132をアクセスするFD駆動装置130、CD−ROM(Compact Disc Read Only Memory)142が着脱自在に装着されて、装着されたCD−ROM142をアクセスするCD−ROM駆動装置140、通信ネットワーク182と、該コンピュータとを通信接続するための通信インターフェィス180を含む。これらの各部はバスを介して通信接続される。
【0148】
コンピュータには、カセット形式の磁気テープが着脱自在に装着されて磁気テープをアクセスする磁気テープ装置が設けられても良い。
【0149】
図13(A)のフローチャートを参照して図14のコンピュータにより、処理対象の画像データについて3×3サイズのウィンドウ内の9個の画素値の中央値(メディアン)を算出する手順を説明する。予め、処理対象の画像データはメモリ124に格納されていると想定する。
【0150】
ステップT1では、CPU122はメモリ124の画像データから、上述のウインドウ内の9個の画素値を読出して入力し、入力した9この画素値を縦一列の3個の画素値からなる3組のグループに分ける。ステップT2では、ステップT1で分けられた3組のグループに対し個々のグループごとに3個の画素値を所定順(降順または昇順)にソートする。
【0151】
ステップT3では、ステップT2で得られた3組のグループのソート結果を一時的に格納する。そして格納された各グループの最大値どうしを比較する。その比較結果に基づき、3個の最大値のうちの最大の値と、2番目の値を判定して、判定された最大の値と、2番目の値を含むグループそれぞれのソート結果をシフト操作する。ここでシフト操作とはグループのソート結果に対し、最大値を取り除き、2番目以下の値の順位を繰り上げて、新たな順位をつけてソート結果とすることである。このシフト操作により、最大値と2番目の値を含むグループそれぞれでは、シフト操作により1番目の画素値が取り除かれ、かつ2番目以降の画素値が繰り上がっている。
【0152】
ステップT4では、ステップT3でシフトされた結果を入力して一時的に格納する。そして格納された各グループの最大値どうしを比較する。その比較結果に基づき、3個の最大値のうちの最大の値を判定して、判定された最大値を含むグループのソート結果をシフト操作する。このシフト操作により、シフト対象となったグループでは最大値が取り除かれ、2番目以降の値の順位が繰り上がる。
【0153】
ステップT5では、ステップT4によりシフト操作された結果に対して、ステップT4と同様の格納、判定およびシフトの操作をもう一度行なう。このようにステップST3〜ST5では、画素値を除去するために、画素値の格納して、判定し、判定結果に基づき格納された画素値をシフトする(シフトにより判定された画素値が除去される)手順が実行される。
【0154】
ステップT6では、ステップT5でシフトされた結果に基づき、各グループの最大値どうしをソートし、ソート結果により得られた最大値を9個の入力画素値のメディアンとして出力する。
【0155】
ここで、9個の入力画素値のメディアンは、9個の入力値をソートし5番目の値になる。ステップT3〜T5の操作により、入力画素値より画素値の大きいものから4個取り除かれたことになり、残り5個の画素値となっている。そして残り5個の画素値の中での最大値が9個の入力値をソートした5番目の値であり、メディアンにあたる。
【0156】
ここではステップT3〜T5において、最大値がシフトにより除去されているが、最大値に代替して最小値がシフトにより除去されてもよい。最小値を除去する場合には、所定順にソートした場合の6番目〜9番目の画素値を除去し、除去された後の5個の画素値から、所定順にソートした場合の5番目の画素値を、メディアンとして求めればよい。
【0157】
ここでは、9個の画素を入力しているが、入力する画素数は9個に限定されない。つまり、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素数を対象とすることができる。N個の画素数を対象としてシフトしながら最大値を除去する場合には、ステップT3〜T5の処理は、入力されたN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去するように変更されて、ステップT6の処理は、除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値がメディアンとなるように変更される。最大値に代替して最小値を除去する場合には、ステップT3〜T5の処理は、入力されたN個の画素値から、所定順にソートした場合の((N−1)/2+2)番目〜N番目の画素値を除去するように変更されて、ステップT6の処理は、除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値がメディアンとなるように変更される。
【0158】
図13(B)には図7に対応のフローチャートが示される。ここでは図8の画像データ917はメモリ124に予め格納されていると想定する。図13(B)を参照して、ステップT10においてCプ122はメモリ124から画像データ917を読出して、グループG11〜G16に分割して、各グループの画素値を所定順(降順または昇順)にソートする。ステップST11では、図8のウィンドウW1〜W4のそれぞれを構成する3つのグループが、グループG11〜G16から特定される。その後、いずれか1つのウィンドウを指定して、ステップST12では指定された該ウィンドウについて特定された3個のグループの画素値について、図13(A)のステップT3〜T6の処理が行われてメディアン918が算出される。その後、ステップST13では、全てのウィンドウが指定されたか否か判定される。全て指定済みであれば(ST13でYES)、全てのウィンドウについてメディアン918が算出されたことになるので処理は終了するが、未指定のウィンドウがあれば(ST13でNO)、ST12の処理が未指定のウィンドウに対して行われる。
【0159】
ここでは、処理対象の画像データは予めメモリ124に格納されているとしたが、FD132、通信ネットワーク182などを介して外部から供給されてもよい。
【0160】
(実施の形態4)
実施の形態3に示すフローチャートに従うプログラムはコンピュータで読取可能な記録媒体に格納される。
【0161】
本実施の形態では、この記録媒体として、図14にのコンピュータで処理が行なわれるために必要なメモリ、たとえばメモリ124のROMそのものであってもよいし、また図示されない磁気テープ装置およびCD−ROM駆動装置140に装着されることで読取可能な図示されない磁気テープまたはCD−ROM142であってもよい。いずれの場合においても、これら記録媒体に格納されているプログラムはCPU122によりアクセスされて実行されてもよいし、あるいはプログラムが一旦記録媒体から読出されて、読出されたプログラムは図14のコンピュータの所定のプログラム記憶エリア、たとえばメモリ124のRAMにロードされて、CPU122により所定プログラム記憶エリアから読出されて実行されてもよい。このロード用のプログラムは、予め当該コンピュータに格納されているとする。
【0162】
上述した記録媒体はコンピュータ本体と分離可能に構成されて、プログラムを固定して担持する媒体であってよい。たとえば、記録媒体は、磁気テープやカセットテープなどのテープ系、FD132や固定ディスク126などの磁気ディスクやCD−ROM142/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)などの光ディスクのディスク系、ICカード(メモリカードを含む)/光カードなどのカード系、あるいはマスクROM、EPROM(Erasable and Programmable ROM)、EEPROM(Electrically EPROM)、フラッシュROMなどの半導体メモリなどであってよい。
【0163】
また、図14のコンピュータはインターネットを含む各種の通信回線が適用される通信ネットワーク182と接続可能であるから、通信ネットワーク182からプログラムがダウンロードされる記録媒体、いわゆる流動的にプログラムを担持する記録媒体であってもよい。信ネットワーク182からプログラムがダウンロードされる場合には、ダウンロード用プログラムは予め当該コンピュータに格納しておくか、あるいは別の記録媒体から予めコンピュータにインストールされる。
【0164】
なお記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【0165】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0166】
【発明の効果】
この発明によれば、フィルタ処理では画素値のソート回数は少ないので、ソートに関する回路点数を少なくでき、また高速にメディアンを求めることができる。
【図面の簡単な説明】
【図1】本実施の形態1に係る一方のメディアンフィルタ装置の構成を示す図である。
【図2】(A)〜(G)には図1のメディアンフィルタ装置における画素値のソートとシフトの詳細を示す図である。
【図3】実施の形態1に係るソート器の構成を示す図である。
【図4】実施の形態1に係る最大値判定器の構成を示す図である。
【図5】実施の形態1に係るデータシフト器によるシフト操作を説明する図である。
【図6】(A)と(B)は実施の形態1に係るデータシフト器の構成例とシフト操作のための信号のテーブルを示す図である。
【図7】実施の形態1に係るメディアンフィルタ装置の他方のハードウェア構成例を示す図である。
【図8】図7のメディアンフィルタ装置に対する入力データである画像データの一例を示す図である。
【図9】実施の形態2に係るデータ駆動型処理システムの構成図である。
【図10】実施の形態2に係るデータ駆動型情報処理装置の構成図である。
【図11】実施の形態2に係る演算処理部の構成図である。
【図12】(A)〜(C)は実施の形態2に係るパケットのフィールド構成図である。
【図13】(A)と(B)は実施の形態3に係るメディアンフィルタ処理のフローチャートである。
【図14】実施の形態3に係るコンピュータの構成図である。
【図15】従来のメディアンフィルタ装置の構成例を示す図である。
【符号の説明】
1 データ駆動型情報処理装置、13 演算処理部、100,917 画像データ、101,918 メディアン、124 メモリ、126 固定ディスク、132 FD、142 CD−ROM、182 通信ネットワーク、200,800 入力回路、204〜206,219,901〜916 ソート器、207〜209,211〜213,215〜217 データシフト器、301 基本演算処理部、302 メディアン演算処理部、303 分岐部、304 合流部、907〜910 モジュール。
【発明の属する技術分野】
この発明はデジタル信号をフィルタ処理するためのフィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体に関し、特に、雑音を含む画像データから雑音を取り除くメディアンフィルタのためのフィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体に関する。
【0002】
【従来の技術】
画像を扱う各分野において、入力画像の雑音除去の一手法としてメディアンフィルタ処理は、重要な機能であり、その高速化が必要とされている。
【0003】
メディアンフィルタ処理とは、入力画像の各画素に対し、各画素を中心とするK×Lサイズのウィンドウ(局所領域)内の、K×L個の画素の輝度データ(以下、画素値と記す)の中央値(メディアン)を、出力画像における各画素の画素値とする処理である。
【0004】
従来、3×3のウィンドウに対するメディアンフィルタ処理は、ウィンドウ内の9つの画素値をソートして、これら画素値の中央値を算出していた。
【0005】
図15に従来のメディアンフィルタ装置の構成例を示す。図15のメディアンフィルタ装置は、入力データを昇順または降順にソートして出力するソート回路801〜803、805、806、808、809および811と、セレクタ804、807および810と、最大値判定器812〜814と、最小値判定器815〜817とを備える。
【0006】
図15のメディアンフィルタ装置の動作を、3×3サイズのウィンドウ内の、9個の画素値A0〜A2、B0〜B2およびC0〜C2の中央値を求める場合について説明する。
【0007】
まず、予め9個の画素値A0〜A2、B0〜B2およびC0〜C2は1グループあたり3個の画素値からなる3つのグループG1〜G3に分割されて、グループG1〜G3はソート回路801〜803にそれぞれ入力される。
【0008】
ソート回路801〜803のそれぞれは、入力したグループの3個の画素値をソートしてソート結果をセレクタ804に出力し、ソート結果が示す最大の画素を最大値判定器812へ出力し、ソート結果が示す最小の画素値を最小値判定器815へ出力する。
【0009】
最大値判定器812はグループG1〜G3の最大の画素値を入力し、入力した画素値どうしを比較し、入力した画素値のうち最大の画素値を判定し、判定結果をセレクタ804へ出力する。最小値判定器815はグループG1〜G3の最小の画素値を入力し、入力した画素値どうしを比較し、入力した画素値のうち最小の画素値を判定し、判定結果をセレクタ804へ出力する。
【0010】
セレクタ804はソート回路801〜803からソート結果である9個の画素値を入力して、最大値判定器812および最小値判定器815から与えられた判定結果が示す最大画素値および最小画素値を取除いた後に出力する。この操作により、入力した9個の画素値から2個の画素値が取除かれるので、7個の画素値が出力される。
【0011】
次に、セレクタ804は、この7個の画素値を3個、3個および1個の画素値からなる3つのグループに分割して出力する。具体的には、3個の画素値からなるグループをソート回路805と806へそれぞれ出力し、1個の画素値からなるグループ818をセレクタ807、最大値判定器813および最小値判定器816へそれぞれ出力する。ソート回路805と806のそれぞれは、入力したグループの画素値についてソートし、ソート結果をセレクタ807へ出力し、ソート結果が示す最大の画素値を最大値判定器813へ出力し、最小の画素値を最小値判定器816へ出力する。
【0012】
最大値判定器813は与えられる3つの画素値を入力し、入力した画素値どうしを比較し、入力した画素値のうち最大の画素値を判定し、判定結果をセレクタ807へ出力する。最小値判定器816は与えられる画素値を入力し、入力した画素値どうしを比較し、入力した画素値のうち最小の画素値を判定し、判定結果をセレクタ807へ出力する。
【0013】
セレクタ807はソート回路805と806からソート結果である6個の画素値およびグループ818の1個の画素値を入力して、最大値判定器813および最小値判定器816から与えられた判定結果が示す最大画素値および最小画素値を取除いた後に出力する。この操作により、入力した7個の画素値から2個の画素値が取除かれるので、5個の画素値が出力される。
【0014】
次に、セレクタ807は、この5個の画素値を3個からなるグループおよび2個の画素値からなるグループに分割して、3個からなるグループをソート回路808に、2個からなるグループをソート回路809にそれぞれ出力する。ソート回路808と809のそれぞれは、入力したグループの画素値についてソートし、ソート結果をセレクタ810へ出力し、ソート結果が示す最大の画素値を最大値判定器814へ出力し、最小の画素値を最小値判定器817へ出力する。
【0015】
最大値判定器814は入力した画素値どうしを比較し、入力した画素値の中での最大の画素値を判定し、判定結果をセレクタ810へ出力する。最小値判定器817は入力した画素値どうしを比較し、入力した画素値の中でこの中で最小の画素値を判定し、判定結果をセレクタ810へ出力する。
【0016】
セレクタ810はソート回路808と809からソート結果である5個の画素値を入力して、最大値判定器814および最小値判定器817から与えられた判定結果が示す最大画素値および最小画素値を取除いた後にソート回路811に出力する。この操作により、入力した5個の画素値から2個の画素値が取除かれるので、3個の画素値が出力される。
【0017】
ソート回路811はセレクタ810から入力した3個の画素値をソートし、ソート結果が示す画素値列の中央に位置する画素値を、メディアンとして出力する。
【0018】
【発明が解決しようとする課題】
上述のメディアンフィルタ処理では、9個の入力画素値から中央値を求めるために、入力画素値を3個の画素値からなる3つのグループに分割して個々のグループごとにソート処理を行ない、その後ソート結果から最大画素値と最小画素値の2個の画素値をセレクタで取除いて、処理対象となる画素値の数を減らす。そしてこの処理を繰り返して、処理対象となる画素値を2個ずつ減らしていき、最後に中央値を求めていた。この場合、最大画素値と最小画素値を取除く毎に、ソートを行なう必要があり、図15ではソート回路は8個必要であった。また最大値および最小値判定器はそれぞれ3個必要であった。ソート回路ならびに最大値および最小値判定器には、それぞれ比較器が使われているので、図15の全体では36個の比較器が必要であった。これがメディアンフィルタ装置の回路規模の増大および該メディアンフィルタ装置を用いたメディアンフィルタ処理をパイプライン処理に従い実行する場合のパイプライン段数の増加を招くので、メディアンフィルタ処理を高速に実行するのが困難であった。
【0019】
それゆえにこの発明の目的は、回路規模が小さいフィルタ装置を提供することである。
【0020】
この発明の他の目的は、フィルタ処理を高速に実行するフィルタ装置およびデータ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびこのフィルタプログラムを記録した機械読取り可能な記録媒体を提供することである。
【0021】
【課題を解決するための手段】
この発明のある局面に係るフィルタ装置は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるために入力手段と、除去手段と、ソート手段とを備える。
【0022】
入力手段がN個の画素値を入力すると、除去手段は入力されたN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する。ソート手段は、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値をメディアンとして出力する。
【0023】
この発明の他の局面に係るフィルタ装置は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるために、入力手段、除去手段およびソート手段を備える。
【0024】
入力手段が、N個の画素値を入力すると、除去手段は、入力されたN個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する。ソート手段は、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値をメディアンとして出力する。
【0025】
したがって、上述のフィルタ装置では画素値のソートは、除去手段のための1回とソート手段の1回との2回となるので、フィルタ装置のソートに関する回路点数を少なくできる。それゆえに、装置の規模が小型化される。また、ソートに関する処理が少ないので、当該フィルタ装置により高速にメディアンを求めることができる。
【0026】
上述のフィルタ装置では好ましくは、所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、フィルタ装置の設計について高い自由度を得ることができる。
【0027】
上述のフィルタ装置では好ましくは、入力手段は、分割手段とグループソート手段とを有する。分割手段がN個の画素値を入力して、K個の画素値ずつK個のグループに分割すると、グループソート手段は分割により得られたK個のグループそれぞれをについて、該グループの画素値を入力して、所定順にソートして除去手段に出力する。
【0028】
除去手段は、N個の画素値から(N−1)/2個の画素値を除去するために縦列接続された複数の画素除去部を有する。画素除去部のそれぞれは、判定部およびK個のグループの画素値を入力して、一旦格納して出力するシフト格納部を有する。判定部が、与えられるK個のグループ間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定すると、シフト格納部は、判定された画素値を含むグループにおいては、格納された該グループの画素値から判定された該画素値を除去して、除去後の画素値の所定順に従う2番目以降の画素値の順位をシフトさせて出力する。
【0029】
したがって、画素除去部のそれぞれは、判定部のための回路とシフト格納部のための回路とを有するだけでよいから、回路点数を少なくできる。
【0030】
この発明のさらなる他の局面に係るフィルタ装置は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるために、入力手段、複数局所領域のそれぞれに対応したメディアン抽出手段とを備える。メディアン抽出手段は除去手段とソート手段とを有する。
【0031】
入力手段が所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力すると、メディアン抽出手段の除去手段は、対応の局所領域に含まれるN個の画素値を入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する。ソート手段は、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値をメディアンとして出力する。
【0032】
この発明のさらなる他の局面に係るフィルタ装置は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるために、入力手段と、複数局所領域のそれぞれに対応したメディアン抽出手段とを備える。メディアン抽出手段は除去手段とソート手段とを有する。
【0033】
入力手段が、所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力すると、メディアン抽出手段の除去手段は、対応の局所領域に含まれるN個の画素値を入力して、入力画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する。ソート手段は、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値をメディアンとして出力する。
【0034】
したがって、上述のフィルタ装置によれば、画素値のソートは、除去手段のための1回とソート手段の1回との2回となるので、フィルタ装置のソートに関する回路点数を少なくできる。それゆえに、装置の規模が小型化される。また、ソートに関する処理が少ないので、当該フィルタ装置により高速にメディアンを求めることができる。
【0035】
上述のフィルタ装置では、重複する領域間上述のソート結果を共用するので、処理を高速化できる。
【0036】
上述のフィルタ装置では好ましくは所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、フィルタ装置の設計について高い自由度を得ることができる。
【0037】
上述のフィルタ装置では好ましくは、入力手段は、分割手段とグループソート手段とを有する。分割手段が、局所領域の画素値を入力して、K個の画素値の複数のグループに分割すると、グループソート手段は、分割により得られた複数グループそれぞれをについて、該グループの画素値を入力して、所定順にソートして、該グループが属する局所領域に対応の除去手段に出力する。
【0038】
除去手段は、N個の画素値から(N−1)/2個の画素値を除去するために縦列接続された複数の除去部を有する。除去部のそれぞれは、判定部およびK個のグループの前記画素値を入力して、一旦格納して出力するシフト格納部を有する。判定部が与えられるK個のグループ間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定すると、シフト格納部は、判定された前記画素値を含むグループにおいては、格納された該グループの画素値から判定された該画素値を除去して、除去後の画素値の所定順に従う2番目以降の画素値の順位をシフトさせて出力する。
【0039】
したがって、除去部のそれぞれは、判定部のための回路とシフト格納部のための回路とを有するだけでよいから、回路点数を少なくできる。
【0040】
この発明のさらなる他の局面に係るデータ駆動型情報処理装置は、行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備える。
【0041】
演算手段は、フィルタ演算手段と、その他演算手段と分岐手段とを有する。フィルタ演算手段は、メディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、入力パケットの命令情報に基づいて該入力パケットをフィルタ演算手段および他の演算手段のいずれかに出力する分岐手段とを有する。メディアンフィルタ命令は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンの算出を指示する。
【0042】
フィルタ演算手段は、除去手段とソート手段とを含む。除去手段は与えられるパケットのデータフィールドのN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する。ソート手段は、画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値を、メディアンとしてパケットのデータフィールドに格納して該パケットを出力する。
【0043】
この発明のさらなる他の局面に係るデータ駆動型情報処理装置は、行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備える。
【0044】
演算手段は、メディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、入力パケットの命令情報に基づいて該入力パケットをフィルタ演算手段および他の演算手段のいずれかに出力する分岐手段とを有する。メディアンフィルタ命令は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンの算出を指示する。
【0045】
フィルタ演算手段は、除去手段とソート手段とソート手段を含む。
除去手段が、与えられるパケットのデータフィールドのN個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去すると、ソート手段は、画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値を、メディアンとしてパケットのデータフィールドに格納して該パケットを出力する。
【0046】
上述のデータ駆動型情報処理装置によれば、メディアンフィルタ命令を含むデータフロープログラムに従う処理は、パケットがデータ駆動型情報処理装置内を周回することによるパイプライン処理に従い並列に実行される。したがって、メディアンフィルタ処理対象の画像データ量が多くても高速に処理を実行できる。
【0047】
また、フィルタ演算手段では画素値のソートは、除去手段のための1回とソート手段の1回との2回となるので、フィルタ演算手段のソートに関する回路点数を少なくできる。それゆえに、データ駆動型情報処理装置の規模が小型化される。
【0048】
上述のデータ駆動型情報処理装置では好ましくは所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、フィルタ演算手段の設計について高い自由度を得ることができる。
【0049】
上述のデータ駆動型情報処理装置では好ましくは、フィルタ演算手段は分割手段とグループソート手段とを含む入力手段をさらに有する。入力手段は分岐手段からパケットを入力すると、分割手段が入力パケットのデータフィールドのN個の画素値を、K個の画素値ずつK個のグループに分割する。グループソート手段は分割により得られたK個のグループそれぞれをについて、該グループの画素値を入力して、所定順にソートした後、該パケットのデータフィルードに格納して、該パケットを除去手段に出力する。
【0050】
除去手段は、N個の画素値から(N−1)/2個の画素値を除去するために縦列接続された複数の画素除去部を有する。画素除去部のそれぞれは、判定部およびK個のグループの画素値を入力して、一旦格納して出力するシフト格納部を有する。判定部が、与えられるK個のグループのパケットの間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定する。シフト格納部は、判定された画素値を含むグループのパケットにおいては、格納された該グループの画素値から判定された該画素値を除去して、除去後の画素値の所定順に従う2番目以降の画素値の順位をシフトさせて該パケットを出力する。
【0051】
したがって、画素除去部のそれぞれは、判定部のための回路とシフト格納部のための回路とを有するだけでよいから、回路点数を少なくできる。
【0052】
この発明のさらなる他の局面に係るデータ駆動型情報処理装置は行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備える。
【0053】
演算手段は、メディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、入力パケットの命令情報に基づいて該入力パケットをフィルタ演算手段および他の演算手段のいずれかに出力する分岐手段とを有する。
【0054】
メディアンフィルタ命令はデジタル化された画像においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンの算出を指示する。
【0055】
フィルタ演算手段は、入力手段と、複数局所領域のそれぞれに対応したメディアン抽出手段とを含む。入力手段は、与えられるパケットのデータフィールドの複数の局所領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値をデータフィールドに格納したパケットを出力する。メディアン抽出手段は、対応の局所領域に含まれるN個の画素値を格納したパケットを入力手段から入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する除去手段と、除去手段により画素値が除去された後のパケットのデータフィールドの(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値を、メディアンとして抽出してパケットのデータフィールドに格納して該パケットを出力する。
【0056】
この発明のさらなる他の局面に係るデータ駆動型情報処理装置は、行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備える。
【0057】
演算手段は、メディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、入力パケットの命令情報に基づいて該入力パケットをフィルタ演算手段および他の演算手段のいずれかに出力する分岐手段とを有する。メディアンフィルタ命令は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンの算出を指示する。
【0058】
前記フィルタ演算手段は、与えられるパケットの前記データフィールドの所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値をデータフィールドに格納したパケットを出力する入力手段と、複数局所領域のそれぞれに対応したメディアン抽出手段とを含む。
【0059】
メディアン抽出手段は、対応の局所領域に含まれるN個の画素値を格納したパケットを入力手段から入力して、入力画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する除去手段と、除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値を、メディアンとして抽出しパケットのデータフィールドに格納して該パケットを出力するソート手段とを含む。
【0060】
上述のデータ駆動型情報処理装置によれば、メディアンフィルタ命令を含むデータフロープログラムに従う処理は、パケットがデータ駆動型情報処理装置内を周回することによるパイプライン処理に従い並列に実行される。したがって、メディアンフィルタ処理対象の画像データ量が多くても高速に処理を実行できる。
【0061】
また、フィルタ演算手段では画素値のソートは、除去手段のための1回とソート手段の1回との2回となるので、フィルタ演算手段のソートに関する回路点数を少なくできる。それゆえに、データ駆動型情報処理装置の規模が小型化される。
【0062】
上述のデータ駆動型情報処理装置では、重複する領域間で並列処理をする際、上述のソート結果を重複する領域間で共用するので、処理を高速化できる。
【0063】
上述のデータ駆動型情報処理装置では好ましくは所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、フィルタ演算手段の設計について高い自由度を得ることができる。
【0064】
上述のデータ駆動型情報処理装置では好ましくは複数の行先情報および複数の命令情報からなるデータフロープログラムを記憶し、パケットを入力して、データフロープログラムから次位の行先情報および次位の命令情報を読出し、該入力パケットの行先フィールドおよび命令フィールドのそれぞれに格納して、該入力パケットを出力するプログラム記憶手段と、プログラム記憶手段から出力されるパケットを入力して、該入力パケットの命令フィールドの命令情報の実行のために必要とされる内容を格納して該入力パケットを演算手段に出力する対データ検出手段と、演算手段から出力されたパケットを入力して、外部またはプログラム記憶手段に出力する入出力制御手段とをさらに備える。
【0065】
上述のデータ駆動型情報処理装置によれば、メディアンフィルタ命令の命令情報を含むデータフロープログラムをプログラム記憶手段に予め記憶させておくだけで、メディアンフィルタ処理を実行できる。
【0066】
この発明のさらなる他の局面に係るフィルタ方法は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるために、入力ステップ、除去ステップおよびソートステップを備える。入力ステップにおいて、N個の画素値を入力すると、除去ステップでは、入力されたN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値が除去される。ソートステップでは、除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値をメディアンとして出力する。
【0067】
この発明のさらなる他の局面に係るフィルタ方法は、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるために、入力ステップ、除去ステップおよびソートステップを備える。
【0068】
入力ステップにおいてN個の画素値を入力すると、除去ステップでは、入力されたN個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値が除去される。ソートステップでは、除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値が、メディアンとして出力される。
【0069】
したがって、上述のフィルタ方法では画素値のソートは、除去ステップのための1回とソートステップの1回との2回となるので、ソートに関する処理を少なくできるので、当該フィルタ方法により高速にメディアンを求めることができる。
【0070】
上述のフィルタ方法では好ましくは、所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、メディアンを求める手順について高い自由度を得ることができる。
【0071】
上述のフィルタ方法では好ましくは、入力ステップは、分割ステップとグループソートステップとを有する。分割ステップにおいてN個の画素値を入力して、K個の画素値ずつK個のグループに分割すると、グループソートステップでは分割により得られたK個のグループそれぞれをについて、該グループの画素値を入力して、所定順にソートして除去ステップに与える。
【0072】
除去ステップは、N個の画素値から(N−1)/2個の画素値を除去するために縦列処理する複数の画素除去ステップを有する。画素除去ステップのそれぞれは、判定ステップおよびK個のグループの画素値を入力して、一旦格納して出力するシフト格納ステップを有する。判定ステップが、与えられるK個のグループ間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定すると、シフト格納ステップは、判定された画素値を含むグループにおいては、格納された該グループの画素値から判定された該画素値を除去して、除去後の画素値の所定順に従う2番目以降の画素値の順位をシフトさせて出力する。
【0073】
したがって、画素除去ステップのそれぞれは、判定ステップとシフト格納ステップのための処理を実行するだけでよいから、メディアンを高速に求めることができる。
【0074】
この発明のさらなる他の局面に係る上述のフィルタ方法のフィルタプログラムをコンピュータに実行させることにより、上述したような各フィルタ方法により得られる効果を得ることができる。
【0075】
この発明のさらなる他の局面に係る機械読取り可能な記録媒体に記録された上述のフィルタプログラムをコンピュータにより実行することで、上述したような各フィルタ方法により得られる効果を得ることができる。
【0076】
この発明のさらなる他の局面に係るフィルタ方法は、デジタル化された画像においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるために、入力ステップ、複数局所領域のそれぞれに対応したメディアン抽出ステップとを備える。メディアン抽出ステップは除去ステップとソートステップとを有する。
【0077】
入力ステップにおいて所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力すると、メディアン抽出ステップの除去ステップでは、対応の局所領域に含まれるN個の画素値を入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値が除去される。ソートステップでは、除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値がメディアンとして出力される。
【0078】
この発明のさらなる他の局面に係るフィルタ方法は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるために、入力ステップと、複数局所領域のそれぞれに対応したメディアン抽出ステップとを備える。メディアン抽出ステップは除去ステップとソートステップとを有する。
【0079】
入力ステップにおいて、所定領域の画素値を入力して、複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力すると、メディアン抽出ステップの除去ステップでは、対応の局所領域に含まれるN個の画素値を入力して、入力画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値が除去される。ソートステップでは、除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値がメディアンとして出力される。
【0080】
したがって、上述のフィルタ方法によれば、画素値のソートは、除去ステップのための1回とソートステップの1回との2回となるので、ソートに関する処理が少なくなり、当該フィルタ方法により高速にメディアンを求めることができる。
【0081】
上述のフィルタ方法では好ましくは所定順は降順および昇順のいずれかである。したがって、画素値を昇順及び降順のいずれでソートするようにしてもよいから、メディアンを求める方法の設計について高い自由度を得ることができる。
【0082】
上述のフィルタ方法では好ましくは、入力ステップは、分割ステップとグループソートステップとを有する。分割ステップで、局所領域の画素値を入力して、K個の画素値の複数のグループに分割すると、グループソートステップでは、分割により得られた複数グループそれぞれをについて、該グループの画素値を入力して、所定順にソートして、該グループが属する局所領域に対応の除去ステップに与える。
【0083】
除去ステップでは、N個の画素値から(N−1)/2個の画素値を除去するために縦列処理する複数の画素除去ステップを有する。画素除去ステップのそれぞれは、判定ステップおよびK個のグループの画素値を入力して、一旦格納して出力するシフト格納ステップを有する。判定ステップが与えられるK個のグループ間で各グループの所定順に従う1番目の画素値のうちから、所定順に従う1番目以降の1つ以上の画素値を判定すると、シフト格納ステップでは、判定された画素値を含むグループにおいては、格納された該グループの画素値から判定された該画素値が除去されて、除去後の画素値の所定順に従う2番目以降の画素値の順位がシフトされて出力される。
【0084】
したがって、画素除去ステップのそれぞれは、判定ステップとシフト格納ステップのための処理を実行するだけでよいから、高速にメディアンを求めることができる。
【0085】
この発明のさらなる他の局面に係る上述のフィルタ方法のフィルタプログラムをコンピュータに実行させることにより、上述したような各フィルタ方法による効果を得ることができる。
【0086】
この発明のさらなる他の局面に係る機械読取り可能な記録媒体に記録された上述のフィルタプログラムをコンピュータにより実行することで、上述したような各フィルタ方法による効果を得ることができる。
【0087】
【発明の実施の形態】
以下、この発明の各実施の形態について図面を参照して説明する。
【0088】
(実施の形態1)
本実施の形態では、メディアンフィルタ処理が主にハードウェアにて実現される。ここでは、2つのハードウェア構成例が示される。
【0089】
(メディアンフィルタ装置の第1の構成例)
図1に一方のハードウェア構成例が示される。図1に示すメディアンフィルタ装置は、入力データである画像データ100の各画素に対し、各画素を中心とする3×3サイズのウィンドウ内の、9個の画素値の中央値を、メディアン101として出力とする。
【0090】
図1のメディアンフィルタ装置は、画像データ100を入力して、9個の画素値を3個の画素値のグループ201〜203に生成して出力する入力回路200、複数の画素値を入力して昇順または降順にソートした後に出力するソート器204〜206、データシフト器207〜209、211〜213および215〜217、最大値判定器210、214および218、ならびに複数の画素値を入力してソートし、ソート結果が示す最大の画素値のみ出力するソート器219を備える。ソート器219が出力する画素値はメディアン101を示す。図2(A)〜(G)には図1のメディアンフィルタ装置における画素値のソートとシフトの詳細が示される。図1ではグループ201に対応してソート器204ならびにデータシフト器207、211および215が設けられ、グループ202に対応してソート器205ならびにデータシフト器208、212および216が設けられ、グループ203に対応してソート器206ならびにデータシフト器209、213および217が設けられる。
【0091】
動作において、図2(A)に示す画像データ100が入力回路200に与えられると、入力回路200は画像データ100を入力して、画像データ100の上述の3×3サイズのウィンドウ内の9個の画素値を縦一列の3個の画素からなる3つのグループ201〜203に分けて(図2(B)参照)、グループ201〜203をソート器204〜206にそれぞれ出力する。
【0092】
ソート器204〜206のそれぞれは、入力したグループの3個の画素値をソートして、ソート結果をデータシフト器207〜209のそれぞれに出力する。このとき、グループ201〜203それぞれのソート結果が示す該グループの最大の画素値220〜222それぞれは、最大値判定器210に出力される。このときのグループ201〜203それぞれのソート結果の一例が図2(C)に示される。この例では最大値判定器210に出力される最大の画素値220、221および222は画素値A0、B0およびC0のそれぞれである。
【0093】
図3の本実施の形態に係るソート器は比較器501〜503、セレクタ505〜507および判定器504を有する。ソート器に3つの入力値(画素値)IN0〜IN2が与えられると、入力値IN0とIN1は比較器501へ、入力値IN1とIN2は比較器502へ、および入力値IN0とIN2は比較器503へそれぞれ与えられる。比較器501〜503のそれぞれは、与えられた2つの入力値を比較して、比較結果を示す信号514〜516のそれぞれを判定器504に出力する。判定器504は入力した信号514〜516に基づいて入力値IN0〜IN2の大きさの順番を判定し、判定結果を示す信号517を出力する。出力された信号517はセレクタ505〜507のそれぞれに与えられる。セレクタ505〜507のそれぞれは、入力した信号517に従い、入力値1N0〜1N2から出力値(画素値)OUT0〜OUT2それぞれを出力する。ここで、出力値はOUT0>OUT1>OUT2の関係になっている。
【0094】
図1において、最大値判定器210は入力した最大の画素値220〜222を比較し、画素値220〜222の中から最大の画素値を判定し、該最大画素値を含むグループを判定し、判定結果を示す信号229をデータシフト回路207〜209のそれぞれに出力する。
【0095】
ここでは信号229はグループ201〜203それぞれの最大の画素値の中で、1番目と2番目に大きい画素値を含んでいるグループを示している。信号229は後述するシフト信号404に対応する。1番目および2番目に大きい画素値を含んでいるグループに対応のデータシフト器には信号229はONレベルで与えられて、それ以外のグループに対応のデータシフト器には信号229はOFFレベルで与えられる。
【0096】
図4に示す本実施の形態に係る最大値判定器は、図3のソート器の構成からセレクタを取り除いて、入力値の大小順判定のみを行なう構成を有する。具体的には比較器601〜603および判定器604を有する。3つの入力値(各グループの最大の画素値)IN0〜IN2のうち、入力値IN0とIN1は比較器601に、入力値IN1とIN2は比較器602に、および入力値IN0とIN2は比較器602にそれぞれ与えられる。比較器601〜603のそれぞれは、2つの入力値を大小比較して比較結果を示す信号605〜607のそれぞれを判定器604に出力する。判定器604は入力した信号に基づいて、入力値IN1〜IN3の大小順を判定し、判定結果を示す信号608を出力する。
【0097】
図1においてデータシフト回路207〜209それぞれは、ソート器204〜206のそれぞれから入力したソート結果である3つの画素値のうちに、最大値判定器210から入力した信号229が示す画素値、すなわち入力データ100の9つの画素値における1番目に大きい(最大の)画素値または2番目に大きい画素値を含んでいれば、ソート結果である3つの画素値をシフト操作する。データシフト回路207〜209それぞれは、シフト結果223〜225それぞれを次段のデータシフト回路211〜213それぞれに出力する。またデータシフト回路207〜209それぞれは、シフト結果が示す新たな最大の画素値を最大値判定器214に出力する。
【0098】
本実施の形態に係るデータシフト器によるシフト操作を図5を参照して説明する。データシフト器はシフトレジスタの機能を有する。つまり、与えられる画素値を入力して一旦格納して出力する。このとき、格納された画素値を必要に応じてシフト操作して出力する。ここでのシフト操作とは、ソート結果である複数の入力値から最大値を取除き2番目以降の値の順位を繰上げる操作である。図5ではソート結果であるデータDA0〜DA2のうち、最大値のデータDA0が取除かれて、データDA1とDA2の順位が繰上げられて、最大値はデータDA1に更新される。
【0099】
前述のシフト結果223〜225は図2(D)に示すように、信号229が示す最大の画素値A0と2番目に大きい画素値B0が取除かれて、画素値A1、A2、B1およびB2それぞれの順位が繰上がっている。この例では、説明を簡便にするためにグループ201と202がそれぞれ最大の画素値と2番目に大きい画素値をそれぞれ含んでいるとしている。
【0100】
図6(A)と(B)には本実施の形態に係るデータシフト器の構成例とシフト操作のための信号のテーブルが示される。図6(A)においてデータシフト器はセレクタ401と402、および最大値判定器から出力される判定結果を示すシフト信号404を入力する無効フラグ生成回路403を有する。シフト信号404は図6(B)に示すようにシフト操作を指示するときは‘ON’であり、そうでないときは‘OFF’である。
【0101】
動作において、前段から与えられた3つの入力値IN0〜IN2のうち、入力IN0とIN1はセレクタ401へ、入力IN1とIN2はセレクタ402に与えられる。また、入力値IN2は無効フラグ生成回路403に与えられる。シフト信号404がOFFの場合にはシフト操作がなされないので、図6(B)のテーブルに示すように出力値OUT0〜OUT2には入力値IN0〜IN2がそのまま出力されうようにシフト操作されない。シフト信号404がONの場合には、入力値IN0は取除かれ、入力値IN1とIN2の順位が繰り上げられる。このとき入力値IN2の順位が繰上がったので出力値OUT2に該当する入力値が無くなるため、無効フラグ生成回路403により無効フラグが生成されて、出力値OUT2に生成された無効フラグが設定される。
【0102】
図1において、最大値判定器214はグループ201〜203のシフト結果の信号223〜225を入力して、信号223〜225それぞれが示す最大の画素値どうしを比較し、この3つの最大画素値の中から最大の画素値を判定して、この最大の画素値を含むグループを判定し、判定結果を示す信号230をデータシフト器211〜213のそれぞれに出力する。ここでは信号230は判定された最大の画素値を含むグループを示している。したがって、データシフト器211〜213のうち、判定された最大の画素値を含むグループに対応のデータシフト器には前述のシフト信号404がONにして与えられる、それ以外のデータシフト器にはOFFにして与えられる。
【0103】
データシフト回路211〜213それぞれは、信号230(シフト信号404)によりシフト操作が指示されたときには、前段でシフト操作済みの対応グループの画素値について、さらにシフト操作する。データシフト回路211〜213それぞれのシフト操作の結果226〜228それぞれは、次段のデータシフト器215〜217それぞれに出力される。またデータシフト回路211〜213それぞれはシフト結果による新たな最大の画素値を最大値判定器218に出力する。図2(E)に示すシフト結果226〜228は、最大の画素値C0が取り除かれて、2番目以下の画素値C1とC2の順位が繰上がっている。この例では便宜上、グループ203が最大の画素値C0を含んでいるとしている。
【0104】
最大値判定器218は与えられる3つの画素値どうしを比較し、最大の画素値を判定する。そしてこの最大の画素値を含むグループを判定し、判定結果を示す信号231をデータシフト器215〜217に出力する。ここでは信号231は、判定された最大の画素値を含んでいるグループを示している。
【0105】
データシフト器215〜217はそれぞれ、前段のシフト結果を入力して、最大値判定器218から与えられる信号231に対応のシフト信号404に基づいて、シフト操作が指示されている場合には、入力したシフト結果が示す画素値についてシフト操作する。データシフト器215〜217それぞれのシフト結果が示す最大の画素値のみがソート器219に出力される。ソート器219は入力した画素値のうちから最大の画素値を判定するだけであるので、ソート器219に対してシフト結果の全ての画素値を与える必要はない。シフト結果は図2(F)に示すように、最大の画素値A1が取り除かれて、2番目以下の画素値A2の順位が繰上がっている。この例では便宜上グループ201が最大の画素値を含んでいるとしている。ソート器219には各グループのシフト結果の最大の画素値のみが与えられる。この例ではソート器219に与えられる最大の画素値はA2、B1およびC1である。
【0106】
ソート器219は与えられた各グループの最大の画素値を入力して、ソートし、この中から最大の画素値をメディアン(中央値)101として出力する。
【0107】
ここで、図1の構成は4個のソート器および3個の最大値判定器を含んで構成されて、該構成中に含まれる比較器は合計21個となるから、従来の図8に示す36個の比較器が必要とされる構成に比べて、比較器の数が大幅に削減される。
【0108】
図1の構成は、画像の3*3の2次元の局所領域に配列された9個の画素値を入力回路200により入力すると、入力された9個の画素値から、ソート器204〜206、データシフト器207〜209、211〜213、215〜217および219、ならびに最大値判定器210、214および231により、所定順にソートした場合の1番目〜4番目の画素値を除去し、除去された後の5個の画素値から、所定順にソートした場合の1番目の画素値を、メディアン101として出力している。
【0109】
ここでは最大値判定器210、214および218を利用して、最大値がシフトにより除去されているが、最大値判定器に代替して最小値判定器を利用して、最小値がシフトにより除去されてもよい。最小値判定器を利用する場合には、所定順にソートした場合の6番目〜9番目の画素値を除去し、除去された後の5個の画素値から、所定順にソートした場合の5番目の画素値を、メディアン101として出力すればよい。なお、所定順は降順および昇順のいずれかである。
【0110】
図1の構成では、9個の画素を入力しているが、入力する画素数は9個に限定されない。つまり、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素数を対象とすることができる。N個の画素数を対象として最大値判定器を用いた場合には、N個の画素値を入力して、入力されたN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去して、除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値が、メディアンとして出力される。最大値判定器に代替して最小値判定器を用いた場合には、N個の画素値を入力して、入力されたN個の画素値から、所定順にソートした場合の((N−1)/2+2)番目〜N番目の画素値を除去して、除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値が、メディアンとして出力される。
【0111】
(メディアンフィルタ装置の第2の構成例)
次に、並列に上述したメディアンフィルタ処理を実行する場合の構成例が示される。ここでは、例えば4並列処理について説明する。4並列処理する場合、隣り合った4つのウィンドウに対して同時に処理をする必要がある。
【0112】
図7に本実施の形態に係るメディアンフィルタ装置の他方のハードウェア構成例が示される。図8には図7のメディアンフィルタ装置に対する入力データである画像データ917の一例が示される。
【0113】
画像データ917は4個の3×3サイズのウィンドウW1〜W4が隣り合ったことを示している。図7に示すメディアンフィルタ装置は、図8の画像データ917の各ウィンドウについて、該ウィンドウの9個の画素値の中央値をメディアン918として出力とする。
【0114】
図7のメディアンフィルタ装置は、入力回路800、後述するグループG11〜G16のそれぞれに対応して設けられたソート器901〜906およびウィンドウW1〜W4のそれぞれに対応のモジュール907〜910を備える。モジュール907〜910それぞれは同様の構成を有して、図1のデータシフト器207〜217、最大値判定器210、214および218ならびにソート器219を有する。
【0115】
動作において、画像データ917が与えられると、入力回路800は画像データ917を入力して、それぞれ3つの画素からなる6個のグループG11〜G16に分ける。グループG11〜G13はウィンドウW1を、グループG12〜G14はウィンドウW2を、グループG13〜G15はウィンドウW3を、およびグループG14〜G16はウィンドウW4をそれぞれ構成する。
【0116】
グループG11〜G16のそれぞれは、ソート器901〜906に与えられるので、ソート器901〜906のそれぞれは、与えられるグループの3つの画素値をソートする。ソート器901〜903が出力するウィンドウW1に対応したソート結果911〜913は該ウィンドウW1に対応のモジュール907に、ソート器902〜904が出力するウィンドウW2に対応したソート結果912〜914は該ウィンドウW2に対応のモジュール908に、ソート器903〜905が出力するウィンドウW3に対応したソート結果913〜915は該ウィンドウW3に対応のモジュール909に、およびソート器904〜906が出力するウィンドウW4に対応したソート結果914〜916は該ウィンドウW4に対応のモジュール910にそれぞれ出力される。
【0117】
モジュール907〜910のそれぞれは、与えられるソート結果を入力して、図1で示したようにメディアンフィルタ処理して、対応のウィンドウW1〜W4のそれぞれについて中央値を求めて、メディアン918として出力する。
【0118】
ここで隣り合う4個のウィンドウW1〜W4に対して並列にメディアンフィルタ処理した場合、複数のウィンドウの重なり合った部分、すなわちグループG13およびG14は3つのウィンドウに属しており、グループG13およびG14のソート結果は3つのモジュールのメディアンフィルタ処理に使われることになる。
【0119】
このようにソート結果を隣り合うウィンドウ間で共用することにより、図7のように4並列処理を行った場合はソート器は6個となっている。もし、共用しなかった場合はソート器は12個必要であることから、図7のようにソート結果を隣り合うウィンドウ間で共用する構成とすることにより、メディアンフィルタ装置について大幅に回路規模を削減できる。
【0120】
(実施の形態2)
上述のように並列演算を伴うメディアンフィルタ処理は並列処理に適したデータ駆動型の演算装置で実行することが望ましい。本実施の形態では、上述のメディアンフィルタ装置が搭載されたデータ駆動型情報処理装置が示される。
【0121】
メディアンフィルタ装置がデータ駆動型情報処理装置に搭載された場合には、データ駆動型情報処理装置は画像処理装置本体となる。
【0122】
画像データなどの大容量データの高速処理が求められる場合には並列処理が有効である。並列処理向きアーキテクチャのうちでも、データ駆動型アーキテクチャが特に注目される。
【0123】
データ駆動型処理方式では、「ある処理に必要な入力データが全て揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行われる」という規則に従って処理が並列に進行する。
【0124】
図9には、本発明の実施の形態2に係るデータ駆動型処理システムの構成が、図10には、本発明の実施の形態2に係るデータ駆動型情報処理装置1の構成が、図11には本発明の実施の形態2に係る演算処理部13の構成が、図12(A)〜(C)には本発明の実施の形態2に適用されるパケットPA、PA1およびPA2のフィールド構成がそれぞれ示される。
【0125】
図9のデータ駆動型処理システムは、データ駆動型情報処理装置1および複数のデータが格納される外付けデータメモリ2を備える。データ駆動型情報処理装置1はデータ入力側にデータ伝送路3および4が、データ出力側にデータ伝送路5および6がそれぞれが接続されて、外付けデータメモリ2をアクセスするためアクセス制御線7が接続される。
【0126】
データ駆動型情報処理装置1へは、データ伝送路3または4から、パケットPAが時系列的に入力される。データ駆動型情報処理装置1には所定の処理内容がプログラムとして予め記憶されており、そのプログラム内容に基づく処理が実行される。
【0127】
外付けデータメモリ2は、データ駆動型情報処理装置1からのアクセス(外付けデータメモリ2の内容の参照/更新)要求信号をアクセス制御線7を介して受理すると、受理したアクセス要求に従ってアクセスを行った後、データ駆動型情報処理装置1に対して結果の応答を行う。
【0128】
データ駆動型情報処理装置1は、入力したパケットPAに対する処理を行って、処理が終了した後、処理結果を格納したパケットPAをデータ伝送路5または6を介して出力する。
【0129】
図10のデータ駆動型情報処理装置1は入出力/経路制御部10、発火制御部11、内蔵メモリ15と外付けメモリインタフェース16が接続された履歴処理部12、演算処理部13およびプログラム記憶部14を含む。プログラム記憶部14は、データ駆動型の処理を行うために必要なプログラムメモリ19を含む。図11に示すように演算処理部13は基本演算部処理部301、図1または図7の構成のメディアン演算処理部302、分岐部303および合流部304を備える。ここでは、内蔵メモリ15または外付けデータメモリ2にはメディアンフィルタ処理の対象となる画像データが予め格納されていると想定する。
【0130】
図12(A)には、データ駆動型情報処理装置1の入出力パケットPAの基本構成が、図12(B)および(C)には、データ駆動型情報処理装置1の内部を巡回するパケットPA1およびPA2の基本構成がそれぞれ示される。図12(B)のパケットPA1は、入出力/経路制御部10と発火制御部11とプログラム記憶部14を流れる。図12(C)のパケットPA2は、履歴処理部12と演算処理部13を流れる。
【0131】
図12(A)のパケットPAは、PE番号(Processing Element Number; プロセッサ番号)PEを格納するフィールド20、ノード番号NDを格納するフィールド22、世代番号GEを格納するフィールド23、およびデータDを格納するフィールド24を含む。図12(B)のパケットPA1は、図12(A)と同様のフィールド22〜24と命令コードOPを格納するフィールド21を含む。図12(C)のパケットPA2は、図12(B)と同様のフィールド21〜23と左データLDを格納するフィールド25と、右データRDを格納するフィールド26とを含む。
【0132】
図12(A)〜(C)において、プロセッサ番号PEは、複数のデータ駆動型情報処理装置1が接続されたシステムにおいて、対応するパケットPAが処理されるべきデータ駆動型情報処理装置1を特定するための情報である。ノード番号NDはプログラムメモリ19の内容をアクセスするためのアドレスとして用いられる。世代番号GEは、データ駆動型情報処理装置1に時系列に入力されるパケットを一意に識別するための識別子として用いられると共に履歴処理部12におけるメモリアドレス計算に用いられる。
【0133】
動作において、図12(A)のパケットPAは、データ伝送路3または4を介してプロセッサ番号PEで指定されたデータ駆動型情報処理装置1に与えられると、入出力/経路制御部10はパケットPAを入力して、該入力パケットPAの内容に基づいてパケットPA1を生成して、パケットPA1を発火制御部11へ出力する。
【0134】
発火制御部11は、与えられるパケットPA1を入力して、対となるパケットPA1を検出する。対のパケットPA1が検出されることを「発火」という。発火すると、ノード番号NDおよび世代番号GEの両方が一致する2つのパケットPA1、即ち対となる異なる2つのパケットPA1のうち、一方のパケットPA1のフィールド24のデータDを図12(C)のパケットPA2のフィールド25へ格納し、他方のパケットPA1のフィールド24のデータDをパケットPA2のフィールド26へ格納して、パケットPA2を履歴処理部12へ出力する。このとき一方のパケットPA1は消去される。なお、発火制御部11では命令コードOP、ノード番号NDおよび世代番号GEは変化しない。
【0135】
履歴処理部12は、発火制御部11から与えられたパケットPA2を入力して、入力パケットPA2の命令コードOPを解読して、解読結果に基づいて所定の処理を行う。命令コードOPが内蔵メモリアクセス命令を指示している場合には、内蔵メモリ15へのアクセス処理が行われて、アクセス結果をフィールド25または26に格納したパケットPA2を演算処理部13へ出力する。
【0136】
命令コードOPが外付けデータメモリアクセス命令を指示している場合には、外付けメモリインタフェース16に対してアクセス要求パケットを与える。外付けメモリインタフェース16は、受理したアクセス要求パケットの内容に従って、メモリアクセス制御線7を介して外付けデータメモリ2に対してアクセス処理を行った後その結果を受け取り、パケットを履歴処理部12へ出力する。結果として、外付けデータメモリアクセス命令を示すパケットPA2のフィールド25または26に外付けデータメモリ2のアクセス結果を格納して、演算処理部13へ該パケットPA2を出力する。
【0137】
例えば、命令コードOPがメディアンフィルタ処理を指示している場合には、外付けデータメモリ2の3×3サイズのウィンドウに相当のメモリ領域をアクセス処理し、アクセス結果をフィールド25または26に格納したパケットPA2を演算処理部13へ出力する。命令コードOPが履歴処理部12に無関係な命令を指示している場合には、パケットPA2は操作されず、そのまま演算処理部13へ出力される。
【0138】
演算処理部13では、分岐部303は、与えられるパケットPA2を入力して、該入力パケットPA2の命令コードOPを参照し、命令コードOPがメディアンフィルタ処理を示していれば、該パケットPA2をメディアン演算処理部302へ出力し、その他の演算処理を示していれば基本演算処理部301へ出力する。メディアン演算処理部302では、パケットPA2のフィールド24に格納された画像データに対して、メディアンフィルタ処理を実行する。基本演算処理部301ではメディアンフィルタ処理以外の処理をパケットPA2の内容に対し実行する。合流部304は、メディアン演算処理部302からのパケットと基本演算処理部301からのパケットを順次入力して、プログラム記憶部14へ出力する。
【0139】
メディアン演算処理部302では、入力回路200に相当の回路において、与えられるパケットPA2のフィールド24のN個の画素値を、K個の画素値ずつK個のグループに分割して、分割後の画素値をフィールド24に格納したパケットPA2が生成される。生成されたパケットについて、図1に示したようなソート器およびデータシフト器に相当の回路を通過させることにより、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値が除去される。これら回路を通過したパケットは、画素値が除去された後の(N−(N−1)/2)個の画素値をフィールド24に格納している。最終的に、図1のソート器219に相当の回路においてパケットの(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値がメディアンとしてフィールド24に格納されたパケットが生成されて出力される。
【0140】
メディアン演算処理部302に図7に相当の回路が適用されたときは、入力回路800に相当の回路において、フィールド24に画像データ917の画素値を格納したパケットPA2を入力すると、K個の画素ずつ6個のグループに分割した画素値をフィールド24に格納したパケットPA2を生成して出力する。パケットPA2のフィールド24の内容はソート器901〜906に対応の回路によりソートされる。
【0141】
その後、パケットPA2のフィールド24の内容は対応するウィンドウのモジュールに対応の回路に与えられる。各モジュールでは対応のウィンドウに含まれるN個の画素値を格納したパケットPA2を入力して、前述と同様にシフトしながら画素値を除去して、メディアンが抽出されて、パケットPA2のデータフィールドに該メディアン918を格納して該パケットPA2を出力する。
【0142】
プログラム記憶部14のプログラムメモリ19には、複数の次位の命令コードOPおよびノード番号NDからなるデータフロープログラムが予め格納される。予め格納される命令コードには、メディアンフィルタ処理を指示する命令コードが含まれる。プログラム記憶部14は、与えられたパケットPA1を入力し、該入力パケットPA1のノード番号NDに基づくアドレス指定によって、プログラムメモリ19から次位のノード番号NDおよび次位の命令コードOPを読出し、読出したノード番号NDと命令コードOPを該入力パケットPA1のフィールド22および21のそれぞれに格納して、該パケットPA1を入出力/経路制御部10へ出力する。なお、プログラム記憶部14では世代番号GEはデータDは変化しない。
【0143】
入出力/経路制御部10は、与えられたパケットPA1を入力し、該入力パケットPA1の命令コードOPとノード番号NDに基づいて、該パケットPA1の内容は該データ駆動型情報処理装置1の内部および外部のいずれで実行されるべきかを判別する。判別結果に基づいて、該パケットPA1は伝送路5または6を介して外部に出力されるか、または発火制御部11に出力される。
【0144】
このようにして、プログラムメモリ19に格納されたメディアンフィルタ処理の命令コードを含むプログラムに従う処理は、パケットがデータ駆動型情報処理装置1内を周回することによるパイプライン処理に従い並列に実行される。したがって、メディアンフィルタ処理対象の画像データ量が多くても高速に処理を実行できる。
【0145】
(実施の形態3)
上述の各実施の形態では、メディアンフィルタ処理はハードウェアまたはデータ駆動型情報処理装置にて実現していたが、本実施の形態で示すようにノイマン型情報処理装置で実行可能なソフトウェアで実現しても良い。
【0146】
図13(A)と(B)の本実施の形態3に係るメディアンフィルタ処理のフローチャートは、図1と図7のメディアンフィルタ装置の機能をプログラムにて実行する場合の手順を示す。
【0147】
図14は本実施の形態3に係るコンピュータの構成が示される。図14のコンピュータは、CRT(陰極線管)などからなるモニタ110、キーボード150、マウス160、該コンピュータ自体を集中的に制御するためのCPU(中央処理装置の略)122、ROM(Read Only Memory)またはRAM(ランダムアクセスメモリの略)を含んで構成されるメモリ124、固定ディスク126、FD(フレキシブルディスク)132が着脱自在に装着されて、装着されたFD132をアクセスするFD駆動装置130、CD−ROM(Compact Disc Read Only Memory)142が着脱自在に装着されて、装着されたCD−ROM142をアクセスするCD−ROM駆動装置140、通信ネットワーク182と、該コンピュータとを通信接続するための通信インターフェィス180を含む。これらの各部はバスを介して通信接続される。
【0148】
コンピュータには、カセット形式の磁気テープが着脱自在に装着されて磁気テープをアクセスする磁気テープ装置が設けられても良い。
【0149】
図13(A)のフローチャートを参照して図14のコンピュータにより、処理対象の画像データについて3×3サイズのウィンドウ内の9個の画素値の中央値(メディアン)を算出する手順を説明する。予め、処理対象の画像データはメモリ124に格納されていると想定する。
【0150】
ステップT1では、CPU122はメモリ124の画像データから、上述のウインドウ内の9個の画素値を読出して入力し、入力した9この画素値を縦一列の3個の画素値からなる3組のグループに分ける。ステップT2では、ステップT1で分けられた3組のグループに対し個々のグループごとに3個の画素値を所定順(降順または昇順)にソートする。
【0151】
ステップT3では、ステップT2で得られた3組のグループのソート結果を一時的に格納する。そして格納された各グループの最大値どうしを比較する。その比較結果に基づき、3個の最大値のうちの最大の値と、2番目の値を判定して、判定された最大の値と、2番目の値を含むグループそれぞれのソート結果をシフト操作する。ここでシフト操作とはグループのソート結果に対し、最大値を取り除き、2番目以下の値の順位を繰り上げて、新たな順位をつけてソート結果とすることである。このシフト操作により、最大値と2番目の値を含むグループそれぞれでは、シフト操作により1番目の画素値が取り除かれ、かつ2番目以降の画素値が繰り上がっている。
【0152】
ステップT4では、ステップT3でシフトされた結果を入力して一時的に格納する。そして格納された各グループの最大値どうしを比較する。その比較結果に基づき、3個の最大値のうちの最大の値を判定して、判定された最大値を含むグループのソート結果をシフト操作する。このシフト操作により、シフト対象となったグループでは最大値が取り除かれ、2番目以降の値の順位が繰り上がる。
【0153】
ステップT5では、ステップT4によりシフト操作された結果に対して、ステップT4と同様の格納、判定およびシフトの操作をもう一度行なう。このようにステップST3〜ST5では、画素値を除去するために、画素値の格納して、判定し、判定結果に基づき格納された画素値をシフトする(シフトにより判定された画素値が除去される)手順が実行される。
【0154】
ステップT6では、ステップT5でシフトされた結果に基づき、各グループの最大値どうしをソートし、ソート結果により得られた最大値を9個の入力画素値のメディアンとして出力する。
【0155】
ここで、9個の入力画素値のメディアンは、9個の入力値をソートし5番目の値になる。ステップT3〜T5の操作により、入力画素値より画素値の大きいものから4個取り除かれたことになり、残り5個の画素値となっている。そして残り5個の画素値の中での最大値が9個の入力値をソートした5番目の値であり、メディアンにあたる。
【0156】
ここではステップT3〜T5において、最大値がシフトにより除去されているが、最大値に代替して最小値がシフトにより除去されてもよい。最小値を除去する場合には、所定順にソートした場合の6番目〜9番目の画素値を除去し、除去された後の5個の画素値から、所定順にソートした場合の5番目の画素値を、メディアンとして求めればよい。
【0157】
ここでは、9個の画素を入力しているが、入力する画素数は9個に限定されない。つまり、デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素数を対象とすることができる。N個の画素数を対象としてシフトしながら最大値を除去する場合には、ステップT3〜T5の処理は、入力されたN個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去するように変更されて、ステップT6の処理は、除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の1番目の画素値がメディアンとなるように変更される。最大値に代替して最小値を除去する場合には、ステップT3〜T5の処理は、入力されたN個の画素値から、所定順にソートした場合の((N−1)/2+2)番目〜N番目の画素値を除去するように変更されて、ステップT6の処理は、除去された後の(N−(N−1)/2)個の画素値から、所定順にソートした場合の(N−(N−1)/2)番目の画素値がメディアンとなるように変更される。
【0158】
図13(B)には図7に対応のフローチャートが示される。ここでは図8の画像データ917はメモリ124に予め格納されていると想定する。図13(B)を参照して、ステップT10においてCプ122はメモリ124から画像データ917を読出して、グループG11〜G16に分割して、各グループの画素値を所定順(降順または昇順)にソートする。ステップST11では、図8のウィンドウW1〜W4のそれぞれを構成する3つのグループが、グループG11〜G16から特定される。その後、いずれか1つのウィンドウを指定して、ステップST12では指定された該ウィンドウについて特定された3個のグループの画素値について、図13(A)のステップT3〜T6の処理が行われてメディアン918が算出される。その後、ステップST13では、全てのウィンドウが指定されたか否か判定される。全て指定済みであれば(ST13でYES)、全てのウィンドウについてメディアン918が算出されたことになるので処理は終了するが、未指定のウィンドウがあれば(ST13でNO)、ST12の処理が未指定のウィンドウに対して行われる。
【0159】
ここでは、処理対象の画像データは予めメモリ124に格納されているとしたが、FD132、通信ネットワーク182などを介して外部から供給されてもよい。
【0160】
(実施の形態4)
実施の形態3に示すフローチャートに従うプログラムはコンピュータで読取可能な記録媒体に格納される。
【0161】
本実施の形態では、この記録媒体として、図14にのコンピュータで処理が行なわれるために必要なメモリ、たとえばメモリ124のROMそのものであってもよいし、また図示されない磁気テープ装置およびCD−ROM駆動装置140に装着されることで読取可能な図示されない磁気テープまたはCD−ROM142であってもよい。いずれの場合においても、これら記録媒体に格納されているプログラムはCPU122によりアクセスされて実行されてもよいし、あるいはプログラムが一旦記録媒体から読出されて、読出されたプログラムは図14のコンピュータの所定のプログラム記憶エリア、たとえばメモリ124のRAMにロードされて、CPU122により所定プログラム記憶エリアから読出されて実行されてもよい。このロード用のプログラムは、予め当該コンピュータに格納されているとする。
【0162】
上述した記録媒体はコンピュータ本体と分離可能に構成されて、プログラムを固定して担持する媒体であってよい。たとえば、記録媒体は、磁気テープやカセットテープなどのテープ系、FD132や固定ディスク126などの磁気ディスクやCD−ROM142/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)などの光ディスクのディスク系、ICカード(メモリカードを含む)/光カードなどのカード系、あるいはマスクROM、EPROM(Erasable and Programmable ROM)、EEPROM(Electrically EPROM)、フラッシュROMなどの半導体メモリなどであってよい。
【0163】
また、図14のコンピュータはインターネットを含む各種の通信回線が適用される通信ネットワーク182と接続可能であるから、通信ネットワーク182からプログラムがダウンロードされる記録媒体、いわゆる流動的にプログラムを担持する記録媒体であってもよい。信ネットワーク182からプログラムがダウンロードされる場合には、ダウンロード用プログラムは予め当該コンピュータに格納しておくか、あるいは別の記録媒体から予めコンピュータにインストールされる。
【0164】
なお記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【0165】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0166】
【発明の効果】
この発明によれば、フィルタ処理では画素値のソート回数は少ないので、ソートに関する回路点数を少なくでき、また高速にメディアンを求めることができる。
【図面の簡単な説明】
【図1】本実施の形態1に係る一方のメディアンフィルタ装置の構成を示す図である。
【図2】(A)〜(G)には図1のメディアンフィルタ装置における画素値のソートとシフトの詳細を示す図である。
【図3】実施の形態1に係るソート器の構成を示す図である。
【図4】実施の形態1に係る最大値判定器の構成を示す図である。
【図5】実施の形態1に係るデータシフト器によるシフト操作を説明する図である。
【図6】(A)と(B)は実施の形態1に係るデータシフト器の構成例とシフト操作のための信号のテーブルを示す図である。
【図7】実施の形態1に係るメディアンフィルタ装置の他方のハードウェア構成例を示す図である。
【図8】図7のメディアンフィルタ装置に対する入力データである画像データの一例を示す図である。
【図9】実施の形態2に係るデータ駆動型処理システムの構成図である。
【図10】実施の形態2に係るデータ駆動型情報処理装置の構成図である。
【図11】実施の形態2に係る演算処理部の構成図である。
【図12】(A)〜(C)は実施の形態2に係るパケットのフィールド構成図である。
【図13】(A)と(B)は実施の形態3に係るメディアンフィルタ処理のフローチャートである。
【図14】実施の形態3に係るコンピュータの構成図である。
【図15】従来のメディアンフィルタ装置の構成例を示す図である。
【符号の説明】
1 データ駆動型情報処理装置、13 演算処理部、100,917 画像データ、101,918 メディアン、124 メモリ、126 固定ディスク、132 FD、142 CD−ROM、182 通信ネットワーク、200,800 入力回路、204〜206,219,901〜916 ソート器、207〜209,211〜213,215〜217 データシフト器、301 基本演算処理部、302 メディアン演算処理部、303 分岐部、304 合流部、907〜910 モジュール。
Claims (26)
- デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるフィルタ装置であって、
前記N個の画素値を入力する入力手段と、
前記入力手段により入力された前記N個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する除去手段と、
前記除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の1番目の画素値を、前記メディアンとして出力するソート手段とを備える、フィルタ装置。 - デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるフィルタ装置であって、
前記N個の画素値を入力する入力手段と、
前記入力手段により入力された前記N個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する除去手段と、
前記除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の(N−(N−1)/2)番目の画素値を、前記メディアンとして出力するソート手段とを備える、フィルタ装置。 - 前記所定順は降順および昇順のいずれかである、請求項1または2に記載のフィルタ装置。
- 前記入力手段は、
前記N個の画素値を入力して、K個の画素値ずつK個のグループに分割する分割手段と、
前記分割手段により分割された前記K個のグループそれぞれをについて、該グループの画素値を入力して、前記所定順にソートして前記除去手段に出力するグループソート手段とを有し、
前記除去手段は、前記N個の画素値から(N−1)/2個の画素値を除去するために縦列接続された複数の画素除去部を有し、
前記画素除去部のそれぞれは、与えられる前記K個のグループ間で各グループの前記所定順に従う1番目の画素値のうちから、前記所定順に従う1番目以降の1つ以上の画素値を判定する判定部と、
前記K個のグループの前記画素値を入力して、一旦格納して出力するシフト格納部を有し、
前記シフト格納部は、前記判定部により判定された前記画素値を含む前記グループにおいては、格納された該グループンの前記画素値から判定された該画素値を除去して、除去後の前記画素値の前記所定順に従う2番目以降の画素値の順位をシフトさせて出力することを特徴とする、請求項1から3のいずれか1項に記載のフィルタ装置。 - デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるフィルタ装置であって、
前記所定領域の画素値を入力して、前記複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力する入力手段と、
前記複数局所領域のそれぞれに対応したメディアン抽出手段とを備えて、
前記メディアン抽出手段は、
対応の前記局所領域に含まれるN個の画素値を前記入力手段から入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する除去手段と、
前記除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の1番目の画素値を、前記メディアンとして出力するソート手段とを有する、フィルタ装置。 - デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるフィルタ装置であって、
前記所定領域の画素値を入力して、前記複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力する入力手段と、
前記複数局所領域のそれぞれに対応したメディアン抽出手段とを備えて、
前記メディアン抽出手段は、
対応の前記局所領域に含まれるN個の画素値を前記入力手段から入力して、入力画素値から、前記所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する除去手段と、
前記除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の(N−(N−1)/2)番目の画素値を、前記メディアンとして出力するソート手段とを有する、フィルタ装置。 - 前記所定順は降順および昇順のいずれかである、請求項5または6に記載のフィルタ装置。
- 前記入力手段は、
前記局所領域の画素値を入力して、K個の画素値の複数のグループに分割する分割手段と、
前記分割手段により分割された前記複数グループそれぞれをについて、該グループの画素値を入力して、前記所定順にソートして、該グループが属する前記局所領域に対応の前記除去手段に出力するグループソート手段とを有し、
前記除去手段は、前記N個の画素値から(N−1)/2個の画素値を除去するために縦列接続された複数の除去部を有し、
前記除去部のそれぞれは、与えられる前記K個のグループ間で各グループの前記所定順に従う1番目の画素値のうちから、前記所定順に従う1番目以降の1つ以上の画素値を判定する判定部と、
前記K個のグループの前記画素値を入力して、一旦格納して出力するシフト格納部を有し、
前記シフト格納部は、前記判定部により判定された前記画素値を含む前記グループにおいては、格納された該グループの前記画素値から判定された該画素値を除去して、除去後の前記画素値の前記所定順に従う2番目以降の画素値の順位をシフトさせて出力することを特徴とする、請求項5から7のいずれか1項に記載のフィルタ装置。 - 行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備えるデータ駆動型情報処理装置であって、
前記演算手段は、
デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンの算出を指示するメディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、前記入力パケットの前記命令情報に基づいて該入力パケットを前記フィルタ演算手段および前記他の演算手段のいずれかに出力する分岐手段とを有し、
前記フィルタ演算手段は、
与えられる前記パケットの前記データフィールドの前記N個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する除去手段と、
前記除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の1番目の画素値を、前記メディアンとして前記パケットの前記データフィールドに格納して該パケットを出力するソート手段とを含む、データ駆動型情報処理装置。 - 行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備えるデータ駆動型情報処理装置であって、
前記演算手段は、
デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンの算出を指示するメディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、前記入力パケットの前記命令情報に基づいて該入力パケットを前記フィルタ演算手段および前記他の演算手段のいずれかに出力する分岐手段とを有し、
前記フィルタ演算手段は、
与えられる前記パケットの前記データフィールドの前記N個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する除去手段と、
前記除去手段により画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の(N−(N−1)/2)番目の画素値を、前記メディアンとして前記パケットの前記データフィールドに格納して該パケットを出力するソート手段とを含む、データ駆動型情報処理装置。 - 行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備えるデータ駆動型情報処理装置であって、
前記演算手段は、
デジタル化された画像においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンの算出を指示するメディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、前記入力パケットの前記命令情報に基づいて該入力パケットを前記フィルタ演算手段および前記他の演算手段のいずれかに出力する分岐手段とを有し、
前記フィルタ演算手段は、
与えられる前記パケットの前記データフィールドの前記複数の局所領域の画素値を入力して、前記複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値をデータフィールドに格納したパケットを出力する入力手段と、
前記複数局所領域のそれぞれに対応したメディアン抽出手段とを含み、
前記メディアン抽出手段は、
対応の前記局所領域に含まれるN個の画素値を格納したパケットを前記入力手段から入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する除去手段と、
前記除去手段により画素値が除去された後の前記パケットのデータフィールドの(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の1番目の画素値を、前記メディアンとして抽出し前記パケットの前記データフィールドに格納して該パケットを出力するソート手段とを含む、データ駆動型情報処理装置。 - 行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するためのデータフィールドを少なくとも有するパケットを入力して、入力パケットを用いてデータフロープログラムに従う演算を実行する演算手段を備えるデータ駆動型情報処理装置であって、
前記演算手段は、デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンの算出を指示するメディアンフィルタ命令に従う演算をするフィルタ演算手段と、その他の演算手段と、前記入力パケットの前記命令情報に基づいて該入力パケットを前記フィルタ演算手段および前記他の演算手段のいずれかに出力する分岐手段とを有し、
前記フィルタ演算手段は、
与えられる前記パケットの前記データフィールドの前記所定領域の画素値を入力して、前記複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値をデータフィールドに格納したパケットを出力する入力手段と、
前記複数局所領域のそれぞれに対応したメディアン抽出手段とを含み、
前記メディアン抽出手段は、
対応の前記局所領域に含まれるN個の画素値を格納したパケットを前記入力手段から入力して、入力画素値から、前記所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する除去手段と、
前記除去手段により画素値が除去された後のパケットのデータフィールドの(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の(N−(N−1)/2)番目の画素値を、前記メディアンとして抽出し、前記パケットの前記データフィールドに格納して該パケットを出力するソート手段とを含む、データ駆動型情報処理装置。 - 前記所定順は降順および昇順のいずれかである、請求項9または12に記載のデータ駆動型情報処理装置。
- 複数の前記行先情報および複数の前記命令情報からなる前記データフロープログラムを記憶し、前記パケットを入力して、前記データフロープログラムから次位の前記行先情報および次位の前記命令情報を読出し、該入力パケットの前記行先フィールドおよび前記命令フィールドのそれぞれに格納して、該入力パケットを出力するプログラム記憶手段と、
前記プログラム記憶手段から出力される前記パケットを入力して、該入力パケットの前記命令フィールドの前記命令情報の実行のために必要とされる内容を格納して該入力パケットを前記演算手段に出力する対データ検出手段と、
前記演算手段から出力された前記パケットを入力して、外部または前記プログラム記憶手段に出力する入出力制御手段とをさらに備える、請求項9から13のいずれか1項に記載のデータ駆動型情報処理装置。 - デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるフィルタ方法であって、
前記N個の画素値を入力する入力ステップと、
前記入力ステップにより入力された前記N個の画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する除去ステップと、
前記除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の1番目の画素値を、前記メディアンとして出力するソートステップとを備える、フィルタ方法。 - デジタル化された画像のK*K(Kは3以上の奇数)の2次元の局所領域に配列されたN個の画素値のメディアンを求めるフィルタ方法であって、
前記N個の画素値を入力する入力ステップと、
前記入力ステップにより入力された前記N個の画素値から、所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する除去ステップと、
前記除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の(N−(N−1)/2)番目の画素値を、前記メディアンとして出力するソートステップとを備える、フィルタ方法。 - 請求項15に記載のフィルタ方法をコンピュータに実行させるためのフィルタプログラム。
- 請求項16に記載のフィルタ方法をコンピュータに実行させるためのフィルタプログラム。
- 請求項17に記載のフィルタプログラムを記録した機械読取り可能な記録媒体。
- 請求項18に記載のフィルタプログラムを記録した機械読取り可能な記録媒体。
- デジタル化された画像においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるフィルタ方法であって、
前記複数の局所領域の画素値を入力して、前記複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力する入力ステップと、
前記複数局所領域のそれぞれに対応したメディアン抽出ステップとを備えて、
前記メディアン抽出ステップは、
対応の前記局所領域に含まれるN個の画素値を前記入力ステップから入力して、入力画素値から、所定順にソートした場合の1番目〜((N−1)/2)番目の画素値を除去する除去ステップと、
前記除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の1番目の画素値を、前記メディアンとして出力するソートステップとを有する、フィルタ方法。 - デジタル化された画像の所定領域においてK*K(Kは3以上の奇数)のN個の画素値を含む複数の局所領域が相互に重複して配される場合に、各局所領域のN個の画素値のメディアンを求めるフィルタ方法であって、
前記所定領域の画素値を入力して、前記複数局所領域のそれぞれ毎に、該局所領域に含まれるN個の画素値を出力する入力ステップと、
前記複数局所領域のそれぞれに対応したメディアン抽出ステップとを備えて、
前記メディアン抽出ステップは、
対応の前記局所領域に含まれるN個の画素値を前記入力ステップから入力して、入力画素値から、前記所定順にソートした場合の((N−1)/2)+2)〜N番目の画素値を除去する除去ステップと、
前記除去ステップにより画素値が除去された後の(N−(N−1)/2)個の画素値から、前記所定順にソートした場合の(N−(N−1)/2)番目の画素値を、前記メディアンとして出力するソートステップとを有する、フィルタ方法。 - 請求項21に記載のフィルタ方法をコンピュータに実行させるためのフィルタプログラム。
- 請求項22に記載のフィルタ方法をコンピュータに実行させるためのフィルタプログラム。
- 請求項23に記載のフィルタプログラムを記録した機械読取り可能な記録媒体。
- 請求項24に記載のフィルタプログラムを記録した機械読取り可能な記録媒体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002187297A JP2004030366A (ja) | 2002-06-27 | 2002-06-27 | フィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体 |
| US10/603,649 US7403666B2 (en) | 2002-06-27 | 2003-06-26 | Apparatus and method of filtering digital information |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002187297A JP2004030366A (ja) | 2002-06-27 | 2002-06-27 | フィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004030366A true JP2004030366A (ja) | 2004-01-29 |
Family
ID=31182373
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002187297A Pending JP2004030366A (ja) | 2002-06-27 | 2002-06-27 | フィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7403666B2 (ja) |
| JP (1) | JP2004030366A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009503683A (ja) * | 2005-07-28 | 2009-01-29 | アナログ デバイシーズ インク | 並列中央値フィルタリングに基づいた命令を有するプロセッサおよび方法 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8321490B2 (en) * | 2005-07-28 | 2012-11-27 | Analog Devices, Inc. | Instruction-based parallel median filtering |
| CN102291107A (zh) * | 2010-06-18 | 2011-12-21 | 中兴通讯股份有限公司 | 一种数字电路实现多路比较的方法和装置 |
| US12340667B2 (en) * | 2020-09-28 | 2025-06-24 | Evolon Technology Inc. | Mitigating effects caused by fast moving objects in a scene |
| CN117674778A (zh) * | 2023-11-16 | 2024-03-08 | 大湾区大学(筹) | 一种五输入中值比较器、加速器单元和芯片 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4560974A (en) * | 1981-09-28 | 1985-12-24 | Hughes Aircraft Company | Real-time ordinal-value filter utilizing reference-function comparison |
| US4747052A (en) * | 1984-11-14 | 1988-05-24 | Philips Medical Systems, Inc. | Radiation image processing |
| US4672567A (en) * | 1985-02-19 | 1987-06-09 | Allied Corporation | Median filter for reducing data error in distance measuring equipment |
| JP3140853B2 (ja) | 1992-08-06 | 2001-03-05 | シャープ株式会社 | データ駆動型フィルタ装置 |
| US6163324A (en) * | 1998-06-30 | 2000-12-19 | Microsoft Corporation | Median calculation using SIMD operations |
| US6539125B1 (en) * | 1998-12-21 | 2003-03-25 | Xerox Corporation | Modified median filter that better preserves textures |
| US6760737B2 (en) * | 2000-03-27 | 2004-07-06 | Lucent Technologies Inc. | Spatial median filter |
| JP4143288B2 (ja) * | 2001-11-19 | 2008-09-03 | キヤノン株式会社 | メディアンフィルタ処理装置 |
-
2002
- 2002-06-27 JP JP2002187297A patent/JP2004030366A/ja active Pending
-
2003
- 2003-06-26 US US10/603,649 patent/US7403666B2/en not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009503683A (ja) * | 2005-07-28 | 2009-01-29 | アナログ デバイシーズ インク | 並列中央値フィルタリングに基づいた命令を有するプロセッサおよび方法 |
| JP4750850B2 (ja) * | 2005-07-28 | 2011-08-17 | アナログ デバイシーズ インク | 並列中央値フィルタリングに基づいた命令を有するプロセッサおよび方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20050100238A1 (en) | 2005-05-12 |
| US7403666B2 (en) | 2008-07-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8208728B2 (en) | Method of generating a labeled image and image processing system with pixel blocks | |
| US10908877B2 (en) | Median value determination in a data processing system | |
| JPH0695872A (ja) | 入出力可変段命令パイプラインにおけるデータ・オペレーションの遂行管理装置及び遂行方法 | |
| JP3955741B2 (ja) | ソート機能を有するsimd型マイクロプロセッサ | |
| US5440714A (en) | Method and system configuration for simplifying the decoding system for access to an register file with overlapping windows | |
| JP2004030366A (ja) | フィルタ装置、データ駆動型情報処理装置、フィルタ方法、フィルタプログラムおよびフィルタプログラムを記録した機械読取り可能な記録媒体 | |
| JP2000132404A (ja) | 命令列最適化装置 | |
| JP4255475B2 (ja) | データ駆動型情報処理装置 | |
| US6367066B1 (en) | System for synthesizing a circuit by re-writing signed variables into unsigned variables and sharing resources for identical operations having different timing | |
| US9606798B2 (en) | VLIW processor, instruction structure, and instruction execution method | |
| JPH08255146A (ja) | データ駆動型情報処理装置 | |
| JP3602697B2 (ja) | 論理回路設計支援システム | |
| US20130018933A1 (en) | Data Shifter and Control Method Thereof, Multiplexer, Data Sifter, and Data Sorter | |
| CN116596043B (zh) | 一种卷积神经网络计算方法、系统、电子设备和存储介质 | |
| JP2001357395A (ja) | 画像処理装置およびその方法 | |
| CN119473875A (zh) | 回归测试场景下的测试用例优先级及规模评测方法、装置 | |
| JP2004062401A (ja) | 演算プロセッサおよび当該演算プロセッサを用いたカメラ装置 | |
| CN115495047A (zh) | 数据处理方法、装置、芯片及计算机可读存储介质 | |
| WO2024129169A1 (en) | Coarse grained reconfigurable architecture | |
| EP1942460A1 (en) | Format conversion apparatus from band interleave format to band seperate format | |
| CN120540716A (zh) | 筛选方法、装置、设备、存储介质 | |
| JP4258350B2 (ja) | 演算処理装置 | |
| JP2000222218A (ja) | コンパイル装置および記録媒体 | |
| JPS59229643A (ja) | ソ−ト演算回路 | |
| US20050117627A1 (en) | Method for the determination of a maximum or a minimum |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050324 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080618 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081028 |