JP2007179183A - メディアンフィルタおよびメディアンフィルタプログラム - Google Patents
メディアンフィルタおよびメディアンフィルタプログラム Download PDFInfo
- Publication number
- JP2007179183A JP2007179183A JP2005375275A JP2005375275A JP2007179183A JP 2007179183 A JP2007179183 A JP 2007179183A JP 2005375275 A JP2005375275 A JP 2005375275A JP 2005375275 A JP2005375275 A JP 2005375275A JP 2007179183 A JP2007179183 A JP 2007179183A
- Authority
- JP
- Japan
- Prior art keywords
- data
- median
- input
- median filter
- pieces
- 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.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 claims abstract description 67
- 230000001174 ascending effect Effects 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims description 55
- 239000000284 extract Substances 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 24
- 230000008707 rearrangement Effects 0.000 description 18
- 238000000605 extraction Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】 高い精度で高速に処理を行なうことができるメディアンフィルタおよびメディアンフィルタプログラムを提供する。
【解決手段】 時系列的に順次に入力されたN個のデータを、入力順を示すインデックスに対応づけて昇順に並換手段100_11で並べ換え、次いで中央値抽出手段100_12で、それらN個のデータのうちの中央に並んだデータを中央値として抽出し、さらに入力更新手段100_13で、N個のデータのうちの、上記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力する。
【選択図】 図4
Description
本発明は、配列されたデータの中央値を順次に抽出して出力するメディアンフィルタ、およびプログラムを実行する演算処理装置をメディアンフィルタとして動作させるメディアンフィルタプログラムに関する。
従来より、画像信号に含まれる不要な信号やインパルス性雑音による画像劣化を抑えるために、配列されたデータの中央値を順次に抽出して出力するメディアンフィルタが知られている。このメディアンフィルタでは、画像を構成する画素のうちの対象画素およびその対象画素の近傍内における画素データ(濃度値)を読み取り、読み取った濃度値を昇順あるいは降順に並べ換えて中央値を算出し、この中央値を対象画素の新しい濃度値として割り当てるということが行なわれる。
メディアンフィルタの技術として、例えば、各画素の濃度値を一次元的に配列し、一次元的に配列された中心位置における濃度値と、その中心位置の対称位置における濃度値とを比較し、中央値が常に中心位置になるように交換する処理を画素数分繰り返すことで、中央値を短時間で求める技術が提案されている(特許文献1参照)。
また、所定の画素数を対象としたメディアン抽出テーブルを作成し、このメディアン抽出テーブルから中央値を求めるとともにそのテーブルを更新する処理を繰り返し実行することにより処理時間を短縮する技術が提案されている(特許文献2参照)。
さらに、横方向および縦方向の昇順ソーティングを順次行なって対角方向について最大値および最小値を求め、この対角方向と交差する方向の対角線方向で昇順ソーティングを行なうことにより、ソーティング処理を高速化する技術が提案されている(特許文献3参照)。
また、各画素を中心とする3×3サイズの画像領域(ウインドウ)内の、9個の画素値の中央値を求めるにあたり、大小順にソートする処理を3段階のステップに分けて行なうことにより、処理速度を高める技術が提案されている(特許文献4参照)。
さらに、5点以上の多点信号について中央値を求めるにあたり、5点未満の信号について中央値を求め、この中央値に対してさらに中央値を求めることにより、処理速度を高める技術が提案されている(特許文献5参照)。
また、全画素に対して濃度値を平均処理した後、近傍との分散値を算出し、その分散値が閾値よりも大きい場合のみメディアンフィルタ処理を行なうことにより、処理速度を高める技術が提案されている(特許文献6参照)。
さらに、隣接する2つのウインドウに共通な2組の中央値の比較を行なうことにより、2つのウインドウの処理を同時に行なって、処理速度を高める技術が提案されている(特許文献7参照)。
特開平5−12437号公報
特開平5−233802号公報
特開平5−300372号公報
特開平6−274617号公報
特開平7−336192号公報
特開平8−202871号公報
特開2004−220094号公報
上述した特許文献1に提案された、一次元的に配列された中心位置における濃度値とその中心位置の対称位置における濃度値とを比較して中央値が常に中心位置になるように交換する処理を繰り返す技術では、中央値を短時間で求めることができるものの、おおよその中央値しか求めることができず、従ってメディアンフィルタ処理における精度が低いという問題がある。
また、特許文献2に提案された、メディアン抽出テーブルを作成して中央値を求めることにより処理時間を短縮する技術では、メディアン抽出テーブルの作成にあたり行なわれる演算処理に起因して数値の精度が低下するため、やはりメディアンフィルタ処理における精度が低いという問題がある。
さらに、特許文献3に提案された技術では、横方向,縦方向,対角線方向の昇順ソーティングにあたり、1画素について合計21ステップが必要とされる。このため、処理時間の短縮に欠けるという問題がある。
また、特許文献4に提案された技術は、大小順にソートする処理を3段階のステップに分けて行なうものであるため、処理精度が低いという問題がある。
さらに、特許文献5に提案された技術は、5点未満の信号について中央値を求め、この中央値に対してさらに中央値を求める処理を行なうものであるため、おおよその中央値しか求めることができず、従ってメディアンフィルタ処理における精度が低いという問題がある。
また、特許文献6に提案された技術は、全画素に対して濃度値を平均処理して算出した分散値が閾値よりも大きい場合のみメディアンフィルタ処理を行なうものである。即ち、処理時間を短縮するために一部の画素についてのみ中央値を求めるものである。従って、全画素に対して中央値を求める場合と比較し、精度が低いという問題がある。
さらに、特許文献7に提案された技術は、隣接する2つのウインドウに共通な2組の中央値の比較を行なうことにより、それら2つのウインドウの処理を同時に行なうものであるため、やはり精度が低いという問題がある。
本発明は、上記事情に鑑み、高い精度で高速に処理を行なうことができるメディアンフィルタおよびメディアンフィルタプログラムを提供することを目的とする。
上記目的を達成する本発明のメディアンフィルタのうちの第1のメディアンフィルタは、一次元的に配列された一連のデータのうちの、順次に1データずつ移動する、連続するN個のデータの中央値を順次抽出して出力するメディアンフィルタにおいて、
時系列的に順次に入力されたN個のデータを、入力順を示すインデックスに対応づけて昇順に並べ換える並換手段と、
上記並換手段により昇順に並べられたN個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
上記N個のデータのうちの、上記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力する入力更新手段とを備えたことを特徴とする。
時系列的に順次に入力されたN個のデータを、入力順を示すインデックスに対応づけて昇順に並べ換える並換手段と、
上記並換手段により昇順に並べられたN個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
上記N個のデータのうちの、上記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力する入力更新手段とを備えたことを特徴とする。
本発明の第1のメディアンフィルタは、入力順を示すインデックスに対応づけて昇順に並べられたN個のデータのうちの中央に並んだデータを中央値として抽出するとともに、上記N個のデータのうちの、上記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力するものである。このため、N個のデータのうちの、最も古い入力データを除く残りの入力データの並び換えは既に終了していることとなり、新たに入力された1個のデータのみを考慮した並び換えを行なえば済む。従って、並び換えの回数が少なくて済み、中央値の抽出を高精度に且つ高速に行なうことができる。
ここで、本発明の第1のメディアンフィルタにおける上記並換手段は、新たに入力された1個のデータの配置位置を二分法に従って検索するものであることが好ましい。
このようにすると、新たに入力された1個のデータのみを考慮した並び換えを効率よく行なうことができ、従ってメディアンフィルタ処理に要する時間をより短縮することができる。
また、上記目的を達成する本発明のメディアンフィルタのうちの第2のメディアンフィルタは、二次元的に配列されたデータのうちの所定の行方向に順次に1データずつ移動する、その行方向にN1個並ぶとともに列方向にN2個並ぶN1×N2個のデータの中央値を順次に抽出して出力するメディアンフィルタにおいて、
行方向について時系列的に順次に入力されたN1×N2個のデータを、入力順の列を示すインデックスに対応づけて、一次元的に昇順に並べ換える並換手段と、
上記並換手段により昇順に並べられたN1×N2個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
上記N1×N2個のデータのうちの、上記インデックスに従って最も古い入力列のN2個のデータを消去して新たな列のN2個のデータを入力する入力更新手段とを備えたことを特徴とする。
行方向について時系列的に順次に入力されたN1×N2個のデータを、入力順の列を示すインデックスに対応づけて、一次元的に昇順に並べ換える並換手段と、
上記並換手段により昇順に並べられたN1×N2個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
上記N1×N2個のデータのうちの、上記インデックスに従って最も古い入力列のN2個のデータを消去して新たな列のN2個のデータを入力する入力更新手段とを備えたことを特徴とする。
本発明の第2のメディアンフィルタは、行方向について時系列的に順次に入力されたN1×N2個のデータを、入力順の列を示すインデックスに対応づけて一次元的に昇順に並べられたN1×N2個のデータのうちの中央に並んだデータを中央値として抽出するとともに、上記N1×N2個のデータのうちの、上記インデックスに従って最も古い入力列のN2個のデータを消去して新たな列のN2個のデータを入力するものである。このため、N1×N2個のデータのうちの、最も古い入力列のN2個のデータを除く残りの入力データの並び換えは既に終了していることとなり、新たに入力された列のN2個のデータのみを考慮した並び換えを行なえば済む。従って、並び換えの回数が少なくて済み、中央値の抽出を高精度に且つ高速に行なうことができる。
ここで、本発明の第2のメディアンフィルタにおける上記並換手段は、新たに入力したN2個のデータの配置位置を二分法に従って検索するものであることが好ましい。
このようにすると、新たに入力したN2個のデータのみを考慮した並び換えを効率よく行なうことができ、従ってメディアンフィルタ処理に要する時間をより短縮することができる。
さらに、上記目的を達成する本発明のメディアンフィルタプログラムのうちの第1のメディアンフィルタプログラムは、プログラムを実行する演算処理装置内で実行され、その演算処理装置を、一次元的に配列された一連のデータのうちの、順次に1データずつ移動する、連続するN個のデータの中央値を順次抽出して出力するメディアンフィルタとして動作させるメディアンフィルタプログラムであって、
上記演算処理装置を、
時系列的に順次に入力されたN個のデータを、入力順を示すインデックスに対応づけて昇順に並べ換える並換手段と、
上記並換手段により昇順に並べられたN個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
上記N個のデータのうちの、上記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力する入力更新手段とを備えたメディアンフィルタとして動作させることを特徴とする。
上記演算処理装置を、
時系列的に順次に入力されたN個のデータを、入力順を示すインデックスに対応づけて昇順に並べ換える並換手段と、
上記並換手段により昇順に並べられたN個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
上記N個のデータのうちの、上記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力する入力更新手段とを備えたメディアンフィルタとして動作させることを特徴とする。
ここで、本発明の第1のメディアンフィルタプログラムにおける上記並換手段は、新たに入力された1個のデータの配置位置を二分法に従って検索するものであることが好ましい。
本発明の第1のメディアンフィルタプログラムは、上記本発明の第1のメディアンフィルタとして動作させるメディアンフィルタプログラムであるため、時系列的に順次に入力されたN個のデータの並び換えの回数が少なくて済み、中央値の抽出を高精度に且つ高速に行なうことができる。従って、メディアンフィルタ処理を高精度に且つ高速に行なうことができる。
また、上記目的を達成する本発明のメディアンフィルタプログラムのうちの第2のメディアンフィルタプログラムは、プログラムを実行する演算処理装置内で実行され、その演算処理装置を、二次元的に配列されたデータのうちの所定の行方向に順次に1データずつ移動する、その行方向にN1個並ぶとともに列方向にN2個並ぶN1×N2個のデータの中央値を順次に抽出して出力するメディアンフィルタとして動作させるメディアンフィルタプログラムであって、
上記演算処理装置を、
行方向について時系列的に順次に入力されたN1×N2個のデータを、入力順の列を示すインデックスに対応づけて、一次元的に昇順に並べ換える並換手段と、
上記並換手段により昇順に並べられたN1×N2個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
上記N1×N2個のデータのうちの、上記インデックスに従って最も古い入力列のN2個のデータを消去して新たな列のN2個のデータを入力する入力更新手段とを備えたメディアンフィルタとして動作させることを特徴とする。
上記演算処理装置を、
行方向について時系列的に順次に入力されたN1×N2個のデータを、入力順の列を示すインデックスに対応づけて、一次元的に昇順に並べ換える並換手段と、
上記並換手段により昇順に並べられたN1×N2個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
上記N1×N2個のデータのうちの、上記インデックスに従って最も古い入力列のN2個のデータを消去して新たな列のN2個のデータを入力する入力更新手段とを備えたメディアンフィルタとして動作させることを特徴とする。
ここで、本発明の第2のメディアンフィルタプログラムにおける上記並換手段は、新たに入力したN2個のデータの配置位置を二分法に従って検索するものであることが好ましい。
本発明の第2のメディアンフィルタプログラムは、上記本発明の第2のメディアンフィルタとして動作させるメディアンフィルタプログラムであるため、時系列的に順次に入力されたN1×N2個のデータの並び換えの回数が少なくて済み、中央値の抽出を高精度に且つ高速に行なうことができる。従って、メディアンフィルタ処理を高精度に且つ高速に行なうことができる。
本発明によれば、高い精度で高速に処理を行なうことができるメディアンフィルタおよびメディアンフィルタプログラムを提供することができる。
以下、本発明の実施の形態について説明する。
図1は、本発明の第1のメディアンフィルタの一実施形態が実現される演算処理装置を示す概要図である。
この図1には、演算処理装置として、一般にワークステーションまたはパーソナルコンピュータと呼ばれるコンピュータ100が示されており、このコンピュータ100により本発明の第1のメディアンフィルタの一実施形態が実現される。先ず、このコンピュータ100のハードウェア構成について説明する。
このコンピュータ100は、CPU(中央処理装置)、RAM(ランダムアクセスメモリ)、ハードディスク、通信用ボード等が内蔵された本体部101、その本体部101からの指示により表示画面102a上に画像や文字列を表示する表示部102、このコンピュータ100に利用者の指示を入力するためのキーボード103、表示画面102a上の任意の位置を指定することにより、その指定時にその位置に表示されていたアイコン等に応じた指示を入力するマウス104を備えている。
本体部101は、さらに外観上、フレキシブルディスク(図示せず)、CD―ROM700が装填されるフレキシブルディスク装填口101a、CD―ROM装填口101bを有しており、それらの内部には、それらの装填口101a,101bから装填されたフレキシブルディスクやCD−ROM700をドライブしてアクセスするフレキシブルディスクドライブやCD−ROMドライブも内蔵されている。
図2は、図1に示した外観を有するコンピュータのハードウェア構成図である。
図2のハードウェア構成図には、CPU111、RAM112、ハードディスクコントローラ113、フレキシブルディスクドライブ114、CD―ROMドライブ115、マウスコントローラ116、キーボードコントローラ117、ディスプレイコントローラ118、および通信用ボード119が示されており、それらはバス110で相互に接続されている。
フレキシブルディスクドライブ114、CD―ROMドライブ115は、図1を参照して説明したように、それぞれフレキシブルディスク装填口101aおよびCD−ROM装填口101bから装填されたフレキシブルディスク500、CD−ROM700をアクセスするものである。通信用ボード119は通信回線600に接続される。
また、図2には、ハードディスクコントローラ113によりアクセスされるハードディスク120、マウスコントローラ116により制御されるマウス104、キーボードコントローラ117により制御されるキーボード103、およびディスクプレイコントローラ118により制御される表示部102(CRTディスプレイ)も示されている。
図3は、図1に示す演算処理装置であるコンピュータを、本発明の第1のメディアンフィルタの一実施形態として動作させる本発明の第1のメディアンフィルタプログラムの一実施形態が記憶されたCD−ROMを示す概念図である。
図3に示すCD−ROM700には、メディアンフィルタプログラムログラム710が記憶されており、このメディアンフィルタプログラムログラム710は、並換ルーチン部711、中央値抽出ルーチン部712、および入力更新ルーチン部713で構成されている。メディアンフィルタプログラムログラム710の各部の細部については、本発明の第1のメディアンフィルタの一実施形態の各部の作用とあわせて説明する。
図4は、本発明の第1のメディアンフィルタの一実施形態の構成を示す図である。
図4に示すメディアンフィルタ100_1は、一次元的に配列された一連のデータのうちの、順次に1データずつ移動する、連続するN個のデータの中央値を順次抽出して出力するメディアンフィルタである。このメディアンフィルタ100_1には、並換手段100_11と、中央値抽出手段100_12と、入力変更手段100_13とが備えられている。
並換手段100_11は、図3に示す並換ルーチン部711のプログラムの作用を受けて動作し、時系列的に順次に入力されたN個のデータを、入力順を示すインデックスに対応づけて昇順に並べ換える。詳細には、この並換手段100_11は、新たに入力された1個のデータの配置位置を二分法に従って検索する。
中央値抽出手段100_12は、図3に示す中央値抽出ルーチン部712のプログラムの作用を受けて動作し、並換手段100_11により昇順に並べられたN個のデータのうちの中央に並んだデータを中央値として抽出する。
入力更新手段100_13は、図3に示す入力更新ルーチン部713のプログラムの作用を受けて動作し、N個のデータのうちの、上記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力する。
図5は、図4に示すメディアンフィルタにおいて実行される処理ルーチンのフローチャートである。
この処理ルーチンでは、一次元的に配列された一連のデータのうちの、順次に1データずつ移動する、連続する7個のデータ(1×7サイズのデータ)の中央値を順次抽出して出力する処理が実行される。
先ず、ステップS1において、7個のリスト構造体を作り、それぞれを連結する。尚、リスト構造体を採用しているのは、並び換えをポインタの切り換えで迅速に行なうためである。
次に、ステップS2において、6個のデータ(28,42,14,58,21,68)にインデックス番号(0,1,2,3,4,5)を付してリスト構造体に格納する。
さらに、ステップS3に進み、リスト構造体に格納してあるデータをソートする。これにより、データが昇順(14,21,28,42,58,68)に並び換えられる。
次に、ステップS4において、7個目のデータ(25)をリスト構造体の適切な位置に追加する。
さらに、ステップS5において、リスト構造体の中央にある値(ここでは28)を取り出し、これをメディアン値(中央値)とし、元データと置き換える。
次いで、ステップS6において、リスト構造体から古いデータ(インデックス番号0のデータ)を削除して、その構造体を最後尾に移動させる。
さらに、ステップS7において、インデックス番号を下げる。
次に、ステップS8において、上述した処理を1行の終わりまで繰り返すために、最終列か否かが判定される。最終列でないと判定された場合は隣のデータを読み出してステップS4に戻る。一方、最終列であると判定された場合はステップS9に進む。
ステップS9では、最終行か否かが判定される。最終行でないと判定された場合は次の行を処理するためにステップS2に戻る。一方、最終行であると判定された場合は、この処理ルーチンを終了する。
図6は、1×nサイズからなるデータの演算範囲の移動概念図である。
図6には、1行×n列からなる元データが示されている。ここでは、この元データの斜線部がメディアン処理する範囲であるものとする。
また、図6には、演算範囲が移動する様子が示されている。尚、この演算範囲における斜線部は中央値を示す。隣接するブロックの6個分(重複要素)はすでに並び換えが済んでいるため、新たなデータの追加だけで常に並び順が保たれる。このため、並び換えの回数が減少し、中央値の取り出しを高速に行なうことができる。
図7は、リスト構造体に格納されたデータが配列部に格納される様子を示す図である。
図7には、リスト構造体に格納された、インデックス番号(0,1,2,3,4,5)が付されたデータ(28,42,14,58,21,68)が示されている。これらのデータは一旦配列部112aに格納される。配列部112aとしては、RAM112の作業領域が用いられる。リスト構造体に格納されているデータをソートするにあたり、このような配列部112aを使用することにより、ソート処理を効率よく行なうことができる。尚、データの並び換えを行なうときは、配列部112aに格納されたデータとリスト構造体のポインタ切り換えが同時に行なわれる。
図8は、配列部の中央にあるデータを取り出す様子を示す図である。
図8に示す配列部112aには、昇順に並び換えられたデータ14,21,25,28,42,58,68が格納されている。ここで、配列部112aの中央にあるデータ28が中央値として取り出される。
図9は、画像データをメディアン処理する様子を示す概念図である。
図9に示す画像データは、1×nサイズからなる画像データである。この画像データのうちのメディアン処理する範囲内のデータが、演算バッファにコピーされる。さらに、演算バッファで中央値が算出され、その後メディアンバッファにコピーされる。メディアンバッファにコピーされたデータは、そのメディアンバッファで遅延されて、画像データの所定の位置に設定される。尚、演算バッファ,メディアンバッファとしてはRAM112(図2参照)が用いられる。
図10は、図9に示す演算バッファの概要を示す図である。
図10(a)には、演算バッファの最初の状態が示されている。図10(a)に示す演算バッファは、アドレス0xFFFF〜0xFFEAで指定されるメモリから構成されている。このメモリ上に、1つの先頭アドレス保持部と7個のリスト領域を確保し、それぞれを、次データのアドレスを保持することで連結する。
先ず、図10(b)に示すように、6個のデータ(28,42,14,58,21,68)に6個のインデックス番号(0,1,2,3,4,5)を付して演算バッファに格納する。
次に、図10(c)に示すように、演算バッファに格納したデータをソートする。データの交換は、アドレスの切り換えで行なう。
さらに、図10(d)に示すように、7個目のデータを演算バッファの適切な位置に追加し、算出したメディアン値(中央値:ここでは28)をメディアンバッファに格納する。
次いで、図10(e)に示すように、演算バッファから古いデータを削除して、そのリスト構造を最後尾に移動させる。
さらに、図10(f)に示すように、全てのインデックス番号を下げる。
この後から行の終わりまでは、図10(d),図10(e),図10(f)に示す処理と、古いデータの削除および新しいデータの挿入処理を行なう。最終行まで処理すると、さらに図10(b),図10(c)に示す処理を実行した後、図10(d),図10(e),図10(f)に示す処理を最終行まで処理することを全データの処理が完了するまで繰り返す。
図11は、図9に示すメディアンバッファの概要を示す図である。
このメディアンバッファは、先に入力したデータが先に出力されるという特徴を持つFIFO構造になっている。
図11(a),図11(b),図11(c),図11(d),図11(e)に示すように、メディアン値(28,26,27,26)を入力するたびに、格納してあるデータが移動する。ここで、図11(f)に示すように、メディアンバッファが一杯になると、最初に入力されたデータ(28)から出力されていく。その後、遅延させて画像データの処理位置にメディアン値を設定する。このように処理することで、更新用画像バッファを作成する必要もなく、従って回路規模の増大を抑えることができる。
図12は、図1に示す演算処理装置であるコンピュータを、本発明の第2のメディアンフィルタの一実施形態として動作させる本発明の第2のメディアンフィルタプログラムの一実施形態が記憶されたCD−ROMを示す概念図である。
図12に示すCD−ROM800には、メディアンフィルタプログラムログラム810が記憶されており、このメディアンフィルタプログラムログラム810は、並換ルーチン部811、中央値抽出ルーチン部812、および入力更新ルーチン部813で構成されている。メディアンフィルタプログラムログラム810の各部の細部については、本発明の第2のメディアンフィルタの一実施形態の各部の作用とあわせて説明する。
図13は、本発明の第2のメディアンフィルタの一実施形態の構成を示す図である。
図13に示すメディアンフィルタ100_2は、二次元的に配列されたデータのうちの所定の行方向に順次に1データずつ移動する、その行方向にm(本発明にいうN1個に相当)並ぶとともに列方向にn個(本発明にいうN2に相当)並ぶm×n個のデータの中央値を順次に抽出して出力するメディアンフィルタである。このメディアンフィルタ100_2には、並換手段100_21と、中央値抽出手段100_22と、入力変更手段100_23とが備えられている。
並換手段100_21は、図12に示す並換ルーチン部811のプログラムの作用を受けて動作し、行方向について時系列的に順次に入力されたm×n個のデータを、入力順の列を示すインデックスに対応づけて、一次元的に昇順に並べ換える。詳細には、この並換手段100_21は、新たに入力したn個のデータの配置位置を二分法に従って検索する。
中央値抽出手段100_22は、図12に示す中央値抽出ルーチン部812のプログラムの作用を受けて動作し、並換手段100_21により昇順に並べられたm×n個のデータのうちの中央に並んだデータを中央値として抽出する。
入力更新手段100_23は、図12に示す入力更新ルーチン部813のプログラムの作用を受けて動作し、m×n個のデータのうちの、上記インデックスに従って最も古い入力列のn個のデータを消去して新たな列のn個のデータを入力する。
図14は、図13に示すメディアンフィルタにおいて実行される処理ルーチンのフローチャートである。
この処理ルーチンでは、m×n個のデータとして3×3個のデータを処理する場合について説明する。
先ず、ステップS21において、3×3個の二次元データを一次元化する。
次に、ステップS22において、9個のリスト構造体を作り、それぞれを連結する。
さらに、ステップS23において、6個のデータにインデックス番号を付してリスト構造体に格納する。具体的には、0列における3個のデータ(28,42,14)にインデックス番号(0)を付し、また1列における3個のデータ(58,21,68)にインデックス番号(1)を付してリスト構造体に格納する。尚、リスト構造体を採用しているのは、並び換えをポインタの切り換えで迅速に行なうためである。
さらに、ステップS24に進み、リスト構造体に格納してあるデータをソートする。これにより、データが昇順(14,21,28,42,58,68)に並び換えられる。
次に、ステップS25において、7,8,9個目のデータ(70,72,25)をリスト構造体の適切な位置に追加する。
さらに、ステップS26において、リスト構造体の中央にある値(ここでは42)を取り出し、これをメディアン値(中央値)とし、元データと置き換える。
次いで、ステップS27において、次にデータ列を処理するために、リスト構造体から古いデータ列(インデックス番号0が付されたデータ14,28,42)を削除して、その構造体を最後尾に移動させる。
さらに、ステップS28において、インデックス番号を下げる。
次に、ステップS29において、上述した処理を1行の終わりまで繰り返すために、最終列か否かが判定される。最終列でないと判定された場合は隣のデータを読み出してステップS25に戻る。一方、最終列であると判定された場合はステップS30に進む。
ステップS30では、最終行か否かが判定される。最終行でないと判定された場合は、次の行を処理することとなる。ここで、次の行を処理するときは新たに6個のデータを格納するところから始める。このため、ステップS23に戻る。一方、最終行であると判定された場合は、この処理ルーチンを終了する。
図15は、m×nサイズからなるデータの演算範囲の移動概念図である。
図15には、m行×n列からなる元データが示されている。ここでは、この元データの斜線部がメディアン処理する範囲であるものとする。
また、図15には、演算範囲が移動する様子が示されている。尚、この演算範囲における斜線部は中央値を示す。隣接するブロックの6個分(重複要素)はすでに並び換えが済んでいるため、新たなデータ列の追加だけで常に並び順が保たれる。このため、中央値の取り出しを高速に行なうことができる。
図16は、リスト構造体に格納されたデータが配列部に格納される様子を示す図である。
図16には、リスト構造体に格納された、インデックス番号(0,1,2,3,4,5)が付されたデータ(28,42,14,58,21,68)が示されている。これらのデータは一旦配列部112aに格納される。リスト構造体に格納されているデータをソートするにあたり、このような配列部112aを使用することにより、ソート処理を効率よく行なうことができる。尚、データの並び換えを行なうときは、配列部112aに格納されたデータとリスト構造体のポインタ切り換えが同時に行なわれる。
図17は、配列部の中央にあるデータを取り出す様子を示す図である。
図17に示す配列部112aには、昇順に並び換えられた9個のデータ14,21,25,28,42,58,68,70,72が格納されている。ここで、配列部112aの中央にあるデータ42が中央値として取り出される。
図18は、画像データをメディアン処理する様子を示す概念図である。
図18に示す画像データは、m×nサイズからなる画像データである。先ず、この画像データから処理範囲の二次元データを一次元データに変換し、次いで一次元データを演算バッファにコピーする。さらに、演算バッファで中央値を算出し、その後メディアンバッファにコピーする。メディアンバッファにコピーされたデータは、そのメディアンバッファで遅延されて、画像データの所定の位置に設定される。
図19は、図18に示す演算バッファの概要を示す図である。
図19(a)には、演算バッファの最初の状態が示されている。図19(a)に示す演算バッファは、アドレス0xFFFF〜0xFFE4で指定されるメモリから構成されている。このメモリ上に、1つの先頭アドレス保持部と9個のリスト領域を確保し、それぞれを、次データのアドレスを保持することで連結する。
先ず、図19(b)に示すように、3個のデータ(28,42,14)にインデックス番号(0)を付し、また3個のデータ(58,21,68)にインデックス番号(1)を付して演算バッファに格納する。
次に、図19(c)に示すように、演算バッファに格納したデータをソートする。データの交換は、アドレスの切り換えで行なう。
さらに、図19(d)に示すように、7,8,9個目のデータを演算バッファの適切な位置に追加し、算出したメディアン値(中央値:ここでは42)をメディアンバッファに格納する。
次いで、図19(e)に示すように、演算バッファから古いデータ列を削除して、そのリスト構造を最後尾に移動させる。
さらに、図19(f)に示すように、全てのインデックス番号を下げる。
この後から行の終わりまでは、図19(d),図19(e),図19(f)に示す処理と、古いデータ列の削除および新しいデータ列の挿入処理を行なう。最終行まで処理すると、さらに図19(b),図19(c)に示す処理を実行した後、図19(d),図19(e),図19(f)に示す処理を最終行まで処理することを全データの処理が完了するまで繰り返す。
図20は、図18に示すメディアンバッファの概要を示す図である。
このメディアンバッファは、先に入力したデータが先に出力されるという特徴を持つFIFO構造になっている。
図20(a),図20(b),図20(c)に示すように、メディアン値(42,41,…)を入力するたびに、格納してあるデータが移動する。ここで、図20(d)に示すように、メディアンバッファが一杯になると、最初に入力されたデータ(42)から出力されていく。その後、遅延させて画像データの処理位置にメディアン値を設定する。このように処理することで、更新用画像バッファを作成する必要もなく、従って回路規模の増大を抑えることができる。
尚、本実施形態では、本発明の第1,第2のメディアンフィルタの一実施形態をコンピュータ100により実現した例で説明したが、これに限られるものではなく、例えば、被写体光を撮像素子で捉えて画像信号を生成するデジタルカメラ、携帯電話に搭載されるカメラ、あるいは動画を撮影するビデオカメラ等の光学機器にも、本発明を適用することができる。
100 コンピュータ
101 本体部
101a フレキシブルディスク装填口
101b CD−ROM装填口
100_1,100_2 メディアンフィルタ
100_11,100_21 並換手段
100_12,100_22 中央値抽出手段
100_13,100_23 入力更新手段
102a 表示画面
102 表示部
103 キーボード
104 マウス
110 バス
111 CPU
112 RAM
112a 配列部
113 ハードディスクコントローラ
114 フレキシブルディスクドライブ
115 CD―ROMドライブ
116 マウスコントローラ
117 キーボードコントローラ
118 ディスプレイコントローラ
119 通信用ボード
120 ハードディスク
500 フレキシブルディスク
600 通信回線
700,800 CD−ROM
710,810 メディアンフィルタプログラム
711,811 並換ルーチン部
712,812 中央値抽出ルーチン部
713,813 入力更新ルーチン部
101 本体部
101a フレキシブルディスク装填口
101b CD−ROM装填口
100_1,100_2 メディアンフィルタ
100_11,100_21 並換手段
100_12,100_22 中央値抽出手段
100_13,100_23 入力更新手段
102a 表示画面
102 表示部
103 キーボード
104 マウス
110 バス
111 CPU
112 RAM
112a 配列部
113 ハードディスクコントローラ
114 フレキシブルディスクドライブ
115 CD―ROMドライブ
116 マウスコントローラ
117 キーボードコントローラ
118 ディスプレイコントローラ
119 通信用ボード
120 ハードディスク
500 フレキシブルディスク
600 通信回線
700,800 CD−ROM
710,810 メディアンフィルタプログラム
711,811 並換ルーチン部
712,812 中央値抽出ルーチン部
713,813 入力更新ルーチン部
Claims (8)
- 一次元的に配列された一連のデータのうちの、順次に1データずつ移動する、連続するN個のデータの中央値を順次抽出して出力するメディアンフィルタにおいて、
時系列的に順次に入力されたN個のデータを、入力順を示すインデックスに対応づけて昇順に並べ換える並換手段と、
前記並換手段により昇順に並べられたN個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
前記N個のデータのうちの、前記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力する入力更新手段とを備えたことを特徴とするメディアンフィルタ。 - 前記並換手段は、新たに入力された1個のデータの配置位置を二分法に従って検索するものであることを特徴とする請求項1記載のメディアンフィルタ。
- 二次元的に配列されたデータのうちの所定の行方向に順次に1データずつ移動する、該行方向にN1個並ぶとともに列方向にN2個並ぶN1×N2個のデータの中央値を順次に抽出して出力するメディアンフィルタにおいて、
行方向について時系列的に順次に入力されたN1×N2個のデータを、入力順の列を示すインデックスに対応づけて、一次元的に昇順に並べ換える並換手段と、
前記並換手段により昇順に並べられたN1×N2個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
前記N1×N2個のデータのうちの、前記インデックスに従って最も古い入力列のN2個のデータを消去して新たな列のN2個のデータを入力する入力更新手段とを備えたことを特徴とするメディアンフィルタ。 - 前記並換手段は、新たに入力したN2個のデータの配置位置を二分法に従って検索するものであることを特徴とする請求項3記載のメディアンフィルタ。
- プログラムを実行する演算処理装置内で実行され、該演算処理装置を、一次元的に配列された一連のデータのうちの、順次に1データずつ移動する、連続するN個のデータの中央値を順次抽出して出力するメディアンフィルタとして動作させるメディアンフィルタプログラムであって、
前記演算処理装置を、
時系列的に順次に入力されたN個のデータを、入力順を示すインデックスに対応づけて昇順に並べ換える並換手段と、
前記並換手段により昇順に並べられたN個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
前記N個のデータのうちの、前記インデックスに従って最も古い入力データを消去して新たな1個のデータを入力する入力更新手段とを備えたメディアンフィルタとして動作させることを特徴とするメディアンフィルタプログラム。 - 前記並換手段は、新たに入力された1個のデータの配置位置を二分法に従って検索するものであることを特徴とする請求項5記載のメディアンフィルタプログラム。
- プログラムを実行する演算処理装置内で実行され、該演算処理装置を、二次元的に配列されたデータのうちの所定の行方向に順次に1データずつ移動する、該行方向にN1個並ぶとともに列方向にN2個並ぶN1×N2個のデータの中央値を順次に抽出して出力するメディアンフィルタとして動作させるメディアンフィルタプログラムであって、
前記演算処理装置を、
行方向について時系列的に順次に入力されたN1×N2個のデータを、入力順の列を示すインデックスに対応づけて、一次元的に昇順に並べ換える並換手段と、
前記並換手段により昇順に並べられたN1×N2個のデータのうちの中央に並んだデータを中央値として抽出する中央値抽出手段と、
前記N1×N2個のデータのうちの、前記インデックスに従って最も古い入力列のN2個のデータを消去して新たな列のN2個のデータを入力する入力更新手段とを備えたメディアンフィルタとして動作させることを特徴とするメディアンフィルタプログラム。 - 前記並換手段は、新たに入力したN2個のデータの配置位置を二分法に従って検索するものであることを特徴とする請求項7記載のメディアンフィルタプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005375275A JP2007179183A (ja) | 2005-12-27 | 2005-12-27 | メディアンフィルタおよびメディアンフィルタプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005375275A JP2007179183A (ja) | 2005-12-27 | 2005-12-27 | メディアンフィルタおよびメディアンフィルタプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007179183A true JP2007179183A (ja) | 2007-07-12 |
Family
ID=38304324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005375275A Withdrawn JP2007179183A (ja) | 2005-12-27 | 2005-12-27 | メディアンフィルタおよびメディアンフィルタプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007179183A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009053873A (ja) * | 2007-08-24 | 2009-03-12 | Fujitsu Ten Ltd | 制御装置、車輌制御装置、処理方法、及び制御プログラム |
JP2011109880A (ja) * | 2009-11-20 | 2011-06-02 | Aisin Seiki Co Ltd | 直流モータのリップル検出装置、リップル検出方法、およびリップル検出プログラム |
KR20120032132A (ko) * | 2010-09-28 | 2012-04-05 | 삼성전자주식회사 | 메디안 필터링 방법 및 장치 |
JP2012254014A (ja) * | 2012-07-27 | 2012-12-20 | Aisin Seiki Co Ltd | 直流モータのリップル検出装置 |
JP2014511526A (ja) * | 2011-02-18 | 2014-05-15 | アビニシオ テクノロジー エルエルシー | ソート |
-
2005
- 2005-12-27 JP JP2005375275A patent/JP2007179183A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009053873A (ja) * | 2007-08-24 | 2009-03-12 | Fujitsu Ten Ltd | 制御装置、車輌制御装置、処理方法、及び制御プログラム |
JP2011109880A (ja) * | 2009-11-20 | 2011-06-02 | Aisin Seiki Co Ltd | 直流モータのリップル検出装置、リップル検出方法、およびリップル検出プログラム |
KR20120032132A (ko) * | 2010-09-28 | 2012-04-05 | 삼성전자주식회사 | 메디안 필터링 방법 및 장치 |
KR101704439B1 (ko) * | 2010-09-28 | 2017-02-09 | 삼성전자주식회사 | 메디안 필터링 방법 및 장치 |
JP2014511526A (ja) * | 2011-02-18 | 2014-05-15 | アビニシオ テクノロジー エルエルシー | ソート |
JP2012254014A (ja) * | 2012-07-27 | 2012-12-20 | Aisin Seiki Co Ltd | 直流モータのリップル検出装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2812126B2 (ja) | ランクオーダフィルタ | |
JP2007179183A (ja) | メディアンフィルタおよびメディアンフィルタプログラム | |
JPH0451363A (ja) | 画像情報検索装置 | |
JP2016018359A (ja) | 画像処理方法、画像処理装置、プログラム及び記録媒体 | |
EP0143533A2 (en) | Image data expanding and/or contracting method and apparatus | |
KR20040050829A (ko) | 반도체 장치, 화상 데이터 처리 장치 및 그 방법 | |
CN108876701B (zh) | 一种基于游程的单次扫描连通域标记方法及其硬件结构 | |
JP2010102584A (ja) | 画像処理装置及び画像処理方法 | |
KR930003413B1 (ko) | 화상의 국소처리를 고속으로 실행하는 화상처리 시스템 | |
US8135229B1 (en) | Image processing method and device | |
JP4523476B2 (ja) | 雑音除去装置および雑音除去装置用プログラム | |
US6380987B1 (en) | Motion vector detection circuit enabling high-speed search of motion vector | |
JP2023058636A (ja) | 情報処理装置及びメモリ制御方法 | |
JP2007279967A (ja) | 画像処理装置 | |
JP2013178670A (ja) | 情報処理装置、情報処理方法 | |
JP5005482B2 (ja) | パターン検索方法及び装置 | |
KR100900326B1 (ko) | 영상데이터의 세선화가 가능한 영상처리장치 | |
JP2017162151A (ja) | 情報処理装置、プログラム、情報処理方法 | |
JP4859168B2 (ja) | 動き検出装置及び動き検出方法 | |
TWI695250B (zh) | 可減少多工器數量的查找表配置方法及利用其之資訊處理裝置 | |
JP2868457B2 (ja) | 動きベクトル探索装置 | |
JP4665317B2 (ja) | 座標列の特徴算出方法、ならびに映像特殊効果装置の制御方法および映像特殊効果装置の制御システム | |
JPH07113971B2 (ja) | 画像処理のラベル付回路 | |
KR101187432B1 (ko) | 응답 시간을 단축한 내용 기반의 영상 크기 조절 방법 및 장치 | |
CN106716495A (zh) | 信息显示控制系统及纹理图集生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090303 |