(57)【要約】【課題】エッジの方向を正確に認識し、正確に画像を補間する。【解決手段】  方向判別部が注目画素のエッジの方向を認識し、注目画素の位置と共に信頼度格付部１２４、方向性分布生成部１２５、および空間分布生成部１３４に出力する。方向補間部１３１が、注目画素を方向補間する。信頼度格付部１２４は、方向補間部１３１により補間された補間画素が適正であるか否かを判定し、信頼度を格付し方向性分布生成部１２５に出力する。方向性分布生成部１２５は、方向の情報と信頼度の情報に基づいて方向性分布を生成する。空間分布生成部１３４は、エッジの方向の空間分布を生成し、方向選択部１２６に供給する。方向選択部１２６は、方向性分布生成部１２５からの方向性分布と、空間分布生成部１３４からの空間分布に基づいてエッジの方向を認識する。本発明は、画像解像度変換装置に適用することができる。【選択図】図４
2005266918.tif 000002
【特許請求の範囲】
【請求項１】
原画像の空間解像度を垂直方向と水平方向のいずれか一方、または、その両方向をそれぞれＺ倍することにより変換する画像処理装置において、
注目画素位置を含む、前記注目画素位置に対応する複数の画素位置のエッジの方向を検出する方向検出手段と、
前記方向検出手段により検出された前記注目画素に対応する複数の画素位置の前記エッジの方向の空間分布を生成する空間分布生成手段と、
前記方向検出手段により検出された前記注目画素に対応する複数の画素位置の前記エッジの方向に基づいて、前記注目画素位置に対応する複数の画素位置のエッジ方向補間画素を補間して生成するエッジ方向補間手段と、
前記エッジ方向補間手段により補間されて生成されたエッジ方向補間画素の信頼度を検出する信頼度検出手段と、
前記空間分布生成手段により生成された空間分布と、前記信頼度検出手段により検出された信頼度とに基づいて、最も信頼度の高い前記注目画素位置のエッジの方向を選択する方向選択手段と、
前記注目画素位置の上下、または、左右の画素を用いた線形補間により前記注目画素位置の線形補間画素を補間して生成する線形補間手段と、
前記方向選択手段により選択されたエッジの方向に基づいて、前記注目画素位置の選択方向補間画素を補間して生成する選択方向補間手段と、
前記線形補間画素と前記選択方向補間画素とを合成して合成補間画素を前記注目画素位置の画素として生成する合成補間画素生成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
注目画素上の斜方向のエッジの有無を判定するエッジ判定手段をさらに備え、
前記方向検出手段は、前記エッジ判定手段の判定結果に基づいて、前記注目画素位置を含む、前記注目画素位置に対応する複数の画素位置の前記エッジの方向を検出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記信頼度検出手段は、前記エッジ方向補間手段により補間されたエッジ方向補間画素の局所的構造の整合性を判定し、前記整合性の判定結果に基づいて、前記エッジ方向補間手段により補間されたエッジ方向補間画素の信頼度を検出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記信頼度と前記方向検出手段により検出されたエッジの方向との関係から方向性分布を生成する方向性分布生成手段をさらに備え、
前記方向選択手段は、前記方向性分布に基づいて、最も信頼度の高いエッジ方向を選択する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記方向選択手段により前記方向性分布に基づいて選択された最も信頼度の高い方向の信頼度に基づいて、前記方向選択補間画素の重みを設定する重み設定手段をさらに備え、
前記合成補間手段は、前記重み設定手段により設定された前記重みに対応する係数を用いて、前記線形補間画素と前記選択方向補間画素の線形和をとることにより合成して合成補間画素を前記注目画素として生成する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
インタレース画像を前記原画像として、垂直方向にのみ２倍に拡大するとき、前記合成補間手段は、プログレッシブ画像の前記合成補間画素を補間して生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
原画像の空間解像度を垂直方向と水平方向のいずれか一方、または、その両方向をそれぞれＺ倍することにより変換する画像処理装置の画像処理方法において、
注目画素位置を含む、前記注目画素位置に対応する複数の画素位置のエッジの方向を検出する方向検出ステップと、
前記方向検出ステップの処理で検出された前記注目画素位置に対応する複数の画素位置の前記エッジの方向の空間分布を生成する空間分布生成ステップと、
前記方向検出ステップの処理で検出された前記注目画素位置に対応する複数の画素位置の前記エッジの方向に基づいて、前記注目画素位置に対応する複数の画素位置のエッジ方向補間画素を補間して生成するエッジ方向補間ステップと、
前記エッジ方向補間ステップの処理で補間されて生成されたエッジ方向補間画素の信頼度を検出する信頼度検出ステップと、
前記空間分布生成ステップにより生成された空間分布と、前記信頼度検出ステップの処理で検出された信頼度とに基づいて、最も信頼度の高い前記注目画素位置のエッジの方向を選択する方向選択ステップと、
前記注目画素位置の上下、または、左右の画素を用いた線形補間により前記注目画素位置の線形補間画素を補間して生成する線形補間ステップと、
前記方向選択ステップの処理で選択されたエッジの方向に基づいて、前記注目画素位置の選択方向補間画素を補間して生成する選択方向補間ステップと、
前記線形補間画素と前記選択方向補間画素とを合成して合成補間画素を前記注目画素位置の画素として生成する合成補間ステップと
を含むことを特徴とする画像処理方法。
【請求項８】
原画像の空間解像度を垂直方向と水平方向のいずれか一方、または、その両方向をそれぞれＺ倍することにより変換する画像処理装置を制御するプログラムであって、
注目画素位置を含む、前記注目画素位置に対応する複数の画素位置のエッジの方向の検出を制御する方向検出制御ステップと、
前記方向検出制御ステップの処理で検出された前記注目画素位置に対応する複数の画素位置の前記エッジの方向の空間分布の生成を制御する空間分布生成制御ステップと、
前記方向検出制御ステップの処理で検出された前記注目画素位置に対応する複数の画素位置の前記エッジの方向に基づいて、前記注目画素位置に対応する複数の画素位置のエッジ方向補間画素の補間による生成を制御するエッジ方向補間制御ステップと、
前記エッジ方向補間制御ステップの処理で補間されて生成されたエッジ方向補間画素の信頼度の検出を制御する信頼度検出制御ステップと、
前記空間分布生成制御ステップの処理により生成された空間分布と、前記信頼度検出制御ステップの処理で検出された信頼度とに基づいた、最も信頼度の高い前記注目画素位置のエッジの方向の選択を制御する方向選択制御ステップと、
前記注目画素位置の上下、または、左右の画素を用いた線形補間による前記注目画素位置の線形補間画素の補間による生成を制御する線形補間制御ステップと、
前記方向選択制御ステップの処理で選択されたエッジの方向に基づいて、前記注目画素位置の選択方向補間画素の補間による生成を制御する選択方向補間制御ステップと、
前記線形補間画素と前記選択方向補間画素との合成による合成補間画素の前記注目画素位置の画素としての生成を制御する合成補間制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項９】
原画像の空間解像度を垂直方向と水平方向のいずれか一方、または、その両方向をそれぞれＺ倍することにより変換する画像処理装置を制御するコンピュータに、
注目画素位置を含む、前記注目画素位置に対応する複数の画素位置のエッジの方向の検出を制御する方向検出制御ステップと、
前記方向検出制御ステップの処理で検出された前記注目画素位置に対応する複数の画素位置の前記エッジの方向の空間分布の生成を制御する空間分布生成制御ステップと、
前記方向検出制御ステップの処理で検出された前記注目画素位置に対応する複数の画素位置の前記エッジの方向に基づいて、前記注目画素位置に対応する複数の画素位置のエッジ方向補間画素の補間による生成を制御するエッジ方向補間制御ステップと、
前記エッジ方向補間制御ステップの処理で補間されて生成されたエッジ方向補間画素の信頼度の検出を制御する信頼度検出制御ステップと、
前記空間分布生成制御ステップの処理により生成された空間分布と、前記信頼度検出制御ステップの処理で検出された信頼度とに基づいた、最も信頼度の高い前記注目画素位置のエッジの方向の選択を制御する方向選択制御ステップと、
前記注目画素位置の上下、または、左右の画素を用いた線形補間による前記注目画素位置の線形補間画素の補間による生成を制御する線形補間制御ステップと、
前記方向選択制御ステップの処理で選択されたエッジの方向に基づいて、前記注目画素位置の選択方向補間画素の補間による生成を制御する選択方向補間制御ステップと、
前記線形補間画素と前記選択方向補間画素との合成による合成補間画素の前記注目画素位置の画素としての生成を制御する合成補間制御ステップと
を含む処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、静止画および動画像など様々なソースに適用でき、そして人間の視覚系にアピールする方法で鮮明で自然なエッジとテクスチャを再描画し、高画質な高解像度画像を得ることができるようにした画像処理装置および方法、並びに記録媒体に関する。
【背景技術】
【０００２】
デジタル画像に基づく機器(デジタルカメラやカメラ一体型ビデオテープレコーダなど)の使用機会が多くなるにつれ、いわゆるデジタルズーム処理の必要性が高まってきた。それに伴い、デジタル画像の解像度を上げるための様々な方法が開発されてきた。従来の主な手法として、以下の３つの手法が存在する。第１の手法は、最近隣画素をそのまま用いた補間方法(0次補間(zero-order-hold interpolation))であり、特にハードウェアの観点からみて簡単な補間法である。第２の手法は、最近隣２画素の平均値を計算し、垂直方向と水平方向に新しい画素を挿入する双線形補間方法(bilinear interpolation)であり、隣接画素の補間にはかなり良い手法だと考えられている。第３の手法は、ノイズにも強く、モザイクパターンが出現しない、B-スプライン(B-spline)補間法である。
【０００３】
また、エッジを強調できるようにして、インタレース画面をプログレッシブ画面に変換するものがある（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開２００２−２１５１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、第１の方法は、特に高倍率で効果が少なく、拡大された画像には、有名な「モザイクパターン」というノイズが出てしまう。そして、エッジが大幅に破壊され、非常に目障りなジャギーが出現してしまう。第２の方法は、画像全体がぼやけてしまうという欠点があり、画像の解像度は改善されない。加えて、高倍率の際にモザイク現象がたくさん出てしまう。第３の方法は、画像はかなりぼやけてしまい、それにもかかわらず相対的に見るとハードウェアは複雑になってしまう。
【０００６】
また、上述の課題を解決すべく、特願２００１−２０１７２９にて注目画素に隣接する上下のライン上、または、左右の列に存在する画素のうち、注目画素を通る対角線上のいずれかの方向に跨る画素から注目画素を補間することにより、画像中のエッジを強調できるように画像を拡大するものが提案されている。しかしながら、画素を補間するにあたり、補間画素とその上下、または、左右に隣接する画素との相関を求めて、その相関性が認められないときは、上下、または、左右の画素間で線形補完するようにしていたため、必ずしも正しい補間画素を生成することができず、例えば、注目画素に対して斜方向に隣接する画素間で補間すべき画素を使用できないことがあり、結果として、鮮明な拡大画像を生成することができないと言う課題があった。
【０００７】
そこで、斜め方向にエッジが存在する場合に対応すべく、注目画素近傍の複数の画素における、エッジの方向を検出すると共に、それらの信頼度を求めて、その信頼度の度数に基づいて、エッジの方向を決定し、補間する方法が提案されている。しかしながら、度数に基づいて、エッジの方向を決定しているため、信頼度の度数が空間的にばらついていた場合にでも、その度数に基づいて、エッジの方向が決定されてしまうので、必ずしも正しいエッジの方向を検出することができず、正しく画素を補間して生成することができないと言う課題があった。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、少ない計算処理量で、効果的かつ簡単に、コンピュータグラフィックスから写真までの範囲に及ぶ様々なタイプの静止画および動画像の解像度の変更にあたり発生する画像のエラーを抑制することができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向を検出する方向検出手段と、方向検出手段により検出された注目画素に対応する複数の画素位置のエッジの方向の空間分布を生成する空間分布生成手段と、方向検出手段により検出された注目画素に対応する複数の画素位置のエッジの方向に基づいて、注目画素位置に対応する複数の画素位置のエッジ方向補間画素を補間して生成するエッジ方向補間手段と、エッジ方向補間手段により補間されて生成されたエッジ方向補間画素の信頼度を検出する信頼度検出手段と、空間分布生成手段により生成された空間分布と、信頼度検出手段により検出された信頼度とに基づいて、最も信頼度の高い注目画素位置のエッジの方向を選択する方向選択手段と、注目画素位置の上下、または、左右の画素を用いた線形補間により注目画素位置の線形補間画素を補間して生成する線形補間手段と、方向選択手段により選択されたエッジの方向に基づいて、注目画素位置の選択方向補間画素を補間して生成する選択方向補間手段と、線形補間画素と選択方向補間画素とを合成して合成補間画素を注目画素位置の画素として生成する合成補間画素生成手段とを備えることを特徴とする。
【００１０】
前記注目画素上の斜方向のエッジの有無を判定するエッジ判定手段をさらに設けるようにさせることができ、方向検出手段には、エッジ判定手段の判定結果に基づいて、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向を検出させるようにすることができる。
【００１１】
前記信頼度検出手段には、エッジ方向補間手段により補間されたエッジ方向補間画素の局所的構造の整合性を判定し、整合性の判定結果に基づいて、エッジ方向補間手段により補間されたエッジ方向補間画素の信頼度を検出させるようにすることができる。
【００１２】
前記信頼度と方向検出手段により検出されたエッジの方向との関係から方向性分布を生成する方向性分布生成手段をさらに設けるようにさせることができ、方向選択手段には、方向性分布に基づいて、最も信頼度の高いエッジ方向を選択させるようにすることができる。
【００１３】
前記方向選択手段により方向性分布に基づいて選択された最も信頼度の高い方向の信頼度に基づいて、方向選択補間画素の重みを設定する重み設定手段をさらに設けるようにさせることができ、合成補間手段には、重み設定手段により設定された重みに対応する係数を用いて、線形補間画素と選択方向補間画素の線形和をとることにより合成して合成補間画素を注目画素として生成させるようにすることができる。
【００１４】
前記インタレース画像を原画像として、垂直方向にのみ２倍に拡大するとき、合成補間手段には、プログレッシブ画像の合成補間画素を補間して生成させるようにすることができる。
【００１５】
本発明の画像処理方法は、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向を検出する方向検出ステップと、方向検出ステップの処理で検出された注目画素位置に対応する複数の画素位置のエッジの方向の空間分布を生成する空間分布生成ステップと、方向検出ステップの処理で検出された注目画素位置に対応する複数の画素位置のエッジの方向に基づいて、注目画素位置に対応する複数の画素位置のエッジ方向補間画素を補間して生成するエッジ方向補間ステップと、エッジ方向補間ステップの処理で補間されて生成されたエッジ方向補間画素の信頼度を検出する信頼度検出ステップと、空間分布生成ステップにより生成された空間分布と、信頼度検出ステップの処理で検出された信頼度とに基づいて、最も信頼度の高い注目画素位置のエッジの方向を選択する方向選択ステップと、注目画素位置の上下、または、左右の画素を用いた線形補間により注目画素位置の線形補間画素を補間して生成する線形補間ステップと、方向選択ステップの処理で選択されたエッジの方向に基づいて、注目画素位置の選択方向補間画素を補間して生成する選択方向補間ステップと、線形補間画素と選択方向補間画素とを合成して合成補間画素を注目画素位置の画素として生成する合成補間ステップとを含むことを特徴とする。
【００１６】
本発明の記録媒体のプログラムは、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向の検出を制御する方向検出制御ステップと、注目画素位置に対応する複数の画素位置のエッジの方向の空間分布の生成を制御する空間分布生成制御ステップと、方向検出制御ステップの処理で検出されたエッジの方向に基づいて、注目画素位置に対応する複数の画素位置のエッジ方向補間画素の補間による生成を制御するエッジ方向補間制御ステップと、エッジ方向補間制御ステップの処理で補間されて生成されたエッジ方向補間画素の信頼度の検出を制御する信頼度検出制御ステップと、空間分布生成制御ステップの処理により生成された空間分布と、信頼度検出制御ステップの処理で検出された信頼度とに基づいた、最も信頼度の高い注目画素位置のエッジの方向の選択を制御する方向選択制御ステップと、注目画素位置の上下、または、左右の画素を用いた線形補間による注目画素位置の線形補間画素の補間による生成を制御する線形補間制御ステップと、方向選択制御ステップの処理で選択されたエッジの方向に基づいて、注目画素位置の選択方向補間画素の補間による生成を制御する選択方向補間制御ステップと、線形補間画素と選択方向補間画素との合成による合成補間画素の注目画素位置の画素としての生成を制御する合成補間制御ステップとを含むことを特徴とする。
【００１７】
本発明のプログラムは、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向の検出を制御する方向検出制御ステップと、注目画素に対応する複数の画素位置のエッジの方向の空間分布の生成を制御する空間分布生成制御ステップと、方向検出制御ステップの処理で検出されたエッジの方向に基づいて、注目画素位置に対応する複数の画素位置のエッジ方向補間画素の補間による生成を制御するエッジ方向補間制御ステップと、エッジ方向補間制御ステップの処理で補間されて生成されたエッジ方向補間画素の信頼度の検出を制御する信頼度検出制御ステップと、空間分布生成制御ステップの処理により生成された空間分布と、信頼度検出制御ステップの処理で検出された信頼度とに基づいた、最も信頼度の高い注目画素位置のエッジの方向の選択を制御する方向選択制御ステップと、注目画素位置の上下、または、左右の画素を用いた線形補間による注目画素位置の線形補間画素の補間による生成を制御する線形補間制御ステップと、方向選択制御ステップの処理で選択されたエッジの方向に基づいて、注目画素位置の選択方向補間画素の補間による生成を制御する選択方向補間制御ステップと、線形補間画素と選択方向補間画素との合成による合成補間画素の生成を制御する合成補間制御ステップとを含む処理を実行させることを特徴とする。
【００１８】
本発明の画像処理装置および方法、並びにプログラムにおいては、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向が検出され、検出された注目画素に対応する複数の画素位置のエッジの方向の空間分布が生成され、検出された注目画素に対応する複数の画素位置のエッジの方向に基づいて、注目画素位置に対応する複数の画素位置のエッジ方向補間画素が補間されて生成され、補間されて生成されたエッジ方向補間画素の信頼度が検出され、生成された空間分布と、検出された信頼度とに基づいて、最も信頼度の高い注目画素位置のエッジの方向が選択され、注目画素位置の上下、または、左右の画素を用いた線形補間により注目画素位置の線形補間画素が補間されて生成され、選択されたエッジの方向に基づいて、注目画素位置の選択方向補間画素が補間されて生成され、線形補間画素と選択方向補間画素とが合成されて合成補間画素が注目画素位置の画素として生成される。
【００１９】
本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。
【発明の効果】
【００２０】
本発明の画像処理装置および方法、並びにプログラムによれば、補間する画素のエッジの方向を正確に把握することができ、さらに、より正確な補間画素を生成することが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２２】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２３】
即ち、本発明の画像処理装置は、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向を検出する方向検出手段（例えば、図４の斜線検出部１３３）と、方向検出手段により検出された注目画素に対応する複数の画素位置のエッジの方向の空間分布を生成する空間分布生成手段（例えば、図４の空間分布生成部１３４）と、方向検出手段により検出された注目画素に対応する複数の画素位置のエッジの方向に基づいて、注目画素位置に対応する複数の画素位置のエッジ方向補間画素を補間して生成するエッジ方向補間手段（例えば、図４の方向補間部１３１）と、エッジ方向補間手段により補間されて生成されたエッジ方向補間画素の信頼度を検出する信頼度検出手段（例えば、図４の信頼度格付部１２４）と、空間分布生成手段により生成された空間分布と、信頼度検出手段により検出された信頼度とに基づいて、最も信頼度の高い注目画素位置のエッジの方向を選択する方向選択手段（例えば、図４の方向選択部１２６）と、前記注目画素位置の上下、または、左右の画素を用いた線形補間により注目画素位置の線形補間画素を補間して生成する線形補間手段（例えば、図４の線形補間部１２７）と、方向選択手段により選択されたエッジの方向に基づいて、注目画素位置の選択方向補間画素を補間して生成する選択方向補間手段（例えば、図４の斜補間部１２８）と、線形補間画素と選択方向補間画素とを合成して合成補間画素を前記注目画素位置の画素として生成する合成補間画素生成手段（例えば、図４の合成部１３０）とを備えることを特徴とする。
【００２４】
注目画素上の斜方向のエッジの有無を判定するエッジ判定手段（例えば、図４の斜線検出部１３３）をさらに設けるようにさせることができ、方向検出手段には、エッジ判定手段の判定結果に基づいて、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向を検出させるようにすることができる。
【００２５】
信頼度検出手段には、前記エッジ方向補間手段により補間されたエッジ方向補間画素の局所的構造の整合性を判定させ、その判定結果に基づいて、エッジ方向補間手段により補間されたエッジ方向補間画素の信頼度を検出させるようにすることができる。
【００２６】
前記信頼度と方向検出手段により検出されたエッジの方向の関係から方向性分布を生成する方向性分布生成手段をさらに設けるようにさせることができ、方向選択手段には、方向性分布に基づいて、最も信頼度の高いエッジ方向を選択させるようにすることができる。
【００２７】
方向選択手段により前記方向性分布に基づいて選択された最も信頼度の高い方向の信頼度に基づいて、方向選択補間画素の重みを設定する重み設定手段（例えば、図４の斜重み付け部１２９）をさらに設けるようにさせることができ、合成補間手段には、重み設定手段により設定された重みに対応する係数を用いて、線形補間画素と方向選択補間画素の線形和をとることにより合成して合成補間画素を注目画素位置の画素として生成させるようにすることができる。
【００２８】
インタレース画像を前記原画像として、垂直方向にのみ２倍に拡大するとき、合成補間手段には、プログレッシブ画像の合成補間画素を補間して生成させるようにすることができる。
【００２９】
本発明の画像処理方法は、注目画素位置を含む、注目画素位置に対応する複数の画素位置のエッジの方向を検出する方向検出ステップ（例えば、図２５のフローチャートにおけるステップＳ９７の処理）と、方向検出ステップの処理で検出された注目画素位置に対応する複数の画素位置のエッジの方向の空間分布を生成する空間分布生成ステップ（例えば、図３８のフローチャートにおけるステップＳ１３２の処理）と、方向検出ステップの処理で検出された注目画素位置に対応する複数の画素位置のエッジの方向に基づいて、注目画素位置に対応する複数の画素位置のエッジ方向補間画素を補間して生成するエッジ方向補間ステップ（例えば、図２５のフローチャートにおけるステップＳ９８の処理）と、エッジ方向補間ステップの処理で補間されて生成されたエッジ方向補間画素の信頼度を検出する信頼度検出ステップと、空間分布生成ステップにより生成された空間分布と、信頼度検出ステップの処理で検出された信頼度とに基づいて、最も信頼度の高い注目画素位置のエッジの方向を選択する方向選択ステップ（例えば、図２５のフローチャートにおけるステップＳ１０４の処理）と、前記注目画素位置の上下、または、左右の画素を用いた線形補間により注目画素位置の線形補間画素を補間して生成する線形補間ステップ（例えば、図２５のフローチャートにおけるステップＳ１０５の処理）と、方向選択ステップの処理で選択されたエッジの方向に基づいて、注目画素位置の選択方向補間画素を補間して生成する選択方向補間ステップ（例えば、図２５のフローチャートにおけるステップＳ１０５の処理）と、線形補間画素と選択方向補間画素とを合成して合成補間画素を注目画素位置の画素として生成する合成補間ステップ（例えば、図２５のフローチャートにおけるステップＳ１０７の処理）とを含むことを特徴とする。
【００３０】
尚、記録媒体とプログラムについては、画像処理方法と同様であるので、その説明は省略するものとする。
【００３１】
図１は、本発明を適用した画像処理装置の構成例を表している。この画像処理装置２においては、画像入力部１が処理対象とされる画像データを、記録媒体から読み取ったり、ネットワークを介して伝送されてくるものを受信して入力し、画像処理部２に出力する。画像処理部２は、画像入力部１より入力された画像の解像度を変更し（拡大または縮小し）、画像出力部３に出力する。画像出力部３は、画像処理部２より供給された画像データを表示部に表示させたり、記録媒体に記録するか、あるいは、伝送媒体を介して、他の装置に伝送する。
【００３２】
画像処理部２には、エッジコネクタ処理部１１が設けられている。このエッジコネクタ処理部１１は、画像のエッジを太くする処理を実行する。すなわち、小さいサイズの画像は、低解像度であり、信頼できる情報が少ないため、拡大するのが困難である。エッジが１画素と同じくらい細い（薄い）と、後述する高速垂直アップサンプリング処理部１２，垂直アップサンプリング処理部１３，高速水平アップサンプリング処理部１４、または、水平アップサンプリング処理部１５におけるエッジ検出が困難になり、エッジ方向に沿った補間処理を正確に行うことが困難になる。そこで、エッジコネクタ処理部１１は、原画像に前処理を行い、エッジを検出し易くする。この画像情報を破壊しない前処理は、例えばコンピュータのアイコンやワードプロセッサのフォントなどの弱接続（loose connection）を持つ画像に対して行われる。
【００３３】
高速垂直アップサンプリング処理部１２と垂直アップサンプリング処理部１３は、それぞれ原画像の解像度を垂直方向にＺ倍する処理を行う。高速垂直アップサンプリング処理部１２は、Ｚの値が１より大きく２より小さい場合の処理を行い、垂直アップサンプリング処理部１３は、Ｚの値が２である場合の処理を行う。
【００３４】
高速水平アップサンプリング処理部１４と水平アップサンプリング処理部１５は、それぞれ原画像の解像度を水平方向にＺ倍する処理を行う。高速水平アップサンプリング処理部１４は、Ｚの値が１より大きく２より小さい場合の処理を行い、水平アップサンプリング処理部１５は、Ｚの値が２である場合の処理を行う。
【００３５】
線形縮小処理部１６は、原画像の解像度を縮小する（（Z＜１）倍する）処理を行う。
【００３６】
1次元垂直イメージリフレッシュ処理部１７と1次元垂直イメージリフレッシュ処理部１８は、バッファ１７ａ，１８ａを適宜利用しながら、それぞれ垂直方向または水平方向に画像データを１次元のフィルタで処理し、エッジとテクスチャを視覚的に違和感なく強調する。すなわち、記録媒体に画像データが記録される場合、記録媒体の物理的な影響により高域成分が抑制されて、画像中のエッジ部分とテクスチャ部分がぼけてしまうといった現象が生じることがあるので、1次元垂直イメージリフレッシュ処理部１７と1次元水平イメージリフレッシュ処理部１８は、各画素の中心画素エネルギを求めて、対応するフィルタ処理を行うと共に、中心画素エネルギの値からその画素がエッジ、または、テクスチャのいずれに属しているかを判別し、エッジの場合については、さらに、フィルタ処理により生じてしまう歪みを抑制するため、クリッピング処理を施す。
【００３７】
また、1次元垂直イメージリフレッシュ処理部１７と1次元水平イメージリフレッシュ処理部１８で使用するフィルタは、各々２種類のフィルタが用意されており、必要に応じてユーザが任意に設定することができる。この２種類のフィルタのうち一方のフィルタは、周波数領域の特性を綿密に制御できるという特性があり、他方のフィルタは、前者のフィルタと比較すると周波数領域の特性を綿密に制御することができないが、処理量を軽減することができるというものである。これらのフィルタは、構成するフィルタの要素が異なると言う他は同様であり、その処理も同様である。以下の説明においては、前者のフィルタをＡタイプ、後者のフィルタをＢタイプと称するものとする。
【００３８】
次に、図２のブロック図を参照して、エッジコネクタ１１の詳細な構成について説明する。エッジ接続部１０１は、検出されたエッジの情報を対角エネルギ算出部１０２に出力し、算出された左右の対角エネルギに基づいて、エッジを太くして接続する。
【００３９】
次に、図３のブロック図を参照して、高速垂直アップサンプリング処理部１２の構成について説明する。高速垂直アップサンプラ１１１は、垂直方向補間部１１２に対して補間画素を生成させて、垂直方向に拡大した画像を生成し、出力する。
【００４０】
次に、図４のブロック図を参照して、図３の垂直方向補間部１１２の構成について説明する。
【００４１】
帯域制限部１２１は、例えば、LPF（Low Pass Filter）などから構成され、入力された画像の各画素の画素値を平滑化して、帯域を制限して方向判別部１２３、および、エッジ検出部１２２に出力する。
【００４２】
エッジ検出部１２２は、帯域制限された画像信号から局所エネルギを算出してその値によりエッジの有無を検出し、検出結果を方向判別部１２３に出力する。
【００４３】
方向判別部１２３は、エッジ検出部１２２のエッジの検出結果と、斜線検出部１３３の検出結果に基づいて、エッジの方向を判別し、判別したエッジの方向の情報を信頼度格付部１２４、方向性分布生成部１２５、および、空間分布生成部１３４に出力すると共に、画素情報をも方向補間部１３１に出力する。信頼度格付部１２４は、入力された画像の情報と、方向判別部１２３から入力されるエッジの方向の情報に基づいて、エッジの方向の情報の信頼度を求め、方向性分布生成部１２５に出力する。方向補間部１３１は、方向判別部１２３からの情報に基づいて、その方向に存在する画素値を用いて画素を補間する。
【００４４】
方向性分布生成部１２５は、方向判別部１２３から入力されるエッジの方向の情報と対応する信頼度格付部１２４からの信頼度の情報に基づいて、方向性分布を生成して方向選択部１２６、および、斜重み付け部１２９に供給する。方向選択部１２６は、空間分布生成部１３４からのエッジの方向の空間分布の情報と、方向性分布生成部１２５からの方向性分布に基づいて、注目画素における信頼度の最も高いエッジの方向を選択し、選択した方向の情報を斜補間部１２８に出力する。また、斜重み付け部１２９は、斜方向のエッジに付する重みを計算して合成部１３０に出力する。
【００４５】
線形補間部１２７は、入力された画像のうち、補間しようとする画素の垂直方向の上下に隣接する画素から線形補間により画素を生成し合成部１３０に出力する。斜補間部１２８は、入力された画像のうち、補間しようとする画素を方向選択部１２６より入力された方向に挟むように隣接する画素間の情報から補間画素を生成し合成部１３０に出力する。合成部１３０は、斜重み付け部１２９より入力されてくる斜め方向の重み付けの情報に基づいて、線形補間により生成された補間画素の画素値と、斜補間部１２８により斜補間により生成された補間画素の画素値を、それぞれに重み付けして加算する（重みを係数として線形和を求める）ことにより合成して補間画素として出力する。
【００４６】
斜重み付け部１２９は、方向性分布生成部１２５より供給される方向性分布、および、エッジ検出部１２２より供給されるエッジ検出結果に基づいて、斜線の重み付けを行い、斜線の重みの情報を合成部１３０に供給する。
【００４７】
量子化部１３２は、入力された画像の各画素の画素値を量子化して、斜線検出部１３３に供給する。斜線検出部１３３は、量子化部１３２より供給された量子化されている各画素の画素値に基づいて、斜線の有無を検出し、検出結果を方向判別部１２３に供給する。尚、斜線とは、斜め方向のエッジのことである。
【００４８】
次に、図５のブロック図を参照して、垂直アップサンプリング処理部１３の構成について説明する。垂直アップサンプラ１４１は、垂直方向補間部１４２に対して、補間画素を生成させて出力する。尚、垂直方向補間部１４２の構成は、図４を参照して説明した、図３の高速垂直アップサンプリング処理部１２の垂直方向補間部１１２と同様であるので、その説明は省略する。
【００４９】
次に、図６のブロック図を参照して、高速水平アップサンプリング処理部１４の構成について説明する。高速水平アップサンプラ１５１は、補間しようとする画素の周辺画素の情報を出力して、補間画素を水平方向補間部１５２に生成させて、垂直方向に拡大した画像を生成して出力する。
【００５０】
次に、図７を参照して、水平方向補間部１５２の構成について説明する。水平方向補間部１５２の構成は、基本的には、図４を参照して説明した、図３の高速垂直アップサンプリング処理部１２の垂直方向補間部１１２と同様の手法で、水平方向の画素について処理するものである。すなわち、図７の水平方向補間部１５２における帯域制限部１６１、エッジ検出部１６２、方向判別部１６３、信頼度格付部１６４、方向性分布生成部１６５、方向選択部１６６、線形補間部１６７、斜補間部１６８、斜重み付け部１６９、合成部１７０、方向補間部１７１、量子化部１７２、斜線検出部１７３、および、空間補間部１７４は、それぞれ、図４の垂直方向補間部１１２における帯域制限部１２１、エッジ検出部１２２、方向判別部１２３、信頼度格付部１２４、方向性分布生成部１２５、方向選択部１２６、線形補間部１２７、斜補間部１２８、斜重み付け部１２９、合成部１３０、方向補間部１３１、量子化部１３２、斜線検出部１３３、および、空間補間部１３４に対応するものであり、それぞれ水平方向の画素に対してその処理を実行するものであり、基本的な処理方法は、垂直方向補間部１１２と同様であるので、その説明は省略する。
【００５１】
次に、図８のブロック図を参照して、水平アップサンプリング処理部１５の構成について説明する。水平アップサンプラ１８１は、垂直方向補間部１８２に対して、補間画素を生成させて出力する。尚、垂直方向補間部１８２の構成は、図７を参照して説明した、図６の高速水平アップサンプリング処理部１４の水平方向補間部１５２と同様の手法で、処理するものであるので、その説明は省略する。
【００５２】
次に、図９のブロック図を参照して、1次元垂直イメージリフレッシュ処理部１７の構成について説明する。中心画素エネルギ算出部１９１中心画素エネルギ算出部１９１は、入力された画像の注目画素に対応する垂直方向の列に存在する複数の画素から、その中心画素エネルギを算出し、判別比較部１９４に出力する。垂直最大値最小値検出部１９２は、入力された画像の注目画素に対応する垂直方向の複数の画素のうち、その最大値となる画素値と最小値となる画素値を抽出して、判別比較部１９４に出力する。
【００５３】
垂直フィルタ処理部１９３は、入力された画像の注目画素に対応する複数の画素を垂直方向にフィルタ処理して判別比較部１９４に出力する。判別比較部１９４は、中心画素エネルギ算出部１９１より入力される中心画素エネルギの値と、垂直フィルタ処理部１９３により垂直方向にフィルタ処理された値からテクスチャであるか、エッジであるかを判定し、さらに、エッジである場合、垂直最大値最小値検出部１９２より入力されてくる最大値または最小値と比較し、値をクリッピングして、バッファ１７ａに出力する。出力部１９５は、バッファ１７ａに記憶された画像信号を適宜読み出して出力する。
【００５４】
次に、図１０のブロック図を参照して、1次元水平イメージリフレッシュ処理部１８の構成について説明する。中心画素エネルギ算出部２０１は、入力された画像の注目画素に対応する複数の画素から、その中心画素エネルギを算出し、判別比較部２０４に出力する。水平最大値最小値検出部２０２は、入力された画像の注目画素に対応する水平方向のライン上に存在する複数の画素のうち、その最大値となる画素値と最小値となる画素値を抽出して、判別比較部２０４に出力する。
【００５５】
水平フィルタ処理部２０３は、入力された画像の注目画素に対応する複数の画素を水平方向にフィルタ処理して判別比較部２０４に出力する。判別比較部２０４は、中心画素エネルギ算出部２０１より入力される中心画素エネルギの値と、水平フィルタ処理部２０３により水平方向にフィルタ処理された値からテクスチャであるか、エッジであるかを判定し、さらに、エッジである場合、水平最大値最小値検出部２０２より入力されてくる最大値または最小値と比較し、値をクリッピングして、バッファ１８ａに出力する。出力部２０５は、バッファ１８ａに記憶された画像信号を適宜読み出して出力する。
【００５６】
次に、図１１のフローチャートを参照して、画像処理部２のズーム処理について説明する。最初にステップＳ１において、画像処理部２は、変数ｚに倍率Ｚの値を設定する。次にステップＳ２において、画像処理部２は、変数ｚの値が２以上であるか否かを判定し、２未満である場合には、ステップＳ３に進み、変数ｚの値が１より大きく２より小さい値であるか否かが判定される。変数ｚの値が１より大きく２より小さい場合にはステップＳ４に進み、画像処理部２は、高速ズーム処理を行う。この高速ズーム処理の詳細は、図１２のフローチャートを参照して後述する。その後、ステップＳ７において、出力表示処理が実行される。
【００５７】
ステップＳ３において変数ｚの値が１と２の間の値ではないと判定された場合、ステップＳ５に進み、その変数ｚの値は、０であるか否かが判定される。その変数ｚの値が０でない場合には（変数ｚの値が１未満である場合には）、ステップＳ６に進み、標準的な線形縮小処理部１６により線形縮小処理が実行される。その後、ステップＳ７において、出力表示処理が実行される。すなわち、生成された画像が、画像出力部３により、表示部に表示される。
【００５８】
これに対してステップＳ５において、変数ｚの値が０であると判定された場合、ステップＳ６におけるズーム処理を所定回数実行した結果、拡大処理は既に完了しているため、ステップＳ７に進み、出力表示処理が実行される。
【００５９】
ステップＳ２において、変数ｚの値が２以上であると判定された場合、ステップＳ８に進み、画像処理部２は、ズーム処理を実行する。このズーム処理の詳細は、図７２のフローチャートを参照して後述する。
【００６０】
ステップＳ８の次にステップＳ９に進み、画像処理部２は、変数ｚの値を２で除算する。その後、処理はステップＳ２に戻り、それ以降の処理が繰り返し実行される。
【００６１】
すなわち、変数ｚの値が２以上である場合には、ステップＳ８の処理が変数ｚの値が２より小さくなるまで所定回数繰り返し行われる。そして、変数ｚの値が２より小さくなった場合には、変数ｚの値が１と２の間の値であるとき、ステップＳ４で高速ズーム処理が行われ、変数ｚの値が１未満である場合には、ステップＳ６で標準的な線形縮小処理が行われる。この標準的な線形縮小処理は、例えば、バイリニアフィルタを用いて実現することができる。
【００６２】
次に、図１２のフローチャートを参照して、ステップＳ４の高速ズーム処理について説明する。最初にステップＳ２１において、画像処理部２は、ユーザより設定されているモードが、画像モードであるか否かを判定する。設定されているモードが画像モードでない場合には（処理対象の画像が、エッジコネクタ処理を必要とするアイコンやフォントなどの弱接続の画像である場合には）、ステップＳ２６に進み、エッジコネクタ処理が行われる。このエッジコネクタ処理の詳細は、図６８と図６９を参照して後述するが、この処理で、弱接続の画像が強接続の画像に前処理される。
【００６３】
ステップＳ２１で設定されているモードが画像モードであると判定された場合（処理対象の画像が強接続の画像である場合）、およびステップＳ２６の処理の後、ステップＳ２２に進み、画像処理部２は、１次元垂直イメージリフレッシュ処理を実行する。
【００６４】
ここで、図１３のフローチャートを参照して、１次元垂直イメージリフレッシュ処理部１７の１次元垂直イメージリフレッシュ処理について説明する。
【００６５】
ステップＳ３１において、画像入力部１より入力された画像データのうち、処理していない画素があるか否かが判定され、処理されていない画素があると判定された場合、その処理は、ステップＳ３２に進む。
【００６６】
ステップＳ３２において、中心画素エネルギ算出部１９１は、未処理画素を検索し、検索された未処理画素の垂直方向中心画素エネルギを算出する。例えば、図１４に示すような画像データが入力され、垂直方向のｙ＋１，ｙ，ｙ−１の各ラインに、画素ａ乃至ｅ、画素ｆ乃至ｊ、および、画素ｋ乃至ｏが配置されているものとするとき、画素ｈの近傍のＡエリア（図中実線で囲まれた範囲）の垂直方向中心画素エネルギEV-hは、以下の式（１）により求められる。
【００６７】
EV-h＝｜（ｂ＋ｃ＋ｄ）−（ｌ＋ｍ＋ｎ）｜・・・（１）
【００６８】
ここで、ｂ，ｃ，ｄ，ｌ，ｍ，およびｎは、画素ｂ，ｃ，ｄ，ｌ，ｍ，およびｎの画素値である。すなわち、式（１）の垂直方向中心画素エネルギEVは、未処理画素を中心とした上のラインと下のラインに存在する画素値の和同士の差分の絶対値である。このため、相関のある画素同士が上下にある場合は、その画素値の差分には、大きな差がないので、垂直方向中心画素エネルギも小さくなり、逆に、相関のない画素同士が上下にある場合、その画素値の差分には大きな差が現れることが多く、結果として垂直方向中心画素エネルギも大きくなる。
【００６９】
中心画素エネルギ算出部１９１は、未処理画素の垂直方向中心画素エネルギEV-hを上記の式（１）を演算することにより求める。
【００７０】
ステップＳ３３において、垂直最大値最小値検出部１９２は、未処理画素を含めた上下３個の画素の画素値を比較して最大値と最小値を求める。すなわち、例えば、図１４に示すように、未処理画素が画素ｈであった場合、それを含めた上下の画素ｃ，ｈ，ｍ（図１４中の点線で囲まれたＢエリア）の各画素値を読出し、図１５に示すように、その内の最大値（ｃ，ｈ，ｍ）と最小値（ｃ，ｈ，ｍ）を求める。
【００７１】
ステップＳ３４において、判別比較部１９４は、求められた垂直方向中心画素エネルギEV-hが、最小値（ｃ，ｈ，ｍ）より大きく、かつ、最大値（ｃ，ｈ，ｍ）未満であるか否かを判定し、最小値（ｃ，ｈ，ｍ）より大きく、かつ、最大値（ｃ，ｈ，ｍ）未満であると判定した場合、すなわち、その画素がエッジか、または、テクスチャであると判定した場合、その処理は、ステップＳ３５に進む。
【００７２】
ステップＳ３５において、垂直フィルタ処理部１９３は、垂直１次元フィルタを構成する係数αの値を計算する。係数αは、式（２）に示すような計算により求められる。
【００７３】
α＝α0−（EV-h／EV-h-max）・・・（２）
【００７４】
ここで、α0（１<α0≦２）は、ユーザにより任意に設定される値であり、EV-h-Maxは、垂直方向中心画素エネルギEV-hの最大値である。尚、ここで言う垂直中心画素エネルギの最大値EV-h-maxは、最大値（ｃ，ｈ，ｍ）とは、異なるものであり、算出され得る最大値を示している。
【００７５】
ステップＳ３６において、垂直フィルタ処理部１９３は、図１４に示すBエリアの画素ｃ，ｈ，ｍに、図１５に示すような１次元垂直フィルタ処理を施す。すなわち、１次元垂直フィルタは、（1/2−α/2，α，1/2−α/2）（１<α≦２）といったものであり、例えば、フィルタが上述のタイプＡの場合、以下の式（３）に示すような演算により、フィルタ処理された画素値ｈV-filterが求められる。
【００７６】
ｈV-filter＝ｃ×（1/2−α/2）＋ｈ×α＋ｍ×（1/2−α/2）・・・（３）
【００７７】
ここで、係数αは、上述のステップＳ３５の処理で求められた値であり、フィルタによるエッジ、または、テクスチャの強調の程度を調節することができる。すなわち、係数αは、垂直方向中心画素エネルギEV-hの値により動的に変化し、垂直方向中心画素エネルギEV-hが小さいと係数αは大きくなり、結果として、図１５に示す１次元垂直フィルタは、画素ｈに強く作用することになり、逆に、垂直方向中心画素エネルギEV-hが大きいと係数αは小さくなり、結果として、図１５に示す垂直フィルタは、画素ｈに弱く作用することになる。
【００７８】
ステップＳ３７において、判別比較部１９４は、図１５に示すように、現在処理している画素がエッジであるか、または、テクスチャであるかの判別処理を行う。すなわち、垂直中心画素エネルギEV-hは、テクスチャである場合、その値が最小値（ｃ，ｈ，ｍ）に近い値をとり、エッジである場合、その値が最大値（ｃ，ｈ，ｍ）に近い値をとる。そこで、最大値（ｃ，ｈ，ｍ）と最小値（ｃ，ｈ，ｍ）の中間付近に閾値EV-sを設定し、閾値EV-sより垂直中心画素エネルギEV-hが大きいとき、エッジであると判別し、逆に、閾値EV-sより垂直中心画素エネルギEV-hが小さいとき、テクスチャであると判別する。例えば、垂直中心画素エネルギEV-hが閾値EV-sより大きいとき、判別比較部１９４は、注目する処理中の画素が、エッジであると判別し（エッジの表示領域に存在する画素であると判別し）、その処理は、ステップＳ３８に進む。
【００７９】
ステップＳ３８において、判別比較部１９４は、図１５に示すように、フィルタ処理した画素値ｈV-filterと最大値（ｃ，ｈ，ｍ）を比較し、フィルタ処理した画素値ｈV-filterが最大値（ｃ，ｈ，ｍ）以上であるか否かを判定し、最大値（ｃ，ｈ，ｍ）以上であると判定した場合、ステップＳ３９において、判別比較部１９４は、画素値ｈV-filterを最大値（ｃ，ｈ，ｍ）に置き換える。
【００８０】
ステップＳ４０において、判別比較部１９４は、最大値（ｃ，ｈ，ｍ）に置き換えられた画素値を画素ｈの画素値としてバッファ１７ａに記憶させ、その処理は、ステップＳ３１に戻り、全ての画素に１次元垂直エッジ強調処理が施されたと判定されるまで同様の処理が繰り返される。
【００８１】
ステップＳ３４において、垂直方向中心画素エネルギEVが、最小値（ｃ，ｈ，ｍ）より大きく、かつ、最大値（ｃ，ｈ，ｍ）未満ではないと判定された場合、すなわち、その画素がエッジか、または、テクスチャではないと判定された場合、その処理は、ステップＳ４０に進み、判別比較部１９４は、画素ｈの画素値を、フィルタ処理することなく、そのままバッファ１７ａに記憶させ、その処理は、ステップＳ３１に戻り、それ以降の処理が繰り返される。また、ステップＳ３７において、垂直中心画素エネルギEV-hが閾値EV-sより小さいとき、判別比較部１９４は、注目する処理中の画素が、テクスチャであると判定し、その処理は、ステップＳ４０に進む。すなわち、テクスチャである場合、判別比較部１９４は、フィルタ処理が施された画素値ｈV-filterを画素ｈの値としてバッファ１７ａに記憶させる。
【００８２】
ステップＳ３８において、フィルタ処理した画素値ｈV-filterが最大値（ｃ，ｈ，ｍ）以上ではないと判定した場合、ステップＳ４１において、判別比較部１９４は、フィルタ処理した画素値ｈV-filterと最小値（ｃ，ｈ，ｍ）を比較し、フィルタ処理した画素値ｈV-filterが最小値（ｃ，ｈ，ｍ）以下であるか否かを判定し、フィルタ処理した画素値ｈV-filterが最小値（ｃ，ｈ，ｍ）以下であると判定した場合、その処理は、ステップＳ４２に進む。
【００８３】
ステップＳ４２において、判別比較部１９４は、画素値ｈV-filterを最小値（ｃ，ｈ，ｍ）に置き換え、ステップＳ４０において、最小値（ｃ，ｈ，ｍ）に置き換えられた画素値を、画素ｈの画素値としてバッファ１７ａに記憶する。
【００８４】
ステップＳ４１において、フィルタ処理した画素値ｈV-filterが最小値（ｃ，ｈ，ｍ）以下ではないと判定された場合、その処理は、ステップＳ４０に進み、判別比較部１９４は、フィルタ処理された画素値ｈV-filterを、画素ｈの画素値としてバッファ１７ａに記憶させ、その処理は、ステップＳ３１に戻る。
【００８５】
すなわち、ステップＳ３４の処理で、垂直方向中心画素エネルギEV-hが、最小値（ｃ，ｈ，ｍ）より大きく、かつ、最大値（ｃ，ｈ，ｍ）未満である場合、図１５に示すように、ステップＳ３３の処理で求められた最大値（ｃ，ｈ，ｍ）、および、最小値（ｃ，ｈ，ｍ）が、画素ｃ，ｈ，ｍの局所的な範囲の最大値と最小値とみなされ、ステップＳ３６の処理でフィルタ処理して求められた画素値が、その最小値と最大値の範囲に含まれたときは、さらに、ステップＳ３７の処理で、エッジであるかテクスチャであるかが判定され、テクスチャとして判定されると、フィルタ処理した画素値が、そのままバッファ１７ａに記憶させられ、エッジとして判定されると、最小値（ｃ，ｈ，ｍ）以下のときは画素値が最小値に、最大値（ｃ，ｈ，ｍ）以上のときは画素値が最大値にされて（クリッピングされて）、バッファ１７ａに記憶させられる。ステップＳ３４の処理で、垂直方向中心画素エネルギEVが、最小値（ｃ，ｈ，ｍ）より大きく、かつ、最大値（ｃ，ｈ，ｍ）未満ではない場合、エッジ、または、テクスチャではないと判定された場合、元の画素値が、フィルタ処理されることもなく、そのままバッファ１７ａに記憶される。
【００８６】
尚、１次元垂直フィルタは、上述のように２種類存在し、図１５に示すＡタイプと、図１６で示すようにＢタイプが存在する。すなわち、Ａタイプでは、式（３）で示したような演算により、フィルタ処理がなされるが、Ｂタイプでは、以下の式（４）に示すような演算がされる。
【００８７】
ｈV-filter（TypeB）
＝ｃ×（1/4−α/2）＋ｈ×1/2＋α＋ｍ×（1/4−α/2）・・・（４）
【００８８】
尚、係数αは、Aタイプと同様に、式（２）により設定可能であり、その他の処理も同様であるので、その処理の説明は省略する。
【００８９】
ここで、図１２の処理の説明に戻る。
【００９０】
ステップＳ２２の処理における、１次元垂直イメージリフレッシュ処理が実行されると、続いてステップＳ２３において、１次元水平イメージリフレッシュ処理が実行される。
【００９１】
ここで、図１７のフローチャートを参照して、１次元水平イメージリフレッシュ処理部１８の１次元水平イメージリフレッシュ処理について説明する。
【００９２】
ステップＳ５１において、１次元水平イメージリフレッシュ処理部１８は、１次元垂直イメージリフレッシュ処理部１７により１次元垂直イメージリフレッシュ処理された画像データのうち、処理していない画素があるか否かを判定し、処理していない画素があると判定された場合、その処理は、ステップＳ５２に進む。
【００９３】
ステップＳ５２において、中心画素エネルギ算出部２０１は、未処理画素を検索し、検索された未処理画素の垂直方向中心画素エネルギを算出する。例えば、図１８に示すような画像データが入力され、垂直方向のｙ＋１，ｙ，ｙ−１の各ラインに、画素ａ乃至ｅ、画素ｆ乃至ｊ、および、画素ｋ乃至ｏが配置されているものとするとき、画素ｈの近傍のＡエリア（図中実線で囲まれた範囲）の水平方向中心画素エネルギEH-hは、以下の式により求められる。
【００９４】
EV-h＝｜（ｄ＋ｉ＋ｎ）−（ｂ＋ｇ＋ｌ）｜・・・（５）
【００９５】
ここで、ｂ，ｃ，ｄ，ｌ，ｍ，およびｎは、画素ｂ，ｃ，ｄ，ｌ，ｍ，およびｎの画素値である。すなわち、式（５）の水平方向中心画素エネルギEHは、未処理画素を中心とした右のラインと左のラインに存在する画素値の和同士の差分の絶対値である。このため、相関のある画素同士が左右にある場合は、その画素値の差分には、大きな差がないので、水平方向中心画素エネルギも小さくなり、逆に、相関のない画素同士が左右にある場合、その画素値の差分には大きな差が現れることが多く、結果として水平方向中心画素エネルギも大きくなる。
【００９６】
中心画素エネルギ算出部２０１は、未処理画素の水平方向中心画素エネルギEH-hを上記の式（５）を演算することにより求める。
【００９７】
ステップＳ５３において、水平最大値最小値検出部２０２は、未処理画素を含めた左右３個の画素の画素値を比較して最大値と最小値を求める。すなわち、例えば、図１８に示すように、未処理画素が画素ｈであった場合、それを含めた上下の画素ｇ，ｈ，ｉ（図１８中の点線で囲まれたＢエリア）の各画素値を読出し、図１９に示すように、その内の最大値（ｇ，ｈ，ｉ）と最小値（ｇ，ｈ，ｉ）を求める。
【００９８】
ステップＳ５４において、判定比較部１８４は、求められた水平方向中心画素エネルギEHが、最小値（ｇ，ｈ，ｉ）より大きく、かつ、最大値（ｇ，ｈ，ｉ）未満であるか否かを判定し、最小値（ｇ，ｈ，ｉ）より大きく、かつ、最大値（ｇ，ｈ，ｉ）未満であると判定した場合、すなわち、その画素がエッジか、または、テクスチャであると判定した場合、その処理は、ステップＳ５５に進む。
【００９９】
ステップＳ５５において、水平フィルタ処理部２０３は、水平１次元フィルタを構成する係数αの値を計算する。係数αは、上述の式（２）と同様に、式（６）に示すような計算により求められる。
【０１００】
α＝α0−（EH-h／EH-h-max）・・・（６）
【０１０１】
ここで、α0（１<α0≦２）は、ユーザにより任意に設定される値であり、EH-h-Maxは、水平方向中心画素エネルギEH-hの最大値である。尚、ここで言う水平中心画素エネルギの最大値EH-h-maxは、最大値（ｇ，ｈ，ｉ）とは、異なるものであり、算出され得る最大値を示している。
【０１０２】
ステップＳ５６において、水平フィルタ処理部２０３は、図１８に示すBエリアの画素ｇ，ｈ，ｉに、図１９に示すような１次元水平フィルタ処理を施す。すなわち、１次元水平フィルタとしては、（1/2−α/2，α，1/2−α/2）（１<α≦２）といったものであり、例えば、フィルタが上述のタイプＡの場合、以下の式（７）に示すような演算により、フィルタ処理された画素値ｈH-filterが求められる。
【０１０３】
ｈH-filter＝ｇ×（1/2−α/2）＋ｈ×α＋ｉ×（1/2−α/2）・・・（７）
【０１０４】
ここで、係数αは、上述のステップＳ５５の処理で求められた値であり、フィルタによるエッジ、または、テクスチャの強調の程度を調節することができる。すなわち、係数αは、水平方向中心画素エネルギEH-hの値により動的に変化し、水平方向中心画素エネルギEV-hが小さいと係数αは大きくなり、結果として、図１９に示す１次元水平フィルタは、画素ｈに強く作用することになり、逆に、水平方向中心画素エネルギEH-hが大きいと係数αは小さくなり、結果として、図１９に示す垂直フィルタは、画素ｈに弱く作用することになる。
【０１０５】
ステップＳ５７において、判別比較部２０４は、図１９に示すように、現在処理している画素がエッジであるか、または、テクスチャであるかを判定する。すなわち、水平中心画素エネルギEH-hは、テクスチャである場合、その値が最小値（ｇ，ｈ，ｉ）に近い値をとり、エッジである場合、その値が最大値（ｇ，ｈ，ｉ）に近い値をとる。そこで、最大値（ｇ，ｈ，ｉ）と最小値（ｇ，ｈ，ｉ）の中間付近に閾値EH-sを設定し、閾値EH-sより水平中心画素エネルギEH-hが大きいとき、エッジであると判別し、逆に、閾値EH-sより水平中心画素エネルギEH-hが小さいとき、テクスチャであると判別する。例えば、水平中心画素エネルギEH-hが閾値EH-sより大きいとき、判別比較部２０４は、注目する処理中の画素が、エッジであると判定し（エッジの表示領域に存在する画素であると判別し）、その処理は、ステップＳ５８に進む。
【０１０６】
ステップＳ５８において、判別比較部２０４は、図１９に示すように、フィルタ処理した画素値ｈH-filterと最大値（ｇ，ｈ，ｉ）を比較し、フィルタ処理した画素値ｈH-filterが最大値（ｇ，ｈ，ｉ）以上であるか否かを判定し、最大値（ｇ，ｈ，ｉ）以上であると判定した場合、ステップＳ５９において、判別比較部２０４は、画素値ｈH-filterを最大値（ｇ，ｈ，ｉ）に置き換える。
【０１０７】
ステップＳ６０において、判別比較部２０４は、最大値（ｇ，ｈ，ｉ）に置き換えられた画素値を画素ｈの画素値としてバッファ１８ａに記憶させ、その処理は、ステップＳ５１に戻り、全ての画素に１次元垂直エッジ強調処理が施されたと判定されるまで同様の処理が繰り返される。
【０１０８】
ステップＳ５４において、水平方向中心画素エネルギEHが、最小値（ｇ，ｈ，ｉ）より大きく、かつ、最大値（ｇ，ｈ，ｉ）未満ではないと判定された場合、すなわち、その画素がエッジか、または、テクスチャではないと判定された場合、その処理は、ステップＳ６０に進み、判別比較部２０４は、画素ｈの画素値を、フィルタ処理することなく、そのままバッファ１８ａに記憶させ、その処理は、ステップＳ５１に戻り、それ以降の処理が繰り返される。また、ステップＳ５７において、水平中心画素エネルギEH-hが閾値EH-sより小さいとき、１次元水平イメージリフレッシュ処理部１８は、注目する処理中の画素が、テクスチャであると判定し、その処理は、ステップＳ６０に進む。すなわち、テクスチャである場合、判別比較部２０４は、フィルタ処理が施された画素値ｈH-filterを画素ｈの値としてバッファ１８ａに記憶させる。
【０１０９】
ステップＳ５８において、フィルタ処理した画素値ｈH-filterが最大値（ｇ，ｈ，ｉ）以上ではないと判定した場合、ステップＳ６１において、判別比較部２０４は、フィルタ処理した画素値ｈH-filterと最小値（ｇ，ｈ，ｉ）を比較し、フィルタ処理した画素値ｈH-filterが最小値（ｇ，ｈ，ｉ）以下であるか否かを判定し、フィルタ処理した画素値ｈH-filterが最小値（ｇ，ｈ，ｉ）以下であると判定した場合、その処理は、ステップＳ６２に進む。
【０１１０】
ステップＳ６２において、判別比較部２０４は、画素値ｈH-filterを最小値（ｇ，ｈ，ｉ）に置き換え、ステップＳ６０において、最小値（ｇ，ｈ，ｉ）に置き換えられた画素値を、画素ｈの画素値としてバッファ１８ａに記憶する。
【０１１１】
ステップＳ６１において、フィルタ処理した画素値ｈH-filterが最小値（ｇ，ｈ，ｉ）以下ではないと判定した場合、その処理は、ステップＳ６０に進み、判別比較部２０４は、フィルタ処理された画素値ｈH-filterを、画素ｈの画素値としてバッファ１８ａに記憶させ、その処理は、ステップＳ５１に戻る。
【０１１２】
すなわち、ステップＳ５４の処理で、水平方向中心画素エネルギEHが、最小値（ｇ，ｈ，ｉ）より大きく、かつ、最大値（ｇ，ｈ，ｉ）未満である場合、図１７に示すように、ステップＳ５３の処理で求められた最大値（ｇ，ｈ，ｉ）、および、最小値（ｇ，ｈ，ｉ）が、画素ｇ，ｈ，ｉの局所的な範囲の最大値と最小値とみなされ、ステップＳ５６の処理でフィルタ処理して求められた画素値が、その最小値と最大値の範囲に含まれたときは、さらに、ステップＳ５７の処理で、エッジであるかテクスチャであるかが判定され、テクスチャとして判定されると、フィルタ処理した画素値が、そのままバッファ１８ａに記憶させられ、エッジとして判定されると、最小値（ｇ，ｈ，ｉ）以下のときは画素値が最小値に、最大値（ｇ，ｈ，ｉ）以上のときは画素値が最大値にされて（クリッピングされて）、バッファ１８ａに記憶させられる。ステップＳ５４の処理で、垂直方向中心画素エネルギEHが、最小値（ｇ，ｈ，ｉ）より大きく、かつ、最大値（ｇ，ｈ，ｉ）未満ではない場合、エッジ、または、テクスチャではないと判定されたとき、元の画素値が、フィルタ処理されることもなく、そのままバッファ１８ａに記憶される。
【０１１３】
尚、１次元水平フィルタは、上述のように２種類存在し、図１９に示すＡタイプと、図２０で示すようにＢタイプが存在する。すなわち、Ａタイプでは、式（７）で示したような演算により、フィルタ処理がなされるが、Ｂタイプでは、以下の式（８）に示すような演算がされる。
【０１１４】
ｈH-filter（TypeB）＝ｇ×（1/4−α/2）＋ｈ×1/2＋α＋ｉ×（1/4−α/2）・・・（８）
【０１１５】
ここで、αの設定は、Aタイプと同様に、式（６）により設定可能であり、その他の処理も同様であるので、その処理の説明は省略する。
【０１１６】
ここで、図１２の処理の説明に戻る。
【０１１７】
ステップＳ２３において、１次元水平イメージリフレッシュ処理が実行されると、続いて、ステップＳ２４において、高速垂直アップサンプリング処理を実行する。この高速垂直アップサンプリング処理は、例えば、図２１に示されるように、画像入力部１より入力された原画像の画素数を垂直方向に拡大する処理を意味する。この高速垂直アップサンプリング処理は、高速垂直アップサンプリング処理部１２により実行される。
【０１１８】
ここで、図２２のフローチャートを参照して、高速垂直アップサンプリング処理に付いて説明する。高速垂直アップサンプラ１１１は、最初にステップＳ７１において、Ｈバッファ３１（後述する図２４）と２Ｙバッファ４１（後述する図４２）を作成する。画像入力部１より入力された原画像（I_image）のサイズが、In_width×In_heightである場合、Ｈバッファ３１のサイズは、In_width×(alpha_Z×In_height)となる。ここで、alpha_Zは、原画像を垂直方向に拡大する倍率を表し、今の場合、高速垂直アップサンプリングであるので、その値は１より大きく、２より小さい値である（ステップＳ３，Ｓ４）。
【０１１９】
２Ｙバッファ４１は、サイズがIn_width×１とされる。この２Ｙバッファ４１には、補間された画素が一次的に格納される。
【０１２０】
次に、ステップＳ７２において、高速垂直アップサンプリング処理部１２は、ケース１乃至ケース３に対応する処理を実行する。
【０１２１】
このケース１乃至ケース３の処理は、Ｈバッファ３１のＹ行の補間データを生成する処理である。Ｙ行の補間データが、ケース１乃至ケース３のいずれの処理により生成されるかは、次のように決定される。
【０１２２】
すなわち、本実施の形態においては、原画像I_imageを垂直方向に２倍に拡大した画像としての仮想垂直２倍拡大画像2Y_imageが想定される。Ｈバッファ３１に格納する画像は、原画像I_imageを垂直方向にalpha_Z倍した画像であるから、仮想垂直２倍拡大画像2Y_imageの行を2Y_lineとし、Ｈバッファ３１に格納する画像の行をＹとすると、次の比例式が成立する。
【０１２３】
Y：2Y_line=alpha_Z：2・・・（９）
この式（９）を整理すると、次式が得られる。
【０１２４】
2Y_line＝Y×2/alpha_Z・・・（１０）
【０１２５】
上記の式（１０）より計算された値2Y_lineが整数且つ偶数である場合（2Y_line=2nであり、ｎが整数である場合）、Ｙ行の補間データは、ケース１の処理で生成される。値2Y_lineが整数且つ奇数である場合（2Y_line=2n+1であり、ｎが整数である場合）、Ｙ行の補間データは、ケース２の処理で生成される。その他の場合、すなわち値2Y_lineが実数である場合、Ｙ行の補間データは、ケース３の処理で生成される。
【０１２６】
ケース１の場合、図２３のフローチャートに示す処理が実行される。すなわち、ケース１の場合、Ｈバッファ３１の行Ｙの値を、原画像I_image中の所定の行の値（2Y_line/2=n）と対応させることができる。このため、ステップＳ８１において、高速垂直アップサンプラ１１１は、原画像I_imageの2Y_line/2行をＨバッファ３１のＹ行にそのままコピーする。
【０１２７】
図２４は、この場合の処理を模式的に表している。すなわち、ケース１の場合、Ｈバッファ３１の行Ｙの値が原画像I_imageの行ｎの値と等しいため、原画像のｎ（=2Y_line/2）行がＨバッファ３１のＹ行にそのままコピーされる。
【０１２８】
次に、図２５のフローチャートを参照して、ケース２の場合の処理について説明する。このケース２の場合、(2n+1)/2の値は整数ではないので、Ｈバッファ３１の行Ｙの値を、原画像I_image中の所定の行の値に対応させることができない。しかしながら、仮想垂直２倍拡大画像2Y_image中の所定の行(2n+1)とは、対応させることができる。
【０１２９】
そこで、この場合、ステップＳ９１において、高速垂直アップサンプラ１１１は、原画像I_image中の所定の範囲（Ｎ画素）の上行up_lineと下行down_lineの画素を抽出する。Ｎの値は可変とされる。従って、上行up_lineの中心座標は、(X+N/2,n)となり、下行down_lineの中心座標は、(X+N/2,n+1)となる。
【０１３０】
次にステップＳ９２において、垂直方向補間部１１２のエッジ検出部１２２は、帯域制限部１２１により帯域制限された信号に基づいて、局所エネルギE(N)を、次式より算出する。
【０１３１】
E(N)=Σ（I=0，N-1）ABS（up_line(I)−down_line(N-I-1)）・・・（１１）
【０１３２】
上記の式（１１）の計算は、up_lineの個々の画素から対角線上に位置するdown_lineの画素を減算し、その絶対値のIが0からN-1までの和を積算することを示している。
【０１３３】
図２６は、局所エネルギE(N)の計算の例を表している。同図に示されるように、上行up_lineの画素と、下行down_lineの画素のうち、対角線上に位置する上の画素から下の画素の画素値が減算され、その差の絶対値の和が局所エネルギE(N)とされる。図２６の例では、画素Ｙ0,0の値（３０）から、画素Ｙ1,4の値（２５５）が減算される。また画素Ｙ0,1の画素値（１５０）から、画素Ｙ1,3の画素値（２３０）が減算される。以下同様に、画素Ｙ0,2の画素値（１５０）から画素Ｙ1,2の画素値（２００）が減算され、画素Ｙ0,3の画素値（２００）から画素Ｙ1,1の画素値（２００）が減算され、画素Ｙ0,4の画素値（２５５）から、画素Ｙ1,0の画素値（３０）が減算される。そしてそれぞれの差分の絶対値の和が局所エネルギとされる。
【０１３４】
ステップＳ９３において、エッジ検出部１２２は、局所エネルギE(N)が予め設定されている所定の閾値Ｔより大きいか否かを判定する。局所エネルギE(N)が閾値Ｔと等しいか、それより小さい場合、その領域は、エッジを含まない平坦な低エネルギの領域と見なされる。この場合、潜在的エッジの方向を計算する必要がない。このため、ステップＳ９４に進み、方向判別部１２３が、エッジ検出部１２２の判定結果に基づいて、方向補間部１３１に、Ｈバッファ３１中の座標（X+N/2,Y）の画素データとして、座標（X+N/2,Y）を中心として、上下方向に幅2m（ｍは、任意）画素の範囲に存在する画素の線形和（ただし、各係数の和は１）を演算し、Ｈバッファ３１のその座標（X+N/2,Y）に格納すると共に、垂直方向（後述する図３８におけるＬ２の方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。また、信頼度格付部１２４は、この補間画素について信頼度が低いことを示す０を方向性分布生成部１２５に出力する。
【０１３５】
H_buffer(X+N/2,Y)
=I_image(X+N/2,n-m)×Cn-m+I_image(X+N/2,n-m)×Cn-m+1
+・・・+I_image(X+N/2,n+m-1)×Cn+m-1 +I_image(X+N/2,n+m)×Cn+m
（ただし、Cn-m+Cn-m+1+・・・+Cn+m-1+Cn+m＝1）
・・・（１２）
【０１３６】
ここで、I_image(X+N/2,n)は、座標(X+N/2,Y)上の画素の上行に隣接する画素の画素値であり、I_image(X+N/2,n-1)は、座標(X+N/2,Y)上画素の下行に隣接する画素の画素値であり、I_image(X+N/2,n+i)（iは、-m≦i≦m）は、座標(X+N/2,Y)の上下方向に２ｍ画素分並んだ各画素の画素値を示している。
【０１３７】
すなわち、局所エネルギE(N)が閾値Ｔと等しいか、それより小さい場合、その領域は、エッジを含まない平坦な低エネルギの領域と見なされるので、画素値を求めようとする画素の画素値は、水平方向に同一の位置の上下方向に並ぶそれぞれm画素ずつの画素値の線形和をＨバッファ３１のその座標（X+N/2,Y）に格納する。
【０１３８】
一方、ステップＳ９３において、局所エネルギE(N)の値が閾値Ｔより大きいと判定された場合、その領域は、潜在的エッジを含んだ高エネルギ領域と見なされる。このとき、ステップＳ９５において、座標（X+N/2,Y）に対応する画素上に斜線となるエッジが存在するか否かを判定するための斜線検出処理が実行される。
【０１３９】
ここで、図２７のフローチャートを参照して、斜線検出処理について説明する。
【０１４０】
ステップＳ１２１において、量子化部１３２は、入力された各画素の画素値のうち、注目画素である座標（X+N/2,Y）の上下とその画素の上下の左右の画素の画素値を、例えば、所定の値で割るなどして、量子化し斜線検出部１３３に出力する。
【０１４１】
ステップＳ１２２において、斜線検出部１３３は、以下の式（１３）を演算して、注目画素の上行の真上の画素と、真上の画素の左右に隣接する画素間のそれぞれの差分の積UP(N/2)を求める。
【０１４２】
UP(N/2)＝（PA−PB）×（PB−PC）
・・・（１３）
【０１４３】
ここで、PA，PB，PCは、図２８で示されるように、生成しようとする注目画素の上行の画素（入力された原信号の画素）である。すなわち、図２８においては、注目画素が丸印で示されている（注目画素は、生成される画素であって、原信号のように実在する画素ではない）。従って、上記の式（１３）は、その上行の画素である画素PAと画素PB間の画素間差分と、画素PBと画素PC間の画素間差分との積が、UP(N/2)として求められている。
【０１４４】
ステップＳ１２３において、斜線検出部１３３は、以下の式（１４）を演算して、注目画素の下行の真下の画素と、真下の画素の左右に隣接する画素間のそれぞれの差分の積DOWN(N/2)を求める。
【０１４５】
DOWN(N/2)＝（PD−PE）×（PE−PF）
・・・（１４）
【０１４６】
ここで、PD，PE，PFは、図２８で示されるように、注目画素の下行の画素（入力された原信号の画素）である。従って、上記の式（１４）では、その下行の画素である画素PDと画素PE間の画素間差分と、画素PEと画素PF間の画素間差分との積が、DOWN(N/2)として求められている。
【０１４７】
ステップＳ１２４において、斜線検出部１３３は、以下の式（１５）を演算することにより、注目画素と、その左右の画素間の画素値の差分の積MIDDLE(N/2)を求める。
【０１４８】
MIDDLE(N/2)
＝（0.5×（PA＋PD）−0.5×（PB＋PE））×（0.5×（PB＋PE）−0.5×（PE＋PF））
・・・（１５）
【０１４９】
ここで、（0.5×（PA＋PD）），（0.5×（PB＋PE）），（0.5×（PE＋PF））は、図２８で示されるように、注目画素の左の画素PL、注目画素、および、右に隣接する画素PRのそれぞれの画素値である。従って、上記の式（１５）では、注目画素の右側に隣接する画素間の画素間差分と、注目画素の左側に隣接する画素間の画素間差分との積が、MIDDLE(N/2)として求められている。
【０１５０】
ここで、図２５のフローチャートの説明に戻る。
【０１５１】
ステップＳ９６において、斜線検出部１３３は、斜線が存在するか否かを判定し、判定結果を方向判別部１２３、および、斜重み付け部１２９に出力する。より詳細には、斜線検出部１３３は、以下の式（１６）で示される条件が満たされるか否かを判定し、以下の式（１６）の条件が満たされる場合、斜線が存在しないと判定する。
【０１５２】
UP(N/2)<0 and DOWN(N/2)<0 and MIDDLE(N/2)<0
・・・（１６）
【０１５３】
例えば、図２８の場合、図中の斜線が付された画素の画素値を１とし、それ以外の画素の画素値を０とすると、式（１６）の条件が満たされることになり（UP(N/2)＝（1-0）×（0-1）<0 and DOWN(N/2)＝（1-0）×（0-1）<0 and MIDDLE(N/2)＝（1-0）×（0-1）<0）、局所エネルギは閾値よりも高いが、斜めのエッジが存在しないと判定されることになり、斜線が存在しないと判定される（図２８においても、画素値が１となる画素が連続的に配置されておらず、いわゆるチェッカパターンとなっていることが示されている）。
【０１５４】
一方、図２９の場合、式（１６）の条件が満たされないことになり（UP(N/2)＝（0-0）×（0-1）=0 and DOWN(N/2)＝（0-0）×（0-1）=0 and MIDDLE(N/2)＝（1-1）×（1-1）=0）、斜めのエッジが存在すると判定されることになる（図２９においても、画素値が１となる画素が連続的に配置されており、エッジが存在することが示されている）。
【０１５５】
ステップＳ９６において、斜線が存在しないと判定された場合、その処理は、ステップＳ９７に進む。
【０１５６】
ステップＳ９７において、垂直方向補間部１１２の方向判別部１２３は、帯域制限部１２１により帯域制限された画像信号に基づいて、エッジ方向を試験的に計算する処理を実行し、検出した方向の情報を信頼度格付部１２４、方向性分布生成部１２５、および、空間分布生成部１３４に出力すると共に、検出した画素の情報を方向補間部１２３に出力する。具体的には、以下に示す演算は、x=N-1からｘをデクリメントし、ｘが−１より大きい間は行われる。
【０１５７】
Energy=ABS(up_line(N-x-1)−down_line(x))・・・（１７）
【０１５８】
上記の式（１７）で計算されたエネルギの値のうち、最も小さいものが選択され、その２つの画素が対応する対角線の方向が局所的なエッジの方向と見なされる。
【０１５９】
図３０は、この場合の具体的な例を表している。この例においては、画素Ｙ0,0の画素値（３０）と、画素Ｙ1,4の画素値（２５５）との差、画素Ｙ0,1の画素値（１５０）と、画素Ｙ1,3の画素値（２３０）との差、画素Ｙ0,2の画素値（１５０）と、画素Ｙ1,2の画素値（２００）との差、画素Ｙ0,3の画素値（２００）と、画素Ｙ1,1の画素値（２００）との差、および画素Ｙ0,4の画素値（２５５）と、画素Ｙ1,0の画素値（３０）との差が、それぞれ演算される。そしてそれらの値の絶対値のうち、最も小さい値（この例の場合、画素Ｙ0,3と画素Ｙ1,1を結ぶ方向）が局所的なエッジ方向と見なされる。
【０１６０】
図３１は、Ｈバッファ３１に保持されている上行up_lineの３画素と下行down_lineの３画素との差から局所的なエッジ方向が推測される例を表している。図３１の例においては、Ｎの値が３とされているが、このＮの値としてより大きな値を用いることで、より正確に、かつより多くの方向のエッジの検出が可能となる。
【０１６１】
ステップＳ９７の処理で、エッジ方向が検出された場合、さらにステップＳ９８において、方向補間部１３１は、その検出されたエッジ方向の画素を用いて、補間処理を行う（方向補間処理が行われる）。この方向補間処理は、エッジ方向に対応する２つの画素の画素値に基づいて、その間に位置する画素の画素値を補間することを意味する。例えば、図２７の例では、画素Ｙ0,3と画素Ｙ1,1の画素値の平均値（２００）が、両者の間の画素の画素値とされる。
【０１６２】
次に、ステップＳ９９に進み、信頼度格付部１２４は、構造コレクタ処理を実行する。この構造コレクタ処理は、座標(X+N/2,Y)に補間された画素と、その垂直の近傍画素、すなわち座標up_line(N/2)と、座標down_line(N/2)との関係を解析することで、更新された局所構造（ステップＳ９８の方向補間処理で生成された画素とその上下の画素）の整合性をチェックする処理である。
【０１６３】
すなわち、この構造コレクタ処理では、上行の中心画素から更新された画素を減算する処理が行われ、さらに、更新された画素から下行の中心画素を減算する処理が行われる。さらに、以上のようにして得られた２つの減算結果を乗算することで、垂直方向の変化を表す値V(N/2)が計算される。すなわち、ステップＳ９８においては、次の式で示す演算が行われる。
【０１６４】
V(N/2)=(up_line(N/2)−H-buffer(X+N/2,Y))
×(H-buffer(X+N/2,Y)−down_line(N/2))・・・（１８）
【０１６５】
ここで、H-buffer(X+N/2,Y)は、補間生成された更新されている画素の画素値である。
【０１６６】
次に、ステップＳ１００において、信頼度格付部１２４は、ステップＳ９９での演算結果に基づいて、更新された局所構造の整合性があるか否かを判定する。この判定は、上記式（１８）で演算された値V(N/2)が正であるか否かに基づいて行われる。値V(N/2)が正である場合には、整合性があると見なされ、ステップＳ１０１において、信頼度格付部１２４は、その補間画素の信頼度を１として方向性分布生成部１２５に出力する。
【０１６７】
これに対して、ステップＳ１００において、値V(N/2)が負であると判定された場合、整合性はないと見なされる。すなわち、局所方向の識別が誤っており、ステップＳ９８で生成された画素値は、適切でないと判断される。この場合、信頼度格付部１２４は、ステップＳ１０２において、その補間画素の信頼度を０として方向性分布生成部１２５に出力する。
【０１６８】
ステップＳ１０３において、注目画素に対する注目領域の全ての補間画素が補間されたか否かが判定され、注目領域の全ての補間画素が補間されていないと判定された場合、その処理は、ステップＳ９１に戻り、全ての補間画素が補間されるまで、ステップＳ９１乃至Ｓ１０３の処理が繰り返され、ステップＳ１０３において、全ての補間画素が補間されたと判定された場合、その処理は、ステップＳ１０４に進む。ここで、注目画素に対する注目領域とは、例えば、図３２で示すＰ（画素数）×Ｍ（ライン）の範囲の補間画素である。尚、図３２においては、白丸が注目画素（補間画素）を、黒丸が補間画素を、格子状に塗りつぶされた画素を原画像の画素（元々存在する画素）として示している。ステップＳ１０３において、全ての補間画素が補間されるということは、図中の黒丸で示される画素が全て補間されたことを示し、その処理は、ステップＳ１０４に進む。
【０１６９】
ステップＳ１０４において、方向選択処理が実行される。
【０１７０】
ここで、図３３のフローチャートを参照して、方向選択処理について説明する。
【０１７１】
ステップＳ１３１において、方向性分布生成部１２５は、方向性分布を生成する。すなわち、方向性分布生成部１２５は、これまで入力されたエッジの方向と、その信頼度の情報から、方向性分布を生成する。すなわち、方向性分布生成部１２５には、図３４で示すように、補間画素の配置に対応して、それぞれの補間画素の補間方向と対応する信頼度の情報が入力されていることになる。
【０１７２】
尚、図３２においては、図中５画素×３ラインの補間画素が表示されているので、図３４の左部には、この対応する１５個の補間画素の配置が表示されている。また、図３４の中央部には、各補間画素の補間方向が示されている。この補間画素の方向は、図３５で示すように、注目画素について点対象となるように設定された方向に対応する番号であり、方向Ｌ０は、上段左端の補間画素と下段右端の補間画素を結ぶ垂直な直線上の方向であり、方向Ｌ１は、上段左から２番目の補間画素と下段右から２番目の補間画素を結ぶ直線上の方向であり、方向Ｌ２は、真上の補間画素と真下の補間画素を結ぶ直線上の方向であり、方向Ｌ３は、上段右から２番目の補間画素と下段左から２番目の補間画素を結ぶ直線上の方向であり、方向Ｌ４は、上段右端の補間画素と下段左端の補間画素を結ぶ直線上の方向である。また、図３４の右部には、信頼度の分布が示されており、信頼度として１が報告された画素は、○に、信頼度として０が報告された画素には×が表示されている。
【０１７３】
すなわち、図３４によれば、補間画素の補間方向は、上段の左から４，３，４，４，３であり、中段の左から３，４，４，３，４であり、下段の左から４，４，４，４，４であることが示されている。また、信頼度は、上段の左から×，×，○，○，×であり、中断の左から、○，○，×，○，○であり、下段の左から○，○，○，○，×である。
【０１７４】
この結果、方向性分布生成部１２５は、図３４で示すように、各方向別につけられている○の数を示すヒストグラムからなる方向性分布を生成することにより、方向別の分布を示すことができる。すなわち、図３４においては、方向Ｌ０は、○が０個、×が０個、方向Ｌ１は、○が０個、×が０個、方向Ｌ２は、○が０個、×が０個、方向Ｌ３は、○が２個、×が２個、方向Ｌ４は、○が８個、×が３個となる。
【０１７５】
ステップＳ１３２において、空間分布生成部１３４は、空間分布生成処理を実行し、空間分布を生成し、生成した空間分布の情報を方向選択部１２６に供給する。
【０１７６】
ここで、図３６のフローチャートを参照して、空間分布生成処理について説明する。
【０１７７】
ステップＳ１５１において、空間分布生成部１３４は、注目画素に対応する注目領域内のleft_upエリアにおける各画素の方向LIが、I＝0乃至(N-3)/2となる画素数left_upをカウントする。
【０１７８】
すなわち、今の場合、注目領域は、注目画素を中心として、５画素×３ラインの合計１５画素の領域であるが、この場合、left_upエリアは、例えば、図３７で示されるように、注目画素が存在する行の上行の左側の2画素である。尚、図３７においては、left_up_areaと示されており、注目画素は、丸印が付された画素である。ステップＳ１５１においては、空間分布生成部１３４が、このleft_upエリアに存在する2画素の方向LIが、I＝0乃至(N-3)/2となる、すなわち、今の場合、方向L0またはL1となる画素数left_upをカウントする。
【０１７９】
ステップＳ１５２において、空間分布生成部１３４は、注目画素に対応する注目領域内のleft_downエリアにおける各画素の方向LIが、I＝0乃至(N-3)/2となる画素数left_downをカウントする。
【０１８０】
すなわち、left_downエリアは、例えば、図３７で示されるように、注目画素が存在する行の下行の右側の2画素である。尚、図３７においては、left_down_areaと示されている。ステップＳ１５２においては、空間分布生成部１３４が、このleft_downエリアに存在する2画素の方向LIが、I＝0乃至(N-3)/2となる、すなわち、今の場合、方向L0またはL1となる画素数left_downをカウントする。
【０１８１】
ステップＳ１５３において、空間分布生成部１３４は、注目画素に対応する注目領域内のleft_middleエリアにおける各画素の方向LIが、I＝0乃至(N-3)/2となる画素数left_middleをカウントする。
【０１８２】
すなわち、left_middleエリアは、例えば、図３７で示されるように、注目画素が存在する行の5画素である。尚、図３７においては、left_middle_areaと示されている。ステップＳ１５３においては、空間分布生成部１３４が、このleft_middleエリアに存在する5画素の方向LIが、I＝0乃至(N-3)/2となる、すなわち、今の場合、方向L0またはL1となる画素数left_middleをカウントする。
【０１８３】
ステップＳ１５４において、空間分布生成部１３４は、注目画素に対応する注目領域内のright_upエリアにおける各画素の方向LIが、I＝(N+1)/2乃至(N-1)となる画素数right_upをカウントする。
【０１８４】
すなわち、right_upエリアは、例えば、図３８で示されるように、注目画素が存在する行の上行の右側の2画素である。尚、図３８においては、right_up_areaと示されており、注目画素は、丸印が付された画素である。ステップＳ１５４においては、空間分布生成部１３４が、このright_upエリアに存在する2画素の方向LIが、I＝(N+1)/2乃至(N-1)となる、すなわち、今の場合、方向L3またはL4となる画素数right_upをカウントする。
【０１８５】
ステップＳ１５５において、空間分布生成部１３４は、注目画素に対応する注目領域内のright_downエリアにおける各画素の方向LIが、I＝(N+1)/2乃至(N-1)となる画素数right_downをカウントする。
【０１８６】
すなわち、right_downエリアは、例えば、図３８で示されるように、注目画素が存在する行の下行の左側の2画素である。尚、図３８においては、right_down_areaと示されている。ステップＳ１５５においては、空間分布生成部１３４が、このright_downエリアに存在する2画素の方向LIが、I＝(N+1)/2乃至(N-1)となる、すなわち、今の場合、方向L3またはL4となる画素数right_downをカウントする。
【０１８７】
ステップＳ１５６において、空間分布生成部１３４は、注目画素に対応する注目領域内のright_middleエリアにおける各画素の方向LIが、I＝(N+1)/2乃至(N-1)となる画素数right_middleをカウントする。
【０１８８】
すなわち、right_middleエリアは、例えば、図３８で示されるように、注目画素が存在する行の5画素である。尚、図３７においては、right_middle_areaと示されている。ステップＳ１５６においては、空間分布生成部１３４が、このright_middleエリアに存在する5画素の方向LIが、I＝(N+1)/2乃至(N-1)となる、すなわち、今の場合、方向L3またはL4となる画素数right_middleをカウントする。
【０１８９】
すなわち、以上の処理により、ステップＳ１５１乃至Ｓ１５３の処理においては、注目領域における注目画素からみて、左上がり方向に分類される方向L0とL1に属する画素の空間的な分布が、注目画素からみて、左上がり方向に位置する左上がりleft_upエリア、left_downエリア、および、left_middleエリアの、それぞれのエリア毎に求められることになる。また、ステップＳ１５４乃至Ｓ１５６の処理においては、注目領域における注目画素からみて、右上がり方向に分類される方向L3とL4に属する画素の空間的な分布が、注目画素からみて、右上がり方向に位置する右上がりright_upエリア、right_downエリア、および、right_middleエリアの、それぞれのエリア毎に求められることになる。
【０１９０】
従って、例えば、図３４の場合、left_upは0となり、left_middleは0となり、left_downは0となり、right_upは2となり、right_middleは5となり、right_downは2となる。
【０１９１】
ここで、図３３のフローチャートの説明に戻る。
【０１９２】
ステップＳ１３３において、方向選択部１２６は、これらの方向性分布（補間方向と、対応する信頼度の分布）と空間分布とから以下のBalance関数を設定する。
【０１９３】
すなわち、まず、方向選択部１２６は、以下の式（１９）で示す注目画素(X,Y)に対応するBalance関数を設定する。
【０１９４】
Balance(X,Y)＝right_balance-left_balance
right_balance＝right_up+ right_down+ right_middle  （if Case1）
or
right_balance＝0  （if Case2）
Case1：right_up>th-ru and right_middle>th-rm
or right_middle>th-rm and right_down>th-rd
Case2：otherwise Case1
【０１９５】
left_balance＝left_up+left_down+ left_middle  （if Case3）
or
left_balance＝0  （if Case4）
Case3：left_up>th-lu and left _middle>th-lm
or left _middle>th-lm and left _down>th-ld
Case4：otherwise Case3
・・・（１９）
【０１９６】
ここで、th-ruは、画素数right_upの所定の閾値を示し、th-rmは、画素数right_middleの所定の閾値を示し、th-rdは、画素数right_downの所定の閾値を示し、th-luは、画素数left_upの所定の閾値を示し、th-lmは、画素数left_middleの所定の閾値を示し、th-ldは、画素数left_downの所定の閾値を示す。
【０１９７】
すなわち、空間分布に基づいて、左上がりのエッジの空間的な分布を示すleft_balanceは、left_upエリアにおける画素数とleft_middleエリアにおける画素数が所定数を超えているか、または、left_middleエリアにおける画素数とleft_downエリアにおける画素数が所定数を超えているとき、left_upエリアにおける画素数とleft_middleエリアにおける画素数とleft_downエリアにおける画素数の合計となり、それ以外のとき、０となり、右上がりのエッジの空間的な分布を示すright_balanceは、right_upエリアにおける画素数とright_middleエリアにおける画素数が所定数を超えているか、または、right_middleエリアにおける画素数とright_downエリアにおける画素数が所定数を超えているとき、right_upエリアにおける画素数とright_middleエリアにおける画素数とright_downエリアにおける画素数の合計となり、それ以外のとき、０となることが示されており、Balance関数は、right_balanceとleft_balanceの差分となっていることが示されている。
【０１９８】
ステップＳ１３４において、方向選択部１２６は、Balance(X,Y)が正の値であるか否かを判定し、例えば、正の値であると判定した場合、ステップＳ１３５において、図３５で定義する方向ＬＩのうち、Ｉが、I=（N+1）/2からN-1の範囲の中で最も信頼度の高い方向を選択する。
【０１９９】
一方、ステップＳ１３４において、正の値ではないと判定された場合、ステップＳ１３６において、図３５で定義する方向ＬＩのうち、Ｉが、I=0から（N-3）/2の範囲の中で最も信頼度の高い方向を選択する。
【０２００】
すなわち、式（１９）で定義される関数は、垂直方向を中心として、方向を示す矢印の上端の位置を方向Ｌ２で左右に分けた場合、左右のどちら側に信頼性の傾向があるかを示すものであり、例えば、図３５で定義する方向L０とL１のグループ全体の信頼性と、方向L３，Ｌ４のグループ全体の信頼性のそれぞれの和をとった値の差分をステップＳ１３５の処理により、求めて、その大小比較から、垂直方向に対して左右のどちらに傾いているかを求め、信頼性の傾向を示すグループの中から、最も信頼性の高い方向が選択されるようになっている。
【０２０１】
ステップＳ１３７において、方向選択部１２６は、最も信頼性の高い方向が複数に存在するか否かを判定し、例えば、複数の存在する場合、ステップＳ１１７において、選択された複数の最も信頼性の高い方向の中から、最も垂直方向に近い方向を選択する。一方、ステップＳ１３７において、最も信頼性の高い方向が複数に存在しない場合は、ステップＳ１３８の処理がスキップされて、ステップＳ１３５またはＳ１３６の処理で選択された方向がそのまま選択される。すなわち、信頼性の程度が同じ方向があった場合は、垂直方向に近いものが選択される。
【０２０２】
ステップＳ１３９において、方向選択部１２６は、例外条件に含まれるか否かを判定する。すなわち、方向選択部１２６は、以下の式（２０）乃至式（２２）のいずれかを満たす場合、例外であると判定し、ステップＳ１４０において、垂直方向（図３５の方向Ｌ２）を選択する。
【０２０３】
Population_LI（I=（N-1）/2）−Population（Best_Dir）≧−１
・・・（２０）
Tendency(X,Y)＜（PM）/3・・・（２１）
Total_Population(X,Y)＜（PM）/3・・・（２２）
【０２０４】
ここで、Population_LI（I=（N-1）/2）は、垂直方向の信頼度であり、Population（Best_Dir）は、ステップＳ１３１乃至Ｓ１３８の処理で選択された方向の信頼度である。または、Tendency(X,Y)（以下、Tendency関数とも称する）は、Balance関数が正の場合は、Σ（I=（N+1）/2,N-1）（Population（LI））を示し、負の場合は、Σ（I=0,（N-3）/2）（Population（LI））を示す。すなわち、方向を垂直方向に左右のグループに分けたときの信頼性の高いグループの信頼度の和である。Total_Population(X,Y)は、注目画素が(X,Y)の時の信頼度の和である。
【０２０５】
すなわち、式（２０）が満たされる場合、ステップＳ１３１乃至Ｓ１３８の処理で選択された方向の信頼度よりも垂直方向の信頼度の方が高いことになるので、垂直方向の方がより信頼度の高い方向の選択となる。また、式（２１），式（２２）が満たされる場合、信頼性の高いグループの信頼度の和が所定の閾値である（PM）/3よりも小さいことになるので、全体として比較できる精度の画素がなかったものと判断して、垂直方向を選択する。尚、閾値（PM）/3は、他の値に設定するようにしてもよい。
【０２０６】
ステップＳ１４１において、方向選択部１２６は、選択された方向の情報を斜補間部１２８に出力する。
【０２０７】
すなわち、図３４の場合、空間分布は、left_upが0、left_middleが0、left_downが０、right_upが2、right_middleが5、right_downが2となる。ここで、th-ru=th-rm=th-rd=th-lu=left_up=th-lmが、いずれも１であるとき、Balance関数は、正となる（ステップＳ１３４の処理）ので、方向Ｌ３，Ｌ４のグループから最も信頼性の高い方向として方向Ｌ４が選択されることになる。また、方向Ｌ４と同じ信頼性のものは無く、さらに、例外条件に当たらないので、方向Ｌ４が選択されることになる。
【０２０８】
また、例えば、方向性分布が図４０で示されるような場合、補間画素の補間方向は、上段の左から３，３，０，０，０であり、中段の左から０，０，０，０，０であり、下段の左から０，０，０，３，３であることが示されている。また、信頼度は、上段の左から○，○，○，○，×であり、中断の左から、×，○，○，○，○であり、下段の左から○，○，×，×，×である。
【０２０９】
この結果、方向性分布生成部１２５は、図４１で示すように、各方向別につけられている○の数を示すヒストグラムからなる方向性分布を生成することにより、方向別の分布を示すことができる。すなわち、図４１においては、方向Ｌ０は、○が８個、×が３個、方向Ｌ１は、○が０個、×が０個、方向Ｌ２は、○が０個、×が０個、方向Ｌ３は、○が２個、×が２個、方向Ｌ４は、○が０個、×が０個となる。
【０２１０】
空間分布は、left_upが0、left_middleが5、left_downが0、right_upが0、right_middleが0、right_downが0となるので、閾値th-ru=th-rm=th-rd=th-lu=left_up=th-lmが、いずれも１であるとき、Balance関数は、０となるので、正とならない（ステップＳ１３４の処理）ので、方向Ｌ０，Ｌ１のグループから最も信頼性の高い方向として方向Ｌ１が選択されることになる。また、方向Ｌ１と同じ信頼性のものは無く、さらに、例外条件に当たらないので、方向Ｌ１が選択されることになる。
【０２１１】
ここで、図２５のフローチャートの説明に戻る。
【０２１２】
ステップＳ１０５において、線形補間部１２７は、注目画素に対して垂直方向の上下に存在する画素間の平均画素値を線形補間画素として求めて合成部１３０に出力し、同時に、斜補間部１２８は、方向選択部１２６より入力された選択された方向に存在する画素間の平均画素値を斜補間画素値として合成部に出力する。
【０２１３】
すなわち、図３９の場合、方向Ｌ４が選択されるので、図３５のように注目画素が存在する場合、斜補間部１２８は、図３５の上段のライン上にある右端の画素と、下段のライン上にある左端の画素の平均画素値を斜補間画素値として出力することになる。
【０２１４】
ステップＳ１０６において、斜重み付け部１２９は、以下の式（２３）で示すように、注目画素(X,Y)の斜方向の重みweight_slant(X,Y)を設定し、合成部１３０に出力する。
【０２１５】
weight_slant(X,Y)＝ABS（Balance(X,Y)）/Total_population(X,Y)
(或いは、weight_slant(X,Y)＝ABS（Tendency(X,Y)/Total_population(X,Y))
・・・（２３）
【０２１６】
すなわち、斜方向の重みは、全信頼度に対するBalance関数（或いは、Tendency関数）の絶対値の割合として設定される。
【０２１７】
ステップＳ１０７において、合成部１３０は、以下の式（２４）の演算により、線形補間部１２７より入力された線形補間画素と斜補間画素とを重み付けして合成し、補間画素として出力する。
【０２１８】
H_buffer(X,Y)
=（1-weight_slant(X,Y)）×（h-buffer(X,Y-1)+h-buffer(X,Y+1)）
+weight_slant(X,Y)×（h-buffer(X+Best_Dir-(N-1)/2,Y-1)
+h-buffer(X-Best_Dir-(N-1)/2,Y+1)）
・・・（２４）
【０２１９】
ここで、h-buffer(X,Y-1)とh-buffer(X,Y+1)は、注目画素の上下に存在する画素値であり、h-buffer(X+Best_Dir-(N-1)/2,Y-1)とh-buffer(X-Best_Dir-(N-1)/2,Y+1)は、注目画素からみて選択された方向の対角線上で、かつ、上下のライン上に存在する画素値である。
【０２２０】
すなわち、線形補間画素にかかる重みは、（1-weight_slant(X,Y)）で表現できるので、線形補間で求められた画素値には、線形補間に係る重みとして（1-weight_slant(X,Y)）を乗じ、斜補間画素にかかる重みとしてweight_slant(X,Y)が乗じられて、線形和をとった合成補間画素を最終的な補間画素とする。これにより、垂直方向と斜方向の補間が、その重みによりバランスよく合成されるため、正確な補間画素を生成することが可能となる。
【０２２１】
また、上述した図４１の場合、Balance関数は、０となるので、斜補間部１２８により補間生成された画素値に対しての重みは０となるため、この場合は、線形補間部１２７により補間生成された画素値がそのまま合成された画素値として出力される。すなわち、上述した式（１９）の条件（Case1乃至４を考慮した条件）により、空間分布が考慮されて、斜補間により生成される画素値の信頼性が評価されるので、斜補間については、ある程度信頼性が認められる条件でのみ使用されることとなり、例えば、図４１で示されるように、方向性分布において、方向L0にある程度局在しているが、分布が分離しており、方向性分布が方向L0乃至L4のいずれかの傾向をしめしているとも言い難いようなとき、斜補間による画素値の重みを小さくすることで、線形補間により求められる画素値とすることで、結果として、より正確に補間画素を生成することが可能となる。
【０２２２】
Ｈバッファ３１の個々の未知の行の各画素を求めるため、同様の処理が繰り返し実行される。
【０２２３】
図４２は、図２５のフローチャートで示されるケース２の場合の処理を、原画像I_image、Ｈバッファ３１、２Ｙバッファ４１、および仮想垂直２倍拡大画像2Y_imageの関係から表している。Ｈバッファ３１のＹ行が仮想垂直２倍拡大画像2Y_imageの所定の行2Y_lineと所定の関係にある場合には、原画像I_imageのｎ行と、ｎ＋１行に基づいて、方向補間処理が行われ、得られたデータは２Ｙバッファ４１に格納される。そして、２Ｙバッファ４１に格納されたデータがＨバッファ３１の行Ｙにコピー（格納）される。
【０２２４】
尚、以上の例においては、注目領域が5画素×３ラインの場合について説明してきたが、例えば、注目領域は、それ以外の画素数からなる領域でもよく、例えば、図４３で示されるように、１７画素×１１ラインであってもよく、そのような場合、balance関数を設定するためのleft_upエリア、left_middleエリア、left_downエリア、right_upエリア、right_middleエリア、および、right_downエリアは、例えば、図４３で示されるように、それぞれ、left_up_area（注目領域の左上部の16画素）、middle_area（注目領域の中央部の27画素）、left_down_area（注目領域の右下部の16画素（middle areaは、leftもrightも共通））、right_up_area（注目領域の右上部の16画素）、middle_area（注目領域の中央部の27画素）、right_down_area（注目領域の左下部の16画素）と示された領域となるようにしてもよい。すなわち、各領域は、注目領域の中で、注目画素に対して斜方向のエッジが存在するであろう領域が、それぞれのエリアとなるように設定されればよい。図４３においては、注目画素が黒色のマスで示されている。
【０２２５】
また、エッジ方向の求め方としては、図３０で示されるように、式（１７）により、注目画素を中心として、対角方向に存在する1組のペアとなる画素間の画素値の差分値のうち、最も小さくなるペアの方向をエッジの方向としてきたが、方向ごとに複数の画素間の差分を使ってエッジの方向を求めるようにしてもよく、例えば、図４４乃至図４８で示されるように、複数の画素間の差分値を求めて、それらの合計を使用するようにしても良い。すなわち、図４４においては、画素Ｙ0,0と画素Ｙ1,3の画素間差分と画素Ｙ0,1と画素Ｙ1,4の画素間差分の平均を求め、図４５においては、画素Ｙ0,1と画素Ｙ1,3の画素間差分と画素Ｙ0,2と画素Ｙ1,4の画素間差分の平均を求め、図４６においては、画素Ｙ0,0と画素Ｙ1,1、画素Ｙ0,1と画素Ｙ1,1、画素Ｙ0,2と画素Ｙ1,2、画素Ｙ0,3と画素Ｙ1,3、および、画素Ｙ0,4と画素Ｙ1,4のそれぞれの画素間差分の平均を求め、図４７においては、画素Ｙ0,2と画素Ｙ1,0の画素間差分と画素Ｙ0,3と画素Ｙ1,2の画素間差分の平均を求め、さらに、図４８においては、画素Ｙ0,3と画素Ｙ1,0の画素間差分と画素Ｙ0,4と画素Ｙ1,1の画素間差分の平均を求め、それぞれの平均が最小となるペアの組み合わせが存在する方向をエッジの方向と判定するようにしても良い。
【０２２６】
次に、図４９のフローチャートを参照して、ケース３の処理について説明する。このケースは、2n＜2Y_line＜2n+1、または、2n-1＜2Y_line＜2nの場合、つまり、Ｈバッファ３１中の行Ｙの値が、仮想垂直２倍拡大画像2Y_imageの行2Y_lineのいずれにも対応せず、かつ、原画像I_imageのどの行とも対応しない場合である。
【０２２７】
この場合、ステップＳ１６１において、高速垂直アップサンプラ１１１は、2Y_lineの値が2nより大きく、且つ2n+1より小さいか否かを判定する。2Y_lineの値が2nより大きく、且つ2n+1より小さい場合、高速垂直アップサンプラ１１１は、仮想垂直２倍拡大画像2Y_imageの2n+1行と2n行から、Ｈバッファ３１のＹ行を生成する。
【０２２８】
そこで、この場合、ステップＳ１６２において、高速垂直アップサンプラ１１１は、仮想垂直２倍拡大画像2Y_imageの2n+1行を、隣接する上行2n行と、下行2n+2行（原画像I_imageにおけるｎ行とn+1行）を用いて、図２５のケース２のフローチャートに示すステップＳ９１乃至ステップＳ１０７の処理で計算する。ステップＳ１６２で計算された結果は、Ｈバッファ３１における次のn+1行の計算に使用する可能性があるので、ステップＳ１６３において、２Ｙバッファ４１に格納される。
【０２２９】
さらに、ステップＳ１６４において、高速垂直アップサンプラ１１１は、ステップＳ１６２で計算された2n+1行（２Ｙバッファ４１に記憶されている値）と、仮想垂直２倍拡大画像2Y_imageの2n行（原画像I_imageのｎ行）から、Ｈバッファ３１のＹ行を次式の式（２５）から演算し、Ｈバッファ３１のＹ行に記憶させる。
【０２３０】
H_buffer(X,Y)=（2Y_line−2n）×2Y-buffer(X)+(2n+1−2Y_line)×I_image(X,n)
・・・（２５）
【０２３１】
このように、ステップＳ１６２乃至Ｓ１６４の処理では、原画像I_imageを垂直方向に２倍に拡大した画像を生成し、その画像と原画像I_imageとから、alpha_Z倍の画像を生成していることになる。
【０２３２】
一方、ステップＳ１６１において、2Y_lineが2nより大きく、且つ2n+1より小さいと判定されなかった場合（2Y_lineが2n-1より大きく、2nより小さいと判定された場合）、高速垂直アップサンプラ１１１は、仮想垂直２倍拡大画像2Y_imageの2n-1行と2n行から、Ｈバッファ３１のＹ行を生成する。この2n-1行は、Ｈバッファ３１中の前行を求める際に計算され、２Ｙバッファ４１に既に格納されている場合がある。そこでステップＳ１６５において、高速垂直アップサンプラ１１１は、2n-1行が２Ｙバッファ４１に既に格納されているか否かを判定し、格納されている場合には、ステップＳ１６８において、2n-1行のデータを２Ｙバッファ４１から取り出す。
【０２３３】
これに対して、ステップＳ１６５において、2n-1行のデータが２Ｙバッファ４１にまだ格納されていないと判定された場合、ステップＳ１６６に進み、高速垂直アップサンプラ１１１は、仮想垂直２倍拡大画像2Y_imageの2n-1行を、上行2n-2行と下行2n行（原画像I_imageのn-1行とｎ行）を用い、図２５のケース２のフローチャートのステップＳ９１乃至ステップＳ１０７の処理により計算する。ステップＳ１６６で計算された2n-1行の値は、ステップＳ１６７において、Ｈバッファ３１における次のY+1行の計算に使用する可能性があるので、高速垂直アップサンプラ１１１は、２Ｙバッファ４１に格納する。
【０２３４】
ステップＳ１６７、またはステップＳ１６８の処理の後、ステップＳ１６９に進み、高速垂直アップサンプラ１１１は、得られた2n-1行と、仮想垂直２倍拡大画像2Y_imageの2n行（原画像I_imageのｎ行）からＨバッファ３１のＹ行が次式に従って補間する。
【０２３５】
H-buffer(X,Y)=(2n−2Y_line)×2Y−buffer(X)+(2Y_line−(2n−1))×I_image(X,n)
・・・（２６）
【０２３６】
この処理は、Ｘ＝０からIn_widthより小さい値である期間、Ｘの値をインクリメントしつつ行われる。
【０２３７】
Ｈバッファ３１の個々の未知の行の各画素を求めるため、（−１＜X＜In_width−N+1）と、（−１＜Ｙ＜alpha_Z×In_height-1）の条件を満たす座標（X+N/2,Y）で、同様の処理が繰り返し実行される。
【０２３８】
このように、ケース３の処理においては、仮想垂直２倍拡大画像2Y_image中の2n行と2n+1行、または2n-1行と2n行を用いて、重み付け補間が実行される。
【０２３９】
以上の図４９のケース３に示す処理を模式的に表すと、図５０に示すようになる。仮想垂直２倍拡大画像2Y_imageの2Y_line行の値が2nより大きく、且つ2n+1関係の場合とＨバッファ３１のＹ行とが所定の原画像I_imageのｎ行とn+1行から方向補間処理により2n+1行、または2n-1行のデータが生成され、２Ｙバッファ４１に記憶される。そして、２Ｙバッファ４１に記憶された値と、仮想垂直２倍拡大画像2Y_imageの2n行のデータから、Ｈバッファ３１のＹ行のデータが重み付け補間される。
【０２４０】
図１２のフローチャートに戻って、以上のようにして、ステップＳ２４の高速垂直アップサンプリング処理が行われた後、ステップＳ２５に進み、高速水平アップサンプリング処理が実行される。この高速水平アップサンプリング処理は、高速水平アップサンプリング処理部１４により実行される。高速水平アップサンプリング処理は、図５１に示されるように、画素を水平方向に補間する処理である。
【０２４１】
図５２は、高速水平アップサンプリング処理の詳細を表している。ステップＳ１８１で高速水平アップサンプラ１８１は、Ｖバッファ５１（後述する図５４）と２Ｘバッファ６１（後述する図６６）を作成する。Ｖバッファ５１は、サイズが、（alpha_Z×In_width）×（alpha_Z×In_height）とされ、２Ｘバッファ６１は、そのサイズが１×（alpha_Z×In_height）とされる。２Ｘバッファ６１には、仮想水平２倍拡大画像2X_imageのＸ座標（奇数座標）の一列のデータが格納される。
【０２４２】
ステップＳ１８２において、ケース１乃至ケース３に対応する処理が実行される。ケース１乃至ケース３のいずれの処理が実行されるかは、次式を演算することにより判断される。
【０２４３】
2X_column=X×2/alpha_Z・・・（２７）
【０２４４】
上記演算により求められた2X_columnの値が整数であり、且つ偶数である場合（2X_column=2nであり、ｎが整数である場合）、ケース１とされ、2X_columnが整数且つ奇数である場合（2X_column=2n+1であり、ｎが整数である場合）、ケース２とされ、2X_columnが実数である場合（その他の場合）、ケース３とされる。
【０２４５】
ケース１の場合、図５３のフローチャートに示す処理が実行される。このケースは、仮想水平２倍拡大画像2X_imageにおける2X_column=2n列が、前もって計算されたＨバッファ３１の2X_column/2=n列と対応する場合である。この場合、高速水平アップサンプリング処理部１４は、ステップＳ１９１において、Ｈバッファ３１の2X_column/2列をＶバッファの列Ｘにコピーする。
【０２４６】
図５４は、このケース１の処理を概念的に表している。仮想水平２倍拡大画像2X_imageにおける2n列が、Ｖバッファ５１のｎ列と対応する場合、Ｈバッファ３１のｎ列が、Ｖバッファ５１の列Ｘにコピーされる。
【０２４７】
図５５は、図５２のステップＳ１８２のケース２のＶバッファ５１に対する処理のフローチャートを示している。このケースは、Ｖバッファ５１中の列Ｘの値を、仮想水平２倍拡大画像2X_image中の所定の列（2n+1）と対応させることができるが、Ｈバッファ３１中の所定の列の値に対応させることはできない場合である。
【０２４８】
この場合、ステップＳ２０１において、高速水平アップサンプラ１５１は、Ｈバッファ３１中の所定の範囲（Ｎ画素）の左列left_column、および右列right_columnを抽出する。左列left_columnの中心座標は、（n，Y＋N/2）とされ、右列right_columnの矩形の中心座標は、（n＋1,Y＋N/2）とされる。
【０２４９】
次にステップＳ２０２において、水平方向補間部１５２のエッジ検出部１６２は、帯域制限部１６１より帯域制限された信号に基づいて、局所エネルギE(N)を、左列left_columnの個々の画素から、対角線上に位置する右列right_columnの画素を減算し、その絶対値の和を演算して求める。すなわち、この処理では次式が演算される。
【０２５０】
E(N)=Σ（I=0,N-1）ABS(left_column(I)−right_column(N-I-1))
・・・（２８）
【０２５１】
次にステップＳ２０３において、エッジ検出部１６２は、エネルギE(N)が予め設定された閾値Ｔより大きいか否かを判定する。エネルギE(N)が閾値Ｔと等しいか、それより小さい場合、その領域はエッジを含まない平坦な低エネルギ領域と見なされる。この場合、潜在的なエッジの方向を計算する必要がない。このためステップＳ２０４に進み、方向判別部１６３が、エッジ検出部１６２の判定結果に基づいて、線形補間部１６７に、Ｖバッファ５１中の座標（X,Y+N/2）の画素データとして、座標（X,Y+N/2）を中心として、左右方向に幅2m（ｍは、任意）画素の範囲に存在する画素の線形和（ただし、各係数の和は１）を演算させ、Ｖバッファ５１のその座標（X,Y+N/2）に格納させると共に、水平方向（後述する図６５におけるＬ２の方向を示す方向情報を信頼度格付部１６４、および、方向性分布生成部１６５に出力する。また、信頼度格付部１６４は、この補間画素について信頼度が低いことを示す０を方向性分布生成部１６５に出力する。
【０２５２】
すなわち、次式に示すように、新しい画素（X,Y＋N/2）の画素値が演算される。
【０２５３】
V-buffer(X+N/2,Y)＝I_image(n-m,Y+N/2)×Cn-m+I_image(n-m,Y+N/2)×Cn-m+1
+・・・+I_image(n+m-1,Y+N/2)×Cn+m-1 +I_image(n+m,Y+N/2)×Cn+m
（ただし、Cn-m+Cn-m+1+・・・+Cn+m-1+Cn+m＝1）
・・・（２９）
【０２５４】
ここで、I_image(n,Y+N/2)は、座標(X,Y+N/2)上の画素の右列に隣接する画素の画素値であり、I_image(n-1,Y+N/2)は、座標(X,Y+N/2)上画素の左列に隣接する画素の画素値であり、I_image(X+N/2,n+i)（iは、-m≦i≦m）は、座標(X+N/2,Y)の左右方向に２ｍ画素分並んだ各画素の画素値を示している。
【０２５５】
すなわち、局所エネルギE(N)が閾値Ｔと等しいか、それより小さい場合、その領域は、エッジを含まない平坦な低エネルギの領域と見なされるので、画素値を求めようとする画素の画素値は、垂直方向に同一の位置の左右方向に並ぶそれぞれm画素ずつの画素値の線形和をＨバッファ３１のその座標（X,Y+N/2）に格納する。
【０２５６】
ステップＳ２０３において、エネルギE(N)が閾値Ｔより大きいと判定された場合、その領域は潜在的にエッジを含んでいる高エネルギ領域と見なされる。そこで、この場合、ステップＳ２０５に進み、座標（X,Y+N/2）に対応する画素上に斜線となるエッジが存在するか否かを判定するための斜線検出処理が実行される。
【０２５７】
ここで、図５６のフローチャートを参照して、斜線検出処理について説明する。
【０２５８】
ステップＳ２３１において、量子化部１７２は、入力された各画素の画素値のうち、注目画素である座標（X,Y+N/2）の左右とその画素の左右の上下の画素の画素値を、例えば、所定の値で割るなどして、量子化し斜線検出部１７３に出力する。
【０２５９】
ステップＳ２３２において、斜線検出部１７３は、以下の式（３０）を演算して、注目画素の左列の真左の画素と、真左の画素の上下に隣接する画素間のそれぞれの差分の積LEFT(N/2)を求める。
【０２６０】
LEFT(N/2)＝（PA−PB）×（PB−PC）
・・・（３０）
【０２６１】
ここで、PA，PB，PCは、図５７で示されるように、生成しようとする注目画素の左列の画素（入力された原信号の画素）である。すなわち、図５７においては、注目画素が丸印で示されている（注目画素は、生成される画素であって、原信号のように実在する画素ではない）。従って、上記の式（３０）は、その左列の画素である画素PAと画素PB間の画素間差分と、画素PBと画素PC間の画素間差分との積が、LEFT(N/2)として求められている。
【０２６２】
ステップＳ２３３において、斜線検出部１７３は、以下の式（３１）を演算して、注目画素の右列の真右の画素と、真右の画素の上下に隣接する画素間のそれぞれの差分の積RIGHT(N/2)を求める。
【０２６３】
DOWN(N/2)＝（PD−PE）×（PE−PF）
・・・（３１）
【０２６４】
ここで、PD，PE，PFは、図５７で示されるように、注目画素の右列の画素（入力された原信号の画素）である。従って、上記の式（３１）では、その右列の画素である画素PDと画素PE間の画素間差分と、画素PEと画素PF間の画素間差分との積が、RIGHT(N/2)として求められている。
【０２６５】
ステップＳ２３４において、斜線検出部１７３は、以下の式（３２）を演算することにより、注目画素と、その上下の画素間の画素値の差分の積MIDDLE(N/2)を求める。
【０２６６】
MIDDLE(N/2)
＝（0.5×（PA＋PD）−0.5×（PB＋PE））×（0.5×（PB＋PE）−0.5×（PE＋PF））
・・・（３２）
【０２６７】
ここで、（0.5×（PA＋PD）），（0.5×（PB＋PE）），（0.5×（PE＋PF））は、図５７で示されるように、注目画素の上の画素Pdown、注目画素、および、下に隣接する画素Pupのそれぞれの画素値である。従って、上記の式（３２）では、注目画素の下側に隣接する画素間の画素間差分と、注目画素の上側に隣接する画素間の画素間差分との積が、MIDDLE(N/2)として求められている。
【０２６８】
ここで、図５５のフローチャートの説明に戻る。
【０２６９】
ステップＳ２０６において、斜線検出部１７３は、斜線が存在するか否かを判定し、判定結果を方向判別部１６３、および、斜重み付け部１６９に出力する。より詳細には、斜線検出部１７３は、以下の式（３３）で示される条件が満たされるか否かを判定し、以下の式（３３）の条件が満たされる場合、斜線が存在しないと判定する。
【０２７０】
LEFT(N/2)<0 and RIGHT(N/2)<0 and MIDDLE(N/2)<0
・・・（３３）
【０２７１】
例えば、図５７の場合、図中の斜線が付された画素の画素値を１とし、それ以外の画素の画素値を０とすると、式（３３）の条件が満たされることになり（LEFT(N/2)＝（1-0）×（0-1）<0 and RIGHT(N/2)＝（1-0）×（0-1）<0 and MIDDLE(N/2)＝（1-0）×（0-1）<0）、局所エネルギは閾値よりも高いが、斜めのエッジが存在しないと判定されることになり、斜線が存在しないと判定される（図５７においても、画素値が１となる画素が連続的に配置されておらず、いわゆるチェッカパターンとなっていることが示されている）。
【０２７２】
一方、図５８の場合、式（３３）の条件が満たされないことになり（LEFT(N/2)＝（0-0）×（0-1）=0 and RIGHT(N/2)＝（0-0）×（0-1）=0 and MIDDLE(N/2)＝（1-1）×（1-1）=0）、斜めのエッジが存在すると判定されることになる（図５８においても、画素値が１となる画素が連続的に配置されており、エッジが存在することが示されている）。
【０２７３】
ステップＳ２０６において、斜線が存在しないと判定された場合、その処理は、ステップＳ２０７に進む。
【０２７４】
ステップＳ２０７において、水平方向補間部１５２の方向判別部１６３は、帯域制限部１６１により帯域制限された画像信号に基づいて、エッジ方向を試験的に計算する処理を実行し、検出した方向の情報を信頼度格付部１６４、方向性分布生成部１６５、および、空間分布生成部１７４に出力すると共に、検出した画素の情報を方向補間部１６３に出力する。具体的には、次式にしたがってエッジ方向計算処理が実行される。
【０２７５】
Energy=ABS（left_column(N−x−1)−right_column(x)）・・・（３４）
【０２７６】
上記演算は、ｘ＝Ｎ−１からｘの値を順次デクリメントし、ｘが−１より大きい間繰り返される。具体的には、図５９に示されるように、左列の画素から対角線上の右列の画素を減算する処理が、右列の上側から実行される。
【０２７７】
計算されたエネルギのうち、最も小さい値に対応する画素の対角線の方向が局所的なエッジの方向と判定される。図５９においては、N＝３とされているが、このNの値をより大きい値とすることで、より多くの方向の判定が可能となる。
【０２７８】
ステップＳ２０７の処理で、エッジ方向が検出された場合、さらにステップＳ２０８において、方向補間部１７１は、その検出されたエッジ方向の画素を用いて、補間処理を行う（方向補間処理が行われる）。
【０２７９】
次に、ステップＳ２０９において、信頼度格付部１６４は、構造コレクタ処理を実行する。すなわちＶバッファ５１中の座標（X，Y＋N/2）に補間された画素と、その垂直方向の近傍画素である座標left_column(N/2)の画素、およびright_column(N/2)の画素との関係を解析することで局所構造の整合性をチェックする処理が行われる。このため、次式に従って、補間された画素を左列の中心の画素から減算し、右列の中心画素を補間された画素から減算することで２つの減算結果を得、さらに２つの減算結果を乗算することで、水平方向の変化を表す値H(N/2)が計算される。
【０２８０】
H(N/2)＝（left_line(N/2)−V-buffer(X＋N/2,Y)）
×（V-buffer(X+N/2,Y)−right_column(N/2)）・・・（３５）
【０２８１】
ステップＳ２１０において、ステップＳ２０９で演算された値H(N/2)に基づき、補間された局所構造に整合性があるか否かが判定される。具体的には、値H(N/2)が正であるか否かが判定される。値H(N/2)が正である場合には、ステップＳ２０８の方向補間処理で求められた画素は正しい（整合性がある）ものとされ、ステップＳ２１１において、その補間画素の信頼度を１として方向性分布生成部１６５に出力する。
【０２８２】
これに対して、ステップＳ２１０において、値H(N/2)が負であると判定された場合（整合性がない）、すなわち、ステップＳ２０８の方向補間処理で生成された画素値は適切でないと判定された場合、ステップＳ２１２に進み、信頼度格付部１６４は、その補間画素の信頼度を０として方向性分布生成部１６５に出力する。
【０２８３】
ステップＳ２１３において、注目画素に対する注目領域の全ての補間画素が補間されたか否かが判定され、注目領域の全ての補間画素が補間されていないと判定された場合、その処理は、ステップＳ２０１に戻り、全ての補間画素が補間されるまで、ステップＳ２０１乃至Ｓ２１３の処理が繰り返され、ステップＳ２１３において、全ての補間画素が補間されたと判定された場合、その処理は、ステップＳ２１４に進む。ここで、注目画素に対する注目領域とは、例えば、図６０で示すＭ（画素数）×Ｐ（ライン）の範囲の補間画素である。尚、図６０においては、白丸が注目画素（補間画素）を、黒丸が補間画素を、格子状に塗りつぶされた画素を原画像の画素（元々存在する画素）として示している。ステップＳ２１３において、全ての補間画素が補間されるということは、図中の黒丸で示される画素が全て補間されたことを示す。
【０２８４】
ステップＳ２１４において、方向選択処理が実行される。
【０２８５】
ここで、図６１のフローチャートを参照して、方向選択処理について説明する。
【０２８６】
ステップＳ２５１において、方向性分布生成部１６５は、方向性分布を生成する。すなわち、方向性分布生成部１６５は、これまで選択されたエッジの方向と、その信頼度の情報から、方向性分布を生成する。
【０２８７】
尚、この方向性分布は、図３２，図３４，図３５，図３９を参照して説明したものと基本的には同様のものであるが、水平方向と垂直方向の関係が反転している。すなわち、この補間画素の方向は、図６２で示すように、注目画素について点対象となるように設定された方向に対応する番号であり、方向Ｌ０は、右列上端の補間画素と左列下端の補間画素を結ぶ垂直な直線上の方向であり、方向Ｌ１は、右列上から２番目の補間画素と左列下から２番目の補間画素を結ぶ直線上の方向であり、方向Ｌ２は、真右の補間画素と真左の補間画素を結ぶ直線上の方向であり、方向Ｌ３は、右列下から２番目の補間画素と左列上から２番目の補間画素を結ぶ直線上の方向であり、方向Ｌ４は、右列下端の補間画素と左列上端の補間画素を結ぶ直線上の方向である。
【０２８８】
ステップＳ２５２において、空間分布生成部１７４は、空間分布生成処理を実行し、空間分布を生成し、生成した空間分布の情報を方向選択部１６６に供給する。
【０２８９】
ここで、図６３のフローチャートを参照して、空間分布生成処理について説明する。
【０２９０】
ステップＳ２７１において、空間分布生成部１６４は、注目画素に対応する注目領域内のright_upエリアにおける各画素の方向LIが、I＝0乃至(N-3)/2となる画素数right_upをカウントする。
【０２９１】
すなわち、今の場合、注目領域は、注目画素を中心として、５画素×３ラインの合計１５画素の領域であるが、この場合、left_upエリアは、例えば、図６４で示されるように、注目画素が存在する行の右列の上側の2画素である。尚、図６４においては、right_up_areaと示されており、注目画素は、丸印が付された画素である。ステップＳ２７１においては、空間分布生成部１６４が、このright_upエリアに存在する2画素の方向LIが、I＝0乃至(N-3)/2となる、すなわち、今の場合、方向L0またはL1となる画素数left_upをカウントする。
【０２９２】
ステップＳ２７２において、空間分布生成部１３４は、注目画素に対応する注目領域内のright_downエリアにおける各画素の方向LIが、I＝0乃至(N-3)/2となる画素数right_downをカウントする。
【０２９３】
すなわち、right_downエリアは、例えば、図６４で示されるように、注目画素が存在する行の左列の下側の2画素である。尚、図６４においては、right_down_areaと示されている。ステップＳ２７２においては、空間分布生成部１６４が、このright_downエリアに存在する2画素の方向LIが、I＝0乃至(N-3)/2となる、すなわち、今の場合、方向L0またはL1となる画素数right_downをカウントする。
【０２９４】
ステップＳ２７３において、空間分布生成部１６４は、注目画素に対応する注目領域内のright_middleエリアにおける各画素の方向LIが、I＝0乃至(N-3)/2となる画素数right_middleをカウントする。
【０２９５】
すなわち、right_middleエリアは、例えば、図６４で示されるように、注目画素が存在する列の5画素である。尚、図６４においては、right_middle_areaと示されている。ステップＳ２７３においては、空間分布生成部１６４が、このright_middleエリアに存在する5画素の方向LIが、I＝0乃至(N-3)/2となる、すなわち、今の場合、方向L0またはL1となる画素数right_middleをカウントする。
【０２９６】
ステップＳ２７４において、空間分布生成部１６４は、注目画素に対応する注目領域内のleft_upエリアにおける各画素の方向LIが、I＝(N+1)/2乃至(N-1)となる画素数left_upをカウントする。
【０２９７】
すなわち、left_upエリアは、例えば、図６５で示されるように、注目画素が存在する行の左行の右側の2画素である。尚、図６５においては、left_up_areaと示されており、注目画素は、丸印が付された画素である。ステップＳ２７４においては、空間分布生成部１６４が、このleft_upエリアに存在する2画素の方向LIが、I＝(N+1)/2乃至(N-1)となる、すなわち、今の場合、方向L3またはL4となる画素数left_upをカウントする。
【０２９８】
ステップＳ２７５において、空間分布生成部１６４は、注目画素に対応する注目領域内のleft_downエリアにおける各画素の方向LIが、I＝(N+1)/2乃至(N-1)となる画素数left_downをカウントする。
【０２９９】
すなわち、left_downエリアは、例えば、図６５で示されるように、注目画素が存在する行の右列の下側の2画素である。尚、図６５においては、left_down_areaと示されている。ステップＳ２７５においては、空間分布生成部１６４が、このleft_downエリアに存在する2画素の方向LIが、I＝(N+1)/2乃至(N-1)となる、すなわち、今の場合、方向L3またはL4となる画素数left_downをカウントする。
【０３００】
ステップＳ２７６において、空間分布生成部１６４は、注目画素に対応する注目領域内のleft_middleエリアにおける各画素の方向LIが、I＝(N+1)/2乃至(N-1)となる画素数left_middleをカウントする。
【０３０１】
すなわち、left_middleエリアは、例えば、図６５で示されるように、注目画素が存在する行の5画素である。尚、図６５においては、left_middle_areaと示されている。ステップＳ２７６においては、空間分布生成部１６４が、このleft_middleエリアに存在する5画素の方向LIが、I＝(N+1)/2乃至(N-1)となる、すなわち、今の場合、方向L3またはL4となる画素数left_middleをカウントする。
【０３０２】
すなわち、以上の処理により、ステップＳ２７１乃至Ｓ２７３の処理においては、注目領域における注目画素からみて、右上がり方向に分類される方向L0とL1に属する画素の空間的な分布が、注目画素からみて、右上がり方向に位置する右上がりright_upエリア、right_downエリア、および、right_middleエリアの、それぞれのエリア毎に求められることになる。また、ステップＳ２７４乃至Ｓ２７６の処理においては、注目領域における注目画素からみて、左上がり方向に分類される方向L3とL4に属する画素の空間的な分布が、注目画素からみて、左上がり方向に位置する左上がりleft_upエリア、left_downエリア、および、left_middleエリアの、それぞれのエリア毎に求められることになる。
【０３０３】
ここで、図６１のフローチャートの説明に戻る。
【０３０４】
ステップＳ２５３において、方向選択部１６６は、これらの方向性分布（補間方向と、対応する信頼度の分布）から以下のBalance関数を設定する。
【０３０５】
すなわち、まず、方向選択部１６６は、以下の式（３６）で示す注目画素(X,Y)に対応するBalance関数を設定する。
【０３０６】
Balance(X,Y)＝left_balance- right_balance
right_balance＝right_up+ right_down+ right_middle  （if Case1）
or
right_balance＝0  （if Case2）
Case1：right_up>th-ru and right_middle>th-rm
or right_middle>th-rm and right_down>th-rd
Case2：otherwise Case1
【０３０７】
left_balance＝left_up+left_down+ left_middle  （if Case3）
or
left_balance＝0  （if Case4）
Case3：left_up>th-lu and left _middle>th-lm
or left _middle>th-lm and left _down>th-ld
Case4：otherwise Case3
・・・（３６）
【０３０８】
ここで、th-ruは、画素数right_upの所定の閾値を示し、th-rmは、画素数right_middleの所定の閾値を示し、th-rdは、画素数right_downの所定の閾値を示し、th-luは、画素数left_upの所定の閾値を示し、th-lmは、画素数left_middleの所定の閾値を示し、th-ldは、画素数left_downの所定の閾値を示す。
【０３０９】
すなわち、空間分布に基づいて、左上がりのエッジの空間的な分布を示すleft_balanceは、left_upエリアにおける画素数とleft_middleエリアにおける画素数が所定数を超えているか、または、left_middleエリアにおける画素数とleft_downエリアにおける画素数が所定数を超えているとき、left_upエリアにおける画素数とleft_middleエリアにおける画素数とleft_downエリアにおける画素数の合計となり、それ以外のとき、０となり、右上がりのエッジの空間的な分布を示すright_balanceは、right_upエリアにおける画素数とright_middleエリアにおける画素数が所定数を超えているか、または、right_middleエリアにおける画素数とright_downエリアにおける画素数が所定数を超えているとき、right_upエリアにおける画素数とright_middleエリアにおける画素数とright_downエリアにおける画素数の合計となり、それ以外のとき、０となることが示されており、Balance関数は、right_balanceとleft_balanceの差分となっていることが示されている。
【０３１０】
ステップＳ２５４において、方向選択部１６６は、Balance(X,Y)が正の値であるか否かを判定し、例えば、正の値であると判定した場合、ステップＳ２５４において、図６２で定義する方向ＬＩのうち、Ｉが、I=（N+1）/2からN-1の範囲の中で最も信頼度の高い方向を選択する。尚、この関係は、図３８で示した方向の定義と水平方向と垂直方向の関係が逆転したものであって、基本的には、同様のものである。
【０３１１】
一方、ステップＳ２５４において、正の値ではないと判定された場合、ステップＳ２５６において、図６５で定義する方向ＬＩのうち、Ｉが、I=0から（N-3）/2の範囲の中で最も信頼度の高い方向を選択する。
【０３１２】
すなわち、式（３６）で定義される関数は、水平方向を中心として、図中の方向の矢印の右端部を方向Ｌ２で上下に分けた場合、上下のどちら側に信頼性の傾向があるかを示すものであり、例えば、図６５で定義する方向L０とL１のグループ全体の信頼性と、方向L３，Ｌ４のグループ全体の信頼性のそれぞれの和をとった値の差分をステップＳ２５５の処理により、求めて、その大小比較から、水平方向に対して上下のどちらに傾いているかを求め、信頼性の傾向を示すグループの中から、最も信頼性の高い方向が選択されるようになっている。
【０３１３】
ステップＳ２５７において、方向選択部１６６は、最も信頼性の高い方向が複数に存在するか否かを判定し、例えば、複数の存在する場合、ステップＳ２５８において、選択された複数の最も信頼性の高い方向の中から、最も水平方向に近い方向を選択する。一方、ステップＳ２５７において、最も信頼性の高い方向が複数に存在しない場合は、ステップＳ２５８の処理がスキップされて、ステップＳ２５５またはＳ２５６の処理で選択された方向がそのまま選択される。すなわち、信頼性の程度が同じ方向があった場合は、水平方向に近いものが選択される。
【０３１４】
ステップＳ２５９において、方向選択部１６６は、例外条件に含まれるか否かを判定する。すなわち、方向選択部１６６は、以下の式（３７）乃至式（３９）のいずれかを満たす場合、例外であると判定し、ステップＳ２６０において、水平方向（図６５の方向Ｌ２）を選択する。
【０３１５】
Population_LI（I=（N-1）/2）−Population（Best_Dir）≧−１
・・・（３７）
Tendency(X,Y)＜（PM）/3・・・（３８）
Total_Population(X,Y)＜（PM）/3・・・（３９）
【０３１６】
ここで、Population_LI（I=（N-1）/2）は、水平方向の信頼度であり、Population（Best_Dir）は、ステップＳ２５１乃至Ｓ２５８の処理で選択された方向の信頼度である。または、Tendency(X,Y)は、Balance関数が正の場合は、Σ（I=（N+1）/2,N-1）（Population（LI））を示し、負の場合は、Σ（I=0,（N-3）/2）（Population（LI））を示す。すなわち、方向を示す矢印の右端部の位置を上下のグループに分けたときの信頼性の高いグループの信頼度の和である。Total_Population(X,Y)は、注目画素が(X,Y)の時の信頼度の和である。
【０３１７】
すなわち、式（３７）が満たされる場合、ステップＳ２５１乃至Ｓ２５８の処理で選択された方向の信頼度よりも水平方向の信頼度の方が高いことになるので、水平方向の方がより正しい方向の選択となる。また、式（３８），式（３９）が満たされる場合、信頼性の高いグループの信頼度の和が所定の閾値である（PM）/3よりも小さいことになるので、全体として比較できる精度の画素がなかったものと判断して、水平方向を選択する。尚、閾値（PM）/3は、他の値に設定するようにしてもよい。
【０３１８】
ステップＳ２６１において、方向選択部１６６は、選択された方向の情報を斜め補間部１６８に出力する。
【０３１９】
ここで、図５５のフローチャートの説明に戻る。
【０３２０】
ステップＳ２１５において、線形補間部１６７は、注目画素に対して水平方向の左右に存在する画素間の平均画素値を線形補間画素として求めて合成部１７０に出力し、同時に、斜補間部１６８は、方向選択部１６６より入力された選択された方向に存在する画素間の平均画素値を線形補間画素値として合成部に出力する。
【０３２１】
ステップＳ２１６において、斜重み付け部１６９は、以下の式（４０）で示すように、注目画素(X,Y)の斜方向の重みweight_slant(X,Y)を設定し、合成部１７０に出力する。
【０３２２】
weight_slant(X,Y)＝ABS（Balance(X,Y)/Total_population(X,Y)
(或いは、weight_slant(X,Y)＝ABS（Tendency(X,Y)）/Total_population(X,Y))
・・・（４０）
【０３２３】
すなわち、斜方向の重みは、全信頼度に対するBalance関数（或いは、Tendency関数）の絶対値の割合として設定される。
【０３２４】
ステップＳ２１７において、合成部１７０は、以下の式（４１）の演算により、線形補間部１６７より入力された線形補間画素と斜補間画素とを重み付けして合成し、補間画素として出力する。
【０３２５】
Ｖ_buffer(X,Y)=（1-weight_slant(X,Y)）×（ｖ-buffer(X-1,Y)+ｖ-buffer(X+1,Y)）
+weight_slant(X,Y)×（ｖ-buffer(X-1,Y+Best_Dir-(N-1)/2)
+ｖ-buffer(X+1,Y-Best_Dir-(N-1)/2)
・・・（４１）
【０３２６】
ここで、ｖ-buffer(X-1,Y)とｖ-buffer(X+1,Y)は、注目画素の左右に存在する画素値であり、h-buffer(X-1,Y+Best_Dir-(N-1)/2)+h-buffer(X-1,Y-Best_Dir-(N-1)/2)は、注目画素からみて選択された方向の対角線上で、かつ、左右の列上に存在する画素値である。
【０３２７】
すなわち、線形補間画素にかかる重みは、（1-weight_slant(X,Y)）で表現できるので、線形補間で求められた画素値には、線形補間に係る重みとして（1-weight_slant(X,Y)）を乗じ、斜補間画素にかかる重みとしてweight_slant(X,Y)が乗じられて、線形和をとって最終的な補間画素とする。これにより、水平方向と斜方向の補間が、その重みによりバランスよく合成されるため、正確な補間画素を生成することが可能となる。
【０３２８】
Ｖバッファ５１の個々の未知の行の各画素を求めるため、同様の処理が繰り返し実行される。
【０３２９】
すなわち、上述した式（３６）の条件（Case1乃至４を考慮した条件）により、空間分布が考慮されて、斜補間により生成される画素値の信頼性が評価されるので、斜補間については、ある程度信頼性が認められる条件でのみ使用されることとなり、結果として、より正確に補間画素を生成することが可能となる。
【０３３０】
図６６は、以上のケース２の処理を概念的に表したものである。同図に示されるように、Ｖバッファ５１の列Ｘが、仮想水平２倍拡大画像2X_image中の所定の列と所定の関係にある場合、Ｈバッファ３１のｎ列と、ｎ＋１列から方向補間処理により生成されたデータが２Ｘバッファ６１に記憶され、それがＶバッファ５１の列Ｘにコピーされる。
【０３３１】
尚、以上の例においては、注目領域が３画素×５ラインの場合について説明してきたが、例えば、注目領域は、それ以外の画素数からなる領域でもよく、例えば、図６７で示されるように、１１画素×１７ラインであってもよく、そのような場合、balance関数を設定するためのleft_upエリア、left_middleエリア、left_downエリア、right_upエリア、right_middleエリア、および、right_downエリアは、例えば、図６７で示されるように、それぞれ、left_up_area（注目領域の左上部の16画素）、middle_area（注目領域の中央部の27画素）、left_down_area（注目領域の右下部の16画素（middle areaは、leftもrightも共通））、right_up_area（注目領域の右上部の16画素）、middle_area（注目領域の中央部の27画素）、right_down_area（注目領域の左下部の16画素）と示された領域となるようにしてもよい。すなわち、各領域は、注目領域の中で、注目画素に対して斜方向のエッジが存在するであろう領域が、それぞれのエリアとなるように設定されればよい。図６７においては、注目画素が黒色のマスで示されている。
【０３３２】
次に、図６８のフローチャートを参照して、図５２のステップＳ１８２におけるケース３のＶバッファに対する処理について説明する。
【０３３３】
このケースは、2n＜2X_column＜2n+1、または、2n-1＜2X_column＜2nのケースの場合、つまり、Ｖバッファ５１中の列Ｘの値が、仮想水平２倍拡大画像2X_imageの列2X_columnのいずれにも対応せず、かつ、Ｈバッファ３１のどの列とも対応しない場合である。
【０３３４】
この場合、ステップＳ２９１において、2X_columnの値が2nより大きく、且つ2n+1より小さいか否かが判定される。2X_columnの値が2nより大きく、且つ2n+1より小さい場合、仮想水平２倍拡大画像2X_imageの2n＋1列と2nから、Ｖバッファ５１のＸ列が生成される。
【０３３５】
そこで、この場合、ステップＳ２９２において、高速水平アップサンプリング処理部１５は、仮想水平２倍拡大画像2X_imageの2n+1列を、隣接する上列2n列と、下列2n+2列（Ｈバッファ３１におけるｎ列とn+1列）を用いて、図５５のケース２のフローチャートに示すステップＳ２０１乃至ステップＳ２１７の処理で計算する。ステップＳ２９２で計算された結果は、Ｖバッファ５１における次のn+1列の計算に使用する可能性があるので、ステップＳ２９３において、２Ｘバッファ６１に格納される。
【０３３６】
さらに、ステップＳ２９４において、ステップＳ２９２で計算された2n+1列（２Ｘバッファ６１に記憶されている値）と、仮想水平２倍拡大画像2X_imageの2n列（Ｈバッファ３１のｎ列）から、Ｖバッファ５１のＸ列が次式から演算され、Ｖバッファ５１の列Ｘに記憶される。
【０３３７】
V_buffer(X,Y)=(2X_column-2n)×2X-buffer(Ｘ)+(2n+1-2X_column)×I_image(ｎ,Ｙ)
・・・（４２）
【０３３８】
一方、ステップＳ２９１において、2X_columnが2nより大きく、且つ2n+1より小さいと判定されなかった場合（2X_columnが2n-1より大きく、2nより小さいと判定された場合）、仮想水平２倍拡大画像2X_imageの2n-1列と2n列から、Ｖバッファ５１のＸ列が生成される。この2n-1列は、Ｖバッファ５１中の前列を求める際に計算され、２Ｘバッファ６１に既に格納されている場合がある。そこでステップＳ２９５において、2n-1列が２Ｘバッファ６１に既に格納されているか否かが判定され、格納されている場合には、ステップＳ２９８において、2n-1列が２Ｘバッファ６１から取り出される。
【０３３９】
これに対して、ステップＳ２９５において、2n-1列のデータが２Ｘバッファ６１にまだ格納されていないと判定された場合、ステップＳ２９６に進み、仮想水平２倍拡大画像2X_imageの2n-1列を、上列2n-2列と下列2n列（Ｈバッファ３１のn-1列とｎ列）を用い、図５５のケース２のフローチャートのステップＳ２０１乃至ステップＳ２１７の処理により計算する処理が実列される。ステップＳ２９６で計算された2n-1列の値は、ステップＳ２９７において、Ｖバッファ５１における次のＸ+1列の計算に使用する可能性があるので、２Ｘバッファ６１に格納される。
【０３４０】
ステップＳ２９７、またはステップＳ２９８の処理の後、ステップＳ２９９に進み、得られた2n-1列と、仮想水平２倍拡大画像2X_imageの2n列（Ｈバッファ３１のｎ列）からＶバッファ５１のＸ列が次式に従って補間される。
【０３４１】
Ｖ-buffer(X,Y)=
(2n−2X_column)×2X-buffer(Ｙ)+(2X_column−(2n-1))×I_image(ｎ,Ｙ)
・・・（４３）
【０３４２】
この処理は、Ｙ＝０からIn_height×alpha_Zより小さい値である期間、Ｙの値をインクリメントしつつ行われる。
【０３４３】
Ｖバッファ５１の個々の未知の列の各画素を求めるため、（−１＜Ｙ＜alpha_Z×In_height−N+1）と、（−１＜Ｙ＜alpha_Z×In_width−１）の条件を満たす座標（X,Y+N/2）で、同様の処理が繰り返し実行される。
【０３４４】
このように、ケース３の処理においては、仮想水平２倍拡大画像2X_image中の2n列と2n+1列、または2n-1列と2n列を用いて、重み付け補間が実行される。
【０３４５】
以上の図６８のケース３に示す処理を模式的に表すと、図６９に示すようになる。Ｖバッファ５１中の列Ｘの値が、仮想水平２倍拡大画像2X_imageの列と所定の関係にある場合、原画像I_imageのｎ列と、n+1列から方向補間処理により2n+1列、または2n-1列のデータが生成され、２Ｘバッファ６１に記憶される。そして、２Ｘバッファ６１に記憶された値と、仮想水平２倍拡大画像2X_imageの2n列のデータから、Ｖバッファ５１のＸ列のデータが重み付け補間される。
【０３４６】
以上のようにして、ステップＳ２１において、設定されているモードが、画像モードであると判定された場合、ステップＳ２２乃至ステップＳ２５の処理が行われるのであるが、ステップＳ２１において、設定されているモードが画像モードではないと判定された場合（コンピュータのアイコンやワードプロセッサのフォントなどの弱接続の画像が処理される場合）、ステップＳ２２乃至ステップＳ２５の処理が行われる前に、ステップＳ２６において、エッジコネクタ処理が実行される。図７０と図７１は、このエッジコネクタ処理の詳細を表している。このエッジコネクタ処理は、エッジコネクタ処理部１１により実行される。
【０３４７】
最初にステップＳ３１１において、所定の画素(X,Y)に対応して、２×２個の画素が切り出される。そしてステップＳ３１２とステップＳ３１３において、それぞれ右対角エネルギと、左対角エネルギが計算される。右対角エネルギは、２×２個の画素のうち、右上の画素から左下の画素を減算することで求められ、左対角エネルギは、左上画素から右下画素を減算することで求められる。
【０３４８】
例えば、画素(X,Y)を図７２Ａにおける画素（ピクセル）０とした場合、右対角エネルギは、図７２Ａに示されるように、ピクセル１からピクセル２の値を減算することで求められ、左対角エネルギは、図７２Ｂに示されるように、ピクセル０からピクセル３の値を減算することにより求められる。
【０３４９】
次に、ステップＳ３１４において、左対角線上の画素値は、右対角線上の画素値より小さいか否かが判定される。図７２Ａ，図７２Ｂの例の場合、ピクセル０とピクセル３の画素値が、ピクセル１とピクセル２の画素値より小さいか否かが判定される。
【０３５０】
ステップＳ３１４において、左対角線上の画素値が右対角線上の画素値より小さいと判定された場合、ステップＳ３１５に進み、ステップＳ３１３で演算された左対角エネルギは、予め設定されている所定の閾値より小さいか否かが判定される。左対角エネルギが閾値より小さい場合、ステップＳ３１６に進み、画素（ピクセル）２は、画素（ピクセル）１より小さいか否かが判定される。画素２が画素１より小さい場合には、ステップＳ３１７において、画素１を、画素０と画素３の平均値とする処理が実行される。ステップＳ３１６において、画素２が画素１より小さくない（等しいか大きいと判定された場合）、ステップＳ３１８に進み、画素２を、画素０と画素３の平均値とする処理が実行される。
【０３５１】
図７３Ａは、ステップＳ３１７の処理の結果、画素１の値が画素０と画素３の平均値とされた場合を表している。
【０３５２】
ステップＳ３１５において、左対角エネルギが閾値と等しいか閾値より大きいと判定された場合、ステップＳ３１６乃至ステップＳ３１８の処理はスキップされる。
【０３５３】
ステップＳ３１４において、左対角線上の画素値が右対角線上の画素値より小さくないと判定された場合（等しいかより大きいと判定された場合）、ステップＳ３１９に進み、ステップＳ３１２で演算された右対角エネルギが、予め設定されている所定の閾値より小さいか否かが判定される。右対角エネルギが閾値より小さい場合には、ステップＳ３２０に進み、画素３は、画素０より小さいか否かが判定される。画素３が画素０より小さい場合には、ステップＳ３２１において、画素０を、画素１と画素２の平均値とする処理が行われる。ステップＳ３２０において、画素３が画素０より小さくない（等しいかより大きい）と判定された場合、ステップＳ３２２に進み、画素３を、画素１と画素２の平均値とする処理が実行される。
【０３５４】
図７３Ｂは、ステップＳ３２２における処理により、画素３が、画素１と画素２の平均値とされた場合の例を示している。
【０３５５】
ステップＳ３１９において、右対角エネルギが閾値より小さくないと判定された場合、ステップＳ３２０乃至ステップＳ３２２の処理はスキップされる。
【０３５６】
アイコンやフォントなどの弱接続を有するエッジを、以上のエッジコネクタ処理により厚くすることで、エッジ構造を強くすることができる。これにより、図７２Ａ，Ｂに示されるように、エッジが局所的に、たった２つの対角線上にしか存在しない弱接続が存在する場合に、図２５のステップＳ９７におけるエッジ方向計算処理、或いは、図５５におけるステップＳ２０７のエッジ方向計算処理などにより、エッジ方向を認識する際、極端な誤解を引き起こしてしまい、結果的にエッジの連続性を破壊してしまうようなことが抑制される。
【０３５７】
次に、図２のステップＳ８のズーム処理について説明する。このズーム処理の詳細は、図７２のフローチャートに示されている。図７４におけるステップＳ３３１乃至ステップＳ３３５の処理は、図１２の高速ズーム処理におけるステップＳ２１乃至ステップＳ２５の処理と基本的に同様の処理となっている。
【０３５８】
図７４のステップＳ３３６におけるエッジコネクタ処理、ステップＳ３３２における１次元垂直イメージリフレッシュ処理、およびステップＳ３３３における１次元水平イメージリフレッシュ処理は、それぞれ、図１２のステップＳ２２の１次元垂直イメージリフレッシュ処理、および、ステップＳ２３のステップＳ１５の１次元水平イメージリフレッシュ処理と同様の処理であるので、その説明は省略する。以下においては、ステップＳ３３４における垂直アップサンプリング処理と、ステップＳ３３５における水平アップサンプリング処理についてのみ説明する。
【０３５９】
最初に図７５のフローチャートを参照して、ステップＳ３３４における垂直アップサンプリング処理について説明する。この処理は、垂直アップサンプリング処理部１３により実行される。
【０３６０】
最初にステップＳ３５１において、垂直アップサンプラ１４１は、Ｈバッファ３１を作成する。そのサイズは、In_width×(2×In_height)とされる。次に、ステップＳ３５２において、垂直アップサンプラ１４１は、図７６に示されるように、原画像I_imageのＹ行をＨバッファ３１の行２Ｙにコピーする。Ｈバッファ３１の最後の行には、原画像I_imageの最後の行がコピーされる。
【０３６１】
次に、ステップＳ３５３において、垂直方向補間部１４２のエッジ検出部１２２は、原画像I_image中の上行up_lineと下行down_lineのＮ画素を抽出する。上行up_lineの中心座標は、(X+N/2,n)となり、下行down_lineの中心座標は、(X+N/2,n+1)となる。
【０３６２】
次にステップＳ３５４において、エッジ検出部１２２は、局所エネルギE(N)を上述の式（１１）より算出する。
【０３６３】
次に、ステップＳ３５５において、エッジ検出部１２２は、局所エネルギE(N)が予め設定されている所定の閾値Ｔより大きいか否かを判定する。局所エネルギE(N)が閾値Ｔと等しいか、それより小さい場合、その領域は、エッジを含まない平坦な低エネルギの領域と見なされる。この場合、潜在的エッジの方向を計算する必要がない。このため、ステップＳ３５６に進み、方向判別部１２３が、エッジ検出部１２２の判定結果に基づいて、方向補間部１３１に、Ｈバッファ３１中の座標（X+N/2,Y）の画素データとして、座標（X+N/2,Y）を中心として、上下方向に幅2m（ｍは、任意）画素の範囲に存在する画素の線形和（ただし、各係数の和は１）を演算し、Ｈバッファ３１のその座標（X+N/2,Y）に格納すると共に、垂直方向（後述する図３８におけるＬ２の方向）を示す方向情報を信頼度格付部１２４、および、方向性分布生成部１２５に出力する。また、信頼度格付部１２４は、この補間画素について信頼度が低いことを示す０を方向性分布生成部１２５に出力する。すなわち、ステップＳ３５６においては、上述の式（１２）に基づいて、補間処理が行われる。
【０３６４】
ステップＳ３５５において、局所エネルギE(N)の値が閾値Ｔより大きいと判定された場合、その領域は、潜在的エッジを含んだ高エネルギ領域と見なされる。
【０３６５】
このとき、ステップＳ３５７において、斜線検出部１３３において、斜線検出処理が実行され、この検出結果に基づいて、ステップＳ３５８において、斜線（斜方向のエッジ）の有無が判定され、斜線が検出されなかった場合、その処理は、ステップＳ３５６に進む。
【０３６６】
ステップＳ３５８において、斜方向のエッジが存在すると判定された場合、その処理は、ステップＳ３５９に進む。
【０３６７】
ステップＳ３５９において、エッジ方向を試験的に計算する処理が実行される。具体的には、以下に示す演算が、x=N-1から−１より大きくなるまで行われる。
【０３６８】
Energy=ABS(up_line(N-x-1)−down_line(x))・・・（４４）
【０３６９】
上記の式（４４）で計算されたエネルギの値のうち、最も小さいものが選択され、その２つの画素が対応する対角線の方向が局所的なエッジの方向と見なされる。尚、上述した、図４４乃至図４８を参照して説明した方法でエッジの方向を選択するようにしても良い。
【０３７０】
ステップＳ３５９の処理で、エッジ方向が検出された場合、さらにステップＳ３６０において、方向補間部１３１は、その検出されたエッジ方向の画素を用いて、補間処理を行う（方向補間処理を行う）。この方向補間処理は、エッジ方向に対応する２つの画素の画素値に基づいて、その間に位置する画素の画素値を補間することを意味する。
【０３７１】
次に、ステップＳ３６１に進み、信頼度格付部１２４は、構造コレクタ処理を実行する。この構造コレクタ処理は、座標(X+N/2,Y)に補間された画素と、その垂直の近傍画素、すなわち座標up_line(N/2)と、座標down_line(N/2)との関係を解析することで、更新された局所構造（ステップＳ３６０の方向補間処理で生成された画素とその上下の画素）の整合性をチェックする処理である。
【０３７２】
すなわち、この構造コレクタ処理では、上行の中心画素から更新された画素を減算する処理が行われ、さらに、更新された画素から下行の中心画素を減算する処理が行われる。さらに、以上のようにして得られた２つの減算結果を乗算することで、垂直方向の変化を表す値V(N/2)が計算される。ステップＳ３６１においては、次の式で示す演算が行われる。
【０３７３】
V(N/2)=(up_line(N/2)−H-buffer(X+N/2,Y))×(H-buffer(X+N/2,Y)−down_line(N/2))
・・・（４５）
【０３７４】
次に、ステップＳ３６２において、信頼度格付部１２４は、ステップＳ３６１での演算結果に基づいて、更新された局所構造の整合性があるか否かを判定する。この判定は、上記の式（４５）で演算された値V(N/2)が正であるか否かに基づいて行われる。値V(N/2)が正である場合には、整合性があると見なされ、ステップＳ３６３において、信頼度格付部１２４は、その補間画素の信頼度を１として方向性分布生成部１２５に出力する。
【０３７５】
これに対して、ステップＳ３６２において、値V(N/2)が負であると判定された場合、整合性はないと見なされる。すなわち、局所方向の識別が誤っており、ステップＳ３５９で生成された画素値は、適切でないと判断される。この場合、局所エッジの方向は、識別不可能と見なされ、この場合、信頼度格付部１２４は、ステップＳ３６４において、その補間画素の信頼度を０として方向性分布生成部１２５に出力する。
【０３７６】
ステップＳ３６５において、注目画素に対する注目領域の全ての補間画素が補間されたか否かが判定され、注目領域の全ての補間画素が補間されていないと判定された場合、その処理は、ステップＳ３５１に戻り、全ての補間画素が補間されるまで、ステップＳ３５１乃至Ｓ３６５の処理が繰り返され、ステップＳ３６５において、全ての補間画素が補間されたと判定された場合、その処理は、ステップＳ３６６に進む。ここで、注目画素に対する注目領域とは、例えば、図３２で示したＰ（画素数）×Ｍ（ライン）の範囲の補間画素である。そして、ステップＳ３６６において、方向選択処理が実行される。尚、ステップＳ３６６の方向選択処理は、図２５のフローチャートを参照して説明したステップＳ１０４の処理と同様であるので、その説明は省略する。
【０３７７】
ステップＳ３６７において、線形補間部１２７は、注目画素に対して垂直方向の上下に存在する画素間の平均画素値を線形補間画素として求めて合成部１３０に出力し、同時に、斜補間部１２８は、方向選択部１２６より入力された選択された方向に存在する画素間の平均画素値を線形補間画素値として合成部に出力する。
【０３７８】
ステップＳ３６８において、斜重み付け部１２９は、上述の式（２３）により注目画素(X,Y)の斜方向の重みweight_slant(X,Y)を設定し、合成部１３０に出力する。
【０３７９】
ステップＳ３６９において、合成部１３０は、上述の式（２４）の演算により、線形補間部１２７より入力された線形補間画素と斜補間画素とを重み付けして合成し、補間画素として出力する。
【０３８０】
また、図７７は、図７４のステップＳ３３５における水平アップサンプリング処理の詳細を表している。この処理は、水平アップサンプリング処理部１５により実行される。
【０３８１】
最初にステップＳ３８１において、水平アップサンプラ１８１は、Ｖバッファ５１を作成する。そのサイズは、２×In_width×２×In_heightとされる。ステップＳ３８２において、水平アップサンプラ１８１は、図７８で示されるように、Ｈバッファ３１のＸ列をＶバッファ５１の２Ｘ列にコピーする。Ｘの値は−１より大きく、In_widthより小さい値とされる。
【０３８２】
ステップＳ３８３において、垂直方向補間部１８２のエッジ検出部１６２は、Ｈバッファ３１中の左列left_column、および右列right_columnを抽出する。左列left_columnの中心座標は、（ｎ，Y＋N/2）とされ、右列right_columnの矩形の中心座標は、（n＋1,Y＋N/2）とされる。
【０３８３】
次にステップＳ３８４において、エッジ検出部１６２は、局所エネルギE(N)が、左列left_columnの個々の画素から、対角線上に位置する右列right_columnの画素を減算し、その絶対値の和を演算することで求められる。すなわち、この処理では上述の式（２８）が演算される。
【０３８４】
次にステップＳ３８５において、エネルギE(N)が予め設定された閾値Ｔより大きいか否かが判定される。エネルギE(N)が閾値Ｔと等しいか、それより小さい場合、その領域はエッジを含まない平坦な低エネルギ領域と見なされる。この場合、潜在的なエッジの方向を計算する必要がない。このためステップＳ３８６に進み、補間処理が行われる。すなわち、上述の式（２９）に示すように、座標（X,Y+N/2）を中心として、左右方向に幅2m（ｍは、任意）画素の範囲に存在する画素の線形和（ただし、各係数の和は１）から、新しい画素（X＋N/2,Y）の画素値が演算される。
【０３８５】
ステップＳ３８５において、エネルギE(N)が閾値Ｔより大きいと判定された場合、その領域は潜在的にエッジを含んでいる高エネルギ領域と見なされ、その処理は、ステップＳ３８７に進む。
【０３８６】
ステップＳ３８７において、斜線検出部１７３において、斜線検出処理が実行され、この検出結果に基づいて、ステップＳ３８８において、斜線（斜方向のエッジ）の有無が判定され、斜線が検出されなかった場合、その処理は、ステップＳ３８６に進む。
【０３８７】
ステップＳ３８８において、斜方向のエッジが存在すると判定された場合、その処理は、ステップＳ３８９に進む。
【０３８８】
ステップＳ３８９において、次式にしたがってエッジ方向計算処理が実行される。
【０３８９】
Energy=ABS（left_column(N−x−1)−right_column(x)）・・・（４６）
【０３９０】
上記演算は、ｘ＝Ｎ−１からｘの値を順次デクリメントし、ｘが−１より大きい間繰り返される。
【０３９１】
計算されたエネルギのうち、最も小さい値に対応する画素の対角線の方向が局所的なエッジの方向と判定される。
【０３９２】
ステップＳ３８９でエッジ方向が判定されると、ステップＳ３９０において、方向補間部１７１は、ステップＳ３８９で判定されたエッジ方向の２つの画素の平均値を演算することで、その間の画素を補間する（方向補間処理が実行される）。
【０３９３】
次に、ステップＳ３９１において、構造コレクタ処理が実行される。すなわち、Ｖバッファ５１中の座標（Ｘ,Y＋N/2）に補間された画素と、その水平方向の近傍画素である座標left_column(N/2)の画素、およびright_column(N/2)の画素との関係を解析することで局所構造の整合性をチェックする処理が行われる。このため、次式に従って、補間された画素を左列の中心の画素から減算し、右列の中心画素を補間された画素から減算することで２つの減算結果を得、さらに２つの減算結果を乗算することで、水平方向の変化を表す値H(N/2)が計算される。
【０３９４】
H(N/2)＝（left_line(N/2)−V-buffer(X＋N/2,Y)）
×（V-buffer(X+N/2,Y)−right_column(N/2)）・・・（４７）
【０３９５】
ステップＳ３９２において、ステップＳ３９１の処理で演算された値H(N/2)に基づき、補間された局所構造に整合性があるか否かが判定される。具体的には、値H(N/2)が正であるか否かが判定される。値H(N/2)が正である場合には、ステップＳ３９０の方向補間処理で求められた画素は正しい（整合性がある）ものとされ、ステップＳ３９３において、その補間画素の信頼度を１として方向性分布生成部１６５に出力する。
【０３９６】
ステップＳ３９２において、値H(N/2)が負である場合（整合性がない、すなわち、ステップＳ３９０の方向補間処理で生成された画素値は適切でないと判定された場合）、ステップＳ３９４に進み、信頼度格付部１６４は、その補間画素の信頼度を０として方向性分布生成部１６５に出力する。
【０３９７】
ステップＳ３９５において、注目画素に対する注目領域の全ての補間画素が補間されたか否かが判定され、注目領域の全ての補間画素が補間されていないと判定された場合、その処理は、ステップＳ３８１に戻り、全ての補間画素が補間されるまで、ステップＳ３８１乃至Ｓ３９５の処理が繰り返され、ステップＳ３９５において、全ての補間画素が補間されたと判定された場合、その処理は、ステップＳ３９６に進む。
【０３９８】
ここで、注目画素に対する注目領域とは、例えば、図６０で示したＭ（画素数）×Ｐ（ライン）の範囲の補間画素である。そして、ステップＳ３９６において、方向選択処理が実行される。尚、ステップＳ３９６の方向選択処理は、図５５のフローチャートを参照して説明したステップＳ２１４の処理と同様であるので、その説明は省略する。
【０３９９】
ステップＳ３９７において、線形補間部１６７は、注目画素に対して水平方向の左右に存在する画素間の平均画素値を線形補間画素として求めて合成部１７０に出力し、同時に、斜補間部１６８は、方向選択部１６６より入力された選択された方向に存在する画素間の平均画素値を斜補間画素値として合成部に出力する。
【０４００】
ステップＳ３９８において、斜重み付け部１６９は、上述の式（２３）により注目画素(X,Y)の斜方向の重みweight_slant(X,Y)を設定し、合成部１７０に出力する。
【０４０１】
ステップＳ３９９において、合成部１７０は、上述の式（２４）の演算により、線形補間部１６７より入力された線形補間画素と斜補間画素とを重み付けして合成し、補間画素として出力する。
【０４０２】
図７８は、以上の図７７おける水平アップサンプリング処理の概念を表している。同図に示されるように、Ｈバッファ３１のＸ列のデータが、Ｖバッファ５１の２Ｘ列にコピーされる。そして、その間の列のデータが補間される。
【０４０３】
以上のようにして、画像の解像度を任意の倍率で変更することができる。この場合、例えば、画像を６倍に拡大するとき、ズーム処理を２回繰り返し、４倍の画像を得た後、３／２倍の高速ズーム処理を行うこともできるし、ズーム処理を３回繰り返し、８倍の画像を得た後、３／４倍の線形縮小処理を行うこともできる。
【０４０４】
また、図１３，図１７のフローチャートで説明したように、１次元垂直イメージリフレッシュ処理、および、１次元水平イメージリフレッシュ処理は、エッジとテクスチャを識別し、エッジに対しては、フィルタ処理とクリッピング処理を施し、テクスチャに対しては、フィルタ処理のみを施すと言ったように処理内容を分けて、それぞれに対応した適切な処理を施すことが可能となる。
【０４０５】
さらに、上述のように、図１１、または、図７４で示すように、高速ズーム処理、または、ズーム処理において、垂直アップサンプリング処理、および、水平アップサンプリング処理を行う前に、１次元垂直イメージリフレッシュ処理、および、１次元水平イメージリフレッシュ処理を実行することにより、１次元垂直イメージリフレッシュ処理、および、１次元水平イメージリフレッシュ処理は、画素数が拡大される前の原画像の画素数での処理を実行するだけで済むため、図１５，図１６，図１９，図２０で示す１次元垂直フィルタ、および、１次元水平フィルタのフィルタタップ数を、拡大処理後の画素数に対応させる必要がなく、その分計算処理量を低減させることができ、処理の高速化を実現することが可能となる。
【０４０６】
また、１次元垂直フィルタ、および、１次元水平フィルタの係数αが、垂直中心画素エネルギEV、および、水平中心画素エネルギEHの値の変化に動的に対応するため、エッジ、または、テクスチャへの強調処理の強弱を適切に変化させることが可能となる。
【０４０７】
さらに、図２５，図５５，図７５，図７７のフローチャートを参照して説明したように、方向補間における方向を方向性分布と方向補間における空間分布を用いることにより、正確に判断することが可能となる。また、方向性分布と空間分布により判断された斜補間によって求められる画素値と、線形補間された画素値とを、方向性分布に基づいて重み付けして線形和として補間画素を合成して、生成することにより、正確に画素値を補間することが可能となる。
【０４０８】
結果として、画像の解像度を変換することにより生じる画像上のエラーを抑制することができ、鮮明な変換画像を生成することが可能となる。
【０４０９】
尚、以上の例においては、水平方向、および、垂直方向のそれぞれに拡大する場合について説明してきたが、いずれか一方向のみを拡大するようにしてもよい。このとき、垂直方向にのみ拡大する処理は、インタレース画像からプログレッシブ画像に変換する、いわゆるIP変換と同様の処理となるため、本発明は、IP変換にも応用することが可能である。尚、実際の処理については、上述で説明した処理における水平方向、または、垂直方向のいずれかの拡大率を１としたときの処理としてもよいし、または、水平方向、または、垂直方向のいずれか一方の処理をスキップすることにより実現されるので、その説明は省略する。
【０４１０】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０４１１】
図７９は、図１に示した機能ブロックを有する画像処理装置２のハードウェアの構成例を表している。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３１２や、記憶部３１８に含まれるハードディスクなどで構成される。
【０４１６】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０４１７】
【図１】本発明を適用した画像処理装置の構成例を示すブロック図である。
【図２】図１のエッジコネクタ処理部の構成例を示すブロック図である。
【図３】図１の高速垂直アップサンプリング処理部の構成例を示すブロック図である。
【図４】図３の垂直方向補間部の構成例を示すブロック図である。
【図５】図１の垂直アップサンプリング処理部の構成例を示すブロック図である。
【図６】図１の高速水平アップサンプリング処理部の構成例を示すブロック図である。
【図７】図６の水平方向補間部の構成例を示すブロック図である。
【図８】図１の水平アップサンプリング処理部の構成例を示すブロック図である。
【図９】図１の１次元垂直イメージリフレッシュ処理部の構成例を示すブロック図である。
【図１０】図１の１次元水平イメージリフレッシュ処理部の構成例を示すブロック図である。
【図１１】図１の画像処理装置のズーム処理を説明するフローチャートである。
【図１２】図１１のステップＳ４における高速ズーム処理を説明するフローチャートである。
【図１３】図１２のステップＳ２２における１次元垂直イメージリフレッシュ処理を説明するフローチャートである。
【図１４】図１２のステップＳ２２における１次元垂直イメージリフレッシュ処理を説明する図である。
【図１５】図１２のステップＳ２２における１次元垂直イメージリフレッシュ処理を説明する図である。
【図１６】図１２のステップＳ２２における１次元垂直イメージリフレッシュ処理を説明する図である。
【図１７】図１２のステップＳ２３における１次元水平イメージリフレッシュ処理を説明するフローチャートである。
【図１８】図１２のステップＳ２３における１次元水平イメージリフレッシュ処理を説明する図である。
【図１９】図１２のステップＳ２３における１次元水平イメージリフレッシュ処理を説明する図である。
【図２０】図１２のステップＳ２３における１次元水平イメージリフレッシュ処理を説明する図である。
【図２１】高速垂直アップサンプリング処理を説明する図である。
【図２２】図１２のステップＳ２４における高速垂直アップサンプリング処理の詳細を説明するフローチャートである。
【図２３】図２２のステップＳ７２におけるケース１の処理を説明するフローチャートである。
【図２４】図２３のケース１の処理を説明する図である。
【図２５】図２２のステップＳ７２におけるケース２の処理を説明するフローチャートである。
【図２６】図２４のステップＳ９２における局所エネルギの計算を説明する図である。
【図２７】図２５のステップＳ９５における斜線検出処理を説明するフローチャートである。
【図２８】図２５のステップＳ９５における斜線検出処理を説明する図である。
【図２９】図２５のステップＳ９５における斜線検出処理を説明する図である。
【図３０】図２５のステップＳ９４におけるエッジ方向計算処理を説明する図である。
【図３１】図２５のステップＳ９４におけるエッジ方向計算処理を説明する図である。
【図３２】注目領域を説明する図である。
【図３３】図２５のステップＳ１０４における方向選択処理を説明するフローチャートである。
【図３４】方向と信頼度の例を説明する図である。
【図３５】定義されるエッジの方向を説明する図である。
【図３６】図３３のフローチャートのステップＳ１３２における空間分布生成処理を説明するフローチャートである。
【図３７】図３３のフローチャートのステップＳ１３２における空間分布生成処理を説明する図である。
【図３８】図３３のフローチャートのステップＳ１３２における空間分布生成処理を説明する図である。
【図３９】空間分布と方向性分布を説明する図である。
【図４０】方向と信頼度の例を説明する図である。
【図４１】空間分布と方向性分布を説明する図である。
【図４２】図２２のケース２の処理を説明する図である。
【図４３】図３３のフローチャートのステップＳ１３２におけるその他の空間分布生成処理を説明する図である。
【図４４】エッジ方向の計算方法のその他の方法を説明する図である。
【図４５】エッジ方向の計算方法のその他の方法を説明する図である。
【図４６】エッジ方向の計算方法のその他の方法を説明する図である。
【図４７】エッジ方向の計算方法のその他の方法を説明する図である。
【図４８】エッジ方向の計算方法のその他の方法を説明する図である。
【図４９】図２２のステップＳ７２におけるケース３の処理を説明するフローチャートである。
【図５０】図４９におけるケース３の処理を説明する図である。
【図５１】図１２のステップＳ２４における高速水平アップサンプリングを説明する図である。
【図５２】図１１のステップＳ２４における高速水平アップサンプリング処理の詳細を説明するフローチャートである。
【図５３】図５２のステップＳ１８２におけるケース１の処理を説明するフローチャートである。
【図５４】図５２のケース１の処理を説明する図である。
【図５５】図５２のステップＳ１８２におけるケース２の処理を説明するフローチャートである。
【図５６】図５５のステップＳ２０５における斜線検出処理を説明する図である。
【図５７】図５５のステップＳ２０５における斜線検出処理を説明する図である。
【図５８】図５５のステップＳ２０５における斜線検出処理を説明する図である。
【図５９】図５２のケース２の処理を説明する図である。
【図６０】注目画素を説明する図である。
【図６１】図５５のステップＳ２１４における方向選択処理を説明するフローチャートである。
【図６２】定義されるエッジの方向を説明する図である。
【図６３】図６１のフローチャートのステップＳ２５２における空間分布生成処理を説明するフローチャートである。
【図６４】図６１のフローチャートのステップＳ２５２における空間分布生成処理を説明する図である。
【図６５】図６１のフローチャートのステップＳ２５２における空間分布生成処理を説明する図である。
【図６６】図５２のケース２の処理を説明する図である。
【図６７】図６１のフローチャートのステップＳ２５２におけるその他の空間分布生成処理を説明する図である。
【図６８】図５２のステップＳ１８２におけるケース３の処理を説明するフローチャートである。
【図６９】図６８のケース３の処理を説明する図である。
【図７０】図１１のステップＳ２６におけるエッジコネクタ処理の詳細を説明するフローチャートである。
【図７１】図１１のステップＳ２６におけるエッジコネクタ処理の詳細を説明するフローチャートである。
【図７２】図７０のステップＳ３１２とステップＳ３１３における右対角エネルギと左対角エネルギを説明する図である。
【図７３】図７０のステップＳ３１７と図７１のステップＳ３２２における処理を説明する図である。
【図７４】図２のステップＳ８におけるズーム処理を説明するフローチャートである。
【図７５】図７４におけるステップＳ３３４の垂直アップサンプリング処理の詳細を説明するフローチャートである。
【図７６】図７５の垂直アップサンプリング処理を説明する図である。
【図７７】図７４のステップＳ３３５における水平アップサンプリング処理を説明するフローチャートである。
【図７８】図５５の水平アップサンプリング処理を説明する図である。
【図７９】図１の画像処理装置のハードウェアの構成例を示すブロック図である。
【符号の説明】
【０４１８】
１  画像入力部，  ２  画像処理部，  ３  画像出力部，  １０  画像処理装置，  １１  エッジコネクタ処理部，  １２  高速垂直アップサンプリング処理部，  １３  垂直アップサンプリング処理部，  １４  高速水平アップサンプリング処理部，  １５  水平アップサンプリング処理部，  １６  線形縮小処理部，  １７  １次元垂直イメージリフレッシュ処理部，１７ａ  バッファ，  １８  １次元水平エッジビルダ処理部，  １８ａ  バッファ
【図１】
2005266918.tif 000003
【図２】
2005266918.tif 000004
【図３】
2005266918.tif 000005
【図４】
2005266918.tif 000006
【図５】
2005266918.tif 000007
【図６】
2005266918.tif 000008
【図７】
2005266918.tif 000009
【図８】
2005266918.tif 000010
【図９】
2005266918.tif 000011
【図１０】
2005266918.tif 000012
【図１１】
2005266918.tif 000013
【図１２】
2005266918.tif 000014
【図１３】
2005266918.tif 000015
【図１４】
2005266918.tif 000016
【図１５】
2005266918.tif 000017
【図１６】
2005266918.tif 000018
【図１７】
2005266918.tif 000019
【図１８】
2005266918.tif 000020
【図１９】
2005266918.tif 000021
【図２０】
2005266918.tif 000022
【図２１】
2005266918.tif 000023
【図２２】
2005266918.tif 000024
【図２３】
2005266918.tif 000025
【図２４】
2005266918.tif 000026
【図２５】
2005266918.tif 000027
【図２６】
2005266918.tif 000028
【図２７】
2005266918.tif 000029
【図２８】
2005266918.tif 000030
【図２９】
2005266918.tif 000031
【図３０】
2005266918.tif 000032
【図３１】
2005266918.tif 000033
【図３２】
2005266918.tif 000034
【図３３】
2005266918.tif 000035
【図３４】
2005266918.tif 000036
【図３５】
2005266918.tif 000037
【図３６】
2005266918.tif 000038
【図３７】
2005266918.tif 000039
【図３８】
2005266918.tif 000040
【図３９】
2005266918.tif 000041
【図４０】
2005266918.tif 000042
【図４１】
2005266918.tif 000043
【図４２】
2005266918.tif 000044
【図４３】
2005266918.tif 000045
【図４４】
2005266918.tif 000046
【図４５】
2005266918.tif 000047
【図４６】
2005266918.tif 000048
【図４７】
2005266918.tif 000049
【図４８】
2005266918.tif 000050
【図４９】
2005266918.tif 000051
【図５０】
2005266918.tif 000052
【図５１】
2005266918.tif 000053
【図５２】
2005266918.tif 000054
【図５３】
2005266918.tif 000055
【図５４】
2005266918.tif 000056
【図５５】
2005266918.tif 000057
【図５６】
2005266918.tif 000058
【図５７】
2005266918.tif 000059
【図５８】
2005266918.tif 000060
【図５９】
2005266918.tif 000061
【図６０】
2005266918.tif 000062
【図６１】
2005266918.tif 000063
【図６２】
2005266918.tif 000064
【図６３】
2005266918.tif 000065
【図６４】
2005266918.tif 000066
【図６５】
2005266918.tif 000067
【図６６】
2005266918.tif 000068
【図６７】
2005266918.tif 000069
【図６８】
2005266918.tif 000070
【図６９】
2005266918.tif 000071
【図７０】
2005266918.tif 000072
【図７１】
2005266918.tif 000073
【図７２】
2005266918.tif 000074
【図７３】
2005266918.tif 000075
【図７４】
2005266918.tif 000076
【図７５】
2005266918.tif 000077
【図７６】
2005266918.tif 000078
【図７７】
2005266918.tif 000079
【図７８】
2005266918.tif 000080
【図７９】
2005266918.tif 000081