(57)【要約】【課題】特異点近傍の決定位置の画素値を高精度に決定することができる技術を提供する。【解決手段】本発明の画像処理装置は、入力画像からエッジを検出する第１検出手段と、前記入力画像の領域の内側の位置であり、且つ、エッジの端の位置またはエッジの方向が変化する位置である、特異点を、前記第１検出手段の検出結果に基づいて検出する第２検出手段と、前記入力画像の画素値、前記第１検出手段の検出結果、及び、前記第２検出手段の検出結果に基づいて、前記入力画像の画素の間の位置である決定位置における画素値を決定する決定手段と、を有する。【選択図】図１
2016039431.tif 000002
【特許請求の範囲】
【請求項１】
入力画像からエッジを検出する第１検出手段と、
前記入力画像の領域の内側の位置であり、且つ、エッジの端の位置またはエッジの方向が変化する位置である、特異点を、前記第１検出手段の検出結果に基づいて検出する第２検出手段と、
前記入力画像の画素値、前記第１検出手段の検出結果、及び、前記第２検出手段の検出結果に基づいて、前記入力画像の画素の間の位置である決定位置における画素値を決定する決定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記決定手段は、
前記決定位置がエッジの近傍の位置である場合に、前記決定位置に対する相対位置と画素値の重みとの対応関係を表す第１重み情報を用いて、前記決定位置の周囲に存在する複数の画素の複数の画素値を重みづけ合成することにより、前記決定位置における画素値を決定し、
前記決定位置が特異点の近傍の位置である場合に、前記決定位置に対する相対位置と画素値の重みとの対応関係を表す第２重み情報を用いて、前記決定位置の周囲に存在する複数の画素の複数の画素値を重みづけ合成することにより、前記決定位置における画素値を決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１重み情報と前記第２重み情報は、前記決定位置からの距離が短いほど大きい重みを表し、
前記第１重み情報は、前記決定位置の近傍のエッジと平行な第１方向において他の方向よりもブロードに変化する重みを表し、
前記第２重み情報は、前記決定位置の近傍の特異点から当該特異点を形成するエッジへ向かう第２方向において他の方向よりもブロードに変化する重みを表す
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第１重み情報と前記第２重み情報は、前記決定位置からの距離が短いほど大きい重みを表し、
前記第１重み情報は、前記決定位置の近傍のエッジと平行な第１方向において他の方向よりもブロードに変化する重みを表し、
前記第２重み情報は、前記決定位置の近傍の特異点を形成するエッジと平行な第３方向において他の方向よりもブロードに変化する重みを表し、
前記第２重み情報を用いた場合に参照される画像領域の前記第３方向のサイズは、前記第１重み情報を用いた場合に参照される画像領域の前記第１方向のサイズよりも小さく、
前記決定手段は、前記決定位置がエッジの近傍の位置である場合に、当該エッジが形成する特異点に前記決定位置が近いほど前記参照される画像領域の前記第１方向のサイズが小さい第１重み情報を使用する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記第３方向が水平方向または垂直方向である第２重み情報は、等方的な重みの分布を表す
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記参照される画像領域は、前記決定位置を中心とする領域である
ことを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記第１検出手段がエッジを検出する処理は、前記入力画像の領域を構成する複数の検出領域のそれぞれについて、エッジが存在するエッジ領域であるか否かを判断する第１判断処理であり、
前記第２検出手段が特異点を検出する処理は、前記複数の検出領域のそれぞれについて、特異点が存在する第１特異領域であるか否かを判断する第２判断処理である
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記決定手段は、
前記決定位置がエッジ領域の内側の位置である場合に、前記決定位置に対する相対位置と画素値の重みとの対応関係を表す第１重み情報を用いて、前記決定位置の周囲に存在する複数の画素の複数の画素値を重みづけ合成することにより、前記決定位置における画素値を決定し、
前記決定位置が第１特異領域の内側の位置である場合に、前記決定位置に対する相対位置と画素値の重みとの対応関係を表す第２重み情報を用いて、前記決定位置の周囲に存在する複数の画素の複数の画素値を重みづけ合成することにより、前記決定位置における画素値を決定する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記第１重み情報と前記第２重み情報は、前記決定位置からの距離が短いほど大きい重みを表し、
前記第１重み情報は、前記決定位置を含むエッジ領域に存在するエッジと平行な第１方向において他の方向よりもブロードに変化する重みを表し、
前記第２重み情報は、前記決定位置を含む第１特異領域に存在する特異点から当該特異点を形成するエッジへ向かう第２方向において他の方向よりもブロードに変化する重みを表す
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記第１重み情報と前記第２重み情報は、前記決定位置からの距離が短いほど大きい重みを表し、
前記第１重み情報は、前記決定位置を含むエッジ領域に存在するエッジと平行な第１方向において他の方向よりもブロードに変化する重みを表し、
前記第２重み情報は、前記決定位置を含む第１特異領域に存在する特異点を形成するエッジと平行な第３方向において他の方向よりもブロードに変化する重みを表し、
前記第２重み情報を用いた場合に参照される画像領域の前記第３方向のサイズは、前記第１重み情報を用いた場合に参照される画像領域の前記第１方向のサイズよりも小さく、
前記決定手段は、前記決定位置がエッジ領域の内側の位置である場合に、当該エッジ領域に存在するエッジが形成する特異点に当該エッジ領域が近いほど前記参照される画像領域の前記第１方向のサイズが小さい第１重み情報を使用する
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
前記第３方向が水平方向または垂直方向である第２重み情報は、等方的な重みの分布を表す
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記参照される画像領域は、前記決定位置を中心とする領域である
ことを特徴とする請求項１０または１１に記載の画像処理装置。
【請求項１３】
前記第１検出手段の検出結果と前記第２検出手段の検出結果とに基づいて、第１特異領域に存在する特異点を形成するエッジが存在する複数のエッジ領域のうちの、当該第１特異領域に近い側からＫ個（Ｋは１以上の整数）のエッジ領域のそれぞれを、第２特異領域
として検出する第３検出手段をさらに有し、
前記決定手段は、前記決定位置が第２特異領域の内側の位置である場合に、当該第２特異領域に存在するエッジが形成する特異点に当該第２特異領域が近いほど前記参照される画像領域の前記第１方向のサイズが小さい第１重み情報を使用する
ことを特徴とする請求項１０〜１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記第３検出手段は、前記エッジ領域毎に、そのエッジ領域と第１特異領域との位置関係に応じて、当該エッジ領域が第２特異領域であるか否かを判断する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記第２検出手段は、処理対象の検出領域とその周囲に存在する検出領域とを含む領域における前記第１判断処理の結果のパターンに応じて、前記処理対象の検出領域が特異領域であるか否かを判断する
ことを特徴とする請求項７〜１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記検出領域は、２行２列の合計４個の画素の位置を頂点とする領域である
ことを特徴とする請求項７〜１５のいずれか１項に記載の画像処理装置。
【請求項１７】
前記第１検出手段の検出結果は、エッジの位置と方向を含み、
前記第２検出手段の検出結果は、特異点の位置と、当該特異点から当該特異点を形成するエッジへ向かう方向と、を含む
ことを特徴とする請求項１〜１６のいずれか１項に記載の画像処理装置。
【請求項１８】
前記画像処理装置は、前記入力画像のサイズと解像度の少なくとも一方を変更した出力画像を生成可能であり、
前記決定位置は、前記出力画像の画素の位置に対応する前記入力画像の領域の内側の位置である
ことを特徴とする請求項１〜１７のいずれか１項に記載の画像処理装置。
【請求項１９】
入力画像からエッジを検出する第１検出ステップと、
前記入力画像の領域の内側の位置であり、且つ、エッジの端の位置またはエッジの方向が変化する位置である、特異点を、前記第１検出ステップの検出結果に基づいて検出する第２検出ステップと、
前記入力画像の画素値、前記第１検出ステップの検出結果、及び、前記第２検出ステップの検出結果に基づいて、前記入力画像の画素の間の位置である決定位置における画素値を決定する決定ステップと、
を有することを特徴とする画像処理方法。
【請求項２０】
請求項１９に記載の画像処理方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来、入力画像の画素の間の位置（決定位置）での画素値の決定方法として、バイキュービック法が知られている。決定位置での画素値は、例えば、入力画像の解像度を変換する処理、入力画像のサイズを変換する処理、等の画像処理で使用される。しかしながら、バイキュービック法を用いた場合、上記画像処理によって画質が劣化してしまうことがある。具体的には、上記画像処理によって、斜め線（エッジ）の領域に階段状のジャギーが生じてしまうことがある。
【０００３】
決定位置での画素値の他の決定方法は、例えば、特許文献１，２に開示されている。
特許文献１に開示の技術では、決定位置にエッジが存在する場合に、そのエッジの方向に応じた２次元フィルタを用いたフィルタ処理を行うことにより、決定位置での画素値が決定される。
特許文献２に開示の技術では、エッジが存在しない決定位置と、水平方向に対する角度が小さいエッジが存在する決定位置、及び、複雑なパターンの領域の内側の決定位置に対して、バイキュービック法により画素値が決定される。
【０００４】
また、画像処理に関する従来技術として、特許文献３に開示の技術がある。
特許文献３に開示の技術では、第１領域の内側で物体の端部が検出された場合に、第１領域の外側に第２領域が設定され、第１領域に対して第２領域と異なる強度の高画像化処理が施される。
【０００５】
しかしながら、入力画像には、エッジの端の位置またはエッジの方向が変化する位置である特異点が存在することがある。そして、従来技術では、特異点の近傍の決定位置に対して、高精度に画素値を決定することができない。その結果、上記画像処理（決定位置での画素値を用いた画像処理）によって、特異点が不自然に膨張したり、エッジと特異点の間でエッジの不連続が発生したりする画質劣化が生じてしまう。
【０００６】
図２８（ａ）〜２８（ｃ）は、上記画質劣化の一例を示す図である。本課題を説明する概念図である。図２８（ａ）は入力画像の一例を示す図である。図２８（ｂ），２８（ｃ）は、処理画像（上記画像処理後の画像）の一例を示す図である。図２８（ｂ），２８（ｃ）は、上記画像処理として、決定位置の画素値を用いて入力画像のサイズを拡大する拡大処理が実行された場合の例を示す。図２８（ａ）の例では、入力画像にエッジ（細い斜め線）が存在している。
【０００７】
図２８（ａ）のエッジが正確に検出され、且つ、特異点（エッジの端）がエッジとして検出されなかった場合、従来技術では、特異点の近傍の決定位置の画素値がバイキュービック法を用いて決定される。その結果、図２８（ｂ）に示すように、特異点が不自然に膨張し且つエッジと特異点の間でエッジが不連続な処理画像が得られてしまう。
【０００８】
図２８（ａ）の特異点もエッジ（特異点を形成するエッジと同じエッジ）として検出された場合、従来技術では、エッジの方向を考慮して、特異点の近傍の決定位置の画素値が決定される。その結果、図２８（ｃ）に示すように、特異点の近傍でエッジが不自然に擦れ伸びた処理画像が得られてしまう。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−１８２０３９号公報
【特許文献２】特開２０１０−２８３６０１号公報
【特許文献３】特開２００８−２７６３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、特異点近傍の決定位置の画素値を高精度に決定することができる技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の態様は、
入力画像からエッジを検出する第１検出手段と、
前記入力画像の領域の内側の位置であり、且つ、エッジの端の位置またはエッジの方向が変化する位置である、特異点を、前記第１検出手段の検出結果に基づいて検出する第２検出手段と、
前記入力画像の画素値、前記第１検出手段の検出結果、及び、前記第２検出手段の検出結果に基づいて、前記入力画像の画素の間の位置である決定位置における画素値を決定する決定手段と、
を有することを特徴とする画像処理装置である。
【００１２】
本発明の第２の態様は、
入力画像からエッジを検出する第１検出ステップと、
前記入力画像の領域の内側の位置であり、且つ、エッジの端の位置またはエッジの方向が変化する位置である、特異点を、前記第１検出ステップの検出結果に基づいて検出する第２検出ステップと、
前記入力画像の画素値、前記第１検出ステップの検出結果、及び、前記第２検出ステップの検出結果に基づいて、前記入力画像の画素の間の位置である決定位置における画素値を決定する決定ステップと、
を有することを特徴とする画像処理方法である。
【００１３】
本発明の第３の態様は、上記画像処理方法の各ステップをコンピュータに実行させることを特徴とするプログラムである。
【発明の効果】
【００１４】
本発明によれば、特異点近傍の決定位置の画素値を高精度に決定することができる。
【図面の簡単な説明】
【００１５】
【図１】実施例１に係る画像処理装置の機能構成を示すブロック図
【図２】実施例１に係る入力画素、決定座標、及び、参照画素を示す図
【図３】実施例１に係る重みの決定方法を示す図
【図４】実施例１に係るエッジ検出部の機能構成を示すブロック図
【図５】実施例１に係る垂直テンプレートと水平テンプレートを示す図
【図６】実施例１に係るエッジ情報を示す図
【図７】実施例１に係る特異点検出部の機能構成を示すブロック図
【図８】実施例１に係る第１特異領域の検出時に参照される検出領域を示す図
【図９】実施例１に係る特異領域判断部の処理の流れを示すフローチャート
【図１０】実施例１に係る特異点テンプレートを示す図
【図１１】実施例１に係る第１特異領域情報を示す図
【図１２】実施例１に係る特異領域判断部の処理を示す図
【図１３】実施例１に係る重み情報を示す図
【図１４】実施例１に係る重み情報の選択例を示す図
【図１５】実施例１に係る画像処理装置の動作を示す図
【図１６】実施例１に係る画像処理装置の処理結果を示す図
【図１７】実施例１に係る画像処理装置の動作を示す図
【図１８】実施例１に係る画像処理装置の処理結果を示す図
【図１９】実施例２に係る特異点検出部の機能構成を示すブロック図
【図２０】実施例２に係る特異領域の検出時に参照される検出領域を示す図
【図２１】実施例２に係る特異領域判断部の処理の流れを示すフローチャート
【図２２】実施例２に係る特異点テンプレートを示す図
【図２３】実施例２に係る第２特異領域情報を示す図
【図２４】実施例２に係る特異領域判断部の処理を示す図
【図２５】実施例２に係る重み情報を示す図
【図２６】実施例２に係る重み情報の選択例を示す図
【図２７】実施例２に係る画像処理装置の動作を示す図
【図２８】従来の画像処理装置の処理結果を示す図
【発明を実施するための形態】
【００１６】
＜実施例１＞
以下、本発明の実施例１に係る画像処理装置及び画像処理方法について説明する。
なお、本実施例では、画像処理装置が、入力画像のサイズと解像度の少なくとも一方を変更した出力画像を生成可能であり、出力画像の画素の位置に対応する入力画像の領域の内側の位置（決定位置；対応位置）での画素値を決定する例を説明する。しかしながら、画像処理装置はこれに限らない。決定位置での画素値は、出力画像の画素値として使用されてもよいし、出力画像の生成以外の用途で使用されてもよい。
【００１７】
図１は、本実施例に係る画像処理装置１００の機能構成の一例を示すブロック図である。
図１に示すように、画像処理装置１００は、フレームメモリ１０１、座標決定部１０２、エッジ検出部１０３、特異点検出部１０４、検出情報記憶部１０５、フィルタ選択部１０６、係数決定部１０７、画素値決定部１０８、制御部１０９、等を有する。
【００１８】
座標決定部１０２は、決定位置（対応位置）である決定座標を決定する。そして、座標決定部１０２は、フレームメモリ１０１、検出情報記憶部１０５、及び、係数決定部１０７に決定座標を出力する。
本実施例では、座標決定部１０２は、出力画像の画素の位置である出力座標（水平座標，垂直座標）＝（ｏｘ，ｏｙ）を選択する。出力座標（ｏｘ，ｏｙ）は、例えば、出力画像の左上隅から右下隅にかけて順番に選択される。そして、座標決定部１０２は、選択した出力座標（ｏｘ，ｏｙ）を出力画像の空間内での値から入力画像の空間内での値に変換することにより、決定座標（ｉｘ，ｉｙ）を決定する。決定座標（ｉｘ，ｉｙ）は、整数部（ｉｘｉ，ｉｙｉ）と小数部（ｉｘｓ，ｉｙｓ）からなる。例えば、入力画像を２倍に拡大した出力画像を生成する場合には、出力座標（ｏｘ，ｏｙ）＝（４０，３５）は、決定座標（ｉｘ，ｉｙ）＝（２０，１７．５）に変換される。決定座標（ｉｘ，ｉｙ）＝（２０，１７．５）は、整数部（ｉｘｉ，ｉｙｉ）＝（２０，１７）と小数部（ｉｘｓ，ｉｙｓ）＝（０，０．５）とからなる。
本実施例では、入力画像の画素の間の位置が決定座標として決定された場合の例を説明する。
【００１９】
フレームメモリ１０１は、１フレーム分の入力画像（入力画像データ）を記憶する。そ
して、フレームメモリ１０１は、座標決定部１０２から出力された決定座標の周囲に存在する複数の画素の複数の画素値（入力画像の画素値）を、画素値決定部１０８に出力する。以後、決定座標の周囲に存在する画素を“参照画素”と記載し、決定座標の周囲に存在する複数の画素の集合を“参照画素群”と記載する。また、決定座標の周囲に存在する画素の画素値を“参照画素値”と記載し、複数の参照画素の複数の画素値の集合を“参照画素値群”と記載する。
【００２０】
図２は、入力画素（入力画像の画素）、決定座標、及び、参照画素の一例を示す図である。
本実施例では、図２の破線で示された領域を構成する４行４列（水平方向４個×垂直方向４個）の合計１６個の画素のそれぞれが参照画素として選択される。即ち、決定座標を略中心とする領域を構成する４行４列の合計１６個の画素のそれぞれが参照画素として選択される。
図２では、各参照画素の座標（−１，−１）〜（２，２）が示されている。決定座標は、座標（０，０），（１，０），（０，１），（１，１）の４つの座標を頂点とする矩形領域の内側に存在する。
なお、参照画素の数は１６個より多くても少なくてもよい。水平方向の参照画素の数は、垂直方向の参照画素の数と異なっていてもよい。
【００２１】
エッジ検出部１０３は、入力画像からエッジを検出する（第１検出処理）。
本実施例では、第１検出処理として、入力画像の領域を構成する複数の検出領域のそれぞれについて、エッジが存在するエッジ領域であるか否かを判断する第１判断処理が行われる。第１判断処理では、検出領域にエッジが存在するか否か、検出領域に存在するエッジの方向はどの方向か、等が判断される。本実施例では、テンプレートマッチング法を用いて、検出領域がエッジ領域であるか否かが判断される。
エッジ検出部１０３は、エッジの検出結果を表すエッジ情報を、特異点検出部１０４と検出情報記憶部１０５に出力する。本実施例では、エッジ情報として、エッジの位置と方向を含む情報が出力される。本実施例では、エッジの位置としてエッジ領域の位置を含むエッジ情報が出力される。
【００２２】
特異点検出部１０４は、入力画像の領域内の位置であり、且つ、エッジの端の位置またはエッジの方向が変化する位置である、特異点を、エッジ検出部１０３から出力されたエッジ情報に基づいて検出する（第２検出処理）。
本実施例では、第２検出処理として、複数の検出領域のそれぞれについて、特異点が存在する第１特異領域であるか否かを判断する第２判断処理が行われる。第２判断処理では、検出領域に特異点が存在するか否か、特異領域に存在する特異点から当該特異点を形成するエッジへ向かう方向はどの方向か、等が判断される。本実施例では、処理対象の検出領域とその周囲に存在する検出領域とを含む領域における第１判断処理の結果のパターンに応じて、処理対象の検出領域が特異領域であるか否かが判断される。
特異点検出部１０４は、特異点の検出結果を表す特異点情報を、検出情報記憶部１０５に出力する。本実施例では、特異点情報として、特異点の位置と、特異点から当該特異点を形成するエッジへ向かう方向と、を含む情報が出力される。本実施例では、特異点の位置として第１特異領域の位置を含む特異点情報が出力される。
【００２３】
検出情報記憶部１０５、フィルタ選択部１０６、係数決定部１０７、及び、画素値決定部１０８によって、決定座標における画素値が決定される。本実施例では、入力画像の画素値、エッジ情報、及び、特異点情報に基づいて、決定座標における画素値が決定される。
【００２４】
検出情報記憶部１０５は、エッジ検出部１０３から出力されたエッジ情報と、特異点検
出部１０４から出力された特異点情報と、を記憶する。そして、検出情報記憶部１０５は、座標決定部１０２から出力された決定座標を含む検出領域の情報を、エッジ情報と特異点情報から抽出する。その後、検出情報記憶部１０５は、抽出した情報を決定座標情報としてフィルタ選択部１０６へ出力する。決定座標情報は、決定座標を含む検出領域に対する第１検出処理と第２検出処理の結果を表す。
本実施例では、２行２列の合計４個の画素の位置を頂点とする領域が検出領域として使用される。そして、検出領域の左上隅の座標が当該検出領域の位置として使用される。検出情報記憶部１０５は、位置が決定座標の整数部（ｉｘｉ，ｉｙｉ）と等しい検出領域を、決定座標を含む検出領域として検出する。
なお、検出領域を構成する画素の数は４個より多くても少なくてもよい。
【００２５】
フィルタ選択部１０６は、検出情報記憶部１０５から出力された決定座標情報に応じたフィルタ番号を、係数決定部１０７へ出力する。
【００２６】
係数決定部１０７は、決定座標に対する相対位置と画素値の重みとの対応関係を表す複数の重み情報（テーブルや関数）を記憶する。重み情報は、“２次元フィルタ”とも言える。
なお、複数の重み情報は、係数決定部１０７以外の機能部が記憶してもよい。
なお、複数の重み情報は、メーカー等によって予め決定された情報であってもよいし、ユーザが変更可能な情報であってもよい。
【００２７】
係数決定部１０７は、決定座標がエッジの近傍の位置である場合に第１重み情報を選択し、決定座標が特異点の近傍の位置である場合に第２重み情報を選択し、それ以外の場合に第３重み情報を選択する。具体的には、係数決定部１０７は、決定座標がエッジ領域の内側の位置である場合に第１重み情報を選択し、決定座標が特異領域の内側の位置である場合に第２重み情報を選択し、それ以外の場合に第３重み情報を選択する。本実施例では、複数の重み情報のそれぞれにフィルタ番号が対応付けられている。そして、係数決定部１０７は、フィルタ選択部１０６から出力されたフィルタ番号に応じた重み情報を選択する。
そして、係数決定部１０７は、選択した重み情報と、座標決定部１０２から出力された決定座標（ｉｘ，ｉｙ）と、に基づいて、各参照画素値の重み（係数）ｔを決定する。以後、座標（ｉ，ｊ）の参照画素の画素値の重みを、“ｔ［ｉ］［ｊ］”と記載する。
係数決定部１０７は、各参照画素値の重みｔを画素値決定部１０８へ出力する。
【００２８】
フィルタ選択部１０６から複数のフィルタ番号が出力された場合には、複数のフィルタ番号に対応する複数の重み情報が選択される。そして、参照画素毎に、複数の重み情報を用いて複数の重みを決定し、複数の重みの平均値を重みｔとして算出する処理が行われる。
【００２９】
なお、重み情報を選択する処理は、重みｔを決定する処理と異なる機能部で実行されてもよい。
なお、フィルタ選択部１０６から複数のフィルタ番号が出力された場合に、複数の重み情報を平均化した重み情報（平均重み情報）が生成され、平均重み情報を用いて重みｔが決定されてもよい。
なお、フィルタ選択部１０６から複数のフィルタ番号が出力された場合の処理は、上記処理に限らない。例えば、フィルタ選択部１０６から出力された複数のフィルタ番号に対応する複数の重み情報のうちのいずれか１つが選択され、選択された重み情報を用いて重みｔが決定されてもよい。
【００３０】
図３（ａ），３（ｂ）を用いて、重みｔの決定方法の具体例を説明する。
図３（ａ）は、一般的な重みづけ合成（フィルタ処理）で使用される重み情報の一例を示す。図３（ａ）の符号３０１は、画面と平行な平面における重みの分布を示す。分布３０１において、閉じた線（実線と破線）は、重みが等しい等重み線である。符号３０２は水平方向の重みの分布、符号３０３は垂直方向の重みの分布を示す。
本実施例では、図３（ｂ）に示すように、分布３０１の原点を決定座標と一致させたときに参照画素の位置に配置される重み（分布３０１が示す重み）が、当該参照画素の画素値の重みｔとして取得される。
他の重み情報が選択された場合にも、同様の方法で重みｔが決定される。
【００３１】
画素値決定部１０８は、係数決定部１０７から出力された重みｔを用いて、フレームメモリ１０１から出力された複数の参照画素値を重みづけ合成することにより、決定座標における画素値を決定する。具体的には、画素値決定部１０８は、以下の式１を用いて、決定座標における画素値を算出する。
【数１】
2016039431.tif 000003
【００３２】
式１において、符号ｐ［ｉ］［ｊ］は座標（ｉ，ｊ）の参照画素値、符号ｔ［ｉ］［ｊ］は座標（ｉ，ｊ）の重み、ｗは決定座標の画素値である。
式１において、ｉは、決定座標の左上側に存在する複数の画素のうち決定座標に最も近い画素で０となり、右に向かって１ずつ増加し、左に向かって１ずつ減少するように定義されている。そして、ｊは、決定座標の左上側に存在する複数の画素のうち決定座標に最も近い画素で０となり、下に向かって１ずつ増加し、上に向かって１ずつ減少するように定義されている。
【００３３】
制御部１０９は、不図示の制御線を通じて上述した各機能部の動作を制御する。
【００３４】
エッジ検出部１０３について、詳しく説明する。
図４は、エッジ検出部１０３の機能構成の一例を示すブロック図である。
図４に示すように、エッジ検出部１０３は、画素値抽出部１０３１、垂直照合部１０３２、水平照合部１０３３、角度決定部１０３４、等を有する。
【００３５】
画素値抽出部１０３１は、処理対象の検出領域を含む照合領域を構成する複数の画素の複数の画素値を、入力画像から抽出する。本実施例では、４行４列の合計１６個の画素の１６個の画素値が抽出される。具体的には、処理対象の検出領域を構成する２行２列の４個の画素の４個の画素値と、処理対象の検出領域の周囲の１２個の画素の１２個の画素値と、が抽出される。本実施例では、処理対象の検出領域の周囲の画素は、処理対象の検出領域に隣接する画素である。画素値抽出部１０３１は、抽出した複数の画素値を、垂直照合部１０３２と水平照合部１０３３へ出力する。
【００３６】
垂直照合部１０３２は、照合領域の画像と、図５の垂直テンプレートｔｖと、の相関の度合い（垂直相関度ｍｖ）を算出する。垂直テンプレートｔｖは、照合領域の１６個の画素値ｉｐに対応する１６個の係数ｔｖを示す。そして、垂直相関度ｍｖは、画素値ｉｐと係数ｔｖとを用いて算出される。具体的には、以下の式２を用いて垂直相関度ｍｖが算出される。
【数２】
2016039431.tif 000004
【００３７】
式２において、符号ｉｐ［ｉ］［ｊ］は座標（ｉ，ｊ）の画素値、符号ｔｖ［ｉ］［ｊ］は座標（ｉ，ｊ）の係数である。
式２において、ｉは、照合領域の１６個の画素のうち、左端の画素で０となり、右に向かって１ずつ増加するように定義されている。そして、ｊは、照合領域の１６個の画素のうち、上端の画素で０となり、下に向かって１ずつ増加するように定義されている。
【００３８】
垂直相関度ｍｖは、照合領域の画像と垂直方向のエッジとの類似度を示す。照合領域にエッジが存在する場合には、垂直相関度ｍｖは、照合領域に存在するエッジの垂直方向成分を示すということもできる。
【００３９】
水平照合部１０３３は、照合領域の画像と、図５の水平テンプレートｔｈと、の相関の度合い（水平相関度ｍｈ）を算出する。水平テンプレートｔｈは、照合領域の１６個の画素値ｉｐに対応する１６個の係数ｔｈを示す。そして、水平相関度ｍｈは、画素値ｉｐと係数ｔｈとを用いて算出される。具体的には、以下の式３を用いて水平相関度ｍｈが算出される。
【数３】
2016039431.tif 000005
【００４０】
式３において、符号ｉｐ［ｉ］［ｊ］は座標（ｉ，ｊ）の画素値、符号ｔｈ［ｉ］［ｊ］は座標（ｉ，ｊ）の係数である。
式３において、ｉは、照合領域の１６個の画素のうち、左端の画素で０となり、右に向かって１ずつ増加するように定義されている。そして、ｊは、照合領域の１６個の画素のうち、上端の画素で０となり、下に向かって１ずつ増加するように定義されている。
【００４１】
水平相関度ｍｈは、照合領域の画像と水平方向のエッジとの類似度を示す。照合領域にエッジが存在する場合には、水平相関度ｍｈは、照合領域に存在するエッジの水平方向成分を示すということもできる。
【００４２】
角度決定部１０３４は、垂直相関度ｍｖと水平相関度ｍｈに基づいて、処理対象の検出領域に対するエッジ情報ＥＤを生成する。本実施例では、１つの検出領域に対するエッジ情報ＥＤとして、以下の情報が生成される。角度決定部１０３４は、垂直相関度ｍｖと水平相関度ｍｈに基づいて、［エッジなし］、［４５度］、［９０度］、［１３５度］、及び、［０度］のフラグ（エッジフラグ）を設定する。
｛
ＢＯＯＬ［エッジなし］；
ＢＯＯＬ［４５度］；
ＢＯＯＬ［９０度］；
ＢＯＯＬ［１３５度］；
ＢＯＯＬ［０度］；
｝ＥＤ
【００４３】
“｜ｍｖ｜＋｜ｍｈ｜＜閾値”が満たされる場合には、処理対象の検出領域がエッジ領域ではないと判断され、［エッジなし］のエッジフラグとして、“ＴＲＵＥ”が設定される。そして、［４５度］、［９０度］、［１３５度］、及び、［０度］のエッジフラグとして、“ＦＡＬＳＥ”が設定される。
閾値はメーカー等によって予め決定された値であってもよいし、ユーザが変更可能な値であってもよい。
【００４４】
“｜ｍｖ｜＋｜ｍｈ｜＜閾値”が満たされず、且つ、ｍｈ＝０の場合には、処理対象の検出領域が水平方向に対する角度が９０度であるエッジが存在するエッジ領域であると判断される。そして、［９０度］のエッジフラグのエッジフラグとして“ＴＲＵＥ”が設定され、［エッジなし］、［４５度］、［１３５度］、及び、［０度］のエッジフラグとして“ＦＡＬＳＥ”が設定される。
【００４５】
これら以外の場合には、角度値ｅ＝ａｔａｎ（ｍｖ／ｍｈ）が算出され、角度値ｅに応じて［エッジなし］、［４５度］、［９０度］、［１３５度］、及び、［０度］のエッジフラグが設定される。
【００４６】
具体的には、−８π／１６≦ｅ＜−７π／１６または７π／１６≦ｅ＜８π／１６である場合には、処理対象の検出領域が水平方向に対する角度が９０度であるエッジが存在するエッジ領域であると判断される。そして、［９０度］のエッジフラグのエッジフラグとして“ＴＲＵＥ”が設定され、［エッジなし］、［４５度］、［１３５度］、及び、［０度］のエッジフラグとして“ＦＡＬＳＥ”が設定される。
【００４７】
−５π／１６≦ｅ＜−３π／１６である場合には、処理対象の検出領域が水平方向に対する角度が４５度であるエッジが存在するエッジ領域であると判断される。そして、［４５度］のエッジフラグのエッジフラグとして“ＴＲＵＥ”が設定され、［エッジなし］、［９０度］、［１３５度］、及び、［０度］のエッジフラグとして“ＦＡＬＳＥ”が設定される。
【００４８】
−π／１６≦ｅ＜π／１６である場合には、処理対象の検出領域が水平方向に対する角度が０度であるエッジが存在するエッジ領域であると判断される。そして、［０度］のエッジフラグのエッジフラグとして“ＴＲＵＥ”が設定され、［エッジなし］、［４５度］、［９０度］、及び、［１３５度］のエッジフラグとして“ＦＡＬＳＥ”が設定される。
【００４９】
３π／１６≦ｅ＜５π／１６である場合には、処理対象の検出領域が水平方向に対する角度が１３５度であるエッジが存在するエッジ領域であると判断される。そして、［１３５度］のエッジフラグのエッジフラグとして“ＴＲＵＥ”が設定され、［エッジなし］、［４５度］、［９０度］、及び、［０度］のエッジフラグとして“ＦＡＬＳＥ”が設定される。
【００５０】
ｅが上述した数値範囲の外側の値である場合には、処理対象の検出領域がエッジ領域ではないと判断され、［エッジなし］のエッジフラグとして、“ＴＲＵＥ”が設定される。そして、［４５度］、［９０度］、［１３５度］、及び、［０度］のエッジフラグとして、“ＦＡＬＳＥ”が設定される。
【００５１】
なお、角度値ｅは一意に決まるため、複数のエッジフラグ“ＴＲＵＥ”が設定されることはない。
【００５２】
本実施例では、図６（ａ）に示すように、エッジ情報ＥＤを矢印で図示する。［エッジなし］は空白で図示し、［４５度］は水平方向に対して４５度だけ傾いた両側矢印で図示し、［９０度］は水平方向に対して９０度だけ傾いた両側矢印で図示する。そして、［１３５度］は水平方向に対して１３５度だけ傾いた両側矢印で図示し、［０度］は水平方向の両側矢印で図示する。
上述したように、本実施例では、２行２列の合計４個の画素の位置を頂点とする検出領
域毎に、エッジ情報ＥＤが決定される。そして、上述したように、検出領域の左上隅の座標が当該検出領域の位置として設定される。図６（ｂ）は、水平位置がｐ−１〜ｐ＋１であり、且つ、垂直位置がｑ−１〜ｑ＋３である１６個の画素の１６個の画素値を用いて、エッジ情報ＤＥが決定され場合の例を示す。図６（ｂ）の例では、決定されたエッジ情報ＤＥは、座標（ｐ，ｑ），（ｐ＋１，ｑ），（ｐ，ｑ＋１），（ｐ＋１，ｑ＋１）の４個の座標を頂点とする検出領域に対応付けられる。また、座標（ｐ，ｑ），（ｐ＋１，ｑ），（ｐ，ｑ＋１），（ｐ＋１，ｑ＋１）の４個の座標を頂点とする検出領域の位置として、座標（ｐ，ｑ）が設定される。
【００５３】
なお、エッジの検出方法は、上記方法に限らない。例えば、照合領域の画素数は１６個より多くても少なくてもよい。エッジ情報ＥＤが表すエッジの方向の種類数は、５種類より多くても少なくてもよい。テンプレートマッチング以外の方法でエッジが検出されてもよい。
【００５４】
特異点検出部１０４について、詳しく説明する。
図７は、特異点検出部１０４の機能構成の一例を示すブロック図である。図８は、処理対象の検出領域が第１特異領域か否かを判断する際に参照する検出領域の一例を示す図である。
図７に示すように、特異点検出部１０４は、エッジ情報抽出部１０４１と特異領域判断部１０４２を有する。
【００５５】
エッジ情報抽出部１０４１は、エッジ検出部１０３から順次出力されるエッジ情報（検出領域のエッジ情報）を取得し、処理対象の検出領域のエッジ情報と、その周囲の検出領域（周辺検出領域）のエッジ情報と、を出力する。本実施例では、図８の太線で囲まれた５行５列の合計２５個の検出領域の２５個のエッジ情報が出力される。具体的には、処理対象の検出領域を中心とする５行５列の合計２５個の検出領域の２５個のエッジ情報が出力される。このような処理は、エッジ情報を順次記憶する５本のラインメモリを用いて実現することができる。また、ラインメモリではなく、フレームメモリを用いても、上記処理を実現できる。
【００５６】
図８では、処理対象の検出領域の座標として座標（０，０）が示されている。そして、図８では、右に向かって水平座標が１ずつ増加し、左に向かって水平座標が１ずつ減少し、下に向かって垂直座標が１ずつ増加し、上に向かって垂直座標が１ずつ減少するように、各検出領域の座標が示されている。
なお、周辺検出領域の数は、２４個より多くても少なくてもよい。
【００５７】
特異領域判断部１０４２は、エッジ情報抽出部１０４１から出力された２５個のエッジ情報のパターンに応じて、座標（０，０）の検出領域（処理対象の検出領域）が第１特異領域であるか否かを判断する。
本実施例では、図１０に示すテンプレート（特異点テンプレート）を用いて、処理対象の検出領域が第１特異領域であるか否かが判断される。
特異点テンプレートは、２４個の周辺検出領域に対応する２４個のエッジ情報を示す。特異点テンプレートでは、処理対象の検出領域が第１特異領域である場合に設定されるべきエッジ情報が示されている。
【００５８】
図１０の“４５度左下斜め”の特異点テンプレートでは、座標（−２，２），（−１，１）に対して［４５度］のエッジフラグ“ＴＲＵＥ”が設定されており、残りの座標に対して［エッジなし］のエッジフラグ“ＴＲＵＥ”が設定されている。この特異点テンプレートを使用することにより、特異方向が左下へ向かう方向であり且つ水平方向に対する特異方向の角度が４５度である特異点が存在する第１特異領域を検出することができる。特
異方向（第２方向）は、特異点から当該特異点を形成するエッジへ向かう方向である。
【００５９】
図１０の“４５度右上斜め”の特異点テンプレートでは、座標（２，−２），（１，−１）に対して［４５度］のエッジフラグ“ＴＲＵＥ”が設定されており、残りの座標に対して［エッジなし］のエッジフラグ“ＴＲＵＥ”が設定されている。この特異点テンプレートを使用することにより、特異方向が右上へ向かう方向であり且つ水平方向に対する特異方向の角度が４５度である特異点が存在する第１特異領域を検出することができる。
【００６０】
図１０の“９０度下”の特異点テンプレートでは、座標（０，２），（０，１）に対して［９０度］のエッジフラグ“ＴＲＵＥ”が設定されており、残りの座標に対して［エッジなし］のエッジフラグ“ＴＲＵＥ”が設定されている。この特異点テンプレートを使用することにより、特異方向が下へ向かう方向であり且つ水平方向に対する特異方向の角度が９０度である特異点が存在する第１特異領域を検出することができる。
【００６１】
図１０の“９０度上”の特異点テンプレートでは、座標（０，−２），（０，−１）に対して［９０度］のエッジフラグ“ＴＲＵＥ”が設定されており、残りの座標に対して［エッジなし］のエッジフラグ“ＴＲＵＥ”が設定されている。この特異点テンプレートを使用することにより、特異方向が上へ向かう方向であり且つ水平方向に対する特異方向の角度が９０度である特異点が存在する第１特異領域を検出することができる。
【００６２】
図１０の“１３５度右下斜め”の特異点テンプレートでは、座標（２，２），（１，１）に対して［１３５度］のエッジフラグ“ＴＲＵＥ”が設定されており、残りの座標に対して［エッジなし］のエッジフラグ“ＴＲＵＥ”が設定されている。この特異点テンプレートを使用することにより、特異方向が右下へ向かう方向であり且つ水平方向に対する特異方向の角度が１３５度である特異点が存在する第１特異領域を検出することができる。
【００６３】
図１０の“１３５度左上斜め”の特異点テンプレートでは、座標（−２，−２），（−１，−１）に対して［１３５度］のエッジフラグ“ＴＲＵＥ”が設定されており、残りの座標に対して［エッジなし］のエッジフラグ“ＴＲＵＥ”が設定されている。この特異点テンプレートを使用することにより、特異方向が左上へ向かう方向であり且つ水平方向に対する特異方向の角度が１３５度である特異点が存在する第１特異領域を検出することができる。
【００６４】
図１０の“０度右”の特異点テンプレートでは、座標（２，０），（１，０）に対して［０度］のエッジフラグ“ＴＲＵＥ”が設定されており、残りの座標に対して［エッジなし］のエッジフラグ“ＴＲＵＥ”が設定されている。この特異点テンプレートを使用することにより、特異方向が右へ向かう方向であり且つ水平方向に対する特異方向の角度が０度である特異点が存在する第１特異領域を検出することができる。
【００６５】
図１０の“０度左”の特異点テンプレートでは、座標（−２，０），（−１，０）に対して［０度］のエッジフラグ“ＴＲＵＥ”が設定されており、残りの座標に対して［エッジなし］のエッジフラグ“ＴＲＵＥ”が設定されている。この特異点テンプレートを使用することにより、特異方向が左へ向かう方向であり且つ水平方向に対する特異方向の角度が０度である特異点が存在する第１特異領域を検出することができる。
【００６６】
図９を用いて、特異領域判断部１０４２の処理の流れについて説明する。
図９は、特異領域判断部１０４２の処理の流れの一例を示すフローチャートである。
【００６７】
まず、特異領域判断部１０４２は、特異点テンプレート毎に、角度決定部１０３４で決定されたエッジ情報と特異点テンプレートが示すエッジ情報とが一致する周辺検出領域の
数（カウント値）をカウントする（Ｓ１０４１）。但し、本処理では、特異点テンプレートが［エッジなし］のエッジフラグ“ＴＲＵＥ”を示す周辺検出領域は、カウントの対象外とされる。そのため、図１０の特異点テンプレートを用いた場合、カウント値の最大値は２となり、カウント値の最小値は０となる。
【００６８】
次に、特異領域判断部１０４２は、Ｓ１０４１で得られたカウント値に基づいて、処理対象の検出領域に対する特異点情報（第１特異領域情報）ｔＥＤ＿１を生成する（Ｓ１０４２）。本実施例では、１つの検出領域に対する第１特異領域情報ｔＥＤ＿１として、以下の情報が生成される。特異領域判断部１０４２は、Ｓ１０４１で得られたカウント値に基づいて、［４５度左下斜め］、［４５度右上斜め］、［９０度下］、［９０度上］、［１３５度右下斜め］、［１３５度左上斜め］、［０度右］、及び、［０度左］のフラグ（第１特異領域フラグ）を設定する。
｛
ＢＯＯＬ  ［４５度左下斜め］；
ＢＯＯＬ  ［４５度右上斜め］；
ＢＯＯＬ  ［９０度下］；
ＢＯＯＬ  ［９０度上］；
ＢＯＯＬ  ［１３５度右下斜め］；
ＢＯＯＬ  ［１３５度左上斜め］；
ＢＯＯＬ  ［０度右］；
ＢＯＯＬ  ［０度左］；
｝ｔＥＤ＿１
【００６９】
［４５度左下斜め］は、図１０の“４５度左下斜め”の特異点テンプレートに対応する項目である。［４５度右上斜め］は、“４５度右上斜め”の特異点テンプレートに対応する項目である。［９０度下］は、“９０度下”の特異点テンプレートに対応する項目である。［９０度上］は、“９０度上”の特異点テンプレートに対応する項目である。［１３５度右下斜め］は、“１３５度右下斜め”の特異点テンプレートに対応する項目である。［１３５度左上斜め］は、“１３５度左上斜め”の特異点テンプレートに対応する項目である。［０度右］は、“０度右”の特異点テンプレートに対応する項目である。そして、［０度左］は、“０度左”の特異点テンプレートに対応する項目である。
【００７０】
Ｓ１０４２では、カウント値が２である特異点テンプレートに対応する項目の第１特異領域フラグとして、“ＴＲＵＥ”が設定される。そして、カウント値が２でない特異点テンプレートに対応する項目の第１特異領域フラグとして、“ＦＡＬＳＥ”が設定される。
例えば、“４５度左下斜め”の特異点テンプレートのカウント値が２であり、且つ、残りの特異点テンプレートのカウント値が２でない場合、［４５度左下斜め］の第１特異領域フラグとして、“ＴＲＵＥ”が設定される。そして、残りの項目（［４５度右上斜め］、［９０度下］、［９０度上］、［１３５度右下斜め］、［１３５度左上斜め］、［０度右］、及び、［０度左］）の第１特異領域フラグとして、“ＦＡＬＳＥ”が設定される。
【００７１】
本実施例では、図１１に示すように、第１特異領域情報ｔＥＤ＿１を矢印で図示する。［４５度左下斜め］は、左下へ向かう片側矢印で図示し、［４５度右上斜め］は、右上へ向かう片側矢印で図示する。［９０度下］は、下へ向かう片側矢印で図示し、［９０度上］は、上へ向かう片側矢印で図示する。［１３５度右下斜め］は、右下へ向かう片側矢印で図示し、［１３５度左上斜め］は、左上へ向かう片側矢印で図示する。［０度右］は、右へ向かう片側矢印で図示し、［０度左］は、左へ向かう片側矢印で図示する。
【００７２】
次に、特異領域判断部１０４２は、Ｓ１０４１で得られたカウント値が２である特異点テンプレートが存在するか否かを判断する（Ｓ１０４３）。カウント値が２である特異点テンプレートが存在する場合には、Ｓ１０４４へ処理が進められ、カウント値が２である特異点テンプレートが存在しない場合には、Ｓ１０４９へ処理が進められる。
【００７３】
Ｓ１０４４では、特異領域判断部１０４２は、Ｓ１０４１で得られたカウント値が２である特異点テンプレートが複数存在するか否かを判断する。カウント値が２である特異点テンプレートが１つしか存在しない場合には、Ｓ１０４５へ処理が進められ、カウント値が２である特異点テンプレートが複数存在する場合には、Ｓ１０４６へ処理が進められる。
【００７４】
Ｓ１０４５では、特異領域判断部１０４２は、処理対象の検出領域がエッジ領域であるか否かを判断する。具体的には、図８の座標（０，０）の検出領域がエッジ領域であるか否かが判断される。処理対象の検出領域がエッジ領域である場合には、Ｓ１０４８へ処理が進められ、処理対象の検出領域がエッジ領域でない場合には、Ｓ１０４９へ処理が進められる。
【００７５】
Ｓ１０４６では、特異領域判断部１０４２は、Ｓ１０４１で得られたカウント値が２である特異点テンプレートの数が２つであるか否かを判断する。カウント値が２である特異点テンプレートの数が２つである場合には、Ｓ１０４７へ処理が進められ、カウント値が２である特異点テンプレートの数が２つより多い場合には、Ｓ１０４８へ処理が進められる。
【００７６】
Ｓ１０４７では、特異領域判断部１０４２は、Ｓ１０４１で得られたカウント値が２である２つの特異点テンプレートの２つの特異方向が対称であるか否かを判断する。例えば、カウント値が２である２つの特異点テンプレートが“４５度左下斜め”と“４５度右上斜め”の２つの特異点テンプレートある場合に、２つの特異方向が対称であると判断される。カウント値が２である２つの特異点テンプレートが“９０度下”と“９０度上”の２つの特異点テンプレートある場合にも、２つの特異方向が対称であると判断される。カウント値が２である２つの特異点テンプレートが“１３５度右下斜め”と“１３５度左上斜め”の２つの特異点テンプレートある場合にも、２つの特異方向が対称であると判断される。そして、カウント値が２である２つの特異点テンプレートが“０度右”と“０度左”の２つの特異点テンプレートある場合にも、２つの特異方向が対称であると判断される。２つの特異方向が対称である場合には、Ｓ１０４８へ処理が進められ、２つの特異方向が対称でない場合には、Ｓ１０４９へ処理が進められる。
【００７７】
Ｓ１０４８では、特異領域判断部１０４２は、全ての第１特異領域フラグを“ＦＡＬＳＥ”に補正する。その後、Ｓ１０４９へ処理が進められる。
【００７８】
Ｓ１０４９では、特異領域判断部１０４２は、全ての検出領域についてＳ１０４１〜Ｓ１０４８の処理が行われたか否かを判断する。全ての検出領域についてＳ１０４１〜Ｓ１０４８の処理が行われた場合には、本フローが終了される。Ｓ１０４１〜Ｓ１０４８の処理が行われていない検出領域が存在する場合には、処理対象の検出領域が変更され、Ｓ１０４１へ処理が戻される。そして、全ての検出領域についてＳ１０４１〜Ｓ１０４８の処理が行われるまで、Ｓ１０４１〜Ｓ１０４８の処理が繰り返し実行される。
【００７９】
以上の処理により、各検出領域の第１特異領域情報が生成される。
少なくとも１つの項目の第１特異領域フラグが“ＴＲＵＥ”である第１特異領域情報は、当該第１特異領域情報に対応する検出領域（対応検出領域）が第１特異領域であることを表す。さらに、少なくとも１つの項目の第１特異領域フラグが“ＴＲＵＥ”である第１
特異領域情報は、対応検出領域に存在する特異点の特異方向が、第１特異領域フラグが“ＴＲＵＥ”である項目の特異方向であることを表す。
例えば、［４５度左下斜め］の第１特異領域フラグが“ＴＲＵＥ”であり、且つ、残りの項目の第１特異領域フラグが“ＦＡＬＳＥ”である第１特異領域情報は、対応検出領域が第１特異領域であることを表す。さらに、この第１特異領域情報は、対応検出領域に存在する特異点の特異方向が水平方向に対して４５度の角度で左下へ向かう方向であることを表す。
全ての項目の第１特異領域フラグが“ＦＡＬＳＥ”である第１特異領域情報は、対応検出領域が第１特異領域ではないことを表す。
【００８０】
図１２（ａ）〜１２（ｅ）を用いて、特異領域判断部１０４２の処理の具体例を説明する。図１２（ａ）〜１２（ｅ）の左側には、エッジ情報抽出部１０４１から出力された２５個のエッジ情報が示されている。図１２（ａ）〜１２（ｅ）の右側には、第１特異領域情報の項目と第１特異領域フラグとが示されている。図１２（ａ）〜１２（ｅ）では、第１特異領域フラグ“ＴＲＵＥ”は“１”と表現されており、第１特異領域フラグ“ＦＡＬＳＥ”は“０”と表現されている。
【００８１】
図１２（ａ）の例では、Ｓ１０４１の処理により、“１３５度右下斜め”の特異点テンプレートのカウント値として２が取得され、残りの特異点テンプレートのカウント値として０が取得される。次に、Ｓ１０４２の処理により、［１３５度右下斜め］の第１特異領域フラグとして“ＴＲＵＥ”が設定され、残りの項目の第１特異領域フラグとして“ＦＡＬＳＥ”が設定される。そして、Ｓ１０４５の処理により、座標（０，０）の検出領域がエッジ領域でないと判断され、座標（０，０）の検出領域が第１特異領域であると判断される。
【００８２】
図１２（ｂ）の例では、Ｓ１０４１の処理により、“１３５度右下斜め”の特異点テンプレートのカウント値として２が取得され、残りの特異点テンプレートのカウント値として０が取得される。次に、Ｓ１０４２の処理により、［１３５度右下斜め］の第１特異領域フラグとして“ＴＲＵＥ”が設定され、残りの項目の第１特異領域フラグとして“ＦＡＬＳＥ”が設定される。そして、Ｓ１０４５の処理により、座標（０，０）の検出領域がエッジ領域であると判断される。その後、Ｓ１０４８の処理により、［１３５度右下斜め］の第１特異領域フラグが“ＴＲＵＥ”から“ＦＡＬＳＥ”に補正され、座標（０，０）の検出領域が第１特異領域でないと判断される。
【００８３】
図１２（ｃ）の例では、Ｓ１０４１の処理により、“１３５度右下斜め”と“１３５度左上斜め”の特異点テンプレートのカウント値として２が取得され、残りの特異点テンプレートのカウント値として０が取得される。次に、Ｓ１０４２の処理により、［１３５度右下斜め］と［１３５度左上斜め］の第１特異領域フラグとして“ＴＲＵＥ”が設定され、残りの項目の第１特異領域フラグとして“ＦＡＬＳＥ”が設定される。そして、Ｓ１０４７の処理により、２つの特異方向が対称であると判断される。その後、Ｓ１０４８の処理により、［１３５度右下斜め］と［１３５度左上斜め］の第１特異領域フラグが“ＴＲＵＥ”から“ＦＡＬＳＥ”に補正され、座標（０，０）の検出領域が第１特異領域でないと判断される。
【００８４】
図１２（ｄ）の例では、Ｓ１０４１の処理により、“１３５度右下斜め”と“０度左”の特異点テンプレートのカウント値として２が取得され、残りの特異点テンプレートのカウント値として０が取得される。次に、Ｓ１０４２の処理により、［１３５度右下斜め］と［０度左］の第１特異領域フラグとして“ＴＲＵＥ”が設定され、残りの項目の第１特異領域フラグとして“ＦＡＬＳＥ”が設定される。そして、Ｓ１０４７の処理により、２つの特異方向が対称でないと判断され、座標（０，０）の検出領域が第１特異領域である
と判断される。
【００８５】
図１２（ｅ）の例では、Ｓ１０４１の処理により、“１３５度右下斜め”、“０度左”、及び、“４５度右上斜め”の特異点テンプレートのカウント値として２が取得され、残りの特異点テンプレートのカウント値として０が取得される。次に、Ｓ１０４２の処理により、［１３５度右下斜め］、［０度左］、及び、［４５度右上斜め］の第１特異領域フラグとして“ＴＲＵＥ”が設定され、残りの項目の第１特異領域フラグとして“ＦＡＬＳＥ”が設定される。そして、Ｓ１０４６の処理により、カウント値が２である特異点テンプレートの数が２つより多いと判断される。その後、Ｓ１０４８の処理により、［１３５度右下斜め］、［０度左］、及び、［４５度右上斜め］の第１特異領域フラグが“ＴＲＵＥ”から“ＦＡＬＳＥ”に補正され、座標（０，０）の検出領域が第１特異領域でないと判断される。
【００８６】
フィルタ選択部１０６について、詳しく説明する。
フィルタ選択部１０６は、検出情報記憶部１０５から出力された決定座標情報（決定座標を含む検出領域のエッジ情報と第１特異領域情報）に応じたフィルタ番号を出力する。フィルタ番号は、重み情報（テーブルや関数）に対応付けられた番号である。係数決定部１０７では、フィルタ選択部１０６から出力されたフィルタ番号に応じた重み情報が使用される。本実施例では、エッジ情報が表すエッジ方向と第１特異領域情報が表す特異方向との取り得る全ての方向について重み情報が用意されている。エッジ方向は、エッジと平行な方向（第１方向）である。エッジ方向は、“エッジの方向”と言うこともできる。
【００８７】
図１３は、本実施例に係る重み情報の一例を示す。
本実施例では、４行４列の合計１６個の参照画素の画素値を用いて、決定座標における画素値が決定される。そのため、図１３の例では、参照される画像領域（参照領域）の幅の最大値として、４画素分の幅が設定されている。参照領域は、例えば、重みが０ではない画像領域である。図１３の例では、参照領域は、重みが０より大きい画像領域である。
図１３に示すように、重み情報は、決定座標（重みの分布の原点）からの距離が短いほど大きい重みを表す。
【００８８】
決定座標を含む検出領域がエッジ領域でも第１特異領域でもない場合には、フィルタ選択部１０６は、フィルタ番号０−０を出力する。具体的には、エッジ情報の［エッジなし］のエッジフラグが“ＴＲＵＥ”であり、且つ、エッジ情報の残りの項目のエッジフラグと、第１特異領域情報の全ての項目の第１特異領域フラグと、が“ＦＡＬＳＥ”である場合に、フィルタ番号０−０が出力される。
【００８９】
フィルタ番号０−０の重み情報は、上述した第３重み情報である。図１３の例では、第３重み情報は、等方的な重みの分布を示す。このような重み情報は、Ｂｉ−Ｃｕｂｉｃ法などで使用される３次補間関数に基づいて生成することができる。
【００９０】
決定座標を含む検出領域がエッジ領域であり第１特異領域でない場合には、フィルタ選択部１０６は、フィルタ番号１−０，２−０，３−０，４−０のいずれかを出力する。
具体的には、エッジ情報の［４５度］のエッジフラグが“ＴＲＵＥ”であり、且つ、エッジ情報の残りの項目のエッジフラグと、第１特異領域情報の全ての項目の第１特異領域フラグと、が“ＦＡＬＳＥ”である場合に、フィルタ番号１−０が出力される。
エッジ情報の［９０度］のエッジフラグが“ＴＲＵＥ”であり、且つ、エッジ情報の残りの項目のエッジフラグと、第１特異領域情報の全ての項目の第１特異領域フラグと、が“ＦＡＬＳＥ”である場合に、フィルタ番号２−０が出力される。
エッジ情報の［１３５度］のエッジフラグが“ＴＲＵＥ”であり、且つ、エッジ情報の残りの項目のエッジフラグと、第１特異領域情報の全ての項目の第１特異領域フラグと、
が“ＦＡＬＳＥ”である場合に、フィルタ番号３−０が出力される。
エッジ情報の［０度］のエッジフラグが“ＴＲＵＥ”であり、且つ、エッジ情報の残りの項目のエッジフラグと、第１特異領域情報の全ての項目の第１特異領域フラグと、が“ＦＡＬＳＥ”である場合に、フィルタ番号４−０が出力される。
【００９１】
フィルタ番号１−０，２−０，３−０，４−０の重み情報は、第１重み情報である。図１３に示すように、第１重み情報は、決定座標の近傍のエッジのエッジ方向において他の方向よりもブロードに変化する重みを表す。具体的には、第１重み情報は、決定座標を含むエッジ領域に存在するエッジのエッジ方向において他の方向よりもブロードに変化する重みを表す。
第１重み情報は、“エッジ方向にブロードで、且つ、エッジ方向の法線方向に急峻な重みの分布を表す２次元フィルタ”と言うこともできる。また、第１重み情報は、“エッジ方向における参照領域の幅が広く、且つ、エッジ方向の法線方向における参照領域の幅が狭い２次元フィルタ”と言うこともできる。
【００９２】
例えば、フィルタ番号４−０の重み情報が表す水平方向の重みの分布は、第３重み情報（フィルタ番号０−０の重み情報）と同じであり、フィルタ番号４−０の重み情報が表す垂直方向の重みの分布は、第３重み情報よりも急峻である。図１４（ａ）に示すように、フィルタ番号４−０の重み情報は、水平方向のエッジの近傍の座標が決定座標である場合に選択される。フィルタ番号４−０の重み情報を使用することにより、水平方向のエッジの近傍の座標での画素値を、高精度に決定することができる。
【００９３】
フィルタ番号１−０の重み情報が表す４５度方向の重みの分布は、水平方向の画素の間隔に対する４５度方向の画素の間隔の割合で、フィルタ番号４−０の重み情報が表す水平方向の重みの分布を引き延ばした分布である。４５度方向は、水平方向に対して４５度だけ傾いた方向である。フィルタ番号１−０の重み情報が表す４５度方向の法線方向の重みの分布は急峻である。図１４（ｂ）に示すように、フィルタ番号１−０の重み情報は、４５度方向のエッジの近傍の座標が決定座標である場合に選択される。フィルタ番号１−０の重み情報を使用することにより、４５度方向のエッジの近傍の座標での画素値を、高精度に決定することができる。
【００９４】
決定座標を含む検出領域が第１特異領域である場合には、フィルタ選択部１０６は、フィルタ番号１−１−１，２−１−１，３−１−１，４−１−１，１−２−１，２−２−１，３−２−１，４−２−１の少なくともいずれかを出力する。
具体的には、第１特異領域情報の［４５度左下斜め］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号１−１−１が出力される。
第１特異領域情報の［４５度右上斜め］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号１−２−１が出力される。
第１特異領域情報の［９０度下］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号２−１−１が出力される。
第１特異領域情報の［９０度上］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号２−２−１が出力される。
第１特異領域情報の［１３５度右下斜め］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号３−１−１が出力される。
第１特異領域情報の［１３５度左上斜め］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号３−２−１が出力される。
第１特異領域情報の［０度右］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号４−１−１が出力される。
第１特異領域情報の［０度左］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号４−２−１が出力される。
第１特異領域フラグが“ＴＲＵＥ”である項目が複数存在する場合には、複数のフィルタ番号が出力される。
【００９５】
フィルタ番号１−１−１，２−１−１，３−１−１，４−１−１，１−２−１，２−２−１，３−２−１，４−２−１の重み情報は、第２重み情報である。図１３に示すように、第２重み情報は、決定座標の近傍の特異点の特異方向において他の方向よりもブロードに変化する重みを表す。具体的には、第２重み情報は、決定座標を含む第１特異領域に存在する特異点の特異方向において他の方向よりもブロードに変化する重みを表す。
第２重み情報は、“特異点を形成するエッジのエッジ方向における重みの分布として、原点に対して非対称な重みの分布を表す２次元フィルタ”と言うこともできる。
【００９６】
例えば、フィルタ番号４−１−１の重み情報は、原点に対して左側の参照領域が狭められるように、フィルタ番号４−０の重み情報を調整した重み情報である。図１４（ｃ）に示すように、フィルタ番号４−１−１の重み情報は、水平方向のエッジの左端（特異点）の近傍の座標が決定座標である場合に選択される。フィルタ番号４−１−１の重み情報を使用することにより、水平方向のエッジの左端の近傍の座標での画素値を、高精度に決定することができる。
【００９７】
フィルタ番号１−１−１の重み情報は、原点に対して右上側の参照領域が狭められるように、フィルタ番号１−０の重み情報を調整した重み情報である。図１４（ｄ）に示すように、フィルタ番号１−１−１の重み情報は、４５度方向のエッジの右上端（特異点）の近傍の座標が決定座標である場合に選択される。フィルタ番号１−１−１の重み情報を使用することにより、４５度方向のエッジの右上端の近傍の座標での画素値を、高精度に決定することができる。
【００９８】
本実施例に係る画像処理装置の動作の具体例を説明する。
図１５（ａ）〜１５（ｄ）は、本実施例に係る画像処理装置の動作の一例を示す図である。
図１５（ａ）は、入力画像の一部分を示す。白丸が白色の入力画素、黒丸が黒色の入力画素を示す。図１５（ａ）の入力画像には、細い斜め線（エッジ）が存在している。
図１５（ｂ）は、エッジ検出部１０３の検出結果（エッジ情報）を示す。両側矢印が記載されている検出領域は、当該両側矢印の方向のエッジが存在するエッジ領域として検出された領域である。空白の検出領域は、エッジ領域として検出されなかった領域である。
【００９９】
図１５（ｃ）は、特異点検出部１０４の検出結果（第１特異領域情報）を示す。斜め線で網かけされた検出領域は、第１特異領域として検出された領域である。第１特異領域に記載されている片側矢印は、当該第１特異領域に存在する特異点の特異方向である。図１５（ｃ）の例では、エッジの端を特異点として含む３つの検出領域が第１特異領域として検出されている。そして、第１特異領域に対して、水平方向に対して１３５度の角度で右下へ向かう特異方向［１３５度右下斜め］が割り当てられている。
【０１００】
図１５（ｄ）は、フィルタ選択部１０６の選択結果（選択されたフィルタ番号）を示す。空白の検出領域は、図１３のフィルタ番号０−０が選択された領域である。右下がりの斜線でハッチングされた検出領域は、図１３のフィルタ番号３−０が選択された領域である。右上がりの斜線でハッチングされた検出領域は、図１３のフィルタ番号３−１−１が選択された領域である。
【０１０１】
図１６（ａ）は、入力画像の一部分を示す。図１６（ａ）の入力画像は、図１５（ａ）の入力画像と同じ画像である。
図１６（ｂ）は、図１５（ｄ）のフィルタ番号に対応する重み情報を用いて図１６（ａ
）の入力画像を拡大した拡大画像（出力画像）を示す。
図１６（ｂ）から、エッジの領域でジャギーが発生していないことがわかる。また、エッジの端の不自然な膨張が発生したり、エッジとエッジの端との間でエッジの不連続が発生したりしていないことがわかる。このように、本実施例によれば、高画質な出力画像を得ることができる。具体的には、本実施例によれば、決定座標の画素値を高精度に決定することができる。それにより、高画質な出力画像を得ることができる。
【０１０２】
本実施例に係る画像処理装置の動作の他の具体例を説明する。
図１７（ａ）〜１７（ｄ）は、本実施例に係る画像処理装置の動作の一例を示す図である。
図１７（ａ）は、入力画像の一部分を示す。白丸が白色の入力画素、黒丸が黒色の入力画素を示す。図１７（ａ）の入力画像には、細い斜め線（エッジ）が存在している。また、図１７（ａ）の入力画像では、エッジの方向が変化している。
図１７（ｂ）は、エッジ検出部１０３の検出結果（エッジ情報）を示す。両側矢印が記載されている検出領域は、当該両側矢印の方向のエッジが存在するエッジ領域として検出された領域である。空白の検出領域は、エッジ領域として検出されなかった領域である。
【０１０３】
図１７（ｃ）は、特異点検出部１０４の検出結果（第１特異領域情報）を示す。斜め線で網かけされた検出領域は、第１特異領域として検出された領域である。第１特異領域に記載されている片側矢印は、当該第１特異領域に存在する特異点の特異方向である。図１７（ｃ）の例では、エッジの方向が１３５度方向から水平方向へ切り替わる位置（変化位置）を特異点として含む５つの検出領域が第１特異領域として検出されている。１３５度方向は、水平方向に対して１３５度だけ傾いた方向である。そして、５つの第１特異領域のうちの右側の３つの第１特異領域に対して、水平方向に対して１３５度の角度で右下へ向かう特異方向［１３５度右下斜め］が割り当てられている。残り２つの第１特異領域に対しては、左へ向かう特異方向［０度左］が割り当てられている。
【０１０４】
図１７（ｄ）は、フィルタ選択部１０６の選択結果（選択されたフィルタ番号）を示す。空白の検出領域は、図１３のフィルタ番号０−０が選択された領域である。右下がりの斜線でハッチングされた検出領域は、図１３のフィルタ番号３−０が選択された領域である。右上がりの斜線でハッチングされた検出領域は、図１３のフィルタ番号３−１−１が選択された領域である。低密度のドットで示された検出領域は、図１３のフィルタ番号４−０が選択された領域である。高密度のドットで示された検出領域は、図１３のフィルタ番号４−２−１が選択された領域である。
【０１０５】
図１８（ａ）は、入力画像の一部分を示す。図１８（ａ）の入力画像は、図１７（ａ）の入力画像と同じ画像である。
図１８（ｂ）は、図１７（ｄ）のフィルタ番号に対応する重み情報を用いて図１８（ａ）の入力画像を拡大した拡大画像（出力画像）を示す。
図１８（ｂ）から、エッジの領域でジャギーが発生していないことがわかる。また、エッジの方向の変化位置で不自然な膨張が発生したり、エッジと変化位置との間でエッジの不連続が発生したりしていないことがわかる。このように、本実施例によれば、高画質な出力画像を得ることができる。具体的には、本実施例によれば、決定座標の画素値を高精度に決定することができる。それにより、高画質な出力画像を得ることができる。
【０１０６】
以上述べたように、本実施例によれば、エッジだけでなく、特異点が検出される。そして、エッジの検出結果だけでなく、特異点の検出結果も考慮して、決定座標における画素値が決定される。それにより、特異点近傍の決定座標の画素値を高精度に決定することができる。ひいては、高画質な出力画像を得ることができる。
【０１０７】
＜実施例２＞
以下、本発明の実施例１に係る画像処理装置及び画像処理方法について説明する。
実施例１では、エッジの近傍に存在する決定座標の画素値を決定する際に、当該エッジの方向のみを考慮する例を説明した。
本実施例では、エッジの近傍に存在する決定座標の画素値を決定する際に、当該エッジの方向だけでなく、決定座標から当該エッジが形成する特異点までの距離をさらに考慮する例を説明する。
なお、実施例１と同様の機能や構成については、説明を省略する。
【０１０８】
本実施例に係る画像処理装置の構成は、実施例１（図１）と同じである。但し、本実施例では、特異点検出部１０４とフィルタ選択部１０６の構成が実施例１と異なる。
【０１０９】
特異点検出部１０４は、実施例１と同様の方法で第１特異領域を検出する。
さらに、特異点検出部１０４は、第１特異領域に存在する特異点を形成するエッジが存在する複数のエッジ領域のうちの、当該第１特異領域に近い側からＫ個のエッジ領域のそれぞれを、第２特異領域として検出する（第３検出処理）。
【０１１０】
第２特異領域は、エッジ領域の検出結果と第１特異領域の検出結果とに基づいて、検出される。本実施例では、特異点検出部１０４は、各検出領域のエッジ情報をＫ＋１回解析する（２回目以降は各検出領域の第１特異領域情報も解析する）ことにより、第１特異領域とＫ個の第２特異領域とを検出する。本実施例では、エッジ領域毎に、そのエッジ領域と第１特異領域との位置関係に応じて、当該エッジ領域が第２特異領域であるか否かが判断される。
【０１１１】
Ｋは１以上の整数である。Ｋは、メーカーによって予め定められた値であってもよいし、ユーザが変更可能な値であってもよいし、画像処理装置が自動で決定した値であってもよい。例えば、Ｋは、以下の式４を用いて算出される。式４において、ｎは、参照画素群によって構成される領域の幅（水平方向または垂直方向の画素数）である。
わかりやすさのために、以後、第１特異領域にＭ−１番目（Ｍは２以上且つＫ＋１以下の整数）に近い第２特異領域を、“第Ｍ特異領域”と記載する。
【０１１２】
１回目の処理では、実施例１と同様の方法で、第１特異領域が検出される。
２回目の処理では、第１特異領域に隣接しているエッジ領域が解析され、エッジ領域に存在するエッジの方向の側に第１特異領域が隣接しているエッジ領域が、第２特異領域として検出される。
Ｍ回目の処理では、Ｍ−１回目の処理で検出された第Ｍ−１特異領域に隣接しているエッジ領域が解析される。そして、エッジ領域に存在するエッジの方向の側に第Ｍ−１特異領域が隣接しているエッジ領域が、第Ｍ特異領域として検出される。
【０１１３】
特異点検出部１０４について、詳しく説明する。
図１９は、特異点検出部１０４の機能構成の一例を示すブロック図である。
図１９に示すように、特異点検出部１０４は、エッジ情報抽出部２０４１と特異領域判断部２０４２を有する。
【０１１４】
エッジ情報抽出部２０４１について説明する。
１回目の処理では、エッジ情報抽出部２０４１は、エッジ検出部１０３から順次出力されるエッジ情報（検出領域のエッジ情報）を取得し、処理対象の検出領域のエッジ情報と、その周囲の検出領域（周辺検出領域）のエッジ情報と、を出力する。本実施例では、図２０の太線で囲まれた７行７列の合計４９個の検出領域の４９個のエッジ情報が出力される。具体的には、処理対象の検出領域を中心とする７行７列の合計４９個の検出領域の４
９個のエッジ情報が出力される。
【０１１５】
２回目の処理では、エッジ情報抽出部２０４１は、特異領域判断部２０４２から順次出力される第１特異領域情報とエッジ情報を取得する。そして、エッジ情報抽出部２０４１は、処理対象の検出領域を中心とする７行７列の合計４９個の検出領域の４９組の第１特異領域情報とエッジ情報を出力する。
【０１１６】
Ｍ回目の処理では、エッジ情報抽出部２０４１は、特異領域判断部２０４２から順次出力される第Ｍ−１特異領域情報とエッジ情報を取得する。そして、エッジ情報抽出部２０４１は、処理対象の検出領域を中心とする７行７列の合計４９個の検出領域の４９組の第Ｍ−１特異領域情報とエッジ情報を出力する。第Ｍ−１特異領域情報は、検出領域が第Ｍ−１特異領域であるか否かの判断結果を表す情報である。
【０１１７】
これらの処理は、エッジ情報を順次記憶する７本のラインメモリと、第ｋ特異領域情報（ｋは１以上且つＫ以下の整数）を順次記憶する７本のラインメモリと、を用いて実現することができる。また、ラインメモリではなく、フレームメモリを用いても、上記処理を実現できる。
【０１１８】
図２０では、処理対象の検出領域の座標として座標（０，０）が示されている。そして、図２０では、右に向かって水平座標が１ずつ増加し、左に向かって水平座標が１ずつ減少し、下に向かって垂直座標が１ずつ増加し、上に向かって垂直座標が１ずつ減少するように、各検出領域の座標が示されている。
【０１１９】
なお、２回目以降の処理では、特異領域判断部２０４２からエッジ情報が取得されなくてもよい。例えば、２回目以降の処理では、１回目の処理で取得されたエッジ情報が使用されてもよい。
【０１２０】
特異領域判断部２０４２について説明する。
１回目の処理では、特異領域判断部２０４２は、エッジ情報抽出部２０４１から出力された４９個のエッジ情報に基づいて、処理対象の検出領域が第１特異領域であるか否かを判断する。そして、特異領域判断部２０４２は、処理対象の検出領域のエッジ情報と第１特異領域情報とを出力する。
【０１２１】
２回目の処理では、特異領域判断部２０４２は、エッジ情報抽出部２０４１から出力された４９組の第１特異領域情報とエッジ情報に基づいて、処理対象の検出領域が第２特異領域（第１特異領域に最も近い第２特異領域）であるか否かを判断する。そして、特異領域判断部２０４２は、処理対象の検出領域のエッジ情報と第２特異領域情報とを出力する。第２特異領域情報は、検出領域が第２特異領域であるか否かの判断結果を表す情報である。
【０１２２】
Ｍ回目の処理では、特異領域判断部２０４２は、エッジ情報抽出部２０４１から出力された４９組の第Ｍ−１特異領域情報とエッジ情報に基づいて、処理対象の検出領域が第Ｍ特異領域であるか否かを判断する。そして、特異領域判断部２０４２は、処理対象の検出領域のエッジ情報と第Ｍ特異領域情報とを出力する。
【０１２３】
図２１を用いて、特異領域判断部２０４２の処理の流れについて説明する。
図２１は、特異領域判断部２０４２の処理の流れの一例を示すフローチャートである。図２１は、参照画素群によって構成される領域の幅ｎ＝６であり、且つ、Ｋ＝２である場合の例を示す。
【０１２４】
まず、特異領域判断部２０４２は、処理の繰り返し回数である変数ｋを１に初期化する（Ｓ２０４１）。
次に、特異領域判断部２０４２は、変数ｋが２より大きいか否かを判断する（Ｓ２０４２）。変数ｋが２以下である場合には、Ｓ２０４３へ処理が進められ、変数ｋが２より大きい場合には、本フローが終了される。
Ｓ２０４３の処理は、図９のＳ１０４１と同じである。但し、本実施例では、図２２に示す特異点テンプレートが使用される。そのため、カウント値の最大値は３となり、カウント値の最小値は０となる。
【０１２５】
Ｓ２０４３の次に、特異領域判断部２０４２は、Ｓ２０４３で得られたカウント値に基づいて、処理対象の検出領域に対する第ｋ特異領域情報を生成する（Ｓ２０４４）。Ｓ２０４４では、カウント値が３である特異点テンプレートに対応する項目のフラグ（第ｋ特異領域フラグ）として、“ＴＲＵＥ”が設定される。そして、カウント値が３でない特異点テンプレートに対応する項目のフラグ（第ｋ特異領域フラグ）として、“ＦＡＬＳＥ”が設定される。ｋ＝１のときには、第１特異領域情報ｔＥＤ１が生成される。ｋ＝２のときには、第２特異領域情報ｔＥＤ２が生成される。以後、第２特異領域情報ｔＥＤ２の項目に設定されるフラグを“第２特異領域フラグ”と記載する。
【０１２６】
本実施例では、図２３に示すように、第２特異領域情報ｔＥＤ＿２を矢印で図示する。［４５度左下斜め］は、左下へ向かう片側破線矢印で図示し、［４５度右上斜め］は、右上へ向かう片側破線矢印で図示する。［９０度下］は、下へ向かう片側破線矢印で図示し、［９０度上］は、上へ向かう片側破線矢印で図示する。［１３５度右下斜め］は、右下へ向かう片側破線矢印で図示し、［１３５度左上斜め］は、左上へ向かう片側破線矢印で図示する。［０度右］は、右へ向かう片側破線矢印で図示し、［０度左］は、左へ向かう片側破線矢印で図示する。
【０１２７】
そして、特異領域判断部２０４２は、Ｓ２０４３で得られたカウント値が３である特異点テンプレートが存在するか否かを判断する（Ｓ２０４５）。カウント値が３である特異点テンプレートが存在する場合には、Ｓ２０４６へ処理が進められ、カウント値が３である特異点テンプレートが存在しない場合には、Ｓ２０５２へ処理が進められる。
【０１２８】
Ｓ２０４６では、特異領域判断部２０４２は、Ｓ２０４３で得られたカウント値が３である特異点テンプレートが複数存在するか否かを判断する。カウント値が３である特異点テンプレートが１つしか存在しない場合には、Ｓ２０４７へ処理が進められ、カウント値が３である特異点テンプレートが複数存在する場合には、Ｓ２０４９へ処理が進められる。
【０１２９】
Ｓ２０４７では、特異領域判断部２０４２は、処理対象の検出領域がエッジ領域であるか否かを判断する。具体的には、図２０の座標（０，０）の検出領域がエッジ領域であるか否かが判断される。処理対象の検出領域がエッジ領域である場合には、Ｓ２０４８へ処理が進められ、処理対象の検出領域がエッジ領域でない場合には、Ｓ２０５２へ処理が進められる。
Ｓ２０４８では、特異領域判断部２０４２は、処理対象の検出領域に対して当該検出領域のエッジ方向の側に第ｋ−１特異領域が隣接しているか否かを判断する。処理対象の検出領域に対して当該検出領域のエッジ方向の側に第ｋ−１特異領域が隣接している場合には、Ｓ２０５２へ処理が進められる。処理対象の検出領域に対して当該検出領域のエッジ方向の側に第ｋ−１特異領域が隣接していない場合には、Ｓ２０５１へ処理が進められる。
【０１３０】
Ｓ２０４９では、特異領域判断部２０４２は、Ｓ２０４３で得られたカウント値が３で
ある特異点テンプレートの数が２つであるか否かを判断する。カウント値が３である特異点テンプレートの数が２つである場合には、Ｓ２０５０へ処理が進められ、カウント値が３である特異点テンプレートの数が２つより多い場合には、Ｓ２０５１へ処理が進められる。
Ｓ２０５０では、特異領域判断部２０４２は、Ｓ２０４３で得られたカウント値が３である２つの特異点テンプレートの２つの特異方向が対称であるか否かを判断する。２つの特異方向が対称である場合には、Ｓ２０５１へ処理が進められ、２つの特異方向が対称でない場合には、Ｓ２０５２へ処理が進められる。
【０１３１】
Ｓ２０５１では、特異領域判断部２０４２は、全ての第ｋ特異領域フラグを“ＦＡＬＳＥ”に補正する。その後、Ｓ２０５２へ処理が進められる。
Ｓ２０５２では、特異領域判断部２０４２は、全ての検出領域についてＳ２０４３〜Ｓ２０５１の処理が行われたか否かを判断する。全ての検出領域についてＳ２０４３〜Ｓ２０５２の処理が行われた場合には、Ｓ２０５３へ処理が進められる。Ｓ２０４３〜Ｓ２０５１の処理が行われていない検出領域が存在する場合には、処理対象の検出領域が変更され、Ｓ２０４３へ処理が戻される。そして、全ての検出領域についてＳ２０４３〜Ｓ２０５１の処理が行われるまで、Ｓ２０４３〜Ｓ２０５１の処理が繰り返し実行される。
Ｓ２０５３では、特異領域判断部２０４２は、変数ｋを１だけインクリメントする。その後、Ｓ２０４２へ処理が戻される。
【０１３２】
以上の処理により、変数ｋ＝１のときには第１特異領域が検出される。そして、変数ｋ＝２のときには、エッジ領域のエッジ方向の側に第１特異領域が隣接しているエッジ領域が、第２特異領域として検出される。
【０１３３】
変数ｋ＝２のときの特異領域判断部２０４２の処理の具体例を、図２４（ａ），２４（ｂ）を用いて説明する。図２４（ａ），２４（ｂ）の左側には、エッジ情報抽出部２０４１から出力された４９個のエッジ情報と第１特異領域情報が示されている。図２４（ａ），２４（ｂ）の右側には、第２特異領域情報の項目と第２特異領域フラグとが示されている。図２４（ａ），２４（ｂ）では、第２特異領域フラグ“ＴＲＵＥ”は“１”と表現されており、第２特異領域フラグ“ＦＡＬＳＥ”は“０”と表現されている。
【０１３４】
図２４（ａ）の例では、Ｓ２０４３の処理により、“１３５度右下斜め”の特異点テンプレートのカウント値として３が取得され、残りの特異点テンプレートのカウント値として０が取得される。次に、Ｓ２０４４の処理により、［１３５度右下斜め］の第２特異領域フラグとして“ＴＲＵＥ”が設定され、残りの項目の第２特異領域フラグとして“ＦＡＬＳＥ”が設定される。そして、Ｓ２０４７の処理により、座標（０，０）の検出領域がエッジ領域であると判断される。その後、Ｓ２０４８の処理により、座標（０，０）の検出領域に対して当該検出領域のエッジ方向の側に第１特異領域が隣接していると判断され、座標（０，０）の検出領域が第２特異領域であると判断される。具体的には、座標（０，０）の検出領域に対して当該検出領域のエッジ方向の側に隣接している座標（−１，−１）の検出領域が第１特異領域であると判断され、座標（０，０）の検出領域が第２特異領域であると判断される。
【０１３５】
図２４（ｂ）の例では、Ｓ２０４３の処理により、“１３５度右下斜め”の特異点テンプレートのカウント値として３が取得され、残りの特異点テンプレートのカウント値として３より小さい値が取得される。次に、Ｓ２０４４の処理により、［１３５度右下斜め］の第２特異領域フラグとして“ＴＲＵＥ”が設定され、残りの項目の第２特異領域フラグとして“ＦＡＬＳＥ”が設定される。そして、Ｓ２０４７の処理により、座標（０，０）の検出領域がエッジ領域であると判断される。次に、Ｓ２０４８の処理により、座標（０，０）の検出領域に対して当該検出領域のエッジ方向の側に第１特異領域が隣接していな
いと判断される。その後、Ｓ２０５１の処理により、［１３５度右下斜め］の第２特異領域フラグが“ＴＲＵＥ”から“ＦＡＬＳＥ”に補正され、座標（０，０）の検出領域が第２特異領域でないと判断される。
【０１３６】
フィルタ選択部１０６について詳しく説明する。
図２５は、本実施例に係る重み情報の一例を示す。
本実施例では、６行６列の合計３６個の参照画素の画素値を用いて、決定座標における画素値が決定される。そのため、図２５の例では、参照領域の幅の最大値として、６画素分の幅が設定されている。
図２５に示すように、重み情報は、決定座標（重みの分布の原点）からの距離が短いほど大きい重みを表す。
【０１３７】
決定座標を含む検出領域がエッジ領域でも第１特異領域でもない場合には、実施例１と同様に、フィルタ選択部１０６は、フィルタ番号０−０を出力する。
また、決定座標を含む検出領域がエッジ領域であり第１特異領域でも第２特異領域でもない場合には、フィルタ選択部１０６は、フィルタ番号１−０，２−０，３−０，４−０のいずれかを出力する。
具体的には、エッジ情報の［４５度］のエッジフラグが“ＴＲＵＥ”であり、且つ、残りのエッジフラグ、全ての第１特異領域フラグ、及び、全ての第２特異領域フラグが“ＦＡＬＳＥ”である場合に、フィルタ番号１−０が出力される。
エッジ情報の［９０度］のエッジフラグが“ＴＲＵＥ”であり、且つ、残りのエッジフラグ、全ての第１特異領域フラグ、及び、全ての第２特異領域フラグが“ＦＡＬＳＥ”である場合に、フィルタ番号２−０が出力される。
エッジ情報の［１３５度］のエッジフラグが“ＴＲＵＥ”であり、且つ、残りのエッジフラグ、全ての第１特異領域フラグ、及び、全ての第２特異領域フラグが“ＦＡＬＳＥ”である場合に、フィルタ番号３−０が出力される。
エッジ情報の［０度］のエッジフラグが“ＴＲＵＥ”であり、且つ、残りのエッジフラグ、全ての第１特異領域フラグ、及び、全ての第２特異領域フラグが“ＦＡＬＳＥ”である場合に、フィルタ番号４−０が出力される。
【０１３８】
図２５のフィルタ番号０−０，１−０，２−０，３−０，４−０の重み情報は、図１３のフィルタ番号０−０，１−０，２−０，３−０，４−０の重み情報と略同様の特性を有する。但し、図２５のフィルタ番号０−０，１−０，２−０，３−０，４−０の重み情報では、参照領域の幅の最大値が６画素分の幅（−３〜３）と一致するように、重みが設定されている。
【０１３９】
決定座標を含む検出領域が第２特異領域であり第１特異領域でない場合には、フィルタ選択部１０６は、フィルタ番号１−０−２，２−０−２，３−０−２，４−０−２の少なくともいずれかを出力する。
具体的には、第２特異領域情報の［４５度左下斜め］の第２特異領域フラグが“ＴＲＵＥ”であり、且つ、全ての第１特異領域フラグが“ＦＡＬＳＥ”である場合に、フィルタ番号１−０−２が出力される。
第２特異領域情報の［４５度右上斜め］の第２特異領域フラグが“ＴＲＵＥ”であり、且つ、全ての第１特異領域フラグが“ＦＡＬＳＥ”である場合にも、フィルタ番号１−０−２が出力される。
第２特異領域情報の［９０度下］の第２特異領域フラグが“ＴＲＵＥ”であり、且つ、全ての第１特異領域フラグが“ＦＡＬＳＥ”である場合に、フィルタ番号２−０−２が出力される。
第２特異領域情報の［９０度上］の第２特異領域フラグが“ＴＲＵＥ”であり、且つ、全ての第１特異領域フラグが“ＦＡＬＳＥ”である場合にも、フィルタ番号２−０−２が
出力される。
第２特異領域情報の［１３５度右下斜め］の第２特異領域フラグが“ＴＲＵＥ”であり、且つ、全ての第１特異領域フラグが“ＦＡＬＳＥ”である場合に、フィルタ番号３−０−２が出力される。
第２特異領域情報の［１３５度左上斜め］の第２特異領域フラグが“ＴＲＵＥ”であり、且つ、全ての第１特異領域フラグが“ＦＡＬＳＥ”である場合にも、フィルタ番号３−０−２が出力される。
第２特異領域情報の［０度右］の第２特異領域フラグが“ＴＲＵＥ”であり、且つ、全ての第１特異領域フラグが“ＦＡＬＳＥ”である場合に、フィルタ番号４−０−２が出力される。
第２特異領域情報の［０度左］の第２特異領域フラグが“ＴＲＵＥ”であり、且つ、全ての第１特異領域フラグが“ＦＡＬＳＥ”である場合にも、フィルタ番号４−０−２が出力される。
全ての第１特異領域フラグが“ＦＡＬＳＥ”であり、且つ、第２特異領域フラグが“ＴＲＵＥ”である項目が複数存在する場合には、複数のフィルタ番号が出力される。
【０１４０】
フィルタ番号０−０，１−０，２−０，３−０，４−０，１−０−２，２−０−２，３−０−２，４−０−２の重み情報は、第１重み情報である。図２５に示すように、第１重み情報は、決定座標の近傍のエッジのエッジ方向（第１方向）において他の方向よりもブロードに変化する重みを表す。具体的には、第１重み情報は、決定座標を含むエッジ領域に存在するエッジのエッジ方向において他の方向よりもブロードに変化する重みを表す。
【０１４１】
フィルタ番号１−０−２，２−０−２，３−０−２，４−０−２の重み情報では、参照領域のエッジ方向（第１方向）のサイズが、フィルタ番号０−０，１−０，２−０，３−０，４−０の重み情報よりも小さい。
そのため、本実施例では、決定座標がエッジの近傍の位置である場合に、当該エッジが形成する特異点に決定座標が近いほど参照領域のエッジ方向（第１方向）のサイズが小さい第１重み情報が使用される。具体的には、決定座標がエッジ領域の内側の位置である場合に、当該エッジ領域に存在するエッジが形成する特異点に当該エッジ領域が近いほど参照領域の第１方向のサイズが小さい第１重み情報が使用される。より具体的には、決定座標が第Ｍ特異領域の内側の位置である場合に、当該第Ｍ特異領域に存在するエッジが形成する特異点に当該第Ｍ特異領域が近いほど参照領域の第１方向のサイズが小さい第１重み情報が使用される。
【０１４２】
図２５の例では、フィルタ番号４−０−２の重み情報は、図１３のフィルタ番号４−０の重み情報と同じである。フィルタ番号４−０−２の重み情報は、図２６（ｃ）に示す第２特異領域の内側の座標が決定座標である場合に選択される。図２６（ｃ）に示す第２特異領域は、水平方向のエッジの左端（特異点）の近傍に配置されている。決定座標が図２６（ｃ）に示す座標である場合には、フィルタ番号４−０−２の重み情報を使用することにより、水平方向に４画素分の画素値だけ参照される。
また、図２５の例では、フィルタ番号１−０−２の重み情報は、図１３のフィルタ番号１−０の重み情報と同じである。フィルタ番号１−０−２の重み情報は、図２６（ｄ）に示す第２特異領域の内側の座標が決定座標である場合に選択される。図２６（ｄ）に示す第２特異領域は、４５度方向のエッジの右上端（特異点）の近傍に配置されている。決定座標が図２６（ｄ）に示す座標である場合には、フィルタ番号１−０−２の重み情報を使用することにより、４５度方向に４画素分の画素値だけ参照される。
【０１４３】
なお、本実施例では、エッジ領域が第Ｍ特異領域であるか否かの判断結果に基づいて第１重み情報が切り替えられて使用される例を説明したが、これに限らない。例えば、第Ｍ特異領域を検出せずに、エッジ領域から第１特異領域まで距離に基づいて第１重み情報が
切り替えられて使用されてもよい。
【０１４４】
決定座標を含む検出領域が第１特異領域である場合には、フィルタ選択部１０６は、フィルタ番号０−０−１，１−０−１，３−０−１の少なくともいずれかを出力する。
具体的には、第１特異領域情報の［９０度下］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号０−０−１が出力される。
第１特異領域情報の［９０度上］の第１特異領域フラグが“ＴＲＵＥ”である場合にも、フィルタ番号０−０−１が出力される。
第１特異領域情報の［０度右］の第１特異領域フラグが“ＴＲＵＥ”である場合にも、フィルタ番号０−０−１が出力される。
第１特異領域情報の［０度左］の第１特異領域フラグが“ＴＲＵＥ”である場合にも、フィルタ番号０−０−１が出力される。
第１特異領域情報の［４５度左下斜め］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号１−０−１が出力される。
第１特異領域情報の［４５度右上斜め］の第１特異領域フラグが“ＴＲＵＥ”である場合にも、フィルタ番号１−０−１が出力される。
第１特異領域情報の［１３５度右下斜め］の第１特異領域フラグが“ＴＲＵＥ”である場合に、フィルタ番号３−０−１が出力される。
第１特異領域情報の［１３５度左上斜め］の第１特異領域フラグが“ＴＲＵＥ”である場合にも、フィルタ番号３−０−１が出力される。
第１特異領域フラグが“ＴＲＵＥ”である項目が複数存在する場合には、複数のフィルタ番号が出力される。
【０１４５】
フィルタ番号０−０−１，１−０−１，３−０−１の重み情報は、第２重み情報である。
図２５に示すように、第２重み情報は、決定座標の近傍の特異点を形成するエッジのエッジ方向（第３方向）において他の方よりもブロードに変化する重みを表す。具体的には、第２重み情報は、決定座標を含む第１特異領域に存在する特異点を形成するエッジのエッジ方向において他の方向よりもブロードに変化する重みを表す。但し、例外として、エッジ方向（第３方向）が水平方向または垂直方向である第２重み情報（フィルタ番号０−０−１の重み情報）は、等方的な重みの分布を表す。
また、図２５に示すように、第２重み情報を用いた場合に参照される画像領域（参照領域）のエッジ方向（第３方向）のサイズは、第１重み情報を用いた場合に参照される画像領域（参照領域）のエッジ方向（第１方向）のサイズよりも小さい。
【０１４６】
なお、エッジ方向（第３方向）が水平方向である第２重み情報として、水平方向において他の方向よりもブロードに変化する重みを表す重み情報が使用されてもよい。エッジ方向（第３方向）が垂直方向である第２重み情報として、垂直方向において他の方向よりもブロードに変化する重みを表す重み情報が使用されてもよい。
【０１４７】
図２５の例では、フィルタ番号０−０−１の重み情報は、フィルタ番号０−０の重み情報の参照範囲の幅を２画素分の幅（−１〜１）に狭めた重み情報である。フィルタ番号０−０−１の重み情報は、図２６（ａ）に示す第１特異領域の内側の座標が決定座標である場合に選択される。図２６（ａ）に示す第１特異領域は、水平方向のエッジの左端（特異点）を含む領域である。決定座標が図２６（ａ）に示す座標である場合には、フィルタ番号０−０−１の重み情報を使用することにより、決定座標の近傍の４画素分の画素値だけ参照される。
また、図２５の例では、フィルタ番号１−０−１の重み情報は、参照範囲のエッジ方向（第３方向）の幅が狭められるようにフィルタ番号１−０−２の重み情報を調整した重み情報である。フィルタ番号１−０−１の重み情報は、図２６（ｂ）に示す第１特異領域の
内側の座標が決定座標である場合に選択される。図２６（ｂ）に示す第１特異領域は、４５度方向のエッジの右上端（特異点）を含む領域である。決定座標が図２６（ｂ）に示す座標である場合には、フィルタ番号１−０−１の重み情報を使用することにより、決定座標の近傍の４画素のうちの４５度方向の２画素分の画素値だけ参照される。
【０１４８】
このように、本実施例では、第１特異領域でも第Ｍ特異領域でもないエッジ領域の内側の位置が決定位置である場合に、実施例１と同様に、エッジ方向にブロードで、且つ、エッジ方向の法線方向に急峻な重みの分布を表す２次元フィルタが使用される。そして、第１特異領域や第Ｍ特異領域の内側の位置が決定位置である場合に、エッジ方向（第１方向や第３方向）における参照領域の幅が狭められた２次元フィルタが使用される。
【０１４９】
なお、図２５の例では、参照領域として、決定座標（重みの分布の原点）を中心とする領域が設定されている。そして、第１重み情報は、エッジ方向（第１方向）の重みの分布として、原点に対して対称な分布を表す。第２重み情報も、エッジ方向（第３方向）の重みの分布として、原点に対して対称な分布を表す。しかしながら、参照領域は図２５に示す参照領域に限らない。例えば、参照領域の中心は、決定座標（重みの分布の原点）からずれていてもよい。具体的には、第１重み情報や第２重み情報として、実施例１の第２重み情報に類似した重み情報が使用されてもよい。即ち、第１重み情報や第２重み情報として、エッジ方向（第１方向や第３方向）の重みの分布が原点に対して非対称な重み情報が使用されてもよい。その場合には、第４方向における決定座標（原点）から参照領域の端までの距離を決定座標と特異点の間の距離に応じて変更した第１重み情報や第２重み情報が使用されてもよい。第４方向は、エッジから当該エッジが形成する特異点へ向かう方向である。決定座標と特異点の間の距離として、決定座標を含む検出領域と第１特異領域の間の距離が使用されてもよい。
【０１５０】
本実施例に係る画像処理装置の動作の具体例を説明する。
図２７（ａ）〜２７（ｄ）は、本実施例に係る画像処理装置の動作の一例を示す図である。
図２７（ａ）は、入力画像の一部分を示す。白丸が白色の入力画素、黒丸が黒色の入力画素を示す。図２７（ａ）の入力画像には、細い斜め線（エッジ）が存在している。また、図２７（ａ）の入力画像では、エッジの方向が変化している。
図２７（ｂ）は、エッジ検出部１０３の検出結果（エッジ情報）を示す。両側矢印が記載されている検出領域は、当該両側矢印の方向のエッジが存在するエッジ領域として検出された領域である。空白の検出領域は、エッジ領域として検出されなかった領域である。
【０１５１】
図２７（ｃ）は、特異点検出部１０４の検出結果（第１特異領域情報と第２特異領域情報）を示す。斜め線で網かけされた検出領域は、第１特異領域として検出された領域である。第１特異領域に記載されている片側矢印は、当該第１特異領域に存在する特異点の特異方向である。水平線と垂直線で網かけされた検出領域は、第２特異領域として検出された領域である。第２特異領域に記載されている片側矢印は、当該第２特異領域の近傍に存在する特異点の特異方向である。
【０１５２】
図２７（ｃ）の例では、エッジの方向が１３５度方向から水平方向へ切り替わる位置（変化位置）を特異点として含む５つの検出領域が第１特異領域として検出されている。そして、５つの第１特異領域のうちの右側の３つの第１特異領域に対して、水平方向に対して１３５度の角度で右下へ向かう特異方向［１３５度右下斜め］が割り当てられている。残り２つの第１特異領域に対しては、左へ向かう特異方向［０度左］が割り当てられている。
【０１５３】
また、図２７（ｃ）の例では、上記５つの第１特異領域のうちの右側の３つの第１特異
領域に対して１３５度方向の側に隣接する３つのエッジ領域が第２特異領域として検出されている。そして、上記３つの第２特異領域に対して特異方向［１３５度右下斜め］が割り当てられている。
さらに、図２７（ｃ）の例では、上記５つの第１特異領域のうちの左側の３つの第１特異領域に対して水平方向の側に隣接する２つのエッジ領域も、第２特異領域として検出されている。そして、上記２つの第２特異領域に対して特異方向［０度左］が割り当てられている。
【０１５４】
図２７（ｄ）は、フィルタ選択部１０６の選択結果（選択されたフィルタ番号）を示す。空白の検出領域は、図２５のフィルタ番号０−０が選択された領域である。右下がりの斜線でハッチングされた検出領域は、図２５のフィルタ番号３−０が選択された領域である。右上がりの斜線でハッチングされた検出領域は、図２５のフィルタ番号３−０−１が選択された領域である。低密度のドットで示された検出領域は、図２５のフィルタ番号４−０が選択された領域である。高密度のドットで示された検出領域は、図２５のフィルタ番号０−０−１が選択された領域である。垂直線でハッチングされた検出領域は、図２５のフィルタ番号４−０−２が選択された領域である。水平線でハッチングされた検出領域は、図２５のフィルタ番号３−０−２が選択された領域である。
【０１５５】
本実施例でも、図２７（ｄ）のフィルタ番号に対応する重み情報を用いて図１８（ａ）の入力画像を拡大することにより、図１８（ｂ）と同様に高画質な拡大画像（出力画像）を得ることができる。具体的には、決定座標の画素値を高精度に決定することができる。それにより、高画質な出力画像を得ることができる。
【０１５６】
以上述べたように、本実施例によれば、エッジだけでなく、特異点が検出される。そして、エッジの検出結果だけでなく、特異点の検出結果も考慮して、決定座標における画素値が決定される。それにより、特異点近傍の決定座標の画素値を高精度に決定することができる。ひいては、高画質な出力画像を得ることができる。
【０１５７】
＜その他の実施例＞
記憶装置に記録されたプログラムを読み込み実行することで前述した実施例の機能を実現するシステムや装置のコンピュータ（又はＣＰＵ、ＭＰＵ等のデバイス）によっても、本発明を実施することができる。また、例えば、記憶装置に記録されたプログラムを読み込み実行することで前述した実施例の機能を実現するシステムや装置のコンピュータによって実行されるステップからなる方法によっても、本発明を実施することができる。この目的のために、上記プログラムは、例えば、ネットワークを通じて、又は、上記記憶装置となり得る様々なタイプの記録媒体（つまり、非一時的にデータを保持するコンピュータ読取可能な記録媒体）から、上記コンピュータに提供される。したがって、上記コンピュータ（ＣＰＵ、ＭＰＵ等のデバイスを含む）、上記方法、上記プログラム（プログラムコード、プログラムプロダクトを含む）、上記プログラムを非一時的に保持するコンピュータ読取可能な記録媒体は、いずれも本発明の範疇に含まれる。
【符号の説明】
【０１５８】
１００：画像処理装置  １０３：エッジ検出部  １０４：特異点検出部
１０５：検出情報記憶部  １０６：フィルタ選択部  １０７：係数決定部
１０８：画素値決定部
【図１】
2016039431.tif 000006
【図２】
2016039431.tif 000007
【図３】
2016039431.tif 000008
【図４】
2016039431.tif 000009
【図５】
2016039431.tif 000010
【図６】
2016039431.tif 000011
【図７】
2016039431.tif 000012
【図８】
2016039431.tif 000013
【図９】
2016039431.tif 000014
【図１０】
2016039431.tif 000015
【図１１】
2016039431.tif 000016
【図１２】
2016039431.tif 000017
【図１３】
2016039431.tif 000018
【図１４】
2016039431.tif 000019
【図１５】
2016039431.tif 000020
【図１６】
2016039431.tif 000021
【図１７】
2016039431.tif 000022
【図１８】
2016039431.tif 000023
【図１９】
2016039431.tif 000024
【図２０】
2016039431.tif 000025
【図２１】
2016039431.tif 000026
【図２２】
2016039431.tif 000027
【図２３】
2016039431.tif 000028
【図２４】
2016039431.tif 000029
【図２５】
2016039431.tif 000030
【図２６】
2016039431.tif 000031
【図２７】
2016039431.tif 000032
【図２８】
2016039431.tif 000033