(57)【要約】【課題】  エッジの方向を正確に認識し、正確に画像を補間する。【解決手段】  方向判別部１２３が注目画素のエッジの方向を認識し、注目画素の位置と共に信頼度格付部１２４、および方向性分布生成部１２５に出力する。方向補間部１３１が、注目画素を方向補間する。信頼度格付部１２４は、方向補間部１３１により補間された補間画素が適正であるか否かを判定し、信頼度を格付し方向性分布生成部１２５に出力する。方向性分布生成部１２５は、方向の情報と信頼度の情報に基づいて方向性分布を生成する。傾き選択部１２６は、方向性分布生成部１２５からの方向性分布に基づいてエッジの方向を認識する。本発明は、画像解像度変換装置に適用することができる。【選択図】  図２
2006155179.tif 000002
【特許請求の範囲】
【請求項１】
原画像の空間解像度を垂直方向と水平方向のいずれか一方、または、その両方向をそれぞれＺ倍（Ｚは実数）することにより変換する画像処理装置において、
統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みを設定する斜重み付け設定手段と、
前記斜重み付け設定手段により設定された前記統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と前記統計斜補間画素とを合成して合成補間画素を前記注目画素位置の画素として生成する合成補間手段と、
前記注目画素位置のエッジの強度を定量的に評価する情報を生成するエッジ強度情報生成手段と、
前記注目画素位置のテクスチャの強度を定量的に評価する情報を生成するテクスチャ強度情報生成手段と、
前記テクスチャ強度情報生成手段により生成されたテクスチャの強度情報に基づいて、前記注目画素位置の合成補間画素と、前記注目画素にテクスチャフィルタを掛けることにより生成される前記テクスチャ画素とを合成してテクスチャミックス画素を生成するテクスチャ適応混合手段と、
前記エッジ強度情報生成手段により生成されたエッジの強度情報に基づいて、前記注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、前記エッジ画素とを合成してエッジミックス画素を前記注目画素位置の画素として生成するエッジ適応混合手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記注目画素位置を含む、前記注目画素位置に対応する複数の画素の傾き方向性分布と、前記信頼度に基づいて、最も信頼度の高い前記注目画素位置の傾きを選択する傾き選択手段と、
前記傾き選択手段により選択された傾きに基づいて、前記注目画素位置の統計斜補間画素を補間して生成する統計斜補間手段をさらに備え、
前記斜め重み付け設定手段は、前記統計斜補間手段により補間されて生成された、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みを設定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記その他の補間は、前記注目画素位置の上下、または、左右の画素を用いた補間により前記注目画素位置の補間画素を補間して生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記エッジの有無に基づいて、注目画素位置を含む、前記注目画素位置に対応する複数の画素位置のエッジの方向を判別する方向判別手段と、
前記方向判別手段により判別された前記注目画素に対応する複数の画素位置の前記エッジの方向に基づいて、前記注目画素位置に対応する複数の画素位置のエッジ方向補間画素を補間して生成するエッジ方向補間手段とをさらに備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記エッジ方向補間手段により補間されて生成されたエッジ方向補間画素の信頼度を格付けする信頼度格付け手段をさらに備え、
前記エッジ強度情報生成手段は、前記信頼度格付け手段により格付けされた信頼度に基づいて、前記注目画素位置のエッジの強度を定量的に評価する情報を生成し、
前記テクスチャ強度情報生成手段は、前記信頼度格付け手段により格付けされた信頼度に基づいて、前記注目画素位置のテクスチャの強度を定量的に評価する情報を生成する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記信頼度格付け手段は、前記エッジ方向補間手段により補間されたエッジ方向補間画素の局所的構造の整合性を判定し、前記整合性の判定結果に基づいて、前記エッジ方向補間手段により補間されたエッジ方向補間画素の信頼度を格付けする
ことを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記合成補間手段は、前記斜め重み付け設定手段により設定された前記重みに対応する係数を用いて、前記その他の補間により生成された前記補間画素と前記傾き統計傾斜補手段により生成された前記統計傾斜補間画素の線形和をとることにより合成して合成補間画素を前記注目画素として生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
原画像の空間解像度を垂直方向と水平方向のいずれか一方、または、その両方向をそれぞれＺ倍（Ｚは実数）することにより変換する画像処理装置の画像処理方法において、
統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みを設定する斜重み付け設定ステップと、
前記斜重み付け設定ステップの処理により設定された前記統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と前記統計斜補間画素とを合成して合成補間画素を前記注目画素位置の画素として生成する合成補間ステップと、
前記注目画素位置のエッジの強度を定量的に評価する情報を生成するエッジ強度情報生成ステップと、
前記注目画素位置のテクスチャの強度を定量的に評価する情報を生成するテクスチャ強度情報生成ステップと、
前記テクスチャ強度情報生成ステップの処理により生成されたテクスチャの強度情報に基づいて、前記注目画素位置の合成補間画素と、前記注目画素にテクスチャフィルタを掛けることにより生成される前記テクスチャ画素とを合成してテクスチャミックス画素を生成するテクスチャ適応混合ステップと、
前記エッジ強度情報生成ステップの処理により生成されたエッジの強度情報に基づいて、前記注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、前記エッジ画素とを合成してエッジミックス画素を前記注目画素位置の画素として生成するエッジ適応混合ステップと
を含むことを特徴とする画像処理方法。
【請求項９】
原画像の空間解像度を垂直方向と水平方向のいずれか一方、または、その両方向をそれぞれＺ倍（Ｚは実数）することにより変換する画像処理装置を制御するコンピュータのプログラムであって、
統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みの設定を制御する斜重み付け設定制御ステップと、
前記斜重み付け設定制御ステップの処理により設定された前記統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と前記統計斜補間画素とを合成して合成補間画素の前記注目画素位置の画素としての生成を制御する合成補間制御ステップと、
前記注目画素位置のエッジの強度を定量的に評価する情報の生成を制御するエッジ強度情報生成制御ステップと、
前記注目画素位置のテクスチャの強度を定量的に評価する情報の生成を制御するテクスチャ強度情報生成制御ステップと、
前記テクスチャ強度情報生成制御ステップの処理により生成されたテクスチャの強度情報に基づいて、前記注目画素位置の合成補間画素と、前記注目画素にテクスチャフィルタを掛けることにより生成される前記テクスチャ画素との合成によるテクスチャミックス画素の生成を制御するテクスチャ適応混合制御ステップと、
前記エッジ強度情報生成制御ステップの処理により生成されたエッジの強度情報に基づいて、前記注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、前記エッジ画素との合成によるエッジミックス画素の前記注目画素位置の画素としての生成を制御するエッジ適応混合制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１０】
原画像の空間解像度を垂直方向と水平方向のいずれか一方、または、その両方向をそれぞれＺ倍（Ｚは実数）することにより変換する画像処理装置を制御するコンピュータに実行させるプログラムであって、
統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みの設定を制御する斜重み付け設定制御ステップと、
前記斜重み付け設定制御ステップの処理により設定された前記統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と前記統計斜補間画素とを合成して合成補間画素の前記注目画素位置の画素としての生成を制御する合成補間制御ステップと、
前記注目画素位置のエッジの強度を定量的に評価する情報の生成を制御するエッジ強度情報生成制御ステップと、
前記注目画素位置のテクスチャの強度を定量的に評価する情報の生成を制御するテクスチャ強度情報生成制御ステップと、
前記テクスチャ強度情報生成制御ステップの処理により生成されたテクスチャの強度情報に基づいて、前記注目画素位置の合成補間画素と、前記注目画素にテクスチャフィルタを掛けることにより生成される前記テクスチャ画素との合成によるテクスチャミックス画素の生成を制御するテクスチャ適応混合制御ステップと、
前記エッジ強度情報生成制御ステップの処理により生成されたエッジの強度情報に基づいて、前記注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、前記エッジ画素との合成によるエッジミックス画素の前記注目画素位置の画素としての生成を制御するエッジ適応混合制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、静止画および動画像など様々な画像に適用でき、人間の視覚特性に合わせた手法により鮮明で自然なエッジとテクスチャを再描画し、高画質な高解像度画像を得ることができるようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
デジタル画像に基づく機器(デジタルカメラやカメラ一体型ビデオテープレコーダなど)の使用機会が多くなるにつれ、いわゆるデジタルズーム処理の必要性が高まってきた。それに伴い、デジタル画像の解像度を上げるための様々な方法が開発されてきた。従来の主な手法として、以下の３つの手法が存在する。第１の手法は、最近隣画素をそのまま用いた補間方法(0次補間(zero-order-hold interpolation))であり、特にハードウェアの観点からみて簡単な補間法である。第２の手法は、最近隣２画素の平均値を計算し、垂直方向と水平方向に新しい画素を挿入する双線形補間方法(bilinear interpolation)であり、隣接画素の補間にはかなり良い手法だと考えられている。第３の手法は、ノイズにも強く、モザイクパターンが出現しない、B-スプライン(B-spline)補間法である。
【０００３】
また、エッジを強調できるようにして、インタレース画面をプログレッシブ画面に変換するものがある（例えば、特許文献１参照）。
【特許文献１】特開２００２−２１５１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、第１の方法は、特に高倍率で効果が少なく、拡大された画像には、有名な「モザイクパターン」というノイズが出てしまう。そして、エッジが大幅に破壊され、非常に目障りなジャギーが出現してしまう。第２の方法は、画像全体がぼやけてしまうという欠点があり、画像の解像度は改善されない。加えて、高倍率の際にモザイク現象がたくさん出てしまう。第３の方法は、画像はかなりぼやけてしまい、それにもかかわらず相対的に見るとハードウェアは複雑になってしまう。
【０００５】
また、上述の課題を解決すべく、特願２００１−２０１７２９にて注目画素に隣接する上下のライン上、または、左右の列に存在する画素のうち、注目画素を通る対角線上のいずれかの方向に跨る画素から注目画素を補間することにより、画像中のエッジを強調できるように画像を拡大するものが提案されている。しかしながら、画素を補間するにあたり、補間画素とその上下、または、左右に隣接する画素との相関を求めて、その相関性が認められないときは、上下、または、左右の画素間で線形補完するようにしていたため、必ずしも正しい補間画素を生成することができず、例えば、注目画素に対して斜方向に隣接する画素間で補間すべき画素を使用できないことがあり、結果として、鮮明な拡大画像を生成することができないと言う課題があった。
【０００６】
そこで、斜め方向にエッジが存在する場合に対応すべく、注目画素近傍の複数の画素における、エッジの方向を検出すると共に、それらの信頼度を求めて、その信頼度の度数に基づいて、エッジの方向を決定し、補間する方法が提案されている。しかしながら、度数に基づいて、エッジの方向を決定しているため、信頼度の度数が空間的にばらついていた場合にでも、その度数に基づいて、エッジの方向が決定されてしまうので、必ずしも正しいエッジの方向を検出することができず、正しく画素を補間して生成することができないと言う課題があった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、少ない計算処理量で、効果的かつ簡単に、コンピュータグラフィックスから写真までの範囲に及ぶ様々なタイプの静止画および動画像の解像度の変更にあたり発生する画像のエラーを抑制することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の画像処理装置は、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みを設定する斜重み付け設定手段と、斜重み付け設定手段により設定された統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と統計斜補間画素とを合成して合成補間画素を注目画素位置の画素として生成する合成補間手段と、注目画素位置のエッジの強度を定量的に評価する情報を生成するエッジ強度情報生成手段と、注目画素位置のテクスチャの強度を定量的に評価する情報を生成するテクスチャ強度情報生成手段と、テクスチャ強度情報生成手段により生成されたテクスチャの強度情報に基づいて、注目画素位置の合成補間画素と、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャ画素とを合成してテクスチャミックス画素を生成するテクスチャ適応混合手段と、エッジ強度情報生成手段により生成されたエッジの強度情報に基づいて、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、エッジ画素とを合成してエッジミックス画素を注目画素位置の画素として生成するエッジ適応混合手段とを備えることを特徴とする。
【０００９】
前記注目画素位置を含む、注目画素位置に対応する複数の画素の傾き方向性分布と、信頼度に基づいて、最も信頼度の高い注目画素位置の傾きを選択する傾き選択手段と、傾き選択手段により選択された傾きに基づいて、注目画素位置の統計斜補間画素を補間して生成する統計斜補間手段をさらに設けるようにさせることができ、斜め重み付け設定手段には、統計斜補間手段により補間されて生成された、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みを設定させるようにすることができる。
【００１０】
前記その他の補間は、注目画素位置の上下、または、左右の画素を用いた補間により注目画素位置の補間画素を補間して生成するようにすることができる。
【００１１】
前記エッジの有無に基づいて、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向を判別する方向判別手段と、方向判別手段により判別された注目画素に対応する複数の画素位置のエッジの方向に基づいて、注目画素位置に対応する複数の画素位置のエッジ方向補間画素を補間して生成するエッジ方向補間手段とをさらに設けるようにさせることができる。
【００１２】
前記エッジ方向補間手段により補間されて生成されたエッジ方向補間画素の信頼度を格付けする信頼度格付け手段をさらに設けるようにさせることができ、エッジ強度情報生成手段には、信頼度格付け手段により格付けされた信頼度に基づいて、注目画素位置のエッジの強度を定量的に評価する情報を生成させるようにすることができ、テクスチャ強度情報生成手段には、信頼度格付け手段により格付けされた信頼度に基づいて、注目画素位置のテクスチャの強度を定量的に評価する情報を生成させるようにすることができる。
【００１３】
前記信頼度格付け手段には、エッジ方向補間手段により補間されたエッジ方向補間画素の局所的構造の整合性を判定し、整合性の判定結果に基づいて、エッジ方向補間手段により補間されたエッジ方向補間画素の信頼度を格付けするようにさせることができる。
【００１４】
前記合成補間手段には、斜め重み付け設定手段により設定された重みに対応する係数を用いて、その他の補間により生成された補間画素と傾き統計傾斜補手段により生成された統計傾斜補間画素の線形和をとることにより合成して合成補間画素を注目画素として生成させるようにすることができる。
【００１５】
本発明の画像処理方法は、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みを設定する斜重み付け設定ステップと、斜重み付け設定ステップの処理により設定された統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と統計斜補間画素とを合成して合成補間画素を注目画素位置の画素として生成する合成補間ステップと、注目画素位置のエッジの強度を定量的に評価する情報を生成するエッジ強度情報生成ステップと、注目画素位置のテクスチャの強度を定量的に評価する情報を生成するテクスチャ強度情報生成ステップと、テクスチャ強度情報生成ステップの処理により生成されたテクスチャの強度情報に基づいて、注目画素位置の合成補間画素と、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャ画素とを合成してテクスチャミックス画素を生成するテクスチャ適応混合ステップと、エッジ強度情報生成ステップの処理により生成されたエッジの強度情報に基づいて、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、エッジ画素とを合成してエッジミックス画素を注目画素位置の画素として生成するエッジ適応混合ステップとを含むことを特徴とする。
【００１６】
本発明の記録媒体のプログラムは、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みの設定を制御する斜重み付け設定制御ステップと、斜重み付け設定制御ステップの処理により設定された統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と統計斜補間画素とを合成して合成補間画素の注目画素位置の画素としての生成を制御する合成補間制御ステップと、注目画素位置のエッジの強度を定量的に評価する情報の生成を制御するエッジ強度情報生成制御ステップと、注目画素位置のテクスチャの強度を定量的に評価する情報の生成を制御するテクスチャ強度情報生成制御ステップと、テクスチャ強度情報生成制御ステップの処理により生成されたテクスチャの強度情報に基づいて、注目画素位置の合成補間画素と、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャ画素との合成によるテクスチャミックス画素の生成を制御するテクスチャ適応混合制御ステップと、エッジ強度情報生成制御ステップの処理により生成されたエッジの強度情報に基づいて、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、エッジ画素との合成によるエッジミックス画素の注目画素位置の画素としての生成を制御するエッジ適応混合制御ステップとを含むことを特徴とする。
【００１７】
本発明のプログラムは、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みの設定を制御する斜重み付け設定制御ステップと、斜重み付け設定制御ステップの処理により設定された統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と統計斜補間画素とを合成して合成補間画素の注目画素位置の画素としての生成を制御する合成補間制御ステップと、注目画素位置のエッジの強度を定量的に評価する情報の生成を制御するエッジ強度情報生成制御ステップと、注目画素位置のテクスチャの強度を定量的に評価する情報の生成を制御するテクスチャ強度情報生成制御ステップと、テクスチャ強度情報生成制御ステップの処理により生成されたテクスチャの強度情報に基づいて、注目画素位置の合成補間画素と、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャ画素との合成によるテクスチャミックス画素の生成を制御するテクスチャ適応混合制御ステップと、エッジ強度情報生成制御ステップの処理により生成されたエッジの強度情報に基づいて、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、エッジ画素との合成によるエッジミックス画素の注目画素位置の画素としての生成を制御するエッジ適応混合制御ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００１８】
本発明の画像処理装置および方法、並びにプログラムにおいては、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みが設定され、設定された統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と統計斜補間画素とが合成されて合成補間画素が注目画素位置の画素として生成され、注目画素位置のエッジの強度を定量的に評価する情報が生成され、注目画素位置のテクスチャの強度を定量的に評価する情報が生成され、生成されたテクスチャの強度情報に基づいて、注目画素位置の合成補間画素と、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャ画素とが合成されてテクスチャミックス画素が生成され、生成されたエッジの強度情報に基づいて、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、エッジ画素とが合成されてエッジミックス画素が注目画素位置の画素として生成される。
【００１９】
本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。
【発明の効果】
【００２０】
本発明によれば、補間する画素のエッジの方向を正確に把握することができ、より正確な補間画素を生成することが可能となることに加え、エッジとテクスチャの精密な分離を行うこともでき、より適切な適応強調処理を施すことが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２２】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２３】
即ち、本発明の画像処理装置は、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みを設定する斜重み付け設定手段（例えば、図２の斜重み付け部１２９）と、斜重み付け設定手段により設定された統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と統計斜補間画素とを合成して合成補間画素を注目画素位置の画素として生成する合成補間手段（例えば、図２の合成部１３０）と、注目画素位置のエッジの強度を定量的に評価する情報を生成するエッジ強度情報生成手段（例えば、図２のエッジ強度情報生成部１３２）と、注目画素位置のテクスチャの強度を定量的に評価する情報を生成するテクスチャ強度情報生成手段（例えば、図２のテクスチャ強度情報生成部１３３）と、テクスチャ強度情報生成手段により生成されたテクスチャの強度情報に基づいて、注目画素位置の合成補間画素と、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャ画素とを合成してテクスチャミックス画素を生成するテクスチャ適応混合手段（例えば、図３のテクスチャ適応混合処理部１９６）と、エッジ強度情報生成手段により生成されたエッジの強度情報に基づいて、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、エッジ画素とを合成してエッジミックス画素を注目画素位置の画素として生成するエッジ適応混合手段（例えば、図３のエッジ適応混合処理部１９７）とを備えることを特徴とする。
【００２４】
本発明の画像処理方法は、統計的に注目画素位置の最も信頼度の高い傾きに基づいて、補間生成される統計斜補間画素の重みを設定する斜重み付け設定ステップ（例えば、図６のフローチャートにおけるステップＳ６７の処理）と、斜重み付け設定ステップの処理により設定された統計斜補間画素の重みに基づいて、その他の補間により生成されたその他の補間画素と統計斜補間画素とを合成して合成補間画素を注目画素位置の画素として生成する合成補間ステップ（例えば、図６のフローチャートにおけるステップＳ６８の処理）と、注目画素位置のエッジの強度を定量的に評価する情報を生成するエッジ強度情報生成ステップ（例えば、図６のフローチャートにおけるステップＳ６３の処理）と、注目画素位置のテクスチャの強度を定量的に評価する情報を生成するテクスチャ強度情報生成ステップ（例えば、図６のフローチャートにおけるステップＳ６４の処理）と、テクスチャ強度情報生成ステップの処理により生成されたテクスチャの強度情報に基づいて、注目画素位置の合成補間画素と、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャ画素とを合成してテクスチャミックス画素を生成するテクスチャ適応混合ステップ（例えば、図２７のフローチャートにおけるステップＳ２４７の処理）と、エッジ強度情報生成ステップの処理により生成されたエッジの強度情報に基づいて、注目画素にテクスチャフィルタを掛けることにより生成されるテクスチャミックス画素と、エッジ画素とを合成してエッジミックス画素を注目画素位置の画素として生成するエッジ適応混合ステップ（例えば、図２７のフローチャートにおけるステップＳ２４８の処理）とを含むことを特徴とする。
【００２５】
尚、記録媒体、および、プログラムについては、画像処理方法と同様であるので、その説明は省略する。
【００２６】
図１は、本発明を適用した画像処理装置の一実施の形態の構成を表している。この画像処理装置２においては、画像入力部１が処理対象とされる画像データを、記録媒体から読み取ったり、ネットワークを介して伝送されてくるものを受信して入力し、画像処理部２に出力する。画像処理部２は、画像入力部１より入力された画像の解像度を変更し（拡大または縮小し）、画像出力部３に出力する。画像出力部３は、画像処理部２より供給された画像データを表示部に表示させたり、記録媒体に記録するか、あるいは、伝送媒体を介して、他の装置に伝送する。
【００２７】
画像処理部２の垂直アップサンプリング処理部１１と垂直縮小処理部１３は、それぞれ原画像の解像度を従来の手法（例えば、線形拡大または線形縮小など）垂直方向にＺ倍（Ｚは実数）する処理を行う。垂直縮小処理部１３は、Ｚの値が０より大きく１より小さい場合（０＜Ｚ＜１）の処理を行い、垂直アップサンプリング処理部１１は、Ｚの値が２である場合（Ｚ＝２）の処理を行う。
【００２８】
水平アップサンプリング処理部１２と水平縮小処理部１４は、それぞれ原画像の解像度を水平方向にＺ倍する処理を行う。水平縮小処理部１４は、Ｚの値が０より大きく１より小さい場合（０＜Ｚ＜１）の処理を行い、水平アップサンプリング処理部１２は、Ｚの値が２である場合の処理（Ｚ＝２）を行う。
【００２９】
1次元垂直イメージリフレッシュ処理部１７と1次元水平イメージリフレッシュ処理部１８は、バッファ１７ａ，１８ａを適宜利用しながら、それぞれ垂直方向または水平方向に画像データを１次元のフィルタで処理し、エッジとテクスチャを視覚的に違和感なく強調する。すなわち、記録媒体に画像データが記録される場合、記録媒体の物理的な影響により高域成分が抑制されて、画像中のエッジ部分とテクスチャ部分がぼけてしまうといった現象が生じることがあるので、1次元垂直イメージリフレッシュ処理部１７と1次元水平イメージリフレッシュ処理部１８は、各画素の中心画素エネルギを求めて、対応するフィルタ処理を行うと共に、中心画素エネルギの値からその画素がエッジ、または、テクスチャのいずれに属しているかを判別し、エッジの場合については、さらに、フィルタ処理により生じてしまう歪みを抑制するため、クリッピング処理を施す。
【００３０】
また、1次元垂直イメージリフレッシュ処理部１７と1次元水平イメージリフレッシュ処理部１８で使用するフィルタは、各々２種類のフィルタが用意されており、必要に応じてユーザが任意に設定することができる。この２種類のフィルタのうち一方のフィルタは、周波数領域の特性を綿密に制御できるという特性があり、他方のフィルタは、前者のフィルタと比較すると周波数領域の特性を綿密に制御することができないが、処理量を軽減することができるというものである。これらのフィルタは、構成するフィルタの要素が異なるという他は同様であり、その処理も同様である。以下の説明においては、前者のフィルタをＡタイプ、後者のフィルタをＢタイプと称するものとする。
【００３１】
次に、図２のブロック図を参照して、垂直アップサンプリング処理部１１の構成について説明する。
【００３２】
帯域制限部１２１は、例えば、LPF（Low Pass Filter）などから構成され、入力された画像の各画素の画素値を平滑化して、帯域を制限して方向判別部１２３、および、アクティブ領域検出部１２２に出力する。
【００３３】
アクティブ領域検出部１２２は、帯域制限された画像信号から局所エネルギを算出してその値によりエッジの有無を検出し、検出結果を方向判別部１２３に出力する。
【００３４】
方向判別部１２３は、アクティブ領域検出部１２２のアクティブ領域検出結果に基づいて、エッジの方向を判別し、判別したエッジの方向の情報を信頼度格付部１２４、および方向性分布生成部１２５に出力すると共に、画素情報を方向補間部１３１に出力する。信頼度格付部１２４は、入力された画像の情報と、方向判別部１２３から入力されるエッジの方向の情報に基づいて、エッジの方向の情報の信頼度を求め、方向性分布生成部１２５に出力する。方向補間部１３１は、方向判別部１２３からの情報に基づいて、その方向に存在する画素値を用いて画素を補間する。
【００３５】
方向性分布生成部１２５は、方向判別部１２３から入力されるエッジの方向の情報と対応する信頼度格付部１２４からの信頼度の情報に基づいて、方向性分布を生成して傾き選択部１２６、エッジ強度情報生成部１３２、テクスチャ強度生成部１３３、および、斜重み付け部１２９に供給する。傾き選択部１２６は、方向性分布生成部１２５からの方向性分布に基づいて、注目画素における信頼度の最も高いエッジの傾きを選択し、選択した傾きの情報を統計斜補間部１２８に出力する。また、斜重み付け部１２９は、斜方向のエッジに付する重みを計算して合成部１３０に出力する。
【００３６】
エッジ強度情報生成部１３２は、方向性分布に基づいて、テクスチャの強度を定量的に評価し、その結果を１次元垂直イメージリフレッシュ部１７に出力する。
【００３７】
テクスチャ強度情報生成部１３３は、方向性分布に基づいて、エッジの強度を定量的に評価し、その結果を１次元垂直イメージリフレッシュ部１７に出力する。
【００３８】
線形補間部１２７は、入力された画像のうち、補間しようとする画素の垂直方向の上下に隣接する複数の画素から線形補間などの従来補間により画素を生成し合成部１３０に出力する。統計斜補間部１２８は、入力された画像のうち、補間しようとする画素を傾き選択部１２６より入力された傾きの各方向に挟んで隣接する画素間の平均画素値の傾き分布による重み付け平均画素値を生成し、合成部１３０に出力する。合成部１３０は、斜重み付け部１２９より入力されてくる斜め方向の重み付けの情報に基づいて、線形補間により生成された補間画素の画素値と、統計斜補間部１２８により統計斜補間により生成された補間画素の画素値を、それぞれに重み付けして加算する（重みを係数として線形和を求める）ことにより合成して補間画素として出力する。
【００３９】
斜重み付け部１２９は、方向性分布生成部１２５より供給される方向性分布斜線の重み付けを行い、斜線の重みの情報を合成部１３０に供給する。
【００４０】
尚、水平アップサンプリング処理部１２については、基本的に、図２を参照して説明した、垂直アップサンプリング処理部１１と同様の手法で、水平方向の画素について処理するものである。すなわち、水平アップサンプリング処理部１２における処理は、図２の垂直アップサンプリング処理部１１における処理に対応して、水平方向の画素に対して同様の処理を実行するものであり、基本的な処理方法は、垂直アップサンプリング処理部１１と同様であるので、その説明は省略する。
【００４１】
次に、図３のブロック図を参照して、1次元垂直イメージリフレッシュ処理部１７の構成について説明する。
【００４２】
テクスチャフィルタ処理部１９１は、入力された画像の注目画素に対応する複数の画素を垂直方向にフィルタ処理してテクスチャ適応混合処理部１９６に出力する。
【００４３】
テクスチャ適応混合処理部１９６は、テクスチャフィルタ処理部１９１により垂直方向にフィルタ処理された画素の値と入力された画像の注目画素の値を、テクスチャ強度情報生成部１３３に供給された制御信号を用いて、重み付けして合成し、エッジ適応混合処理部１９７に出力する。
【００４４】
垂直最大値最小値検出部１９２は、入力された画像の注目画素に対応する垂直方向の複数の画素のうち、その最大値となる画素値と最小値となる画素値を抽出して、判別比較部１９４に出力する。
【００４５】
エッジフィルタ処理部１９３は、入力された画像の注目画素に対応する複数の画素を垂直方向にフィルタ処理して、判別比較部１９４に出力する。
【００４６】
判別比較部１９４は、エッジフィルタ処理部１９３により垂直方向にフィルタ処理された値と、垂直最大値最小値検出部１９２より入力されてくる最大値または最小値とを比較し、値をクリッピングして、エッジ適応混合処理部１９７に出力する。
【００４７】
エッジ適応混合処理部１９７は、判別比較部１９４に出力された画素の値と、テクスチャ適応混合処理部１９６により出力された画像の値とを、エッジ強度情報生成部１３２に供給された制御信号を用いて、重み付けして合成し、バッファ１７ａに出力する。出力部１９５は、バッファ１７ａに記憶された画像信号を適宜読み出して出力する。
【００４８】
尚、1次元水平イメージリフレッシュ処理部１８については、基本的には、図３を参照して説明した、図１の1次元垂直イメージリフレッシュ処理部１７と同様の手法で、水平方向の画素について処理するものである。すなわち、1次元水平イメージリフレッシュ処理部１８における処理は、図３の次元垂直イメージリフレッシュ処理部１７における処理に対応して、水平方向の画素に対して処理を実行するものであり、基本的な処理方法は、１次元垂直イメージリフレッシュ処理部１７と同様であるので、その説明は省略する。
【００４９】
次に、図４のフローチャートを参照して、画像処理部２のズーム処理について説明する。最初にステップＳ１において、画像処理部２は、変数ｚに倍率Ｚの値を設定する。
【００５０】
次にステップＳ２において、画像処理部２は、変数ｚの値が１以上であるか否かを判定し、１未満である場合には、ステップＳ３に進み、変数ｚの値が０より大きく１より小さい値であるか否かが判定される。
【００５１】
ステップＳ３において変数ｚの値が０より大きく１より小さいと判定された場合には、ステップＳ４に進み、垂直縮小処理部１３および水平縮小処理部１４により標準的な縮小処理が実行される。その後、ステップＳ５において、出力表示処理が実行される。すなわち、生成された画像が、画像出力部３により、表示部に表示される。
【００５２】
これに対してステップＳ３において、変数ｚの値が０と１の間でないと判定された場合、すなわち、変数ｚの値が１よりも大きい場合、ステップＳ２において、変数ｚが１より大きいと判定され、処理がステップＳ６に進むことになり、ステップＳ６におけるズーム処理が所定回数実行された結果、拡大処理が既に完了した状態となっていることになるため、ステップＳ５に進み、出力表示処理が実行される。
【００５３】
ステップＳ２において、変数ｚの値が１以上であると判定された場合、ステップＳ６に進み、画像処理部２は、ズーム処理を実行する。このズーム処理の詳細は、図５のフローチャートを参照して後述する。
【００５４】
ステップＳ６において、ズーム処理が完了した後、ステップＳ７において、画像処理部２は、変数ｚの値を２で除算する。その後、処理はステップＳ２に戻り、それ以降の処理が繰り返し実行される。
【００５５】
すなわち、変数ｚの値が１以上である場合には、ステップＳ６の処理が変数ｚの値が１より小さくなるまで所定回数繰り返し行われる。そして、変数ｚの値が１より小さくなった場合には、変数ｚの値が０と１の間の値であるとき、ステップＳ４で標準的な縮小処理が行われる。この標準的な縮小処理は、例えば、線形補間処理やバイキュービックフィルタを用いて実現することができる。尚、以降においては、従来の標準的な補間処理として線形補間処理を例に説明を進めるが、標準的な補間処理は、それ以外の方法であってもよいことは言うまでもない。
【００５６】
次に、図５のフローチャートを参照して、ステップＳ６のズームアップ処理について説明する。
【００５７】
ステップＳ２１において、垂直アップサンプリング処理が実行される。
【００５８】
ここで、図６のフローチャートを参照して、垂直アップサンプリング処理について説明する。
【００５９】
ステップＳ５１において、垂直アップサンプリング処理部１１は、図７で示されるように原画像I_image中の所定の範囲（Ｎ画素）の上行と下行の実在画素とバーチャル画素（実在する画素により仮想的に生成される画素）を抽出し、幅２Ｎの二つのバッファ、up_lineとdown_lineに格納する。Ｎの値は可変とされる。従って、I_image中の上行の中心座標は、(X+N/2,Y)となり、I_image中の下行の中心座標は、(X+N/2,Y+1)となる。すなわち、上行と下行における、実在画素とバーチャル画素のそれぞれの画素値は、以下の式（１）乃至式（４）により表現されることになる。
【００６０】
up_line(2*I)=I_image(X+I,Y)      （I=0,1…,N-1）
（実在画素）
・・・（１）
up_line( 2*I+1)=0.5*(I_image(X+I,Y) +I_image(X+I +1,Y))      （I=0,1…,N-２）
（バーチャル画素）
・・・（２）
down_line(2*I) =I_image(X+I,Y+1)      （I=0,1…,N-1）
（実在画素）
・・・（３）
down_line(2*I+1)=0.5*(I_image(X+I,Y+1) +I_image(X+I +1,Y+1))  （I=0,1…,N-２）
（バーチャル画素）
・・・（４）
【００６１】
次にステップＳ５２において、垂直アップサンプリング処理部１１のアクティブ領域検出部１２２は、帯域制限部１２１により帯域制限された信号に基づいて、局所エネルギE(N)を、以下の式（５）より算出する。
【００６２】
E(N)= Σ（I=0,…N-１）Coef(I) * ABS（up_line(2*I)−down_line(2*I)）
・・・（５）
【００６３】
上記の式（５）の計算は、Iが0からN-1までの範囲において、up_lineの個々の実在画素と垂直下方に位置するdown_lineの実在画素との差分絶対値を求め、それぞれについて重み（Coef(I)）を乗じた和を求めている。
【００６４】
図８は、局所エネルギE(N)の計算の例を表している。同図に示されるように、上行up_lineの実在画素と、下行down_lineの実在画素のうち、垂直方向に上下に位置する上部の実在画素と下部の実在画素の画素値との差分絶対値が求められ、各差分絶対値に重みを乗じた和が局所エネルギE(N)とされる。図８の例では、画素Ｙ0,0の値（０）から、画素Ｙ1,0の値（０）が減算される。また画素Ｙ0,1の画素値（０）から、画素Ｙ1,１の画素値（０）が減算される。以下同様に、画素Ｙ0,2の画素値（０）から画素Ｙ1,2の画素値（２００）が減算され、画素Ｙ0,3の画素値（０）から画素Ｙ1,３の画素値（２００）が減算され、画素Ｙ0,4の画素値（２００）から、画素Ｙ1,４の画素値（２００）が減算される。そしてそれぞれの差分絶対値に重みが乗じられた値の和が局所エネルギとされる。
【００６５】
ステップＳ５３において、アクティブ領域検出部１２２は、局所エネルギE(N)が予め設定されている所定の閾値Ｔより大きいか否かを判定する。局所エネルギE(N)が閾値Ｔと等しいか、それより小さい場合、その領域は、エッジを含まない平坦な低エネルギの領域と見なされる。この場合、潜在的エッジの方向を計算する必要がない。このため、処理は、ステップＳ５４に進む。
【００６６】
ステップＳ５４において、方向判別部１２３が、アクティブ領域検出部１２２の判定結果に基づいて、方向補間部１３１に、垂直方向mid_dir（後述する図１８におけるＬ４の方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。また、信頼度格付部１２４は、この補間画素について信頼度が未確定であることを示す２を方向性分布生成部１２５に出力する。
【００６７】
一方、ステップＳ５３において、局所エネルギE(N)が予め設定されている所定の閾値Ｔより大きいと判定された場合、ステップＳ５５において、垂直アップサンプリング処理部１１の方向判別部１２３は、帯域制限部１２１により帯域制限された画像信号と原画像信号に基づいて、エッジ方向を試験的に計算する処理を実行し、検出した方向の情報を信頼度格付部１２４、方向性分布生成部１２５に出力すると共に、検出した画素の情報を方向補間部１３１に出力する。具体的には、方向判別部１２３は、以下に示す式（６），式（７）で示される演算を実行し、演算結果を出力する。
【００６８】
尚、dirは、各方向に割り付けられる変数であり、後述する図１８で示されるように、注目画素（図中の黒丸印）を中心に対角方向に存在する画素間を通る方向について付される値である。従って、後述する図１８においては、方向Ｌ０のdirが０であって、方向Ｌ１のdirが１である。また、Nは、方向を定義するとき使用される実在画素の組数であり、例えば、後述する図１８の場合、実在画素（図中の白丸）は、５組である。従って、dirは、実在画素の組数がNである場合、実在画素と実在画素により計算されるバーチャル画素が各実在画素間に存在し、同様に方向が定義されるものとすると、0≦dir≦（2N-2）となる。結果として、以下の演算は、dir=０からdirを１インクリメントしつつ、dirが２N-２以下の範囲で繰り返し実行される。
【００６９】
E（dir）=ABS(帯域制限[up_line(dir)]−帯域制限[down_line(２N−２−dir)])
・・・（６）
【００７０】
diff（dir）=ABS(up_line(dir)−down_line(２N−２−dir))
・・・（７）
【００７１】
ステップＳ５５において、エッジ方向判別処理が実行される。
【００７２】
ここで、図９，図１０を参照して、方向判別処理について説明する。
【００７３】
ステップＳ８１において、(max_dir)方向選択処理が実行される。(max_dir)方向とは、注目画素を中心にした局所的なエッジの方向に直交した方向である。すなわち、注目画素を中心に、垂直方向に対して右側と左側に、上記の式（６）で計算されたエネルギＥ（dir）（dir＝mid_dir−N/2…mid_dir＋N/2）の値のうち、最も高い２つの画素が対応する対角線の方向が(max_dir)方向である。
【００７４】
ここで、図１１を参照して、局所的なエッジの方向に直交した方向である(max_dir)方向選択処理について説明する。
【００７５】
ステップＳ１２１において、注目画素を中心にした局所的なエッジの方向に直交した方向である(max_dir)方向選択処理の開始に当たり、方向判別部１２３は、注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)を垂直方向（mid_dir）に初期化し、その処理は、ステップＳ１２２に進む。すなわち、方向判別部１２３は、注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)を後述する図１８の方向Ｌ４に対応する方向である垂直方向（mid_dir）に初期化する。
【００７６】
ステップＳ１２２において、注目画素を中心にした局所的なエッジの方向に直交した方向である(max_dir)方向選択処理の開始に当たり、方向判別部１２３は、比較対象候補方向(dir)を垂直方向（mid_dir）に対して左上がりの方向のうちに（mid_dir−N/2）に位置する方向に初期化し、その処理は、ステップＳ１２３に進む。すなわち、方向判別部１２３は、比較対象候補方向(dir)を後述する図１８の方向Ｌ０に対応する方向に初期化する。
【００７７】
ステップＳ１２３において、注目画素を中心にした局所的なエッジの方向に直交した方向である(max_dir)方向選択処理の開始に当たり、方向判別部１２３は、上記の式（６）で計算されたエネルギＥ（dir）（dir＝mid_dir−N/2…mid_dir＋N/2）の値のうち、最も高いエネルギE_maxを０（ゼロ）に初期化し、その処理は、ステップＳ１２４に進む。
【００７８】
ステップＳ１２４において、方向判別部１２３は、比較対象候補方向(dir)の上記の式（６）で計算されたエネルギＥ（dir）が最も高いエネルギE_max以上であるか否かを判定する。ステップＳ１２４において、エネルギＥ（dir）が最大エネルギＥ_max以上であると判定された場合、その処理は、ステップＳ１２５に進む。一方、エネルギＥ（dir）が最大エネルギＥ_maxより小さいと判定された場合、その処理は、ステップＳ１２８に進み、比較対象候補方向(dir)から次の右に隣り合う比較対象候補方向(dir+1)に変化させる（今現在の比較対象候補方向(dir)が、左上がりの方向であれば、その方向がより垂直方向に近くなる方向に隣接する比較対象候補方向に変化させられ、今現在の比較対象候補方向(dir)が、右上がりの方向であれば、その方向がより水平方向に近くなる方向に隣接する比較対象候補方向に変化する）。すなわち、例えば、比較対象候補方向(dir)が、後述する図１８の方向Ｌ０であった場合、方向判別部１２３は、比較対象候補方向(dir)を方向Ｌ１に変化させる。
【００７９】
ステップＳ１２５において、方向判別部１２３は、比較対象候補方向(dir)の上記の式（６）で計算されたエネルギＥ（dir）が最高エネルギE_maxと等しいか否かを判定し、注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)を判定する。ステップＳ１２５において、エネルギＥ（dir）が最高エネルギＥ_maxに等しいと判定された場合、その処理は、ステップＳ１３１に進む。一方、ステップＳ１２５において、Ｅ（dir）がＥ_maxに等しくないと判定された場合、その２つの画素が対応する対角線の方向が注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)と見なされ、比較対象候補方向(dir)が、注目画素を中心にした局所的なエッジの方向に直交した方向として選択され、その処理は、ステップＳ１２６に進む。
【００８０】
ステップＳ１２６において、方向判別部１２３は、max_dir方向として現状の変数dirを記憶する。
【００８１】
ステップＳ１２７において、方向判別部１２３は、最高エネルギE_maxの値を比較対象候補方向の上記の式（６）で計算されたエネルギＥ（dir）の値に置き換える。
【００８２】
ステップＳ１２８において、方向判別部１２３は、比較対象候補方向(dir)から次の右に隣り合う比較対象候補方向(dir+1)に変化させる。すなわち、例えば、比較対象候補方向(dir)が、後述する図１８の方向Ｌ０であった場合、方向判別部１２３は、比較対象候補方向(dir)を方向Ｌ１に変化させる。
【００８３】
尚、以降の説明において、例えば、所定の方向(dir)を示す変数dirが１インクリメントされた方向（dir+1）は、所定の方向(dir)に対して右側の方向と称する。また、所定の方向に対して、変数dirが１デクリメントされた方向（dir−1）は、所定の方向(dir)に対して左側の方向と称するものとする。すなわち、例えば、後述する図１８における方向Ｌ０に対して、変数dirが１インクリメントした右側の方向は方向Ｌ１であり、逆に、方向Ｌ１に対して変数dirが１デクリメントした左側の方向は方向Ｌ０となる。つまり、図１８で示されるように、注目画素を中心としたとき、その上下の行の画素間で結ばれる直線の第1象限および第２象限における位置関係を称する場合と同様に称するものとする。
【００８４】
ステップＳ１２９において、方向判別部１２３は、比較対象候補方向(dir)が垂直方向（mid_dir）の右側にある方向のうちの方向（mid_dir＋N/2）であるか否かを判定する。すなわち、比較対象候補方向(dir)が方向（mid_dir＋N/2）より大きい場合、全ての方向について処理が終了したことになるので、注目画素を中心にした局所的なエッジの方向に直交した方向である(max_dir)方向選択処理が終了される。一方、dirがmid_dir＋N/2以下である場合、まだ未処理の方向が存在することになるため、その処理は、ステップＳ１３０に進む。
【００８５】
ステップＳ１３０において、方向判別部１２３は、比較対象候補方向(dir)が垂直方向（mid_dir）であるか否かを判定する。例えば、比較対象候補方向(dir)が垂直方向（mid_dir）であると判定された場合、ステップＳ１２８に戻り、方向判別部１２３は、変数dirを１インクリメントし、比較対象候補方向(dir)から次の右に隣り合う比較対象候補方向(dir+1)に変化させる。すなわち、垂直方向は、比較対象候補方向として扱わない。
【００８６】
一方、ステップＳ１３０において、比較対象候補方向(dir)が垂直方向（mid_dir）であると判定された場合、その処理は、ステップＳ１２４に戻る。
【００８７】
ステップＳ１３１において、方向判別部１２３は、垂直方向(mid_dir)が、比較対象候補方向(dir)が注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)よりも大きく、かつ、比較対象候補方向(dir)より小さいか否かを判定する。例えば、ステップＳ１３１において、比較対象候補方向(dir)が注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)よりも大きく、かつ、比較対象候補方向(dir)より小さいと判定された場合、ステップＳ１３２に進み、方向判別部１２３は、垂直方向(mid_dir)を選択し、その２つの画素が対応する対角線の方向が注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)と見なす。
【００８８】
ステップＳ１３３において、方向判別部１２３は、最も高いエネルギE_maxの値を垂直方向(mid_dir)の上記の式（６）で計算されたエネルギＥ（mid_dir）に置き換える。そして注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)の選択処理を終了する。
【００８９】
比較対象候補方向(dir)が注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)以下であるか、または、比較対象候補方向(dir)以上であると判定された場合、ステップＳ１２６において、方向判別部１２３は、比較対象候補方向(dir)を注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)として選択し、その２つの画素が対応する対角線の方向が注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)と見なす。
【００９０】
ステップＳ１２７において、方向判別部１２３は、最も高いエネルギE_maxの値を比較対象候補方向の上記の式（６）で計算されたエネルギＥ（dir）に置き換えると共に、ステップＳ１２８において、比較対象候補方向(dir)を次の右に隣り合う比較対象候補方向(dir+1)に変化させる。
【００９１】
以上の処理により、最終的に方向(max_dir)に残される方向が、注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)として選択されることになる。
【００９２】
ここで、図９のフローチャートの説明に戻る。
【００９３】
ステップＳ８２において、(left_dir)方向選択処理が実行される。(left_dir)方向とは、注目画素を中心にした垂直方向に対して左上がりの方向の局所的なエッジの方向である。すなわち、注目画素を中心に、左側に、上記の式（６）で計算されたエネルギＥ（dir）（dir＝mid_dir −１…０）の値のうち、最も低い２つの画素が対応する対角線の方向が(left_dir)方向である。
【００９４】
ここで、図１２のフローチャートを参照して、注目画素を中心にした左上がりの局所的なエッジの方向である(left_dir)方向選択処理について説明する。
【００９５】
ステップＳ１５１において、注目画素を中心にした左上がりの局所的なエッジの方向選択処理開始に当たり、方向判別部１２３は、注目画素を中心にした垂直方向に対して左上がりの局所的なエッジの方向(left_dir)を垂直方向（mid_dir）に初期化し、その処理は、ステップＳ１５２に進む。
【００９６】
ステップＳ１５２において、注目画素を中心にした左上がりの局所的なエッジの方向の選択処理開始に当たり、方向判別部１２３は、比較対象候補方向(dir)を垂直方向（mid_dir）に初期化し、その処理は、ステップＳ１５３に進む。
【００９７】
ステップＳ１５３において、注目画素を中心にした左上がりの局所的なエッジの方向の選択処理開始に当たり、方向判別部１２３は、上記の式（６）で計算されたエネルギＥ（dir）の値のうち、最低エネルギE_minをの上記の式（６）で計算された垂直方向(mid_dir)のエネルギＥ（mid_dir）に初期化し、その処理は、ステップＳ１５４に進む。
【００９８】
ステップＳ１５４において、方向判別部１２３は、比較対象候補方向(dir)の上記の式（６）で計算されたエネルギＥ（dir）が、最低エネルギE_min以下であるか否かを判定する。すなわち、比較対象候補方向(dir)の上記の式（６）で計算されたエネルギＥ（dir）が、最も低いエネルギE_min以下であるということは、比較対照候補方向(dir)が、最低エネルギE_minとなるので、この判定結果に基づいて、比較対象候補方向(dir)が注目画素を中心にした左上がりの局所的なエッジの方向(left_dir)であるか否かを判定する。
【００９９】
ステップＳ１５４において、エネルギＥ（dir）が最低エネルギＥ_min以下である場合、ステップＳ１５５において、方向判別部１２３は、比較対象候補方向(dir)の２つの画素が対応する対角線の方向を、注目画素を中心にした左側の局所的なエッジの方向(left_dir)として選択する。
【０１００】
ステップＳ１５６において、方向判別部１２３は、最も低いエネルギE_minの値を比較対象候補方向の上記の式（６）で計算されたエネルギＥ（dir）に置き換える。
【０１０１】
ステップＳ１５７において、方向判別部１２３は、比較済みの比較対象候補方向(dir)から次の左に隣り合う比較対象候補方向(dir−1)に変化させ、その処理は、ステップＳ１５８に進む。
【０１０２】
一方、ステップＳ１５４において、エネルギＥ（dir）が最低エネルギＥ_minより大きい場合、ステップＳ１５７において、方向判別部１２３は、比較済みの比較対象候補方向(dir)から次の左に隣り合う比較対象候補方向(dir−1)に変化させ（変数dirを１デクリメントさせて）、その処理は、ステップＳ１５８に進む。
【０１０３】
ステップＳ１５８において、方向判別部１２３は、変数dirが０以下であるか否か、すなわち、比較対象候補方向(dir)と垂直方向（mid_dir）の左側にある方向のうちに（０）に位置する方向よりも左側であるか否かを判定する。dirが０(ゼロ)より小さい場合、すなわち、比較対象候補方向(dir)が、後述する図１８における方向Ｌ０よりも左側である場合、方向判別部１２３は、注目画素を中心にした左側の局所的なエッジの方向(left_dir)の選択処理を終了する。一方、ステップＳ１５８において、比較対象候補方向(dir)が0(ゼロ)以上である場合、すなわち、図１８における方向Ｌ０乃至Ｌ４である場合、その処理は、ステップＳ１５４に戻る。すなわち、比較対象候補方向(dir)が方向Ｌ０からＬ４の範囲で、ステップＳ１５４乃至Ｓ１５８の処理が繰り返され、全ての処理が終了したところで、エネルギE_minに設定されているエネルギが最低エネルギとされ、そのときの方向がleft_dir方向として選択されることになる。
【０１０４】
ここで、図９のフローチャートの説明に戻る。
【０１０５】
ステップＳ８２において、left_dir方向選択処理が終了すると、ステップＳ８３において、(right_dir)方向選択処理が実行される。(right_dir)方向とは、注目画素を中心にした垂直方向に対して右上がりの方向の局所的なエッジの方向である。すなわち、注目画素を中心に、右側に、上記の式（６）で計算されたエネルギＥ（dir）（dir＝mid_dir+1…２Ｎ−２）の値のうち、最も低い２つの画素が対応する対角線の方向が注目画素を中心にした右側の局所的なエッジの方向(right_dir)である。
【０１０６】
ここで、図１３を参照して、注目画素を中心にした右側の局所的なエッジの方向である(right_dir)方向選択処理について説明する。
【０１０７】
ステップＳ１８１において、注目画素を中心にした右側の局所的なエッジの方向択処理開始に当たり、方向判別部１２３は、注目画素を中心にした右側の局所的なエッジの方向(right_dir)を垂直方向（mid_dir）に初期化し、その処理は、ステップＳ１８２に進む。
【０１０８】
ステップＳ１８２において、注目画素を中心にした右側の局所的なエッジの方向の選択処理開始に当たり、方向判別部１２３は、比較対象候補方向(dir)を垂直方向（mid_dir）に初期化し、その処理は、ステップＳ１８３に進む。
【０１０９】
ステップＳ１８３において、注目画素を中心にした右側の局所的なエッジの方向の選択処理開始に当たり、方向判別部１２３は、上記の式（６）で計算されたエネルギＥ（dir）の値のうち、最も低いエネルギE_minを上記の式（６）で計算された垂直方向(mid_dir)のエネルギＥ（mid_dir）に初期化し、その処理は、ステップＳ１８４に進む。
【０１１０】
ステップＳ１８４において、方向判別部１２３は、比較対象候補方向(dir)の上記の式（６）で計算されたエネルギＥ（dir）が最低エネルギE_min以下であるか否かを判定する。すなわち、比較対象候補方向(dir)の上記の式（６）で計算されたエネルギE(dir)が最も小さいエネルギE_min以下であるということは、比較対象候補方向(dir)が最低エネルギE_minとなるので、この判定結果に基づいて、比較対象候補方向(dir)が注目画素を中心にした右側の局所的なエッジの方向(right_dir)であるか否かが判定される。
【０１１１】
ステップＳ１８４において、エネルギＥ（dir）が最低エネルギＥ_min以下の場合、ステップＳ１８５において、方向判別部１２３は、比較対象候補方向(dir)の２つの画素が対応する対角線の方向を、注目画素を中心にした右側の局所的なエッジの方向(right_dir)として選択する。
【０１１２】
ステップＳ１８６において、方向判別部１２３は、最も低いエネルギE_minの値を比較対象候補方向の上記の式（６）で計算されたエネルギＥ（dir）に置き換える。
【０１１３】
ステップ１８７において、方向判別部１２３は、比較済みの比較対象候補方向(dir)から次の右に隣り合う比較対象候補方向(dir+1)に変化させ、その処理は、ステップＳ１８８に進む。
【０１１４】
一方、ステップＳ１８４において、エネルギＥ（dir）が最低エネルギＥ_minより大きい場合、ステップＳ１８７において、方向判別部１２３は、比較済みの比較対象候補方向(dir)から次の右に隣り合う比較対象候補方向(dir+1)に変化させ（変数dirを１インクリメントさせて）、その処理は、ステップＳ１８８に進む。
【０１１５】
ステップＳ１８８において、方向判別部１２３は、変数dirが０以下であるか否か、すなわち、比較対象候補方向(dir)と垂直方向（mid_dir）の右側にある方向のうちに（２N−２）に位置する方向よりも右側であるか否かを判定する。dirは２N−２より大きい場合、すなわち、比較対象候補方向(dir)が、後述する図１８における方向Ｌ８よりも右側である場合、方向判別部１２３は、注目画素を中心にした右側の局所的なエッジの方向(right_dir)の選択処理を終了する。dirが２N−２以下である場合、すなわち、図１８における方向Ｌ４乃至Ｌ８である場合、その処理は、ステップＳ１８４に戻る。すなわち、比較対象候補方向(dir)が方向Ｌ４からＬ８の範囲で、ステップＳ１８４乃至Ｓ１８８の処理が繰り返され、全ての処理が終了したところで、エネルギE_minに設定されているエネルギが最低エネルギとされ、そのときの方向がright_dir方向として選択されることになる。
【０１１６】
ここで、図９のフローチャートの説明に戻る。
【０１１７】
ステップＳ８４において、方向判別部１２３は、注目画素を中心に、右側の局所的なエッジの方向(right_dir)と局所的なエッジの方向に直交した方向(max_dir)の角度の絶対値、｜角度(max_dir,right_dir)｜が、左側の局所的なエッジの方向(left_dir)と局所的なエッジの方向に直交した方向(max_dir)の角度の絶対値｜角度(max_dir,left_dir)｜よりも大きいか否かを判定する。
【０１１８】
例えば、ステップＳ８４において、｜角度(max_dir,left_dir)｜が｜角度(max_dir,right_dir)｜（この角度は、絶対値であるので０°乃至９０°の範囲である）より大きいと判定された場合、ステップＳ８５において、方向判別部１２３は、注目画素を中心にした左側の局所的なエッジの方向(left_dir)の２つの画素が対応する対角線の方向を局所的なエッジの方向とであるとみなし、選択方向（sel_dir）を方向（left_dir）として、その処理は、ステップＳ９７（図１０）に進む。
【０１１９】
一方、ステップＳ８４において、｜角度(max_dir,left_dir)｜が｜角度(max_dir,right_dir)｜以下である場合、その処理は、ステップＳ８６に進む。
【０１２０】
ステップＳ８６において、方向判別部１２３は、注目画素を中心に、右側の局所的なエッジの方向(right_dir)と局所的なエッジの方向に直交した方向(max_dir)の角度の絶対値｜角度(max_dir,right_dir)｜が左側の局所的なエッジの方向(left_dir)と局所的なエッジの方向に直交した方向(max_dir)の角度の絶対値｜角度(max_dir,left_dir)｜よりも大きいか否かを判定する。
【０１２１】
ステップＳ８６において、例えば、｜角度(max_dir,right_dir)｜が｜角度(max_dir,left_dir)｜より大きい場合、ステップＳ８７において、方向判別部１２３は、注目画素を中心にした右側の局所的なエッジの方向(right_dir)の２つの画素が対応する対角線の方向が局所的なエッジの方向であるとみなし、選択方向（sel_dir）を方向（right_dir）として、その処理は、ステップＳ９７（図１０）に進む。
【０１２２】
すなわち、方向(max_dir)は、２画素間のエネルギが最も大きい方向に対して垂直の方向であるため、方向(left_dir)または方向(right_dir)との成す角が大きい、すなわち、垂直方向に近い値の方がエッジである可能性が高い。
【０１２３】
そこで、方向判別部１２３は、｜角度(max_dir,left_dir)｜と｜角度(max_dir,right_dir)｜とを比較し、max_dirと成す角の大きい方向をエッジの方向として選択する。
【０１２４】
一方、ステップＳ８６において、｜角度(max_dir,right_dir)｜が｜角度(max_dir,left_dir)｜より大きくないと判定された場合、すなわち、いずれも等しいと判定された場合、その処理は、ステップＳ８８に進む。
【０１２５】
ステップＳ８８において、方向判別部１２３は、局所的なエッジの方向に直交した方向(max_dir)と垂直方向(mid_dir)との成す角度(max_dir,mid_dir)が、０以上であるか否か、すなわち、方向(max_dir)が、図１８における垂直方向mid_dirに対して左側に傾いているか否かを判定する。
【０１２６】
ステップＳ８８において、例えば、角度(max_dir,mid_dir)が0より大きいと判定された場合、すなわち、方向（max_dir）が、左側に傾いている場合、ステップＳ８９において、方向判別部１２３は、注目画素を中心にした左側の局所的なエッジの方向(left_dir)の２つの画素が対応する対角線の方向が局所的なエッジの方向であるとみなし、選択方向（sel_dir）を方向（left_dir）として、その処理は、ステップＳ９７（図１０）に進む。
【０１２７】
一方、ステップＳ８８において、角度(max_dir,mid_dir)が0より大きくないと判定された場合、ステップＳ９０において、方向判別部１２３は、局所的なエッジの方向に直交した方向(max_dir)と垂直方向(mid_dir)との成す角度(max_dir,mid_dir)が、０よりも小さいか否かを判定する。
【０１２８】
ステップＳ９０において、例えば、角度(max_dir,mid_dir)が0より小さいと判定された場合、ステップＳ９１において、方向判別部１２３は、注目画素を中心にした右側の局所的なエッジの方向(right_dir)の２つの画素が対応する対角線の方向を局所的なエッジの方向とみなし、選択方向（sel_dir）を方向（right_dir）として、その処理は、ステップＳ９７（図１０）に進む。
【０１２９】
一方、ステップＳ９０において、角度(max_dir,mid_dir)が0より小さくない、すなわち、０であると判定された場合は、その処理は、ステップＳ９２に進む。
【０１３０】
ステップＳ９２において、方向判別部１２３は、右側の局所的なエッジの方向(right_dir)の上記の式（６）で計算されたエネルギＥ（right_dir）が左側の局所的なエッジの方向(left_dir)の上記の式（６）で計算されたエネルギＥ（left_dir）よりも大きいか否かを判定する。
【０１３１】
ステップＳ９２において、例えば、エネルギＥ（right_dir）がエネルギＥ（left_dir）より大きいと判定された場合、ステップＳ９３において、方向判別部１２３は、注目画素を中心にした左側の局所的なエッジの方向(left_dir)の２つの画素が対応する対角線の方向が局所的なエッジの方向と見なし、選択方向（sel_dir）を方向（left_dir）として、その処理は、ステップＳ９７（図１０）に進む。
【０１３２】
一方、ステップＳ９２において、エネルギＥ（right_dir）がエネルギＥ（left_dir）以下である場合、その処理は、ステップＳ９４に進む。
【０１３３】
ステップＳ９４において、方向判別部１２３は、左側の局所的なエッジの方向(left_dir)の上記の式（６）で計算されたエネルギＥ（left_dir）が、右側の局所的なエッジの方向(right_dir)の上記の式（６）で計算されたエネルギＥ（right_dir）よりも小さいか否かを判定する。
【０１３４】
ステップＳ９４において、例えば、エネルギＥ（left_dir）がエネルギＥ（right_dir）より大きい場合、ステップＳ９５において、方向判別部１２３は、注目画素を中心にした右側の局所的なエッジの方向(right_dir)の２つの画素が対応する対角線の方向が局所的なエッジの方向と見なし、選択方向（sel_dir）を方向（right_dir）として、その処理は、ステップＳ９７（図１０）に進む。
【０１３５】
ステップＳ９４において、エネルギＥ（left_dir）がエネルギＥ（right_dir）より大きくない、すなわち、いずれも等しいと判定された場合、ステップＳ９６において、方向判別部１２３は、選択方向（sel_dir）を垂直方向(mid_dir)とし、その２つの画素が対応する垂直線の方向が局所的なエッジの方向と見なす。
【０１３６】
ステップＳ９７（図１０）において、方向判別部１２３は、前段で選択された局所的なエッジの方向(sel_dir)が、実在画素により補間生成された画素値から計算された方向、すなわち、バーチャル方向（例えば、後述する図１８の方向Ｌ１，Ｌ３，Ｌ５，Ｌ７）であるか否かを判定する。
【０１３７】
ステップＳ９７において、例えば、選択方向sel_dirの変数dirが偶数である場合、すなわち、sel_dir＝２nの場合（例えば、後述する図１８の方向Ｌ０，Ｌ２，Ｌ４，Ｌ６，Ｌ８の場合）、方向判別部１２３は、sel_dirが実在方向であると判定し、方向判別処理を終了し、方向補間部１３１に、局所的なエッジの方向sel_dir（後述する図１８におけるＬsel_dirの方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力し、その処理は、図６のステップＳ５６の処理に進む。
【０１３８】
一方、ステップＳ９７において、例えば、選択されたsel_dirの変数dirが奇数である場合、すなわち、sel_dir＝２n+１の場合（例えば、後述する図１８の方向Ｌ１，Ｌ３，Ｌ５，Ｌ７の場合）、方向判別部１２３は、sel_dirがバーチャル方向であると判定し、その処理は、ステップＳ９８に進む。
【０１３９】
ステップＳ９８において、方向判別部１２３は、選択された局所的なエッジの方向(sel_dir)の右に隣り合う実在方向(sel_dir＋１)の上記の式（６）で計算されたエネルギＥ（sel_dir＋１）が、選択された局所的なエッジのバーチャル方向(sel_dir)の左に隣り合うの実在方向(sel_dir−１)の上記の式（６）で計算されたエネルギＥ（sel_dir−１）よりも小さいか否かを判定する。
【０１４０】
ステップＳ９８において、例えば、エネルギＥ（sel_dir＋１）がエネルギＥ（sel_dir−１）より小さいと判定された場合、その処理は、ステップＳ９９に進む。一方、ステップＳ９８において、エネルギＥ（sel_dir＋１）がエネルギＥ（sel_dir−１）以上であると判定された場合、その処理は、ステップＳ１０２に進む。
【０１４１】
ステップＳ９９において、方向判別部１２３は、選択された局所的なエッジの方向(sel_dir)の右に隣り合う実在方向(sel_dir＋１)の上記の式（７）で計算されたエネルギdiff（sel_dir＋１）が、選択された局所的なエッジのバーチャル方向(sel_dir)の左に隣り合うの実在方向(sel_dir−１)の上記の式（７）で計算されたエネルギdiff（sel_dir−１）より小さいか否かを判定する。
【０１４２】
ステップＳ９９において、エネルギdiff（sel_dir＋１）がエネルギdiff（sel_dir−１）より小さいと判定された場合、その処理は、ステップＳ１００に進む。
【０１４３】
一方、ステップＳ９９において、エネルギdiff（sel_dir＋１）がエネルギdiff（sel_dir−１）以上である場合、方向判別部１２３は、バーチャル方向を実在方向に代理すること（バーチャル方向を実在方向に置き換えて設定すること）は不可能であるとみなし、バーチャル方向を選択方向として、方向判別処理を終了して、図６のフローチャートにおけるステップＳ５６に進む。このとき、方向判別部１２３は、方向補間部１３１に、局所的なエッジの方向sel_dir（後述する図１８におけるＬsel_dirの方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。
【０１４４】
ステップＳ１００において、方向判別部１２３は、選択された局所的なエッジのバーチャル方向(sel_dir)が、垂直方向の左に隣り合うのバーチャル方向(mid_dir−１)と一致しないか否かを判定する。
【０１４５】
ステップＳ１００において、例えば、sel_dirがmid_dir−１に一致すると判定された場合、方向判別部１２３は、バーチャル方向を実在方向に代理すること（バーチャル方向を実在方向に置き換えて設定すること）は不可能であるとみなし、バーチャル方向を選択方向として、方向判別処理を終了して、図６のフローチャートにおけるステップＳ５６に進む。このとき、方向判別部１２３は、方向補間部１３１に、局所的なエッジの方向sel_dir（後述する図１８におけるＬsel_dirの方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。
【０１４６】
ステップＳ１００において、sel_dirがmid_dir−１に一致しないと判定された場合、ステップＳ１０１において、方向判別部１２３は、バーチャル方向を実在方向に代理すること（バーチャル方向を実在方向に置き換えて設定すること）が可能であるとみなし、選択方向(sel_dir)を、バーチャル方向として選択された局所的なエッジの方向(sel_dir)の右に隣り合う実在方向(sel_dir＋１)に置き換える。
【０１４７】
一方、ステップＳ１０２において、方向判別部１２３は、選択された局所的なエッジのバーチャル方向(sel_dir)の左に隣り合うの実在方向(sel_dir−１)の上記の式（６）で計算されたエネルギＥ（sel_dir−１）が、選択された局所的なエッジの方向(sel_dir)の右に隣り合う実在方向(sel_dir＋１)の上記の式（６）で計算されたエネルギＥ（sel_dir＋１）より小さいか否かを判定する。
【０１４８】
ステップＳ１０２において、例えば、エネルギＥ（sel_dir−１）がエネルギＥ（sel_dir＋１）より小さいと判定された場合、その処理は、ステップＳ１０３に進む。
【０１４９】
一方、ステップＳ１０２において、例えば、エネルギＥ（sel_dir−１）がエネルギＥ（sel_dir＋１）以上である場合、方向判別部１２３は、バーチャル方向を実在方向に代理すること（バーチャル方向を実在方向に置き換えて設定すること）は不可能であるとみなし、バーチャル方向を選択方向として、方向判別処理を終了して、図６のフローチャートにおけるステップＳ５６に進む。このとき、方向判別部１２３は、方向補間部１３１に、局所的なエッジの方向sel_dir（後述する図１８におけるＬsel_dirの方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。
【０１５０】
ステップＳ１０３において、方向判別部１２３は、選択された局所的なエッジのバーチャル方向(sel_dir)の左に隣り合うの実在方向(sel_dir−１)の上記の式（７）で計算されたエネルギdiff（sel_dir−１）が、選択された局所的なエッジの方向(sel_dir)の右に隣り合う実在方向(sel_dir＋１)の上記の式（７）で計算されたエネルギdiff（sel_dir＋１）よりも小さいか否かを判定する。
【０１５１】
ステップＳ１０３において、例えば、diff（sel_dir−１）がdiff（sel_dir＋１）より小さい場合、その処理は、ステップＳ１０４に進む。
【０１５２】
一方、ステップＳ１０３において、例えば、diff（sel_dir−１）がdiff（sel_dir＋１）以下である場合、すなわち、等しい場合、バーチャル方向を実在方向に代理すること（バーチャル方向を実在方向に置き換えて設定すること）は不可能であるとみなし、バーチャル方向を選択方向として、方向判別処理を終了して、図６のフローチャートにおけるステップＳ５６に進む。このとき、方向判別部１２３は、方向補間部１３１に、局所的なエッジの方向sel_dir（後述する図１８におけるＬsel_dirの方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。
【０１５３】
ステップＳ１０４において、方向判別部１２３は、選択された局所的なエッジのバーチャル方向の選択方向(sel_dir)と垂直方向の左に隣り合うのバーチャル方向(mid_dir＋１)とが一致するか否かを判定する。
【０１５４】
ステップＳ１０４において、例えば、選択方向sel_dirがmid_dir＋１と一致すると判定された場合、方向判別部１２３は、バーチャル方向を実在方向に代理すること（バーチャル方向を実在方向に置き換えて設定すること）は不可能であるとみなし、バーチャル方向を選択方向として、方向判別処理を終了して、図６のフローチャートにおけるステップＳ５６に進む。このとき、方向判別部１２３は、方向補間部１３１に、局所的なエッジの方向sel_dir（後述する図１８におけるＬsel_dirの方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。
【０１５５】
一方、ステップＳ１０４において、sel_dirがmid_dir＋１に一致しないと判定された場合、ステップＳ１０５において、方向判別部１２３は、バーチャル方向を実在方向に代理すること（バーチャル方向を実在方向に置き換えて設定すること）は可能であるとみなし、選択された局所的なエッジのバーチャル方向の選択方向(sel_dir)を選択された局所的なエッジの方向(sel_dir)の左に隣り合う実在方向(sel_dir−１)に置き換えて、方向判別処理を終了して、図６のフローチャートにおけるステップＳ５６に進む。このとき、方向判別部１２３は、方向補間部１３１に、局所的なエッジの方向sel_dir（後述する図１８におけるＬsel_dirの方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。
【０１５６】
図１４は、方向判別処理の具体的な例を表している。図１４の例においては、実在画素Ｙ0,0の画素値（０）と、実在画素Ｙ1,4の画素値（２００）との差、バーチャル画素Ｙ0,1/2の画素値（０）と、バーチャル画素Ｙ1,7/2の画素値（２００）との差、実在画素Ｙ0,1の画素値（０）と、実在画素Ｙ1,3の画素値（２００）との差、バーチャル画素Ｙ0,3/2の画素値（０）と、バーチャル画素Ｙ1,5/2の画素値（１００）との差、実在画素Ｙ0,2の画素値（０）と、実在画素Ｙ1,2の画素値（２００）との差、バーチャル画素Ｙ0,5/2の画素値（０）と、バーチャル画素Ｙ1,3/2の画素値（１００）との差、実在画素Ｙ0,3の画素値（０）と、実在画素Ｙ1,1の画素値（０）との差、バーチャル画素Ｙ0,7/2の画素値（１００）と、バーチャル画素Ｙ1,1/2の画素値（０）との差、および実在画素Ｙ0,4の画素値（２００）と、実在画素Ｙ1,0の画素値（０）との差が、それぞれ演算される。
【０１５７】
また、実在画素Ｙ0,0と実在画素Ｙ1,4を結ぶ方向を方向Ｌ０とし、バーチャル画素Ｙ0,1/2とバーチャル画素Ｙ1,7/2とを結ぶ方向をＬ１とし、実在画素Ｙ0,1と実在画素Ｙ1,3とを結ぶ方向を方向Ｌ２とし、バーチャル画素Ｙ0,3/2とバーチャル画素Ｙ1,5/2とを結ぶ方向を方向Ｌ３とし、実在画素Ｙ0,2と実在画素Ｙ1,2とを結ぶ方向を方向Ｌ４とし、バーチャル画素Ｙ0,5/2とバーチャル画素Ｙ1,3/2とを結ぶ方向を方向Ｌ５とし、実在画素Ｙ0,3と実在画素Ｙ1,1とを結ぶ方向を方向Ｌ６とし、バーチャル画素Ｙ0,7/2とバーチャル画素Ｙ1,1/2とを結ぶ方向を方向Ｌ７とし、実在画素Ｙ0,4と実在画素Ｙ1,0とを結ぶ方向をＬ８と称するものとし、以降同様に称するものとする。
【０１５８】
尚、図８において、実線の丸で記されているのが実在画素であり、点線の丸で記されているのが実在画素より補間生成された画素であるバーチャル画素を示している。さらに、実在画素間を結ぶ矢印は実線が示されており、バーチャル画素間を結ぶ矢印は点線で示されている。
【０１５９】
ステップＳ８１におけるmax_dir方向選択処理により、注目画素を中心に、右側と右側に、上記の式（６）で計算されたエネルギＥ（dir）（dir＝2,3,5,6）の値のうち、最も高い値（この例の場合、画素Ｙ0,1と画素Ｙ1,3を結ぶL2方向）が選択され、その２つの画素が対応する対角線の方向が注目画素を中心にした局所的なエッジの方向に直交した方向(max_dir)が選択方向として選択される。
【０１６０】
また、ステップＳ８２におけるleft_dir方向選択処理により、注目画素を中心に、左側に、上記の式（６）で計算されたエネルギＥ（dir）（dir＝0,1,2,3,4）の値のうち、最も小さい値（この例の場合、画素Ｙ0,3と画素Ｙ1,1を結ぶL4方向）が注目画素を中心にした左側の局所的なエッジの方向(left_dir)が選択方向として選択される。
【０１６１】
さらに、ステップＳ８３におけるright_dir方向選択処理により、注目画素を中心に、右側に、上記の式（６）で計算されたエネルギＥ（dir）（dir＝4,5,6,7,8）の値のうち、最も小さい値（この例の場合、画素Ｙ0,3と画素Ｙ1,1を結ぶL6方向）が注目画素を中心にした右側の局所的なエッジの方向(right_dir)が選択方向として選択される。
【０１６２】
ステップＳ８４において、注目画素を中心に、右側の局所的なエッジの方向L6(right_dir=6)と局所的なエッジの方向に直交した方向L2(max_dir=2)の角度の絶対値｜角度(max_dir,right_dir)｜が、左側の局所的なエッジの方向L4(left_dir=4)と局所的なエッジの方向に直交した方向L3(max_dir=3)の角度の絶対値｜角度(max_dir,left_dir)｜より小さいか否かが判定される。
【０１６３】
図１４の場合、｜角度(max_dir,right_dir)｜=|max_dir−right_dir|=|2−6|=4で、かつ、｜角度(max_dir,left_dir)｜=|max_dir−left_dir|=|2−4|=2の場合、｜角度(max_dir,left_dir)｜=2は、｜角度(max_dir,right_dir)｜=4より小さいので、その処理は、ステップＳ８６に進む。
【０１６４】
さらに、ステップＳ８６において、注目画素を中心に、右側の局所的なエッジの方向L6(right_dir=6)と局所的なエッジの方向に直交した方向L2(max_dir=2)の角度の絶対値、｜角度(max_dir,right_dir)｜が、左側の局所的なエッジの方向L4(left_dir=4)と局所的なエッジの方向に直交した方向L4(max_dir=4)の角度の絶対値、｜角度(max_dir,left_dir)｜よりも大きいか否かが判定される。
【０１６５】
図１４の場合、｜角度(max_dir,right_dir)｜=4は、｜角度(max_dir,left_dir)｜=2より大きいので、その処理は、ステップＳ８７に進み、注目画素を中心にした右側の局所的なエッジの方向L6(right_dir=6)が選択され、その２つの画素が対応する対角線の方向L6が局所的なエッジの方向と見なされることになり、その処理は、ステップＳ９７に進む。
【０１６６】
ステップＳ９７において、前段で選択された局所的なエッジの方向L6(sel_dir)がバーチャル方向であるか否かが判定される。
【０１６７】
図１４の場合、選択されたsel_dir=6が偶数、すなわち、sel_dir＝２nなのでsel_dirが実在方向であるとみなされ、方向選択処理が終了することになる。
【０１６８】
結果として、その処理は、図６のステップＳ５６に進み、方向判別部１２３が、方向補間部１３１に、局所的なエッジの方向L6を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。
【０１６９】
また、図１４は、原画のI_Imageの上行の５画素（実在画素）と下行の５画素（実在画素）との差から局所的なエッジ方向が推測される例を表している。図１４の例においては、Ｎの値が５とされているが、このＮの値としてより大きな値を用いることで、より正確に、かつ、より多くの方向のエッジの検出が可能となる。
【０１７０】
ここで、図６のフローチャートの説明に戻る。
【０１７１】
ステップＳ５５のエッジ方向判別処理により、エッジ方向が判別されると、ステップＳ５６において、方向補間部１３１は、その判別されたエッジ方向の画素を用いて、補間処理を行う（方向補間処理が行われる）。この方向補間処理は、エッジ方向に対応する２つの画素の画素値に基づいて、その間に位置する画素の画素値を補間することを意味する。例えば、図１４の例では、画素Ｙ0,3と画素Ｙ1,1の画素値の平均値（０）が、両者の間の画素の画素値とされる。
【０１７２】
ステップＳ５７において、信頼度格付部１２４は、構造コレクタ処理を実行する。この構造コレクタ処理は、座標(X+N/2,Y+0.5)に補間された画素I_Image(X+N/2,Y+0.5)と、その垂直の近傍画素と斜め方向の近傍画素、すなわち座標up_line(N/2)、up_line(N/2-1)、up_line(N/2+1)と、座標down_line(N/2) 、down_line(N/2-1)、down_line(N/2+1)との関係を解析することで、更新された局所構造（ステップＳ５６の方向補間処理で生成された画素とその上下・斜めの画素）の整合性をチェックする処理である。
【０１７３】
すなわち、この構造コレクタ処理では、上行の中心画素から更新された画素を減算する処理が行われ、さらに、更新された画素から下行の中心画素を減算する処理が行われる。さらに、以上のようにして得られた２つの減算結果を乗算することで、垂直方向の変化を表す値V(N/2)が計算される。すなわち、ステップＳ５７においては、次の式（８）が演算される。
【０１７４】
V(N/2)=(up_line(N/2)−I_Image(X+N/2,Y+0.5))
×(I_Image(X+N/2,Y+0.5)−down_line(N/2))
・・・（８）
【０１７５】
ここで、I_Image(X+N/2,Y+0.5)は、補間生成された更新されている画素の画素値である。
【０１７６】
そして、この構造コレクタ処理では、上行の中心画素の右に隣り合う画素を減算する処理が行われ、さらに、上行の中心画素の左に隣り合う画素から上行の中心画素を減算する処理が行われる。また、以上のようにして得られた２つの減算結果が乗算されることにより、上行の水平方向の変化を表す値H_up(N/2)が計算される。すなわち、ステップＳ５７においては、次の式（９）が演算される。
【０１７７】
H_up(N/2)=(up_line(N/2)−up_line(N/2+1))
×(up_line(N/2−1)−up_line(N/2))
・・・（９）
【０１７８】
そして、この構造コレクタ処理では、下行の中心画素から右に隣り合う画素を減算する処理が行われ、さらに、下行の中心画素の左に隣り合う画素から下行の中心画素を減算する処理が行われる。さらに、以上のようにして得られた２つの減算結果を乗算することで、下行の水平方向の変化を表す値H_down(N/2)が計算される。すなわち、ステップＳ５7
においては、次の式（１０）が演算される。
【０１７９】
H_down(N/2)=( down _line(N/2)−down _line(N/2+1))
×(down _line(N/2−1)−down _line(N/2))
・・・（１０）
【０１８０】
ステップＳ５８において、信頼度格付部１２４は、ステップＳ５７での演算結果に基づいて、更新された局所構造の整合性があるか否かを判定する。この判定は、上記式（８），乃至式（１０）で演算された値V(N/2)、H_up(N/2)、およびH_down(N/2)が正であるか否かに基づいて行われる。
【０１８１】
値V(N/2)が負であり、かつ、値H_up(N/2)が負であり、かつ、値H_down(N/2)が負であり、かつ、減算up_line(N/2)−I_Image(X+N/2,Y+0.5)の結果の絶対値が、所定の閾値を越えて、かつ、減算I_Image(X+N/2,Y+0.5)−down_line(N/2)の結果の絶対値が所定の閾値を越えて、かつ、減算up_line(N/2)−up_line(N/2+1)の結果の絶対値が所定の閾値を越えて、かつ、減算up_line(N/2−1)−up_line(N/2)の結果の絶対値が所定の閾値を越えて、かつ、減算down_line(N/2)−down_line(N/2+1)の結果の絶対値が所定の閾値を越えて、かつ、減算down_line(N/2−1)−down_line(N/2)の結果の絶対値が所定の閾値を越える場合、整合性がないと見なされる。
【０１８２】
すなわち、局所方向の識別が誤っており、ステップＳ５６で生成された画素値は、適切でないと判断される。この場合、信頼度格付部１２４は、ステップＳ５９において、その補間画素の信頼度を０として方向性分布生成部１２５に出力する。
【０１８３】
ステップＳ５９において、信頼度格付部１２４は、その補間画素の信頼度を０として方向性分布生成部１２５に出力する。
【０１８４】
これに対して、ステップＳ５８において、信頼度格付部１２４は、上記の条件の中にひとつでも満たされない条件がある場合、整合性があると見なし、ステップＳ６０において、その補間画素の信頼度を１として方向性分布生成部１２５に出力する。
【０１８５】
ステップＳ６１において、注目画素に対する注目領域の全ての補間画素が補間されたか否かが判定され、注目領域の全ての補間画素が補間されていないと判定された場合、その処理は、ステップＳ５１に戻り、全ての補間画素が補間されるまで、ステップＳ５１乃至Ｓ６１の処理が繰り返され、ステップＳ６１において、全ての補間画素が補間されたと判定された場合、その処理は、ステップＳ６２に進む。ここで、注目画素に対する注目領域とは、例えば、図１５で示すＰ（画素数）×Ｍ（ライン）の範囲の補間画素である。尚、図１５においては、白丸が注目画素（補間画素）を、黒丸が補間画素を、格子状に塗りつぶされた画素を原画像の画素（元々存在する画素）として示している。ステップＳ５１において、全ての補間画素が補間されるということは、図中の黒丸で示される画素が全て補間されたことを示し、その処理は、ステップＳ６２に進む。
【０１８６】
ステップＳ６２において、傾き選択処理が実行される。
【０１８７】
ここで、図１６のフローチャートを参照して、傾き選択処理について説明する。
【０１８８】
ステップＳ２１１において、方向性分布生成部１２５は、方向性分布を生成する。すなわち、方向性分布生成部１２５は、これまで入力されたエッジの方向と、その信頼度の情報から、方向性分布を生成する。すなわち、方向性分布生成部１２５には、図１７で示すように、補間画素の配置に対応して、それぞれの補間画素の補間方向と対応する信頼度の情報が入力されていることになる。
【０１８９】
尚、図１５においては、図中５画素×３ラインの補間画素が表示されているので、図１７の左部には、これに対応する１５個の補間画素の配置が表示されている。また、図１７の中央部には、各補間画素の補間方向が示されている。この補間画素の方向は、図１８で示すように、注目画素について点対象となるように設定された方向に対応する番号であり、実在方向Ｌ０は、上段左端の実在画素と下段右端の実在画素を結ぶ垂直な直線上の方向であり、バーチャル方向Ｌ１は、上段左端から２番目のバーチャル画素と下段右端から２番目のバーチャル画素を結ぶ垂直な直線上の方向であり、実在方向Ｌ２は、上段左から３番目の実在画素と下段右から３番目の実在が素画素を結ぶ直線上の方向であり、バーチャル方向Ｌ３は、上段左から４番目のバーチャル画素と下段右から４番目のバーチャル画素を結ぶ直線上の方向であり、実在方向Ｌ４は、真上の実在画素と真下の実在画素を結ぶ直線上の方向であり、バーチャル方向Ｌ５は、上段右から４番目のバーチャル画素と下段左から４番目のバーチャル画素を結ぶ直線上の方向であり、実在方向Ｌ６は、上段右から３番目の実在画素と下段左から３番目の実在画素を結ぶ直線上の方向であり、バーチャル方向Ｌ７は、上段右端から２番目のバーチャル画素と下段左端から２番目のバーチャル画素を結ぶ直線上の方向であり、実在方向Ｌ８は、上段右端の実在画素と下段左端の実在画素を結ぶ直線上の方向である。
【０１９０】
また、図１７の右部には、信頼度の分布が示されており、信頼度として２が報告された画素は、△に、信頼度として１が報告された画素は、○に、信頼度として０が報告された画素には×が表示されている。
【０１９１】
すなわち、図１７によれば、補間画素の補間方向は、上段の左から４，４，８，８，８であり、中段の左から８，７，８，７，８であり、下段の左から８，８，８，４，４であることが示されている。また、信頼度は、上段の左から△，△，○，○，○であり、中断の左から、○，○，×，○，○であり、下段の左から○，○，○，△，△である。
【０１９２】
この結果、方向性分布生成部１２５は、図１９で示すように、各方向別につけられている○の数を示すヒストグラムからなる方向性分布を生成することにより、方向別LI（I=0,1,…2N−2）の分布Population_LIを示すことができる。すなわち、図１７においては、実在方向Ｌ０は、○（Population_L０）が０個、×が０個、バーチャル方向Ｌ１は、○（Population_L１）が０個、×が０個、実在方向Ｌ２は、○（Population_L２）が０個、×が０個、バーチャル方向Ｌ３は、○（Population_L３）が０個、×が２個、実在方向Ｌ４は、○（Population_L４）が０個、△が４個、×が０個、バーチャル方向Ｌ５は、○（Population_L５）が０個、×が０個、実在方向Ｌ６は、○（Population_L６）が０個、×が０個、バーチャル方向Ｌ７は、○（Population_L７）が２個、×が０個、実在方向Ｌ８は、○（Population_L８）が８個、×が１個、となる。
【０１９３】
ステップＳ２１１において、方向性分布が生成され、生成された方向性分布の情報が傾き選択部１２６に供給される。
【０１９４】
ここで、図１６のフローチャートの説明に戻る。
【０１９５】
ステップＳ２１２において、傾き選択部１２６は、これらの方向性分布（補間方向と、対応する信頼度の分布）から以下のBalance関数を設定する。
【０１９６】
すなわち、まず、傾き選択部１２６は、以下の式（１１）で示す注目画素(X,Y)に対応するBalance関数を設定する。
【０１９７】
Balance (X,Y) =ΣI=N,... 2N-2 Population_LI−ΣI=0,...N-2 Population_LI
・・・（１１）
【０１９８】
Population_LIはある方向LIに対して、信頼度として１が報告された画素の数を示す値である。Total_populationは各方向LＩ（Ｉ＝０,…2N-2）に対して、信頼度として１が報告された画素の数を足し合わせた総数を示す値である。
【０１９９】
上述のBalance関数の式は、注目画素を中心に方向性の分布情報を解析したひとつの傾きを表す関数の実装の例であり、その他の関数であったもよい。
【０２００】
ステップＳ２１３において、傾き選択部１２６は、Balance(X,Y)が０（ゼロ）であるか否かを判定し、例えば、０（ゼロ）であると判定した場合、ステップＳ２１７において、図１８で定義する方向ＬＩのうち、最も信頼度の高い方向としてＩが、I=N‐1（垂直方向）を最も信頼度の高い方向として選択する。
【０２０１】
一方、ステップＳ２１３において、Balance(X,Y)が０（ゼロ）ではないと判定された場合、ステップＳ２１４において、傾き選択部１２６は、Balance(X,Y)が正の値であるか否かを判定する。
【０２０２】
ステップＳ２１４において、例えば、Balance(X,Y)が正の値であると判定された場合、ステップＳ２１５において、傾き選択部１２６は、ステップＳ２１１において生成された方向性分布から、図１８で定義する方向ＬＩのうち、最も信頼度の高い傾きとして、Ｉが、I=（N+1）から2N−２の範囲を選択し、統計斜補間部１２８に供給する。
【０２０３】
一方、ステップＳ２１４において、正の値ではないと判定された場合、ステップＳ２１６において、傾き選択部１２６は、図１８で定義する方向ＬＩのうち、最も信頼度の高い傾きとして、Ｉが、I=0からN−２の範囲を選択し、統計斜補間部１２８に供給する。
【０２０４】
すなわち、式（１１）で定義される関数は、垂直方向を中心として、方向を示す矢印の上端の位置を方向Ｌ４で左右に分けた場合、左右のどちら側に信頼性の傾向があるかを示すものであり、例えば、図１８で定義する方向Ｌ０、Ｌ１、Ｌ２とＬ３のグループ全体の信頼性と、方向Ｌ５、Ｌ６、Ｌ７、とＬ８のグループ全体の信頼性のそれぞれの和をとった値の差分がステップＳ２１５の処理により求められて、その大小比較から、垂直方向に対して左右のどちらに傾いているかが求められ、信頼性の傾向を示すグループの中から、傾きの分布が計算されるようになっている。
【０２０５】
図１９の場合、方向性分布は、Population_L0が０、Population_L1が０、Population_L2が０、Population_L3が０、Population_L4が０、Population_L5が０、Population_L6が０、Population_L7が２、Population_L8が８となる。
【０２０６】
ここで、Balance=（Population_L8＋Population_L7＋Population_L6＋Population_L5-Population_L0-Population_L1-Population_L2-Population_L3）=10なので、Balance関数は、正となる（ステップＳ２１４の処理）ので、方向Ｌ５,Ｌ６,Ｌ７,Ｌ８のグループが最も信頼性の高い傾きとして選択されることになる。
【０２０７】
ステップＳ２１８において、傾き選択部１２６は、計算された傾きの分布の情報を統計斜補間部１２８に出力する。
【０２０８】
Balance(X,Y)が０（ゼロ）であると判定した場合、ステップＳ２１７において、図１８で定義する方向ＬＩのうち、最も信頼度の高い方向としてＩが、I=N‐1（垂直方向）を最も信頼度の高い方向として選択する。
【０２０９】
ここで、図６のフローチャートの説明に戻る。
【０２１０】
ステップＳ６３およびステップＳ６４において、傾き選択部１２６で生成された方向性分布の情報に基づいて、信号に存在するエッジとテクスチャの分離処理が施され、エッジ強度情報およびテクスチャ強度情報が生成される。
【０２１１】
すなわち、ステップＳ６３において、エッジ強度情報生成部１３２は、以下の式（１２）で示すように、注目画素(X,Y)の斜方向と垂直方向を組み合わせた重みweight_edge(X,Y)を設定し、１次元垂直イメージリフレッシュ１７に出力する。
【０２１２】
weight_edge(X,Y)
＝(ABS(Balance(X,Y))+Vertical_population(X,Y))/  Total_population(X,Y)
・・・（１２）
Balance(X,Y) =ΣI=N,... 2N-2 Population_LI−ΣI=0,...N -2 Population_LI
Vertical_population(X,Y) =ΣI=N-1 Population_LI
Total_population(X,Y)=ΣI=0,... 2N-2 Population_LI
【０２１３】
Population_LIはある方向LIに対して、信頼度として１が報告された画素の数を示す値である。Vertical_populationは垂直方向LＩ（Ｉ＝Ｎ−１）に対して、信頼度として１が報告された画素の数を示す値である。Total_populationは各方向LＩ（Ｉ＝０,…2N-2）に対して、信頼度として１が報告された画素の数を足し合わせた総数を示す値である。
【０２１４】
すなわち、斜方向と垂直方向を組み合わせた重みは、全信頼度に対するBalance関数の絶対値に加算するVertical_populationの割合として設定される。
【０２１５】
上述のweight_edge関数の式は、注目画素を中心に方向性の分布情報を解析したひとつのエッジ強度情報を現す関数の例であり、その他の関数を設定するようにしても良い。例えば、注目画素に対する注目領域とは、例えば、図１５で示すＰ（画素数）×Ｍ（ライン）の範囲の中に各画素の方向に対して、隣り合う画素の方向との比較を行い、方向が同一である場合、方向性が揃っているため、エッジ強度が高いと評価し、逆に、方向が同一ではない場合、方向性が揃っていないため、エッジ強度が低いと評価する関数であってもよい。
【０２１６】
ステップＳ６４において、テクスチャ強度情報生成部１３３は、以下の式（１３）で示されるように、注目画素(X,Y)のすべての方向を組み合わせた重みweight_texture(X,Y)を設定し、１次元垂直イメージリフレッシュ処理部１７に出力する。
【０２１７】
weight_texture(X,Y)＝Total_population(X,Y)/ (Ｐ（画素数）×Ｍ（ライン）)
・・・（１３）
Total_population(X,Y)=ΣI=0,... 2N-2 Population_LI
【０２１８】
Population_LIはある方向LIに対して、信頼度として１が報告された画素の数を示す値である。Total_populationは、格方向LＩ（Ｉ＝０,…2N-2）に対して、信頼度として１が報告された画素の数を足し合わせた総数を示す値である。
【０２１９】
すなわち、注目画素(X,Y)のすべての方向を組み合わせた重みweight_texture(X,Y)は、注目画素を中心に方向性の分布情報を解析するために使用した全画素に対する各方向LＩ（Ｉ＝０,…2N-2）の信頼度として１が報告された画素数の割合として設定される。
【０２２０】
上述のweight_texture関数の式は、注目画素を中心に方向性の分布情報を解析したひとつのエッジ強度情報を現す関数の例であり、その他の関数を設定するようにしても良い。例えば、注目画素に対する注目領域が図１５で示すＰ（画素数）×Ｍ（ライン）の範囲のである場合、その中の各画素の方向に対して、隣り合う画素の方向との比較を行い、方向が同一の場合、方向性が揃っているため、テクスチャ強度が低いと評価し、逆に、方向が違う場合、方向性が揃っていないため、テクスチャ強度が高いと評価する関数も考えられる。
【０２２１】
ステップＳ６６において、統計斜補間部１２８は、傾きの分布を計算する。
【０２２２】
例えば、ステップＳ２１４において、Balance(X,Y)が正の値であると判定された場合、統計斜補間部１２８は、I=（N+1）から2N−２の周囲で傾きの分布を計算する。
【０２２３】
すなわち、統計斜補間部１２８は、ステップＳ２１１において生成された方向性分布から、図１８で定義する方向ＬＩのうち、最も信頼度の高い傾きとして、Ｉが、I=（N+1）から2N−２の範囲を選択し、統計斜補間画素を以下の式（１４）を演算することにより求める。
【０２２４】
統計斜補間画素（X,Y）＝｛１÷ΣI=N+1,... 2N-2 Population_LI｝
×｛ΣI=N+1,... 2N-2 Population_LI×傾斜平均画素（LI）｝
・・・（１４）
このとき、統計斜補間部１２８は、I=0からN−２の周囲で傾きの分布を計算する。
【０２２５】
一方、ステップＳ２１４において、正の値ではないと判定された場合、統計斜補間部１２８は、図１８で定義する方向ＬＩのうち、最も信頼度の高い傾きとして、Ｉが、I=0からN−２の範囲を選択し、統計斜補間画素を以下の式（１５）を演算することにより求める。
【０２２６】
統計斜補間画素（X,Y）＝｛１÷ΣI=0,... N-2 Population_LI｝
×｛ΣI=0,... N-2 Population_LI×傾斜平均画素（LI）｝
・・・（１５）
【０２２７】
すなわち、図１８の場合、傾きＬ５、Ｌ６、Ｌ７、Ｌ８が選択されるので、図１８のように注目画素が存在する場合、統計斜補間部１２８は、バーチャル方向Ｌ５は、上段のライン上にある右から４番目のバーチャル画素と下段左から４番目のバーチャル画素を結ぶ直線上の方向であり、実在方向Ｌ６は、上段右から３番目の実在画素と下段左から３番目の実在画素を結ぶ直線上の方向であり、バーチャル方向Ｌ７は、上段右端から２番目のバーチャル画素と下段左端から２番目のバーチャル画素を結ぶ直線上の方向であり、実在方向Ｌ８は、上段右端の実在画素と下段左端の実在画素を結ぶ直線上の方向であり、格方向LIに存在する画素間の平均画素値、傾斜平均画素（LI）、の傾き分布による重み付け平均画素値（統計斜補間画素）を以下の式（１６）乃至式（２０）のように計算する。
【０２２８】
統計斜補間画素（X,Y）
＝｛１÷（Population_L5＋Population_L6＋Population_L7＋Population_L8）｝
×｛Population_L5×傾斜平均画素（L5）＋Population_L6×傾斜平均画素（L6）
＋Population_L7×傾斜平均画素（L7）＋Population_L8×傾斜平均画素（L8）｝
・・・（１６）
平均画素（L5）＝0.5×（バーチャル画素Ｙ0,5/2＋バーチャル画素Ｙ１,3/2）
・・・（１７）
平均画素（L6）＝0.5×（実在画素Ｙ0,3＋実在画素Ｙ１,1）
・・・（１８）
平均画素（L7）＝0.5×（バーチャル画素Ｙ0,7/2＋バーチャル画素Ｙ１,1/2）
・・・（１９）
平均画素（L8）＝0.5×（実在画素Ｙ0,4＋実在画素Ｙ１,0）
・・・（２０）
【０２２９】
ステップＳ６５において、線形補間部１２７は、注目画素に対して垂直方向の上下に存在する複数の画素間のフィルタ処理による画素値を従来の補間画素である線形補間画素として求めて合成部１３０に出力する。
【０２３０】
ステップＳ６６において、統計斜補間部１２８は、傾き選択部１２６より選択された傾を含む各方向に存在する画素間の平均画素値の傾き分布による重み付け平均画素値を統計斜補間画素値として合成部１３０に出力する。
【０２３１】
ステップＳ６７において、斜重み付け部１２９は、以下の式（２１）で示すように、注目画素(X,Y)の斜方向の重みweight_slant(X,Y)を設定し、合成部１３０に出力する。
【０２３２】
weight_slant(X,Y)＝ABS（ABS(Balance(X,Y))−Offset）/Total_population(X,Y)
・・・（２１）
Balance(X,Y) =ΣI=N+1,... 2N-2 Population_LI−ΣI=0,...N -2 Population_LI
Total_population(X,Y)=ΣI=0,... 2N-2 Population_LI
Offset＝閾値
【０２３３】
すなわち、斜方向の重みは、全信頼度に対するBalance関数の絶対値の割合として設定される。
【０２３４】
ステップＳ６８において、合成部１３０は、以下の式（２２）の演算により、線形補間部１２７より入力された線形補間画素と統計斜補間画素を重み付けして合成し、合成補間画素として出力する。
【０２３５】
合成補間画素(X,Y)
=（1−weight_slant(X,Y)）×線形補間画素（X,Y））
+weight_slant(X,Y)×（統計斜補間画素（X,Y））
・・・（２２）
【０２３６】
すなわち、線形補間画素にかかる重みは、（1−weight_slant(X,Y)）で表現できるので、線形補間で求められた画素値には、線形補間に係る重みとして（1−weight_slant(X,Y)）を乗じ、斜補間画素にかかる重みとしてweight_slant(X,Y)が乗じられて、線形和をとった合成補間画素を最終的な合成補間画素とする。これにより、垂直方向と斜方向の補間が、その重みによりバランスよく合成されるため、正確な合成補間画素を生成することが可能となる。
【０２３７】
I_Imageの個々の垂直座標（Y+0.5）に位置する未知行の個々の座標(X+N/2,Y+0.5)に位置する未知画素I_Image(X+N/2,Y+0.5)を求めるため、同様の処理が繰り返し実行される。
【０２３８】
尚、以上の例においては、注目領域が５画素×３ラインの場合について説明してきたが、例えば、注目領域は、それ以外の画素数からなる領域となるようにしてもよい。
【０２３９】
また、エッジ方向の求め方としては、図１４で示されるように、式（６）により、注目画素を中心として、対角方向に存在する1組のペアとなる画素間の画素値の差分値のうち、最も小さくなるペアの方向をエッジの方向としてきたが、方向ごとに複数の画素間の差分を使ってエッジの方向を求めるようにしてもよく、例えば、図２０乃至図２６で示されるように、複数の画素間の差分値を求めて、それらの合計を使用するようにしても良い。すなわち、図２０においては、画素Ｙ0,0と画素Ｙ1,3、画素Ｙ0,1と画素Ｙ1,4、画素Ｙ0,0と画素Ｙ０,１、及び、画素Ｙ１,３と画素Ｙ１,４のそれぞれの画素間差分の重み付け平均を求め、図２１においては、画素Ｙ0,０と画素Ｙ1,２の画素間差分、画素Ｙ0,1と画素Ｙ1,3の画素間差分と画素Ｙ0,2と画素Ｙ1,4の画素間差分の平均を求め、図２２においては、画素Ｙ0,0と画素Ｙ1,1、画素Ｙ0,1と画素Ｙ1,２、画素Ｙ0,2と画素Ｙ1,３と画素Ｙ0,３と画素Ｙ1,４の画素間差分の平均を求め、図２３においては、画素Ｙ0,0と画素Ｙ1,０、画素Ｙ0,1と画素Ｙ1,1、画素Ｙ0,2と画素Ｙ1,2、画素Ｙ0,3と画素Ｙ1,3、画素Ｙ0,4と画素Ｙ1,4、及び、画素Ｙ0,１と画素Ｙ０,２、画素Ｙ0,３と画素Ｙ０,２、画素Ｙ0,１と画素Ｙ０,３、画素Ｙ１,１と画素Ｙ１,２、画素Ｙ１,３と画素Ｙ１,２、画素Ｙ１,１と画素Ｙ１,３、のそれぞれの画素間差分の重み付け平均を求め、図２４においては、画素Ｙ0,1と画素Ｙ1,0、画素Ｙ0,2と画素Ｙ1,1、画素Ｙ0,3と画素Ｙ1,2と画素Ｙ0,4と画素Ｙ1,3の画素間差分の平均を求め、図２５においては、画素Ｙ0,2と画素Ｙ1,0の画素間差分、画素Ｙ0,3と画素Ｙ1,1と画素Ｙ0,４と画素Ｙ1,２の画素間差分の平均を求め、さらに、図２６においては、画素Ｙ0,3と画素Ｙ1,0の画素間差分と画素Ｙ0,4と画素Ｙ1,1の画素間差分の平均を求め、それぞれの平均が上述の方向判別処理を用いて選択されたペアの組み合わせが存在する方向をエッジの方向と判定するようにしても良い。
【０２４０】
図５のフローチャートに戻って、以上のようにして、ステップＳ２１のアップサンプリング処理が行われた後、ステップＳ２２に進み、１次元垂直イメージリフレッシュ処理が実行される。この１次元垂直イメージリフレッシュ処理は、１次元垂直イメージリフレッシュ処理部１７により実行される。
【０２４１】
ここで、図２７のフローチャートを参照して、１次元垂直イメージリフレッシュ処理部１７による１次元垂直イメージリフレッシュ処理について説明する。
【０２４２】
ステップＳ２４１において、画像入力部１より入力された画像データのうち、処理していない画素があるか否かが判定され、処理されていない画素があると判定された場合、その処理は、ステップＳ２４２に進む。
【０２４３】
ステップＳ２４２において、垂直最大値最小値検出部１９２は、未処理画素を含めた上下５個の画素の画素値を比較して最大値と最小値を求める。すなわち、例えば、図２８に示すように、未処理画素が画素ｍであった場合、それを含めた上下の画素ｃ，ｈ，ｍ，r，w（図２８中の点線で囲まれた５画素エリア）の各画素値を読出し、図２９に示すように、その内の最大値（ｃ，ｈ，ｍ，ｒ，ｗ）と最小値（ｃ，ｈ，ｍ，ｒ，ｗ）を求める。
【０２４４】
ステップＳ２４３において、テクスチャフィルタ処理部１９３は、図２９に示す５画素エリアの画素ｃ，ｈ，ｍ，ｒ，ｗに、図２９に示すような１次元テクスチャフィルタ処理を施す。すなわち、１次元テクスチャフィルタは、（1/４−αT/2，0,αT＋1/2，0,1/4−αT/2）（0.5<αT）といったものであり、例えば、テクスチャフィルタが上述のタイプＡの場合、以下の式（２３）に示すような演算により、テクスチャフィルタ処理された画素値テクスチャ画素が求められる。
【０２４５】
テクスチャ画素（X,Y）
＝ｃ×（1/4−αT/2）＋m×(αT+1/2)＋w×（1/4−αT/2）
・・・（２３）
【０２４６】
ここで、係数αTは、テクスチャフィルタによるテクスチャの強調の程度を調節する係数である。
【０２４７】
ステップＳ２４４において、エッジフィルタ処理部１９３は、図２９に示す５画素エリアの画素ｃ，ｈ，ｍ，ｒ，ｗに、図２９に示すような１次元エッジフィルタ処理を施す。すなわち、１次元エッジフィルタは、（1/４−αE/2，1/4,αE，1/4,1/4−αE/2）（0.5<αE）といったものであり、例えば、エッジフィルタが上述のタイプＡの場合、以下の式（２４）に示すような演算により、エッジフィルタ処理された画素値エッジ画素が求められる。
【０２４８】
エッジ画素（X,Y）
＝ｃ×（1/4−αE/2）＋h×1/4＋m×αE＋r×1/4＋ｗ×（1/4−αE/2）
・・・（２４）
【０２４９】
ここで、係数αEは、フィルタによるエッジの強調の程度を調節することができる。
【０２５０】
ステップＳ２４５において、判別比較部１９４は、図２９に示すように、エッジフィルタ処理した画素値エッジ画素と最大値（ｃ，ｈ，ｍ，ｒ，ｗ）を比較し、エッジフィルタ処理した画素値エッジ画素が最大値（ｃ，ｈ，ｍ，ｒ，ｗ）以上であるか否かを判定する。例えば、ステップＳ２４５において、エッジフィルタ処理した画素値エッジ画素が最大値（ｃ，ｈ，ｍ，ｒ，ｗ）以上であると判定された場合、ステップＳ２４６において、判別比較部１９４は、画素値エッジ画素を最大値（ｃ，ｈ，ｍ，ｒ，ｗ）に置き換え、ステップＳ２４７に進む。
【０２５１】
ステップＳ２４５において、エッジフィルタ処理した画素値エッジ画素が最大値（ｃ，ｈ，ｍ，ｒ，ｗ）以上ではないと判定された場合、ステップＳ２５０において、判別比較部１９４は、エッジフィルタ処理した画素値エッジ画素と最小値（ｃ，ｈ，ｍ，ｒ，ｗ）を比較し、エッジフィルタ処理した画素値エッジ画素が最小値（ｃ，ｈ，ｍ，ｒ，ｗ）以下であるか否かを判定し、フィルタ処理した画素値エッジ画素が最小値（ｃ，ｈ，ｍ，ｒ，ｗ）以下であると判定した場合、その処理は、ステップＳ２５１に進む。
【０２５２】
ステップＳ２５１において、判別比較部１９４は、画素値エッジ画素を最小値（ｃ，ｈ，ｍ，ｒ，ｗ）に置き換え、ステップＳ２４７に進む。
【０２５３】
ステップＳ２５０において、エッジフィルタ処理した画素値エッジ画素が最小値（ｃ，ｈ，ｍ，ｒ，ｗ）以下ではないと判定された場合、その処理は、ステップＳ２４７に進む。
【０２５４】
すなわち、ステップＳ２４４の処理で、図２９に示すように、ステップＳ２４４の処理で求められた最大値（ｃ，ｈ，ｍ，ｒ，ｗ）、および、最小値（ｃ，ｈ，ｍ，ｒ，ｗ）が、画素ｃ，ｈ，ｍ，ｒ，ｗの局所的な範囲の最大値と最小値とみなされ、ステップＳ２４４の処理でエッジフィルタ処理して求められた画素値が、その最小値と最大値の範囲に含まれたとき、そのまま保存され、最小値（ｃ，ｈ，ｍ，ｒ，ｗ）以下のとき、画素値が最小値に、最大値（ｃ，ｈ，ｍ，ｒ，ｗ）以上のときは画素値が最大値に置き換えられる（クリッピングされる）。
【０２５５】
例えば、図３０の実例によると、エッジフィルタ処理した画素値エッジ画素「Ａ'」（図３０のケース２）と最大値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ａ」を比較し、エッジフィルタ処理した画素値エッジ画素「Ａ'」 （図３０のケース２）が最大値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ａ」以上であると判定され、エッジフィルタ処理した画素値エッジ画素「Ａ'」（図３０のケース２）を最大値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ａ」に置き換える（図３０のケース１）。
【０２５６】
一方、エッジフィルタ処理した画素値エッジ画素「Ｂ'」（図３０のケース２）が最大値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ａ」以上ではないと判定され、エッジフィルタ処理した画素値エッジ画素「Ｂ'」 （図３０のケース２）と最小値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ｂ」を比較し、エッジフィルタ処理した画素値エッジ画素「Ｂ'」 （図３０のケース２）が最小値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ｂ」以下であると判定し、エッジフィルタ処理した画素値エッジ画素「Ｂ'」を最小値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ｂ」に置き換える（図３０のケース１）。
【０２５７】
以上のような処理により、局所的な範囲の最大値（ｃ，ｈ，ｍ，ｒ，ｗ）と最小値（ｃ，ｈ，ｍ，ｒ，ｗ）との比較が行われるため、図３０のケース１に示されるように、明るいところの余計な突きあがり（図３０のケース２）を抑制しながら、暗いところの過度な潰れ（図３０のケース２）を回避できる。
【０２５８】
ステップＳ２４５において、判別比較部１９４は、エッジ近辺にコントラストをさらに強調するために、エッジフィルタ処理した画素値エッジ画素が最大値（ｃ，ｈ，ｍ，ｒ，ｗ）以上であるか否かを判定し、最大値（ｃ，ｈ，ｍ，ｒ，ｗ）以上であると判定した場合、ステップＳ２４６において、判別比較部１９４は、画素値エッジ画素を最大値（ｃ，ｈ，ｍ，ｒ，ｗ）に置き換えるが、エッジフィルタ処理した画素値エッジが最大値（ｃ，ｈ，ｍ，ｒ，ｗ）以上ではないと判定した場合、ステップＳ２５０において、判別比較部１９４は、エッジフィルタ処理した画素値エッジ画素と最小値（ｃ，ｈ，ｍ，ｒ，ｗ）を比較し、エッジフィルタ処理した画素値エッジ画素が最小値（ｃ，ｈ，ｍ，ｒ，ｗ）以下であるか否かを判定する。
【０２５９】
ステップＳ２５０において、エッジフィルタ処理した画素値エッジ画素が最小値（ｃ，ｈ，ｍ，ｒ，ｗ）以下であると判定された場合、ステップＳ２５１において、判別比較部１９４は、画素値エッジ画素を最小値（ｃ，ｈ，ｍ，ｒ，ｗ）に置き換えはしないで、ステップＳ２４７に進む。このような処理により、片方の最大値（ｃ，ｈ，ｍ，ｒ，ｗ）との比較しか行わないため、図３０のケース３で示されるように、明るいところの余計な突きあがりを抑制しながら、暗いところの適度な強調を確保できる。
【０２６０】
すなわち、図２９に示すように、ステップＳ２４４の処理で求められた最大値（ｃ，ｈ，ｍ，ｒ，ｗ）が、画素，ｃ，ｈ，ｍ，ｒ，ｗの局所的な範囲の最大値とみなされ、ステップＳ２４４の処理でエッジフィルタ処理して求められた画素値が、その最大値以下のときにそのまま保存され、最大値（ｃ，ｈ，ｍ，ｒ，ｗ）以上のときは画素値が最大値に置き換えられる（片方クリッピングされる）。
【０２６１】
例えば、図３０の実例によると、エッジフィルタ処理した画素値エッジ画素「Ａ'」（図３０のケース２）と最大値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ａ」を比較し、エッジフィルタ処理した画素値エッジ画素「Ａ'」 （図３０のケース２）が最大値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ａ」以上であると判定され、エッジフィルタ処理した画素値エッジ画素「Ａ'」（図３０のケース２）を最大値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ａ」に置き換える（図３０のケース３）。
【０２６２】
一方、エッジフィルタ処理した画素値エッジ画素「Ｂ'」（図３０のケース２）が最大値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ａ」以上ではないと判定され、エッジフィルタ処理した画素値エッジ画素「Ｂ'」 （図３０のケース２）と最小値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ｂ」を比較し、エッジフィルタ処理した画素値エッジ画素「Ｂ'」 （図３０のケース２）が最小値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ｂ」以下であると判定し、エッジフィルタ処理した画素値エッジ画素「Ｂ'」を最小値（ｃ，ｈ，ｍ，ｒ，ｗ）「Ｂ」に置き換えはしない（図３０のケース３）。
【０２６３】
以上のような処理により、局所的な範囲の最大値（ｃ，ｈ，ｍ，ｒ，ｗ）との比較しか行われないため、図３０のケース３に示されるように、明るいところの余計な突きあがり（図３０のケース２）を抑制しながら、暗いところの適度な強調を確保できる（図３０のケース３）。
【０２６４】
尚、１次元テクスチャフィルタとエッジフィルタは、上述のように２種類存在し、図２９に示すＡタイプと、図３１で示すようにＢタイプが存在する。すなわち、Ａタイプでは、式（２３），式（２４）で示したような演算により、テクスチャフィルタとエッジフィルタ処理がなされるが、Ｂタイプでは、以下の式（２５），式（２６）に示すような演算がされる。
【０２６５】
テクスチャ画素（X,Y）（TypeB）
＝ｈ×（1/4−αT/2）＋ｍ×（1/2＋αT）＋ｒ×（1/4−α T /2）
・・・（２５）
【０２６６】
エッジ画素（X,Y）（TypeB）
＝ｈ×（1/4−αE/2）＋ｍ×(1/2＋αE)＋ｒ×（1/4−αE/2）
・・・（２６）
【０２６７】
ステップＳ２４７において、テクスチャ適応混合処理部１９６は、以下の式（２７）の演算により、垂直アップサンプリング部１１より入力された補間画素とテクスチャフィルタ処理部１９１より入力された画素値テクスチャ画素を重み付けして合成し、テクスチャミックス画素として出力する。
【０２６８】
テクスチャミックス画素(X,Y)
=（1−weight_texture）×補間画素（X,Y））
+weight_texture×（テクスチャ画素（X,Y）））
・・・（２７）
【０２６９】
すなわち、補間画素にかかる重みは、（1−weight_texture）で表現できるので、補間で求められた画素値には、補間画素に係る重みとして（1−weight_texture）を乗じ、テクスチャ画素にかかる重みとしてweight_textureが乗じられて、線形和をとった合成補間画素を最終的なテクスチャ画素とする。これにより、補間とテクスチャフィルタの処理が、その重みによりバランスよく合成されるため、正確なテクスチャミックス画素を生成することが可能となる。
【０２７０】
ステップＳ２４８において、エッジ適応混合処理部１９７は、以下の式（２８）の演算により、テクスチャ適応混合処理部１９６より入力されたテクスチャミックス画素とエッジフィルタ処理部１９４より入力された画素値エッジ画素を重み付けして合成し、エッジミックス画素として出力する。
【０２７１】
エッジミックス画素(X,Y)
=（1−weight_edge）×テクスチャミックス画素（X,Y））
+weight_edge×（エッジ画素（X,Y）））
・・・（２８）
【０２７２】
すなわち、テクスチャミックス画素にかかる重みは、（1−weight_edge）で表現できるので、テクスチャ適応混合処理で求められた画素値には、テクスチャミックス画素に係る重みとして（1−weight_edge）を乗じ、エッジ画素にかかる重みとしてweight_edgeが乗じられて、線形和をとった合成補間画素を最終的なエッジミックス画素とする。これにより、テクスチャ適応混合とエッジフィルタの処理が、その重みによりバランスよく合成されるため、正確なエッジミックス画素を生成することが可能となる。
【０２７３】
ステップＳ２４９において、判別比較部１９４は、最大値（ｃ，ｈ，ｍ，ｒ，ｗ）に置き換えられた画素値を画素ｈの画素値としてバッファ１７ａに格納し、その処理は、ステップＳ２４１に戻り、全ての画素に１次元垂直エッジ強調処理が施されたと判定されるまで同様の処理が繰り返される。
【０２７４】
次に、図２７のフローチャートを参照して、１次元テクスチャフィルタとエッジフィルタが、Ｂタイプである場合の１次元リフレッシュ処理について説明する。尚、上述したＡタイプと同一の処理については、適宜説明を省略する。
【０２７５】
ステップＳ２４２において、垂直最大値最小値検出部１９２は、未処理画素を含めた上下3個の画素の画素値を比較して最大値と最小値を求める。すなわち、例えば、図２８に示すように、未処理画素が画素ｍであった場合、それを含めた上下の画素ｈ，ｍ， r（図２８中の点線で囲まれた3画素エリア）の各画素値を読出し、図３１に示すように、その内の最大値（ｈ，ｍ，ｒ）と最小値（ｈ，ｍ，ｒ）を求める。
【０２７６】
ステップＳ２４３において、テクスチャフィルタ処理部１９３は、図３１に示す3画素エリアの画素ｈ，ｍ，ｒに、図３１に示すような１次元テクスチャフィルタ処理を施す。すなわち、１次元テクスチャフィルタは、（1/４−αT/2，αT＋1/2，1/4−αT/2）（0.5<αT）といったものであり、例えば、テクスチャフィルタが上述のタイプBの場合、以下の式（２９）に示すような演算により、テクスチャフィルタ処理された画素値テクスチャ画素が求められる。
【０２７７】
テクスチャ画素（X,Y）＝h×（1/4−αT/2）＋m×(αT+1/2)＋r×（1/4−αT/2）
・・・（２９）
【０２７８】
ここで、係数αTは、テクスチャフィルタによるテクスチャの強調の程度を調節する係数である。
【０２７９】
ステップＳ２４４において、エッジフィルタ処理部１９３は、図３１に示す3画素エリアの画素ｈ，ｍ，ｒに、図３１に示すような１次元エッジフィルタ処理を施す。すなわち、１次元エッジフィルタは、（1/４−αE/2，αE＋1/2，1/4−αE/2）（0.5<αE）といったものであり、例えば、エッジフィルタが上述のタイプBの場合、以下の式（３０）に示すような演算により、エッジフィルタ処理された画素値エッジ画素が求められる。
【０２８０】
エッジ画素（X,Y）＝h×（1/4−αE/2）＋m×(αE＋1/2)＋r×（1/4−αE/2）
・・・（３０）
【０２８１】
ここで、係数αEは、エッジフィルタによるエッジの強調の程度を調節する係数である。
【０２８２】
ステップＳ２４５において、判別比較部１９４は、図３１に示すように、エッジフィルタ処理した画素値エッジ画素と最大値（ｈ，ｍ，ｒ）を比較し、エッジフィルタ処理した画素値エッジ画素が最大値（ｈ，ｍ，ｒ）以上であるか否かを判定し、最大値（ｈ，ｍ，ｒ）以上であると判定した場合、ステップＳ２４６において、判別比較部１９４は、画素値エッジ画素を最大値（ｈ，ｍ，ｒ）に置き換え、ステップＳ２４７に進む。
【０２８３】
ステップＳ２４５において、エッジフィルタ処理した画素値エッジが最大値（ｈ，ｍ，ｒ）以上ではないと判定した場合、ステップＳ２５０において、判別比較部１９４は、エッジフィルタ処理した画素値エッジ画素と最小値（ｈ，ｍ，ｒ）を比較し、エッジフィルタ処理した画素値エッジ画素が最小値（ｈ，ｍ，ｒ）以下であるか否かを判定し、エッジフィルタ処理した画素値エッジ画素が最小値（ｈ，ｍ，ｒ）以下であると判定した場合、ステップＳ２５１において、判別比較部１９４は、画素値エッジ画素を最小値（ｈ，ｍ，ｒ）に置き換え、ステップＳ２４７に進む。
【０２８４】
ステップＳ２５０において、エッジフィルタ処理した画素値エッジが最小値（ｈ，ｍ，ｒ）以下ではないと判定された場合、その処理は、ステップＳ２４７に進む。
【０２８５】
すなわち、ステップＳ２４４の処理で、図３１に示すように、ステップＳ２４４の処理で求められた最大値（ｈ，ｍ，ｒ）、および、最小値（ｈ，ｍ，ｒ）が、画素ｈ，ｍ，ｒの局所的な範囲の最大値と最小値とみなされ、ステップＳ２４４の処理でエッジフィルタ処理して求められた画素値が、その最小値と最大値の範囲に含まれたときは、そのまま保存され、最小値（ｈ，ｍ，ｒ）以下のときは画素値が最小値に、最大値（ｈ，ｍ，ｒ）以上のときは画素値が最大値に置き換えられる（クリッピングされる）。
【０２８６】
例えば、図３０の実例によると、エッジフィルタ処理した画素値エッジ画素「Ａ'」（図３０のケース２）と最大値（ｈ，ｍ，ｒ）「Ａ」を比較し、エッジフィルタ処理した画素値エッジ画素「Ａ'」 （図３０のケース２）が最大値（ｈ，ｍ，ｒ）「Ａ」以上であると判定され、エッジフィルタ処理した画素値エッジ画素「Ａ'」（図３０のケース２）を最大値（ｈ，ｍ，ｒ）「Ａ」に置き換える（図３０のケース１）。
【０２８７】
一方、エッジフィルタ処理した画素値エッジ画素「Ｂ'」（図３０のケース２）が最大値（ｈ，ｍ，ｒ）「Ａ」以上ではないと判定され、エッジフィルタ処理した画素値エッジ画素「Ｂ'」 （図３０のケース２）と最小値（ｈ，ｍ，ｒ）「Ｂ」を比較し、エッジフィルタ処理した画素値エッジ画素「Ｂ'」 （図３０のケース２）が最小値（ｈ，ｍ，ｒ）「Ｂ」以下であると判定し、エッジフィルタ処理した画素値エッジ画素「Ｂ'」を最小値（ｈ，ｍ，ｒ）「Ｂ」に置き換える（図３０のケース１）。
【０２８８】
以上のような処理により、局所的な範囲の最大値（ｈ，ｍ，ｒ）と最小値（ｈ，ｍ，ｒ）との比較が行われるため、図３０のケース１に示されるように、明るいところの余計な突きあがり（図３０のケース２）を抑制しながら、暗いところの過度な潰れ（図３０のケース２）を回避できる。
【０２８９】
ステップＳ２４５において、エッジ近辺にコントラストをさらに強調するために、エッジフィルタ処理した画素値エッジ画素が最大値（ｈ，ｍ，ｒ）以上であるか否かを判定し、最大値（ｈ，ｍ，ｒ）以上であると判定した場合、ステップＳ２４６において、判別比較部１９４は、画素値エッジ画素を最大値（ｈ，ｍ，ｒ）に置き換えるが、エッジフィルタ処理した画素値エッジが最大値（ｈ，ｍ，ｒ）以上ではないと判定した場合、ステップＳ２５０において、判別比較部１９４は、エッジフィルタ処理した画素値エッジ画素と最小値（ｈ，ｍ，ｒ）を比較し、エッジフィルタ処理した画素値エッジ画素が最小値（ｈ，ｍ，ｒ）以下であるか否かを判定し、エッジフィルタ処理した画素値エッジ画素が最小値（ｈ，ｍ，ｒ）以下であると判定した場合でも、その処理は、ステップＳ２５１において、判別比較部１９４は、画素値エッジ画素を最小値（ｈ，ｍ，ｒ）に置き換えはしないで、ステップＳ２４７に進む。
【０２９０】
以上のような処理により、片方の最大値（ｈ，ｍ，ｒ）との比較しか行われないため、図３０のケース３で示されるように、明るいところの余計な突きあがりを抑制しながら、暗いところの適度な強調を確保できる。
【０２９１】
すなわち、ステップＳ２４４の処理で、図３１に示すように、ステップＳ２４４の処理で求められた最大値（ｈ，ｍ，ｒ）が、画素ｈ，ｍ，ｒの局所的な範囲の最大値とみなされ、ステップＳ２４４の処理でエッジフィルタ処理して求められた画素値が、その最大値以下のときにそのまま保存され、最大値（ｈ，ｍ，ｒ）以上のときは画素値が最大値に置き換えられる（片方クリッピングされる）。
【０２９２】
例えば、図３０の実例によると、エッジフィルタ処理した画素値エッジ画素「Ａ'」（図３０のケース２）と最大値（ｈ，ｍ，ｒ）「Ａ」を比較し、エッジフィルタ処理した画素値エッジ画素「Ａ'」 （図３０のケース２）が最大値（ｈ，ｍ，ｒ）「Ａ」以上であると判定され、エッジフィルタ処理した画素値エッジ画素「Ａ'」（図３０のケース２）を最大値（ｈ，ｍ，ｒ）「Ａ」に置き換える（図３０のケース３）。
【０２９３】
一方、エッジフィルタ処理した画素値エッジ画素「Ｂ'」（図３０のケース２）が最大値（ｈ，ｍ，ｒ）「Ａ」以上ではないと判定され、エッジフィルタ処理した画素値エッジ画素「Ｂ'」 （図３０のケース２）と最小値（ｈ，ｍ，ｒ）「Ｂ」を比較し、エッジフィルタ処理した画素値エッジ画素「Ｂ'」 （図３０のケース２）が最小値（ｈ，ｍ，ｒ）「Ｂ」以下であると判定し、エッジフィルタ処理した画素値エッジ画素「Ｂ'」を最小値（ｈ，ｍ，ｒ）「Ｂ」に置き換えはしない（図３０のケース３）。
【０２９４】
以上のような処理により、局所的な範囲の最大値（ｈ，ｍ，ｒ）との比較しか行われないため、図３０のケース３に示されるように、明るいところの余計な突きあがり（図３０のケース２）を抑制しながら、暗いところの適度な強調を確保できる（図３０のケース３）。
【０２９５】
ここで、図３の処理の説明に戻る。
【０２９６】
ステップＳ２２の処理における、１次元垂直イメージリフレッシュ処理が実行されると、続いてステップＳ２３において、水平アップサンプリング処理が実行され、さらに、ステップＳ２４において１次元水平イメージリフレッシュ処理が実行される。尚、ステップＳ２３における水平アップサンプリング処理、および、ステップＳ２４における１次元水平イメージリフレッシュ処理については、上述したステップＳ２１における垂直アップサンプリング処理、および、ステップＳ２２における１次元垂直イメージリフレッシュ処理における処理方向が垂直方向から水平方向に変わるのみであって、同様の処理が実行されることになるので、その説明は省略する。
【０２９７】
以上のようにして、画像の解像度を任意の倍率で変更することができる。この場合、例えば、画像を６倍に拡大するとき、アップサンプリング処理を２回繰り返し、４倍の画像を得た後、３／２倍の従来拡大処理を行うこともできるし、アップサンプリング処理を３回繰り返し、８倍の画像を得た後、３／４倍の従来縮小処理を行うこともできる。
【０２９８】
また、図２７のフローチャートを参照して説明したように、１次元イメージリフレッシュ処理は、エッジとテクスチャを方向の分布情報の解析結果に基づいて、識別され、エッジに対しては、フィルタ処理とクリッピングあるいは片方クリッピング処理を施し、テクスチャに対しては、フィルタ処理のみを施すと言ったように処理内容を分けて、それぞれに対応した適切な処理を施すことが可能となる。さらに、片方クリッピング処理の場合、図３０の実例で示されるように、明るいところの余計な突きあがりを抑制しながら、暗いところの適度な強調を確保できるので、エッジの近辺にコントラストの適度な改善が可能となる。
【０２９９】
さらに、図６のフローチャートを参照して説明したように、方向補間における方向を方向性分布と方向補間における分布を用いることにより、正確に判断することが可能となる。また、方向性分布と、その方向性分布に基づいてなされた斜補間によって求められる画素値と、線形補間された画素値とを、方向性分布に基づいて重み付けして線形和として補間画素を合成し、生成することにより、正確に画素値を補間することが可能となる。
【０３００】
図３２は、従来の処理により生成された画像であり、図３３は、本発明を適用して生成された画像である。図中の中央に垂直方向に同心円状の模様の中心部が３つ配置されている。それぞれの中心位置を通り、かつ、図中の水平方向または垂直方向に４５°を成す角で直線を引いたときの、直線の交点付近の画像に着目すると、本発明を適用した画像においては、模様に破綻が発生しておらず、同心円状の模様が忠実に表現されていることがわかる。すなわち、本発明を適用して画像を生成することで、鮮明な画像が表現できることが示されていると言える。
【０３０１】
結果として、画像の解像度を変換することにより生じる画像上のエラーを抑制することができ、鮮明な変換画像を生成することが可能となる。
【０３０２】
尚、以上の例においては、垂直方向のみの拡大する場合について説明してきたが、水平方向と垂直方向両方、あるいは水平方向、および、垂直方向いずれか一方向のみを拡大するようにしてもよい。このとき、垂直方向にのみ拡大する処理は、インタレース画像からプログレッシブ画像に変換する、いわゆるIP変換と同様の処理となるため、本発明は、IP変換にも応用することが可能である。尚、実際の処理については、上述で説明した処理における水平方向、または、垂直方向のいずれかの拡大率を１としたときの処理としてもよいし、または、水平方向、または、垂直方向のいずれか一方の処理をスキップすることにより実現されるので、その説明は省略する。
【０３０３】
さらに、垂直方向アップサンプリング後水平アップサンプリングを行う流れが提案されたが、水平アップサンプリング後垂直方向アップサンプリングを行う逆の順番で拡大するようにしてもよい。
【０３０４】
さらに、上述のように、図４、または、図５で示すように、ズーム処理、または、ズームアップ処理において、アップサンプリング処理を行った後に、１次元垂直イメージリフレッシュ処理が実行されているが、垂直アップサンプリング処理を行う前に、１次元垂直イメージリフレッシュ処理が実行されることにより、１次元垂直イメージリフレッシュ処理は、画素数が拡大される前の原画像の画素数での処理を実行するだけで済むため、その分計算処理量を低減させることができ、処理を軽減することが可能となる。
【０３０５】
さらに、以上の例においては、アップサンプリングとイメージリフレッシュ処理の組み合わせについて説明してきたが、アップサンプリングのみ、あるいはイメージリフレッシュのみいずれかのみを利用してもよい。例えば、HDTV（High Definition Television）の信号の画素数をパネルサイズに合わせることが必要でない場合、アップサンプリング処理を行うことなく、計算された方向分布情報の解析結果を用いたエッジ・テクスチャ適応型精細感改善処理、イメージリフレッシュを施すのみでよい。
【０３０６】
尚、以上に例においては、従来の補間方法として線形補間を用いた例について説明してきたが、従来の補間方法については、線形補間に限ったものではなく、例えば、４画素以上の複数の画素を用いたSpline補間方法、Lanczos補間方法、または、キュービック補間方法などであってもよい。
【０３０７】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０３０８】
図３４は、図１に示した機能ブロックを有する画像処理装置２のハードウェアの構成例を表している。CPU（Central Processing Unit）３１１は、ROM（Read Only Memory）３１２に記憶されているプログラム、または記憶部３１８からRAM（Random Access Memory）３１３にロードされたプログラムに従って各種の処理を実行する。RAM３１３にはまた、CPU３１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３０９】
CPU３１１、ROM３１２、およびRAM３１３は、バス３１４を介して相互に接続されている。このバス３１４にはまた、入出力インタフェース３１５も接続されている。
【０３１０】
入出力インタフェース３１５には、キーボード、マウスなどよりなる入力部３１６、CRT，LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部３１７、ハードディスクなどより構成される記憶部３１８、モデム、ターミナルアダプタなどより構成される通信部３１９が接続されている。通信部３１９は、インターネットなどに代表されるネットワークを介しての通信処理を行う。
【０３１１】
入出力インタフェース３１５には、また、必要に応じてドライブ３２０が接続され、磁気ディスク３３１、光ディスク３３２、光磁気ディスク３３３、或いは半導体メモリ３３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部３１８にインストールされる。
【０３１２】
この記録媒体は、図３４に示す装置では、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク３３１（フレキシブルディスクを含む）、光ディスク３３２（CD-ROM(Compact Disc-Read Only Memory），DVD(Digital Versatile Disc)を含む）、光磁気ディスク３３３（MD（Mini-Disc）を含む）、もしくは半導体メモリ３３４などよりなるパッケージメディアにより構成されるだけでなく、装置に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM３１２や、記憶部３１８に含まれるハードディスクなどで構成される。
【０３１３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０３１４】
【図１】本発明を適用した画像処理装置の構成例を示すブロック図である。
【図２】図1の垂直アップサンプリング処理部の構成例を示すブロック図である。
【図３】図１の１次元垂直イメージリフレッシュ処理部の構成例を示すブロック図である。
【図４】図１の画像処理装置のズーム処理を説明するフローチャートである。
【図５】図４のステップＳ6におけるズームアップ処理を説明するフローチャートである。
【図６】図１のステップＳ２２の処理における垂直アップサンプリング処理を説明するフローチャートである。
【図７】図６のステップＳ５１の処理における原画像の注目領域抽出処理を説明する図である。
【図８】図６のステップＳ５２，Ｓ５３の処理における局所エネルギの計算を説明する図である。
【図９】図６のステップＳ５５における方向判別処理を説明するフローチャートである。
【図１０】図６のステップＳ５５における方向判別処理を説明するフローチャートである。
【図１１】図９のステップＳ８１におけるmax_dir方向選択処理を説明する図である。
【図１２】図９のステップＳ８２におけるleft_dir方向選択処理を説明する図である。
【図１３】図９のステップＳ８３におけるright_dir方向選択処理を説明する図である。
【図１４】図６のステップＳ５５におけるエッジ方向判別処理を説明する図である。
【図１５】図６のステップＳ６２における傾き選択処理の注目領域を説明する図である。
【図１６】図６のステップＳ６２における傾き選択処理を説明するフローチャートである。
【図１７】図６のステップＳ６２における傾き選択処理の時の方向と信頼度の例を説明する図である。
【図１８】図６のステップＳ６２における傾き選択処理の時の定義されるエッジの方向を説明する図である。
【図１９】図６のステップＳ６２における傾き選択処理の時の分布と方向性分布を説明する図である。
【図２０】エッジ方向の計算方法のその他の方法を説明する図である。
【図２１】エッジ方向の計算方法のその他の方法を説明する図である。
【図２２】エッジ方向の計算方法のその他の方法を説明する図である。
【図２３】エッジ方向の計算方法のその他の方法を説明する図である。
【図２４】エッジ方向の計算方法のその他の方法を説明する図である。
【図２５】エッジ方向の計算方法のその他の方法を説明する図である。
【図２６】エッジ方向の計算方法のその他の方法を説明する図である。
【図２７】図５のステップＳ２１における１次元垂直イメージリフレッシュ処理を説明するフローチャートである。
【図２８】図５のステップＳ２２における１次元垂直イメージリフレッシュ処理お注目領域を説明する図である。
【図２９】図５のステップＳ２２における１次元垂直イメージリフレッシュ処理を説明する図である。
【図３０】図５のステップＳ２２における１次元垂直イメージリフレッシュ処理を説明する図である。
【図３１】図５のステップＳ２２における１次元垂直イメージリフレッシュ処理を説明する図である。
【図３２】従来手法によりズームされた画像例を示す図である。
【図３３】本発明を適用した手法によりズームされた画像例を示す図である。
【図３４】記録媒体を説明する図である。
【符号の説明】
【０３１５】
１１  垂直アップサンプリング処理部，  １２  水平アップサンプリング処理部，  １７  １次元垂直イメージリフレッシュ処理部，  １７ａ  バッファ，  １８  １次元水平イメージリフレッシュ処理部，  １８ａ  バッファ，  １２３  方向判別部，  １２４  信頼度格付け部，  １２６  傾き選択部，  １２７  線形補間部，  １２８  統計斜補間部，  １２９  斜重み付け部，  １３０  合成部，  １３２  エッジ強度情報生成部，  １３３  テクスチャ強度情報生成部
【図１】
2006155179.tif 000003
【図２】
2006155179.tif 000004
【図３】
2006155179.tif 000005
【図４】
2006155179.tif 000006
【図５】
2006155179.tif 000007
【図６】
2006155179.tif 000008
【図７】
2006155179.tif 000009
【図８】
2006155179.tif 000010
【図９】
2006155179.tif 000011
【図１０】
2006155179.tif 000012
【図１１】
2006155179.tif 000013
【図１２】
2006155179.tif 000014
【図１３】
2006155179.tif 000015
【図１４】
2006155179.tif 000016
【図１５】
2006155179.tif 000017
【図１６】
2006155179.tif 000018
【図１７】
2006155179.tif 000019
【図１８】
2006155179.tif 000020
【図１９】
2006155179.tif 000021
【図２０】
2006155179.tif 000022
【図２１】
2006155179.tif 000023
【図２２】
2006155179.tif 000024
【図２３】
2006155179.tif 000025
【図２４】
2006155179.tif 000026
【図２５】
2006155179.tif 000027
【図２６】
2006155179.tif 000028
【図２７】
2006155179.tif 000029
【図２８】
2006155179.tif 000030
【図２９】
2006155179.tif 000031
【図３０】
2006155179.tif 000032
【図３１】
2006155179.tif 000033
【図３２】
2006155179.tif 000034
【図３３】
2006155179.tif 000035
【図３４】
2006155179.tif 000036