(57)【要約】【課題】中央値を効率的かつ高精度に検索する。【解決手段】実施形態によれば、中央値検索方法は、点対称方向ソートを適用することを含む。点対称方向ソートは、垂直方向ソート及び水平方向ソート後のＮ行Ｎ列のサンプル値のうちの最大値及び最小値がそれぞれ配置される第１の頂点及び第２の頂点以外の第３の頂点から垂直方向に、シフト量が１から最大（Ｎ−３）／２までインクリメントするように、シフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値の合計（Ｎ−３）／２回に亘るソートと、（ｃ）第３の頂点から水平方向に、シフト量が１から最大（Ｎ−３）／２までインクリメントするように、シフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値の合計（Ｎ−３）／２回に亘るソートとを含む。【選択図】図２
2015121877.tif 000002
【特許請求の範囲】
【請求項１】
計Ｎ（Ｎは５以上の奇数）×Ｎ個のサンプル値を行列状に配列することによって得られるＮ行Ｎ列のサンプル値に対して、全列をソートする垂直方向ソート及び全行をソートする水平方向ソートを任意の順序で適用することと、
前記垂直方向ソート及び前記水平方向ソート後のＮ行Ｎ列のサンプル値に対して、点対称方向ソートを適用することと
を具備し、
前記点対称方向ソートは、（ａ）前記垂直方向ソート及び前記水平方向ソート後のＮ行Ｎ列のサンプル値のうちの最大値が配置される第１の頂点及び当該Ｎ行Ｎ列のサンプル値のうちの最小値が配置される第２の頂点以外の第３の頂点から第４の頂点へ向かう対角線上にあるＮ個のサンプル値のソートと、（ｂ）前記第３の頂点から垂直方向に、シフト量が１から最大（Ｎ−３）／２までインクリメントするように、シフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値の合計（Ｎ−３）／２回に亘るソートと、（ｃ）前記第３の頂点から水平方向に、シフト量が１から最大（Ｎ−３）／２までインクリメントするように、シフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値の合計（Ｎ−３）／２回に亘るソートとを含む、
中央値検索方法。
【請求項２】
前記点対称方向ソート後のＮ行Ｎ列のサンプル値に対して、中心点及びこれに隣接するＮ−１個の点に配置された合計Ｎ個のサンプル値をソートする中央領域ソートを適用することを更に具備する、請求項１の中央値検索方法。
【請求項３】
前記点対称方向ソート後のＮ行Ｎ列のサンプル値に対して、中心点及びこれに隣接するＮ−１＋α（αは２以上の偶数）個の点に配置された合計Ｎ＋α個のサンプル値をソートする中央領域ソートを適用することを更に具備する、請求項１の中央値検索方法。
【請求項４】
αはＮ未満である、請求項３の中央値検索方法。
【請求項５】
計Ｎ（Ｎは５以上の奇数）×Ｎ個のサンプル値を行列状に配列することによって得られるＮ行Ｎ列のサンプル値に対して、全列をソートする垂直方向ソート及び全行をソートする水平方向ソートを任意の順序で適用する垂直方向ソート回路及び水平方向ソート回路と、
前記垂直方向ソート及び前記水平方向ソート後のＮ行Ｎ列のサンプル値に対して、点対称方向ソートを適用する点対称方向ソート回路と
を具備し、
前記点対称方向ソートは、（ａ）前記垂直方向ソート及び前記水平方向ソート後のＮ行Ｎ列のサンプル値のうちの最大値が配置される第１の頂点及び当該Ｎ行Ｎ列のサンプル値のうちの最小値が配置される第２の頂点以外の第３の頂点から第４の頂点へ向かう対角線上にあるＮ個のサンプル値のソートと、（ｂ）前記第３の頂点から垂直方向に、シフト量が１から最大（Ｎ−３）／２までインクリメントするように、シフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値の合計（Ｎ−３）／２回に亘るソートと、（ｃ）前記第３の頂点から水平方向に、シフト量が１から最大（Ｎ−３）／２までインクリメントするように、シフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値の合計（Ｎ−３）／２回に亘るソートとを含む、
中央値検索装置。
【請求項６】
前記中央値検索装置は、少なくとも１つのＮサンプル値ソート回路を含み、
前記Ｎサンプル値ソート回路は、ＳＯＲＴ−ＢＡＳＥ回路を根とし、ＵＰＰＥＲ−ＢＡＳＥ回路及びＬＯＷＥＲ−ＢＡＳＥ回路を葉とする二分木構造を備え、
前記ＳＯＲＴ−ＢＡＳＥ回路は、Ｎ個のサンプル値から選択された基準サンプル値と他のＮ−１個のサンプル値とを比較し、当該基準サンプル値よりも大きなサンプル値を次段のＵＰＰＥＲ−ＢＡＳＥ回路へと出力し、当該基準サンプル値よりも小さなサンプル値を次段のＬＯＷＥＲ−ＢＡＳＥ回路へと出力し、当該基準サンプル値のソート後のインデックスを決定し、
前記ＵＰＰＥＲ−ＢＡＳＥ回路は、入力サンプル値から選択された基準サンプル値と他のサンプル値とを比較し、当該基準サンプル値よりも大きなサンプル値を次段のＵＰＰＥＲ−ＢＡＳＥ回路へと出力し、当該基準サンプル値よりも小さなサンプル値を次段のＬＯＷＥＲ−ＢＡＳＥ回路へと出力し、当該基準サンプル値のソート後のインデックスを決定し、
前記ＬＯＷＥＲ−ＢＡＳＥ回路は、入力サンプル値から選択された基準サンプル値と他のサンプル値とを比較し、当該基準サンプル値よりも大きなサンプル値を次段のＵＰＰＥＲ−ＢＡＳＥ回路へと出力し、当該基準サンプル値よりも小さなサンプル値を次段のＬＯＷＥＲ−ＢＡＳＥ回路へと出力し、当該基準サンプル値のソート後のインデックスを決定する、
請求項５の中央値検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、中央値の検索に関する。
【背景技術】
【０００２】
例えば車載カメラ、監視カメラなどによって撮影される画像は多くのノイズを含んでおり、そのノイズを低減することが望まれる。従来、画像のノイズ低減技法として、メディアンフィルタが知られている。メディアンフィルタは、注目画素を中心とする計Ｎ×Ｎ（Ｎは３以上の奇数）画素の画素値をソートすることによって中央値を検索し、当該中央値によって注目画素の画素値を置き換える。
【０００３】
例えば、Ｎ＝３の場合に通常のメディアンフィルタは以下に例示されるＣ言語のソースコードとして記述することができる。ここで、通常のメディアンフィルタとは、総当たり方式の中央値検索を行うものを意味する。尚、下記ソースコードにおいて用いられる画素値（即ち、サンプル値）のインデックスは図３に示されるように定められているものとする。
【０００４】
【数１】
2015121877.tif 000003
【０００５】
同様に、Ｎ＝５の場合に通常のメディアンフィルタは以下に例示されるＣ言語のソースコードとして記述することができる。尚、下記ソースコードにおいて用いられるサンプル値のインデックスは図４に示されるように定められているものとする。  
【０００６】
【数２】
2015121877.tif 000004
【０００７】
メディアンフィルタは、ソフトウェア及びハードウェアのいずれによっても実装することができる。しかしながら、計Ｎ×Ｎ個のサンプル値をソートするためには膨大な回数の比較を実行する必要があるので、通常のメディアンフィルタをハードウェア実装すると回路規模が膨大になる。特に、Ｎが増大するほど、中央値検索に必要とされる比較回数は飛躍的に増加する。中央値検索に必要とされる比較回数を総当たり方式に比べて削減する手法も提案されているが、特にＮが５以上の場合に中央値の検索精度は大きく低下する。
【０００８】
メディアンフィルタをソフトウェア実装する場合には上述の問題は生じない。反面、メディアンフィルタをソフトウェア実装する場合にはリアルタイム処理の要求に応えることが困難となる。前述の車載カメラ、監視カメラなどによって撮影された画像に基づいて事件または事故の早期発見する目的から、メディアンフィルタにリアルタイム性が重要視されることもある。故に、検索精度を損なうことなく中央値検索に必要とされる比較回数を削減することが望まれる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平５−３００３７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
実施形態は、中央値を効率的かつ高精度に検索することを目的とする。
【課題を解決するための手段】
【００１１】
実施形態によれば、中央値検索方法は、計Ｎ（Ｎは５以上の奇数）×Ｎ個のサンプル値を行列状に配列することによって得られるＮ行Ｎ列のサンプル値に対して、全列をソートする垂直方向ソート及び全行をソートする水平方向ソートを任意の順序で適用することを含む。中央値検索方法は、垂直方向ソート及び水平方向ソート後のＮ行Ｎ列のサンプル値に対して、点対称方向ソートを適用することを含む。点対称方向ソートは、（ａ）垂直方向ソート及び水平方向ソート後のＮ行Ｎ列のサンプル値のうちの最大値が配置される第１の頂点及び当該Ｎ行Ｎ列のサンプル値のうちの最小値が配置される第２の頂点以外の第３の頂点から第４の頂点へ向かう対角線上にあるＮ個のサンプル値のソートと、（ｂ）第３の頂点から垂直方向に、シフト量が１から最大（Ｎ−３）／２までインクリメントするように、シフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値の合計（Ｎ−３）／２回に亘るソートと、（ｃ）第３の頂点から水平方向に、シフト量が１から最大（Ｎ−３）／２までインクリメントするように、シフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値の合計（Ｎ−３）／２回に亘るソートとを含む。
【図面の簡単な説明】
【００１２】
【図１】Ｎ＝５の場合に、第１の実施形態に係る中央値検索方法において行われる各種ソートを例示する図。
【図２】図１の点対称方向ソートの詳細を例示する図。
【図３】３×３サンプル値のメディアンフィルタの説明図。
【図４】５×５サンプル値のメディアンフィルタの説明図。
【図５】Ｎ＝７の場合に、第１の実施形態に係る中央値検索方法において行われる各種ソートを例示する図。
【図６】図５の点対称方向ソートの詳細を例示する図。
【図７】Ｎ＝９の場合に、第１の実施形態に係る中央値検索方法において行われる各種ソートを例示する図。
【図８】図７の点対称方向ソートの詳細を例示する図。
【図９】Ｎ＝１１の場合に、第１の実施形態に係る中央値検索方法において行われる各種ソートを例示する図。
【図１０】第２の実施形態に係る中央値検索装置への計Ｎ×Ｎ個のサンプル値の入力順序の説明図。
【図１１】第２の実施形態に係る中央値検索装置を例示するブロック図。
【図１２】５サンプル値ソート回路に含まれるＳＯＲＴ−ＢＡＳＥ回路を例示するブロック図。
【図１３】５サンプル値ソート回路に含まれるＵＰＰＥＲ−ＢＡＳＥ回路を例示するブロック図。
【図１４】５サンプル値ソート回路に含まれるＬＯＷＥＲ−ＢＡＳＥ回路を例示するブロック図。
【図１５】５サンプル値ソート回路を例示するブロック図。
【図１６】図１５の５サンプル値ソート回路の構造の説明図。
【図１７】図１５の５サンプル値ソート回路の動作例を示す図。
【図１８】総当たり方式のソート回路に含まれるＣＯＭＰＡＲＥ−ＢＡＳＥ回路を例示するブロック図。
【図１９】総当たり方式のソート回路に含まれるＳＯＲＴ−ＢＡＳＥ回路を例示するブロック図。
【図２０】総当たり方式の２５サンプル値ソート回路の構造の説明図。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら実施形態の説明が述べられる。尚、以降、説明済みの要素と同一または類似の要素には同一または類似の符号が付され、重複する説明は基本的に省略される。
【００１４】
実施形態は、例えばメディアンフィルタを実装するために用いられてもよい。この場合には、以降の説明において用語「サンプル値」を用語「画素値」として適宜読み替えればよい。更に、実施形態は、メディアンフィルタに限られず種々の統計分析に応用されてもよい。例えば貧富の差が激しい国では、平均年収は当該国における普通の人の経済状況と乖離していることがあり、このような場合には平均年収の代わりに年収の中央値を用いることで当該国における普通の人の経済状況を妥当に評価することができる。
【００１５】
（第１の実施形態）  
第１の実施形態に係る中央値検索方法は、計Ｎ×Ｎ（Ｎは５以上の奇数）個のサンプル値を行列状に配列することによって得られるＮ行Ｎ列のサンプル値に対して所定の３種類または４種類のソートを適用することによって、効率的かつ高精度に中央値を検索する。
【００１６】
具体的には、本実施形態に係る中央値検索方法において、水平方向ソートと、垂直方向ソートと、後述される点対称方向ソートとが行われる。更に、この中央値検索方法において、必要に応じて、中央領域ソートが行われてもよい。
【００１７】
図１には、Ｎ＝５の場合に本実施形態に係る中央値検索方法において適用される各種ソートが例示される。図１のうち中央領域ソートは、後述されるように省略可能である。
【００１８】
最初に、垂直方向ソート及び水平方向ソートが行われる。尚、これらの順序は任意であるので、垂直方向ソートの後に水平方向ソートが行われてもよいし、水平方向ソートの後に垂直方向ソートが行われてもよい。
【００１９】
垂直方向ソートは、Ｎ行Ｎ列のサンプル値の全列をソートすることを意味する。即ち、垂直方向ソートは、Ｎ個のサンプル値を対象とするソートを合計Ｎ回に亘って行うことに相当する。これらＮ回のソートは並列的に実行可能である。
【００２０】
図１の例では、垂直方向ソートは合計５回の列ソートを含み、各列ソートは５個のサンプル値を対象とする。図１の例では、各列は、上端から下端に向かって降順にソートされているが、上端から下端に向かって昇順にソートされてもよい。
【００２１】
水平方向ソートは、Ｎ行Ｎ列のサンプル値の全行をソートすることを意味する。即ち、水平方向ソートは、Ｎ個のサンプル値を対象とするソートを合計Ｎ回に亘って行うことに相当する。これらＮ回のソートは並列的に実行可能である。
【００２２】
図１の例では、水平方向ソートは合計５回の行ソートを含み、各行ソートは５個のサンプル値を対象とする。図１の例では、各行は、左端から右端に向かって降順にソートされているが、左端から右端に向かって昇順にソートされてもよい。
【００２３】
垂直方向ソート及び水平方向ソートの結果、Ｎ行Ｎ列のサンプル値のうちの最大値が第１の頂点に配置され、Ｎ行Ｎ列のサンプル値のうちの最小値が当該第１の頂点とは対角方向に位置する第２の頂点に配置される。図１の例では、最大値が左上の頂点に配置され、最小値が右下の頂点に配置される。垂直方向ソート及び水平方向ソートの後に、点対称方向ソートが行われる。
【００２４】
点対称方向ソートは、以下に説明されるように、Ｎ個のサンプル値を対象とするソートを合計Ｎ−２回に亘って行うことに相当する。
【００２５】
点対称方向ソートは、上記第１の頂点及び第２の頂点以外の第３の頂点から第４の頂点へ向かう対角線上にあるＮ個のサンプル値のソートを含む。
【００２６】
点対称方向ソートは、更に、第３の頂点から垂直方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値のソートを含む。このシフト量は、１から順に最大で（Ｎ−３）／２までインクリメントされる。換言すれば、この垂直方向シフトに付随するソートは合計（Ｎ−３）／２回行われる。
【００２７】
点対称方向ソートは、更に、第３の頂点から水平方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にあるＮ個のサンプル値のソートを含む。このシフト量も、１から順に最大で（Ｎ−３）／２までインクリメントされる。換言すれば、この水平方向シフトに付随するソートは合計（Ｎ−３）／２回行われる。
【００２８】
垂直方向シフトに付随するソート及び水平方向シフトに付随するソートの順序は任意であるが、以降の説明では、垂直方向ソートに付随するソートの後に水平方向シフトに付随するソートが行われるものとする。
【００２９】
具体的には、図２に例示されるように、点対称方向ソートは、左下頂点から右上頂点へ向かう対角線上にある５個のサンプル値のソート（１）を含む。点対称方向ソートは、更に、左下頂点から垂直方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にある５個のサンプル値のソート（２）を含む。この垂直方向シフトに付随するソートは１（＝（５−３）／２）回行われる。点対称方向ソートは、更に、左下頂点から水平方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にある５個のサンプル値のソート（３）を含む。この水平方向シフトに付随するソートは１＝（（５−３）／２）回行われる。
【００３０】
点対称方向ソートの後に、中央領域ソートが行われてもよい。中央領域ソートは、中心点及びこれに隣接するＮ−１点に配置された合計Ｎ個のサンプル値をソートすることを意味する。尚、上記隣接するＮ−１点は、図１及び他の図面は例示される組み合わせに制限されない。Ｎ＝５に関して、点対称方向ソートによって中央領域ソートと等価のソートが完了しているので、中央領域ソートは省略されてもよい。後述されるように、Ｎが７以上の場合には、中央領域ソートを行うことで中央値の検索精度を向上させることが可能である。
【００３１】
以上の３種類または４種類のソートの結果、Ｎ行Ｎ列のサンプル値の中央値が中心点に配置される。換言すれば、点対称方向ソートまたは中央領域ソートの後に中心点に配置された値が、検索された中央値に相当する。
【００３２】
Ｎ＝５の場合に、本実施形態に係る中央値検索方法によれば、５個のサンプル値のソートが１３回（５回（垂直方向）＋５回（水平方向）＋３回（点対称方向）＋０回（中央領域））行われる。５個のサンプル値のソートの各々において、必要とされる比較回数は高々１０（＝４＋３＋２＋１）である。故に、Ｎ＝５の場合に、中央値検索に必要とされる合計の比較回数は１３０回（＝１３×１０）と見積もることができる。他方、総当たり方式の中央値検索に必要とされる合計の比較回数は、３００回（＝２４＋２３＋・・・＋２＋１）である。従って、本実施形態に係る中央値検索方法によれば、総当たり方式に比べて必要とされる比較回数を５７％程度低減することが可能である。
【００３３】
更に、Ｎ＝５の場合に、本実施形態に係る中央値検索方法によって検索された中央値が真の中央値と一致する確率（即ち、中央値の検索精度又は正解率）が１００％であることもシミュレーションを通じて確認された。このシミュレーションでは、０〜２５５の範囲の乱数を用いて生成した合計１０，０００，０００通りのサンプル値の組み合わせについて、本実施形態に係る中央値検索方法によって検索された中央値が真の中央値に一致した確率が計算された。尚、このシミュレーションにおいて、中央値検索方法はＣ言語でプログラミングされた。真の中央値は、例えば総当たり方式の中央値検索を通じて得ることができる。
【００３４】
本実施形態に係る中央値検索方法は、Ｎ＝７の場合にも有効である。図５には、Ｎ＝７の場合に本実施形態に係る中央値検索方法において適用される各種ソートが例示される。
【００３５】
最初に、垂直方向ソート及び水平方向ソートが行われる。図５の例では、垂直方向ソートは合計７回の列ソートを含み、各列ソートは７個のサンプル値を対象とする。図５の例では、各列は、上端から下端に向かって降順にソートされているが、上端から下端に向かって昇順にソートされてもよい。図５の例では、水平方向ソートは合計７回の行ソートを含み、各行ソートは７個のサンプル値を対象とする。図５の例では、各行は、左端から右端に向かって降順にソートされているが、左端から右端に向かって昇順にソートされてもよい。
【００３６】
図５の例では、垂直方向ソート及び水平方向ソートの結果、左上の頂点には最大値が配置され、右下の頂点には最小値が配置される。垂直方向ソート及び水平方向ソートの後に、点対称方向ソートが行われる。
【００３７】
図６に例示されるように、点対称方向ソートは、左下頂点から右上頂点へ向かう対角線上にある７個のサンプル値のソート（１）を含む。
【００３８】
点対称方向ソートは、更に、左下頂点から垂直方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にある７個のサンプル値のソート（２〜３）を含む。このシフト量は、１から順に最大で２（＝（７−３）／２）までインクリメントされる。換言すれば、この垂直方向シフトに付随するソートは合計２回行われる。
【００３９】
点対称方向ソートは、更に、左下頂点から水平方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にある７個のサンプル値のソート（４〜５）を含む。このシフト量も、１から順に最大で２＝（（７−３）／２）までインクリメントされる。換言すれば、この水平方向シフトに付随するソートも合計２回行われる。
【００４０】
点対称方向ソートの後に、中央領域ソートが行われる。中央領域ソートは、中心点及びこれに隣接する６点に配置された合計７個のサンプル値をソートすることを意味する。中央領域ソートを行うことで中央値の検索精度を向上させることが可能である。
【００４１】
尚、中央領域ソートは、点対称方向ソートによって中心点付近に集められたＮ個の中央値候補をソートすることで真の中央値を高確率で中心点に配置するが、真の中央値がこれらＮ個の中央値候補に含まれていないことがある。そこで、中央領域ソートは、中心点及びこれに隣接するＮ−１＋α（αは２以上の偶数である）点に配置された合計Ｎ＋α個のサンプル値をソートするように変形されてもよい。係る変形によれば、中央値の検索精度を更に向上できる。αの上限は特に制限されないが、少なくともＮ＝１１以下のシミュレーションではα＜Ｎとすれば十分であることが確認されている。
【００４２】
図５の例によれば、中央領域ソートは、中心点及びこれに隣接する８（＝６＋２）点に配置された合計９（＝７＋２）個のサンプル値をソートするように変形されてもよい。これら２点のサンプル値は、図５において斜線付きで描かれている。
【００４３】
以上の４種類のソートの結果、７行７列のサンプル値の中央値が中心点に配置される。換言すれば、点対称方向ソートまたは中央領域ソートの後に中心点に配置された値が、検索された中央値に相当する。
【００４４】
Ｎ＝７の場合に、本実施形態に係る中央値検索方法によれば、７個のサンプル値のソートが２０回（７回（垂直方向）＋７回（水平方向）＋５回（点対称方向）＋１回（中央領域））行われる。７個のサンプル値のソートの各々において、必要とされる比較回数は高々２１（＝６＋５＋４＋３＋２＋１）である。故に、Ｎ＝７の場合に、中央値検索に必要とされる合計の比較回数は４２０回（＝２０×２１）と見積もることができる。他方、総当たり方式の中央値検索に必要とされる合計の比較回数は、１１７６回（＝４８＋４７＋・・・＋２＋１）である。従って、本実施形態に係る中央値検索方法によれば、総当たり方式に比べて必要とされる比較回数を６４％程度低減することが可能である。この減少率はＮ＝５の場合に比べて大きい。
【００４５】
更に、Ｎ＝７の場合に、本実施形態に係る中央値検索方法によって検索された中央値が真の中央値と一致する確率（即ち、中央値の検索精度又は正解率）が約１００％であることもシミュレーションを通じて確認された。このシミュレーションの条件は、Ｎ＝５の場合と同様である。より具体的には、（１）７個（図５に例示される中央領域ソートのうち矢印の通る点）のサンプル値を対象とする中央領域ソートを行う場合には、正解率が９９．９９９７５％であってσ２値が０．００００５であった。（２）９個（図５に例示される中央領域ソートのうち矢印の通る点及び斜線付きで描かれた点）のサンプル値を対象とする中央領域ソートを行う場合には、正解率が１００％であってσ２値が０．００であった。（３）中央領域ソートを省略する場合には、正解率が９４．９３７０２％であってσ２値が２．６５１４であった。これら中央領域ソートに関する（１）〜（３）のオプションのいずれを採用するかは、要求される検索精度に応じて適応的に切り替えられてもよい。尚、オプション（２）に比べて正解率において劣るものの、オプション（１）及びオプション（３）は、σ２値が小さい（即ち、検索された中央値が仮に真の中央値と異なっていてもその差異は僅かである）ので、十分に実用的な検索精度を達成可能である。
【００４６】
本実施形態に係る中央値検索方法は、Ｎ＝９の場合にも有効である。図７には、Ｎ＝９の場合に本実施形態に係る中央値検索方法において適用される各種ソートが例示される。
【００４７】
最初に、垂直方向ソート及び水平方向ソートが行われる。図７の例では、垂直方向ソートは合計９回の列ソートを含み、各列ソートは９個のサンプル値を対象とする。図７の例では、各列は、上端から下端に向かって降順にソートされているが、上端から下端に向かって昇順にソートされてもよい。図７の例では、水平方向ソートは合計９回の行ソートを含み、各行ソートは９個のサンプル値を対象とする。図７の例では、各行は、左端から右端に向かって降順にソートされているが、左端から右端に向かって昇順にソートされてもよい。
【００４８】
図７の例では、垂直方向ソート及び水平方向ソートの結果、左上の頂点には最大値が配置され、右下の頂点には最小値が配置される。垂直方向ソート及び水平方向ソートの後に、点対称方向ソートが行われる。
【００４９】
図８に例示されるように、点対称方向ソートは、左下頂点から右上頂点へ向かう対角線上にある９個のサンプル値のソート（１）を含む。
【００５０】
点対称方向ソートは、更に、左下頂点から垂直方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にある９個のサンプル値のソート（２〜４）を含む。このシフト量は、１から順に最大で３（＝（９−３）／２）までインクリメントされる。換言すれば、この垂直方向シフトに付随するソートは合計３回行われる。
【００５１】
点対称方向ソートは、更に、左下頂点から水平方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にある９個のサンプル値のソート（５〜７）を含む。このシフト量も、１から順に最大で３＝（（９−３）／２）までインクリメントされる。換言すれば、この水平方向シフトに付随するソートも合計３回行われる。
【００５２】
点対称方向ソートの後に、中央領域ソートが行われる。中央領域ソートは、中心点及びこれに隣接する合計８個の点に配置された９個のサンプル値をソートすることを意味する。中央領域ソートを行うことで中央値の検索精度を向上させることが可能である。
【００５３】
尚、前述のように、中央領域ソートは、中心点及びこれに隣接するＮ−１＋α点に配置された合計Ｎ＋α個のサンプル値をソートするように変形されてもよい。係る変形によれば、中央値の検索精度を更に向上できる。図７の例によれば、中央領域ソートは、中心点及びこれに隣接する１２（＝８＋４）点に配置された合計１３（＝９＋４）個のサンプル値をソートするように変形されてもよい。これら４点のサンプル値は、図７において斜線付きで描かれている。
【００５４】
以上の４種類のソートの結果、９行９列のサンプル値の中央値が中心点に配置される。換言すれば、点対称方向ソートまたは中央領域ソートの後に中心点に配置された値が、検索された中央値に相当する。
【００５５】
Ｎ＝９の場合に、本実施形態に係る中央値検索方法によれば、９個のサンプル値のソートが２６回（９回（垂直方向）＋９回（水平方向）＋７回（点対称方向）＋１回（中央領域））行われる。９個のサンプル値のソートの各々において、必要とされる比較回数は高々３６（＝８＋７＋・・・＋２＋１）である。故に、Ｎ＝９の場合に、中央値検索に必要とされる合計の比較回数は９３６回（＝２６×３６）と見積もることができる。他方、総当たり方式の中央値検索に必要とされる合計の比較回数は、３２４０回（＝８０＋７９＋・・・＋２＋１）である。従って、本実施形態に係る中央値検索方法によれば、総当たり方式に比べて必要とされる比較回数を７１％程度低減することが可能である。この減少率はＮ＝７の場合に比べて大きい。
【００５６】
更に、Ｎ＝９の場合に、本実施形態に係る中央値検索方法によって検索された中央値が真の中央値と一致する確率（即ち、中央値の検索精度又は正解率）が約１００％であることもシミュレーションを通じて確認された。このシミュレーションの条件は、Ｎ＝５の場合と同様である。より具体的には、（１）９個（図７に例示される中央領域ソートのうち矢印の通る点）のサンプル値を対象とする中央領域ソートを行う場合には、正解率が９９．９９６９０％であってσ２値が０．０００３８であった。（２）１３個（図７に例示される中央領域ソートのうち矢印の通る点及び斜線付きで描かれた点）のサンプル値を対象とする中央領域ソートを行う場合には、正解率が１００％であってσ２値が０．００であった。（３）中央領域ソートを省略する場合には、正解率が９４．２３６２８％であってσ２値が１．３７５３であった。これら中央領域ソートに関する（１）〜（３）のオプションのいずれを採用するかは、要求される検索精度に応じて適応的に切り替えられてもよい。尚、オプション（２）に比べて正解率において劣るものの、オプション（１）及びオプション（３）は、σ２値が小さい（即ち、検索された中央値が仮に真の中央値と異なっていてもその差異は僅かである）ので、十分に実用的な検索精度を達成可能である。
【００５７】
本実施形態に係る中央値検索方法は、Ｎ＝１１の場合にも有効である。図９には、Ｎ＝１１の場合に本実施形態に係る中央値検索方法において適用される各種ソートが例示される。
【００５８】
最初に、垂直方向ソート及び水平方向ソートが行われる。図９の例によれば、垂直方向ソートは合計１１回の列ソートを含み、各列ソートは１１個のサンプル値を対象とする。図９の例によれば、各列は、上端から下端に向かって降順にソートされているが、上端から下端に向かって昇順にソートされてもよい。図９の例によれば、水平方向ソートは合計１１回の行ソートを含み、各行ソートは１１個のサンプル値を対象とする。図９の例によれば、各行は、左端から右端に向かって降順にソートされているが、左端から右端に向かって昇順にソートされてもよい。
【００５９】
図９の例では、垂直方向ソート及び水平方向ソートの結果、左上の頂点には最大値が配置され、右下の頂点には最小値が配置される。垂直方向ソート及び水平方向ソートの後に、点対称方向ソートが行われる。
【００６０】
尚、Ｎ＝１１の場合の点対称方向ソートは図示されていないが、Ｎが９以下の場合と同様である。
【００６１】
即ち、Ｎ＝１１の場合の点対称方向ソートは、左下頂点から右上頂点へ向かう対角線上にある１１個のサンプル値のソートを含む。
【００６２】
点対称方向ソートは、更に、左下頂点から垂直方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にある１１個のサンプル値のソートを含む。このシフト量は、１から順に最大で４（＝（１１−３）／２）までインクリメントされる。換言すれば、この垂直方向シフトに付随するソートは合計４回行われる。
【００６３】
点対称方向ソートは、更に、左下頂点から水平方向にシフトした起点と、当該起点とは点対称の関係にある終点と、中心点とを通る折れ線上にある１１個のサンプル値のソートを含む。このシフト量も、１から順に最大で４＝（（１１−３）／２）までインクリメントされる。換言すれば、この水平方向シフトに付随するソートも合計４回行われる。
【００６４】
点対称方向ソートの後に、中央領域ソートが行われる。中央領域ソートは、中心点及びこれに隣接する１０点に配置された合計１１個のサンプル値をソートすることを意味する。中央領域ソートを行うことで中央値の検索精度を向上させることが可能である。
【００６５】
尚、前述のように、中央領域ソートは、中心点及びこれに隣接するＮ−１＋α点に配置された合計Ｎ＋α個のサンプル値をソートするように変形されてもよい。係る変形によれば、中央値の検索精度を更に向上できる。図９の例によれば、中央領域ソートは、中心点及びこれに隣接する２０（＝１０＋１０）点に配置された合計２１（＝１１＋１０）個のサンプル値をソートするように変形されてもよい。これら１０点のサンプル値は、図９において斜線付きで描かれている。
【００６６】
以上の４種類のソートの結果、１１行１１列のサンプル値の中央値が中心点に配置される。換言すれば、点対称方向ソートまたは中央領域ソートの後に中心点に配置された値が、検索された中央値に相当する。
【００６７】
Ｎ＝１１の場合に、本実施形態に係る中央値検索方法によれば、１１個のサンプル値のソートが３２回（１１回（垂直方向）＋１１回（水平方向）＋９回（点対称方向）＋１回（中央領域））行われる。１１個のサンプル値のソートの各々において、必要とされる比較回数は高々５５（＝１０＋９＋・・・＋２＋１）である。故に、Ｎ＝１１の場合に、中央値検索に必要とされる合計の比較回数は１７６０回（＝３２×５５）と見積もることができる。他方、総当たり方式の中央値検索に必要とされる合計の比較回数は、７２６０回（＝１２０＋１１９＋・・・＋２＋１）である。従って、本実施形態に係る中央値検索方法によれば、総当たり方式に比べて必要とされる比較回数を７６％程度低減することが可能である。この減少率はＮ＝９の場合に比べて大きい。
【００６８】
更に、Ｎ＝１１の場合に、本実施形態に係る中央値検索方法によって検索された中央値が真の中央値と一致する確率（即ち、中央値の検索精度又は正解率）が約１００％であることもシミュレーションを通じて確認された。このシミュレーションの条件は、Ｎ＝５の場合と同様である。より具体的には、（１）１１個（図９に例示される中央領域ソートのうち矢印の通る点）のサンプル値を対象とする中央領域ソートを行う場合には、正解率９９．９７２５０％であってσ２値が０．００３１０８９であった。（２）２１個（図９に例示される中央領域ソートのうち矢印の通る点及び斜線付きで描かれた点）のサンプル値を対象とする中央領域ソートを行う場合には、正解率が１００％であってσ２値が０．００であった。（３）中央領域ソートを省略する場合には、正解率が９４．２３６２８％であってσ２値が１．１１０４８であった。これら中央領域ソートに関する（１）〜（３）のオプションのいずれを採用するかは、要求される検索精度に応じて適応的に切り替えられてもよい。尚、オプション（２）に比べて正解率において劣るものの、オプション（１）及びオプション（３）は、σ２値が小さい（即ち、検索された中央値が仮に真の中央値と異なっていてもその差異は僅かである）ので、十分に実用的な検索精度を達成可能である。
【００６９】
本実施形態に係る中央値検索方法は、Ｎ＝１３以上の場合にも有効である。Ｎが１３以上の場合に行われるソートの詳細についてはＮが１１以下の場合と同様であるので説明が省略される。
【００７０】
以上説明したように、第１の実施形態に係る中央値検索方法は、計Ｎ×Ｎ個のサンプル値を行列状に配列することによって得られるＮ行Ｎ列のサンプル値に対して、垂直方向ソート及び水平方向ソートを適用し、その後に点対称方向ソートを適用する。これら３種類のソートに必要とされる比較回数は、高々、｛Ｎ（Ｎ−１）／２｝×（３Ｎ−２）である。この比較回数は、総当たり方式において必要とされる比較回数であるＮ２（Ｎ２−１）／２に比べて小さい。更に、これら３種類のソートによれば、Ｎ＝５の場合に１００％の正解率が達成され、Ｎが７以上の場合にも十分に高い正解率が達成される。従って、この中央値検索方法によれば、効率的かつ高精度に中央値を検索することができる。例えば、この中央値検索方法を用いてメディアンフィルタをハードウェア実装すれば、総当たり方式のメディアンフィルタに比べて検索精度を殆ど損なうことなく回路規模を大幅に削減することができる。
【００７１】
更に、本実施形態に係る中央値検索方法において、上記Ｎ行Ｎ列のサンプル値に対して、点対称方向ソートの後に中央領域ソートが更に適用されてもよい。中央領域ソートを行うことで特にＮが７以上の場合の正解率を更に向上させることができる。加えて、中央領域ソートの対象をＮ個のサンプル値からＮ＋α個のサンプル値へと拡張することによって、Ｎが７以上の場合にも１００％の正解率を達成することができる。
【００７２】
（第２の実施形態）  
図１１に例示されるように、第２の実施形態に係る中央値検索装置は、水平方向ソート回路１０１と、メモリ１０２と、垂直方向ソート回路１０３と、メモリ１０４と、点対称方向ソート回路１０５と、中央領域ソート回路１０６とを備える。尚、前述の中央領域ソートを省略する場合には、中央領域ソート回路１０６は不要である。また、水平方向ソート回路１０１及び垂直方向ソート回路１０３の位置は交換可能である。この中央値検索装置は、例えば、図１０に示されるように、計Ｎ×Ｎ個のサンプル値を行列状に配列することによって得られるＮ行Ｎ列のサンプル値をラスタスキャン順でＮ個ずつ入力してもよい。
【００７３】
水平方向ソート回路１０１は、少なくとも１つのＮサンプル値ソート回路を備える。ここで、Ｎサンプル値ソート回路とは、Ｎ個のサンプル値を入力し、これらＮ個のサンプル値を降順（または昇順）にソートし、ソート後のＮ個のサンプル値を出力する回路を意味する。
【００７４】
水平方向ソート回路１０１は、計Ｎ×Ｎ個のサンプル値を行列状に配置することによって得られるＮ行Ｎ列のサンプル値をＮ個のサンプルからなる行単位で入力する。水平方向ソート回路１０１は、このＮサンプル値ソート回路を用いてＮ行Ｎ列のサンプル値に対して前述の水平方向ソートを行う。水平方向ソート回路１０１は、水平ソート後のＮ行Ｎ列のサンプル値を行単位でメモリ１０２へと出力する。
【００７５】
尚、水平方向ソート回路１０１に含まれるＮサンプル値ソート回路の個数を多くすることで、複数行のソートを並列的に（即ち、高速に）行うことができる。或いは、水平方向ソート回路１０１に含まれるＮサンプル値ソート回路の個数を少なくすることで、回路規模を抑制することができる。
【００７６】
メモリ１０２は、水平ソート後のＮ行Ｎ列のサンプル値を水平方向ソート回路１０１から行単位で入力する。メモリ１０２は、Ｎ行Ｎ列のサンプル値を一時的に記憶する。メモリ１０２に記憶されたＮ行Ｎ列のサンプル値は、Ｎ個のサンプル値からなる列単位で垂直方向ソート回路１０３によって読み出される。尚、メモリ１０２の容量は、少なくともＮ行Ｎ列のサンプル値を１セット以上物理的または論理的に記憶可能な大きさに設計される。
【００７７】
垂直方向ソート回路１０３は、少なくとも１つのＮサンプル値ソート回路を備える。垂直方向ソート回路１０３は、Ｎ行Ｎ列のサンプル値をＮ個のサンプルからなる列単位でメモリ１０２から読み出す。垂直方向ソート回路１０３は、このＮサンプル値ソート回路を用いてＮ行Ｎ列のサンプル値に対して前述の垂直方向ソートを行う。垂直方向ソート回路１０３は、垂直ソート後のＮ行Ｎ列のサンプル値を列単位でメモリ１０４へと出力する。
【００７８】
尚、垂直方向ソート回路１０３に含まれるＮサンプル値ソート回路の個数を多くすることで、複数列のソートを並列的に（即ち、高速に）行うことができる。或いは、垂直方向ソート回路１０３に含まれるＮサンプル値ソート回路の個数を少なくすることで、回路規模を抑制することができる。
【００７９】
メモリ１０４は、垂直ソート後のＮ行Ｎ列のサンプル値を垂直方向ソート回路１０３から列単位で入力する。メモリ１０４は、これらのサンプル値を一時的に記憶する。メモリ１０４の容量は、少なくともＮ行Ｎ列のサンプル値を１セット以上物理的または論理的に記憶可能な大きさに設計される。
【００８０】
点対称方向ソート回路１０５は、少なくとも１つのＮサンプル値ソート回路を備える。点対称方向ソート回路１０５は、Ｎ行Ｎ列のサンプル値をソートの対象となるＮ個のサンプル値からなる単位でメモリ１０４から読み出す。点対称方向ソート回路１０５は、このＮサンプル値ソート回路を用いて、読み出されたＮ個のサンプル値をソートする。点対称方向ソート回路１０５は、ソート後のＮ個のサンプル値をメモリ１０４に書き戻す。点対称方向ソート回路１０５は、このようなＮ個のサンプル値の読み出しと、Ｎ個のサンプル値のソートと、ソート後のＮ個のサンプル値の書き戻しとを合計Ｎ−２回に亘って反復する。最終的に、点対称方向ソート後のＮ行Ｎ列のサンプル値がメモリ１０４に記憶される。中央領域ソート回路１０６が省略される場合には、メモリ１０４に記憶されたＮ行Ｎ列のサンプル値のうち中心点に対応するサンプル値が、検索された中央値として出力される。
【００８１】
中央領域ソート回路１０６は、Ｎサンプル値ソート回路（またはＮ＋αサンプル値ソート回路）を備える。中央領域ソート回路１０６は、メモリ１０４に記憶された点対称方向ソート後のＮ行Ｎ列のサンプル値のうちソートの対象となるＮ個（またはＮ＋α個）のサンプル値を読み出す。中央領域ソート回路１０６は、このＮサンプル値ソート回路（またはＮ＋αサンプル値ソート回路）を用いて、読み出されたＮ個（またはＮ＋α個）のサンプル値をソートする。中央領域ソート回路１０６は、ソート後のＮ個（またはＮ＋α個）のサンプル値のうち真ん中に配置されたサンプル値を、検索された中央値として出力する。
【００８２】
前述のように、水平方向ソート回路１０１、垂直方向ソート回路１０３、点対称方向ソート回路１０５及び中央領域ソート回路１０６は、Ｎサンプル値ソート回路（またはＮ＋αサンプル値ソート回路）を含む。Ｎサンプル値ソート回路は、基本的に任意の構成を採用することができるが、例えば以下に例示される構成を採用できる。
【００８３】
Ｎ＝５の時の５サンプル値ソート回路を例に説明する。同回路は、図１６に示すように、ＳＯＲＴ−ＢＡＳＥ回路を根とし、ＵＰＰＥＲ−ＢＡＳＥ回路（Ｕ）及びＬＯＷＥＲ−ＢＡＳＥ回路（Ｌ）を葉とする二分木構造を備える。この５サンプル値ソート回路に必要とされる段数は高々４（＝Ｎ−１）である。係る二分木構造を持つ５サンプル値ソート回路によれば、最大４セットの５サンプル値ソートをパイプライン処理として実現することができる。
【００８４】
ＳＯＲＴ−ＢＡＳＥ回路は、Ｎ個のサンプル値から選択された基準サンプル値（例えばインデックスが最小のサンプル値）と他のＮ−１個のサンプル値とを比較する。ＳＯＲＴ−ＢＡＳＥ回路は、基準サンプル値よりも大きなサンプル値を次段のＵＰＰＥＲ−ＢＡＳＥ回路へと出力し、基準サンプル値よりも小さなサンプル値を次段のＬＯＷＥＲ−ＢＡＳＥ回路へと出力する。
【００８５】
ＳＯＲＴーＢＡＳＥ回路をより詳しく説明する。図１２に例示されるように、Ｎ＝５の場合に、ＳＯＲＴ−ＢＡＳＥ回路は、４（＝Ｎ−１）個の比較器を含む。各比較器は、基準サンプル値（インデックス＝０）と他の４個のサンプル値の各々とを比較する。これらの比較器によって出力される比較結果ｂ＜１：４＞と、これら比較結果ｂ＜１：４＞の累積値であるａ＜１：４＞が次段のＵＰＰＥＲ−ＢＡＳＥ回路及びＬＯＷＥＲ−ＢＡＳＥ回路への入力サンプル値を決定付ける。比較結果ｂ＜１：４＞は、基準サンプル値がもう一方の入力サンプル値に比べて大きければ「１」をとり、そうでなければ「０」をとる。尚、基準サンプル値の降順ソート後のインデックスはａ４によって決定される。
【００８６】
ＵＰＰＥＲ−ＢＡＳＥ回路は、入力サンプル値から選択された基準サンプル値（例えばインデックスが最小のサンプル値）と他のサンプル値とを比較する。ＵＰＰＥＲ−ＢＡＳＥ回路は、基準サンプル値よりも大きなサンプル値を次段のＵＰＰＥＲ−ＢＡＳＥ回路へと出力し、基準サンプル値よりも小さなサンプル値を次段のＬＯＷＥＲ−ＢＡＳＥ回路へと出力する。同様に、ＬＯＷＥＲ−ＢＡＳＥ回路は、入力サンプル値から選択された基準サンプル値（例えばインデックスが最小のサンプル値）と他のサンプル値とを比較する。ＬＯＷＥＲ−ＢＡＳＥ回路は、基準サンプル値よりも大きなサンプル値を次段のＵＰＰＥＲ−ＢＡＳＥ回路へと出力し、基準サンプル値よりも小さなサンプル値を次段のＬＯＷＥＲ−ＢＡＳＥ回路へと出力する。
【００８７】
ＵＰＰＥＲ−ＢＡＳＥ回路をより詳しく説明する。図１３に例示されるように、Ｎ＝５の場合に、ＳＯＲＴ−ＢＡＳＥ回路の次段のＵＰＰＥＲ−ＢＡＳＥ回路は、４個の比較器を含む。各比較器は、基準サンプル値（入力サンプル値のうちインデックスが最小のサンプル値）と他のサンプル値の各々とを比較する。これらの比較器によって出力される比較結果ｕｂ＜１：４＞と、これら比較結果ｕｂ＜１：４＞の累積値であるｕａ＜１：４＞が次段のＵＰＰＥＲ−ＢＡＳＥ回路及びＬＯＷＥＲ−ＢＡＳＥ回路への入力サンプル値を決定付ける。比較結果ｕｂ＜１：４＞は、基準サンプル値がもう一方の入力サンプル値に比べて大きければ「１」をとり、そうでなければ「０」をとる。尚、基準サンプル値の降順ソート後のインデックスはｕａ３によって決定される。
【００８８】
ＬＯＷＥＲ−ＢＡＳＥ回路をより詳しく説明する。図１４に例示されるように、Ｎ＝５の場合に、ＳＯＲＴ−ＢＡＳＥ回路の次段のＬＯＷＥＲ−ＢＡＳＥ回路は、４個の比較器を含む。各比較器は、基準サンプル値（入力サンプル値のうちインデックスが最小のサンプル値）と他のサンプル値の各々とを比較する。これらの比較器によって出力される比較結果ｌｂ＜１：４＞と、これら比較結果ｌｂ＜１：４＞の累積値であるｌａ＜１：４＞が次段のＵＰＰＥＲ−ＢＡＳＥ回路及びＬＯＷＥＲ−ＢＡＳＥ回路への入力サンプル値を決定付ける。比較結果ｌｂ＜１：４＞は、基準サンプル値がもう一方の入力サンプル値に比べて大きければ「１」をとり、そうでなければ「０」をとる。尚、基準サンプル値の降順ソート後のインデックスはａ４＋１＋ｌａ３によって決定される。
【００８９】
尚、図１３のＵＰＰＥＲ−ＢＡＳＥ回路及び図１４のＬＯＷＥＲ−ＢＡＳＥ回路にそれぞれ入力されるサンプル値の総数は高々４個である。従って、図１３及び図１４のうち左から４番目の比較器は不要である。係る不要な比較器を取り除くことにより、ＵＰＰＥＲ−ＢＡＳＥ回路及びＬＯＷＥＲ−ＢＡＳＥ回路の回路規模を抑制することができる。このような不要な比較器は、図１５及び図１６に示されるように、段数が１つ増加する毎に１つ増加する。従って、５サンプル値ソート回路に必要とされる比較器の総数は、高々２６（＝１×４＋２×３＋４×２＋８×１）個と見積もることができる（図１６参照）。
【００９０】
図１５の５サンプル値ソートは、図１７に例示されるように動作する。具体的には、ＳＯＲＴ−ＢＡＳＥ回路は、０〜４のインデックスが付与された５個のサンプル値を入力する。１段目にあるＳＯＲＴ−ＢＡＳＥ回路（Ｕ１）は、基準サンプル値（インデックス＝０）と他の４個のサンプル値の各々とを比較する。図１７の例では、ｂ１＝ａ１＝０、ｂ２＝０、ａ２＝０、ｂ３＝１、ａ３＝１、ｂ４＝０、ａ４＝１である。従って、基準サンプル値の降順ソート後のインデックスは１（＝ａ４）に決定される。
【００９１】
２段目にあるＵＰＰＥＲ−ＢＡＳＥ回路（Ｕ２）は、インデックス＝３のサンプル値を入力する。即ち、このＵＰＰＥＲ−ＢＡＳＥ回路は１つのサンプル値のみを入力するから、比較結果ｕｂ＜１：３＞及びその累積値ｕａ＜１：３＞はいずれも０である。従って、基準サンプル値（インデックス＝３）の降順ソート後のインデックスは０（＝ｕａ３）により決定される。
【００９２】
２段目にあるＬＯＷＥＲ−ＢＡＳＥ回路（Ｌ２）は、インデックス＝１，２，４のサンプル値を入力する。このＬＯＷＥＲ−ＢＡＳＥ回路は、基準サンプル値（インデックス＝１）と他の２個のサンプル値の各々とを比較する。図１７の例では、ｌｂ１＝ｌａ１＝１、ｌｂ２＝１、ｌａ２＝２、ｌｂ３＝０、ｌａ３＝２である。従って、基準サンプル値の降順ソート後のインデックスは４（＝ａ４＋１＋ｌａ３）により決定される。
【００９３】
３段目にあるＵＰＰＥＲ−ＢＡＳＥ回路（ＬＵ３）は、インデックス＝２，４のサンプル値を入力する。このＵＰＰＥＲ−ＢＡＳＥ回路は、基準サンプル値（インデックス＝２）と他の１個のサンプル値とを比較する。図１７の例では、ｌｕｂ１＝ｌｕａ１＝０、ｌｕｂ２＝０、ｌｕａ２＝０である。従って、基準サンプル値の降順ソート後のインデックスは２（＝ａ４＋１＋ｌｕａ２）により決定される。
【００９４】
４段目にあるＬＯＷＥＲ−ＢＡＳＥ回路（ＬＵＬ４）は、インデックス＝４のサンプル値を入力する。即ち、このＬＯＷＥＲ−ＢＡＳＥ回路は１つのサンプル値のみを入力するから、比較結果ｌｕｌｂ＜１：１＞及びその累積値ｌｕｌａ＜１：１＞はいずれも０である。従って、基準サンプル値（インデックス＝４）の降順ソート後のインデックスは３（＝ａ４＋１＋ｌｕａ２＋１）により決定される。
【００９５】
図２０は、本実施形態に係る中央値検索装置の比較例に相当する、総当たり方式の２５サンプル値ソート回路を例示する。図２０の２５サンプル値ソート回路は、２４段ものＳＯＲＴ−ＢＡＳＥ回路を含む。各ＳＯＲＴ−ＢＡＳＥ回路は、前段から入力される２〜２５個の入力サンプル値から最小値を検索し、残りの１〜２４個のサンプル値を次段のＳＯＲＴ−ＢＡＳＥ回路へと出力する。例えば、１段目のＳＯＲＴ−ＢＡＳＥ回路は、２５個の入力サンプル値から最小値を検索し、残りの２４個のサンプル値を次段のＳＯＲＴ−ＢＡＳＥ回路へと出力する。
【００９６】
１段目のＳＯＲＴ−ＢＡＳＥ回路は、図１９に例示されるように、２４個のＣＯＭＰＡＲＥ−ＢＡＳＥ回路を含む。一般化すれば、各ＳＯＲＴ−ＢＡＳＥ回路は、入力サンプル数−１個のＣＯＭＰＡＲＥ−ＢＡＳＥ回路を含む。
【００９７】
ＣＯＭＰＡＲＥ−ＢＡＳＥ回路は、図１８に例示されるように、２つの入力サンプル値のうち大きい方を第１の出力端子（ＯＵＴ０）を介して出力し、小さい方を第２の出力端子（ＯＵＴ１）を介して出力する。１個のＣＯＭＰＡＲＥ−ＢＡＳＥ回路は、少なくとも１個の比較器を含む。
【００９８】
図１９に例示されるように、各ＳＯＲＴ−ＢＡＳＥ回路において、ＣＯＭＰＡＲＥ−ＢＡＳＥ回路の第２の出力端子は次段のＣＯＭＰＡＲＥ−ＢＡＳＥ回路に接続される。従って、各ＳＯＲＴ−ＢＡＳＥ回路における最終段に配置されたＣＯＭＰＡＲＥ−ＢＡＳＥ回路は、当該ＳＯＲＴ−ＢＡＳＥ回路の入力サンプル値のうちの最小値を第２の出力端子を介して出力する。
【００９９】
図２０に例示されるように、総当たり方式の２５サンプル値ソート回路は、２４段ものＳＯＲＴ−ＢＡＳＥ回路を含み、これらに含まれる比較器の合計は３００個である。加えて、この回路を用いた２５サンプル値ソートをパイプライン処理として実現するには、ＳＯＲＴ−ＢＡＳＥ回路毎に２５サンプル値を記憶するための記憶素子（例えばメモリ）が必要である。
【０１００】
以上説明したように、第２の実施形態に係る中央値検索装置は、前述の第１の実施形態に係る中央値検索方法を実現する。更に、この中央値検索装置は、前述の二分木構造を持つＮサンプル値ソート回路を採用することによって、最大Ｎ−１セットのＮサンプル値ソートをパイプライン処理として実現することができる。
【０１０１】
上記各実施形態の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記各実施形態の処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。記憶媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【０１０２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０３】
１０１・・・水平方向ソート回路，１０２，１０４・・・メモリ，１０３・・・垂直方向ソート回路，１０５・・・点対称方向ソート回路，１０６・・・中央領域ソート回路
【図１】
2015121877.tif 000005
【図２】
2015121877.tif 000006
【図３】
2015121877.tif 000007
【図４】
2015121877.tif 000008
【図５】
2015121877.tif 000009
【図６】
2015121877.tif 000010
【図７】
2015121877.tif 000011
【図８】
2015121877.tif 000012
【図９】
2015121877.tif 000013
【図１０】
2015121877.tif 000014
【図１１】
2015121877.tif 000015
【図１２】
2015121877.tif 000016
【図１３】
2015121877.tif 000017
【図１４】
2015121877.tif 000018
【図１５】
2015121877.tif 000019
【図１６】
2015121877.tif 000020
【図１７】
2015121877.tif 000021
【図１８】
2015121877.tif 000022
【図１９】
2015121877.tif 000023
【図２０】
2015121877.tif 000024