(57)【要約】【課題】エッジが存在する部分に補間画素を生成することによる画質の劣化を高精度に抑制することができる技術を提供する。【解決手段】本発明の画像処理装置は、入力画像から、１方向のエッジが存在する１エッジ領域と、方向が互いに異なる複数のエッジが存在する特異領域とを検出する検出手段と、検出手段の検出結果に基づいて、補間画素の生成位置である複数の画素生成位置のうち、１方向エッジ領域の画素生成位置に対して、当該１エッジ領域に存在するエッジの方向を割り当て、特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向、または、当該方向と略等しい方向を割り当てる割当手段と、１エッジ領域の画素生成位置、及び、特異領域の画素生成位置に対して、当該画素生成位置に割り当てられた方向に基づいて補間画素を生成する生成手段と、を有する。【選択図】図１
2015095101.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の画素間を補間する補間画素を生成する画像処理装置であって、
入力画像から、１方向のエッジが存在する１エッジ領域と、方向が互いに異なる複数のエッジが存在する特異領域とを検出する検出手段と、
前記検出手段の検出結果に基づいて、補間画素の生成位置である複数の画素生成位置のうち、前記１方向エッジ領域の画素生成位置に対して、当該１エッジ領域に存在するエッジの方向を割り当て、前記特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向、または、当該方向と略等しい方向を割り当てる割当手段と、
前記１エッジ領域の画素生成位置、及び、前記特異領域の画素生成位置に対して、当該画素生成位置に割り当てられた方向に基づいて補間画素を生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記割当手段は、前記特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向を割り当てる
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記割当手段は、前記特異領域の画素生成位置と、当該画素生成位置に最も近い１エッジ領域との間の距離を、エッジの取り得る複数の方向のそれぞれについて算出し、
前記生成手段は、前記特異領域の画素生成位置に対して、前記算出された距離が短いほど大きい重みで前記複数の方向を重み付け合成した方向に基づいて、補間画素を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記検出手段は、前記入力画像の領域毎にエッジを検出し、１方向のエッジが検出された領域を１エッジ領域と判断し、方向が互いに異なる複数のエッジが検出された領域を特異領域と判断する
ことを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記検出手段は、前記入力画像の領域毎にエッジを検出し、エッジが検出された領域を１エッジ領域と判断し、１エッジ領域の判断結果に基づいて、エッジが検出されなかった領域の中から特異領域を検出する
ことを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項６】
前記検出手段は、エッジが検出されなかった領域と、その周辺の１エッジ領域の位置及び検出されたエッジの方向との関係に基づいて、当該エッジが検出されなかった領域が特異領域か否かを判断する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記割当手段は、
前記特異領域の画素生成位置から前記１エッジ領域までの最短距離を算出し、
前記算出した距離に基づいて、前記特異領域の画素生成位置に最も近い１エッジ領域を判断する
ことを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記割当手段は、
前記特異領域の画素生成位置から前記１エッジ領域の中心位置までの距離を算出し、
前記算出した距離に基づいて、前記特異領域の画素生成位置に最も近い１エッジ領域を判断する
ことを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項９】
前記生成手段は、前記１エッジ領域の画素生成位置、及び、前記特異領域の画素生成位置に対し、当該画素生成位置の周囲に存在する複数の画素の複数の画素値を、当該画素生成位置に割り当てられた方向に存在する画素の画素値の重みが他の画素値の重みよりも大きい重みで重み付け合成することにより、当該画素生成位置に生成する補間画素の画素値を決定する
ことを特徴とする請求項１〜８のいずれか１項に記載の画像処理装置。
【請求項１０】
方向毎に、画素生成位置の周囲に存在する複数の画素の複数の画素値に割り当てる複数の重みを示す補間フィルタが予め用意されており、
前記生成手段は、前記１エッジ領域の画素生成位置、及び、前記特異領域の画素生成位置に対し、当該画素生成位置に割り当てられた方向に対応するフィルタを用いて、当該画素生成位置に生成する補間画素の画素値を決定する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
入力画像の画素間を補間する補間画素を生成する画像処理装置の制御方法であって、
入力画像から、１方向のエッジが存在する１エッジ領域と、方向が互いに異なる複数のエッジが存在する特異領域とを検出する検出ステップと、
前記検出ステップの検出結果に基づいて、補間画素の生成位置である複数の画素生成位置のうち、前記１方向エッジ領域の画素生成位置に対して、当該１エッジ領域に存在するエッジの方向を割り当て、前記特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向、または、当該方向と略等しい方向を割り当てる割当ステップと、
前記１エッジ領域の画素生成位置、及び、前記特異領域の画素生成位置に対して、当該画素生成位置に割り当てられた方向に基づいて補間画素を生成する生成ステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項１２】
前記割当ステップでは、前記特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向を割り当てる
ことを特徴とする請求項１１に記載の画像処理装置の制御方法。
【請求項１３】
前記割当ステップでは、前記特異領域の画素生成位置と、当該画素生成位置に最も近い１エッジ領域との間の距離を、エッジの取り得る複数の方向のそれぞれについて算出し、
前記生成ステップでは、前記特異領域の画素生成位置に対して、前記算出された距離が短いほど大きい重みで前記複数の方向を重み付け合成した方向に基づいて、補間画素を生成する
ことを特徴とする請求項１１に記載の画像処理装置の制御方法。
【請求項１４】
前記検出ステップでは、前記入力画像の領域毎にエッジを検出し、１方向のエッジが検出された領域を１エッジ領域と判断し、方向が互いに異なる複数のエッジが検出された領域を特異領域と判断する
ことを特徴とする請求項１１〜１３のいずれか１項に記載の画像処理装置の制御方法。
【請求項１５】
前記検出ステップでは、前記入力画像の領域毎にエッジを検出し、エッジが検出された領域を１エッジ領域と判断し、１エッジ領域の判断結果に基づいて、エッジが検出されなかった領域の中から特異領域を検出する
ことを特徴とする請求項１１〜１３のいずれか１項に記載の画像処理装置の制御方法。
【請求項１６】
前記検出ステップでは、エッジが検出されなかった領域と、その周辺の１エッジ領域の位置及び検出されたエッジの方向との関係に基づいて、当該エッジが検出されなかった領
域が特異領域か否かを判断する
ことを特徴とする請求項１５に記載の画像処理装置の制御方法。
【請求項１７】
前記割当ステップでは、
前記特異領域の画素生成位置から前記１エッジ領域までの最短距離を算出し、
前記算出した距離に基づいて、前記特異領域の画素生成位置に最も近い１エッジ領域を判断する
ことを特徴とする請求項１１〜１６のいずれか１項に記載の画像処理装置の制御方法。
【請求項１８】
前記割当ステップでは、
前記特異領域の画素生成位置から前記１エッジ領域の中心位置までの距離を算出し、
前記算出した距離に基づいて、前記特異領域の画素生成位置に最も近い１エッジ領域を判断する
ことを特徴とする請求項１１〜１６のいずれか１項に記載の画像処理装置の制御方法。
【請求項１９】
前記生成ステップでは、前記１エッジ領域の画素生成位置、及び、前記特異領域の画素生成位置に対し、当該画素生成位置の周囲に存在する複数の画素の複数の画素値を、当該画素生成位置に割り当てられた方向に存在する画素の画素値の重みが他の画素値の重みよりも大きい重みで重み付け合成することにより、当該画素生成位置に生成する補間画素の画素値を決定する
ことを特徴とする請求項１１〜１８のいずれか１項に記載の画像処理装置の制御方法。
【請求項２０】
方向毎に、画素生成位置の周囲に存在する複数の画素の複数の画素値に割り当てる複数の重みを示す補間フィルタが予め用意されており、
前記生成ステップでは、前記１エッジ領域の画素生成位置、及び、前記特異領域の画素生成位置に対し、当該画素生成位置に割り当てられた方向に対応するフィルタを用いて、当該画素生成位置に生成する補間画素の画素値を決定する
ことを特徴とする請求項１９に記載の画像処理装置の制御方法。
【請求項２１】
請求項１１〜２０のいずれか１項に記載の画像処理装置の制御方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理装置の制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来、画像の画素間を補間する補間画素を生成して解像度を変換したり、画像サイズを変換（拡大または縮小）したりする技術がある。補間画素の生成で使用される補間方法としては、例えば、バイキュービック法などが広く知られている。
しかしながら、バイキュービック法を用いると、斜め線（エッジ）の部分に階段状のジャギーが発生し、画質が劣化してしまうことがある。
【０００３】
この問題を解決するための方法は、例えば、特許文献１に開示されている。特許文献１に開示の技術では、補間画素の生成位置の周囲の画素値（入力画像に存在する画素の画素値；入力画素値）から、補間画素の生成位置におけるエッジの方向が算出される。そして、補間画素の生成位置（画素生成位置）に対して算出されたエッジの方向に応じた補間フィルタを用いて、補間画素の画素値が算出される。
【０００４】
また、補間画素の生成方法に関する技術は、特許文献２にも開示されている。特許文献２に開示の技術では、画素生成位置に対して方向が互いに異なる複数のエッジが検出された場合に、検出されたエッジ毎に、エッジの方向に基づいて補間画素の画素値（候補値）が算出される。そして、エッジと画素生成位置の距離が近いほど大きい重みでエッジ毎の候補値を重み付け合成することにより、補間画素の画素値が算出される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００８−５１１２０２号公報
【特許文献２】特開２０１２−１３４９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示の技術では、複数のエッジが存在する画素生成位置に対して特別な処理は行われない。そのため、複数のエッジが存在する画素生成位置に対して不適切な方向が算出されたり、“エッジが存在しない”と判断されたりしてしまうことがある。その結果、複数のエッジが存在する画素生成位置で画質の劣化（エッジの形状の変化など）が発生してしまうことがある。
【０００７】
また、方向が互いに異なる複数のエッジが存在する画素生成位置において、画素生成位置に近いエッジが画素生成位置から遠いエッジよりもユーザの注目度が高いとは限らない。複数のエッジが存在する画素生成位置では、注目度が高いエッジの方向に基づいて算出された候補値の重みを最も大きくすべきである。しかしながら、特許文献２に開示の技術では、エッジと画素生成位置の距離が近いほど大きい重みでエッジ毎の候補値が重み付け合成されてしまう。その結果、特許文献２に開示の技術では、複数のエッジが存在する画素生成位置での画質の劣化を高精度に抑制することができず、複数のエッジが存在する画素生成位置での画質の劣化が発生してしまうことがある。例えば、注目度が高いエッジの方向に基づいて算出された候補値の重みとして低い値が設定されてしまい、注目度が高いエッジの画質が大きく劣化してしまうことがある。
【０００８】
本発明は、エッジが存在する部分に補間画素を生成することによる画質の劣化を高精度
に抑制することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様は、
入力画像の画素間を補間する補間画素を生成する画像処理装置であって、
入力画像から、１方向のエッジが存在する１エッジ領域と、方向が互いに異なる複数のエッジが存在する特異領域とを検出する検出手段と、
前記検出手段の検出結果に基づいて、補間画素の生成位置である複数の画素生成位置のうち、前記１方向エッジ領域の画素生成位置に対して、当該１エッジ領域に存在するエッジの方向を割り当て、前記特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向、または、当該方向と略等しい方向を割り当てる割当手段と、
前記１エッジ領域の画素生成位置、及び、前記特異領域の画素生成位置に対して、当該画素生成位置に割り当てられた方向に基づいて補間画素を生成する生成手段と、
を有することを特徴とする画像処理装置である。
【００１０】
本発明の第２の態様は、
入力画像の画素間を補間する補間画素を生成する画像処理装置の制御方法であって、
入力画像から、１方向のエッジが存在する１エッジ領域と、方向が互いに異なる複数のエッジが存在する特異領域とを検出する検出ステップと、
前記検出ステップの検出結果に基づいて、補間画素の生成位置である複数の画素生成位置のうち、前記１方向エッジ領域の画素生成位置に対して、当該１エッジ領域に存在するエッジの方向を割り当て、前記特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向、または、当該方向と略等しい方向を割り当てる割当ステップと、
前記１エッジ領域の画素生成位置、及び、前記特異領域の画素生成位置に対して、当該画素生成位置に割り当てられた方向に基づいて補間画素を生成する生成ステップと、
を有することを特徴とする画像処理装置の制御方法である。
【００１１】
本発明の第３の態様は、上述した画像処理装置の制御方法の各ステップをコンピュータに実行させることを特徴とするプログラムである。
【発明の効果】
【００１２】
本発明によれば、エッジが存在する部分に補間画素を生成することによる画質の劣化を高精度に抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施例に係る画像処理装置の構成の一例を示すブロック図
【図２】本実施例に係るエッジ検出部の構成の一例を示すブロック図
【図３】本実施例に係るエッジの検出に用いるテンプレートの一例を示す図
【図４】本実施例に係るエッジ検出値の一例を示す図
【図５】本実施例に係る領域検出部の構成の一例を示すブロック図
【図６】本実施例に係る特異領域の検出に用いるテンプレートの一例を示す図
【図７】実施例１に係る方向割当部の処理フローの一例を示すフローチャート
【図８】実施例１に係る方向割当部の処理の一例を示す概念図
【図９】本実施例に係る補間フィルタの一例を示す図
【図１０】本実施例に係る補間部の処理の一例を示す概念図
【図１１】実施例１に係る画像処理装置の動作の一例を示す図
【図１２】実施例１に係る出力画像の一例を示す図
【図１３】実施例２に係る割当値とその重みの一例を示す図
【図１４】実施例２に係る方向割当部の処理フローの一例を示すフローチャート
【図１５】実施例２に係る方向割当部の処理の一例を示す概念図
【発明を実施するための形態】
【００１４】
＜実施例１＞
以下、本発明の実施例１に係る画像処理装置及びその制御方法について説明する。本実施例に係る画像処理装置は、入力画像の解像度やサイズを変換するために、入力画像の画素間を補間する補間画素を生成する。
【００１５】
図１は、本実施例に係る画像処理装置の構成を示すブロック図である。画像処理装置には、外部から入力画像１（入力画像データ）が入力される。本実施例では、入力画像１の解像度が水平方向３２０画素×垂直方向２４０画素であり、入力画像１の画素値（輝度値）が０以上１以下の値であるものとする。
なお、画像処理装置は、画像を記憶する記憶媒体（磁気ディスク、半導体メモリ、など）を有していてもよい。そして、入力画像は、画像処理装置に設けられた記憶媒体から読み出されてもよい。
なお、入力画像の水平方向の画素数は３２０画素より多くても少なくてもよい。入力画像の垂直方向の画素数は２４０画素より多くても少なくてもよい。また、入力画像の画素値の取り得る範囲は、０以上１以下の範囲より広くても狭くてもよい。
【００１６】
フレームメモリ１０は、入力画像１を記憶する。
【００１７】
エッジ検出部２０と領域検出部３０により、入力画像１から、１方向のエッジが存在する１エッジ領域と、方向が互いに異なる複数のエッジが存在する特異領域とが検出される。
【００１８】
エッジ検出部２０は、入力画像１の領域毎にエッジを検出する。本実施例では、テンプレートマッチング法を用いてエッジが検出される。そして、エッジ検出部２０は、領域毎の検出結果（エッジ検出値２１）を出力する。本実施例では、エッジが検出された領域のエッジ検出値２１として、検出されたエッジの方向を示す値が出力され、エッジが検出されなかった領域のエッジ検出値２１として、エッジが検出されなかったことを示す値が出力される。エッジの検出方法の詳細は後述する。
【００１９】
領域検出部３０は、エッジ検出部２０の検出結果（領域毎のエッジ検出値２１）に基づいて、１エッジ領域と特異領域を検出する。そして、領域検出部３０は、１エッジ領域と特異領域の検出結果を出力する。本実施例では、１エッジ領域と特異領域の検出結果をさらに示すように領域毎のエッジ検出値２１が補正され、補正後のエッジ検出値３１が出力される。１エッジ領域と特異領域の検出方法の詳細は後述する。
【００２０】
方向マップメモリ４０は、領域毎のエッジ検出値３１を記憶し、領域毎のエッジ検出値３１が入力画像１にマッピングされたエッジ方向マップを生成する。
【００２１】
座標計算部５０は、補間画素の生成位置（画素生成位置）の座標を算出する。具体的には、解像度やサイズを変換する変換パラメータに基づいて、対応座標５１（ｉｘ，ｉｙ）と出力座標５２（ｏｘ，ｏｙ）が算出される。対応座標５１（ｉｘ，ｉｙ）は、入力画像１の座標系で表された画素生成位置の座標であり、出力座標５２（ｏｘ，ｏｙ）は、出力画像８１の座標系で表された画素生成位置の座標である。出力画像８１は、解像度やサイズの変換後の画像である。本実施例では、出力画像８１の左上から右下にかけて順番に、出力座標５２（ｏｘ，ｏｙ）が算出される。そして、出力座標５２（ｏｘ，ｏｙ）を入力画像１の座標系で表された座標に変換（写像）することにより、対応座標５１（ｉｘ，ｉ
ｙ）が算出される。本実施例では、画素間隔が１となるように入力画像１と出力画像８１の座標系が定義されているものとする。そのため、出力座標５２の水平座標ｏｘと垂直座標ｏｙは整数で表され、対応座標５１の水平座標ｉｘは整数部ｉｘｉと少数部ｉｘｓの組み合わせ（和）で表され、対応座標５１の垂直座標ｉｙは整数部ｉｙｉと少数部ｉｙｓの組み合わせで表される。入力画像１の解像度が水平方向３２０画素×垂直方向２４０画素であり、出力画像８１の解像度が水平方向６４０画素×垂直方向４８０画素であり、出力座標５２（ｏｘ，ｏｙ）が（１００，４９）である場合を考える。この場合には、対応座標５１（ｉｘ，ｉｙ）は（５０．０，２４．５）となる。このとき、対応座標５１（ｉｘ，ｉｙ）の整数部（ｉｘｉ，ｉｙｉ）は（５０，２４）であり、少数部（ｉｘｓ，ｉｙｓ）は（０，０．５）である。
【００２２】
方向割当部６０は、１エッジ領域と特異領域の検出結果に基づいて、１エッジ領域の画素生成位置、及び、特異領域の画素生成位置に方向を割り当てる。具体的には、方向割当部６０は、対応座標５１に基づいて、対応座標５１を含む領域のエッジ検出値３１と、対応座標５１を含む領域の周囲の領域のエッジ検出値３１とを含む検出値群４１を、方向マップメモリ４０で生成されたエッジ方向マップから読み出す。本実施例では、対応座標５１を含む領域を中心とする水平方向５個×垂直方向５個の計２５個の領域のエッジ検出値３１が検出値群４１として読み出される。そして、方向割当部６０は、読み出した検出値群４１に基づいて対応座標５１の割当値６１を決定する。本実施例では、１エッジ領域の画素生成位置、及び、特異領域の画素生成位置に対しては、画素生成位置に割り当てる方向を示す値が割当値６１として決定される。１エッジ領域及び特異領域以外の領域の画素生成位置に対しては、方向が割り当てられていない（エッジが存在しない）ことを示す値が割当値６１として決定される。割当値６１の決定方法の詳細は後述する。
【００２３】
なお、上述した処理を行うと、上端、下端、左端、及び、右端から２番目までの領域に対応座標５１が位置する場合には、２５個より少ない数のエッジ検出値３１が検出値群４１として読み出されることとなる。例えば、左上端の領域に対応座標５１が位置する場合には、その領域の位置を左上端とする水平方向３個×垂直方向３個の計９個の領域のエッジ検出値３１が検出値群４１として読み出される。
なお、割当値６１を決定するために使用するエッジ検出値３１の数は、２５個より多くても少なくてもよい。
【００２４】
補間フィルタ選択部７０と補間部８０により、画素生成位置に補間画素が生成される。１エッジ領域の画素生成位置、及び、特異領域の画素生成位置に対しては、当該画素生成位置に割り当てられた方向に基づいて補間画素が生成される。
【００２５】
補間フィルタ選択部７０には、割当値６１の取り得る値毎に、補間画素の生成（補間画素の画素値の決定）に用いる補間フィルタが予め記録されている。補間フィルタ選択部７０は、方向割当部６０で決定された割当値６１に応じた補間フィルタを選択し、選択した補間フィルタ７１を出力する。例えば、補間フィルタ選択部７０には、割当値６１の取り得る値と、補間フィルタとの対応関係を表す選択テーブルが予め記録されており、補間フィルタ選択部７０は、選択テーブルを用いて補間フィルタを選択する。割当値６１に応じた補間フィルタが選択されるため、１エッジ領域の画素生成位置、及び、特異領域の画素生成位置については、当該画素生成位置に割り当てられた方向に対応する補間フィルタが選択される。
本実施例では、画素生成位置の周囲に存在する複数の画素の複数の画素値を重み付け合成することにより、画素生成位置に生成する補間画素の画素値が決定される。補間フィルタは、上記複数の画素値に割り当てる複数の重みを示すフィルタである。補間フィルタの選択方法の詳細は後述する。
【００２６】
補間部８０は、対応座標５１と補間フィルタ７１に基づいて、出力座標５２に補間画素を生成する。換言すれば、対応座標５１と補間フィルタ７１に基づいて、出力座標５２の画素値が決定される。そして、補間部８０は、出力座標５２の画素値を用いて出力画像８１を生成し、出力画像８１を出力する。具体的には、補間部８０は、対応座標５１の整数部（ｉｘｉ，ｉｙｉ）に応じて、入力画像１に存在する画素（入力画素）のうち、対応座標５１の周囲に存在する複数の画素を参照画素１１として選択する。そして、補間部８０は、複数の参照画素１１の画素値をフレームメモリ１０から読み出す。本実施例では、対応座標５１の周囲に存在する水平方向４画素×垂直方向４画素の計１６画素が参照画素１１として選択され、１６個の参照画素の画素値がフレームメモリ１０から読み出される。例えば、対応座標５１の整数部（ｉｘｉ，ｉｙｉ）が（１００，５０）である場合には、座標（９９，４９）〜（１０２，５２）の範囲に存在する１６個の画素の画素値がフレームメモリ１０から読み出される。その後、補間部８０は、読み出した複数の画素値を補間フィルタ７１で示された重みで重み付け合成することにより、出力座標５２の画素値を決定（算出）する。補間画素の画素値の決定方法の詳細は後述する。
なお、補間画素の画素値を決定するために画素値が参照される参照画素の数は、１６個より多くても少なくてもよい。
【００２７】
制御部９０は、不図示の制御線を介して、画像処理装置が有する各機能部の動作を制御する。
【００２８】
（エッジ検出部）
エッジ検出部２０の処理について詳しく説明する。
なお、本実施例では、水平方向４画素×垂直方向４画素の計１６画素からなる領域（処理領域）単位でエッジ検出値が決定されるものとする。
図２は、エッジ検出部２０の構成を示すブロック図である。
【００２９】
入力画素抽出部２１０は、入力画像１を４ラインのラインメモリに蓄積し、処理領域の画素値群２１１（水平方向４画素×垂直方向４画素の計１６画素の画素値）を出力する。
【００３０】
Ｖ照合部２２０は、処理領域毎に、処理領域の画像と、図３の垂直テンプレートｔｖとの相関の度合い（垂直相関度ｍｖ）を算出する。垂直テンプレートｔｖは、処理領域の１６個の画素値ｉｐ（ｘ１，ｙ１）に対応する１６個の係数ｔｖ（ｘ１，ｙ１）を示す。そして、垂直相関度ｍｖは、処理領域の画素値ｉｐ（ｘ１，ｙ１）と、係数ｔｖ（ｘ１，ｙ１）とを用いて算出される。具体的には、以下の式１を用いて垂直相関度ｍｖが算出される。なお、本実施例では、画素値ｉｐ（ｘ１，ｙ１）のｘ１は、処理領域の１６個の画素のうち、左端の画素で０となり、右に向かって１ずつ増加するように定義されている。そして、画素値ｉｐ（ｘ１，ｙ１）のｙ１は、処理領域の１６個の画素のうち、上端の画素で０となり、下に向かって１ずつ増加するように定義されている。
【数１】
2015095101.tif 000003
垂直相関度ｍｖは、処理領域の画像と垂直方向のエッジとの類似度を示す。処理領域にエッジが存在する場合には、垂直相関度ｍｖは、処理領域に存在するエッジの垂直方向成分を示すということもできる。本実施例では、入力画像１の画素値は０以上１以下の値であるため、図３の垂直テンプレートｔｖを用いた場合、垂直相関度ｍｖとして、−８以上８以下の値が算出される。
【００３１】
Ｈ照合部２３０は、処理領域毎に、処理領域の画像と、図３の水平テンプレートｔｈとの相関の度合い（水平相関度ｍｈ）を算出する。水平テンプレートｔｈは、処理領域の１
６個の画素値ｉｐ（ｘ１，ｙ１）に対応する１６個の係数ｔｈ（ｘ１，ｙ１）を示す。そして、水平相関度ｍｈは、処理領域の画素値ｉｐ（ｘ１，ｙ１）と、係数ｔｈ（ｘ１，ｙ１）とを用いて算出される。具体的には、以下の式２を用いて水平相関度ｍｈが算出される。
【数２】
2015095101.tif 000004
水平相関度ｍｈは、処理領域の画像と水平方向のエッジとの類似度を示す。処理領域にエッジが存在する場合には、水平相関度ｍｈは、処理領域に存在するエッジの水平方向成分を示すということもできる。本実施例では、図３の水平テンプレートｔｈを用いた場合、水平相関度ｍｈとして、−８以上８以下の値が算出される。
【００３２】
方向算出部２４０は、処理領域毎に、垂直相関度ｍｖと水平相関度ｍｈを用いて、処理領域にエッジが存在するか否かを判断する。そして、方向算出部２４０は、エッジが存在しないと判断された処理領域のエッジ検出値ＥＤ（エッジ検出値２１）として、エッジが存在しない（エッジが検出されなかった）ことを示す値を出力する。また、方向算出部２４０は、エッジが存在すると判断された処理領域毎に、垂直相関度ｍｖと水平相関度ｍｈを用いて、存在するエッジの方向を算出する。そして、方向算出部２４０は、エッジが存在しないと判断された処理領域のエッジ検出値ＥＤとして、算出されたエッジの方向に対応する値を出力する。
【００３３】
｜ｍｖ｜と｜ｍｈ｜の和が小さい場合、処理領域にエッジが存在しない可能性が高い。そのため、方向算出部２４０は、｜ｍｖ｜＋｜ｍｈ｜＜６の場合に、エッジが存在しないと判断し、ＥＤ＝０を出力する。また、方向算出部２４０は、｜ｍｖ｜＋｜ｍｈ｜≧６であり、且つ、ｍｈ＝０である場合には、垂直方向のエッジが存在すると判断し、ＥＤ＝２を出力する。それら以外の場合には、方向算出部２４０は、水平方向に対する角度ｅ＝ａｔａｎ（ｍｖ／ｍｈ）を算出し、以下に示すように角度ｅに応じたＥＤの値を出力する。
−８π／１６≦ｅ＜−７π／１６の場合：ＥＤ＝２
−５π／１６≦ｅ＜−３π／１６の場合：ＥＤ＝１
−π／１６≦ｅ＜π／１６の場合：ＥＤ＝４
３π／１６≦ｅ＜５π／１６の場合：ＥＤ＝３
７π／１６≦ｅ≦８π／１６の場合：ＥＤ＝２
角度ｅが上述した範囲外の角度である場合：ＥＤ＝０
図４に示すように、ＥＤ＝０はエッジが存在しないことを示し、ＥＤ＝１は水平方向に対して４５度だけ傾いたエッジが存在することを示し、ＥＤ＝２は垂直方向のエッジが存在することを示す。そして、ＥＤ＝３は水平方向に対して−４５度だけ傾いたエッジが存在することを示し、ＥＤ＝４は水平方向のエッジが存在することを示す。
このように、方向算出部２４０は、１方向のエッジが存在する処理領域のエッジ検出値ＥＤとして、存在するエッジの方向を示す値を出力し、それ以外の処理領域のエッジ検出値ＥＤとして、エッジが存在しないことを示す値を出力する。
【００３４】
なお、本実施例では、−７π／１６≦ｅ＜−５π／１６、−３π／１６≦ｅ＜−π／１６、π／１６≦ｅ＜３π／１６、及び、５π／１６≦ｅ＜７π／１６の場合には、ＥＤ＝０が出力される。これは、このような場合には、処理領域にエッジが含まれていない可能性、及び、方向が異なる複数のエッジが含まれている可能性が高いためである。
なお、エッジが存在するか否かの判断に用いる閾値は６より大きくても小さくてもよい。
【００３５】
（領域検出部３０）
領域検出部３０の処理について詳しく説明する。
図５は、領域検出部３０の構成を示すブロック図である。
【００３６】
エッジ検出値抽出部３１０は、エッジ検出値２１を５ラインのラインメモリに蓄積し、水平方向５個×垂直方向５個の計２５個の処理領域のエッジ検出値２１である検出値群３１１を出力する。具体的には、処理領域毎に、その処理領域を中心とする２５個の処理領域のエッジ検出値２１が、検出値群３１１として出力される。
なお、上述した処理を行うと、上端、下端、左端、及び、右端から２番目までの処理領域については、２５個より少ない数のエッジ検出値２１が出力されることとなる。例えば、左上端の処理領域については、その処理領域の位置を左上端とする水平方向３個×垂直方向３個の計９個の処理領域のエッジ検出値２１が出力される。
【００３７】
領域判断部３２０は、処理領域毎に、その処理領域の検出値群３１１に基づいて、当該処理領域が１エッジ領域であるか、特異領域であるか、無エッジ領域（エッジが存在しない領域）であるか、を判断する。そして、領域判断部３２０は、処理領域毎のエッジ検出値３１を出力する。
【００３８】
領域判断部３２０は、１方向のエッジが検出された処理領域については、１エッジ領域であると判断し、検出されたエッジの方向を示す値をエッジ検出値３１として出力する。具体的には、エッジ検出部２０から出力されたエッジ検出値ＥＤ（エッジ検出値２１）＝１〜４の処理領域については、１エッジ領域であると判断され、エッジ検出部２０から出力されたエッジ検出値ＥＤがエッジ検出値３１として出力される。
【００３９】
そして、領域判断部３２０は、１エッジ領域の判断結果に基づいて、１方向のエッジが検出されなかった領域の中から特異領域を検出する。具体的には、エッジが検出されなかった領域と、その周辺の１エッジ領域の位置及び検出されたエッジの方向（エッジ検出値２１）に基づいて、当該エッジが検出されなかった領域が特異領域か否かが判断される。本実施例では、領域判断部３２０は、エッジ検出部２０から出力されたエッジ検出値ＥＤ＝０の処理領域について、図６に示すテンプレートと検出値群３１１を比較し、特異領域であるか無エッジ領域であるかを判断する。図６のテンプレートは、判断対象の処理領域の周囲のエッジ検出値２１と比較する方向（エッジ比較値）を示す。図６において、領域に記載の矢印はエッジ比較値に対応する方向を示す。中心の領域６０１は、判断対象の処理領域に対応し、領域６０１の右に隣接する領域６０２は、判断対象の処理領域の右に隣接する処理領域に対応する。そして、領域６０２のエッジ比較値は、判断対象の処理領域の右に隣接する処理領域のエッジ検出値２１と比較される。同様に、他の領域のエッジ比較値も、その領域に対応する処理領域のエッジ検出値２１と比較される。比較の結果、検出値群３１１に含まれる複数のエッジ検出値２１の中に、エッジ比較値と一致するエッジ検出値２１が２つ以上存在する場合には、領域判断部３２０は、判断対象の処理領域が特異領域であると判断し、エッジ検出値ＥＤ＝５をエッジ検出値３１として出力する。エッジ比較値と一致するエッジ検出値２１の数が２つ未満の場合には、領域判断部３２０は、判断対象の領域が無エッジ領域であると判断し、エッジ検出部２０から出力されたエッジ検出値ＥＤ＝０をエッジ検出値３１として出力する。
なお、特異領域であるか無エッジ領域であるかの判断に用いる閾値は２より大きくても小さくてもよい。
【００４０】
（方向割当部６０）
方向割当部６０の処理について詳しく説明する。
画質向上の観点から、１エッジ領域の画素生成位置に対しては、当該１エッジ領域に存
在するエッジの方向を割り当てることが好ましく、無エッジ領域に対してはエッジの方向を割り当てないことが好ましい。また、特異領域には、特異領域の近くに存在する１エッジ領域で検出されたエッジが含まれている可能性が高い。そして、特異領域に含まれる複数のエッジのうち、特異領域に近い１エッジ領域で検出されたエッジは、特異領域から遠い１エッジ領域で検出されたエッジに比べ、ユーザの注目度が高いと考えられる。
【００４１】
しかしながら、従来の方法では、特異領域に対して、エッジの方向が割り当てられなかったり、近い１エッジ領域で検出されたエッジの方向とは大きく異なる方向が割り当てられたりすることがある。具体的には、特許文献２の技術では、特異領域に存在する複数のエッジのうち、当該特異領域の画素生成位置に最も近いエッジの重みが最大となる。しかしながら、そのようなエッジの方向が、特異領域に近い１エッジ領域で検出されたエッジの方向と一致するとは限らない。そのため、従来の方法では、特異領域に補間画素を生成することによる画質の劣化を十分に低減することができないことがある。
【００４２】
そこで、本実施例では、１方向エッジ領域の画素生成位置に対して、当該１エッジ領域に存在するエッジの方向を割り当てる。また、無エッジ領域の画素生成位置に対しては、エッジの方向を割り当てない。そして、特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向を割り当てる。それにより、特異領域の画素生成位置に対して、ユーザの注目度が高いエッジの方向を割り当てることができ、特異領域に補間画素を生成することによる画質の劣化を十分に低減する（目立たなくする）ことができる。
【００４３】
図７は、方向割当部６０の処理の流れを示すフローチャートである。図８は、方向割当部６０の処理を示す概念図である。上述したように、本実施例では、画素生成位置である対応座標５１を含む処理領域を中心とする水平方向５個×垂直方向５個の計２５個の処理領域のエッジ検出値３１が検出値群４１として読み出される。そして、検出値群４１に基づいて、対応座標５１に対する割当値６１が決定される。図８において、符号ｅ（ｘ２，ｙ２）は位置（ｘ２，ｙ２）の処理領域を示す。ｘ２は、水平方向の位置を示し、上記２５個の処理領域のうち中心の処理領域で０となるように定められている。ｙ２は、垂直方向の位置を示し、上記２５個の処理領域のうち中心の処理領域で０となるように定められている。検出値群４１には、２５個の処理領域ｅ（−２，−２）〜ｅ（２，２）のエッジ検出値３１が含まれる。
【００４４】
まず、対応座標５１を含む処理領域ｅ（０，０）が特異領域であるか否かが判定される（Ｓ６０１）。即ち、処理領域ｅ（０，０）のエッジ検出値ＥＤ（エッジ検出値３１）が５か否かが判定される。処理領域ｅ（０，０）が特異領域であると判定された場合には、Ｓ６０２へ処理が進められる。処理領域ｅ（０，０）が特異領域でないと判定された場合には、Ｓ６０７へ処理が進められる。
【００４５】
Ｓ６０２では、２５個の処理領域ｅ（−２，−２）〜ｅ（２，２）のうち、処理領域ｅ（０，０）以外の処理領域が順に選択される。即ち、２４個の処理領域ｅ（ｘ２，ｙ２）が順番に選択される。ここで、ｘ２とｙ２は、−２以上２以下かつ０でない整数である。
【００４６】
次に、Ｓ６０２で選択された処理領域が、１エッジ領域であるか否かが判定される（Ｓ６０３）。具体的には、選択された処理領域のエッジ検出値ＥＤ（エッジ検出値３１）が、１方向のエッジが存在することを示す値（１以上４以下の値）であるか否かが判定される。選択された処理領域が１エッジ領域であると判定された場合にはＳ６０４へ処理が進められ、選択された処理領域が１エッジ領域でないと判定された場合にはＳ６０５へ処理が進められる。
【００４７】
Ｓ６０４では、特異領域の画素生成位置から１エッジ領域までの距離が算出される。その後、Ｓ６０５に処理が進められる。具体的には、Ｓ６０２で選択された処理領域ｅ（ｘ２，ｙ２）と対応座標５１の最短距離が算出される。図８には、最短距離の算出方法の概念が示されている。図８に示す矢印は最短距離を示す。本実施例では、以下の式３−１〜３−８を用いて、位置（ｘ２，ｙ２）及び対応座標５１の少数部（ｉｘｓ，ｉｙｓ）から、処理領域ｅ（ｘ２，ｙ２）と対応座標５１の最短距離ｅｒ（ｘ２，ｙ２）が算出される。
【００４８】
（ｘ２，ｙ２）＝（−２，−２）、（−１，−２）、（−２，−１）、または、（−１，−１）の場合には、式３−１を用いて距離ｅｒ（ｘ２，ｙ２）が算出される。
【数３】
2015095101.tif 000005
【００４９】
（ｘ２，ｙ２）＝（０，−２）または（０，−１）の場合には、式３−２を用いて距離ｅｒ（ｘ２，ｙ２）が算出される。
ｅｒ（ｘ２，ｙ２）＝−ｙ２−１＋ｉｙｓ  ・・・（式３−２）
【００５０】
（ｘ２，ｙ２）＝（１，−２）、（２，−２）、（１，−１）、（２，−１）の場合には、式３−３を用いて距離ｅｒ（ｘ２，ｙ２）が算出される。
【数４】
2015095101.tif 000006
【００５１】
（ｘ２，ｙ２）＝（−２，０）または（−１，０）の場合には、式３−４を用いて距離ｅｒ（ｘ２，ｙ２）が算出される。
ｅｒ（ｘ２，ｙ２）＝−ｘ２−１＋ｉｘｓ  ・・・（式３−４）
【００５２】
（ｘ２，ｙ２）＝（１，０）または（２，０）の場合には、式３−５を用いて距離ｅｒ（ｘ２，ｙ２）が算出される。
ｅｒ（ｘ２，ｙ２）＝ｘ２−ｉｘｓ  ・・・（式３−５）
【００５３】
（ｘ２，ｙ２）＝（−２，１）、（−１，１）、（−２，２）、または、（−１，２）の場合には、式３−６を用いて距離ｅｒ（ｘ２，ｙ２）が算出される。
【数５】
2015095101.tif 000007
【００５４】
（ｘ２，ｙ２）＝（０，１）または（０，２）の場合には、式３−７を用いて距離ｅｒ（ｘ２，ｙ２）が算出される。
ｅｒ（ｘ２，ｙ２）＝ｙ２−ｉｙｓ  ・・・（式３−７）
【００５５】
（ｘ２，ｙ２）＝（１，１）、（２，１）、（１，２）、または、（２，２）の場合には、式３−８を用いて距離ｅｒ（ｘ２，ｙ２）が算出される。
【数６】
2015095101.tif 000008
【００５６】
Ｓ６０５では、全ての処理領域（２４個の処理領域）が選択されたか否かが判定される。選択されていない処理領域が存在する場合には、Ｓ６０２へ処理が戻され、全ての処理領域が選択されるまでＳ６０２〜Ｓ６０５の処理が繰り返される。全ての処理領域が選択されると、Ｓ６０６へ処理が進められる。
【００５７】
Ｓ６０６では、算出した距離ｅｒに基づいて、特異領域の画素生成位置である対応座標５１に最も近い１エッジ領域が選択される。そして、選択された１エッジ領域に対して検出されたエッジの方向が、対応座標５１に割り当てられる。具体的には、距離ｅｒが算出された複数の処理領域（１エッジ領域）のうち、距離ｅｒが最も小さい処理領域のエッジ検出値ＥＤ（エッジ検出値３１）が、対応座標５１に割り当てられる。換言すれば、距離ｅｒが最も小さい処理領域のエッジ検出値ＥＤが、対応座標５１の割当値６１として設定される。
【００５８】
Ｓ６０７では、対応座標５１を含む処理領域ｅ（０，０）が１エッジ領域であるか否かが判定される。具体的には、処理領域ｅ（０，０）のエッジ検出値ＥＤ（エッジ検出値３１）が、１方向のエッジが存在することを示す値（１以上４以下の値）であるか否かが判定される。処理領域ｅ（０，０）が１エッジ領域であると判定された場合にはＳ６０８へ処理が進められ、処理領域ｅ（０，０）が１エッジ領域でない（無エッジ領域である）と判定された場合にはＳ６０９へ処理が進められる。
【００５９】
Ｓ６０８では、処理領域ｅ（０，０）に対して検出されたエッジの方向が、１エッジ領域の画素生成位置である対応座標５１に割り当てられる。具体的には、処理領域ｅ（０，０）のエッジ検出値ＥＤ（エッジ検出値３１）が、対応座標５１に割り当てられる。換言すれば、処理領域ｅ（０，０）のエッジ検出値ＥＤが、対応座標５１の割当値６１として設定される。ここで、エッジ検出値ＥＤは、１以上４以下の値である。
【００６０】
Ｓ６０９では、処理領域ｅ（０，０）のエッジ検出値ＥＤ（エッジ検出値３１）が、無エッジ領域の画素生成位置である対応座標５１に割り当てられる。換言すれば、処理領域ｅ（０，０）のエッジ検出値ＥＤが、対応座標５１の割当値６１として設定される。ここで、エッジ検出値ＥＤは、エッジが存在しないことを示す値０である。
【００６１】
（補間フィルタ選択部７０）
補間フィルタ選択部７０の処理について詳しく説明する。
上述したように、本実施例では、割当値６１の取り得る値毎に補間フィルタが用意されている。図９（Ａ）〜９（Ｅ）に、割当値６１（エッジ検出値ＥＤ）毎の補間フィルタの一例を示す。補間フィルタ選択部７０は、割当値６１に対応する補間フィルタを選択する。割当値６１であるエッジ検出値ＥＤ＝０の場合には、図９（Ａ）の補間フィルタが選択される。エッジ検出値ＥＤ＝１の場合には、図９（Ｂ）の補間フィルタが選択される。エッジ検出値ＥＤ＝２の場合には、図９（Ｃ）の補間フィルタが選択される。エッジ検出値ＥＤ＝３の場合には、図９（Ｄ）の補間フィルタが選択される。エッジ検出値ＥＤ＝４の場合には、図９（Ｅ）の補間フィルタが選択される。
【００６２】
図９（Ａ）の補間フィルタは、水平方向と垂直方向の重みの分布が互いに等しい一般的な補間フィルタである。図９（Ｂ）の補間フィルタは、水平方向に対して４５度傾いた方
向の重みの分布が最もブロードな補間フィルタである。即ち、図９（Ｂ）の補間フィルタは、画素生成位置から水平方向に対して４５度傾いた方向に存在する画素に対して、画素生成位置から他の方向に存在する画素よりも大きい重みが割り当てられた補間フィルタである。図９（Ｃ）の補間フィルタは、垂直方向の重みの分布が最もブロードな補間フィルタである。図９（Ｄ）の補間フィルタは、水平方向に対して−４５度傾いた方向の重みの分布が最もブロードな補間フィルタである。図９（Ｅ）の補間フィルタは、水平方向の重みの分布が最もブロードな補間フィルタである。
そのため、本実施例では、１エッジ領域の画素生成位置、及び、特異領域の画素生成位置に対しては、当該画素生成位置に割り当てられた方向に存在する画素の画素値の重みが他の画素値の重みよりも大きい補間フィルタが選択される。
【００６３】
（補間部８０）
補間部８０の処理について詳しく説明する。
図１０は、補間部８０の処理を示す概念図である。
補間部８０は、対応座標５１（ｉｘ，ｉｙ）の整数部（ｉｘｉ，ｉｙｉ）を基準座標（０，０）に置き換え、以下の式４を用いた畳み込み演算を行うことにより出力座標５２（ｏｘ，ｏｙ）の画素値ｏｐ（ｏｘ，ｏｙ）を算出する。式４において、ｒｐ（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）は、位置（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）の参照画素の画素値である。ｘ＋ｉｘｓとｙ＋ｉｙｓの少なくとも一方が小数部を含む場合には、位置（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）に入力画像１の画素が存在しないため、ｒｐ（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）＝０が使用される。ｘ＋ｉｘｓとｙ＋ｉｙｓの両方が整数である場合には、位置（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）に入力画像１の画素が存在するため、ｒｐ（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）＝ｉｐ（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）が使用される。ｉｐ（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）は、入力画像１における位置（ｘ＋ｉｘｓ，ｙ＋ｉｙｓ）の画素値である。ｆ（ｘ，ｙ）は、補間フィルタ選択部７０で選択された補間フィルタ７１で示されたフィルタ係数（重み）であり、位置（ｘ，ｙ）に対応するフィルタ係数である。ｉｘｓとｉｙｓは、対応座標５１の少数部である。
【数７】
2015095101.tif 000009
上述したように、本実施例では、１エッジ領域の画素生成位置、及び、特異領域の画素生成位置に対しては、当該画素生成位置に割り当てられた方向に存在する画素の画素値の重みが他の画素値の重みよりも大きい補間フィルタが選択される。そのため、１エッジ領域の画素生成位置に対し、当該画素生成位置の周囲に存在する複数の画素の複数の画素値が、当該画素生成位置に割り当てられた方向に存在する画素の画素値の重みが他の画素値の重みよりも大きい重みで重み付け合成される。特異領域の画素生成位置に対しても、同様に、周囲の画素値が、割り当てられた方向に存在する画素の画素値の重みが他の画素値の重みよりも大きい重みで重み付け合成される。
【００６４】
本実施例に係る画像処理装置の動作の一例を図１１（Ａ）〜１１（Ｄ）に示す。
【００６５】
図１１（Ａ）は、入力画像１の一部分を示す。白丸は白色の画素を示し、黒丸は黒色の画素を示す。白丸と黒丸は、いずれも、入力画像１に存在する画素（オリジナル画素）である。
【００６６】
図１１（Ｂ）は、図１１（Ａ）の入力画像１から得られたエッジ検出部２０の検出結果を示す。図１１（Ｂ）は、水平方向２個×垂直方向２個の計４個のオリジナル画素毎にエッジ（１方向のエッジ）を検出した場合の例を示す。上記４個のオリジナル画素で囲まれた領域（処理領域）に記載された矢印は、その領域に対して検出されたエッジの方向を示
す。矢印が記載されていない処理領域は、エッジが検出されなかった領域である。図１１（Ｂ）に示すように、本実施例では、エッジのコーナー付近の処理領域（特異領域）ではエッジが検出されない。
【００６７】
図１１（Ｃ）は、図１１（Ｂ）の検出結果から得られた領域検出部３０の検出結果を示す。矢印が記載された処理領域は、１エッジ領域として検出された領域であり、網掛けで示された処理領域は、特異領域として検出された領域であり、空白の処理領域は、無エッジ領域として検出された領域である。図１１（Ｃ）の例では、エッジが検出された領域が１エッジ領域として検出される。そして、エッジが検出されなかった複数の処理領域のうち、エッジのコーナー付近の処理領域が特異領域として検出され、残りの処理領域が無エッジ領域として検出される。
【００６８】
図１１（Ｄ）は、図１１（Ｃ）の検出結果から得られた方向割当部６０の割当結果を示す。図１１（Ｄ）に示す矢印は、割り当てられた方向を示す。図１１（Ｄ）には、領域に対して方向が割り当てられているように矢印が図示されているが、実際には画素生成位置（点）に方向が割り当てられる。図１１（Ｄ）に示すように、本実施例では、無エッジ領域の画素生成位置に対して方向は割り当てられない。１エッジ領域の画素生成位置に対しては、検出されたエッジの方向が割り当てられる。そして、特異領域の画素生成位置に対しては、最も近い１エッジ領域で検出されたエッジの方向が割り当てられる。
【００６９】
図１１（Ｄ）に示す割当結果に基づいて補間画素が生成された出力画像８１を図１２に示す。図１２から、本実施例では、特異領域において１エッジ領域と同程度の高い画質が得られることがわかる。具体的には、エッジのコーナー部分において、エッジの他の部分と同程度の高い画質が得られていることがわかる。
【００７０】
以上述べたように、本実施例によれば、１方向エッジ領域の画素生成位置に対して、当該１エッジ領域に存在するエッジの方向が割り当てられる。また、特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向が割り当てられる。そして、１エッジ領域の画素生成位置、及び、特異領域の画素生成位置に対して、当該画素生成位置に割り当てられた方向に基づいて補間画素が生成される。それにより、エッジが存在する部分に補間画素を生成することによる画質の劣化を高精度に抑制することができる。具体的には、領域に存在するエッジの数や方向に依らず、エッジが存在する領域に補間画素を生成することによる画質の劣化を大きく抑制することができる。
【００７１】
なお、本実施例では、４５度単位の８方向のエッジを検出する例を示したが、方向の数は８より多くても少なくてもよい。
また、エッジの検出方法は特に限定されない。例えば、ブロックマッチングを用いてエッジが検出されてもよいし、フィルタリングオペレータを用いてエッジが検出されてもよい。
【００７２】
なお、本実施例では、１６画素または４画素からなる領域を処理領域として用いたが、処理領域はこれに限らない。例えば、処理領域を構成する画素の数は１６個より多くてもよいし、４個より少なくてもよいし、４個と１６個の間の数（６個、９個、１２個など）であってもよい。入力画像１に存在する画素毎にエッジが検出されてもよいし、画素生成位置毎にエッジが検出されてもよい。そして、エッジの検出結果に基づいて、画素生成位置毎に１エッジ領域か特異領域か無エッジ領域かが判断されてもよい。
【００７３】
なお、本実施例では、図６のテンプレートを用いて特異領域を検出する例を説明したが、特異領域の検出方法はこれに限らない。例えば、屈曲部を検出するパターンを用いたパターンマッチングを行うことにより、特異領域が検出されてもよい。また、１つの領域に
対して複数のエッジを検出することができる場合には、１方向のエッジが検出された領域が１エッジ領域として判断され、方向が互いに異なる複数のエッジが検出された領域が特異領域として判断されてもよい。
【００７４】
なお、本実施例では、補間フィルタを用いて補間画素の画素値を決定する例を示したが、補間画素の画素値の決定方法はこれに限らない。例えば、補間フィルタを用いずに、画素生成位置の周囲に存在するオリジナル画素の画素値を用いた演算を行うことにより、補間画素の画素値が決定されてもよい。また、割り当てられた方向に応じて画素値の重みを変更するのではなく、割り当てられた方向に応じて参照画素（補間画素の画素値を決定するために画素値が使用されるオリジナル画素）が変更されてもよい。例えば、割り当てられた方向に存在するオリジナル画素の画素値のみが使用されるように、参照画素が変更されてもよい。
【００７５】
なお、本発明は、画僧サイズを維持して画素ピッチを増加または減少させる解像度変換、画素ピッチを維持して画像サイズを増加または減少させるサイズ変換、及び、解像度変換とサイズ変換の両方を行う画像変換に適用することができる。また、それらの画像処理に限らず、補間画素を生成する画像処理であれば、どのような画像処理に対しても本発明を適用することができる。
【００７６】
＜実施例２＞
以下、本発明の実施例２に係る画像処理装置及びその制御方法について説明する。実施例１では、特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向に基づいて補間画素を生成する例を説明した。本実施例では、特異領域の画素生成位置に対して、当該画素生成位置に最も近い１エッジ領域に存在するエッジの方向と略等しい方向に基づいて補間画素を生成する例を説明する。
なお、以下では、実施例１と異なる点について詳しく説明し、実施例１と同じ構成や処理については説明を省略する。
【００７７】
本実施例に係る画像処理装置は、実施例１に係る画像処理装置と同様の構成を有する。
方向割当部６０は、１エッジ領域の画素生成位置と無エッジ領域の画素生成位置の割当値６１を、実施例１と同様に決定する。本実施例では、方向割当部６０は、特異領域の画素生成位置に対し、エッジの取り得る複数の方向（全ての方向）を割り当てる。具体的には、特異領域の画素生成位置の割当値６１として、エッジ検出値ＥＤ＝０〜４が設定される。また、方向割当部６０は、特異領域の画素生成位置に対して設定された割当値（エッジ検出値）毎に重みを設定する。具体的には、方向割当部６０は、エッジの取り得る複数の方向のそれぞれについて、特異領域の画素生成位置と、当該画素生成位置に最も近い１エッジ領域との間の距離が短いほど大きい重みを設定する。図１３に、特異領域の画素生成位置に対して設定された情報を示す。図１３の例では、この構成では、特異領域の画素生成位置に対して、エッジ検出値ＥＤ＝０〜４が設定されている。また、ＥＤ＝０〜２の重みとして０％が設定されており、ＥＤ＝３の重みとして７５％が設定されており、ＥＤ＝４の重みとして２５％が設定されている。
【００７８】
図１４は、方向割当部６０の処理の流れを示すフローチャートである。図１５（Ａ）〜１５（Ｃ）は、方向割当部６０の処理を示す概念図である。
Ｓ２６０１〜Ｓ２６０５の処理は、図７のＳ６０１〜Ｓ６０５の処理と同じである。また、Ｓ２６０７〜Ｓ２６０９の処理は、図７のＳ６０７〜Ｓ６０９の処理と同じである。
【００７９】
Ｓ２６０５において全ての処理領域が選択されたと判定されると、Ｓ２６０６に処理が進められる。
Ｓ２６０６では、処理領域毎の距離ｅｒに基づいて、画素生成位置である対応座標５１
を含む処理領域ｅ（０，０）の周囲の２４個の処理領域ｅ（ｘ２，ｙ２）の中から、第１領域と第２領域が選択される。第１領域は、距離ｅｒが最も短い処理領域である。第２領域は、第１領域に含まれるエッジと異なる方向のエッジが含まれる処理領域のうち、距離ｅｒが最も短い処理領域である。
【００８０】
例えば、エッジ検出部２０によって図１５（Ａ）のような検出結果が得られた場合には、図１５（Ｂ）に示すような１エッジ領域毎の距離ｅｒが算出される。図１５（Ａ）において、網掛けで示された領域は対応座標５１を含む処理領域であり、矢印が記載された領域はエッジが検出された領域（１エッジ領域）である。そして、矢印は検出されたエッジの方向を示す。図１５（Ｂ）において、１エッジ領域に記載された数値は距離ｅｒである。
図１５（Ｂ）の算出結果から、エッジの取り得る方向毎に、対応座標５１から対応座標５１に最も近い１エッジ領域までの距離ｅｒが判断される。図１５（Ｂ）の算出結果が得られた場合には、図１５（Ｃ）に示す判断結果が得られる。具体的には、水平方向に対して４５度傾いた方向（エッジ検出値ＥＤ＝１の方向）については、距離ｅｒ＝１．４６と判断される。垂直方向（エッジ検出値ＥＤ＝２の方向）については、そのような方向のエッジを含む１エッジ領域が存在しないため、距離ｅｒは得られない。水平方向に対して−４５度傾いた方向（エッジ検出値ＥＤ＝３の方向）については、距離ｅｒ＝０．７５と判断される。水平方向（エッジ検出値ＥＤ＝４の方向）については、距離ｅｒ＝１．２５と判断される。
その結果、距離ｅｒが最も小さい処理領域（距離ｅｒ＝０．７５の１エッジ領域）が第１領域として選択され、距離ｅｒが２番目に小さい処理領域（距離ｅｒ＝１．２５の１エッジ領域）が第２領域として選択される。即ち、エッジ検出値ＥＤ＝３の処理領域が第１領域として選択され、エッジ検出値ＥＤ＝４の処理領域が第２領域として選択される。
【００８１】
次に、第１領域に含まれるエッジの方向（第１方向）と、第２領域に含まれるエッジの方向（第２方向）との重みが算出され、設定される（Ｓ２６１０）。第１方向と第２方向以外の方向については、重みは算出されない。換言すれば、第１方向と第２方向以外の方向については、重みとして０が設定される。このとき、エッジの取り得る全ての方向が対応座標５１に割り当てられる。本実施例では、以下の式５−１，５−２を用いて、第１方向の重みＥＲ１、及び、第２方向の重みＥＲ２が算出される。式５−１，５−２において、Ｌ１は、対応座標５１から第１領域までの距離であり、Ｌ２は、対応座標５１から第２領域までの距離である。ＥＡは、特異領域に補間画素を生成することによるエッジのぼやけ度合い示す定数であり、定数ＥＡが小さいほどぼやけ度合いは小さい。定数ＥＡは、メーカによって予め定められた値であってもよいし、そうでなくてもよい。例えば、定数ＥＡは、ユーザによって変更可能な値であってもよいし、入力画像の種類、画像処理装置の使用環境、補間画素を生成する処理の内容に基づいて自動設定される値であってもよい。画質向上の観点から、定数ＥＲの値として０．２〜４．０程度の値を使用することが好ましい。
Ｌ２−Ｌ１＜ＥＡ／２の場合：
ＥＲ１＝０．５＋（Ｌ２−Ｌ１）／ＥＡ
ＥＲ２＝０．５−（Ｌ２−Ｌ１）／ＥＡ
・・・（式５−１）
Ｌ２−Ｌ１≧ＥＡ／２の場合
ＥＲ１＝１
ＥＲ２＝０
・・・（式５−２）
例えば、定数ＥＡ＝２．０を用いた場合、図１５に示す結果から図１３に示す結果が得られる。具体的には、割当値６１（エッジ検出値ＥＤ）＝０〜２の重みとして０％が得られ、割当値６１＝３の重みとして７５％が得られ、割当値６１＝４の重みとして２５％が得られる。
【００８２】
補間フィルタ選択部７０は、１エッジ領域の画素生成位置と無エッジ領域の画素生成位置について、実施例１と同様に補間フィルタ７１を選択して出力する。本実施例では、補間フィルタ選択部７０は、特異領域の画素生成位置について、エッジの取り得る複数の方向を方向割当部６０で決定された重みで重み付け合成した方向に基づく補間フィルタ７１を出力する。具体的には、以下の式６を用いて補間フィルタ７１のフィルタ係数ｆ（ｘ，ｙ）が算出され、出力される。フィルタ係数ｆ（ｘ，ｙ）は、位置（ｘ，ｙ）のフィルタ係数である。式６において、Ｒｎは、割当値６１＝ｎに対して設定された重みである。本実施例では、ｎは１〜４の整数である。ｆｎ（ｘ，ｙ）は、割当値６１＝ｎ及び位置（ｘ，ｙ）に対応するフィルタ係数であり、予め用意されたフィルタ係数である。
【数８】
2015095101.tif 000010
このような処理が行われることにより、特異領域の画素生成位置と、当該画素生成位置に最も近い１エッジ領域との間の距離が短いほど大きい重みで複数の方向を重み付け合成した方向に基づいて、当該画素生成位置に対して補間画素が生成される。
【００８３】
以上述べたように、本実施例によれば、エッジの取り得る全ての方向を考慮して補間画素が生成される（第１の構成）。また、特異領域の画素生成位置と、当該画素生成位置に最も近い１エッジ領域との間の距離が短いほど大きい重みで複数の方向を重み付け合成した方向に基づいて、当該画素生成位置に対して補間画素が生成される（第２の構成）。
それにより、エッジが存在する部分に補間画素を生成することによる画質の劣化を、実施例１よりも高精度に抑制することができる。
具体的には、第１の構成により、特異領域に存在する複数のエッジについて、補間画素を生成することによる画質の劣化を抑制することができる。
また、第２の構成により、ユーザが注目する可能性が高いエッジの画質の劣化が、ユーザが注目する可能性が低いエッジの画質の劣化よりも抑制されるように、特異領域に補間画素を生成することができる。
【００８４】
なお、本実施例では、特異領域の画素生成位置に対してエッジの取り得る全ての方向を割り当てる例を説明したが、割当方向はこれに限らない。例えば、特異領域の画素生成位置に対して、エッジの取り得る複数の方向を重み付け合成した方向が割り当てられてもよい。その場合には、予め用意された補間フィルタを重み付け合成した方向に基づいて補正することにより、重み付け合成した方向に対応する補間フィルタが生成されてもよい。
【００８５】
なお、本実施例では、重み付け合成された方向に対応する補間フィルタが予め用意されていない場合の例を説明したが、そのような補間フィルタが予め用意されていてもよい。重み付け合成された方向に対応する補間フィルタが予め用意されている場合には、予め用意された複数の補間フィルタの中から、重み付け合成された方向に対応する補間フィルタが選択されてもよい。
【００８６】
＜実施例３＞
以下、本発明の実施例３に係る画像処理装置及びその制御方法について説明する。実施例１では、式３−１〜３−８を用いて、特異領域の画素生成位置から１エッジ領域までの
最短距離を算出する例を説明した。本実施例では、特異領域の画素生成位置から１エッジ領域の中心位置までの距離を算出する例を説明する。
なお、以下では、実施例１と異なる点について詳しく説明し、実施例１と同じ構成や処理については説明を省略する。
【００８７】
本実施例に係る画像処理装置は、実施例１に係る画像処理装置と同様の構成を有する。
本実施例では、図７のＳ６０４において、特異領域の画素生成位置から１エッジ領域の中心位置までの距離が算出される。具体的には、以下の式７を用いて、Ｓ６０２で選択された処理領域ｅ（ｘ２，ｙ２）の中心位置と、対応座標５１との間の距離ｅｒ（ｘ２，ｙ２）が算出される。
【数９】
2015095101.tif 000011
画質向上の観点から、画像の解像度やサイズの変換率が大きい場合には実施例１に示す方法で距離ｅｒを算出するのが好ましい。しかし、解像度やサイズの変換率が小さい場合には、特異領域の画素生成位置から１エッジ領域の中心位置までの距離を用いても、十分な画質を得ることができる。例えば、画像の拡大率が３倍以下の場合には、特異領域の画素生成位置から１エッジ領域の中心位置までの距離を用いても、十分な画質を得ることができる。
【００８８】
以上述べたように、本実施例によれば、特異領域の画素生成位置から１エッジ領域の中心位置までの距離が算出される。それにより、実施例１よりも少ない演算量で、特異領域の画素生成位置から１エッジ領域までの距離を算出することができる。具体的には、本実施例では、実施例１のように複数の式を切り替えて使用する必要はなく、１つの式を用いて距離ｅｒを算出することができる。
なお、本実施例の構成は、実施例２の構成にも適用することができる。
【００８９】
＜その他の実施例＞
記憶装置に記録されたプログラムを読み込み実行することで前述した実施例の機能を実現するシステムや装置のコンピュータ（又はＣＰＵ、ＭＰＵ等のデバイス）によっても、本発明を実施することができる。また、例えば、記憶装置に記録されたプログラムを読み込み実行することで前述した実施例の機能を実現するシステムや装置のコンピュータによって実行されるステップからなる方法によっても、本発明を実施することができる。この目的のために、上記プログラムは、例えば、ネットワークを通じて、又は、上記記憶装置となり得る様々なタイプの記録媒体（つまり、非一時的にデータを保持するコンピュータ読取可能な記録媒体）から、上記コンピュータに提供される。したがって、上記コンピュータ（ＣＰＵ、ＭＰＵ等のデバイスを含む）、上記方法、上記プログラム（プログラムコード、プログラムプロダクトを含む）、上記プログラムを非一時的に保持するコンピュータ読取可能な記録媒体は、いずれも本発明の範疇に含まれる。
【符号の説明】
【００９０】
２０  エッジ検出部
３０  領域検出部
６０  方向割当部
７０  補間フィルタ選択部
８０  補間部
【図１】
2015095101.tif 000012
【図２】
2015095101.tif 000013
【図３】
2015095101.tif 000014
【図４】
2015095101.tif 000015
【図５】
2015095101.tif 000016
【図６】
2015095101.tif 000017
【図７】
2015095101.tif 000018
【図８】
2015095101.tif 000019
【図９】
2015095101.tif 000020
【図１０】
2015095101.tif 000021
【図１１】
2015095101.tif 000022
【図１２】
2015095101.tif 000023
【図１３】
2015095101.tif 000024
【図１４】
2015095101.tif 000025
【図１５】
2015095101.tif 000026