(57)【要約】【課題】  デジタル写真画像における中間値画素を判定する。【解決手段】  中間値画素判定部１２０の候補画素選別部１２２は、デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいてもエッジが検出された場合、３つの画素の中央に位置する画素を候補画素として選別する。画素値比較部１２４は、候補画素に対して、この候補画素が選別されたのに用いられた３つの画素の画素値を比較し、判定部１２６は、この３つの画素の画素値が画素の並ぶ方向に沿って単調増加または単調減少するときにのみ、候補画素が中間値画素であると判定する。【選択図】          図２１
2005141303.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定方法において、
前記デジタル画像上の画素間にエッジが存在するか否かを検出し、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素が前記中間値画素であると判定することを特徴とする中間値画素判定方法。
【請求項２】
被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定方法において、
前記デジタル画像上の画素間にエッジが存在するか否かを検出し、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素を、前記中間値画素の候補画素として選別し、
選別された該候補画素を含む前記隣接する３つの画素の画素値を比較し、
比較される前記３つの画素の画素値が該３つの画素が並ぶ方向に沿って単調増加または単調減少するときにのみ、該候補画素が前記中間値画素であると判定することを特徴とする中間値画素判定方法。
【請求項３】
前記検出により検出された前記エッジの延びる方向を判別し、
前記画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても前記検出により前記エッジが検出され、かつ検出された２つの前記エッジの延びる方向が同じである場合にのみ、前記中央に位置する画素を前記候補画素として選別することを特徴とする請求項２記載の中間値画素判定方法。
【請求項４】
被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定装置において、
前記デジタル画像上の画素間にエッジが存在するか否かを検出するエッジ検出手段と、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素が前記中間値画素であると判定する判定手段とを有することを特徴とする中間値画素判定装置。
【請求項５】
被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定装置において、
前記デジタル画像上の画素間にエッジが存在するか否かを検出するエッジ検出手段と、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素を、前記中間値画素の候補画素として選別する候補画素選別手段と、
選別された該候補画素を含む前記隣接する３つの画素の画素値を比較し、
比較される前記３つの画素の画素値が該３つの画素が並ぶ方向に沿って単調増加または単調減少するときにのみ、該候補画素が前記中間値画素であると判定する判定手段とを有することを特徴とする中間値画素判定装置。
【請求項６】
前記エッジ検出手段が、検出された前記エッジの延びる方向を判別するエッジ方向判別手段を有し、
前記候補画素選別手段が、前記画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても前記検出により前記エッジが検出され、かつ検出された２つの前記エッジの延びる方向が同じである場合にのみ、前記中央に位置する画素を前記候補画素として選別するものであることを特徴とする請求項５記載の中間値画素判定装置。
【請求項７】
被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定処理をコンピュータに実行させるプログラムであって、
前記中間値画素判定処理が、前記デジタル画像上の画素間にエッジが存在するか否かを検出するエッジ検出処理と、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素が前記中間値画素であると判定する判定処理とを有することを特徴とするプログラム。
【請求項８】
被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定処理をコンピュータに実行させるプログラムであって、
前記中間値画素判定処理が、前記デジタル画像上の画素間にエッジが存在するか否かを検出するエッジ検出処理と、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素を、前記中間値画素の候補画素として選別する候補画素選別処理と、
選別された該候補画素を含む前記隣接する３つの画素の画素値を比較し、
比較される前記３つの画素の画素値が該３つの画素が並ぶ方向に沿って単調増加または単調減少するときにのみ、該候補画素が前記中間値画素であると判定する判定処理手段とを有することを特徴とするプログラム。
【請求項９】
前記エッジ検出処理が、検出された前記エッジの延びる方向を判別するエッジ方向判別処理を有し、
前記候補画素選別処理が、前記画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても前記検出により前記エッジが検出され、かつ検出された２つの前記エッジの延びる方向が同じである場合にのみ、前記中央に位置する画素を前記候補画素として選別することを特徴とする請求項８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば画像データにより表される画像を拡大縮小するに際し、画像を構成する画素間に補間画素を補間するために用いられる参照画素が中間値画素であるか否かを判定する中間値画素判定方法および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
従来より、ネガフィルムやカラーリバーサルフィルムなどの写真フィルムに記録された写真画像をスキャナなどの読取装置で光電的に読み取って得たデジタル画像や、デジタルスチルカメラ（ＤＳＣ）やカメラ付き携帯電話などのデジタル撮像装置により被写体を撮像することにより得られた画像データを、それを再生するモニタなどの再生装置のサイズに適合するように拡大縮小することが行われている。例えば、カメラ付き携帯電話により被写体を撮像して得て得られた画像データを電子メールとして送信する際に、送信先の携帯電話に備えられた液晶モニタのサイズに応じて画像データを拡大縮小するサービスが提供されている。
【０００３】
このような画像データの拡大縮小は、画像データにより表される画像を構成する画素の間に拡大縮小率に応じて新たな画素（以下補間画素という）を補間することにより行われる。このような補間方法としては、線形補間法、ガウシアンフィルタ、最近傍法、バイリニア法およびバイキュービック法などの種々の方法が知られている。
【０００４】
しかしながら、単一の方法のみを用いて画像データを拡大縮小した場合、画像に含まれるエッジ部分にボケやシャギーが発生するという問題がある。このため、画像に含まれるエッジ成分を検出し、エッジ部分と非エッジ部分とで異なる処理による補間演算を行う方法が提案されている（特許文献１参照）。
【０００５】
特許文献１に記載された方法などにおいて画像からエッジを検出するためには、ソーベルフィルタやラプラシアンフィルタが一般的に用いられる。このようなソーベルフィルタやラプラシアンフィルタは、最短３タップの奇数タップ数を有し、フィルタリングにより注目画素がエッジであるか否かを判定することによりエッジを検出することができる。
【０００６】
一方、画像を拡大縮小する場合には、画素間に補間画素を補間するため、画像に含まれる画素ではなく、画素の間にエッジが判定するか否かを判定する必要がある。上述した奇数タップ数のフィルタを用いてエッジを検出する場合、画像中の注目画素そのものがエッジであるか否かを判定することができるのみであり、画素間にエッジが存在するか否かを判定することができない。
【０００７】
画素間にエッジがあるか否かを判定する最も簡単な方法としては、例えば、画像の隣接する２つの画素に対して差分フィルタによるフィルタリング処理を施してこの２つの画素の画素値の差分を得、この差分の絶対値が所定の閾値以上である場合に、この隣接する２つの画素間にエッジが存在すると判定する手法を用いることができる。以下本発明の説明において、このようなエッジ検出方法を第１のエッジ検出方法という。
【０００８】
また、隣接する２つの画素の画素値のみではなく、直列に隣接する４つの画素の画素値に基づいてこの４つの画素の中央に位置する２つの画素間にエッジが存在するか否かを判定する手法を用いることもできる。具体的には、例えば図４に示す直列に隣接する４つの画素Ｇ１、Ｇ２、Ｇ３、Ｇ４の中央に位置する２つの画素Ｇ２、Ｇ３の間にエッジが存在するか否かを判定するのに当たって、まず、画素Ｇ１〜Ｇ４について、互いに隣接する２つの画素からなる３つの画素ペア（Ｇ１，Ｇ２）、（Ｇ２、Ｇ３）、（Ｇ３，Ｇ４）に対して差分フィルタによるフィルタリング処理を施して各ペアの画素の差分を１次差分ｄ１、ｄ２、ｄ３として算出する。続いて、３つの１次差分ｄ１、ｄ２、ｄ３における隣接する２つの１次差分ペア（ｄ１，ｄ２）、（ｄ２，ｄ３）に対して、同様に差分フィルタによるフィルタリング処理を施して、各１次差分ペアの差分を２次差分ｄ４、ｄ５として算出する。画像中に直列に隣接する４つの画素に対して算出した１次差分と２次差分の正負は全１８種類の組合せがあり、図６と図７、図８は、この１８種類の組合せと、この４つの画素のプロファイル形状との関係を示している。そのうち、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在することを示す組合せは、図６に示すエッジ１およびエッジ２の２通りである。エッジ１は、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（＋，＋，＋，＋，−）となる右上がりエッジおよび（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（−，−，−，−，＋）となる左上がりエッジの２種類があり、エッジ２は、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（＋，＋，＋，＋，＋）となる下に凸の右上がりエッジ、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（＋，＋，＋，−，−）となる上に凸の右上がりエッジ、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（−，−，−，＋，＋）となる下に凸の左上がりエッジ、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（−，−，−，−，−）となる上に凸の左上がりエッジの４種類がある。直列に隣接する４つの画素に対して１次差分ｄ１、ｄ２、ｄ３および２次差分ｄ４、ｄ５を求め、これらの差分の正負の関係が、図６に示すエッジ１またはエッジ２の関係となる場合に、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在すると判定すると共に、これらの差分の正負の関係が、図７および図８に示すような山、谷、その他の関係となる場合に、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在しないと判定する。なお、以下本発明の説明において、このようなエッジ検出方法を第２のエッジ検出方法という。
【０００９】
さらに、前述した第１と第２のエッジ検出方法の併合となるエッジ検出方法を用いて、より精度良く隣接する２つの画素間にエッジが存在するか否かの検出を行うこともできる。具体的には、第２の方法のように、直列に隣接する４つの画素Ｇ１〜Ｇ４に対して１次差分ｄ１、ｄ２、ｄ３および２次差分ｄ４、ｄ５を求め、これらの差分の正負の関係が、図６に示すエッジ１またはエッジ２の関係となる場合に、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在すると共に、これらの差分の正負の関係が、図７に示すような山、谷、その他の関係となる場合に、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在しないとするようにして第１の判定を行う。第１の判定において、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在すると判定された場合において、画素Ｇ２、Ｇ３の画素値の差分の絶対値が所定の閾値以上であるか否かをさらに判定し（第２の判定）、第２の判定が肯定された場合においてのみ、画素Ｇ２、Ｇ３の間に真のエッジが存在すると判定する。こうすることによって、画素Ｇ２、Ｇ３の画素値の差が非常にわずかでノイズと見なせるような場合に、そこがエッジであると誤判定してしまうことを防ぐことができる。なお、以下本発明の説明において、このようなエッジ検出方法を第３のエッジ検出方法という。
【００１０】
さらに、第１のエッジ検出方法の改良方法として、２つの隣接する画素間の差分の絶対値が所定の閾値（第１の閾値）以上である場合に、この２つの画素間にエッジが存在すると判定すると共に、２つの隣接する画素間の差分の絶対値がこの第１の閾値より小さいものの、第１の閾値よりも小さい閾値（第２の閾値）以上であり、かつこの２つの隣接する画素を中央とする直列に隣接する４つ以上の複数画素に含まれる互い隣接する２つの画素からなる各画素ペアの差分の絶対値のうちの最大値である場合に中央に隣接する２つの画素間にエッジが存在すると判定するようにしてエッジを検出することもできる。こうすることによって、急なエッジのみならず、比較的に緩やかなエッジも検出することができる。なお、以下本発明の説明において、このようなエッジ検出方法を第４のエッジ検出方法という。
【００１１】
これらの例に挙げたように、画像を構成する画素間にエッジが存在するか否かを判定してエッジを検出する方法が様々考えられる。また、これらの方法により画像の画素間にエッジが存在するか否かのみならず、エッジの延びる方向（以下略してエッジ方向という）も判定することができる。補間画素を補間する際に、補間画素の近傍にエッジが存在するか否か、どの方向のエッジかなどによって異なる補間演算を行うようにすれば、拡大縮小処理した画像の画質の低下を防ぐことができる。
【特許文献１】特開２００２−３１９０２０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、写真フィルムに記録された画像を光電的に読み取って得たデジタル画像や、デジタル撮像装置により被写体を撮像して得たデジタル画像において、アナログ画像信号をデジタル化するために行われるサンプリング処理により、被写体におけるエッジを含む部分(以下エッジ部という)を表す画素が、該エッジの両側の部分の信号値の中間値を示す画素（以下このような画素を中間値画素という）となる。例えば、図３３（ａ）に示す被写体のデジタル画像のＸ方向において、図３３（ｂ）に示すような画素構成になるが、これらの画素のうち、図３３（ａ）に示す被写体におけるエッジＬを含む部分を表す画素Ｇｂは、エッジＬの左側の部分の信号値と、エッジＬの右側の信号値との中間の信号値を示すこととなる。
【００１３】
一方、画像を拡大縮小するために画像を構成する画素間に補間画素を補間する際に、補間画素の近傍に位置する画素を参照画素とし、参照画素の画素値に対して補間演算を行うことによって補間画素の画素値を求める。図３３(ａ)に示す被写体のデジタル画像を拡大縮小する際に、画素Ｇｂの近傍に補間画素を補間する場合、この補間画素の参照画素として画素Ｇｂが用いられると、補間画素の画素値が中間値画素Ｇｂの画素値に影響されるため、拡大縮小された画像にボケが生じてしまうという問題がある。中間値画素の影響を軽減して画質の良い拡大縮小画像（拡大縮小された画像）を得るためには、まず画像中の画素が中間値画素であるか否かを判定する必要がある。
【００１４】
本発明は、上記事情に鑑みてなされたものであり、画像を構成する画素が中間値画素であるか否かを判定する中間値画素判定方法および装置並びにプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１５】
本発明の第１の中間値画素判定方法は、被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定方法において、
前記デジタル画像上の画素間にエッジが存在するか否かを検出し、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素が前記中間値画素であると判定することを特徴とするものである。
【００１６】
ここで、「デジタル画像」とは、被写体を撮像して得た画像のデジタルデータにより表されるものを意味し、デジタルカメラにより取得したものに限らず、ネガフィルムやカラーリバーサルフィルムなどの写真フィルムに記録された写真画像や、プリントした写真画像などをスキャナなどの読取装置で光電的に読み取って得たものも含むものである。なお、以下の説明において、デジタル写真画像を略して単に画像という。
【００１７】
また、「被写体におけるエッジ部」とは、被写体そのものに存在するエッジを含む部分を意味し、被写体を撮像して得たデジタル写真画像から検出したエッジは、必ずしも「被写体におけるエッジ部」のエッジと一致するとは限らない。例えば、図３３（ａ）に示す例の場合、被写体の左部分と右側部分との境界線Ｌがこの被写体におけるエッジとなるが、図３３（ｂ）に示すように、この被写体を撮像して得たデジタル画像から検出したエッジは、境界線Ｌが間にする２つのエッジまたは境界線Ｌの両側のいずれか一方に位置する１つのエッジとなる可能性がある。
【００１８】
また、「中間値画素」とは、前記被写体におけるエッジ部を表す画素であり、その画素値が該エッジの両側の部分の信号値を表す必要がある画素であるため、必然的に、該エッジの両側の部分の信号値の中間値を示すこととなる。
【００１９】
また、「直列に隣接する３つの画素」とは、同じ直線上に位置する３つの隣接する画素のことを意味し、この「直線」は、画像上の画素の配列方向と同じ方向に伸びる直線のみに限られるものではない。例えば、図３５に示す画像において、画素の配列方向が図示ｘ方向とｙ方向となるが、画素Ｇ２２が間に位置する「隣接する３つの画素」は、まず、画素の配列方向の１つであるｘ方向に直列に隣接するＧ１２、Ｇ２２、Ｇ３２の３つの画素と、画素の配列方向の１つであるｙ方向に直列に隣接するＧ２１、Ｇ２２、Ｇ２３の３つの画素がある。さらに、この２組の３つの画素以外に、Ｇ１１、Ｇ２２、Ｇ３３の３つの画素およびＧ３１、Ｇ３２、Ｇ１３の３つの画素を、本発明における「直列に隣接する３つの画素」にしてもよい。
【００２０】
本発明の第２の中間値画素判定方法は、被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定方法において、
前記デジタル画像上の画素間にエッジが存在するか否かを検出し、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素を、前記中間値画素の候補画素として選別し、
選別された該候補画素を含む前記隣接する３つの画素の画素値を比較し、
比較される前記３つの画素の画素値が該３つの画素が並ぶ方向に沿って単調増加または単調減少するときにのみ、該候補画素が前記中間値画素であると判定することを特徴とするものである。
【００２１】
本発明の第２の中間値画素判定方法において、前記検出により検出された前記エッジの延びる方向を判別し、
前記画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても前記検出により前記エッジが検出され、かつ検出された２つの前記エッジの延びる方向が同じである場合にのみ、前記中央に位置する画素を前記候補画素として選別することが好ましい。
【００２２】
本発明の第１の中間値画素判定装置は、被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定装置において、
前記デジタル画像上の画素間にエッジが存在するか否かを検出するエッジ検出手段と、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素が前記中間値画素であると判定する判定手段とを有することを特徴とするものである。
【００２３】
本発明の第２の中間値画素判定装置は、被写体を撮像して得たデジタル画像から、該被写体におけるエッジ部を表す画素であって、該エッジの両側の部分の信号値の中間値を示す中間値画素を判定する中間値画素判定装置において、
前記デジタル画像上の画素間にエッジが存在するか否かを検出するエッジ検出手段と、
該デジタル画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても該検出により前記エッジが検出された場合、前記３つの画素の中央に位置する画素を、前記中間値画素の候補画素として選別する候補画素選別手段と、
選別された該候補画素を含む前記隣接する３つの画素の画素値を比較し、
比較される前記３つの画素の画素値が該３つの画素が並ぶ方向に沿って単調増加または単調減少するときにのみ、該候補画素が前記中間値画素であると判定する判定手段とを有することを特徴とするものである。
【００２４】
前記エッジ検出手段は、検出された前記エッジの延びる方向を判別するエッジ方向判別手段を有し、前記候補画素選別手段は、前記画像上の直列に隣接する３つの画素の互いに相隣する２つの画素の間のいずれにおいても前記検出により前記エッジが検出され、かつ検出された２つの前記エッジの延びる方向が同じである場合にのみ、前記中央に位置する画素を前記候補画素として選別するものであることが好ましい。
【００２５】
なお、本発明の中間値画素判定方法を、コンピュータに実行させるためのプログラムとして提供してもよい。
【発明の効果】
【００２６】
本発明の第１の中間値画素判定方法および装置によれば、画像上の直列に隣接する３つの画素のうちの中央に位置する画素と、他の２つの画素のいずれとの間にもエッジが検出された場合（説明上の便宜のため、以下、直列に隣接する３つの画素の互いに相隣する２つの画素間のいずれにおいてもエッジが検出された場合のこの２つのエッジを隣接エッジという）、中央に位置する画素が中間値画素であると判定される。例えば図３３（ａ）に示す例の被写体の画像に対して、画素間にエッジが存在するか否かを検出する方法、例えば前述した第２のエッジ検出方法、すなわち直列に隣接する４つの画素に対して１次差分および２次差分を求め、求められた１次差分と２次差分の正負の関係に基づいて、この４つの画素の中央に位置する２つの隣接する画素間にエッジがあるか否かを判定するようにしてエッジを検出する方法を適用すると、図３３（ｂ）に示すように、画素ＧａとＧｂとの間、画素ＧｂとＧｃとの間に夫々エッジＡ、エッジＢが検出される。そして、隣接エッジとなるエッジＡとエッジＢの間の画素Ｇｂが、図３３（ａ）に示す境界線Ｌ（被写体におけるエッジ）の両側の部分の信号値の中間値を示す中間値画素として判定することができる。
【００２７】
本発明の第２の中間値画素判定方法および装置によれば、まず、本発明の第１の中間値画素判定方法および装置により判定された中間値画素が中間値画素の候補画素とされる。そして、候補画素を選別する際に用いたこの候補画素を含む隣接する３つの画素の画素値を比較し、３つの画素の画素値が画素の並ぶ方向に沿って単調増加または単調減少するときにのみ、この候補画素が中間値画素であると判定される。なお、比較される各画素の画素値が、前述の単調増加または単調減少の関係を示さない場合には、候補画素が中間値画素として判定されない。
【００２８】
例えば、図３４（ａ）に示すような、1本の細い線が存在する被写体の画像のＸ方向において、図３４（ｂ）に示すような画素構成になる。この場合、前述した第１のエッジ検出方法、すなわち、隣接する２つの画素間の画素値の差分を求め、この差分の絶対値が、所定の閾値以上であるときに、この２つの画素間にエッジが存在すると判定するようにしてエッジを検出する前述した第１のエッジ検出方法を適用すると、画素Ｇ’ａと画素Ｇ’ｂとの間、画素Ｇ’ｂと画素Ｇ’ｃとの間にも夫々エッジＡ’とエッジＢ’が検出される。本発明の第１の中間値画素判定方法および装置によれば、中央に位置する画素Ｇ’ｂが中間値画素とされるが、この場合において、候補画素Ｇ’ｂが細い線を示す画素であって、中間値画素ではない。前述した第４のエッジ検出方法を用いた場合にも、このような誤判定が起きる可能性がある。一方、エッジを検出する方法として前述した第２または第３のエッジ検出方法を適用すると、画素Ｇ’ａとＧ’ｂの間、画素Ｇ’ｂとＧ’ｃとの間にエッジが検出されないため、本発明の第１の中間値画素判定方法および装置において、画素Ｇ’ｂが中間値画素として誤判定されることがない。すなわち、本発明の第１の中間値画素判定方法および装置は、中間値画素を検出することができるが、画像上の画素間にエッジが存在するか否かを検出する方法によっては、中間値画素ではない画素を中間値画素として誤判定する可能性がある。これに対し、本発明の第２の中間値画素判定方法および装置は、隣接エッジ間の画素を候補画素とし、候補画素の画素値と、その前後の画素の画素値とを比較して画素値の変化形態に基づいて候補画素が中間値画素であるか否かの判定を行うようにしているので、図３４（ｂ）に示す例における画素Ｇ’ｂを中間値画素として誤判定することがなく、隣接する２つの画素間にエッジが存在するか否かを検出するエッジ検出方法に依存せず、より正確に中間値画素を検出することができる。
【００２９】
また、本発明の第２の中間値画素判定方法および装置において、エッジの延びる方向を判別し、２つの隣接エッジが、同じ方向に延びる場合にのみ、この２つの隣接エッジ間の画素を中間値画素の候補画素とするようにすれば、より中間値画素の判定の精度を高めることができる。
【００３０】
なお、本発明のプログラムは、本発明の中間値画素判定方法をコンピュータに実行させることができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照して、本発明の実施形態について説明する。
【００３２】
図１は、本発明の第１の実施形態による画像拡大縮小装置の構成を示すブロック図である。図示のように、本実施形態による画像拡大縮小装置は、画像データＳ０および画像データＳ０の拡大縮小率Ｋの入力を受け付ける入力部１と、エッジ検出部１０と、中間値画素判定部２０と、補間画素の画素値を算出する補間演算部３０と、入力部１、エッジ検出部１０、中間値画素判定部２０および補間演算部３０の動作を制御する制御部５０とを備える。
【００３３】
ここで、画像データＳ０により表される画像は、図２に示すように２次元状に画素が並んで構成されてなるものであり、以下の説明においては、図２に示すようにｘ方向およびｙ方向を定めるものとする。なお、以下の説明において、画像データと、画像データにより表される画像とについて特に区別せず、参照符号も同じもの（ここではＳ０）を付与する。
【００３４】
図３は、本実施形態の画像拡大縮小装置におけるエッジ検出部１０の構成を示すブロック図である。図示のように、エッジ検出部１０は、フィルタリング部１２と、隣接する２つの画素間にエッジが存在するか否かを判定する判定部１４とを備えてなる。
【００３５】
フィルタリング部１２は、以下のようにしてフィルタリング処理を行う。フィルタリング部１２は、図４に示すように、画像Ｓ０のｘ方向およびｙ方向の夫々について一列毎に、隣接する２つの画素Ｇ２、Ｇ３およびこの２つの画素Ｇ２、Ｇ３の夫々に隣接する２つの画素からなる直列に隣接する４つの画素Ｇ１〜Ｇ４について、互いに隣接する２つの画素からなる３つの画素ペア（Ｇ１，Ｇ２）、（Ｇ２，Ｇ３）、（Ｇ３，Ｇ４）に対して差分フィルタによるフィルタリング処理を施して、画素ペア（Ｇ１，Ｇ２）、（Ｇ２，Ｇ３）、（Ｇ３，Ｇ４）の画素値の差分を１次差分ｄ１、ｄ２、ｄ３として算出する。
【００３６】
図５は、差分フィルタの例を示す図である。図５に示すように、本実施形態において使用される差分フィルタは、フィルタ値が（−１，１）の２タップのフィルタである。なお、差分フィルタは、これに限られるものではなく、画素ペアの２つの画素値の重み付け差分を求めるフィルタ値を有するフィルタや、２タップ以上の偶数タップ数を有するものを用いてもよい。
【００３７】
続いて、フィルタリング部１２は、３つの１次差分ｄ１、ｄ２、ｄ３における隣接する２つの１次差分ペア（ｄ１，ｄ２）および（ｄ３，ｄ４）に対して同様に図５に示す差分フィルタによるフィルタリング処理を施して、１次差分ペア（ｄ１，ｄ２）および（ｄ３，ｄ４）の差分を２次差分ｄ４、ｄ５として算出する。
【００３８】
さらに、フィルタリング部１２は、直列に隣接する４つの画素Ｇ１〜Ｇ４の中央の２つの画素からなる画素ペア（Ｇ２，Ｇ３）に対してフィルタリング処理を施して、画素ペア（Ｇ２，Ｇ３）の画素値の差分ｄ０（＝ｄ２）を算出する。なお、上記１次差分ｄ２をそのまま差分ｄ０として用いてもよい。
【００３９】
判定部１４は、第１の判定として、１次差分ｄ１、ｄ２、ｄ３および２次差分ｄ４、ｄ５の正負の関係に基づいて、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在するか否かを判定する。
【００４０】
図６から図８は、直列に隣接する４つの画素の１次差分ｄ１、ｄ２、ｄ３および２次差分ｄ４、ｄ５の正負と、直列に隣接する４つの画素のプロファイル形状との関係を示す表である。直列に隣接する４つの画素の１次差分ｄ１、ｄ２、ｄ３および２次差分ｄ４、ｄ５の正負は全１８種類の組合せがある。隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在する組合せは、図６に示すエッジ１およびエッジ２の２通りである。エッジ１は、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（＋，＋，＋，＋，−）となる右上がりエッジおよび（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（−，−，−，−，＋）となる左上がりエッジの２種類があり、エッジ２は、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（＋，＋，＋，＋，＋）となる下に凸の右上がりエッジ、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（＋，＋，＋，−，−）となる上に凸の右上がりエッジ、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（−，−，−，＋，＋）となる下に凸の左上がりエッジ、（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（−，−，−，−，−）となる上に凸の左上がりエッジの４種類がある。
【００４１】
判定部１４は、図６から図８に示す表を記憶しており、直列に隣接する４つの画素の１次差分ｄ１、ｄ２、ｄ３および２次差分ｄ４、ｄ５の正負の関係が、図６に示すエッジ１またはエッジ２の関係となる場合に、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在すると判定すると共に、これらの差分の正負の関係が、図７および図８に示すような山、谷、その他の関係となる場合に、隣接する２つの画素Ｇ２、Ｇ３の間にエッジが存在しないと判定する。
【００４２】
さらに判定部１４は、第２の判定として、前述の第１の判定によりエッジが存在すると判定された場合に、画素Ｇ２、Ｇ３の画素値の差分ｄ０の絶対値が所定の閾値Ｔｈ１以上であるか否かを判定し、第２の判定が肯定されると、そこに真のエッジが存在すると判定する。一方、第２の判定が否定されると、そこに真のエッジが存在しないと判定する。このように第２の判定を行うのは、第１の判定においてエッジが存在すると判定されても、例えば図９に示すように、画素Ｇ２、Ｇ３の画素値の差が非常にわずかでノイズと見なせるような場合に、そこはエッジであるとして補間演算部３０が後述するようにエッジ部分に適した補間演算を行い、かえってノイズが強調されてしまうことを防止するためである。このように各隣接する２つの画素間に対して判定がなされると、エッジ検出部１０は、判定結果を中間値画素判定部２０および補間演算部３０に出力する。
【００４３】
中間値画素判定部２０は、エッジ検出部１０により検出された各エッジのうち、隣接エッジ、すなわち、間に１つの画素しかない１対のエッジを検出する共に、検出された隣接エッジ間の１つの画素を中間値画素として判定して、判定の結果を補間演算部３０に出力する。
【００４４】
図１０は、補間演算部３０の構成を示すブロック図である。図示のように、補間演算部３０は、境界設定部３２、判定部３４および演算部３６を備え、エッジ検出部１０および中間値画素判定部２０の判定結果に応じて、画像Ｓ０における画素の間に位置する補間画素Ｐの画素値を算出する。以下、補間演算部３０の詳細について説明する。
【００４５】
補間演算部３０は、補間画素Ｐが間に位置する２つの隣接する画素の間がエッジでないと判定された場合、バイキュービック法を用いて補間画素Ｐの画素値を算出する。
【００４６】
ここで、バイキュービック法は３次補間の１手法であり、補間画素Ｐの近傍の１６画素を用いて補間画素Ｐの画素値を求める方法である。以下、バイキュービック法について説明する。
【００４７】
図１１は、バイキュービック法を説明するための図である。図示のように点Ｐを補間画素Ｐの位置とした場合、図１１中黒丸で示される画素は第１次近傍、白丸で示される画素は第２次近傍と称される。第１次近傍および第２次近傍の夫々について、下記の式（１）に示すようにｘ方向およびｙ方向に夫々に独立に距離ｄｘ、ｄｙ（式（１）においては単にｄと示す）に対して重みＷｘ、Ｗｙを求め、最終的にその画素に対する重みＷ＝ＷｘＷｙを得る。
【数１】
2005141303.tif 000003
【００４８】
例えば、図１１における（−１，−１）の画素（第２次近傍）に対して、重みＷｘ、Ｗｙ、Ｗを求めると、
【数２】
2005141303.tif 000004
【００４９】
となる。
【００５０】
そして、Ｗ（ｉ，ｊ）を画素（ｉ，ｊ）の重み、ｆ（ｉ，ｊ）を画素（ｉ，ｊ）の画素値とすると、補間画素Ｐの画素値ｆ’（Ｐ）は、
【数３】
2005141303.tif 000005
【００５１】
により算出することができる。
【００５２】
なお、本実施形態においては、バイキュービック法をｘ方向またはｙ方向の１次元方向にのみ適用して、補間画素Ｐの画素値を算出するものとする。
【００５３】
一方、エッジであると判定された部分については、補間演算部３０は以下のようにして補間画素Ｐの画素値を求める。まず、このエッジを挟む２つの隣接する画素のいずれも、中間値画素判定部２０において中間値画素ではないと判定された場合について説明する。図１２は、エッジであると判定された部分についての画素値のプロファイルを示す図である。なお、図１２において、水平方向が画素が並ぶ方向であり、垂直方向が画素値の大きさを示す方向である。２つの隣接する画素Ｇ２、Ｇ３の間にエッジが存在すると判定された場合、その２つの画素にさらに夫々隣接する２つの画素Ｇ１、Ｇ４を加えた直列に隣接する４つの画素Ｇ１〜Ｇ４の画素値のプロファイルは、図１２（ａ）または図１２（ｂ）に示すものとなる。
【００５４】
プロファイルが図１２（ａ）に示すステップエッジ形状をなす場合、境界設定部３２は、画素が並ぶ方向において画素Ｇ２、Ｇ３間の距離を２等分する中線Ｍ（一点鎖線）を境界線として設定する。そして、判定部３４は補間画素Ｐが境界線Ｍの右側に存在するか左側に存在するかを判定し、境界線Ｍの右側に補間画素（Ｐ１とする）が存在する場合には、演算部３６は画素Ｇ３、Ｇ４を結ぶ直線の延長線上の値を補間画素Ｐ１の画素値として算出する。また、境界線Ｍの左側に補間画素（Ｐ２とする）が存在する場合には、演算部３６は、画素Ｇ１、Ｇ２を結ぶ直線の延長線上の値を補間画素Ｐ２の画素値として算出する。
【００５５】
プロファイルが図１２（ｂ）に示すエッジ形状をなす場合、境界設定部３２は画素Ｇ１、Ｇ２を結ぶ直線の延長線と、画素Ｇ３、Ｇ４を結ぶ直線の延長線との交点Ｃを境界点として設定する。そして、判定部３４は補間画素Ｐが境界点Ｃの右側に存在するか左側に存在するかを判定し、境界点Ｃの右側に補間画素Ｐ１が存在する場合には、演算部３６は画素Ｇ３、Ｇ４を結ぶ直線の延長線上の値を補間画素Ｐ１の画素値として算出する。また、境界点Ｃの左側に補間画素Ｐ２が存在する場合には、演算部３６は、画素Ｇ１、Ｇ２を結ぶ直線の延長線上の値を補間画素Ｐ２の画素値として算出する。
【００５６】
なお、ここでは２つの画素の画素値のみを用いて補間画素Ｐの画素値を算出しているが、３以上の画素値を用いてもよい。この場合、画素を直線で結ぶことが困難な場合がある。そのため、スプライン曲線などの任意の関数により規定される曲線により画素を結び、その曲線の延長線上の値を補間画素Ｐの画素値とすればよい。
【００５７】
次いで、エッジであると判定された部分については、このエッジを挟む２つの隣接する画素のいずれか一方が、中間値画素判定部２０において中間値画素であると判定された場合において、補間演算部３０による補間画素の画素値の算出について説明する。
【００５８】
まず、この場合において隣接エッジを夫々挟む画素となる３つの画素および、この３つの画素のうち、隣接エッジの外側に位置する２つの画素の夫々と隣接する画素となる２つの画素の画素値のプロファイルについて説明する。図１３（ａ）は、１対の隣接エッジのが、夫々図６に示すエッジ１における（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（＋，＋，＋，＋，−）の種類に属するエッジと、図６に示すエッジ２における（ｄ１，ｄ２，ｄ３，ｄ４，ｄ５）＝（＋，＋，＋，−，−）の種類に属するエッジである場合の上述したプロファイルの例を示す図である。図１３（ａ）に示す例の場合には、エッジ検出部１０において、隣接する画素Ｇ２、Ｇ３の間、隣接する画素Ｇ３、Ｇ４の間に夫々エッジが検出されていると共に、中間値画素判定部２０においては、画素Ｇ３が中間値画素として判定されている。
【００５９】
ここで、まず補間画素が画素Ｇ２とＧ３の間に位置するときに、画素Ｇ３が中間値画素として判断されたとしても、画素Ｇ３が中間値画素ではない場合と同じ方法により補間画素の画素値を求める際の結果について説明する。この場合、図１３（ｂ）に示すように、画素Ｇ１、Ｇ２、Ｇ３、Ｇ４が並ぶ方向において画素Ｇ２、Ｇ３間の距離を２等分する中線Ｍ’（一点鎖線）が境界線として設定される。そして、境界線Ｍ’の右側に補間画素（Ｐ１Ａとする）が存在する場合には、画素Ｇ３、Ｇ４を結ぶ直線の延長線上の値を補間画素Ｐ１Ａの画素値として算出される。また、境界線Ｍ’の左側に補間画素（Ｐ２Ａとする）が存在する場合には、画素Ｇ１、Ｇ２を結ぶ直線の延長線上の値が補間画素Ｐ２Ａの画素値として算出される。
【００６０】
同様に、補間画素が画素Ｇ３とＧ４の間に位置するときに、画素Ｇ３が中間値画素として判断されたとしても、画素Ｇ３が中間値画素ではない場合と同じ方法により補間画素の画素値を求めると、画素Ｇ２、Ｇ３を結ぶ直線の延長線と、画素Ｇ４、Ｇ５を結ぶ直線の延長線との交点Ｃ’が境界点として設定される。そして、境界点Ｃ’の右側に補間画素（Ｐ１Ｂとする）が存在する場合には、画素Ｇ４、Ｇ５を結ぶ直線の延長線上の値が補間画素Ｐ１Ｂの画素値として算出される。また、境界点Ｃ’の左側に補間画素（Ｐ２Ｂとする）が存在する場合には、画素Ｇ２、Ｇ３を結ぶ直線の延長線上の値が補間画素Ｐ２Ｂの画素値として算出する。
【００６１】
中間値画素Ｇ３が既にボケた画素であるため、中間値画素Ｇ３を参照画素として用いて補間画素（Ｐ１ＡおよびＰ２Ｂ）の画素値を求めると、中間値画素Ｇ３の影響により補間画素Ｐ１ＡおよびＰ２Ｂもボケた画素となり、結果的に拡大縮小された画像の中にボケが残ってしまい、最悪はボケが拡大されてしまうという問題がある。
【００６２】
そこで、本実施形態において、補間演算部３０は、中間値画素が検出された場合において、この中間値画素の画素値を用いて補間画素の画素値を求めることを避け、拡大縮小された画像の画質を高めるため、下記のように補間画素の画素値を求める。具体的には、まず、境界設定部３２は、境界を設定する。図１３（ａ）の例に示すように画素Ｇ３が中間値画素として判定されると、境界設定部３２は、画素Ｇ２とＧ３の間、画素Ｇ３とＧ４の間に境界線または境界点を設定せず、図１３（ｃ）に示すように、画素Ｇ３を通る垂直線（図示一点鎖線）Ｍを境界線として設定する。そして、判定部３４は補間画素が境界線Ｍの右側に存在するか左側に存在するかを判定し、境界線Ｍの右側に補間画素（Ｐ１Ｂ、Ｐ２Ｂ）が存在する場合には、演算部３６は画素Ｇ４、Ｇ５を結ぶ直線の延長線上の値を補間画素の画素値として算出する。また、境界線Ｍの左側に補間画素（Ｐ１Ａ、Ｐ２Ａ）が存在する場合には、演算部３６は、画素Ｇ１、Ｇ２を結ぶ直線の延長線上の値を補間画素の画素値として算出する。
【００６３】
なお、ここでも、２つの画素の画素値のみを用いて補間画素の画素値を算出しているが、３以上の画素値を用いてもよい。この場合、画素を直線で結ぶことが困難な場合がある。そのため、スプライン曲線などの任意の関数により規定される曲線により画素を結び、その曲線の延長線上の値を補間画素の画素値とすればよい。
【００６４】
このようにして算出された補間画素の画素値が、中間値画素に影響されていないものとなる。図１３（ｂ）と図１３（ｃ）における補間画素の画素値を比較すると分かるように、図１３（ｃ）における補間画素Ｐ１Ａの画素値が、図１３（ｂ）における補間画素Ｐ１Ａの画素値より小さく、図１３（ｃ）における補間画素Ｐ２Ｂの画素値が、図１３（ｂ）における補間画素Ｐ２ｂの画素値より大きい。そのため、元々被写体に存在するエッジが画素Ｇ２とＧ４との間にあるため、補間画素により構成された画像において、画素Ｇ２とＧ４との間のエッジがボケず、拡大縮小された画像の画質が良い。
【００６５】
なお、以下の説明において、エッジが存在しない部分に位置する補間画素の画素値を求める演算（バイキュービック法による演算）を第１の補間演算、エッジが存在するが、該エッジを挟む２つの隣接する画素のいずれも中間値画素ではない部分に位置する補間画素の画素値を求める演算を第２の補間演算、エッジが存在し、かつ該エッジが挟む２つの隣接する画素のうちのいずれか１つのみが中間値画素である部分に位置する補間画素の画素値を求める演算を第３の補間演算という。
【００６６】
次いで、本実施形態において行われる処理について説明する。図１４は、本実施形態において行われる処理を示すフローチャートである。なお、本実施形態において、補間画素Ｐは、画像Ｓ０の画素の間に存在するものとする。まず、入力部１が、拡大縮小する画像データＳ０および画像データの拡大縮小率Ｋの入力を受け付ける（Ｓ１）。そして、画素を補間する方向をまずｘ方向に設定する（Ｓ２）。次いで、拡大縮小率Ｋに応じた最初の補間画素Ｐ（例えば拡大縮小された画像Ｓ１上の左上に位置する画素）について、エッジ検出部１０のフィルタリング部１２がその補間画素Ｐが間に位置する直列に隣接する４つの画素Ｇ１〜Ｇ４からなる画素列Φを図１８に示すように設定する（Ｓ３）。設定された画素列Φの各々の画素の画素値を用いて、画素Ｇ２、Ｇ３の間にエッジがあるか否かが検出される（Ｓ１０）。ここで、ステップＳ１０において行われるエッジ検出処理Ａの詳細について後述する。ステップＳ１０において、画素Ｇ２とＧ３の間にエッジがないと判定されると（Ｓ２０：Ｎｏ）、補間演算部３０は、第１の補間演算Ｂ１、すなわち前述したバイキュービック法による補間演算を行って、補間画素Ｐの画素値を算出する（Ｓ３０）。
【００６７】
一方、ステップＳ１０において、画素Ｇ２とＧ３の間にエッジがあると判定されると（Ｓ２０：Ｙｅｓ）、エッジ検出部１０のフィルタリング部１２は、画素列Φを左右夫々１つ画素分ずらして得た図１８に示す画素列Φ１（Ｇ０〜Ｇ３）および画素列Φ２（Ｇ２〜Ｇ５）を設定する（Ｓ４０）。設定された２つの画素列Φ１、Φ２に対して、エッジ検出部１０によるエッジ検出処理Ａが行われ、画素Ｇ１とＧ２の間、画素Ｇ３とＧ４の間にエッジがあるか否かが検出される（Ｓ４２）。そして、画素Ｇ２とＧ３との間にエッジがあり、画素Ｇ１とＧ２の間および画素Ｇ３とＧ４の間に夫々エッジが存在するか否かの検出結果が補間演算部３０および中間値画素判定部２０に出力される。中間値画素判定部２０は、画素Ｇ１とＧ２の間、および画素Ｇ３とＧ４の間のいずれにもエッジが検出されていない場合（Ｓ４４：Ｎｏ）、画素Ｇ２、Ｇ３のいずれも中間値画素ではないと判定する（Ｓ４６）。また、中間値画素判定部２０は、画素Ｇ１とＧ２の間、および画素Ｇ３とＧ４の間のうちの片方においてのみエッジが検出された場合（Ｓ４４：Ｙｅｓ、Ｓ６０：Ｎｏ）、Ｇ２とＧ３の間のエッジと、Ｇ１とＧ２の間または画素Ｇ３とＧ４の間に検出されたエッジとにより挟まれた画素（図１８の例の場合、Ｇ２またはＧ３）を中間値画素である判定する（Ｓ６７）。また、中間値画素判定部２０は、画素Ｇ１とＧ２の間、および画素Ｇ３とＧ４の間のいずれにおいてもエッジが検出された場合（Ｓ４４：Ｙｅｓ、Ｓ６０：Ｙｅｓ）、画素Ｇ２、Ｇ３のいずれも中間値画素ではないと判定する（Ｓ６５）。
【００６８】
ステップＳ４６、ステップＳ６７、ステップＳ６５において、中間値画素判定部２０より判定された結果が、補間演算部３０に出力され、補間演算部３０は、エッジ検出部１０による検出結果および中間値画素判定部２０による判定結果に応じて、補間演算を行って画素Ｐの画素値を算出する。具体的には、画素Ｇ２とＧ３の間にエッジがあり、かつＧ２とＧ３のいずれも中間値画素ではない場合（Ｓ２０：Ｙｅｓ、Ｓ４４：Ｎｏ、Ｓ４６）、補間演算部３０は、第２の補間演算Ｂ２（その詳細について後述する）を行って補間画素Ｐの画素値を算出する（Ｓ５０）。また、画素Ｇ２とＧ３の間にエッジがあり、かつＧ２とＧ３のいずれかの片方のみが中間値画素である場合（Ｓ２０：Ｙｅｓ、Ｓ４４：Ｙｅｓ、Ｓ６０：Ｎｏ、Ｓ６７）、補間演算部３０は、第３の補間演算Ｂ３（その詳細について後述する）を行って補間画素Ｐの画素値を算出する（Ｓ７０）。また、画素Ｇ２とＧ３の間にエッジがあり、かつＧ２とＧ３のいずれも中間値画素である場合（Ｓ２０：Ｙｅｓ、Ｓ４４：Ｙｅｓ、Ｓ６０：Ｙｅｓ、Ｓ６５）、補間演算部３０は、第１の補間演算Ｂ１、すなわちバイキュービック法による補間演算を行って補間画素Ｐの画素値を算出する（Ｓ３０）。ここで、画素Ｇ２とＧ３の間にエッジがあり、かつＧ２とＧ３のいずれも中間値画素である場合において第１の補間演算Ｂ１により補間画素の画素値を算出するのは、画素Ｇ２とＧ３の間にエッジがあり、かつＧ２とＧ３のいずれも中間値画素である場合、すなわち隣接するエッジが３つ続いた場合、夫々のエッジが被写体におけるエッジによるものではなく、グラデーションによるものである可能性が高いため、画素Ｇ２とＧ３の間にエッジが存在しないと判定することができるからである。
【００６９】
図１５は、エッジ検出部１０によるエッジ検出処理Ａを示すフローチャートである。図示のように、設定された画素列（図１８に示す画素列Φまたは画素列Φ１または画素列Φ２）に対して、エッジ検出部１０のフィルタリング部１２は、画素列に含まれる４つの画素に対して１次差分ｄ１、ｄ２、ｄ３および２次差分ｄ４、ｄ５を算出する（Ｓ１１）。また、フィルタリング部１２は、画素列の中央に位置する２つの画素に対してもフィルタリング処理を施して差分ｄ０（＝ｄ２）を算出する（Ｓ１２）。そして、判定部１４は、１次差分ｄ１、ｄ２、ｄ３および２次差分ｄ４、ｄ５の正負の組合せに基づいて、中央に位置する２つの画素間にエッジが存在するか否かを判定する（第１の判定、Ｓ１３）。ステップＳ１３における第１の判定が肯定されると（Ｓ１３：Ｙｅｓ）、判定部１４は、差分ｄ０の絶対値が所定の閾値Ｔｈ１以上であるか否かを判定する（Ｓ１４、第２の判定）。ステップＳ１４における第２の判定が肯定されると（Ｓ１４：Ｙｅｓ）、判定部１４は、中央の２つの画素の間にエッジが存在すると判定する（Ｓ１５）。一方、ステップＳ１３における第１の判定が否定されると（Ｓ１３：Ｎｏ）、およびステップＳ１４における第２の判定が否定されると（Ｓ１４：Ｎｏ）、判定部１４は、中央の２つの画素間にエッジがないと判定する（Ｓ１６）。
【００７０】
図１６は、第２の補間演算Ｂ２の処理を示すフローチャートである。図示のように、補間演算部３０の境界設定部３２は、補間画素Ｐが間に存在する２つの隣接する画素間に境界線または境界点を境界として設定する（Ｓ５２）。判定部３４は、補間画素Ｐが境界のいずれかの側にあるかを判定し（Ｓ５４）、演算部３６は、境界に対して、補間画素Ｐが存在する側と同じ側の画素のみを用いて補間演算を行って補間画素Ｐの画素値を得る（Ｓ５６）。
【００７１】
図１７は、第３の補間演算Ｂ３の処理を示すフローチャートである。図示のように、補間演算部３０の境界設定部３２は、補間画素Ｐが間に存在する２つの隣接する画素のうちの、中間値画素である画素を通る垂直な線を境界として設定する（Ｓ７２）。判定部３４は、補間画素Ｐが境界のいずれかの側にあるかを判定し（Ｓ７４）、演算部３６は、境界に対して、補間画素Ｐが存在する側と同じ側の画素のみを用いて補間演算を行って補間画素Ｐの画素値を得る（Ｓ７６）。
【００７２】
図１４に戻り、制御部５０は、設定された補間方向について全ての補間画素Ｐについて画素値を算出したか否かを判定し（Ｓ８４）、ステップＳ８４が否定されると、画素値を算出する補間画素Ｐを次の補間画素Ｐに設定し（Ｓ８６）、ステップＳ３からの処理に戻る。
【００７３】
一方、ステップＳ８４が肯定されると、制御部５０は、全ての補間画素の画素値の算出が終了した補間方向がｘ方向であるかｙ方向であるかを判定する（Ｓ９０）。全ての補間画素の画素値の算出が終了した補間方向がｘ方向である場合（Ｓ９０：Ｎｏ）、補間方向をｙ方向に設定し（Ｓ９２）、ステップＳ３からの処理に戻る。一方、全ての補間画素の画素値の算出が終了した補間方向がＹ方向である場合（Ｓ９０：Ｙｅｓ）、補間画素Ｐからなる拡大縮小された画像データＳ１を出力し（Ｓ９４）、処理を終了する。
【００７４】
図１９は本発明の第２の実施形態による画像拡大縮小装置の構成を示すブロック図である。図示のように、本実施形態による画像拡大縮小装置は、画像データＳ０および画像データＳ０の拡大縮小率Ｋの入力を受け付ける入力部１０１、画像中の画素間にエッジが存在するか否かを検出するエッジ検出部１１０、中間値画素判定部１２０、補間画素の画素値を算出する補間演算部１３０、並びに入力部１０１、エッジ検出部１１０、中間値画素判定部１２０、および補間演算部１３０の動作を制御する制御部１５０を備える。以下各構成の詳細について説明する。
【００７５】
図２０に示すように、エッジ検出部１１０は、フィルタリング部１１２と、判定部１１４と、エッジパターン分類部１１６とを備えてなる。フィルタリング部１１２は、まず画像Ｓ０上に補間画素Ｐの近傍に位置する４×４の１６画素（図２２に示す１６画素Ｐ（ｉ，ｊ）（ｉ，ｊ＝−１〜２）。以下補間画素Ｐの１６画素という）に対して、互いに隣接する２つの画素からなる各画素ペアに対して図５に示す差分フィルタによるフィルタリング処理を施して夫々の画素ペアの差分（以下隣接画素ペアの差分をｄという）を算出する。なお、ここで互いに隣接する２つの画素とは、Ｐ（−１，０）とＰ（０，０）の２つの画素、またはＰ（−１，−１）とＰ（−１，０）の２つの画素のような、画素配列方向のｘ方向またはｙ方向において隣接する２つの画素に限らず、Ｐ（−１，−１）とＰ（０，０）の２つの画素や、Ｐ（０，１）とＰ（１，０）のような、２×２画素の対角線方向において隣接する２つの画素も含むものである。
【００７６】
判定部１１４は、各画素ペアの差分ｄの絶対値が所定の閾値Ｔｈ以上であるか否かの判定を行い、この判定が肯定されると、該差分が対応する画素ペアの２つの画素の間にエッジが存在すると判定し、判定結果をエッジパターン分類部１１６に出力する。
【００７７】
また、エッジが存在すると判定された画素ペアの２つの画素の１方が、図２２に示す補間画素Ｐを囲む４×４の１６画素のうちの最も外辺に位置する画素（図２２の場合、Ｐ（−１，―１）、Ｐ（０，−１）、Ｐ（１，−１）、Ｐ（２，ー１）、Ｐ（２，０）、Ｐ（２，１）、Ｐ（２，２）、Ｐ（１，２）、Ｐ（０，２）、Ｐ（−１，２）、Ｐ（−１，１）、Ｐ（−１，０）の１２個の画素、以下外辺画素という）である場合、フィルタリング部１１２は、補間画素Ｐの１６画素に含まれないが、この外辺画素と隣接する各画素に対して、該画素が属する２×２画素グループの互いに隣接する２つの画素の差分を求め、判定部１１４は、差分が求められた画素ペア間にエッジが存在するか否かを判定する。
【００７８】
例えば、図２２に示すように、画素Ｐ（２，２）が、画素Ｐ（１，１）のいずれかの画素との間にエッジが存在すると判定された場合、画素Ｐ（２，２）が外辺画素であるため、それに隣接して、補間画素Ｐの１６画素に含まれない画素としては、Ｐ（３，１）、Ｐ（３，２）、Ｐ（３，３）、Ｐ（２，３）、Ｐ（１，３）がある（図中▲）。この場合、Ｐ（２，１）とＰ（３，１）、Ｐ（２，１）とＰ（３，２）、Ｐ（３，１）とＰ（３，２）、Ｐ（３，１）とＰ（２，２）、Ｐ（３，２）とＰ（２，２）、およびＰ（２，２）とＰ（２，３）、Ｐ（２，２）とＰ（３，３）、Ｐ（３，２）とＰ（３，３）、Ｐ（３，２）とＰ（２，３）、Ｐ（３，３）とＰ（２，３）、およびＰ（１，２）とＰ（１，３）、Ｐ（１，２）とＰ（２，３）、Ｐ（２，２）とＰ（１，３）、Ｐ（２，２）とＰ（２，３）、Ｐ（１，３）とＰ（２，３）の各画素ペアに対して、画素ペアの２つの画素の差分が求められ、これらの画素ペア間にエッジが存在するか否かが判定される。
【００７９】
また、例えば、画素Ｐ（２，２）と画素Ｐ（１，２）との間にエッジが存在すると判定された場合、画素Ｐ（１，２）も外辺画素であるため、上記と同じ処理が画素Ｐ（１，２
）に対しても行われる。画素Ｐ（２，２）と画素Ｐ（２，１）との間にエッジが存在すると判定された場合において、画素Ｐ（２，１）に対しても同じ処理が行われる。なお、これらの処理の結果もエッジパターン分類部１１６に出力される。
【００８０】
エッジパターン分類部１１６は、判定部１１４から出力されてきた判定結果に基づいて、各２×２の４つの画素内のエッジパターンを分類する。ここで、まず、画素Ｐ（０，０）、Ｐ（１，０）、Ｐ（１，１）、Ｐ（０，１）の４つの画素について説明する。図２３に示すように、エッジパターン分類部１１６は、エッジが存在する画素間の中点を結ぶ直線に応じてエッジパターンを分類する。図２４から図２６は、エッジが存在する位置に応じたエッジパターンを示す図である。図２４から図２６に示すように、エッジが存在する位置に応じてエッジパターンはパターン０〜パターン８の９種類のパターンに分類される。
【００８１】
なお、間ｅ１，ｅ２，ｅ３，ｅ４にエッジが存在する場合、および間ｅ１，ｅ２，ｅ３，ｅ４，ｅ５，ｅ６にエッジが存在する場合は、エッジパターンはパターン７であるのかパターン８であるのかが分からない。このため、エッジパターン分類部１１６は、間ｅ１，ｅ２，ｅ３，ｅ４にエッジが存在する場合、および間ｅ１，ｅ２，ｅ３，ｅ４，ｅ５，ｅ６にエッジが存在する場合には、さらに画素Ｐ（０，０）と画素Ｐ（１，１）の画素値の差分の絶対値（｜ｄ１１｜とする）および画素（０，１）と画素（１，０）の画素値の差分の絶対値（｜ｄ１２｜とする）を算出し、｜ｄ１１｜＜｜ｄ１２｜の場合にはエッジパターンをパターン７に分類し、｜ｄ１１｜≧｜ｄ１２｜の場合にはエッジパターンをパターン８に分類する。
【００８２】
そしてエッジパターン分類部１１６は、このようなエッジパターン分類処理を各２×２の４つの画素に対して行い、分類の結果を中間値画素判定部１２０および補間演算部１３０に出力する。図２７は、エッジパターン分類部１１６による分類の結果の一例を示すものであり、この例では、図示黒太枠内において、補間画素Ｐに隣接する４つの画素内のエッジパターンがパターン４、４つの画素Ｐ（−１，−１）、Ｐ（０，−１）、Ｐ（０，０）、Ｐ（−１，０）内のエッジパターンがパターン０、４つの画素Ｐ（０，−１）、Ｐ（１，−１）、Ｐ（１，０）、Ｐ（０，０）内のエッジパターンがパターン５、４つの画素Ｐ（１，−１）、Ｐ（２，−１）、Ｐ（２，０）、Ｐ（１，０）内のエッジパターンがパターン０、４つの画素Ｐ（−１，０）、Ｐ（０，０）、Ｐ（０，１）、Ｐ（−１，１）内のエッジパターンがパターン２、４つの画素Ｐ（１，０）、Ｐ（２，０）、Ｐ（２，１）、Ｐ（１，１）内のエッジパターンがパターン０、４つの画素Ｐ（−１，１）、Ｐ（０，１）、Ｐ（０，２）、Ｐ（−１，２）内のエッジパターンがパターン４、４つの画素Ｐ（０，１）、Ｐ（１，１）、Ｐ（１，２）、Ｐ（０，２）内のエッジパターンがパターン０、および４つの画素Ｐ（１，１）、Ｐ（２，１）、Ｐ（２，２）、Ｐ（１，２）内のエッジパターンがパターン０である。また、黒太枠外については、４つの画素Ｐ（−１，−２）、Ｐ（−１，−１）、Ｐ（０，−１）、Ｐ（０，−２）内においてパターン５、４つの画素Ｐ（−２，１）、Ｐ（−２，２）、Ｐ（−１，２）、Ｐ（−１，１）内においてパターン２、４つの画素Ｐ（−２，２）、Ｐ（−２，３）、Ｐ（−１，３）、Ｐ（−１，２）内においてパターン１、４つの画素Ｐ（−１，２）、Ｐ（−１，３）、Ｐ（０，３）、Ｐ（０，２）においてパターン３となり、他の４つの画素内においてはパターン０となっている。図２７中の点線はこれらのエッジパターンを示すものである。なお、図２７に示すように補間画素Ｐを囲む１６画素内（図示黒太枠内）の領域はエッジにより２つの領域Ａ１，Ａ２に分割される。なお、領域Ａ２を斜線で示す。
【００８３】
図２１は、中間値画素判定部１２０の構成を示すブロック図である。図示のように、中間値画素判定部１２０は、図２２に示す補間画素Ｐを囲む４×４の１６画素のうち、中間値画素の候補画素となる画素を選別する候補画素選別部１２２と、候補画素選別部１２２により選別された候補画素に、その前後の１つずつの画素を加えてなる３つの画素の画素値を比較する画素値比較部１２４と、画素値比較部１２４の比較結果に基づいてこの候補画素が中間値画素であるか否かの判定を行って判定の結果を補間演算部１３０に出力する判定部１２６とを備えてなる。具体的には、候補画素選別部１２２は、補間画素Ｐを囲む４×４の１６画素の夫々に対して、まず、この画素を中央にして直列に隣接する３つの画素の互いに隣接する２つの画素間にエッジが存在するか否かを確認し、３つの画素の互いに隣接する２つの画素間のいずれにおいてもエッジが存在する場合、さらに、この２つのエッジの方向が同じであるか否かを確認し、２つのエッジが同じ方向のエッジである場合においてのみ、この画素を候補画素として選別する。なお、それ以外の場合は、この画素を候補画素ではないと判定する。
【００８４】
図２７に示す例の場合において、画素Ｐ（０，−１）のみが候補画素として選別される。画素Ｐ（−１，１）と画素Ｐ（−１，２）との間、画素Ｐ（−１，２）と画素Ｐ（−１，３）との間のいずれにおいてもエッジが存在するが、Ｐ（−１，２）を挟む２つのエッジが同じ方向ではないので、画素Ｐ（−１，２）が候補画素として選別されない。
【００８５】
画素値比較部１２４は、候補画素選別部１２２により選別された候補画素に対して、この候補画素が対応する前述の隣接する３つの画素（画素Ｐ（−１，２）の場合、画素Ｐ（−１，１）、画素Ｐ（−１，２）、画素Ｐ（−１，３））の画素値を比較し、比較結果を判定部１２６に出力する。
【００８６】
判定部１２６は、画素値比較部１２４からの比較結果に基づいて、比較される３つの画素（候補画素が中央に位置する）の画素値が、この３つの画素の並ぶ方向に沿って単調増加または単調減少する場合において、この候補画素を中間値画素として判定する。ここで、候補画素Ｐ（０，−１）が中間値画素に判定されたとする。
【００８７】
エッジ検出部１１０によるエッジ検出の結果および中間値画素判定部１２０の判定結果が補間演算部１３０に出力され、補間演算部１３０は、この２つの結果に基づいて補間画素Ｐの画素値を算出する。具体的には、補間画素Ｐを囲む１６画素内にエッジが存在しない場合、バイキュービック法を用いて補間画素Ｐの画素値を算出する。バイキュービック法による補間演算は、図１に示す実施形態の補間演算部３０により行われる第１の補間演算と同様であるので、ここでその詳細な説明について省略する。なお、以下の本実施形態の説明においても、補間画素Ｐを囲む１６画素内にエッジが存在しない場合、バイキュービック法を用いて補間画素Ｐの画素値を算出する演算を本実施形態における第１の補間演算という。
【００８８】
一方、補間画素Ｐを囲む１６画素内にエッジが存在する場合には、補間演算部１３０は、第２の補間演算により補間画素Ｐの画素値を算出する。ここで、図２７の例を参照して補間演算部の第２の補間演算について具体的に説明する。
【００８９】
ここで、説明しやすいように、図２７における黒太枠内の領域のみを図２８に示すと共に、画素Ｐ（−１，−１）、Ｐ（−１，０）、Ｐ（−１，１）、Ｐ（０，０）、Ｐ（０，−１）を夫々Ｐ１４、Ｐ１１、Ｐ１３、Ｐ１２、Ｐ１５の符号に置き換える。図２８に示すように、補間画素Ｐを囲む１６画素内の領域はエッジにより２つの領域Ａ１，Ａ２に分割される。領域Ａ２は斜線により示される。補間演算部１３０は、まず、１６画素内のエッジパターンに基づいて、補間画素Ｐがエッジを挟んでいずれの側に存在するかによって、補間演算に使用する画素を決定する（第１の決定）。例えば、図２８に示すように補間画素Ｐが領域Ａ１側に存在する場合には、第１の決定によって、領域Ａ１側の画素Ｐ１１，Ｐ１２，Ｐ１３，Ｐ１４，Ｐ１５（図２８において△で示している）が補間演算に使用される画素として決定される。次に補間演算部１３０は、第１の決定により決定された画素のうち、中間値画素判定部１２０により中間値画素に判定された画素の有無を確認し、中間値画素がある場合、それを補間演算に使用する画素から除去し、残りの画素を補間演算に使用する画素として決定する（第２の決定）。逆に補間画素が領域Ａ２側に存在する場合には、まず、領域Ａ２側の画素（図２７において○で示す）を補間演算に使用する画素として決定（第１の決定）し、第１の決定により決定された画素のうち、中間値画素判定部１２０により中間値画素に判定された画素の有無を確認し、中間値画素がある場合、それを補間演算に使用する画素から除去し、残りの画素を補間演算に使用する画素として決定する（第２の決定）。図２８に示す例において、第１の決定により決定された画素はＰ１３、Ｐ１１、Ｐ１４、Ｐ１５であり、Ｐ１５（図２７におけるＰ（０，−１））が中間値画素であるので、第２の決定により除去される。すなわち、補間演算部１３０は、図２８に示すＡ１側に位置する補間画素Ｐの補間演算に使用する画素として、Ｐ１３、Ｐ１１、Ｐ１４の４つを決定する。
【００９０】
次に補間演算部１３０は、決定された画素のうち、補間画素Ｐに近い位置の画素ほど重みを大きくするようにして補間画素Ｐの画素値を求める補間演算を行う。具体的には、画素Ｐ１２の重みＷ１２を最も大きくするように、各画素Ｐ１１〜Ｐ１４に対する重みＷ１１〜Ｗ１４を設定し、各画素Ｐ１１〜Ｐ１４の画素値Ｐｔ１１〜Ｐｔ１４に対して下記の式（６）に示す演算を施すことにより、補間画素Ｐの画素値（ここではＰｔとする）を算出する。
【数４】
2005141303.tif 000006
【００９１】
なお、補間画素Ｐの画素値を算出する際に、決定されたすべての画素を用いなくてもよく、算出方法としてもこれに限定されるものではない。例えば、ここで、図１に示す実施形態における補間演算部３０による第２の補間演算（図１２（ａ）参照）を２次元に適用することにより、補間画素Ｐの画素値を求めるようにしてもよい。具体的には、図２９に示すように、画素位置をｘ座標およびｙ座標、画素値をｚ座標とする３次元空間において、領域Ａ１側における、中間値画素以外の画素Ｐ１１，Ｐ１２，Ｐ１３（図２８参照）の画素値Ｐｔ１１，Ｐｔ１２，Ｐｔ１３を通る平面Ａ１０を設定する。なお、平面Ａ１０において辺Ａ１２，Ａ１３はエッジの位置に対応する。そして、平面Ａ１０上における補間画素Ｐのｘ座標およびｙ座標に対応するｚ座標の値を、補間画素Ｐの画素値として求めるようにすればよい。
【００９２】
図３０は、本実施形態の画像拡大縮小装置において行われる処理を示すフローチャートである。なお、本実施形態においては、補間画素Ｐは、画像Ｓ０の画素の間に存在するものとする。まず、入力部１０１は拡大縮小する画像データＳ０および画像データＳ０の拡大縮小率Ｋの入力を受け付ける（Ｓ１０１）。そして、フィルタリング部１１２は、拡大縮小率Ｋに応じた最初の補間画素Ｐ（例えば拡大縮小された画像データＳ１により表される画像上の左上に位置する画素）の近傍に位置する４×４の１６画素（補間画素Ｐの１６画素）について、隣接する２つの画素からなる画素ペアに対して差分フィルタによるフィルタリング処理を施して夫々の画素ペアの差分を算出する（Ｓ１１０）。
【００９３】
次いで、判定部１１４は、まず、各画素ペアの差分の絶対値が所定の閾値Ｔｈ以上でるか否かに基づいて、各画素ペアの２つの画素の間にエッジが存在するか否かの判定を行う。具体的には、画素ペアの差分の絶対値が閾値Ｔｈ以上であれば、この画素ペアの２つの画素の間にエッジが存在すると判定する一方、画素ペアの差分の絶対値が閾値Ｔｈより小さければ、この画素ペアの２つの画素の間にエッジが存在しないと判定する。次に判定部１１４は、エッジが存在すると判定された画素ペアの２つの画素の１方が、外辺画素であるか否かを判定し（Ｓ１１５）、この判定が肯定されると（Ｓ１２０：Ｙｅｓ）、フィルタリング部１１２は、補間画素Ｐの１６画素に含まれない、この外辺画素と隣接する各画素に対して、該画素が属する２×２画素グループの互いに隣接する２つの画素の差分を求めて判定部１１４に出力する（Ｓ１２５）。判定部１１４は、差分が求められた画素ペア間にエッジが存在するか否かを判定する（Ｓ１３０）。
【００９４】
エッジパターン分類部１１６は、判定部１１４からの判定結果に基づいて、各２×２画素内におけるエッジのパターンを分類して（Ｓ１３５）、中間値画素判定部１２０および補間演算部１３０に出力する（Ｓ１４０）。中間値画素判定部１２０は、補間画素Ｐの１６画素のうちの中間値画素を判定し、判定結果を補間演算部１３０に出力する（Ｓ１５０）。補間演算部１３０は、エッジパターン分類部１１６の分類結果に基づいて、この１６画素の各２×２画素内のエッジパターンがパターン０である場合には、補間画素Ｐの１６画素の領域内にエッジが存在しないと判定（Ｓ１６５：Ｎｏ）すると共に、第１の補間演算Ｄ１、すなわちバイキュービック補間法による補間演算を行って補間画素Ｐの画素値を求める（Ｓ１６８）。一方、補間画素Ｐの１６画素領域内において、中のエッジパターンがパターン０ではない２×２画素が存在する場合には、補間画素Ｐの１６画素の領域内にエッジが存在すると判定（Ｓ１６５：Ｙｅｓ）すると共に、第２の補間演算Ｄ２を行って補間画素Ｐの画素値を求める（Ｓ１７０）。
【００９５】
制御部１５０は、画像Ｓ０に対して全ての補間画素Ｐについて画素値を算出したか否かを判定し（Ｓ１７５）、ステップＳ１７５が否定されると、画素値を算出する補間画素Ｐを次の補間画素Ｐに設定し（Ｓ１８０）、ステップＳ１１０からの処理に戻る。一方、ステップＳ１８０が肯定されると、制御部１５０は、補間画素Ｐからなる拡大縮小された画像データＳ１を出力し（Ｓ１９０）、処理を終了する。
【００９６】
図３１は、ステップＳ１５０において行われる中間値画素判定処理Ｃの詳細を示すフローチャートである。図示のように、中間値画素判定部１２０の候補画素選別部１２２は、補間画素Ｐを囲む４×４の１６画素の画素毎に、まず、この画素を中央にして直列に隣接する３つの画素の互いに隣接する２つの画素間にエッジが存在するか否かを確認し（Ｓ１５１）、３つの画素の互いに隣接する２つの画素間のいずれにおいてもエッジが存在する場合（Ｓ１５１：Ｙｅｓ）、さらに、この２つのエッジの方向が同じであるか否かを確認し（Ｓ１５２）、２つのエッジが同じ方向のエッジである場合（Ｓ１５２：Ｙｅｓ）においてのみ、この画素を候補画素として選別する（Ｓ１５３）。
【００９７】
次いで、画素値比較部１２４は、ステップＳ１５３において候補画素選別部１２２により選別された候補画素に対して、この候補画素が対応する前述の隣接する３つの画素の画素値を比較し、比較結果を判定部１２６に出力する（Ｓ１５４）。
【００９８】
判定部１２６は、画素値比較部１２４からの比較結果に基づいて、比較される３つの画素の画素値が、この３つの画素の並ぶ方向に沿って単調増加または単調減少する場合において（Ｓ１５５：Ｙｅｓ）、この候補画素を中間値画素として判定する（Ｓ１５６）。なお、それ以外の場合（Ｓ１５１：Ｎｏ、およびＳ１５１：Ｙｅｓ、Ｓ１５２：Ｎｏ、およびＳ１５１：Ｙｅｓ、Ｓ１５２：Ｙｅｓ、Ｓ１５５：Ｎｏ）においては、この画素が中間値画素ではないと判定する（Ｓ１５７）。
【００９９】
制御部１５０は、補間画素Ｐの１６画素全部について中間値画素であるか否かの判定が行われたならば（Ｓ１５８：Ｙｅｓ）、中間値画素判定部１２０の処理を終了させるが、補間画素Ｐの１６画素のうち、まだ判定が行われていない画素があれば（Ｓ１５８：Ｎｏ）、次の画素を中間値画素判定部１２０に判定させ（Ｓ１５９）、処理がステップＳ１５１に戻る。
【０１００】
図３２は、補間画素Ｐの１６画素内にエッジがある場合に、補間演算部１３０により行われる第２の補間演算Ｄ２の詳細を示すフローチャートである。図示のように、補間演算部１３０は、１６画素の領域内において、補間画素Ｐがエッジを挟んでいずれの側に存在するかを判定する（Ｓ１７１）。そして、エッジに対して補間画素Ｐと同じ側に位置する画素を補間演算に使用する画素として決定する（第１の決定Ｓ１７２）。次に補間演算部１３０は、第１の決定により決定された画素から中間値画素を除去し、残りの画素を補間演算に使用する画素として決定する（第２の決定）。次に補間演算部１３０は、決定された画素のうち、補間画素Ｐに近い位置の画素ほど重みを大きくするようにして補間画素Ｐの画素値を求める補間演算を行う。
【０１０１】
以上、本発明の望ましい実施形態について説明したが、本発明の中間値画素判定方法および装置並びにそのためのプログラムは、上述した実施形態に限られることがなく、本発明の主旨を逸脱しない限り、上述した各実施形態の構成を組み合わせたり、増減、変化を加えたりすることができる。
【０１０２】
例えば、上述した実施形態において、補間画素の画素値を求める際に中間値画素を使用しないようにしているが、例えば、中間値画素ではない画素よりも小さい重みを付けて、補間画素の画素値を求めるのに使用してもよい。
【０１０３】
また、補間画素の近傍にエッジがある場合の補間演算、エッジがない場合の補間演算の方法も、上述した補間演算に限られるものではなく、ガウシアンフィルタなどの他の方法を用いてもよい。
【０１０４】
また、画素間にエッジが存在するか否かを検出する方法も、上述した実施形態に用いられた方法に限られるものではなく、従来技術の説明において例挙した方法などを用いてもよい。
【０１０５】
また、本発明は、拡大縮小処理に限らず、例えば、中間値画素の画素値を隣接エッジの外側のいずれ側の画素値にすることによって画像の鮮鋭度を高めるシャープネス処理などに適用してもよい。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施形態による画像拡大縮小装置の構成を示すブロック図
【図２】画像データにより表される画像の画素配列を示す図
【図３】図１に示す画像拡大縮小装置のエッジ検出部１０の構成を示すブロック図
【図４】フィルタリング部１２において行われるフィルタリング処理を説明するための図
【図５】差分フィルタの例を示す図
【図６】１次差分ｄ１，ｄ２，ｄ３および２次差分ｄ４，ｄ５の正負と、直列に隣接する４つの画素のプロファイル形状との関係を示す表（その１）
【図７】１次差分ｄ１，ｄ２，ｄ３および２次差分ｄ４，ｄ５の正負と、直列に隣接する４つの画素のプロファイル形状との関係を示す表（その２）
【図８】１次差分ｄ１，ｄ２，ｄ３および２次差分ｄ４，ｄ５の正負と、直列に隣接する４つの画素のプロファイル形状との関係を示す表（その３）
【図９】隣接する２つの画素の画素値の差が非常にわずかであるのにエッジと判定されるプロファイル形状の例を示す図
【図１０】図１に示す画像拡大縮小装置の補間演算部３０の構成を示すブロック図
【図１１】バイキュービック法を説明するための図
【図１２】エッジであると判定された部分についての補間画素の画素値の算出を説明するための図(第２の補間演算Ｂ２)
【図１３】エッジであると判定された部分についての補間画素の画素値の算出を説明するための図(第３の補間演算Ｂ３)
【図１４】本実施形態において行われる処理を示すフローチャート
【図１５】エッジ検出処理Ａのフローチャート
【図１６】第２の補間演算Ｂ２のフローチャート
【図１７】第３の補間演算Ｂ３のフローチャート
【図１８】中間値画素を判定するために設定する画素列を示す図
【図１９】本発明の第２の実施形態による画像拡大縮小装置の構成を示すブロック図
【図２０】図１９に示す画像拡大縮小装置のエッジ検出部１１０の構成を示すブロック図
【図２１】図１９に示す画像拡大縮小装置の中間値画素判定部１２０の構成を示すブロック図
【図２２】フィルタリング部１１２において行われる処理を説明するための図
【図２３】エッジパターン分類部１１６の動作を説明するための図
【図２４】エッジが存在する位置に応じたエッジパターンを示す図（その１）
【図２５】エッジが存在する位置に応じたエッジパターンを示す図（その２）
【図２６】エッジが存在する位置に応じたエッジパターンを示す図（その３）
【図２７】エッジパターン分類部１１６による分類の結果の一例を示す図
【図２８】補間画素Ｐを囲む１６画素内のエッジパターンの例を示す図
【図２９】補間画素Ｐを囲む１６画素内にエッジが存在する場合に行われる補間演算（第２の補間演算Ｄ２）を説明するための図
【図３０】本実施形態において行われる処理を示すフローチャート
【図３１】中間値画素判定処理Ｃのフローチャート
【図３２】第２の補間演算Ｄ２のフローチャート
【図３３】被写体におけるエッジとデジタル画像において検出されたエッジとの関係の例を示す図
【図３４】被写体における細線とデジタル画像において検出されたエッジとの関係の例を示す図
【図３５】直列に隣接する３つの画素を説明するための図
【符号の説明】
【０１０７】
１    入力部
１０    エッジ検出部
１２    フィルタリング部
１４    判定部
２０    中間値画素判定部
３０    補間演算部
３２    境界設定部
３４    判定部
３６    演算部
５０    制御部
１０１    入力部
１１０    エッジ検出部
１１２    フィルタリング部
１１４    判定部
１１６    エッジパターン分類部
１２０    中間値画素判定部
１２２    候補画素選別部
１２４    画素値比較部
１２６    判定部
１３０    補間演算部
１５０    制御部
Ｋ    拡大縮小率
Ｓ０    画像データ
Ｓ１    拡大縮小された画像データ
【図１】
2005141303.tif 000007
【図２】
2005141303.tif 000008
【図３】
2005141303.tif 000009
【図４】
2005141303.tif 000010
【図５】
2005141303.tif 000011
【図６】
2005141303.tif 000012
【図７】
2005141303.tif 000013
【図８】
2005141303.tif 000014
【図９】
2005141303.tif 000015
【図１０】
2005141303.tif 000016
【図１１】
2005141303.tif 000017
【図１２】
2005141303.tif 000018
【図１３】
2005141303.tif 000019
【図１４】
2005141303.tif 000020
【図１５】
2005141303.tif 000021
【図１６】
2005141303.tif 000022
【図１７】
2005141303.tif 000023
【図１８】
2005141303.tif 000024
【図１９】
2005141303.tif 000025
【図２０】
2005141303.tif 000026
【図２１】
2005141303.tif 000027
【図２２】
2005141303.tif 000028
【図２３】
2005141303.tif 000029
【図２４】
2005141303.tif 000030
【図２５】
2005141303.tif 000031
【図２６】
2005141303.tif 000032
【図２７】
2005141303.tif 000033
【図２８】
2005141303.tif 000034
【図２９】
2005141303.tif 000035
【図３０】
2005141303.tif 000036
【図３１】
2005141303.tif 000037
【図３２】
2005141303.tif 000038
【図３３】
2005141303.tif 000039
【図３４】
2005141303.tif 000040
【図３５】
2005141303.tif 000041