JPH052645A - 順序フイルタリング方法 - Google Patents
順序フイルタリング方法Info
- Publication number
- JPH052645A JPH052645A JP15475191A JP15475191A JPH052645A JP H052645 A JPH052645 A JP H052645A JP 15475191 A JP15475191 A JP 15475191A JP 15475191 A JP15475191 A JP 15475191A JP H052645 A JPH052645 A JP H052645A
- Authority
- JP
- Japan
- Prior art keywords
- digit
- sum
- digital data
- block
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Processing (AREA)
Abstract
(57)【要約】
【目的】 複数のデジタルデータの中から所定の順位の
大きさのデジタルデータを取り出す順序フィルタリング
方法において、順位Xを更新する必要をなくす。 【構成】 各デジタルデータごとに設けられたマスクフ
ラグMn に「1」を代入し、計数和msum に「0」を代
入し、探索桁dに「D」を代入する。次にマスクフラグ
Mn が「1」であるデジタルデータ中のd桁目の「1」
の数md を計数する。そして、md +msum と順位Xと
を比較して、md +msum ≧Xならば、出力データのd
桁目を「1」と決定し、かつVn のd桁目が「0」であ
るデジタルデータに対し、「0」をマスクフラグMn に
代入し、md +msum <Xならば、出力データのd桁目
を「0」と決定し、かつVn のd桁目が「1」であるデ
ジタルデータに対し、「0」をマスクフラグMn に代入
し、計数和msumにmd を加算する。dから1を減算
し、dがMSB(D)からLSB(1)に至るまでを繰
り返す。
大きさのデジタルデータを取り出す順序フィルタリング
方法において、順位Xを更新する必要をなくす。 【構成】 各デジタルデータごとに設けられたマスクフ
ラグMn に「1」を代入し、計数和msum に「0」を代
入し、探索桁dに「D」を代入する。次にマスクフラグ
Mn が「1」であるデジタルデータ中のd桁目の「1」
の数md を計数する。そして、md +msum と順位Xと
を比較して、md +msum ≧Xならば、出力データのd
桁目を「1」と決定し、かつVn のd桁目が「0」であ
るデジタルデータに対し、「0」をマスクフラグMn に
代入し、md +msum <Xならば、出力データのd桁目
を「0」と決定し、かつVn のd桁目が「1」であるデ
ジタルデータに対し、「0」をマスクフラグMn に代入
し、計数和msumにmd を加算する。dから1を減算
し、dがMSB(D)からLSB(1)に至るまでを繰
り返す。
Description
【0001】
【産業上の利用分野】複数のデータ中から、所望の順位
の大きさのデータを検索し、出力する順序フィルタリン
グ方法に関し、例えば、画像処理、特にデジタル画像処
理の空間フィルタリング方法に関する。
の大きさのデータを検索し、出力する順序フィルタリン
グ方法に関し、例えば、画像処理、特にデジタル画像処
理の空間フィルタリング方法に関する。
【0002】
【従来の技術】デジタル画像処理は、現在様々な応用分
野の中で素晴らしい使われ方をしている。オートメーシ
ョン工場の制御、ロボット、警備保障業務、あるいはオ
モチャの製造など、様々な分野において盛んに利用され
ている。
野の中で素晴らしい使われ方をしている。オートメーシ
ョン工場の制御、ロボット、警備保障業務、あるいはオ
モチャの製造など、様々な分野において盛んに利用され
ている。
【0003】これらのデジタル画像データは、その読取
りの際に、しばしば雑音を含んでいる。近年、画像デー
タ読取装置の解像度、分解能が向上するに従い、その雑
音の影響は無視できないものとなっている。このような
雑音を除去する手法の一つに空間フィルタリング方法が
ある。
りの際に、しばしば雑音を含んでいる。近年、画像デー
タ読取装置の解像度、分解能が向上するに従い、その雑
音の影響は無視できないものとなっている。このような
雑音を除去する手法の一つに空間フィルタリング方法が
ある。
【0004】空間フィルタリング方法とは、画像のある
点の値(明るさ)を決定するために、その点を包含する
複数の点の集合を定義し、その集合に含まれる各点の値
により、最初の点の値を決定する方法である。このよう
な点の集合を一般にカーネルと呼ぶ。
点の値(明るさ)を決定するために、その点を包含する
複数の点の集合を定義し、その集合に含まれる各点の値
により、最初の点の値を決定する方法である。このよう
な点の集合を一般にカーネルと呼ぶ。
【0005】最も良く使用されるカーネルは、3×3の
9個の点からなるカーネルである。つまり、ある点の値
は、その点の値とその点を取り巻く8個の点の値とから
決定される。図4に3×3のカーネルを用いた空間フィ
ルタリング方法の説明図を示す。図4は、カーネルと、
画像データ全体との関係を示した図である。図におい
て、点V5 の値は、そのカーネルであるV1 〜V9 の点
の値によって決定される。 この決定の方法によって、
空間フィルタリング方法の種類が決まる。スポット状の
雑音を除去するのに特に効果的なフィルタリング方法と
して、メジアンフィルタリング方法がある。メジアンフ
ィルタリング方法を実行する装置、プログラム等はメジ
アンフィルタと呼ばれる。
9個の点からなるカーネルである。つまり、ある点の値
は、その点の値とその点を取り巻く8個の点の値とから
決定される。図4に3×3のカーネルを用いた空間フィ
ルタリング方法の説明図を示す。図4は、カーネルと、
画像データ全体との関係を示した図である。図におい
て、点V5 の値は、そのカーネルであるV1 〜V9 の点
の値によって決定される。 この決定の方法によって、
空間フィルタリング方法の種類が決まる。スポット状の
雑音を除去するのに特に効果的なフィルタリング方法と
して、メジアンフィルタリング方法がある。メジアンフ
ィルタリング方法を実行する装置、プログラム等はメジ
アンフィルタと呼ばれる。
【0006】メジアンフィルタリング方法とは、V1 〜
V9 間での点の値を、大きさが大きい順に並べたとき
に、その中央値(メジアン)を新たにV5 の値とする方
法である。前述したようにこのフィルタリング方法は、
スポット状の雑音除去に効果が大きい。また、メジアン
フィルタリング方法では、中央値、すなわち5番目の値
を使ったが、これを、一般的にX(1以上で、カーネル
に含まれる点の数以下の整数)番目の値を取ることとし
たフィルタリング方法を総称して、順序フィルタリング
方法と呼ぶ。
V9 間での点の値を、大きさが大きい順に並べたとき
に、その中央値(メジアン)を新たにV5 の値とする方
法である。前述したようにこのフィルタリング方法は、
スポット状の雑音除去に効果が大きい。また、メジアン
フィルタリング方法では、中央値、すなわち5番目の値
を使ったが、これを、一般的にX(1以上で、カーネル
に含まれる点の数以下の整数)番目の値を取ることとし
たフィルタリング方法を総称して、順序フィルタリング
方法と呼ぶ。
【0007】この順序フィルタリング方法を実現する最
も普通の方法は、カーネルに含まれる点の値を大きさの
順に整列(Sorting)させた後、その中から、所
望のX番目の値を取り出す方法である。この方法は、例
えば特開平2−7614などに開示されている。
も普通の方法は、カーネルに含まれる点の値を大きさの
順に整列(Sorting)させた後、その中から、所
望のX番目の値を取り出す方法である。この方法は、例
えば特開平2−7614などに開示されている。
【0008】また、昭和63年電子情報通信学会秋季全
国大会予稿集、C−2−97ページには、ビットスライ
ス型の並列ソータを用いて所望の順位の値だけを選択的
に取り出す方法を用いたLSIの例が開示されている。
以下、この方法を説明する。Nをカーネルに含まれる点
の数、Dを各点の値の桁数(ビット数)、X(1≦X≦
N)を取り出すデータの順位とする。すなわちD桁のデ
ジタルデータがN個あり、その中から、X(1≦X≦
N)番目の大きさのデータを出力データとして取り出す
とする。N個のデジタルデータを、V1 (D:1)〜V
N (D:1)で表し、例えばV1 (D)は一番目のデー
タのD桁目のビット、すなわちMSBを表し、V
1 (1)は一番目のデータの1桁目のビット、すなわち
LSBを表すものとする。
国大会予稿集、C−2−97ページには、ビットスライ
ス型の並列ソータを用いて所望の順位の値だけを選択的
に取り出す方法を用いたLSIの例が開示されている。
以下、この方法を説明する。Nをカーネルに含まれる点
の数、Dを各点の値の桁数(ビット数)、X(1≦X≦
N)を取り出すデータの順位とする。すなわちD桁のデ
ジタルデータがN個あり、その中から、X(1≦X≦
N)番目の大きさのデータを出力データとして取り出す
とする。N個のデジタルデータを、V1 (D:1)〜V
N (D:1)で表し、例えばV1 (D)は一番目のデー
タのD桁目のビット、すなわちMSBを表し、V
1 (1)は一番目のデータの1桁目のビット、すなわち
LSBを表すものとする。
【0009】この方法は、各デジタルデータの同じ桁の
「1」の数と、順位Xとを比較し、候補以外のデータを
除外していく方法である。以下に、この方法の各ステッ
プを箇条書きする。
「1」の数と、順位Xとを比較し、候補以外のデータを
除外していく方法である。以下に、この方法の各ステッ
プを箇条書きする。
【0010】ステップ1 各デジタルデータごとに設けられたマスクフラグM1 〜
MN に「1」を代入し、探索桁dに「D」を代入する初
期化ステップ。
MN に「1」を代入し、探索桁dに「D」を代入する初
期化ステップ。
【0011】ステップ2 マスクフラグMn (1≦n≦N)が「1」であるデジタ
ルデータに対して、d桁目の「1」の数md を計数する
計数ステップ。
ルデータに対して、d桁目の「1」の数md を計数する
計数ステップ。
【0012】ステップ3 md と順位Xとを比較する比較ステップ。
【0013】ステップ4 前記比較ステップの結果、md ≧Xならば、出力データ
のd桁目を「1」と決定するとともに、Vn (d)=
「0」(1≦n≦N)であるデジタルデータに対し、マ
スクフラグMn に、「0」を代入し、md <Xならば、
出力データのd桁目を「0」と決定するとともに、Vn
(d)=「1」(1≦n≦N)であるデジタルデータに
対し、マスクフラグMn に、「0」を代入し、順位Xか
らmd を減算するる桁決定ステップ。
のd桁目を「1」と決定するとともに、Vn (d)=
「0」(1≦n≦N)であるデジタルデータに対し、マ
スクフラグMn に、「0」を代入し、md <Xならば、
出力データのd桁目を「0」と決定するとともに、Vn
(d)=「1」(1≦n≦N)であるデジタルデータに
対し、マスクフラグMn に、「0」を代入し、順位Xか
らmd を減算するる桁決定ステップ。
【0014】ステップ5 前記計数ステップから桁決定ステップまでを、dがMS
B(すなわちd=D)からLSB(すなわちd=1)に
至るまでを繰り返す繰り返しステップ。
B(すなわちd=D)からLSB(すなわちd=1)に
至るまでを繰り返す繰り返しステップ。
【0015】以上の各ステップから、この方法は成り立
っている。ステップ1は初期設定をするステップで、マ
スクフラグM1 〜MN に「1」を書き込むことによっ
て、まず全てのデジタルデータを候補とし、探索桁dに
「D」を書き込むことによって、処理の対象となる桁を
まずMSBに設定している。ステップ2は、候補のデジ
タルデータの同じ桁の中で、「1」の個数を計数するス
テップである。ステップ3は、前ステップでの計数値
と、順位Xとを比較するステップである。ステップ4
は、前ステップでの比較結果により、出力データを一桁
決定するとともに、候補ではなくなったデジタルデータ
を除外し、必要に応じ、候補の個数が減少した分だけ順
位Xも小さくしている。除外は、マスクフラグM1 〜M
N に「0」を書き込むことによってなされている。マス
クフラグに「0」を書き込まれたデジタルデータは、ス
テップ2における計数の対象から外される。ステップ5
は、ステップ2から、ステップ4までを、桁数だけ繰り
返すステップである。
っている。ステップ1は初期設定をするステップで、マ
スクフラグM1 〜MN に「1」を書き込むことによっ
て、まず全てのデジタルデータを候補とし、探索桁dに
「D」を書き込むことによって、処理の対象となる桁を
まずMSBに設定している。ステップ2は、候補のデジ
タルデータの同じ桁の中で、「1」の個数を計数するス
テップである。ステップ3は、前ステップでの計数値
と、順位Xとを比較するステップである。ステップ4
は、前ステップでの比較結果により、出力データを一桁
決定するとともに、候補ではなくなったデジタルデータ
を除外し、必要に応じ、候補の個数が減少した分だけ順
位Xも小さくしている。除外は、マスクフラグM1 〜M
N に「0」を書き込むことによってなされている。マス
クフラグに「0」を書き込まれたデジタルデータは、ス
テップ2における計数の対象から外される。ステップ5
は、ステップ2から、ステップ4までを、桁数だけ繰り
返すステップである。
【0016】この方法によってLSIを構成した例が前
記予稿集に記載されている。この例では、計数をする加
算器と、比較をする比較器とを有するソータを各桁ごと
に備えた、すなわちビットスライス型の並列ソータを用
いている。つまり、上記の各ステップは各桁ごとに別の
ハードウェアによって実行される。このLSIのブロッ
ク構成図を図5に示す。
記予稿集に記載されている。この例では、計数をする加
算器と、比較をする比較器とを有するソータを各桁ごと
に備えた、すなわちビットスライス型の並列ソータを用
いている。つまり、上記の各ステップは各桁ごとに別の
ハードウェアによって実行される。このLSIのブロッ
ク構成図を図5に示す。
【0017】図5は、4桁のデジタルデータを9個入力
し、その中から、所望の順位X番目の値を出力OUT
(3:0)として取り出すLSIを示すブロック構成図
である。前述したように例えば、V1 (D)は一番目の
データのD桁目のビットを表すものとすると、4桁のデ
ジタルデータ9個は、それぞれ、 V1 (3:0)=V1 (3),V1 (2),V1 (1),V1 (0) V2 (3:0)=V2 (3),V2 (2),V2 (1),V2 (0) : : : V5 (3:0)=V5 (3),V5 (2),V5 (1),V5 (0) : : : V9 (3:0)=V9 (3),V9 (2),V9 (1),V9 (0) と、表される。例えば、V1 (3)は1番目のデジタル
データのMSBを表し、V9 (0)は9番目のデジタル
データのLSBを表す。順位Xは1以上9以下の整数を
とる。出力OUT(3:0)は、入力と同様4桁のデジ
タルデータである。このLSIは、各桁ごとに対応した
桁ブロックをもっている。各桁に対応しこれらを桁ブロ
ック#3から桁ブロック#0と呼ぶ。
し、その中から、所望の順位X番目の値を出力OUT
(3:0)として取り出すLSIを示すブロック構成図
である。前述したように例えば、V1 (D)は一番目の
データのD桁目のビットを表すものとすると、4桁のデ
ジタルデータ9個は、それぞれ、 V1 (3:0)=V1 (3),V1 (2),V1 (1),V1 (0) V2 (3:0)=V2 (3),V2 (2),V2 (1),V2 (0) : : : V5 (3:0)=V5 (3),V5 (2),V5 (1),V5 (0) : : : V9 (3:0)=V9 (3),V9 (2),V9 (1),V9 (0) と、表される。例えば、V1 (3)は1番目のデジタル
データのMSBを表し、V9 (0)は9番目のデジタル
データのLSBを表す。順位Xは1以上9以下の整数を
とる。出力OUT(3:0)は、入力と同様4桁のデジ
タルデータである。このLSIは、各桁ごとに対応した
桁ブロックをもっている。各桁に対応しこれらを桁ブロ
ック#3から桁ブロック#0と呼ぶ。
【0018】各桁ブロックには、入力のそれぞれ対応す
る桁のデータが9個分全て入力する。例えば、桁ブロッ
ク#3には、 V1 (3),…V9 (3) の9個の値が入力しており、桁ブロック#2には、 V1 (2),…V9 (2) の9個の値が入力している。また、各桁ブロックは、出
力の各対応する桁のデータを出力する。例えば、桁ブロ
ック#3は、OUT(3)を出力し、桁ブロック#2
は、OUT(2)を出力する。
る桁のデータが9個分全て入力する。例えば、桁ブロッ
ク#3には、 V1 (3),…V9 (3) の9個の値が入力しており、桁ブロック#2には、 V1 (2),…V9 (2) の9個の値が入力している。また、各桁ブロックは、出
力の各対応する桁のデータを出力する。例えば、桁ブロ
ック#3は、OUT(3)を出力し、桁ブロック#2
は、OUT(2)を出力する。
【0019】また、順位Xは、最上位の桁ブロック#3
に入力している。桁ブロック#3は順位Xを、そのまま
の値か、あるいは前述したように必要に応じてより小さ
な値に変更して、下位の桁ブロック#2に出力する。以
下同様にして、最下位の桁ブロック#0まで順位Xは伝
搬される。桁ブロック#dに入力する順位をXd と呼
び、出力する順位をXd-1 と呼ぶ。
に入力している。桁ブロック#3は順位Xを、そのまま
の値か、あるいは前述したように必要に応じてより小さ
な値に変更して、下位の桁ブロック#2に出力する。以
下同様にして、最下位の桁ブロック#0まで順位Xは伝
搬される。桁ブロック#dに入力する順位をXd と呼
び、出力する順位をXd-1 と呼ぶ。
【0020】さらに、前述したように、この方法はマス
クフラグを用いて候補を絞り込んでいく方法であるの
で、そのマスクフラグも順位Xと同様に上位の桁ブロッ
クから下位の桁ブロックへ伝搬される。マスクフラグも
順位Xと同様に、桁ブロック#dに入力するマスクフラ
グを、M1 (d),…M9 (d)と呼び、出力されるマ
スクフラグを、M1 (d−1),…M9 (d−1)と呼
ぶ。最上位の桁ブロック#3においては、9個の入力デ
ジタルデータが全て候補なので、全てのマスクフラグが
「1」であるものと仮定して処理が行われる。
クフラグを用いて候補を絞り込んでいく方法であるの
で、そのマスクフラグも順位Xと同様に上位の桁ブロッ
クから下位の桁ブロックへ伝搬される。マスクフラグも
順位Xと同様に、桁ブロック#dに入力するマスクフラ
グを、M1 (d),…M9 (d)と呼び、出力されるマ
スクフラグを、M1 (d−1),…M9 (d−1)と呼
ぶ。最上位の桁ブロック#3においては、9個の入力デ
ジタルデータが全て候補なので、全てのマスクフラグが
「1」であるものと仮定して処理が行われる。
【0021】次に各桁ブロックの詳細なブロック構成図
を図6に示す。図6には、例としてd桁目の桁ブロック
20を示してある。
を図6に示す。図6には、例としてd桁目の桁ブロック
20を示してある。
【0022】まず、9個の入力デジタルデータV
1 (d),…V9 (d)は、マスクフラグM1 (d)〜
M9 (d)に基づいてマスキングされる。これには、9
個のANDゲート22が用いられている。入力デジタル
データV1 (d),…V9 (d)はそれぞれマスクフラ
グM1 (d)〜M9 (d)と論理積をとることにより、
候補以外となったデジタルデータを次に説明する加算の
対象から除外している。
1 (d),…V9 (d)は、マスクフラグM1 (d)〜
M9 (d)に基づいてマスキングされる。これには、9
個のANDゲート22が用いられている。入力デジタル
データV1 (d),…V9 (d)はそれぞれマスクフラ
グM1 (d)〜M9 (d)と論理積をとることにより、
候補以外となったデジタルデータを次に説明する加算の
対象から除外している。
【0023】9個のANDゲート22の出力は、加算器
24に出力されている。加算器24は9個のデジタルデ
ータを加算、すなわち、その中の「1」の個数を計数し
ている。加算器24の加算出力md は比較器26に出力
されている。
24に出力されている。加算器24は9個のデジタルデ
ータを加算、すなわち、その中の「1」の個数を計数し
ている。加算器24の加算出力md は比較器26に出力
されている。
【0024】比較器26は、前述の加算出力md から、
上位の桁ブロックからの順位Xd を減算している。その
結果が非負であれば、比較器26の出力OUT(d)
は、「1」となり、結果が負であれば、OUT(d)
は、「0」となる。比較器26は、減算結果も出力す
る。すなわちmd −Xd を、絶対値回路28に出力して
いる。絶対値回路28は、md −Xd の絶対値を作り、
順位選択器30に出力する。順位選択器30は比較器2
6の出力OUT(d)の値によって、下位の桁ブロック
に伝達する順位Xd-1 の値を選択する。順位選択器30
はOUT(d)の値が「1」のとき、下位の桁ブロック
に伝達する順位Xd-1 としてXd を選択しそのまま出力
する。また、OUT(d)の値が「0」のとき、Xd-1
として絶対値回路28の出力であるXd −md を選択し
出力する。ところで、OUT(d)の値が「0」のとき
とは、md <Xd の場合であるから、比較器26の出力
md −Xd は負の数である。このmd −Xd が、絶対値
回路28を通過することによって、正の数Xd −md と
なり、これが、順位選択器30によって選択される。
上位の桁ブロックからの順位Xd を減算している。その
結果が非負であれば、比較器26の出力OUT(d)
は、「1」となり、結果が負であれば、OUT(d)
は、「0」となる。比較器26は、減算結果も出力す
る。すなわちmd −Xd を、絶対値回路28に出力して
いる。絶対値回路28は、md −Xd の絶対値を作り、
順位選択器30に出力する。順位選択器30は比較器2
6の出力OUT(d)の値によって、下位の桁ブロック
に伝達する順位Xd-1 の値を選択する。順位選択器30
はOUT(d)の値が「1」のとき、下位の桁ブロック
に伝達する順位Xd-1 としてXd を選択しそのまま出力
する。また、OUT(d)の値が「0」のとき、Xd-1
として絶対値回路28の出力であるXd −md を選択し
出力する。ところで、OUT(d)の値が「0」のとき
とは、md <Xd の場合であるから、比較器26の出力
md −Xd は負の数である。このmd −Xd が、絶対値
回路28を通過することによって、正の数Xd −md と
なり、これが、順位選択器30によって選択される。
【0025】下位の桁ブロックへのマスクフラグは、マ
スクフラグ作成器32によって作成される。マスクフラ
グは、各デジタルデータごとに更新される。マスクフラ
グ作成器32は、上位の桁ブロックからのマスクフラグ
Mn (d)と(n=1,…9)、この桁ブロックに入力
している入力デジタルデータVn (d)と、比較器26
の出力OUT(d)とから、下位の桁ブロックへのマス
クフラグMn (d−1)が算出される。その算出式は以
下の通りである。
スクフラグ作成器32によって作成される。マスクフラ
グは、各デジタルデータごとに更新される。マスクフラ
グ作成器32は、上位の桁ブロックからのマスクフラグ
Mn (d)と(n=1,…9)、この桁ブロックに入力
している入力デジタルデータVn (d)と、比較器26
の出力OUT(d)とから、下位の桁ブロックへのマス
クフラグMn (d−1)が算出される。その算出式は以
下の通りである。
【0026】 Mn (d−1)=Mn (d).AND. (Vn (d).EX-NOR.OUT(d)) (但し、n=1,…9) すなわち、Mn (d)=「1」で、かつ、Vn (d)=
OUT(d)のときのみMn (d−1)は「1」とな
り、それ以外ではいずれの場合も「0」となる。
OUT(d)のときのみMn (d−1)は「1」とな
り、それ以外ではいずれの場合も「0」となる。
【0027】以上説明したようにこのLSIは、各桁ご
とに加算器と比較器を有する桁ブロックを設けたので、
単にデータを整列してから、所望の順番の値を選ぶ方法
に比べれば優れているといえる。
とに加算器と比較器を有する桁ブロックを設けたので、
単にデータを整列してから、所望の順番の値を選ぶ方法
に比べれば優れているといえる。
【0028】
【発明が解決しようとする課題】しかしながら、前記桁
ブロック20は、加算器24と、比較器26の他に、絶
対値回路28という大変複雑な演算回路がある。この絶
対値回路28においては、入力データを反転させてか
ら、「1」を加算するという複雑な処理をしなければな
らないので、絶対値回路28の動作速度は、他の回路群
に比較して非常に遅いものとなってしまう。この結果L
SI全体の速度も相対的に遅くなってしまった。
ブロック20は、加算器24と、比較器26の他に、絶
対値回路28という大変複雑な演算回路がある。この絶
対値回路28においては、入力データを反転させてか
ら、「1」を加算するという複雑な処理をしなければな
らないので、絶対値回路28の動作速度は、他の回路群
に比較して非常に遅いものとなってしまう。この結果L
SI全体の速度も相対的に遅くなってしまった。
【0029】従来の順序フィルタリング方法は、以上の
ように絶対値をとるというよけいなプロセスが必要にな
った。このため、この方法を応用したLSI装置におい
ても、複雑な絶対値回路を用意しなければならず、また
LSIの回路パターン中でも大きな回路面積を占めてい
た。それによってまた、動作速度が遅くなるなどの欠点
があった。
ように絶対値をとるというよけいなプロセスが必要にな
った。このため、この方法を応用したLSI装置におい
ても、複雑な絶対値回路を用意しなければならず、また
LSIの回路パターン中でも大きな回路面積を占めてい
た。それによってまた、動作速度が遅くなるなどの欠点
があった。
【0030】
【課題を解決するための手段】本発明は、上述の課題を
解決するために、以下のステップを含むことを特徴とす
る方法である。但し、D桁を有するデジタルデータN個
の中から、X(1≦X≦N)番目の大きさの値を取り出
すものとする。
解決するために、以下のステップを含むことを特徴とす
る方法である。但し、D桁を有するデジタルデータN個
の中から、X(1≦X≦N)番目の大きさの値を取り出
すものとする。
【0031】ステップ1 各デジタルデータごとに設けられたマスクフラグM1 〜
MN に「1」を代入し、計数和msum に「0」を代入
し、探索桁dに「D」を代入する初期化ステップ。
MN に「1」を代入し、計数和msum に「0」を代入
し、探索桁dに「D」を代入する初期化ステップ。
【0032】ステップ2 マスクフラグMn (1≦n≦N)が「1」であるデジタ
ルデータに対して、d桁目の「1」の数md を計数する
計数ステップ。
ルデータに対して、d桁目の「1」の数md を計数する
計数ステップ。
【0033】ステップ3 md +msum とXとを比較する比較ステップ。
【0034】ステップ4 前記比較ステップの結果、md +msum ≧Xならば、出
力データのd桁目を「1」と決定するとともに、V
n (d)=「0」(1≦n≦N)であるデジタルデータ
に対し、マスクフラグMn に、「0」を代入し、md +
msum <Xならば、出力データのd桁目を「0」と決定
するとともに、Vn (d)=「1」(1≦n≦N)であ
るデジタルデータに対し、マスクフラグMn に、「0」
を代入し、計数和msum にmd を加算する桁決定ステッ
プ。
力データのd桁目を「1」と決定するとともに、V
n (d)=「0」(1≦n≦N)であるデジタルデータ
に対し、マスクフラグMn に、「0」を代入し、md +
msum <Xならば、出力データのd桁目を「0」と決定
するとともに、Vn (d)=「1」(1≦n≦N)であ
るデジタルデータに対し、マスクフラグMn に、「0」
を代入し、計数和msum にmd を加算する桁決定ステッ
プ。
【0035】ステップ5 前記計数ステップから桁決定ステップまでを、dがMS
B(すなわちd=D)からLSB(すなわちd=1)に
至るまでを繰り返す繰り返しステップ。
B(すなわちd=D)からLSB(すなわちd=1)に
至るまでを繰り返す繰り返しステップ。
【0036】以上のステップから本発明は構成される。
本発明において特徴的なことは、ステップ4において、
md を累積加算しており、Xはまったくその値を変えな
い事である。これによって、ステップ3はmd +msum
とXとを比較している。
本発明において特徴的なことは、ステップ4において、
md を累積加算しており、Xはまったくその値を変えな
い事である。これによって、ステップ3はmd +msum
とXとを比較している。
【0037】これに対して従来は、ステップ4におい
て、md をXから減算しており、Xはその値が変化して
いた。これによって、ステップ3はmd と変化してゆく
Xとを比較していた。
て、md をXから減算しており、Xはその値が変化して
いた。これによって、ステップ3はmd と変化してゆく
Xとを比較していた。
【0038】
【作用】従来、順位Xから必要に応じてmd を減算して
いったが、その代わりに、md を計数和msum に累積加
算している。そのため従来、絶対値回路が必要不可欠で
あったが、本発明においてはこれが不要になる。このた
め、回路構成が簡略化され、回路動作も高速にすること
ができる。
いったが、その代わりに、md を計数和msum に累積加
算している。そのため従来、絶対値回路が必要不可欠で
あったが、本発明においてはこれが不要になる。このた
め、回路構成が簡略化され、回路動作も高速にすること
ができる。
【0039】
【実施例】以下、本発明の好適な実施例を図面に基づい
て説明する。
て説明する。
【0040】図1は、本発明の順序フィルタリング方法
を使用した順序フィルタLSIの一実施例のブロック構
成図である。図1は、従来例で示したLSIと同様に、
4桁のデジタルデータを9個入力し、その中から、所望
の順位X番目の値を出力OUT(3:0)として取り出
すLSIを示すブロック構成図である。
を使用した順序フィルタLSIの一実施例のブロック構
成図である。図1は、従来例で示したLSIと同様に、
4桁のデジタルデータを9個入力し、その中から、所望
の順位X番目の値を出力OUT(3:0)として取り出
すLSIを示すブロック構成図である。
【0041】従来例と同様、入力を4桁のV1 (3:
0)からV9 (3:0)と表し、出力のX番目のデジタ
ルデータを入力と同様4桁の出力OUT(3:0)と表
す。
0)からV9 (3:0)と表し、出力のX番目のデジタ
ルデータを入力と同様4桁の出力OUT(3:0)と表
す。
【0042】LSIの構成もまた従来例と同様に、各桁
ごとに対応した桁ブロックをもっている、これらは、桁
ブロック#3から桁ブロック#0である。各桁ブロック
には、入力のそれぞれ対応する桁のデータが9個分全て
入力する。例えば、桁ブロック#3には、 V1 (3),…V9 (3) の9個の値が入力しており、桁ブロック#2には、 V1 (2),…V9 (2) の9個の値が入力している。また、各桁ブロックは、出
力の各対応する桁のデータを出力する。例えば、桁ブロ
ック#3は、OUT(3)を出力し、桁ブロック#2
は、OUT(2)を出力する。
ごとに対応した桁ブロックをもっている、これらは、桁
ブロック#3から桁ブロック#0である。各桁ブロック
には、入力のそれぞれ対応する桁のデータが9個分全て
入力する。例えば、桁ブロック#3には、 V1 (3),…V9 (3) の9個の値が入力しており、桁ブロック#2には、 V1 (2),…V9 (2) の9個の値が入力している。また、各桁ブロックは、出
力の各対応する桁のデータを出力する。例えば、桁ブロ
ック#3は、OUT(3)を出力し、桁ブロック#2
は、OUT(2)を出力する。
【0043】また、前述したように、この方法はマスク
フラグを用いて候補を絞り込んでいく方法であるので、
各桁ブロックごとに異なったマスクフラグの値を取る。
つまり、マスクフラグは上位の桁ブロックから下位の桁
ブロックへ更新を受けながら伝搬される。上位の桁ブロ
ックから桁ブロック#dに入力するマスクフラグを、M
1 (d),…M9 (d)と呼び、桁ブロック#dから下
位の桁ブロックに出力されるマスクフラグを、M1 (d
−1),…M9 (d−1)と呼ぶ。最上位の桁ブロック
#3においては、全てのマスクフラグが外部から供給さ
れているが、通常最上位桁においては9個の入力デジタ
ルデータが全て候補なので、全てのマスクフラグに
「1」が図示されていない外部回路から入力されること
になろう。
フラグを用いて候補を絞り込んでいく方法であるので、
各桁ブロックごとに異なったマスクフラグの値を取る。
つまり、マスクフラグは上位の桁ブロックから下位の桁
ブロックへ更新を受けながら伝搬される。上位の桁ブロ
ックから桁ブロック#dに入力するマスクフラグを、M
1 (d),…M9 (d)と呼び、桁ブロック#dから下
位の桁ブロックに出力されるマスクフラグを、M1 (d
−1),…M9 (d−1)と呼ぶ。最上位の桁ブロック
#3においては、全てのマスクフラグが外部から供給さ
れているが、通常最上位桁においては9個の入力デジタ
ルデータが全て候補なので、全てのマスクフラグに
「1」が図示されていない外部回路から入力されること
になろう。
【0044】また、順位Xは従来例と異なり全ての桁ブ
ロックに入力している。本発明によれば、順位Xは、ま
ったく変更を受けないので、本実施例においても、順位
Xは、全ての桁ブロックに同じ値を入力することができ
る。
ロックに入力している。本発明によれば、順位Xは、ま
ったく変更を受けないので、本実施例においても、順位
Xは、全ての桁ブロックに同じ値を入力することができ
る。
【0045】本発明は、前述したように順位Xを変更せ
ずに、各桁に置ける「1」の個数を累積していく。した
がって、順位Xは各桁ブロックにおいて同じ値が供給さ
れるが、各桁ブロックにおいて必要に応じて累積加算さ
れた計数和mSUM が、上位の桁ブロックから下位の桁ブ
ロックへ順次伝搬される。本文では、桁ブロック#dに
入力する計数和をmSUM (d)と呼び、下位の桁ブロッ
ク#d−1に出力される計数和を、mSUM (d−1)と
呼ぶ。
ずに、各桁に置ける「1」の個数を累積していく。した
がって、順位Xは各桁ブロックにおいて同じ値が供給さ
れるが、各桁ブロックにおいて必要に応じて累積加算さ
れた計数和mSUM が、上位の桁ブロックから下位の桁ブ
ロックへ順次伝搬される。本文では、桁ブロック#dに
入力する計数和をmSUM (d)と呼び、下位の桁ブロッ
ク#d−1に出力される計数和を、mSUM (d−1)と
呼ぶ。
【0046】次に各桁ブロックの詳細なブロック構成図
を図2に示す。図2には、例としてd桁目の桁ブロック
40を示してある。
を図2に示す。図2には、例としてd桁目の桁ブロック
40を示してある。
【0047】まず、9個の入力デジタルデータV
1 (d),…V9 (d)は、マスクフラグM1 (d)〜
M9 (d)に基づいてマスキングされる。これには、9
個のANDゲート42が用いられている。入力デジタル
データV1 (d),…V9 (d)はそれぞれマスクフラ
グM1 (d)〜M9 (d)と論理積をとることにより、
候補以外となったデジタルデータの出力を強制的に
「0」にしている。これによって、候補以外のデジタル
データを次に説明する加算の対象から除外している。
1 (d),…V9 (d)は、マスクフラグM1 (d)〜
M9 (d)に基づいてマスキングされる。これには、9
個のANDゲート42が用いられている。入力デジタル
データV1 (d),…V9 (d)はそれぞれマスクフラ
グM1 (d)〜M9 (d)と論理積をとることにより、
候補以外となったデジタルデータの出力を強制的に
「0」にしている。これによって、候補以外のデジタル
データを次に説明する加算の対象から除外している。
【0048】9個のANDゲート42の出力は、第一の
加算器44に出力されている。第一の加算器44は9個
のデジタルデータを加算、すなわち、9個のデジタルデ
ータ中の「1」の個数を計数している。第一の加算器4
4の加算出力md は第二の加算器46に出力されてい
る。
加算器44に出力されている。第一の加算器44は9個
のデジタルデータを加算、すなわち、9個のデジタルデ
ータ中の「1」の個数を計数している。第一の加算器4
4の加算出力md は第二の加算器46に出力されてい
る。
【0049】第二の加算器46は上位の桁ブロック#d
+1からの計数和mSUM (d)と、第一の加算器44の
加算出力md とを加算し、md +mSUM (d)を出力す
る。比較器48は、前述の第二の加算器46の出力md
+mSUM (d)と、順位Xとを比較している。比較は、
前述の第二の加算器46の出力md +mSUM (d)か
ら、順位Xを減算することにより行われる。この減算し
た結果が非負であれば、すなわちmd +mSUM (d)≧
Xであれば、比較器48の出力OUT(d)は「1」と
なり、結果が負であれば、すなわちmd +mSUM (d)
<Xであれば、OUT(d)は「0」となる。比較器4
8からの出力OUT(d)は、次に述べる計数和選択器
50と、マスクフラグ作成器52にも出力されている。
+1からの計数和mSUM (d)と、第一の加算器44の
加算出力md とを加算し、md +mSUM (d)を出力す
る。比較器48は、前述の第二の加算器46の出力md
+mSUM (d)と、順位Xとを比較している。比較は、
前述の第二の加算器46の出力md +mSUM (d)か
ら、順位Xを減算することにより行われる。この減算し
た結果が非負であれば、すなわちmd +mSUM (d)≧
Xであれば、比較器48の出力OUT(d)は「1」と
なり、結果が負であれば、すなわちmd +mSUM (d)
<Xであれば、OUT(d)は「0」となる。比較器4
8からの出力OUT(d)は、次に述べる計数和選択器
50と、マスクフラグ作成器52にも出力されている。
【0050】計数和選択器50は比較器48の出力OU
T(d)の値によって、下位の桁ブロックに伝達する計
数和mSUM (d−1)の値を選択する。計数和選択器5
0はOUT(d)の値が「1」のとき、下位の桁ブロッ
クに伝達する計数和mSUM (d−1)としてm
SUM (d)を選択しそのまま出力する。また、OUT
(d)の値が「0」のとき、mSUM (d−1)として第
二の加算器46の出力であるmd +mSUM (d)を選択
し出力する。
T(d)の値によって、下位の桁ブロックに伝達する計
数和mSUM (d−1)の値を選択する。計数和選択器5
0はOUT(d)の値が「1」のとき、下位の桁ブロッ
クに伝達する計数和mSUM (d−1)としてm
SUM (d)を選択しそのまま出力する。また、OUT
(d)の値が「0」のとき、mSUM (d−1)として第
二の加算器46の出力であるmd +mSUM (d)を選択
し出力する。
【0051】すなわち、OUT(d)の値が「0」のと
きには、d桁目の値が「1」であるデジタルデータは次
段では、検査の対象にはならない。そこで、md の値の
要因となったデジタルデータの個数を保存しておき、次
段での計数の結果と加算してから、順位Xと比較してい
る。つまり、OUT(d)の値が「0」のとき、除外さ
れるデータは、大きさが大きい方のデータであったの
で、従来は、順位xをその分小さくしなければならなか
った。本発明は、これを、計数結果に加算することによ
って、この問題を解決しているといえる。
きには、d桁目の値が「1」であるデジタルデータは次
段では、検査の対象にはならない。そこで、md の値の
要因となったデジタルデータの個数を保存しておき、次
段での計数の結果と加算してから、順位Xと比較してい
る。つまり、OUT(d)の値が「0」のとき、除外さ
れるデータは、大きさが大きい方のデータであったの
で、従来は、順位xをその分小さくしなければならなか
った。本発明は、これを、計数結果に加算することによ
って、この問題を解決しているといえる。
【0052】下位の桁ブロックへのマスクフラグは、マ
スクフラグ作成器52によって作成される。マスクフラ
グ作成器52は、従来のものとまったく同一のものであ
る。マスクフラグは、9個の各デジタルデータごとに更
新される。マスクフラグ作成器52は、上位の桁ブロッ
クからのマスクフラグMn (d)と(n=1,…9)、
この桁ブロックに入力している入力デジタルデータVn
(d)と、比較器48の出力OUT(d)とから、下位
の桁ブロックへのマスクフラグMn (d−1)が算出さ
れる。その算出式は以下の通りである。
スクフラグ作成器52によって作成される。マスクフラ
グ作成器52は、従来のものとまったく同一のものであ
る。マスクフラグは、9個の各デジタルデータごとに更
新される。マスクフラグ作成器52は、上位の桁ブロッ
クからのマスクフラグMn (d)と(n=1,…9)、
この桁ブロックに入力している入力デジタルデータVn
(d)と、比較器48の出力OUT(d)とから、下位
の桁ブロックへのマスクフラグMn (d−1)が算出さ
れる。その算出式は以下の通りである。
【0053】 Mn (d−1)=Mn (d).AND. (Vn (d).EX-NOR.OUT(d)) (但し、n=1,…9) すなわち、Mn (d)=「1」で、かつ、Vn (d)=
OUT(d)のときのみ、Mn (d−1)は「1」とな
り、それ以外ではいずれの場合も「0」となる。換言す
れば、まだ除外されていないデジタルデータで、かつ出
力であるOUT(d)と等しい桁データを持ったデータ
のみが、次段での検査の対象となる。
OUT(d)のときのみ、Mn (d−1)は「1」とな
り、それ以外ではいずれの場合も「0」となる。換言す
れば、まだ除外されていないデジタルデータで、かつ出
力であるOUT(d)と等しい桁データを持ったデータ
のみが、次段での検査の対象となる。
【0054】また、本LSIは、桁ブロック#3にで用
いられるマスクフラグと、計数和の値を、外部から入力
するための端子を備えている。さらに、桁ブロック#0
から出力されるマスクフラグと、計数和の値を、外部に
出力するための端子をも備えている。そのために9個の
デジタルデータの桁数が増加しても、このLSIを縦列
接続することにより容易に対応することができる。図3
には、本実施例のLSIを2個用いて8桁のデジタルデ
ータに対応している例の接続ブロック図を示す。
いられるマスクフラグと、計数和の値を、外部から入力
するための端子を備えている。さらに、桁ブロック#0
から出力されるマスクフラグと、計数和の値を、外部に
出力するための端子をも備えている。そのために9個の
デジタルデータの桁数が増加しても、このLSIを縦列
接続することにより容易に対応することができる。図3
には、本実施例のLSIを2個用いて8桁のデジタルデ
ータに対応している例の接続ブロック図を示す。
【0055】
【発明の効果】以上説明したように、本発明によれば、
マスクフラグを用いて、順次候補を絞っていく方法にお
いて、従来は、それにともなって順位を小さくしていた
のに対し、計数値を累積加算しているので、順位Xを同
じ値に保つ事ができる。
マスクフラグを用いて、順次候補を絞っていく方法にお
いて、従来は、それにともなって順位を小さくしていた
のに対し、計数値を累積加算しているので、順位Xを同
じ値に保つ事ができる。
【0056】このため、従来必要であった絶対値回路が
不要になる。また、この方法をLSIで用いた場合、回
路面積が小さくて済む等の良好な性質を有すると共に、
演算速度を向上させる事ができる。
不要になる。また、この方法をLSIで用いた場合、回
路面積が小さくて済む等の良好な性質を有すると共に、
演算速度を向上させる事ができる。
【図1】本発明の一実施例である順序フィルタLSIの
ブロック構成図である。
ブロック構成図である。
【図2】本発明の一実施例である順序フィルタLSIの
各桁ブロックの詳細なブロック構成図である。
各桁ブロックの詳細なブロック構成図である。
【図3】本発明の一実施例である順序フィルタLSIを
縦列接続し、入力デジタルデータの桁数が増加した場合
に対応した例を示す接続図である。
縦列接続し、入力デジタルデータの桁数が増加した場合
に対応した例を示す接続図である。
【図4】3×3のカーネルを用いた空間フィルタリング
方法の説明図である。
方法の説明図である。
【図5】従来の順序フィルタLSIのブロック構成図で
ある。
ある。
【図6】従来の順序フィルタLSIの各桁ブロックの詳
細なブロック構成図である。
細なブロック構成図である。
20 桁ブロック 22 ANDゲート 24 加算器 26 比較器 28 絶対値回路 30 順位選択器 32 マスクフラグ作成器 40 桁ブロック 42 ANDゲート 44 第一の加算器 46 第二の加算器 48 比較器 50 計数和選択器 52 マスクフラグ作成器
Claims (1)
- 【特許請求の範囲】 【請求項1】 N個のD桁を有するデジタルデータVn
(n=1,…N)のX(1≦X≦N)番目の大きさのデ
ータを、検索して出力する順序フィルタリング方法にお
いて、各デジタルデータごとに設けられたマスクフラグ
M1 〜MN に「1」を代入し、計数和msum に「0」を
代入し、探索桁dに「D」を代入する初期化ステップ
と、マスクフラグMn (1≦n≦N)が「1」であるデ
ジタルデータ中のd桁目の「1」の数md を計数する計
数ステップと、md +msum とXとを比較する比較ステ
ップと、前記比較ステップの結果、md +msum ≧Xな
らば、出力データのd桁目を「1」と決定するととも
に、Vn のd桁目が「0」であるデジタルデータに対
し、マスクフラグMn に、「0」を代入し、md +m
sum <Xならば、出力データのd桁目を「0」と決定す
るとともに、Vn のd桁目が「1」であるデジタルデー
タに対し、マスクフラグMn に、「0」を代入し、計数
和msum にmd を加算する桁決定ステップと、前記計数
ステップから桁決定ステップまでを、dがMSB(すな
わちd=D)からLSB(すなわちd=1)に至るまで
を繰り返す繰り返しステップと、を含むことを特徴とす
る順序フィルタリング方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15475191A JPH052645A (ja) | 1991-06-26 | 1991-06-26 | 順序フイルタリング方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15475191A JPH052645A (ja) | 1991-06-26 | 1991-06-26 | 順序フイルタリング方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH052645A true JPH052645A (ja) | 1993-01-08 |
Family
ID=15591118
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15475191A Pending JPH052645A (ja) | 1991-06-26 | 1991-06-26 | 順序フイルタリング方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH052645A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| LT4384B (lt) | 1996-12-12 | 1998-09-25 | Akcinė bendrovė "ACHEMA" | Aliuminio oksichlorido gamybos būdas |
| US7500089B2 (en) | 2001-04-02 | 2009-03-03 | Ricoh Company, Ltd. | SIMD processor with exchange sort instruction operating or plural data elements simultaneously |
-
1991
- 1991-06-26 JP JP15475191A patent/JPH052645A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| LT4384B (lt) | 1996-12-12 | 1998-09-25 | Akcinė bendrovė "ACHEMA" | Aliuminio oksichlorido gamybos būdas |
| US7500089B2 (en) | 2001-04-02 | 2009-03-03 | Ricoh Company, Ltd. | SIMD processor with exchange sort instruction operating or plural data elements simultaneously |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5737251A (en) | Rank order filter | |
| CN111160550A (zh) | 训练方法、信息处理设备和非暂态计算机可读存储介质 | |
| US4713786A (en) | Digital hardware selection filter | |
| JP4143288B2 (ja) | メディアンフィルタ処理装置 | |
| US6460166B1 (en) | System and method for restructuring of logic circuitry | |
| JPH052645A (ja) | 順序フイルタリング方法 | |
| US6731820B2 (en) | Image filter circuit and image filtering method | |
| JP2004334545A (ja) | フィルタ回路 | |
| CN113642593B (zh) | 影像处理方法与影像处理系统 | |
| US6412096B1 (en) | Method and apparatus for a hedge analysis technique for performance improvements of large scale integrated circuit logic design | |
| US6282695B1 (en) | System and method for restructuring of logic circuitry | |
| Venetianer et al. | Analogue combinatorics and cellular automata—key algorithms and lay‐out design | |
| EP0568373A2 (en) | Parallelized magnitude comparator | |
| JP5309354B2 (ja) | 高速パターンマッチング装置の探索方法 | |
| JP3534471B2 (ja) | マージソート方法及びマージソート装置 | |
| JP3151820B2 (ja) | 相対キーを利用したカウント分類法によるソート方式 | |
| US4933978A (en) | Method and apparatus for determining the value of a sample in the mth position of an ordered list of a plurality of samples | |
| EP0442220B1 (en) | Decoder | |
| JPH05233804A (ja) | メディアンフィルタ | |
| CN110648287A (zh) | 盒式滤波器并行高效计算方法 | |
| JP3922472B2 (ja) | 画像変換装置、画像変換方法、および記録媒体 | |
| JPH11102284A (ja) | 選別方法および選別回路 | |
| JP3288594B2 (ja) | 画像符号化装置 | |
| JPS62234424A (ja) | 木探索ベクトル量子化器 | |
| SU1661794A1 (ru) | Устройство ранговой фильтрации |