JP2004215163A - 画像補間装置、画像補間方法および画像補間プログラム - Google Patents

画像補間装置、画像補間方法および画像補間プログラム Download PDF

Info

Publication number
JP2004215163A
JP2004215163A JP2003002192A JP2003002192A JP2004215163A JP 2004215163 A JP2004215163 A JP 2004215163A JP 2003002192 A JP2003002192 A JP 2003002192A JP 2003002192 A JP2003002192 A JP 2003002192A JP 2004215163 A JP2004215163 A JP 2004215163A
Authority
JP
Japan
Prior art keywords
image
pixel
pixels
interpolation
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003002192A
Other languages
English (en)
Other versions
JP3952188B2 (ja
Inventor
Tatsuya Hosoda
達矢 細田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003002192A priority Critical patent/JP3952188B2/ja
Publication of JP2004215163A publication Critical patent/JP2004215163A/ja
Application granted granted Critical
Publication of JP3952188B2 publication Critical patent/JP3952188B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/403Edge-driven scaling; Edge-based scaling

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】エッジの領域を跨いだ複数の画素の画像データを用いて補間処理を行うと、エッジ部分が平滑化され、ぼやけてしまうという問題があった。
【解決手段】補間処理後の画像I2上で階調データを生成する注目画素N1の近隣に位置する補間処理前の画像I1における所定領域R1内の複数の画素の画像データD1を参照して補間処理を行う際、所定領域R1内の複数の画素上を画像のエッジの領域が横切っているか否かを画像データD1に基づいて判断し、横切っていると判断したときには同エッジの領域から注目画素N1側にある画素の画像データのみを用いて補間処理を行う構成にした。補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能となる。
【選択図】 図3

Description

【0001】
【発明の属する技術分野】
本発明は、画像を階調表現する画像データから補間処理を行って補間処理後の画像の各画素に対応した階調データを生成する画像補間装置、画像補間方法および画像補間プログラムに関する。
【0002】
【従来の技術】
従来、拡大前の画像(以下、拡大前画像とも記載)から構成画素数を増やした拡大画像を生成する際、拡大前画像の各画素の階調データ(拡大画像の階調データとも記載。以下、同様)を所定の補間処理により生成している。バイリニア法やバイキュービック法等による補間処理では、拡大画像上の注目画素の近隣に位置する拡大前画像における所定領域内の複数の画素の画像データを用いて拡大画像の階調データを生成している。また、拡大前画像の画素に対応して拡大画像の画素を区分したブロック単位で補間処理を行って拡大画像の階調データを生成するとともに、エッジ部分が鮮鋭となるように、拡大前画像の画像データに基づいてエッジの強調処理、鮮鋭化処理も行っている。
さらに、同じ画像の画像データに対して、複数の補間処理を行って階調データを重畳することも行われている(例えば、特許文献1参照)。同特許文献1に開示された技術では、一定条件ではキュービックコンボリューション補間を行って拡大画像の階調データを生成し、それ以外の条件では、拡大率別に補間データに対応させたマッチングパターンを用意しておき、パターンマッチングによりエッジとそのパターンを検出し、検出したパターンに対応する補間データを補間処理後の階調データとし、これらの階調データを重畳している。
【0003】
【特許文献1】
特開2002−165089号公報(段落0011−0094、第1−18図)
【0004】
【発明が解決しようとする課題】
上述した従来の技術においては、次のような課題があった。
エッジの領域を跨いだ複数の画素の画像データを用いて補間処理を行うと、注目画素に対してエッジの領域の向こう側にある画素の画像データが補間処理後の階調データに反映されるため、エッジ部分が平滑化され、ぼやけてしまうという問題があった。特に、ブロック単位で補間処理を行う場合、エッジのあるブロックについて鮮鋭化等の処理を行うと、エッジの領域が存在するブロック(エッジブロックとも記載)とエッジの領域が存在しないブロック(非エッジブロック)との間で色の差が発生してしまうという問題があった。
特許文献1に開示された技術でも、エッジの領域を跨いだ複数の画素の画像データが用いられてキュービックコンボリューション補間が行われると、エッジ部分が平滑化されてしまった。また、補間処理後のパターンを拡大率別に用意しておく必要があるため、固定された拡大率にしか適用することができず、任意倍率の実現が困難であった。さらに、階調データを重ね合わせる処理が必要であるため、補間処理に時間がかかりすぎていた。
【0005】
本発明は、上記課題にかんがみてなされたもので、補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能な画像補間装置、画像補間方法および画像補間プログラムの提供を目的とする。
【0006】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、請求項1にかかる発明では、補間処理後の画像上の注目画素の近隣に位置する補間処理前の画像における所定領域内の複数の画素の画像データを参照して補間処理を行う際、同所定領域内の複数の画素上を画像のエッジの領域が横切っているか否かを、補間処理前の画像の画像データに基づいて判断する。そして、横切っていると判断したとき、同所定領域内の複数の画素のうちエッジの領域から注目画素側にある画素の画像データのみを用いて補間処理を行う。すると、補間処理の際に同所定領域のうちエッジの領域を越えた領域の画素の画像データが用いられないので、エッジ部分が平滑化されない。従って、補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能となる。
【0007】
ここで、複数の画素の画像データを参照する補間処理は、例えば、バイキュービック法による補間処理、バイリニア法による補間処理、等、様々な処理が考えられる。上記所定領域は、補間処理の種類に応じて、適宜決定すればよい。
上記所定領域内の複数の画素上を画像のエッジの領域が横切っているか否かの判断の結果、エッジの領域から注目画素側にある画素が一つとなっても、請求項1に記載した発明に含まれる。以下も、同様である。
上記画像データは、例えば、ビットマップデータ、圧縮されたデータ、等、様々なデータ形式の情報が考えられる。また、同画像データは、例えば、輝度データ(Y)と色差データ(Cb,Cr)とから構成されるYCbCrデータ、レッドデータ(R)とグリーンデータ(G)とブルーデータ(B)とから構成されるRGBデータ、シアンデータ(C)とマゼンタデータ(M)とイエローデータ(Ye)とグリーンデータ(G)とから構成されるCMYeGデータ、CIE規格とされたLab空間内のLabデータ、等、様々な種類のデータが考えられる。
【0008】
上記所定領域内の複数の画素上を上記画像のエッジの領域が横切っているか否かを、上記補間処理後の画像の明るさが表された上記画像データに基づいて判断してもよい。すると、より確実にエッジの領域が横切っているかどうかを判断することができ、精度よく補間処理を行って補間処理後の各画素に対応した階調データを生成することができる。なお、明るさが表された画像データは、輝度データ、明度データ、RGB各データの平均、等、様々な種類のデータが考えられる。
【0009】
また、請求項2にかかる発明では、補間処理後の画像上の注目画素の近隣に位置する補間処理前の画像における所定領域内の複数の画素の画像データを参照して補間処理を行う際、同所定領域内の複数の画素のうち同注目画素に対応する補間処理前の画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて補間処理を行う。すると、補間処理の際に注目画素に対応した画素の画像データとの差異が大きい画素の画像データが用いられないので、実質的にはエッジの領域から注目画素側にある画素の画像データのみを用いた補間処理が行われる。すなわち、エッジ部分が平滑化されないので、補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能となる。
上記画像データは、上記画像の明るさが表されたデータであってもよい。同画像データの差異は、階調値の差、階調値の比、階調値の2乗の差、等、様々なものが考えられる。
上記所定範囲には、境界部分を含めてもよいし、除いてもよい。画像データの差異が所定範囲内か否かは、例えば、同差異と所定のしきい値とを対比するにより判断することができる。ここで、しきい値は、固定された値でもよいし、条件に応じて変動する値でもよい。以下も、同様である。
【0010】
補間処理によりエッジ部分の平滑化が問題となるのは、特に画像を拡大する場合である。そこで、請求項3にかかる発明では、拡大画像上で注目画素を順次移動させながら同注目画素の近隣に位置する拡大前画像における所定領域内の複数の画素の画像データを参照して補間処理を行う際、同所定領域内の複数の画素のうち同注目画素に対応する拡大前画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて補間処理を行う。すなわち、エッジ部分の平滑化が特に問題となる画像拡大時でも、エッジ部分が平滑化されないので、補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能となる。
【0011】
ここで、拡大前画像の画素に対応して拡大画像の画素を区分した画素区分毎に同拡大画像上で注目画素区分を順次移動させながら同注目画素区分内の各画素について近隣に位置する拡大前画像における所定領域内の複数の画素の画像データを参照して補間処理を行う場合、同所定領域内の複数の画素のうち同注目画素区分に対応する拡大前画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて補間処理を行う構成としてもよい。すなわち、エッジ部分が平滑化されないので、補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能となる。また、エッジの領域が存在するブロックに鮮鋭化等の処理を行っても、エッジの領域が存在するブロックと存在しないブロックとで色の差が出なくなり、この点でも画質を向上させることができる。
【0012】
上記注目画素区分に対応する拡大前画像における画素との画像データの差異が所定範囲外となる画素の画像データを、同注目画素区分に対応する拡大前画像における画素の画像データに置き換えて上記補間処理を行う構成としてもよい。画像データを置き換えるという簡易な構成で、公知の補間処理を利用することができ、注目画素区分に対応する拡大前画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて容易に補間処理を行うことができる。
【0013】
上記画像データに基づいて上記拡大画像の画素単位で当該拡大画像の各画素の位置に対応させて上記拡大画像のエッジの領域を表すエッジ情報を生成するエッジ生成手段を備え、当該エッジ情報に基づいて上記注目画素区分にエッジの領域が存在するか否かを判断し、エッジの領域が存在すると判断したときには同注目画素区分の各画素について同エッジの領域から当該画素側にある上記拡大画像の画素の画像データのみを用いて上記階調データを生成する構成としてもよい。エッジの領域が存在する画素区分の各画素の階調データは、エッジの領域を越えた部分の画素の画像データが反映されないので、拡大画像のエッジ部分について鮮鋭さを維持して良好な画質を得ることが可能となる。
【0014】
なお、上記エッジ生成手段は、上記エッジ位置情報に基づいて上記拡大前画像のエッジの位置に対応する上記拡大画像のエッジの位置を表す拡大エッジ位置情報を同拡大画像の画素単位で取得する拡大位置取得手段と、同拡大エッジ位置情報に基づいて近隣する同拡大画像のエッジどうしを連結して上記拡大画像のエッジの領域を表すエッジ情報を生成する連結手段とを備える構成としてもよい。
【0015】
上記拡大前画像上で注目画素とその周囲の画素の画像データに対してラプラシアンフィルタを用いた演算を行って同拡大前画像の各画素に対応して階調表現された中間データを生成し、当該中間データに対応するドットマトリクス状の画素上で注目画素を順次移動させながら、注目画素およびその近隣に位置する画素の位置および中間データに基づいて同中間データを略0にする位置が表された上記エッジ位置情報を取得する位置取得手段を備えてもよい。なお、周囲の画素は、注目画素に隣接していてもよいし、隣接していなくてもよい。
ラプラシアンフィルタは、8方向ラプラシアンフィルタ、4方向ラプラシアンフィルタ、等、を採用することができる。むろん、一次空間微分フィルタ、非線形差分フィルタ、等、を用いてエッジの位置を検出してもよい。
【0016】
上記注目画素区分に対応する拡大前画像における画素およびその近隣に位置する画素の画像データを2値化して2値化データを生成し、当該2値化データと、エッジの存在を判定可能とする所定の複数のマッチングパターンと、に基づいて同注目画素区分およびその近隣に位置する画素区分にエッジが存在するか否かを判定し、エッジが存在すると判定したときに同注目画素区分の各画素について上記エッジの領域から当該画素側にある上記拡大画像の画素の画像データのみを用いて上記階調データを生成する構成としてもよい。簡易な構成で確実にエッジの領域が存在するブロックについて鮮鋭化処理を行うことができ、確実に拡大画像のエッジ部分を精度よく細線で形成することが可能となる。
【0017】
なお、上記連結手段は、上記拡大前画像上で注目画素を順次移動させながら、同注目画素およびその近隣に位置する画素の画像データを2値化して2値化データを生成し、当該2値化データと、エッジの向きに対応した所定の複数のマッチングパターンと、に基づいてエッジの向きを決定し、上記近隣する拡大画像のエッジどうしを同決定したエッジの向きとなるように連結して上記エッジ情報を生成する構成としてもよい。簡易な構成で確実に拡大画像のエッジどうしを連結することができ、高速な処理にて確実に拡大画像のエッジを精度よく細線で形成することが可能となる。また、この場合のマッチングパターンを、拡大画像の各画素に対応した階調データを生成するためのマッチングパターンにすることができるので、エッジ情報を生成してエッジブロックの各画素に対応した階調データを生成する処理を効率よく行うことが可能となる。
【0018】
上記2値化データと上記複数のマッチングパターンとが一致しない場合、上記拡大画素区分の近隣に位置する上記拡大前画像における所定領域内の画素の画像データを用いて上記補間処理を行って上記注目画素区分の各画素について階調データを生成してもよい。
【0019】
上記注目画素の近隣に位置する補間処理前の画像における第二の所定領域内の複数の画素についての画像データの異なり度合に応じて上記補間処理の種類を切り換える構成としてもよい。注目画素に近隣する画素の画像データに応じて適切な補間処理を行うことが可能となるので、エッジ部分の鮮鋭さを維持して補間処理後の画像の画質をさらに向上させることが可能となる。
【0020】
上記第二の所定領域内の複数の画素についての画像データの異なり度合が大きくなるほど、上記画像データを参照する画素の数を増やす構成としてもよい。画像データの異なり度合が大きいほど高精度にて補間処理を行う必要があるが、同異なり度合が大きくなるほど補間処理にて参照する画素の数が増えるため、補間処理により効率よく高画質の画像を得ることが可能となる。
【0021】
上述した画像補間装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。
また、所定の手順に従って上述した手段に対応した処理を行う方法にも発明は存在する。従って、本発明は画像補間装置の制御方法としても適用可能であり、請求項10、請求項11にかかる発明においても、基本的には同様の作用となる。
さらに、拡大画像の画像データ(拡大画像を表現する画像データ。以下、同様)に基づいて印刷を行う印刷装置に対して印刷制御を行う印刷制御装置としても適用可能であるし、同印刷制御装置と印刷装置を備える印刷システムとしても適用可能であり、基本的には同様の作用となる。
【0022】
本発明を実施しようとする際に、上記装置にて所定のプログラムを実行させる場合もある。そこで、画像補間装置の制御プログラムとしても適用可能であり、請求項12、請求項13にかかる発明においても、基本的には同様の作用となる。さらに、同プログラムを記録した媒体が流通し、同記録媒体からプログラムを適宜コンピュータに読み込むことが考えられる。すなわち、そのプログラムを記録したコンピュータ読み取り可能な記録媒体としても適用可能であり、基本的には同様の作用となる。
むろん、請求項2〜請求項8に記載した構成を上記方法、印刷制御装置、印刷システム、プログラム、プログラムを記録した媒体に対応させることも可能である。
ここで、上記記録媒体は、磁気記録媒体や光磁気記録媒体の他、今後開発されるいかなる記録媒体であってもよい。一次複製品、二次複製品などの複製段階も問わない。一部がハードウェアで実現される場合や、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む場合も本発明の思想に含まれる。
【0023】
【発明の実施の形態】
以下、下記の順序に従って本発明の実施形態を説明する。
(1)印刷システムの構成:
(2)画像補間装置の構成の概略:
(3)画像補間装置が行う処理:
(3−1)ゼロクロス検出処理:
(3−2)ゼロクロス連結処理:
(3−3)補間処理:
(4)変形例:
【0024】
(1)印刷システムの構成:
図1は、本発明の一実施形態である印刷システム100の概略構成を示している。本システム100は、パーソナルコンピュータ(PC)10、印刷装置であるカラー印刷可能なインクジェットプリンタ20等から構成されている。なお、PC10は、補間処理を行う意味で本発明にいう画像補間装置となる。また、補間処理後の階調データからなる画像データを生成して対応する出力画像をプリンタ20に印刷させる意味で印刷制御装置となる。
PC10は演算処理の中枢をなすCPU11を備えており、このCPU11はシステムバス10aを介してPC10全体の制御を行う。同バス10aには、ROM12、RAM13、CD−ROMドライブ15、フレキシブルディスク(FD)ドライブ16、各種インターフェイス(I/F)17a〜e等が接続されている。また、ハードディスクドライブを介してハードディスク(HD)14も接続されている。本実施形態のコンピュータにはデスクトップ型PCを採用しているが、コンピュータとしては一般的な構成を有するものを採用可能である。
【0025】
HD14には、オペレーティングシステム(OS)や画像情報等を作成可能なアプリケーションプログラム(APL)等が格納されている。実行時には、CPU11がこれらのソフトウェアを適宜RAM13に転送し、RAM13を一時的なワークエリアとして適宜アクセスしながらプログラムを実行する。
周辺機器I/F(PIF)17aには、デジタルカメラ30や、図示しないカラースキャナ等が接続されるようになっている。同デジタルカメラ30は、撮影画像をドットマトリクス状の画素で階調表現する画像データを生成してPC10に出力可能である。CRTI/F17bには画像データに基づく画像を表示するディスプレイ18aが接続され、入力I/F17cにはキーボード18bやマウス18cが操作用入力機器として接続されている。また、プリンタI/F17eには、パラレルI/Fケーブルを介してプリンタ20が接続されている。むろん、USBケーブル等を介してプリンタ20を接続する構成としてもよい。
【0026】
プリンタ20は、C(シアン)、M(マゼンタ)、Ye(イエロー)、K(ブラック)のインクを使用して、印刷用紙(印刷媒体)に対して画像データを構成する階調値に対応したインク量となるようにインクを吐出し、画像を印刷する。むろん、4色以外のインクを使用するプリンタを採用してもよい。また、インク通路内に泡を発生させてインクを吐出するバブル方式のプリンタや、レーザープリンタ等、種々の印刷装置を採用可能である。
図2に示すように、プリンタ20では、CPU21、ROM22、RAM23、通信I/O24、コントロールIC25、ASIC26、I/F27、等がバス20aを介して接続されている。通信I/O24はPC10のプリンタI/F17eと接続されており、プリンタ20は通信I/O24を介してPC10から送信されるCMYeKに変換されたデータやページ記述言語等からなる印刷ジョブを受信する。ASIC26は、CPU21と所定の信号を送受信しつつヘッド駆動部26aに対してCMYeKデータに基づく印加電圧データを出力する。同ヘッド駆動部26aは、同印加電圧データに基づいて印刷ヘッドに内蔵されたピエゾ素子への印加電圧パターンを生成し、印刷ヘッドにCMYeKのインクを吐出させる。I/F27に接続されたキャリッジ機構27aや紙送り機構27bは、印刷ヘッドを主走査させたり、適宜改ページ動作を行いながらメディアを順次送り出して副走査を行ったりする。そして、CPU21が、RAM23をワークエリアとして利用しながらROM22に書き込まれたプログラムに従って各部を制御する。
【0027】
PC10では、以上のハードウェアを基礎としてバイオスが実行され、その上層にてOSとAPLとが実行される。OSには、プリンタI/F17eを制御するプリンタドライバ等の各種のドライバ類が組み込まれ、ハードウェアの制御を実行する。プリンタドライバは、プリンタI/F17eを介してプリンタ20と双方向の通信を行うことが可能であり、APLから画像データを受け取って印刷ジョブを作成し、プリンタ20に送出する。本発明の画像補間プログラムは、APLから構成されるが、プリンタドライバにより構成されてもよい。また、HD14は同プログラムを記録した媒体であるが、同媒体は、例えば、CD−ROM、FD16a、光磁気ディスク、不揮発性メモリ、パンチカード、バーコード等の符号が印刷された印刷媒体、等であってもよい。むろん、通信I/F17dからインターネット網を介して所定のサーバに格納された上記の制御プログラムをダウンロードして実行させることも可能である。
そして、上記ハードウェアと上記プログラムとが協働して画像補間装置を構築する。
【0028】
(2)画像補間装置の構成の概略:
図3は、上記画像補間装置の構成の概略を模式的に示している。PCを画像補間装置U0として機能させる画像補間プログラムは、以下に述べる各種手段に対応した複数のモジュールから構成されている。本実施形態では画像を拡大する画像補間装置の例を取り上げているが、画像を拡大しない場合にも本発明を適用可能である。
本画像補間装置U0は、概略、拡大前画像I1の画像データD1に基づいて拡大画像I2のエッジの領域を表すエッジ情報D2を生成するエッジ生成手段U1と、拡大前画像の画像データD1から補間処理を行って補間処理後の拡大画像I2の各画素I2uに対応した階調データを生成する補間手段U2とから構成されている。その際、拡大前画像の画素I1uに対応して拡大画像の画素I2uを区分したブロック(画素区分。図では3×3画素)毎に、拡大画像I2上で注目ブロックN2を順次移動させながら、注目ブロックN2内の各画素について順次補間処理を行う。本装置は、このようなブロック単位の画像補間処理を行う際、エッジブロックに鮮鋭化処理を行っても、エッジブロックと非エッジブロックとで色の差が出ないようにすることができる。
【0029】
拡大前画像の画像データD1は、拡大前画像をドットマトリクス状の多数の画素で階調表現するデータであり、拡大前画像の明るさが表されたデータである。本実施形態の画像データは、Y(輝度)、Cb(ブルーの色差)、Cr(レッドの色差)からなるYCbCrデータであるとして説明するが、R(レッド)、G(グリーン)、B(ブルー)からなるRGBデータ等であってもよい。また、YCbCr各成分は、256階調であるとして説明するが、1024階調、100階調、等であってもよい。
エッジ生成手段U1は、まず、画像データD1の輝度値Yに基づいてゼロクロス位置Z(エッジ位置情報)を算出して取得する。
【0030】
なお、輝度値Yを用いてゼロクロス位置Zを取得する以外にも、各RGBの階調値の平均値を用いてゼロクロス位置Zを取得してもよいし、以下の式により輝度値Yを算出して同輝度値Yを用いてゼロクロス位置Zを取得してもよい。
Y=0.30r+0.59g+0.11b …(1)
ここで、r,g,bは、各RGBの階調値を表している。
【0031】
エッジ生成手段U1は、次に、ゼロクロス位置Zが拡大後のどのピクセルに相当するかを計算し、その位置を拡大後のゼロクロス位置(拡大エッジ位置情報)とする。さらに、近隣する拡大画像I2のエッジどうしを連結する連結位置情報を取得する。そして、拡大エッジ位置情報と連結位置情報とを合わせて、エッジ情報D2を生成する。エッジ情報D2は、拡大画像の画素I2uをxy平面上に置いたとき、拡大画像の画素I2u単位で拡大画像の各画素I2uの位置に対応させたエッジの領域を表す座標値の集合とされている。
【0032】
補間手段U2は、補間処理後の拡大画像I2上で階調データを生成する注目画素N1を順次移動させながら、注目画素N1の近隣に位置する補間処理前の拡大前画像I1における所定領域R1内の複数の画素の画像データを参照して補間処理を行う。バイキュービック法による補間処理を行う場合、注目画素の近隣に位置する拡大前画像の4×4画素の画像データを参照する。図では、便宜上、同4×4画素をP11〜P44と名付けている。補間処理を行う際、所定領域R1内の複数の画素P11〜P44上を画像のエッジの領域が横切っているか否かを拡大前画像の画像データD1に基づいて判断する。そして、横切っていると判断したときには、エッジの領域から注目画素側にある画素の画像データのみを用いて補間処理を行う。
図の例では、所定領域R1内にエッジの領域が横切っているため、注目画素N1側にある拡大前画像の画素P11〜P14,P21〜P24,P32〜P34,P43〜P44の画像データのみを用いて補間処理を行う。
【0033】
なお、図4に示すように、実際には、所定領域R1内の複数の画素I1uのうち拡大画像I2上の注目画素N1に対応する補間処理前の拡大前画像における画素(対応画素)N1uとの画像データの差異が所定範囲内となる画素の画像データのみを用いて補間処理を行っている。同対応画素N1uは、注目画素N1が含まれる拡大画像I2上のブロックに対応する拡大前画像I1上の画素とされている。このような処理を行うことにより、エッジ情報D2を生成しなくても所定領域R1内にエッジの領域が横切っているか否かを判定することができ、補間処理を簡素化させることができる。すなわち、本発明は、補間手段U2のみで構成しても有効である。ブロック単位で画像補間処理を行う場合には、エッジ情報を生成すると、エッジブロックに対してエッジ情報に基づいて容易に鮮鋭化処理を行うことができる。
エッジの領域を境にして画像データの値は大きく異なるため、図の下段に示すように、画素N1uとの画像データの差異が所定範囲内の画素の画像データのみを用いることにより、エッジの領域から注目画素N1側にある画素の画像データのみを用いて補間処理を行うことができる。
【0034】
図の例では、注目画素N1側にある画素の画像データは全て200であるため、当該画像データを用いて補間処理を行うと、注目画素N1の階調データは200となる。従来の技術では、注目画素N1からエッジの領域の向こう側にある画素P31,P41,P42の画像データ0も補間処理に用いられるため、注目画素N1の画像データは200より小さくなり、エッジ部分が平滑化され、ぼやけてしまうことになる。また、ブロック単位で補間処理を行う場合、エッジブロックについて鮮鋭化等の処理を行うと、エッジブロックと非エッジブロックとの間で色の差が発生してしまうことにもなる。本装置U0は、画素N1uとの画像データの差異が所定範囲外の画素の画像データを用いず、注目画素N1からエッジの領域の向こう側にある画素の画像データを用いないようにしたので、補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能となっている。
【0035】
(3)画像補間装置が行う処理:
以下、画像補間装置が行う処理とともに、動作を詳細に説明していく。
図5は、本画像補間装置が行う処理をフローチャートにより示している。具体的には、PC10のCPU11が本処理を行う。
まず、エッジ生成手段により、ゼロクロス位置Zを取得するゼロクロス検出処理を行い(ステップS105。以下、「ステップ」の記載を省略)、ゼロクロスを連結してエッジ情報を生成するゼロクロス連結処理を行う(S110)。次に、補間手段により、拡大前画像の画像データから補間処理を行って補間処理後の画像の各画素に対応した階調データを生成し(S115)、本フローを終了する。その後は、ディスプレイにて階調データから構成される画像データに対応する拡大画像を表示したり、プリンタ20に対して同画像データを出力することにより画像データに対応する拡大画像を印刷したりすることができる。
【0036】
(3−1)ゼロクロス検出処理:
図6は、上記ゼロクロス検出処理をフローチャートにより示している。
まず、図3で模式的に示したように拡大前画像をドットマトリクス状の画素別の階調データで表現する画像データに対してガウスぼかしを行うガウスぼかし処理を行う(S205)。同処理は、図7に示すフローに従って行われる。まず、拡大前画像を多数の画素別のYCbCrデータで表現する画像データを入力し、拡大前画像上で注目画素の位置を設定する(S305)。デジタルカメラ30等から画像データを入力する場合、データ全体を一括して読み込む必要はなく、部分的に読み込むようにしてもよいし、他のAPLから呼び出されるような場合にはデータの受け渡しに利用されるバッファ領域を表すポインタの受け渡しだけであってもよい。また、注目画素の位置を設定する順序は、左上の画素から開始して順番に右上の画素までとし、その後一つずつ下の左端の画素から順番に右端の画素までとして、最後に右下の画素としている。以下、各種処理にて注目画素の位置を設定する場合も同様にしている。むろん、注目画素の位置を設定する順序は、適宜変更可能であり、拡大前画像の種類等に応じて異なる順序とすることも可能である。
【0037】
さらに、注目画素とその近隣に位置する3×3画素(所定領域)の輝度値Y(画像データ)を取得する(S310)。3×3画素の画像データの値を左上〜右上、左中〜右中、左下〜右下の順にd1〜d9とすると、注目画素の輝度値がd5であり、その近隣に位置する8画素の輝度値はd1〜d4,d6〜d9である。なお、注目画素が拡大前画像の端部にある場合には、拡大前画像の端部の画素における輝度値が拡大前画像の外側にある(折り返されている)ものとして輝度値を取得する。以下も、同様である。
【0038】
そして、図7のフロー中に示した公知のガウスぼかし演算用フィルタF1を用いてガウスぼかし演算を行う(S315)。ここで、フィルタ演算を行うための演算用フィルタFは、参照する3×3画素のそれぞれに対応した係数f1〜f9を有しており、各画素に対応する画像データd1〜d9のそれぞれに同係数を乗じた総和を求めて注目画素のフィルタ演算後の階調データd’を算出するものである。実際には、以下の式のように、同総和に所定係数(kとする)を乗じてフィルタ演算後のデータd’とする。
d’=kΣfi・di …(2)
後述するラプラシアンフィルタのように係数f1〜f9の合計Σfiが0となるフィルタの場合にはk=1とし、ガウスぼかし演算用フィルタF1のように係数f1〜f9の合計Σfiが0となるフィルタの場合にはk=1/Σfiとする。
【0039】
その後、拡大前画像の全画素について、ガウスぼかし演算を行ったか否かを判断する(S320)。条件不成立の場合には、拡大前画像上で注目画素を順次移動させながら繰り返しS305〜S320によりガウスぼかしを行う演算を行う。条件成立の場合には、本フローを終了する。なお、ガウスぼかし処理を行わなくてもエッジ情報を生成することは可能であるが、ガウスぼかし処理を行うことによりノイズが除去されるのでエッジ位置の精度が向上し、より滑らかとされたエッジの位置を表す情報を生成することができる。
【0040】
ガウスぼかし処理が終了すると、図6のS210に進み、ガウスぼかし処理が行われた画像データに対してラプラシアンフィルタを用いたラプラシアンフィルタ演算処理を行う。同処理も、図7で示したフローに従って行われる。まず、ガウスぼかし処理が行われた画像データで階調表現される拡大前画像上で注目画素の位置を設定する(S305)。次に、注目画素とその近隣に位置する3×3画素の輝度値d1〜d9を取得する(S310)。そして、図7のフロー中に示した公知の8方向ラプラシアンフィルタF2を用いてラプラシアンフィルタ演算を行い、ドットマトリクス状の画素で階調表現された中間データを生成する(S315)。
【0041】
ここで、注目画素に対応するフィルタF2の係数f5の周囲にある係数f1〜f4,f6〜f9は全て1とされ、中心にある係数f5は係数f1〜f4,f6〜f9の総和の符号を逆にした−8とされている。すなわち、フィルタF2を用いてフィルタ演算を行うことにより、以下の式のように、注目画素の周囲にある画素の輝度値と注目画素の輝度値との差分の総和を演算してラプラシアンフィルタ演算後の階調データd’とすることになる。
d’=Σ(di−d5) …(3)
ただし、i=1〜4,6〜9である。
【0042】
そして、ガウスぼかし処理が行われた拡大前画像の全画素について、ラプラシアンフィルタ演算を行ったか否かを判断する(S320)。条件不成立の場合には、繰り返しS305〜S320の処理により中間データを生成する。条件成立の場合には、本フローを終了する。ラプラシアンフィルタ演算処理を行ってエッジの位置を検出することにより、簡易な構成で精度よくエッジの位置を表す情報を取得することができ、精度よく拡大画像のエッジの領域を表すエッジ情報を生成することができる。
【0043】
その後、ゼロクロス位置Zを記憶するバッファ領域をRAM内に確保する(図5のS215)。次に、生成した中間データに対応するドットマトリクス状の画素上で注目画素の位置を設定する(S220)。そして、注目画素の中間データと注目画素の右隣(近隣)に位置する画素(右隣画素)の中間データの符号が異なるか否かを判断する(S225)。符号が異ならない場合、注目画素と右隣画素との間にゼロクロスはほとんど存在しないため、S245のゼロクロス位置算出処理を行わずにS250に進む。符号が異なると判断した場合、ゼロクロス位置を算出すべきか否かを判断するため、現在位置である注目画素の中間データの絶対値と右隣画素の中間データの絶対値の少なくとも一方が所定のしきい値L1以上(またはより大)であるか否かを判断する(S230)。拡大前画像の輝度値が256階調であるとき、中間データの階調値も256階調となり、しきい値L1を例えば256階調の略中間値である128等とすればよい。条件成立の場合、S245に進んでゼロクロス位置算出処理を行う。エッジが存在するのは主に両画素間の輝度値の差が大きく、中間データの符号が異なるときであるので、精度よくエッジの位置を表す情報を取得することができ、その結果、精度よく拡大画像のエッジの領域を表す情報を生成することが可能となる。
【0044】
条件不成立の場合、さらにゼロクロス位置を算出すべきか否かを判断するため、ガウスぼかし処理が行われた拡大前画像上で注目画素を中心とする3×3画素の輝度値の最大値と最小値の差を求め(S235)、求めた差が所定のしきい値L2以上(またはより大)であるか否かを判断する(S240)。ガウスぼかし処理後の拡大前画像の輝度値が256階調であるとき、しきい値L2を例えば50等とすればよい。条件成立の場合、S245に進んでゼロクロス位置算出処理を行う。注目画素と右隣画素の輝度値の差が小さいためにラプラシアンフィルタ演算処理を行った結果S230ではゼロクロスを検出することができなくても、注目画素を中心とした3×3画素の輝度値の差が大きいことがあるので、ゼロクロスの検出精度を向上させることができる。すなわち、精度よくエッジの位置を表す情報を取得することができ、その結果、精度よく拡大画像のエッジの領域を表す情報を生成することが可能となる。一方、条件不成立の場合、S250に進む。
【0045】
図8は、上記ゼロクロス位置算出処理をフローチャートにより示している。
まず、拡大前画像から拡大画像への拡大率Mを取得する(S355)。例えば、ディスプレイに解像度選択欄を有する印刷インターフェイス画面を表示し、解像度選択欄への操作入力から画像の拡大率を表すパラメータを取得してRAMに格納すればよい。ここで、拡大率がMであるとき、横方向(x方向)の画素数をM倍にするとともに、縦方向(y方向)の画素数もM倍にすることを意味するものとする。むろん、拡大率としてMx,Myを取得し、横方向の画素数をMx倍にし、縦方向の画素数をMy倍にするようにしてよい。
【0046】
次に、拡大率Mを反映させた画素の位置をX1、その画素の中間データをY1として、注目画素と隣接画素(S245で本処理が行われる場合には右隣画素)のX1,Y1の関係式Y1=A1・X1+B1のA1,B1を算出する(S360)。ここで、画素の位置X1は、注目画素と右隣画素の2点について直線の式を求める場合には拡大画像上での横方向のx座標であり、注目画素と下隣画素の2点について直線の式を求める場合には拡大画像上での縦方向のy座標である。注目画素の中間データをLP0、隣接画素の中間データをLP1、拡大前画像上での注目画素の位置をx0とすると、A1,B1は以下の式により算出することができる。
A1=(LP1−LP0)/M …(4)
B1=LP0−A1×(x0×M+M/2) …(5)
【0047】
A1,B1を算出すると、以下の式により、拡大率Mを反映させたゼロクロス位置Z1を算出する(S365)。
Z1=−B1/A1 …(6)
ここで、Z1は小数点以下の情報を有する値とされ、拡大前画像の画素よりも細かい単位とされている。そして、拡大前画像の画素の位置に拡大率Mを乗じた値であるので、ゼロクロス位置Z1は拡大前画像の各画素の位置に対応させたエッジの位置を表すエッジ位置情報とされている。
【0048】
ゼロクロス位置Z1を算出すると、同ゼロクロス位置Z1に基づいて拡大前画像のエッジの位置に対応する拡大画像のエッジの位置Z1’(拡大エッジ位置情報の一種)を取得する(S370)。拡大画像のエッジの位置Z1’は、以下の式により算出することができる。
Z1’=INT(Z1) …(7)
ここで、INTは小数点以下を切り捨てる関数である。すなわち、Z1’は拡大画像の画素単位で拡大画像のエッジの位置を表す数値情報とされている。
【0049】
図9は、拡大率Mが3であるときに拡大エッジ位置情報を取得する様子を模式的に示している。
拡大前画像のx=1,y=2に中間データLP0=−125の注目画素51があり、注目画素の右隣であるx=2,y=2に中間データLP1=53の隣接画素52があるとする。ここで、拡大前画像の画素に対応して拡大画像の画素を区分したブロック54,55中でゼロクロス56がどこに存在するかを上記式(4)〜(6)を用いて求める。なお、拡大前画像の注目画素51、隣接画素52に対応してそれぞれ注目ブロック54、隣接ブロック55があるものとする。
図の中段下寄りに示したX1−Y1グラフのように、X1(画素のx座標またはy座標)−Y1(中間データ)平面上での注目画素と隣接画素とを結ぶ直線がX1軸と交差する点(Y1=0となる点)がゼロクロスである。上記例では、ゼロクロス位置はZ1=6.6となる。最後に、上記式(7)を用いると、Z1’=INT(6.6)=6となる。従って、拡大エッジ位置情報57は、隣接ブロック55内の左側にあるx=6,y=7の画素の位置を表す情報となる。
【0050】
このように、拡大エッジ位置情報は拡大画像のブロックよりも細かい画素単位で画素の位置を表す情報とされる。従って、拡大画像のエッジ位置の精度が向上し、拡大画像のエッジのジャギーは目立たなくなる。
拡大画像のエッジの位置を取得すると、拡大画像のエッジの位置Z1’に対応する拡大画像上のエッジの座標値(拡大エッジ位置情報の一種)をバッファに記憶し(S375)、本フローを終了する。
【0051】
注目画素と右隣画素との間でゼロクロス位置算出処理を行うと、図5のS250に進み、注目画素と下隣画素との間で同様の処理を行う。
すなわち、注目画素の中間データと注目画素の下隣(近隣)に位置する画素(下隣画素)の中間データの符号が異なるか否かを判断する(S250)。符号が異ならない場合、S270のゼロクロス位置算出処理を行わずにS275に進む。符号が異なると判断した場合、現在位置である注目画素の中間データの絶対値と下隣画素の中間データの絶対値の少なくとも一方が所定のしきい値L3(例えば128)以上(またはより大)であるか否かを判断する(S255)。条件成立の場合、S270に進んでゼロクロス位置算出処理を行う。
条件不成立の場合、ガウスぼかし処理が行われた拡大前画像上で注目画素を中心とする3×3画素の輝度値の最大値と最小値の差を求め(S260)、求めた差が所定のしきい値L4(例えば50)以上であるか否かを判断する(S265)。条件成立の場合、S270に進んでゼロクロス位置算出処理を行う。一方、条件不成立の場合、S275に進む。
【0052】
S270でゼロクロス位置算出処理を行うと、ガウスぼかし処理が行われた拡大前画像の全画素についてS220〜S270の処理を行ったか否かを判断する(S275)。条件不成立の場合には、繰り返しS220〜S275により拡大エッジ位置情報を取得する処理を行う。条件成立の場合には、本フローを終了する。このようにして、ラスタスキャンでのエッジ検出が可能となり、拡大前画像の画素よりも細かい単位で高精度にてエッジの位置を求めることができる。
【0053】
(3−2)ゼロクロス連結処理:
ゼロクロス検出処理を終了すると、図5のS110に進み、ゼロクロス連結処理を行う。
図10は、上記ゼロクロス連結処理をフローチャートにより示している。
まず、拡大画像の画素を区分した3×3画素のブロック毎に、注目ブロックの位置を設定する(S405)。次に、拡大画像の注目ブロック内に同拡大画像の画素単位とされたゼロクロス、すなわち、エッジが存在するか否かを判断する(S410)。注目ブロック内にエッジが存在しない(対応する拡大画像上のエッジの座標値がバッファに格納されていない)場合、S435に進む。
【0054】
注目ブロック内にエッジが存在する場合、同注目ブロック内に複数のエッジが存在するか否かを判断する(S415)。複数のエッジが存在する場合には後述するエッジ生成処理を行って(S420)S425に進み、エッジが一つしか存在しない場合には即座にS425に進む。
S425では、注目ブロックの右隣のブロック、左下の隣接ブロック、下隣のブロック、右下の隣接ブロックのいずれかにゼロクロスが存在するか否かを判断する。本実施形態では、注目ブロックが拡大画像の端部にあり、隣接ブロックが拡大画像外となる場合には、その隣接ブロックについてはゼロクロスが存在しないものとしてエッジを連結する処理を行わない。
これらの隣接ブロックにゼロクロスが存在する場合には後述するエッジ生成処理を行って(S430)S435に進み、ゼロクロスが存在しない場合には即座にS435に進む。
【0055】
図11は、上記S420,S430で行われるエッジ生成処理をフローチャートにより示している。
まず、拡大画像上でエッジとされた二画素間の横方向(x方向)の距離差が縦方向(y方向)の距離差以上(またはより大)であるか否かを判断する(S505)。条件成立の場合にはS510に進み、条件不成立の場合にはS530に進む。
S510では、拡大画像上で横方向の画素の位置を設定する。次に、設定した横方向の位置で、拡大画像のエッジの領域とする縦方向の画素の位置を取得する(S515)。さらに、取得した画素の位置(具体的には、座標値)をエッジの領域とする画素の位置を表す連結位置情報としてバッファに格納する(S520)。そして、次の横方向の画素の位置が存在するか否かを判断する(S525)。条件成立の場合には、横方向の画素の位置を画素単位で順次移動させながら繰り返しS510〜S525の処理を行う。条件不成立の場合には、S550に進む。
【0056】
一方、S530では、拡大画像上で縦方向の画素の位置を設定する。次に、設定した縦方向の位置で、拡大画像のエッジの領域とする横方向の画素の位置を取得する(S535)。さらに、取得した画素の座標値を連結位置情報としてバッファに格納する(S540)。そして、次の縦方向の画素の位置が存在するか否かを判断する(S545)。条件成立の場合には縦方向の画素の位置を画素単位で順次移動させながら繰り返しS530〜S545の処理を行い、条件不成立の場合にはS550に進む。
【0057】
図12の左側は、横方向の距離差が縦方向の距離差以上である場合に連結位置情報を取得する様子を示している。ここで、エッジ画素61a,bは、拡大画像の画素単位でエッジとされた画素である。そして、横方向の画素の位置を画素単位で順次移動させながら、例えば連結画素61c,61d,61eの順に当該画素の座標値を連結位置情報として取得する。一方、図の右側は、縦方向の距離差が縦方向の距離差以上である場合にエッジ画素62a,b間で連結位置情報を取得する様子を示している。この場合、縦方向の画素の位置を画素単位で順次移動させながら、例えば連結画素62c,62d,62eの順に当該画素の座標値を連結位置情報として取得する。このように、連結画素の抜けを生じさせないため、良好なエッジを細線で得ることが可能となっている。
【0058】
S550では、上記処理により取得した連結位置情報を含めて、拡大画像のエッジの領域を表すエッジ情報を生成し、本フローを終了する。このように、簡易な構成で確実に拡大画像のエッジどうしを連結することができ、また、近隣する拡大画像のエッジどうしの間で画素単位毎にエッジの領域とされるので、確実に拡大画像のエッジを精度よく細線で形成することが可能となる。
図10のS430のエッジ生成処理を終了すると、拡大画像の全ブロックについてエッジ情報を生成するS405〜S430の処理を行ったか否かを判断する(S435)。条件不成立の場合には、繰り返しS405〜S435によりエッジ情報を生成する処理を行う。条件成立の場合には、本フローを終了する。
【0059】
以上の処理により、拡大画像の画素単位でエッジの領域が形成されるので、拡大画像のエッジを精度よく細線で形成して鮮鋭化等の処理を容易に行うことが可能であるとともに、エッジのジャギーを少なくさせることが可能となる。従って、生成されるエッジ情報を用いて拡大画像を生成すると、ジャギーの少ない滑らかな拡大エッジ画像を得ることができ、拡大後でもジャギーの少ない拡大画像を得ることが可能となる。
【0060】
(3−3)補間処理:
ゼロクロス連結処理を終了すると、図5のS115に進み、補間処理を行う。
図13は、上記補間処理をフローチャートにより示している。
補間処理後の拡大画像の階調データを格納するバッファ領域をRAM内に確保したうえで、まず、拡大画像の画素を区分した3×3画素のブロック毎に、注目ブロックの位置を設定する(S605)。次に、エッジ情報に基づいて、拡大画像の注目ブロック内に同拡大画像の画素単位とされたゼロクロス、すなわち、エッジの領域が存在するか否かを判断する(S610)。注目ブロック内にエッジの領域が存在する(対応する拡大画像上のエッジの座標値がバッファに格納されていない)場合にはS615に進み、注目ブロック内にエッジの領域が存在しない場合にはS635に進む。
【0061】
S615では、図14に示すように、注目ブロックに対応する拡大前画像における対応画素I1uおよびその近隣に位置する3×3画素(拡大画像の3×3ブロックに相当)の輝度値(ガウスぼかし処理後の画像データD1’)を2値化して拡大前画像の各画素に対応した2値化データD3を生成する。対応画素I1uが拡大前画像の端部にある場合には、拡大前画像の端部の画素における輝度値が拡大前画像の外側にあるものとして2値化データを生成する。本実施形態では、3×3画素の輝度値の最大値と最小値の平均値をしきい値L5として、各画素の輝度値がしきい値L5以上(またはより大)である場合に2値化データを1とし、しきい値L5より小(または以下)である場合に2値化データを−1としている。
そして、2値化データと、所定の複数のマッチングパターンとがマッチ(一致)するか否かを判断するパターンマッチング処理を行う(S620)。
【0062】
図15は、検出用の3×3フィルタマトリクスであるマッチングパターンの一例を模式的に示している。図において、エッジの向き90度、30度、45度に対応して、それぞれ90度用のマッチングパターンが12種類、30度用のマッチングパターンが16種類、45度用のマッチングパターンが8種類示されている。これらの他、60度用、135度用、180度用、等のマッチングパターンもそれぞれ複数種類用意されている。各マッチングパターンは、拡大画像上の注目ブロックを中心とした3×3ブロックに相当する拡大前画像の3×3画素の領域内に各種形状のエッジが存在するか否かを判定可能とするパターンである。むろん、マッチングパターンは、図に示したものに限定されない。
2値化データとマッチングパターンとがマッチするかどうかは、3×3の各画素の2値化データ(d1〜d9とする)と、マッチングパターンの各要素値(f1〜f9とする)との積の総和S1=Σfi・diを算出し、この総和S1がマッチングパターンの各要素値の絶対値の総和S2=Σ|fi|と等しくなるか否かにより判断する。S1=S2となれば拡大前画像のエッジの傾きがマッチングパターンとマッチしたことになり、マッチしたマッチングパターンに対応する形状のエッジが注目ブロックおよびその近隣に位置するブロックに存在する旨の判定結果を表す情報を取得することになる。
【0063】
図14の例では、2値化データD3と図15の「90−1」の90度用マッチングパターンとの総和S1を算出すると、−2となる。「90−1」のマッチングパターンにおける各要素の絶対値の総和S2は6であるので、2値化データは「90−1」のマッチングパターンとマッチしない(一致しない)ことになる。一方、2値化データD3と図15の「30−12」の30度用マッチングパターンとの総和S1を算出すると、5となる。「30−12」のマッチングパターンにおける各要素の絶対値の総和S2は5であるので、2値化データは「30−12」のマッチングパターンとマッチ(一致)することになる。この場合、エッジの向きは30度であり、エッジが存在するか否かの判定結果を表す情報は「30−12」とされる。
むろん、マッチングパターンを用いる以外にも、二つの画素値の差(輝度値差、RGB値差、各色値の差、等)が小さくなる方向からエッジの存在を判定してもよいし、近隣する画素のエッジの方向を反映させてエッジの存在を判定してもよいし、近隣する画素のエッジの強度を反映させてエッジの存在を判定してもよい。また、処理は複雑になるものの、ベクトルの概念を導入してエッジの存在を判定してもよい。さらに、それらの組み合わせによりエッジの存在を判定してもよい。
【0064】
なお、図10のゼロクロス連結処理で、注目ブロックの右隣、左下、下隣、右下のいずれかの隣接ブロックにゼロクロスが存在する場合に、上記マッチングパターンに基づいてエッジの向きを決定して、エッジの向きを表す情報を取得し、当該情報に基づいて、注目ブロック内のエッジと隣接ブロック内のエッジとを結ぶ直線の傾きが、マッチングパターンを用いて決定されたエッジの向きと一致するか否かを判断し、一致すると判断したときのみ、S430のエッジ生成処理を行ってもよい。すると、簡易な構成で確実に拡大画像のエッジどうしを連結することができ、確実に拡大画像のエッジを精度よく細線で形成する処理を高速にて行うことが可能となる。また、エッジ情報を確実に生成するためのマッチングパターンを、拡大画像の各画素に対応した階調データを生成するためのマッチングパターンに流用することができるので、エッジ情報を生成してエッジブロックの鮮鋭化処理を効率よく行うことが可能となる。
S620で2値化データとマッチングパターンとがマッチすると判断した場合、注目ブロック内にエッジが確実に存在すると判定したことになり、エッジ色埋め処理を行って(S625)S670に進む。一方、マッチしないと判断した場合、バイキュービック法による補間処理で階調データを生成してもよいと判定したことになり、バイキュービック処理を行って(S630)S670に進む。
【0065】
図16は、上記エッジ色埋め処理をフローチャートにより示している。まず、パターンマッチング処理の結果から、エッジが存在するか否かの判定結果を表す情報を取得する(S705)。次に、エッジが2辺を通過しているか否かを判断する(S710)。
例えば、図17の上段に示すような手法により、エッジが2辺を通過しているか否かを判断することができる。注目ブロック内の各画素の位置を(x,y)で表すとして(x=0〜2、y=0〜2)、(0〜2,0),(0,1),(2,1),(0〜2,2)の4領域のうち2以上の領域にエッジの領域とされた拡大画像上の画素(エッジ画素とも記載)が存在し、かつ、(0,0〜2),(1,0),(1,2),(2,0〜2)の4領域のうち2以上の領域にエッジが存在するとき、エッジが2辺を通過していると判断することができる。むろん、この手法以外にも、様々な手法を採用可能である。
【0066】
エッジが2辺を通過していると判断した場合、注目ブロックにてエッジで分割される2領域それぞれの階調値を算出する(S715)。S620でパターンマッチング処理が行われた結果、2値化データとマッチするマッチングパターンが「30−5」であったとする。ここで、図17の中段に示すように、注目ブロックに対応する拡大前画像の対応画素を中心とした3×3画素のガウスぼかし処理前における画像データの各階調値をH1〜H9(左上がH1、右下がH9)で表すことにする。H1〜H9は、画像データがYCbCrデータである場合にはYCbCr各階調値であり、RGBデータである場合にはRGB各階調値である。なお、H1〜H9を、ガウスぼかし処理後の各階調値としてもよい。階調データ(YCbCr各階調値等)を生成する注目ブロック内において、明るい(階調値の大きい)領域の階調値をE1、暗い(階調値の小さい)領域の階調値をE2として、エッジ画素から明るい側の領域の階調値をE1とし、エッジ画素から暗い側の領域の階調値をE2とする。拡大前画像の明るい領域はマッチングパターンの「1」の部分に相当するので、階調値H1〜H9のうちマッチングパターンの「1」の部分に対応する階調値からE1を算出する。一方、拡大前画像の暗い領域はマッチングパターンの「−1」の部分に相当するので、階調値H1〜H9のうちマッチングパターンの「−1」の部分に対応する階調値からE2を算出する。
【0067】
複数のマッチングパターンのそれぞれに対応して階調値E1,E2を算出するための情報は予めHDに格納されており、同情報を読み出してマッチングパターン別に階調値E1,E2を算出する。マッチングパターン「30−5」の場合、以下の式により階調値E1,E2を計算する情報がHDに格納されている。
E1 = (2×H2 + H3 + H4)/4
E2 = (2×H5 + H6 + H7)/4
なお、パターンマトリクスの「1」、「−1」それぞれの周辺の画素について、計算したE1,E2と近ければその画素の階調値も計算に含めてもよい。すると、エッジブロックと非エッジブロックとで色の差をさらに少なくすることが可能となる。
【0068】
階調値E1,E2が求まると、補間処理後の拡大画像の階調データを記憶するバッファに対して注目ブロック内でエッジにより分割される領域別に階調値を格納し(S720)、本フローを終了する。注目ブロック内の各画素をエッジで2領域に分割する手法は、様々考えられる。例えば、注目ブロックのどの辺をエッジが横切っているかを調べるとともにエッジの傾きを調べ、エッジが立っていれば、どちらかの横方向から階調値を埋めていき、エッジが見つかったところ以降を別の階調値で埋めていくと、簡易な構成により容易に注目ブロック内の2領域に対して色を埋めることができる。
すなわち、例えば、パターンマッチング処理によりエッジの向きが30度、45度、135度、180度と決定した場合、エッジ画素よりも上側となる注目ブロック内の画素を階調値E1(マッチングパターン内で「1」の部分が「−1」の部分より上側のとき)または階調値E2(マッチングパターン内で「1」の部分が「−1」の部分より下側のとき)とする領域とし、エッジ画素よりも上側となる注目ブロック内の画素を残りの階調値とする領域とすればよい。また、パターンマッチング処理によりエッジの向きが90度、60度と決定した場合、エッジ画素よりも左側となる注目ブロック内の画素を階調値E1(マッチングパターン内で「1」の部分が「−1」の部分より左側のとき)または階調値E2(マッチングパターン内で「1」の部分が「−1」の部分より右側のとき)とする領域とし、エッジ画素よりも右側となる注目ブロック内の画素を階調値E1とする領域とすればよい。
【0069】
なお、エッジ画素については予めどちらの階調値にするかを決めておけばよいが、本実施形態では明るいほうの領域の階調値とするものとしている。従って、エッジ画素の階調値はE1とされる。
S705〜S720の処理を全ブロックについて繰り返すことにより、注目ブロックおよびその近隣に位置するブロックにエッジが存在すると判定したときに注目ブロックの各画素についてエッジの領域から当該画素側にある拡大画像の画素の画像データのみを用いて拡大画像の階調データを生成することができる。そして、マッチングパターンを用いてエッジの通過位置を決定するという簡易な構成で確実にエッジブロックについて鮮鋭化処理を行うことができ、確実に拡大画像のエッジ部分を精度よく細線で形成することが可能となって、同エッジ部分について鮮鋭さを維持して良好な画質の拡大画像を得ることが可能となる。また、エッジブロックと非エッジブロックとで色の差を軽減する拡大処理を実現することができる。
【0070】
S710でエッジが2辺を通過していないと判断した場合、注目ブロック内で領域を分割して階調データを生成する必要がないので、以下の手順に従って、注目ブロック内で画素別にバイキュービック法による補間処理を行う(S725)。
図3を参照して説明すると、まず、注目ブロックN2内で注目画素N1の位置を設定し、注目画素N1の近隣に位置する拡大前画像I1における所定領域R1内の複数の参照画素P11〜P44を決定する。
【0071】
図18は、参照画素P11〜P44を決定する様子を模式的に示している。ここで、注目ブロックに対応する拡大前画像における対応画素の位置を(X,Y)、注目ブロック内での注目画素N1の位置を(x,y)、画像の拡大率をM、s=M/2(ただし、小数点以下切り捨て)とすると、M=3のとき、x=0〜2、y=0〜2、s=1となり、16点の参照画素の位置は以下のように決定される。
【0072】
x<sかつy<s、すなわち、注目画素が(0,0)のとき、
(X−2,Y−2)〜(X+1,Y+1)
x≧sかつy<s、すなわち、注目画素が(1,0),(2,0)のとき、
(X−1,Y−2)〜(X+2,Y+1)
x<sかつy≧s、すなわち、注目画素が(0,1),(0,2)のとき、
(X−2,Y−1)〜(X+1,Y+2)
x≧sかつy≧s、すなわち、注目画素が(1,1),(1,2),(2,1),(2,2)のとき、
(X−1,Y−1)〜(X+2,Y+2)
このように、注目ブロック内の画素の位置に応じた適切な領域の参照画素が設定される。
【0073】
そして、ガウスぼかし処理が行われていない参照画素P11〜P44の画像データの階調値をP11〜P44で表すと、補間処理後の階調値Eは、以下の式により算出することができる。
【数1】
Figure 2004215163
ただし、バイキュービック法での距離係数dx,dyは、
x<sかつy<sのとき、dx=(x+M−s)/M, dy=(y+M−s)/M
x≧sかつy<sのとき、dx=(x−s)/M, dy=(y+M−s)/M
x<sかつy≧sのとき、dx=(x+M−s)/M, dy=(y−s)/M
x≧sかつy≧sのとき、dx=(x−s)/M, dy=(y−s)/M
である。
ここで、参照画素が拡大前画像の端部からはみ出るとき、拡大前画像の端部の画素が外側に向かって連続しているものとして階調値を計算する。
なお、ガウスぼかし処理が行われた階調値を用いて補間処理後の階調値Eを算出してもよい。
上記補間処理を行うと、注目ブロック内の画素別に算出した階調値Eをバッファに格納し(S730)、本フローを終了する。
【0074】
図13のS620で2値化データとマッチングパターンとがマッチしないと判断した場合に行われるバイキュービック処理(S630)は、図16の725〜S730と同様、バイキュービック法による補間処理を行って算出した階調値をバッファに格納する処理を行う。すなわち、2値化データと複数のマッチングパターンとが一致しない場合、拡大ブロックの近隣に位置する拡大前画像における所定領域内の画素の画像データを用いて補間処理を行って注目ブロックの各画素について階調データを生成する。従って、エッジの領域が存在するブロックとその近隣に位置するブロックについて、エッジの存在が検出されなくても、確実にそのブロックについて拡大画像の各画素に対応した階調データを生成することができる。
【0075】
S610で注目ブロック内にエッジの領域が存在しないと判断した場合、適切な補間処理を選択するため、拡大前画像上で注目ブロックに対応する対応画素を中心とする5×5画素のガウスぼかし処理前における輝度値Yの最大値と最小値の差(画像データの異なり度合)を求める(S635)。図18に示すように、同5×5画素は、注目画素の近隣に位置する補間処理前の拡大前画像における第二の所定領域R2内の複数の画素であり、注目ブロック内の画素の階調データを生成する際に参照画素とされる可能性のある画素である。なお、ガウスぼかし処理が行われた拡大前画像上で対応画素を中心とする5×5画素の輝度値の最大値と最小値の差を求めてもよい。
なお、対応画素とその近隣に位置する画素の画像データの異なり度合は、上記最大値と最小値との差等の最大値と最小値との組み合わせに基づく値の他、2番目に大きい値と2番目に小さい値との組み合わせに基づく値、これらに中間値も組み合わせた値、等、様々なものを採用可能である。
【0076】
そして、求めた差に応じて処理を分岐させ、補間処理の種類を切り換える(S640)。すなわち、所定のしきい値L6,L7(L6<L7)を用意しておき、求めた差がL6以下(またはより小)のときにニアリストネイバ処理を行って(S645)S670に進み、求めた差がL6より大(または以上)かつL7以下(またはより小)のときに選択バイリニア処理を行って(S650)S670に進み、求めた差がL7より大(または以上)のときに選択バイキュービック処理を行って(S655)S670に進む。注目ブロックに近隣する画素の画像データに応じて適切な補間処理を行うことが可能となるので、エッジ部分の鮮鋭さを維持して補間処理後の拡大画像を高画質にさせることが可能となる。ここで、参照する画素の数はニアリストネイバ法、バイリニア法、バイキュービック法の順に1、4、16と増えるので、領域R2内の5×5画素についての輝度値の最大値と最小値の差が大きくなるほど、画像データを参照する画素の数が増える。輝度値の異なり度合が大きいほど高精度にて補間処理を行う必要があるが、同異なり度合が大きくなるほど補間処理にて参照する画素の数が増えて高精度の補間処理が行われ、同異なり度合が小さくなるほど補間処理にて参照する画素の数が減って高速にて補間処理が行われる。従って、効率よく、高精度にて補間処理を行って高画質の拡大画像を得ることが可能となる。
なお、選択バイリニア処理と選択バイキュービック処理のいずれか一方のみを行うようにしてもよいし、ニアリストネイバ処理の代わりにバイリニア法による補間処理等を行ってもよい。
【0077】
図19は、S655で行われる選択バイキュービック処理をフローチャートにより示している。
図3を参照して説明すると、まず、注目ブロックN2内で注目画素N1の位置(x,y)を設定する(S805)。拡大画像上における注目ブロックの設定順序と同様、(0,0),(0,1)…(2,2)の順に設定する。次に、図18で示したように、注目画素N1の近隣に位置する拡大前画像I1における所定領域R1内の4×4の参照画素P11〜P44を決定する(S810)。
【0078】
その後、決定した複数の参照画素P11〜P44のそれぞれについて、順次、ガウスぼかし処理が行われていない画像データの階調値P’を取得する(S815)。画像データがYCbCrデータであれば、YCbCr各成分別に階調値を取得する。ガウスぼかし処理が行われた階調値を取得してもよい。なお、参照画素が拡大前画像の外側となる場合には、拡大前画像の端部の画素における階調値が拡大前画像の外側に向かって連続しているものとして階調値を取得する。そして、取得した階調値P’について、注目ブロックN2に対応する対応画素の階調値P0との差が所定のしきい値L8より大(または以上)であるか否か、すなわち、
|P’−P0|>L8
が成立するか否かを判断していく(S820)。拡大前画像の画像データの階調値が256階調であるとき、しきい値L8を例えば50等とすればよい。
【0079】
階調値の差がL8より大きい(所定範囲外)とき、参照画素Pijの階調値を対応画素の階調値P0に置き換えて上記補間処理の演算式(8)に代入する階調値Pijとし(S825)、S830に進む。一方、階調値の差がL8以下(所定範囲内)であるとき、階調値を置き換えることなく参照画素Pijの階調値をそのまま上記演算式(8)に代入する階調値Pijとし、S830に進む。対応画素の階調値との差異が大きい画素の階調値が用いられないので、S820では、注目画素の近隣に位置する所定領域内の複数の画素上を画像のエッジの領域が横切っているか否かを拡大前画像の画像データに基づいて判断していることになる。そして、横切っていると判断したとき、S825で、エッジの領域から注目画素側にある画素の画像データのみを用いて補間処理を行う。
S830では、S820の判断処理をしていない他の参照画素が存在するか否かを判断する。他の参照画素が存在している場合には繰り返しS815〜S830の処理を行い、全ての参照画素について同処理を行った場合にはS835に進む。
【0080】
S835では、階調値の置き換え処理が行われた参照画素の階調値Pijを用いて上記演算式(8)により補間処理後の階調値Eを算出するバイキュービック補間処理を行う。補間処理を行うと、算出した階調値Eをバッファに格納する(S840)。このように、階調値を置き換えるという簡易な構成で、公知の補間処理を利用することができ、注目ブロックに対応する拡大前画像における対応画素との階調値の差異が所定範囲内となる画素の画像データのみを用いて容易に補間処理を行うことができる。
その後、注目ブロック内の全画素について、補間処理を行ったか否かを判断する(S845)。条件不成立の場合には、注目ブロック内で注目画素を順次移動させながら繰り返しS805〜S845の処理を行い、バイキュービック法による補間処理を行う。条件成立の場合には、本フローを終了する。
【0081】
すなわち、補間処理後の画像上で階調データを生成する注目画素の近隣に位置する所定領域内の複数の画素の画像データを参照して補間処理を行う際、同所定領域内の複数の画素のうち注目画素に対応する補間処理前の画像における対応画素との画像データの差異が所定範囲内となる画素の画像データのみを用いた補間処理が行われる。
以上の処理により、補間処理の際に注目ブロックに対応した対応画素の画像データとの差異が大きい画素の画像データが用いられないので、図4で示したように、実質的にはエッジの領域から注目画素側にある画素の画像データのみを用いた補間処理が行われる。すなわち、エッジ部分が平滑化されないので、補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能となる。また、エッジブロックに鮮鋭化等の処理を行っても、エッジブロックと非エッジブロックとで色の差が出なくなり、この点でも画質を向上させることができる。
【0082】
バイリニア法による補間処理についても、同様のことが言える。
図20は、S650で行われる選択バイキュービック処理をフローチャートにより示している。
図21に示すように、まず、注目ブロックN2内で注目画素N1の位置(x,y)を設定する(S905)。次に、注目画素N1の近隣に位置する拡大前画像における所定領域R3内の2×2の参照画素A〜Dを決定する(S910)。ここで、注目ブロックN2に対応する拡大前画像における対応画素の位置を(X,Y)、注目ブロック内での注目画素N1の位置を(x,y)、画像の拡大率をM、s=M/2(ただし、小数点以下切り捨て)とすると、M=3のとき、x=0〜2、y=0〜2、s=1となり、4点の参照画素の位置は以下のように決定される。
【0083】
x<sかつy<s、すなわち、注目画素が(0,0)のとき、
(X−1,Y−1)〜(X,Y)
x≧sかつy<s、すなわち、注目画素が(1,0),(2,0)のとき、
(X,Y−1)〜(X+1,Y)
x<sかつy≧s、すなわち、注目画素が(0,1),(0,2)のとき、
(X−1,Y)〜(X,Y+1)
x≧sかつy≧s、すなわち、注目画素が(1,1),(1,2),(2,1),(2,2)のとき、
(X,Y)〜(X+1,Y+1)
このように、バイリニア法による補間処理を行う場合でも、注目ブロック内の画素の位置に応じた適切な領域の参照画素が設定される。
【0084】
そして、ガウスぼかし処理が行われていない参照画素A,B,C,Dの画像データの階調値をそれぞれa,b,c,dで表すと、補間処理後の階調値Eは、以下の式により算出することができる。
【数2】
Figure 2004215163
ただし、バイリニア法での距離係数di,djは、
x<sかつy<sのとき、di=(x−s+M), dj=(y−s+M)
x≧sかつy<sのとき、di=(x−s), dj=(y+M−s)
x<sかつy≧sのとき、di=(x+M−s), dj=(y−s)
x≧sかつy≧sのとき、di=(x−s), dj=(y−s)
である。
ここで、参照画素が拡大前画像の端部からはみ出るとき、拡大前画像の端部の画素における階調値が外側にある(折り返されている)ものとして階調値を計算する。
【0085】
その後、決定した複数の参照画素A〜Dのそれぞれについて、順次、ガウスぼかし処理が行われていない画像データの階調値を取得する(S915)。そして、取得した階調値について、注目ブロックN2に対応する対応画素の階調値P0との差が所定のしきい値L9より大(または以上)であるか否かを判断していく(S920)。拡大前画像の画像データの階調値が256階調であるとき、しきい値L9を例えば50等とすればよい。本実施形態ではL8=L9としているが、L8とL9とは異なる値であってもよい。
階調値の差がL9より大きいとき、参照画素A〜Dの階調値を対応画素の階調値P0に置き換えて上記補間処理の演算式(9)に代入する階調値a〜dとし(S925)、S930に進む。一方、階調値の差がL9以下であるとき、階調値を置き換えることなく参照画素A〜Dの階調値をそのまま上記演算式(9)に代入する階調値a〜dとし、S930に進む。
S930では、S920の判断処理をしていない他の参照画素が存在するか否かを判断する。他の参照画素が存在している場合には繰り返しS915〜S930の処理を行い、全ての参照画素について同処理を行った場合にはS935に進む。
【0086】
S935では、階調値の置き換え処理が行われた参照画素の階調値a〜dを用いて上記演算式(9)により補間処理後の階調値Eを算出するバイリニア補間処理を行う。補間処理を行うと、算出した階調値Eをバッファに格納する(S940)。その後、注目ブロック内の全画素について、補間処理を行ったか否かを判断する(S945)。条件不成立の場合には、注目ブロック内で注目画素を順次移動させながら繰り返しS905〜S945の処理を行い、バイリニア法による補間処理を行う。条件成立の場合には、本フローを終了する。
【0087】
なお、図13のS645で行われるニアリストネイバ処理では、注目画素から最短距離にある拡大前画像上の画素の画像データのみを参照するニアリストネイバ法によって補間処理を行い、算出した階調値をバッファに格納する処理を行う。
そして、S670では、拡大画像の全ブロックについて拡大画像の各画素に対応した階調データを生成したか否かを判断する。条件不成立の場合には、拡大画像上で注目ブロックを順次移動させながら繰り返しS605〜S655により拡大画像の各画素に対応した階調データを生成する処理を行う。条件成立の場合には、本フローを終了する。
【0088】
例えば、図22の上段に示すような輝度値Yを有する拡大前画像を3倍に拡大する場合を例に挙げる。わかりやすいように、ここでは拡大前画像の画像データD1として輝度値Yのみを用いているが、YCbCr各成分値やRGB各階調値等についても適用が可能である。
まず、同拡大前画像に対して、ゼロクロス検出処理、ゼロクロス連結処理を行い、エッジ情報を生成する。その結果、(4,0),(3,1),(2.2),(1,2),(1,3),(0,4)の画素に対応する拡大画像のブロック内の各画素に対応してエッジの領域を表すエッジ情報が生成されたとする。
【0089】
注目ブロックの位置が(0,0)である場合、エッジの領域が存在しないので、図13のS635で輝度値の異なり度合を求めることになる。注目ブロックに対応する対応画素(0,0)を中心とする5×5画素の輝度値Yは、図22の中段に示す値となる。なお、拡大前画像の外側となる部分については、端部の輝度値が拡大前画像の外側に向かって連続しているものとしている。ここで、5×5画素の輝度値の最大値は224、最小値は96であるので、最大値と最小値との差は128となり、しきい値L7(100)より大きくなる。そこで、図13の655で選択バイキュービック処理が行われる。
なお、一般的なバイキュービック補間は、ブロックの左上の画素に、拡大前画像の注目画素の値がくるようになっている。しかし、本画像補間装置は、エッジ検出の結果との整合性を取るため、図18で示したように、ブロックの中心に拡大前画像の注目画素の値がくるようにブロック内での補間ピクセルの位置によって参照するピクセルを変更して、補間演算を行っている。これは、エッジ検出の方法との兼ね合いで、する必要がない場合もある。
【0090】
注目ブロック内の右下の画素を補間する場合、このピクセル位置(x,y)はブロック内で(2,2)である。x,yともに拡大率Mの半分以上であるため、バイキュービック法による計算を行う際に、参照点として用いるのは、(−1,−1)〜(2,2)の16点となる。ここで、拡大前画像の端部からはみ出る部分については、端部のピクセルが連続しているものとして計算する。つまり、参照画素は、図22の下段に示す位置となる。
この場合、拡大前画像の画素(2,2)の輝度値(画像データの値)は96であるため、注目画素の対応する対応画素(注目ブロックに対応する対応画素と同じ)の輝度値203との差は107となり、しきい値L8(50)より大きい。すなわち、画素(2,2)の輝度値は所定範囲外であるため同画素(2,2)の輝度値を画素(0,0)の輝度値203で置き換え、他の画素の輝度値は所定範囲内であるためそのままとする。
また、距離係数は、dx=(2−1)/3=0.333、dy=(2−1)/3=0.333となる。これらの値を用いて、上記演算式(8)により補間処理後の階調値Eを計算する。
このような補間処理を注目ブロック内の全てのピクセルに対して繰り返すことになる。
【0091】
従来からのバイキュービック法やバイリニア法による補間処理では、エッジの領域を跨いで色の画素補間を行うため、エッジ部分に鮮鋭化処理を行い、同エッジ部分の近傍で補間処理を行うと、エッジブロックとその周囲でブロックとの間での色の差が発生していた。本発明によると、エッジの領域を越えた参照画素の画像データを用いないようにしたので、エッジブロックと非エッジブロックとで色の差の発生を少なくすることができる。また、補間処理後の階調データを生成するために所定のパターンを拡大率別に用意しておく必要がないため、任意倍率の画像拡大処理を容易に行うことができる。
なお、本画像補間装置は、2次元デジタル画像を拡大する場合や、プリンタ印刷時の画像拡大処理を行う場合、小型携帯機器などで撮影した低解像度画像を拡大する場合等、様々な場面に利用することができ、少ない計算量による、適切な色の補間処理を行うことができる。
【0092】
(4)変形例:
本発明の画像補間装置は、様々な構成が可能である。
例えば、プリンタは、コンピュータと一体化されたものであってもよい。上述したフローについては、コンピュータ本体内で実行する以外にも、一部または全部をプリンタあるいは専用の画像出力装置で実行するようにしてもよい。
画像データを構成する多数の画素は、縦横に整然と並んだドットマトリクス状とされる以外にも、様々な構成が考えられる。例えば、正六角形を密に並べたような蜂の巣状に整然と並んだドットマトリクス状の画素から画像データを構成してもよい。
以上説明したように、本発明によると、補間処理の際に注目画素に対応した対応画素の画像データとの差異が大きい画素の画像データが用いられないので、実質的には注目画素の近隣に位置する所定領域内の領域のうちエッジの領域を越えた領域の画素の画像データが用いられず、エッジ部分が平滑化されない。従って、補間処理後でもエッジ部分の鮮鋭さを維持して画質を向上させることが可能な画像補間装置および画像補間プログラムを提供することができる。また、画像補間方法としても適用可能である。
【図面の簡単な説明】
【図1】印刷システムのハードウェア構成の概略を示すブロック図。
【図2】プリンタのハードウェア構成の概略を示すブロック図。
【図3】画像補間装置の構成の概略を模式的に示す図。
【図4】補間処理の様子を模式的に示す図。
【図5】画像補間装置が行う処理を示すフローチャート。
【図6】ゼロクロス検出処理を示すフローチャート。
【図7】フィルタ演算処理を示すフローチャート。
【図8】ゼロクロス位置算出処理を示すフローチャート。
【図9】拡大エッジ位置情報を取得する様子を模式的に示す図。
【図10】ゼロクロス連結処理を示すフローチャート。
【図11】エッジ生成処理を示すフローチャート。
【図12】連結位置情報を取得する様子を模式的に示す図。
【図13】補間処理を示すフローチャート。
【図14】2値化データを生成してパターンマッチング処理を行う様子を模式的に示す図。
【図15】マッチングパターンの一例を模式的に示す図。
【図16】エッジ色埋め処理を示すフローチャート。
【図17】エッジ色埋め処理を行う様子を模式的に示す図。
【図18】選択バイキュービック処理で参照画素を決定する様子を模式的に示す図。
【図19】選択バイキュービック処理を示すフローチャート。
【図20】選択バイリニア処理を示すフローチャート。
【図21】選択バイリニア処理で参照画素を決定する様子を模式的に示す図。
【図22】補間処理を選択して参照画素を設定する様子を模式的に示す図。
【符号の説明】
10…パーソナルコンピュータ(PC)、11…CPU、12…ROM、13…RAM、14…ハードディスク(HD)、15…CD−ROMドライブ、16…フレキシブルディスク(FD)ドライブ、17a〜e…インターフェイス(I/F)、18a…ディスプレイ、18b…キーボード、18c…マウス、20…インクジェットプリンタ、30…デジタルカメラ、51…注目画素、52…隣接画素、53,56…ゼロクロス、54…注目ブロック、55…隣接ブロック、57…拡大エッジ位置情報、61a,b,62a,b…エッジ画素、61c〜e,62c〜e…連結画素、100…印刷システム、D1…画像データ、D2…エッジ情報、D3…2値化データ、I1…拡大前画像、I1u…画素、I2…拡大画像、I2d…ブロック(画素区分)、I2u…画素、N1…注目画素、N1u…対応画素、N2…注目ブロック、R1,R3…所定領域、R2…第二の所定領域、U0…画像補間装置、U1…エッジ生成手段、U2…補間手段

Claims (13)

  1. 画像をドットマトリクス状の画素で階調表現する画像データから補間処理を行って補間処理後の画像の各画素に対応した階調データを生成する画像補間装置であって、
    上記補間処理後の画像上で上記階調データを生成する注目画素の近隣に位置する補間処理前の画像における所定領域内の複数の画素の画像データを参照して上記補間処理を行う際、同所定領域内の複数の画素上を上記画像のエッジの領域が横切っているか否かを上記画像データに基づいて判断し、横切っていると判断したときには同エッジの領域から同注目画素側にある画素の画像データのみを用いて上記補間処理を行うことを特徴とする画像補間装置。
  2. 画像をドットマトリクス状の画素で階調表現する画像データから補間処理を行って補間処理後の画像の各画素に対応した階調データを生成する画像補間装置であって、
    上記補間処理後の画像上で上記階調データを生成する注目画素の近隣に位置する補間処理前の画像における所定領域内の複数の画素の画像データを参照して上記補間処理を行う際、同所定領域内の複数の画素のうち同注目画素に対応する補間処理前の画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて上記補間処理を行うことを特徴とする画像補間装置。
  3. 拡大前画像をドットマトリクス状の画素で階調表現する画像データから補間処理を行って同拡大前画像を拡大した拡大画像の各画素に対応した階調データを生成する画像補間装置であって、
    上記拡大画像上で注目画素を順次移動させながら同注目画素の近隣に位置する上記拡大前画像における所定領域内の複数の画素の画像データを参照して上記補間処理を行う際、同所定領域内の複数の画素のうち同注目画素に対応する拡大前画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて上記補間処理を行うことを特徴とする画像補間装置。
  4. 拡大前画像をドットマトリクス状の画素で階調表現する画像データから補間処理を行って同拡大前画像を拡大した拡大画像の各画素に対応した階調データを生成する画像補間装置であって、
    上記拡大前画像の画素に対応して上記拡大画像の画素を区分した画素区分毎に同拡大画像上で注目画素区分を順次移動させながら同注目画素区分内の各画素について近隣に位置する上記拡大前画像における所定領域内の複数の画素の画像データを参照して上記補間処理を行う際、同所定領域内の複数の画素のうち同注目画素区分に対応する拡大前画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて上記補間処理を行うことを特徴とする画像補間装置。
  5. 上記注目画素区分に対応する拡大前画像における画素との画像データの差異が所定範囲外となる画素の画像データを、同注目画素区分に対応する拡大前画像における画素の画像データに置き換えて上記補間処理を行うことを特徴とする請求項4に記載の画像補間装置。
  6. 上記画像データに基づいて上記拡大画像の画素単位で当該拡大画像の各画素の位置に対応させて上記拡大画像のエッジの領域を表すエッジ情報を生成するエッジ生成手段を備え、当該エッジ情報に基づいて上記注目画素区分にエッジの領域が存在するか否かを判断し、エッジの領域が存在すると判断したときには同注目画素区分の各画素について同エッジの領域から当該画素側にある上記拡大画像の画素の画像データのみを用いて上記階調データを生成することを特徴とする請求項4または請求項5のいずれかに記載の画像補間装置。
  7. 上記注目画素区分に対応する拡大前画像における画素およびその近隣に位置する画素の画像データを2値化して2値化データを生成し、当該2値化データと、エッジの存在を判定可能とする所定の複数のマッチングパターンと、に基づいて同注目画素区分およびその近隣に位置する画素区分にエッジが存在するか否かを判定し、エッジが存在すると判定したときに同注目画素区分の各画素について上記エッジの領域から当該画素側にある上記拡大画像の画素の画像データのみを用いて上記階調データを生成することを特徴とする請求項4〜請求項6のいずれかに記載の画像補間装置。
  8. 上記注目画素の近隣に位置する補間処理前の画像における第二の所定領域内の複数の画素についての画像データの異なり度合に応じて上記補間処理の種類を切り換えることを特徴とする請求項1〜請求項7のいずれかに記載の画像補間装置。
  9. 上記第二の所定領域内の複数の画素についての画像データの異なり度合が大きくなるほど、上記画像データを参照する画素の数を増やすことを特徴とする請求項8に記載の画像補間装置。
  10. 画像をドットマトリクス状の画素で階調表現する画像データから補間処理を行って補間処理後の画像の各画素に対応した階調データを生成する画像補間方法であって、
    上記補間処理後の画像上で上記階調データを生成する注目画素の近隣に位置する補間処理前の画像における所定領域内の複数の画素の画像データを参照して上記補間処理を行う際、同所定領域内の複数の画素上を上記画像のエッジの領域が横切っているか否かを上記画像データに基づいて判断し、横切っていると判断したときには同エッジの領域から同注目画素側にある画素の画像データのみを用いて上記補間処理を行うことを特徴とする画像補間方法。
  11. 画像をドットマトリクス状の画素で階調表現する画像データから補間処理を行って補間処理後の画像の各画素に対応した階調データを生成する画像補間方法であって、
    上記補間処理後の画像上で上記階調データを生成する注目画素の近隣に位置する補間処理前の画像における所定領域内の複数の画素の画像データを参照して上記補間処理を行う際、同所定領域内の複数の画素のうち同注目画素に対応する補間処理前の画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて上記補間処理を行うことを特徴とする画像補間方法。
  12. 画像をドットマトリクス状の画素で階調表現する画像データから補間処理を行って補間処理後の画像の各画素に対応した階調データを生成する機能をコンピュータに実現させる画像補間プログラムであって、
    上記補間処理後の画像上で上記階調データを生成する注目画素の近隣に位置する補間処理前の画像における所定領域内の複数の画素の画像データを参照して上記補間処理を行う際、同所定領域内の複数の画素上を上記画像のエッジの領域が横切っているか否かを上記画像データに基づいて判断し、横切っていると判断したときには同エッジの領域から同注目画素側にある画素の画像データのみを用いて上記補間処理を行う機能を実現させることを特徴とする画像補間プログラム。
  13. 画像をドットマトリクス状の画素で階調表現する画像データから補間処理を行って補間処理後の画像の各画素に対応した階調データを生成する機能をコンピュータに実現させる画像補間プログラムであって、
    上記補間処理後の画像上で上記階調データを生成する注目画素の近隣に位置する補間処理前の画像における所定領域内の複数の画素の画像データを参照して上記補間処理を行う際、同所定領域内の複数の画素のうち同注目画素に対応する補間処理前の画像における画素との画像データの差異が所定範囲内となる画素の画像データのみを用いて上記補間処理を行う機能を実現させることを特徴とする画像補間プログラム。
JP2003002192A 2003-01-08 2003-01-08 画像補間装置、画像補間方法および画像補間プログラム Expired - Fee Related JP3952188B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003002192A JP3952188B2 (ja) 2003-01-08 2003-01-08 画像補間装置、画像補間方法および画像補間プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003002192A JP3952188B2 (ja) 2003-01-08 2003-01-08 画像補間装置、画像補間方法および画像補間プログラム

Publications (2)

Publication Number Publication Date
JP2004215163A true JP2004215163A (ja) 2004-07-29
JP3952188B2 JP3952188B2 (ja) 2007-08-01

Family

ID=32820009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003002192A Expired - Fee Related JP3952188B2 (ja) 2003-01-08 2003-01-08 画像補間装置、画像補間方法および画像補間プログラム

Country Status (1)

Country Link
JP (1) JP3952188B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008276302A (ja) * 2007-04-25 2008-11-13 Toshiba Corp 情報処理装置、画像処理方法および画像処理プログラム
KR100892748B1 (ko) * 2006-09-13 2009-04-15 에이에스엠엘 마스크툴즈 비.브이. 피처 피치에 기초하여 패턴 분해를 수행하는 방법
JP2010522485A (ja) * 2007-03-19 2010-07-01 株式会社ソニー・コンピュータエンタテインメント ビデオをアップスケールするための方法および装置
JP2013131859A (ja) * 2011-12-20 2013-07-04 Axell Corp 画像処理装置及び画像処理方法
US9536461B2 (en) 2014-07-01 2017-01-03 Sony Interactive Entertainment Inc. Method and system for use in uprendering multimedia content
CN106651991A (zh) * 2016-09-12 2017-05-10 广州市久邦数码科技有限公司 一种智能贴图实现方法及其系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302333A (ja) * 1994-04-14 1995-11-14 Hewlett Packard Co <Hp> エッジ・マッピングを用いたデジタル・イメージ拡大方法
JPH1169144A (ja) * 1997-08-12 1999-03-09 Sony Corp 画像信号の変換装置および変換方法
JP2000134477A (ja) * 1998-10-26 2000-05-12 Canon Inc 画像処理装置、印刷機制御用コントローラ、ホストコンピュータおよび画像処理装置の制御方法
JP2000242774A (ja) * 1998-12-18 2000-09-08 Canon Inc 画像処理方法及び装置
JP2000253238A (ja) * 1999-03-01 2000-09-14 Mitsubishi Electric Corp 画像処理装置及び画像処理方法
JP2001160138A (ja) * 1999-10-29 2001-06-12 Canon Inc 画像処理方法及び画像処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302333A (ja) * 1994-04-14 1995-11-14 Hewlett Packard Co <Hp> エッジ・マッピングを用いたデジタル・イメージ拡大方法
JPH1169144A (ja) * 1997-08-12 1999-03-09 Sony Corp 画像信号の変換装置および変換方法
JP2000134477A (ja) * 1998-10-26 2000-05-12 Canon Inc 画像処理装置、印刷機制御用コントローラ、ホストコンピュータおよび画像処理装置の制御方法
JP2000242774A (ja) * 1998-12-18 2000-09-08 Canon Inc 画像処理方法及び装置
JP2000253238A (ja) * 1999-03-01 2000-09-14 Mitsubishi Electric Corp 画像処理装置及び画像処理方法
JP2001160138A (ja) * 1999-10-29 2001-06-12 Canon Inc 画像処理方法及び画像処理装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100892748B1 (ko) * 2006-09-13 2009-04-15 에이에스엠엘 마스크툴즈 비.브이. 피처 피치에 기초하여 패턴 분해를 수행하는 방법
JP2010522485A (ja) * 2007-03-19 2010-07-01 株式会社ソニー・コンピュータエンタテインメント ビデオをアップスケールするための方法および装置
US8717502B2 (en) 2007-03-19 2014-05-06 Sony Computer Entertainment Inc. Methods and apparatuses for upscaling video
US9215403B2 (en) 2007-03-19 2015-12-15 Sony Computer Entertainment Inc. Methods and apparatuses for upscaling video
JP2008276302A (ja) * 2007-04-25 2008-11-13 Toshiba Corp 情報処理装置、画像処理方法および画像処理プログラム
JP2013131859A (ja) * 2011-12-20 2013-07-04 Axell Corp 画像処理装置及び画像処理方法
US9536461B2 (en) 2014-07-01 2017-01-03 Sony Interactive Entertainment Inc. Method and system for use in uprendering multimedia content
CN106651991A (zh) * 2016-09-12 2017-05-10 广州市久邦数码科技有限公司 一种智能贴图实现方法及其系统
CN106651991B (zh) * 2016-09-12 2023-10-31 广州久邦世纪科技有限公司 一种智能贴图实现方法及其系统

Also Published As

Publication number Publication date
JP3952188B2 (ja) 2007-08-01

Similar Documents

Publication Publication Date Title
EP1429286A1 (en) Method of preparing bit map
JP5874721B2 (ja) 画像処理装置、画像補正方法、及び、プログラム
JP6127877B2 (ja) 画像処理装置、および、コンピュータプログラム
JP4328926B2 (ja) 画像データ補間方法、画像データ補間装置および画素補間プログラムを記録した媒体
JP4983684B2 (ja) 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム
JPH07131634A (ja) 画像処理装置
JP2009171560A (ja) 画像処理装置及び画像処理方法並びに画像処理方法を実行するプログラム及び記憶媒体
JPH07322057A (ja) 2進入力画像の解像度の増大方法及びその増大装置、ならびに2進入力画像の外観の改良方法
JP3952188B2 (ja) 画像補間装置、画像補間方法および画像補間プログラム
JP4089862B2 (ja) 画像形成装置、画像形成方法および記録媒体
JP4164215B2 (ja) 画像処理方法、装置および記録媒体
JP2015115957A (ja) 二値周期からマルチビット非周期へのハーフトーン及び解像度の変換
JP3997415B2 (ja) エッジ生成装置、エッジ生成方法およびエッジ生成プログラム
US20060119897A1 (en) Output apparatus and program thereof
US9363414B2 (en) Halftone mechanism
JPH04139589A (ja) 図形処理装置
JP2006237858A (ja) 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム、および記録媒体
JP3888090B2 (ja) 画像処理装置及び画像処理方法
JP3673675B2 (ja) 画像処理方法及び画像処理装置並びに記録媒体
JP6612167B2 (ja) ラスタライズ処理装置、ラスタライズ処理方法、およびプログラム
JPH07221976A (ja) 2値画像データのスムージング拡大処理方法
JP2019121870A (ja) 画像処理装置とその制御方法、及びプログラム
JP6157234B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4517288B2 (ja) 画像処理装置、画像処理方法及びそのプログラム
JP4217332B2 (ja) 画像処理装置及びその方法、コンピュータ可読メモリ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070417

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees