(57)【要約】【課題】  格別な知識がなくても簡単な拡大率を設定するだけで、原画像のシャープネスを維持しつつ、ノイズの発生を抑制した拡大画像を得ることを可能にする。【解決手段】  原画像データＩａを設定された拡大率Ｅに従って拡大することで拡大画像ＩＡを生成する。そして、拡大画像データＩＡに、拡大率Ｅに依存したサイズの平滑化フィルタを用いて、平滑化画像データＩＢを生成する。そして拡大画像データＩＡと平滑化画像データＩＢとの差分を算出し、差分画像データＩＣを生成する。そして、生成された差分画像データに強調係数を乗算し、その結果と拡大画像データとを加算することで、拡大・アンシャープマスク処理された画像データＩＳを得る。【選択図】  図１２
2008033692.tif 000002
【特許請求の範囲】
【請求項１】
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置であって、
拡大率を設定する拡大率設定手段と、
設定された拡大率に従って、前記原画像データを拡大する画像拡大手段と、
設定された拡大率に対応するサイズの平滑化フィルタを用いて、前記画像拡大手段で生成された拡大画像データを平滑化する平滑化手段と、
該平滑化手段で得られた平滑化画像データと前記拡大画像データの差分を算出し、差分画像データを生成する差分画像データ生成手段と、
該差分画像データ生成手段で生成された差分画像データと、前記画像拡大手段で得られた拡大画像データとに基づき出力用拡大画像データを生成する出力画像生成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記出力画像生成手段は、
差分画素の値と強調係数との関係曲線を示す複数の強調係数テーブルと、
ここで、各テーブルの関係曲線の形状は互いに異なる；
前記設定手段で設定された拡大率に基づき、前記複数の強調係数テーブル中の１つを決定する決定手段と、
決定された強調係数テーブルと前記差分画像データ生成手段で生成された差分画像データの注目画素の値とで特定される強調係数を当該注目画素の値に乗算し、当該乗算結果を、前記画像拡大手段で生成された拡大画像データ中の該当する画素に加算する加算手段とを備え、
前記加算手段の加算結果を、前記出力用拡大画像データとして出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置の制御方法であって、
拡大率を設定する拡大率設定工程と、
設定された拡大率に従って、前記原画像データを拡大する画像拡大工程と、
設定された拡大率に対応するサイズの平滑化フィルタを用いて、前記画像拡大工程で生成された拡大画像データを平滑化する平滑化工程と、
該平滑化工程で得られた平滑化画像データと前記拡大画像データの差分を算出し、差分画像データを生成する差分画像データ生成工程と、
該差分画像データ生成工程で生成された差分画像データと、前記画像拡大工程で得られた拡大画像データとに基づき出力用拡大画像データを生成する出力画像生成工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項４】
前記出力画像生成工程は、
差分画素の値と強調係数との関係曲線を示す複数の強調係数テーブルと、
ここで、各テーブルの関係曲線の形状は互いに異なる；
前記設定工程で設定された拡大率に基づき、前記複数の強調係数テーブル中の１つを決定する決定工程と、
決定された強調係数テーブルと前記差分画像データ生成工程で生成された差分画像データの注目画素の値とで特定される強調係数を当該注目画素の値に乗算し、当該乗算結果を、前記画像拡大工程で生成された拡大画像データ中の該当する画素に加算する加算工程とを備え、
前記加算工程の加算結果を、前記出力用拡大画像データとして出力することを特徴とする請求項３に記載の画像処理装置の制御方法。
【請求項５】
コンピュータが読込み実行することで、請求項３又は４に記載の各工程を実行させることを特徴とするコンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項７】
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置であって、
拡大率を設定する拡大率設定手段と、
設定された拡大率に従って、前記原画像データを拡大する第１の画像拡大手段と、
前記原画像データを、予め設定された平滑化フィルタを用いて、平滑化する平滑化手段と、
設定された拡大率に従って、前記平滑化手段で得られた平滑化画像データを拡大する第２の画像拡大手段と、
前記第１の画像拡大手段で得られた拡大画像データと、前記第２の画像拡大手段で得られた拡大平滑化画像データとの差分を算出し、差分画像データを生成する差分画像データ生成手段と、
該差分画像データ生成手段で生成された差分画像データと、前記第１の画像拡大手段で得られた拡大画像データとに基づき出力用拡大画像データを生成する出力画像生成手段と
を備えることを特徴とする画像処理装置。
【請求項８】
前記出力画像生成手段は、
予め設定された強調係数テーブルを用いて、前記差分画像データ生成手段で生成された差分画像データの注目画素に対する強調係数を求め、
当該注目画素の値に前記強調係数を乗算し、
当該乗算結果を、前記第１の画像拡大手段で生成された拡大画像データ中の該当する画素に加算し、
当該加算結果を、前記出力用拡大画像データとして出力することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記第１の画像拡大手段は、バイキュービック法に基づいて拡大処理し、前記第２の画像拡大手段は、バイリニア法に基づいて拡大処理することを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置の制御方法であって、
拡大率を設定する拡大率設定工程と、
設定された拡大率に従って、前記原画像データを拡大する第１の画像拡大工程と、
前記原画像データを、予め設定された平滑化フィルタを用いて、平滑化する平滑化工程と、
設定された拡大率に従って、前記平滑化工程で得られた平滑化画像データを拡大する第２の画像拡大工程と、
前記第１の画像拡大工程で得られた拡大画像データと、前記第２の画像拡大工程で得られた拡大平滑化画像データとの差分を算出し、差分画像データを生成する差分画像データ生成工程と、
該差分画像データ生成工程で生成された差分画像データと、前記第１の画像拡大工程で得られた拡大画像データとに基づき出力用拡大画像データを生成する出力画像生成工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１１】
前記出力画像生成工程は、
予め設定された強調係数テーブルを用いて、前記差分画像データ生成工程で生成された差分画像データの注目画素に対する強調係数を求め、
当該注目画素の値に前記強調係数を乗算し、
当該乗算結果を、前記第１の画像拡大工程で生成された拡大画像データ中の該当する画素に加算し、
当該加算結果を、前記出力用拡大画像データとして出力することを特徴とする請求項７に記載の画像処理装置の制御方法。
【請求項１２】
前記第１の画像拡大工程は、バイキュービック法に基づいて拡大処理し、前記第２の画像拡大工程は、バイリニア法に基づいて拡大処理することを特徴とする請求項１０又は１１に記載の画像処理装置の制御方法。
【請求項１３】
コンピュータが読込み実行することで、請求項１０乃至１２のいずれか１項に記載の各各工程を実行させることを特徴とするコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項１５】
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置であって、
拡大率を設定する拡大率設定手段と、
設定された拡大率に従って、前記原画像データを拡大する画像拡大手段と、
前記原画像データを、予め設定された平滑化フィルタを用いて、平滑化する平滑化手段と、
前記原画像データと前記平滑化手段で得られた平滑化画像データとの差分を算出し、差分画像データを生成する差分画像データ生成手段と、
設定された拡大率に従って、該差分画像データ生成手段で得られた差分画像データを拡大する差分画像拡大手段と、
前記画像拡大手段で得られた拡大画像データと、前記差分画像拡大手段で得られた差分画像画像データとに基づき出力用拡大画像データを生成する出力画像生成手段と
を備えることを特徴とする画像処理装置。
【請求項１６】
前記出力画像生成手段は、
予め設定された強調係数テーブルを用いて、前記差分画像拡大手段で生成された差分画像データの注目画素に対する強調係数を求め、
当該注目画素の値に前記強調係数を乗算し、
当該乗算結果を、前記画像拡大手段で生成された拡大画像データ中の該当する画素に加算し、
当該加算結果を、前記出力用拡大画像データとして出力することを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置の制御方法であって、
拡大率を設定する拡大率設定工程と、
設定された拡大率に従って、前記原画像データを拡大する画像拡大工程と、
前記原画像データを、予め設定された平滑化フィルタを用いて、平滑化する平滑化工程と、
前記原画像データと前記平滑化工程で得られた平滑化画像データとの差分を算出し、差分画像データを生成する差分画像データ生成工程と、
設定された拡大率に従って、該差分画像データ生成工程で得られた差分画像データを拡大する差分画像拡大工程と、
前記画像拡大工程で得られた拡大画像データと、前記差分画像拡大工程で得られた差分画像画像データとに基づき出力用拡大画像データを生成する出力画像生成工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１８】
前記出力画像生成工程は、
予め設定された強調係数テーブルを用いて、前記差分画像拡大工程で生成された差分画像データの注目画素に対する強調係数を求め、
当該注目画素の値に前記強調係数を乗算し、
当該乗算結果を、前記画像拡大工程で生成された拡大画像データ中の該当する画素に加算し、
当該加算結果を、前記出力用拡大画像データとして出力することを特徴とする請求項１７に記載の画像処理装置の制御方法。
【請求項１９】
コンピュータが読込み実行することで、請求項１７又は１８に記載の各工程を実行させることを特徴とするコンピュータプログラム。
【請求項２０】
請求項１９に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項２１】
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置であって、
拡大率を設定する拡大率設定手段と、
設定された拡大率に従って、与えられた画像データを拡大する画像拡大手段と、
設定された平滑化フィルタに従って与えられた画像データを平滑化する平滑化手段と、
装置のハードウェアリソースによって示される処理能力が、予め設定された第１乃至第３のレベルのいずれにあるかを判断する判断手段と、
該判断手段の判断結果に基づき、前記拡大率設定手段で設定された拡大率に従って前記原画像データの拡大処理を行うため、前記画像拡大手段、平滑化手段を制御する制御手段とを備え、
前記制御手段は、
前記原画像データをＩａ、
前記画像拡大手段による画像データｘの拡大処理後の画像データをＥ（ｘ）、
前記平滑化手段による画像データｘの平滑化後の画像データをｆ（ｘ）、
２つの画像データの同一位置の画素どうしの差を−、加算を＋、
強調係数をα、そして、
求める拡大後の画像データをＩＳと定義したとき、
前記判断手段によって前記処理能力が第３レベルに属すると判断した場合、次式に従って処理し、
ＩＳ＝Ｅ（Ｉａ）＋α・（Ｅ（Ｉａ）−ｆ（Ｅ（Ｉａ））
前記判断手段によって前記処理能力が第２レベルに属すると判断した場合、次式に従って処理し、
ＩＳ＝Ｅ（Ｉａ）＋α・（Ｅ（Ｉａ）−Ｅ（ｆ（Ｉａ））
前記判断手段によって前記処理能力が第２レベルに属すると判断した場合、次式に従って処理する
ＩＳ＝Ｅ（Ｉａ）＋α・Ｅ（Ｉａ−ｆ（Ｉａ））
ことを特徴とする画像処理装置。
【請求項２２】
前記判断手段によって前記処理能力が第３レベルに属すると判断した場合の前記平滑化手段は、拡大率に依存したサイズの平滑化フィルタを用いて平滑化することを特徴とする請求項２１に記載の画像処理装置。
【請求項２３】
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置の制御方法であって、
拡大率を設定する拡大率設定工程と、
設定された拡大率に従って、与えられた画像データを拡大する画像拡大工程と、
設定された平滑化フィルタに従って与えられた画像データを平滑化する平滑化工程と、
装置のハードウェアリソースによって示される処理能力が、予め設定された第１乃至第３のレベルのいずれにあるかを判断する判断工程と、
該判断工程の判断結果に基づき、前記拡大率設定工程で設定された拡大率に従って前記原画像データの拡大処理を行うため、前記画像拡大工程、平滑化工程を制御する制御工程とを備え、
前記制御工程は、
前記原画像データをＩａ、
前記画像拡大工程による画像データｘの拡大処理後の画像データをＥ（ｘ）、
前記平滑化工程による画像データｘの平滑化後の画像データをｆ（ｘ）、
２つの画像データの同一位置の画素どうしの差を−、加算を＋、
強調係数をα、そして、
求める拡大後の画像データをＩＳと定義したとき、
前記判断工程によって前記処理能力が第３レベルに属すると判断した場合、次式に従って処理し、
ＩＳ＝Ｅ（Ｉａ）＋α・（Ｅ（Ｉａ）−ｆ（Ｅ（Ｉａ））
前記判断工程によって前記処理能力が第２レベルに属すると判断した場合、次式に従って処理し、
ＩＳ＝Ｅ（Ｉａ）＋α・（Ｅ（Ｉａ）−Ｅ（ｆ（Ｉａ））
前記判断工程によって前記処理能力が第２レベルに属すると判断した場合、次式に従って処理する
ＩＳ＝Ｅ（Ｉａ）＋α・Ｅ（Ｉａ−ｆ（Ｉａ））
ことを特徴とする画像処理装置の制御方法。
【請求項２４】
コンピュータが読込み実行することで、請求項２３に記載の各工程を実行させることを特徴とするコンピュータプログラム。
【請求項２５】
請求項２４に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の拡大処理技術に関するものである。
【背景技術】
【０００２】
画像データに対し、エッジ部分を強調する処理の一つとして、アンシャープマスク処理がある。アンシャープマスクとは、エッジを強調する処理の過程で画像データを平滑化する処理が介在するため、このように呼ばれる。
【０００３】
アンシャープマスク処理の手順は、まず、処理対象の原画像データＩａに対し、平滑化処理を行い、平滑化画像Ｉｂを作成する。平滑化処理とは、図２（ａ）に示すような平滑化フィルタ２０１を用いて、周辺画素との平均を取り、画像をぼかす処理である。そして、その平滑化処理された画像データＩｂと原画像データＩａに基づき、シャープネスを向上させた画像データＩｓを生成する。これらの画像の関係は次式（１）の通りである。
Ｉs =Ｉａ ＋ α（Ｉａ −Ｉｂ）  …（１）
【０００４】
上記式を簡単に説明すると、元画像Ｉａと、平滑化画像Ｉbとの差分を取ることで、エッジ成分（換言すれば画像の高周波成分）を抽出する。そして、そのエッジ成分に強調係数αを乗算することで、強調する。この後、原画像Ｉａに、その強調後のエッジ成分を加算することで、シャープネスを向上した画像データＩｓを得ることができる。
【０００５】
一方、昨今の印刷装置の印刷解像度が上がる一方である。印刷解像度とは単位長さ（或いは単位面積）当たりの画素数を意味する。従って、高い印刷解像度の印刷装置で印刷する場合には、画像データが持つ画素数も増やす必要がある。すなわち、印刷対象の画像を拡大することが必要になったので、前記式（１）の結果の画像データＩｓに必要に応じた拡大処理を行っているのが一般的である。
【０００６】
しかしながら、アンシャープマスク処理を行った画像データを拡大処理してしまうと、せっかく強調したエッジ部分が滑らかになってしまい、アンシャープマスクの効果が薄れてしまう。
【０００７】
この為、画像の拡大率に応じて、式（１）の強調係数αを設定してアンシャープマスク処理を実行し、その後に画像の拡大処理を行う技術が知られている（例えば、特許文献１）。この特許文献１には、別の実施方法として、まず、画像の拡大処理を行い、その後で大きな値の強調係数αでもってエッジ強調処理を行う方法も開示されている。
【０００８】
しかし、上記の技術の場合、エッジ強調処理後の画像の拡大処理では、エッジが滑らかになってしまい、画質の劣化が目立ってしまう。また、拡大後にエッジ強調する場合においても、拡大後の画像は、エッジ領域が広くなるため、平滑化処理の効果が薄くなる。そのため、いくら強調係数αを大きくしても、エッジ部分を強調することは難しく、逆に、エッジ部分以外を無駄に強調するため、画像にノイズが増加する結果となる。
【０００９】
エッジ領域が広くなる問題への対処としては、アンシャープマスク処理に関する技術ではないものの、拡大後の画像に対して、エッジ検出のフィルタサイズを大きくする方法が知られている（例えば特許文献２）。この特許文献２に、アンシャープマスクにおいても、平滑化フィルタのサイズを大きくすることで、エッジ領域の拡大化に対処できるが、この場合、平滑化処理が強くなるため、エッジ領域以外も強調することになってしまい、画像にノイズが増加してしまう。
【特許文献１】特開2003-141532号公報
【特許文献２】特開2003-274157号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、上記課題に鑑みなされたものであり、画像を拡大する際、例えばアンシャープマスク処理によるエッジ強調後の画像を拡大処理するのではなく、なるべく拡大後の画像でアンシャープマスク処理を行うものである。これにより、格別な知識がなくても簡単な操作でもって、原画像のシャープネスを維持しつつ、ノイズの発生を抑制した拡大画像を生成する技術を提供しようとするものである。
【課題を解決するための手段】
【００１１】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
原画像データの画素数を、拡大率に従って増加させて拡大画像データを生成する画像処理装置であって、
拡大率を設定する拡大率設定手段と、
設定された拡大率に従って、前記原画像データを拡大する画像拡大手段と、
設定された拡大率に対応するサイズの平滑化フィルタを用いて、前記画像拡大手段で生成された拡大画像データを平滑化する平滑化手段と、
該平滑化手段で得られた平滑化画像データと前記拡大画像データの差分を算出し、差分画像データを生成する差分画像データ生成手段と、
該差分画像データ生成手段で生成された差分画像データと、前記画像拡大手段で得られた拡大画像データとに基づき出力用拡大画像データを生成する出力画像生成手段とを備える。
【発明の効果】
【００１２】
本発明によれば、格別な知識がなくても簡単な拡大率を設定するだけで、原画像のシャープネスを維持しつつ、ノイズの発生を抑制した拡大画像を得ることが可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面に従って本発明に係る各実施形態を詳細に説明するが、まず、その前提について説明する。
【００１４】
原画像をＩａ、原画像Ｉａの平滑化処理後の画像をＩｂとし、アンシャープマスク処理後の画像をＩｓとすると、先に示した式（１）のように表わせる。このアンシャープマスク処理後の画像Ｉｓを、拡大率Ｅに従ってバイリニア法等を用いて拡大（補間）処理して得られた画像をＩＳとすると、ＩＳとＩｓとの関係は次のように表わせる。
ＩＳ＝Ｅ（Ｉｓ）＝Ｅ（Ｉａ＋α・（Ｉａ−Ｉｂ））    …（２）
ここで、Ｅ（ｘ）は画像ｘの水平、垂直方向の画素数をそれぞれＥ倍に増やすことを意味する。また、画像Ｉｂは、元画像Ｉａに対して平滑化フィルタｆを用いて平滑化した画像を示しているので、それを明示するために『ｆ（Ｉａ）』とすると、式（２）は次のように表わせる。
ＩＳ ＝Ｅ（Ｉｓ）＝ Ｅ（Ｉａ＋α・（Ｉａ−ｆ（Ｉａ）））  …（２）’
このような画像処理を経ると、結局のところ、拡大処理では平滑化されてしまい、アンシャープマスクの効果が薄れてしまう。これに対処するためには、拡大処理を想定してαを、より大きな値にする必要があるが、必要以上に大きな値を設定してしまうと、逆にノイズが発生して画質劣化は避けられない。更に、不慣れなユーザの場合、最適なαや、平滑化する際のフィルタのサイズを決めるために、アンシャープマスク処理に係る操作と、拡大処理の操作を何度も繰り返し行い、目的とする画質の画像を得るまでに相当の時間を要することになる。
【００１５】
これに対し、本発明では、ユーザは１つの操作を行うだけで、拡大処理とアンシャープマスク処理とを実行し、且つ、画質劣化を抑制した拡大後の画像データを得ることを可能にする。
【００１６】
詳細は後述するが、第１の実施形態では、次式（３）に従って、拡大・アンシャープマスク処理後の画像ＩＳを生成する。
ＩＳ＝Ｅ（Ｉａ）＋α・（Ｅ（Ｉａ）−Ｆ（Ｅ（Ｉａ），Ｅ））    …（３）
ここで、Ｆ（ｘ，Ｅ）は、倍率Ｅによって決まる平滑化フィルタＦを用いて、画像ｘを平滑化することを意味する。
【００１７】
図１２は、上記式（３）による画像データの流れと処理の概念図である。
【００１８】
まず、原画像データＩａを拡大率Ｅに従って拡大処理し、拡大画像データＩＡを得る。拡大画像データＩＡは、式（３）でのＥ（Ｉａ）に対応する。次いで、拡大率Ｅによって定まるサイズの平滑化フィルタＦ（，Ｅ）を用いて、拡大画像データＩＡを平滑化することで、平滑化画像データＩＢを得る。この平滑化画像データＩＢは、式（３）のＦ（Ｅ（Ｉａ），Ｅ）に対応する。そして、拡大画像データＩＡと平滑化画像データＩＢとを画素同どうしの差分を算出することで、差分画像データＩＣを得る。この差分画像データＩＣは、式（３）の「Ｅ（Ｉａ）−Ｆ（Ｅ（Ｉａ），Ｅ）」に対応する。
【００１９】
そして、差分画像データＩＣの各画素の値に強調係数αを乗算し、その乗算結果と拡大画像データＩＡ中の対応する画素の値とを加算することで、拡大・アンシャープマスク処理後の画像データＩＳを得る。
【００２０】
第２の実施形態では、次式（４）に従って、拡大・アンシャープマスク処理後の画像ＩＳを求める。
ＩＳ＝Ｅ（Ｉａ）＋α・（Ｅ（Ｉａ）−Ｅ（ｆ（Ｉａ））  …（４）
【００２１】
図１３は、上記式（３）による画像データの流れと処理の概念図である。
【００２２】
まず、原画像データＩａを、その原画像データＩａのサイズ等を参照した平均的な平滑化フィルタｆを用いて平滑化画像データＩｂを得る。この平滑化画像データＩｂは、式（４）におけるｆ（Ｉａ）に対応する。
【００２３】
そして、原画像データＩａ及び平滑化画像データＩｂそれぞれを拡大率Ｅに従って拡大処理し、拡大画像データＩＡ及び拡大平滑化画像データＩＢを得る。拡大画像データＩＡは式（４）におけるＥ（Ｉａ）に対応し、拡大平滑化画像データＩＢは式（４）におけるＥ（ｆ（Ｉａ））に対応する。
【００２４】
そして、拡大画像データＩＡと拡大平滑化画像データＩＢとを画素同どうしの差分を算出することで、差分画像データＩＣを得る。この差分画像データＩＣは、式（４）の「Ｅ（Ｉａ）−Ｅ（ｆ（Ｉａ））」に対応する。
【００２５】
そして、差分画像データＩＣの各画素の値に強調係数αを乗算し、その乗算結果と拡大画像データＩＡ中の対応する画素の値とを加算することで、拡大・アンシャープマスク処理後の画像データＩＳを得る。
【００２６】
第３の実施形態では、次式（５）に従って、拡大・アンシャープマスク処理後の画像ＩＳを求める。
ＩＳ＝ＩＡ＋α・Ｅ（Ｉａ−ｆ（Ｉａ））  …（５）
図１４は、上記式（５）による画像データの流れと処理の概念図である。
【００２７】
まず、原画像データＩａを、その原画像データＩａのサイズ等を参照した平均的な平滑化フィルタｆを用いて平滑化画像データＩｂを得る。この平滑化画像データＩｂは、式（５）におけるｆ（Ｉａ）に対応する。
【００２８】
そして、原画像データＩａ及び平滑化画像データＩｂそれぞれの対応する画素の値の差分を算出することで差分画像データＩｃを得る。
【００２９】
そして、原画像データＩａと差分画像データＩｃを、それぞれを拡大率Ｅに従って拡大処理し、拡大画像データＩＡ及び拡大差分画像データＩＣを得る。拡大画像データＩＡは式（５）におけるＥ（Ｉａ）に対応し、拡大差分画像データＩＣは式（４）における「Ｅ（Ｉ（Ｉａ）−ｆ（Ｉａ））」に対応する。
【００３０】
そして、差分画像データＩＣの各画素の値に強調係数αを乗算し、その乗算結果と拡大画像データＩＡ中の対応する画素の値とを加算することで、拡大・アンシャープマスク処理後の画像データＩＳを得る。
【００３１】
＜装置構成の説明＞
ここで各実施形態に共通事項について説明する。
【００３２】
図１は本発明に係るシステム構成図であり、例えばパーソナルコンピュータ等である。図中、１０１はキーボードやマウス等の入力装置、１０２は表示装置、１０３はハードディスク装置等の大容量の蓄積装置である。この蓄積装置１０３には、ＯＳ（オペレーティングシステム）や、各実施形態で示すアプリケーションプログラム、並びに、画像データファイル等が格納されている。１０４は装置全体の制御を司るＣＰＵであり、１０５はＢＩＯＳやブートプログラムを格納しているＲＯＭ、１０６はＣＰＵ１０４のワークエリアとして使用するＲＡＭである。
【００３３】
本装置の電源がＯＮになると、ＣＰＵ１０４はＲＯＭ１０５のブートプログラムに従って処理を開始し、蓄積装置１０３内のＯＳをＲＡＭ１０６にロードし、実行することで情報処理装置として機能する。この後、ユーザは入力装置１０１を操作して、画像処理用のアプリケーションの起動指示を与えると、ＣＰＵ１０４はそのアプリケーションプログラムを蓄積装置１０３からＲＡＭ１０６にロードし、実行する。この結果、本装置が画像処理装置として機能することになる。
【００３４】
アプリケーションが起動すると、ユーザは所望とする画像ファイルを蓄積装置１０３に記憶されている画像ファイルを読込み、それを表示装置１０２に表示する。
【００３５】
図７は画像ファイルを読込み、表示装置１０２に表示したＧＵＩを示している。図示の如く、アプリケーションはウインドウ７０１を表示し、その中に、画像表示エリア７０２、最適拡大ボタン７０５を有する。なお、画像編集の種類には、拡大処理以外にも幾つもの種類が存在するが、図示では省略している。
【００３６】
図示の場合、拡大対象の画像７０３が画像表示エリア７０２内に表示されている。ここで、ユーザが入力装置１０１を操作して、最適拡大ボタン７０５を指示すると、図示の拡大率を設定するためのダイアログボックス７０７を表示する。このダイアログボックス内には、拡大率を設定するためのスライダーバー７０７ａ、ＯＫボタン７０７ｂ、キャンセルボタン７０７ｃを備える。スライダーバー７０７ａは、図示の場合１乃至１０倍の範囲で設定できる。ユーザは、このスライダーバー７０７ａを操作して、所望とする倍率を設定する。この後、ユーザがＯＫボタン７０７ｂを指示することで、このダイアログボックス７０７は消去され、後述する拡大・アンシャープマスク処理を実行する。また、キャンセルボタン７０７ｃが指示された場合には、単にダイアログセットトップボックス７０７を消去し、最適拡大ボタン７０５を指示する以前の状態に戻る。なお、上記では、拡大率を設定するのにスライダーバーを用いる例を示したが、ユーザはキーボードを操作して、拡大率となる数値を入力しても構わない。すなわち、拡大率の設定するための構成については、その種類を問わない。
【００３７】
図８はアプリケーションプログラムのメイン処理手順を示すフローチャートである。各ステップはＣＰＵ１０４が実行することになる。
【００３８】
まず、ステップＳ１では、図７に示すウインドウを表示し、ステップＳ２でユーザによる編集対象の画像ファイルが選択されるのを待つ。画像ファイルを選択は、ファイル選択のダイアログボックス等を表示し、ユーザが目的とするファイルを入力装置１０１より指示することで決定するものとする。ファイルが選択されると、その画像が画像表示エリア７０２に表示される。そして、ステップＳ３にて、ユーザによる編集指示を待つ。ユーザによる編集指示が最適拡大ボタン７０５以外であると判断した場合には、ステップＳ４に進んで対応する処理を行う。
【００３９】
一方、最適拡大ボタン７０５であると判断した場合には、ステップＳ５に進んで、倍率設定のダイアログボックス７０７を表示し、倍率の設定を行なわせる。倍率の設定が終わり、ダイアログボックス７０７のＯＫボタンが指示されると、ステップＳ６に進んで自動最適拡大処理を実行する。この自動最適拡大処理の処理後の画像は、画像表示エリア７０２に表示される。
【００４０】
ここで、実施形態で利用する拡大処理について補足説明する。実施形態では、拡大処理としてバイリニア法、又は、バイキュービック法を用いる。
【００４１】
図１１（ａ）は、画像の拡大処理で用いるリニア補間法（拡大方法）について説明した図である。２つの画素Ｘａ、Ｘｂを含む画像をｎ倍に拡大する場合、２つの画素Ｘａ、Ｘｂ間に、２ｎ−２個の補間画素を生成する。その中の任意の画素Ｘの値は、画素Ｘａからの距離をｓ、画素Ｘｂからの距離をtとすると、次式で求められる。
Ｘ＝（ｓ×Ｘａ＋ｔ×Ｘｂ）／２ｎ
【００４２】
このように、線形的に２つの画素間で補間する処理がリニア法である。画像データの場合、二次元的に補間されるので、周囲の４画素から線形的に補間する。バイリニア法は、このリニア補間法を、２次元の２×２画素の拡張した方法である。バイリニア法の特性は、拡大率が大きいほど、画像全体が滑らかになる。そのため、拡大後は、平滑化したような効果を得ることができる。
【００４３】
図１１（ｂ）は、バイキュービック法を説明するための図であり、４つの画素Ｘａ、Ｘｂ、Ｘｃ、Ｘｄを含む画像をｎ倍に拡大する例を示している。バイキュービック法では、実在する水平（or垂直）方向に隣接する２画素間の距離を“１”と定義する。そして、補間生成しようとする画素Ｘの値を求める際、その画素Ｘと近傍の実在する画素との距離をｄとすると、まず、次式に従ってＣｕｂｉｃ（ｄ）を算出する。
０＜｜ｄ｜＜１の場合：
Ｃｕｂｉｃ（ｄ）＝１−２｜ｄ｜2＋｜ｄ｜3
１≦｜ｄ｜＜２の場合：
Ｃｕｂｉｃ（ｄ）＝４−８｜ｄ｜＋５｜ｄ｜2−｜ｄ｜3
２≦｜ｄ｜の場合：
Ｃｕｂｉｃ（ｄ）＝０
【００４４】
そして、上記Ｃｕｂｉｃを、補間画素Ｘと画素｛Ｘａ、Ｘｂ、Ｘｃ、Ｘｄ｝の１つとの距離について求める。そして、その総和を補間画素Ｘとする。すなわち、図１１（ｂ）の場合、補間画素Ｘは次式に従って算出する。
Ｘ＝Cubic(n+s)×Ｘａ＋Cubic(s)×Ｘｂ＋Cubic(t)×Ｘｃ + Cubic(n+t)×Ｘｄ
このように、線形補間よりも広い範囲で、画素を補間するのがバイキュービック法である。画像データの場合、二次元的に補間されるので、周囲の１６画素から補間することになる。バイキュービック法は、バイリニア法に比べて、画像のエッジ部分が残りやすく、拡大後も比較的シャープな印象を得ることができる。
【００４５】
以下、本発明に係る３つの実施形態を説明するが、それぞれは図８のステップＳ６に対応する処理に特徴を有するものであり、それ以外は共通であるものとする。
【００４６】
＜第１の実施形態＞
本第１の実施形態では、先に示した式（３）に従い、拡大・アンシャープマスク処理を行う。すなわち、画像の拡大率にあわせて、平滑化フィルタのサイズ、強調係数のテーブルを切り替え、拡大後の画像に対して、適切なアンシャープマスクを実行する。なお、以下の説明において、各種処理中に生成されるデータはＲＡＭ１０６に格納されるものとする。
【００４７】
本第１の実施形態におけるシャープネス処理は、先に説明したようにアンシャープマスク処理である。アンシャープマスク処理は、原画像に対して平滑化画像を作成する。そして、その平滑化画像と、原画像データとの画素毎の差分値を演算する。その後、原画像データ中の該当する画素値に足すことで、実行される。
【００４８】
平滑化画像は、図２（ａ）の３×３のサイズの平滑化フィルタ２０１を用いて、作成される。
【００４９】
Ｉａ（ｘ，ｙ）は、元画像データの左上隅位置を原点（０，０）とした場合の座標（ｘ，ｙ）の画素値であり、ＲＧＢの各成分（ここでは各８ビットとする）で構成される。以降、特に説明がない限り、画素値の計算は、全て、ＲＧＢの各要素に対し、行うものとする。画像データの左上隅の座標を（０，０）とした場合、平滑化画像の、座標（ｘ，ｙ）の画素値Ｉｂ（ｘ，ｙ）は次式（６）で計算される。
Ib(x,y)={Ia(x-1,y-1)+Ia(x,y-1)+Ia(x+1,y-1)+Ia(x-1,y)+Ia(x,y)+Ia(x+1,y)
+Ia(x-1,y+1)+Ia(x,y+1)+Ia(x+1,y+1)}/9      …  （６）
【００５０】
次に、元画像と、平滑化画像との差分を求める。差分値をＩｃ（ｘ、ｙ）とすると、
Ic(x,y)=Ia(x,y)-Ib(x,y)      …  （７）
そしれ、強調係数をαとした場合、アンシャープマスク実行後の画素値Ｉｓ（ｘ，ｙ）を次式（８）に従って算出する。
Is(x,y)=Ia(x,y)+α×Ic(x,y)        …  （８）
これを、全ての画素に対し、計算することによって、アンシャープマスク処理が実行できる。
【００５１】
平滑化画像を作る際には、平滑化フィルタのサイズを切り替えることもできる。図２（ｂ）の平滑化フィルタ２０２のように、５×５画素サイズのフィルタを用いて、その平均値を求める方法である。同様に、図示していないが、７×７、９×９のサイズのフィルタサイズでも実行できる。フィルタサイズが大きいほうが、より広いエッジ部分を平滑化できるので、拡大後の画像に対しては有用である。しかし、フィルタサイズが大きくなると、その分、エッジ部分以外の領域も強調してしまい、画像データにノイズが目立つという弊害もある。
【００５２】
図３は、そのようなノイズを軽減するための、強調係数テーブルを表したものである。
【００５３】
これは、式（７）で求めた差分値Ｉｃ（ｘ，ｙ）の値に応じて、適切な強調係数αを決定するものである。同図では横軸が差分値、縦軸が強調係数αであり、差分値に応じて、強調係数αが算出できる曲線特性を有する。差分値の特徴として、エッジ部分では、差分値が大きく、エッジ部分以外の領域では、差分値が小さいという特徴がある。そのため、差分値が小さい場合は、強調係数を小さくすることで、エッジ部分以外の強調を防止し、ノイズの発生を抑制する。フィルタサイズが大きくなると、エッジ部分以外での差分値が大きくなってしまうので、フィルタサイズに合わせて、適切な強調係数テーブルを用意する。図３では、画像の拡大率が上がるほど、フィルタサイズを大きくするので、それに合わせて、実施形態では、曲線特性の異なる強調係数テーブル３０１〜３０３の３つを用意した。図示の通り、拡大率が大きくなるにつれて、差分値の小さい範囲においては強調係数がより小さくなっている。
【００５４】
図４のテーブル４０１は、第１の実施形態における画像の拡大率Ｅに応じて、フィルタサイズの大きさ、強調係数テーブルを、どのように変更するかを示している。このテーブル４０１は、アプリケーションプログラムが保持しているものでもあるが、蓄積装置１０３内に本アプリケーションが参照する別途環境ファイルとして保存しても構わない。
【００５５】
図示の如く、画像の拡大率Ｅに対し、１．０＜Ｅ＜２．０の範囲においては、フィルタのサイズを３×３、強調係数テーブルは、図３のテーブル３０１を用いる。
【００５６】
２．０≦Ｅ＜５．０の範囲においては、フィルタのサイズを５×５、強調係数テーブルは、図３のテーブル３０２を用いる。また、５．０≦Ｅの場合は、フィルタのサイズを７×７、強調係数テーブルは、図３のテーブル３０３を用いる。拡大率が５倍以上の場合においても、フィルタサイズ、強調係数テーブルを細分化することも可能であるが、フィルタサイズがこれ以上大きくなると、平滑化処理の処理時間が非常に長くなるため、５倍以上の場合は、一律の処置を実施している。
【００５７】
以上のようにして、本第１の実施形態では、先に示した式（３）に従って、拡大処理とアンシャープマスク処理を実行する。
【００５８】
図５は、第１の実施形態における、先に説明した図８のステップＳ６の処理の詳細を示すフローチャートである。先に説明したように、このステップＳ６に移行するとき、既に拡大率Ｅは設定されている点に注意されたい。
【００５９】
ステップＳ５０１では、原画像データＩａ（図８のステップＳ２で選択した画像データ）を読込む。ステップＳ５０２では、読込んだ画像データＩａを、設定された拡大率Ｅに従ってバイリニア法を利用して拡大処理し、画像データＩＡを生成する。生成された画像データＩＡはＲＡＭ１０６内に一時的に記憶する。また、この生成した拡大画像データＩＡは、先に示した式（３）におけるＥ（Ｉａ）に相当する。なお、画像データの拡大処理は、バイリニア法に限らず、バイキュービック法等を用いても構わない。
【００６０】
次いで、ステップＳ５０３において、拡大率Ｅに従ったサイズの平滑化フィルタＦを決定する。そして、ステップＳ５０４において、生成した拡大画像データＩＡを平滑化フィルタＦを用いて平滑化して、平滑化画像データＩＢを得る。この平滑化画像データＩＢもＲＡＭ１０６に一時的に記憶する。また、この生成した平滑化画像データＩＢは、先に示した式（３）におけるＦ（Ｅ（Ｉａ），Ｅ））に対応する。そして、ステップＳ５０５において、拡大率Ｅに従って１つの強調係数テーブルを決定する。また、アンシャープマスク処理実行後の画像データＩＳを格納するための領域をＲＡＭ１０６に確保する。
【００６１】
そして、ステップＳ５０６では、処理対象画素位置を表わす変数ｉを“０”で初期化する。ここで、画像データのｉ番目の画素とは、図６のように、画像データの左上の画素を０番目としてラスタースキャンする際のアドレス値である。画像データの水平方向の画素数をＷ、垂直方向の画素数をＨとすると、画像データの全画素数Ｎは、Ｗ×Ｈとなる。また、着目する画素の座標を（ｘ，ｙ）で表わすと、ｉ＝ｘ＋ｙ×Ｗとなる。変数ｉは０から始まるので、変数ｉがＮ−１と等しくなるまで、アンシャープマスク処理を実行すれば良いことになる。
【００６２】
ステップＳ５０７では、画像データＩＡ及びＩＢの、ｉ番目の画素値の差分値を算出する。画像データＩＡのｉ番目の画素値をＩＡ（ｉ）、画像データＩＢのｉ番目の画素値をＩＢ（ｉ）とすると、差分画像データＩＣ（ｉ）は次式に従って算出できる。
ＩＣ（ｉ）＝ＩＡ（ｉ）−ＩＢ（ｉ）
なお、画像データＩＡ、ＩＢ内の各画素は正の値しか持たないが、差分画像データＩＣの差分画素値は負の値も取り得る。原画像データの各画素が８ビットで表わされるのであれば、差分画像データの各差分画素は負の値も表現できるように９ビット以上を持つことになる。
【００６３】
さて、ステップＳ５０８では、先のステップＳ５０３で決定した強調係数テーブル（図３の３０１乃至３０３のいずれか）と、差分画像データＩＣ（ｉ）から強調係数αを算出する。
【００６４】
次いで、ステップＳ５０９では、次式に従って、アンシャープマスク処理後の画像ＩＳのｉ番目の画素値を算出し、ＲＡＭ１０６に格納した領域のｉ番目のアドレス位置に算出した画素値ＩＳ（ｉ）を格納する。
ＩＳ（ｉ）＝ＩＡ（ｉ）＋α×ＩＣ（ｉ）
【００６５】
そして、ステップＳ５１０では、変数ｉとＮ−１とを比較し、全画素についてアンシャープマスク処理を行ったか否かを判断する。否の場合には、ステップＳ５１１に進み、変数ｉを“１”だけ増加させ、ステップＳ５０７以降の処理を繰り返す。
【００６６】
また、全画素のアンシャープマスク処理が完了したと判断した場合には、ステップＳ５１２に進み、ＲＡＭ１０６に生成されたアンシャープマスク処理後の画像データＩＳを、図７の画像表示エリア７０２に表示出力することになる。このとき、処理後の画像データＩＳを除く、他の中間的に発生した画像データを格納しているＲＡＭ１０６内の領域は、ＯＳが使用可能とするために解放する。また。なお、アプリケーション上で、不図示の保存指示が指示された場合には、ＲＡＭ１０６に生成された画像データＩＳをファイルとして、蓄積装置１０３に保存することになる。
【００６７】
以上説明したように本第１の実施形態によれば、格別な知識を持たないユーザであっても、単に拡大率を指示する操作を行うだけで、最適な平滑化フィルタ、強調係数テーブルを用いたアンシャープマスク処理後の画像データを得ることができる。また、このアンシャープマスク処理では、原画像Ｉａの拡大処理した後の画像データＩＡ（＝Ｅ（Ｉａ））に適した平滑化フィルタ、強調係数テーブルが用いられる。従って、生成されるアンシャープマスク処理後の画像データは、ノイズが少なく、高い品位の画像とすることが可能になる。
【００６８】
＜第２の実施形態＞
本第２の実施形態は、先に示した式（４）に従ってアンシャープマスク処理を実行するものである。装置構成は、共通であり、ＵＩ（ユーザインタフェース）も共通であるので、ここでは、図８のステップＳ６における詳細を説明する。
【００６９】
図９は、第２の実施形態における、先に説明した図８のステップＳ６の処理の詳細を示すフローチャートである。先に説明したように、このステップＳ６に移行するとき、既に拡大率Ｅは設定されている点に注意されたい。
【００７０】
ステップＳ９０１では、原画像データＩａ（図８のステップＳ２で選択した画像データ）を読込む。ステップＳ９０２では、読込んだ画像データＩａの解像度もしくはサイズに従った平滑化フィルタｆを用いて平滑化画像データＩｂを得る。この生成された平滑化画像データＩｂはＲＡＭ１０６内に一時的に記憶する。また、この生成した平滑化画像データＩｂは、先に示した式（４）中におけるｆ（Ｉａ）に相当する。
【００７１】
次いで、ステップＳ９０３において、原画像Ｉａを拡大率Ｅに従い、拡大処理し、拡大後の画像データＩＡを得る。このステップＳ９０３での拡大処理は、バイキュービック法、バイリニア法のいずれでも構わない。しかし、ここでは、原画像Ｉａのエッジを残したいので、本実施形態では、バイキュービック法に従って拡大処理するものとした。
【００７２】
次に、ステップＳ９０４において、平滑化画像データＩｂを拡大率Ｅに従い、拡大処理し、拡大平滑化画像データＩＢを得る。このステップＳ９０４での拡大処理も、バイキュービック法、バイリニア法のいずれでも構わないが、拡大処理対象が平滑化画像であるので、本実施形態ではバイリニア法に従って拡大処理するものとした。
【００７３】
また、拡大後の画像データＩＡ及び拡大平滑化画像データＩＢは、ＲＡＭ１０６に一時的に記憶する。因に、画像データＩＡは、式（４）におけるＥ（Ｉａ）に相当し、拡大平滑化画像データＩＢはＥ（ｆ（Ｉａ））に対応する。
【００７４】
次に、処理はステップＳ９０５に進み、処理対象画素位置を表わす変数ｉを“０”で初期化する。変数ｉの意味は第１の実施形態と同じである。
【００７５】
ステップＳ９０６では、第１の実施形態のステップＳ５０７と同様、画像データＩＡ及びＩＢそれぞれのｉ番目の画素値の差分値ＩＣを算出する。
ＩＣ（ｉ）＝ＩＡ（ｉ）−ＩＢ（ｉ）
【００７６】
そして、ステップＳ９０７に進み、原画像Ｉａの平滑化フィルタｆに対応する強調係数フィルタの強調係数αを用いて、アンシャープマスク処理後の画像ＩＳのｉ番目の画素値を算出する。そして、算出した画素値を、ＲＡＭ１０６に格納した領域のｉ番目のアドレス位置に、画素値ＩＳ（ｉ）として格納する。
ＩＳ（ｉ）＝ＩＡ（ｉ）＋α×ＩＣ（ｉ）
【００７７】
そして、ステップＳ９０８は、変数ｉとＮ−１とを比較し、全画素についてアンシャープマスク処理を行ったか否かを判断する。否の場合には、ステップＳ９０９に進み、変数ｉを“１”だけ増加させ、ステップＳ９０６以降の処理を繰り返す。
【００７８】
また、全画素のアンシャープマスク処理が完了したと判断した場合には、ステップＳ９１０に進み、ＲＡＭ１０６に生成されたアンシャープマスク処理後の画像データＩＳを、図７の画像表示エリア７０２に表示出力することになる。なお、アプリケーション上で、不図示の保存指示が指示された場合には、ＲＡＭ１０６に生成された画像データＩＳをファイルとして、蓄積装置１０３に保存することになるのも、第１の実施形態と同じである。
【００７９】
以上説明したように本第２の実施形態によれば、第１の実施形態と同様の作用効果を奏することが可能となる。また、本第２の実施形態によれば、平滑化フィルタｆを用いた平滑化処理は、拡大処理前の原画像データＩａに対して行うので、処理対象画素数が少ない分だけ、処理を高速化させることが可能になる。また、本第２の実施形態では拡大処理で利用する拡大方法として２種類、すなわち、バイリニア法、バイキュービック法を画像の性質に合わせて適応的に用いることで、画質劣化を更に抑えることが可能になる。
【００８０】
＜第３の実施形態＞
本第３の実施形態は、先に示した式（５）に従ってアンシャープマスク処理を実行するものである。装置構成は、共通であり、ＵＩ（ユーザインタフェース）も共通であるので、ここでは、図８のステップＳ６における詳細を説明する。
【００８１】
図１０は、第３の実施形態における、先に説明した図８のステップＳ６の処理の詳細を示すフローチャートである。先に説明したように、このステップＳ６に移行するとき、既に拡大率Ｅは設定されている点に注意されたい。
【００８２】
ステップＳ１００１では、原画像データＩａ（図８のステップＳ２で選択した画像データ）を読込む。ステップＳ１００２では、読込んだ画像データＩａの解像度もしくはサイズに従った平滑化フィルタｆを用いて平滑化画像データＩｂを得る。この生成された画像データＩｂはＲＡＭ１０６内に一時的に記憶する。また、この生成した平滑化画像データＩｂは、先に示した式（４）中におけるｆ（Ｉａ）に相当する。
【００８３】
次いで、ステップＳ１００３では、原画像データＩａと平滑化画像データＩｂとの差分画像データＩｃを算出する。この差分画像データＩｃは、先に示した式（５）の（Ｉａ−ｆ（Ｉａ））に対応する。
【００８４】
次いで、ステップＳ１００４に進み、差分画像ＩｃをＺＩＰ等の可逆圧縮符号化技術を用いて圧縮し、蓄積装置１０３に保存する。また、このとき、生成した平滑化画像データＩｂを格納していたＲＡＭ１０６の領域を、解放する。
【００８５】
次いで、ステップＳ１００５に進み、原画像データＩａを拡大率Ｅに従い拡大する。拡大処理は、第２の実施形態と同様、バイキュービック法に従って行う。
【００８６】
次いで、ステップＳ１００６では、保存した圧縮差分画像データＩｃを読込み、伸長処理し、差分画像データＩｃを得る。そして、その差分画像データＩｃを拡大率Ｅに従って拡大処理し、拡大差分画像データＩＣを得る。この拡大差分画像データＩＣは式（５）のＥ（Ｉａ−ｆ（Ｉａ））に対応するものである。また、この拡大処理もバイキュービック法に従って行う。
【００８７】
そして、ステップＳ１００７において、処理対象画素位置を表わす変数ｉを“０”で初期化する。変数ｉの意味は第１の実施形態と同じである。また、アンシャープマスク処理後の画像データを格納するための領域をＲＡＭ１０６に確保する。
【００８８】
次いで、ステップＳ１００８では、原画像Ｉａの平滑化フィルタｆに対応する強調係数フィルタの強調係数αを用いて、アンシャープマスク処理後の画像ＩＳのｉ番目の画素値を算出する。そして、算出した画素値を、ＲＡＭ１０６に格納した領域のｉ番目のアドレス位置に、画素値ＩＳ（ｉ）として格納する。
ＩＳ（ｉ）＝ＩＡ（ｉ）＋α×ＩＣ（ｉ）
そして、ステップＳ１００９は、変数ｉとＮ−１とを比較し、全画素についてアンシャープマスク処理を行なったか否かを判断する。否の場合には、ステップＳ１０１０に進み、変数ｉを“１”だけ増加させ、ステップＳ１００８以降の処理を繰り返す。
【００８９】
また、全画素のアンシャープマスク処理が完了したと判断した場合には、ステップＳ１０１１に進み、ＲＡＭ１０６に生成されたアンシャープマスク処理後の画像データＩＳを、図７の画像表示エリア７０２に表示出力することになる。なお、アプリケーション上で、不図示の保存指示が指示された場合には、ＲＡＭ１０６に生成された画像データＩＳをファイルとして、蓄積装置１０３に保存することになるのも、第１の実施形態と同じである。
【００９０】
以上説明したように本第３の実施形態によれば、第２の実施形態と同様の作用効果を奏することが可能となる。また、本第３の実施形態によれば、ステップＳ１００８乃至Ｓ１０１０のループ処理が、第２の実施形態のステップＳ９０６乃至Ｓ９０９のループ処理よりも簡略化されるので、高速に処理することも可能になる。
【００９１】
＜第４の実施形態＞
以上説明した第１乃至第３の実施形態は、拡大後の画像データの数が異なる。すなわち、上記したように処理の高速化のみならず、処理装置におけるワークエリアであるＲＡＭ１０６（場合によっては蓄積装置１０３）の空き容量に応じて、最適となる処理方法を適宜選択する事は大変有効である。
【００９２】
そこで、本第４の実施形態は、以上説明してきた３種類の式によるアンシャープマスクの処理方法を、画像処理装置の処理能力に関わるハードウェア構成、すなわち、ハードウェアリソースに従って、適宜選択して実施するものである。ここで、３種類のアンシャープマスクの処理方法について、ＲＡＭ１０６の消費量、処理時間、画質をそれぞれ３段階に分けると、次のようになる。
式（３）（第１の実施形態）：メモリ使用量は大。処理時間は長い。画質は良。
式（４）（第２の実施形態）：メモリ使用量は中。処理時間は短い。画質は中。
式（５）（第３の実施形態）：メモリ使用量は小。処理時間は中。画質は低。
【００９３】
上記の通り、画質面で比較すると、最終的に得られる拡大・アンシャープマスク処理後の画像の画質は、式（３）の処理が最も良く、次いで、式（４）、式（５）の順になる。また、ここで言う、ハードウェアリソースとは、ＲＡＭ１０６の利用可能なメモリサイズ、及び、ＣＰＵ１０４の処理能力である。
【００９４】
ＲＡＭ１０６の全容量ではなく、利用可能なメモリサイズとする理由は、通常、ＰＣでは、複数のアプリケーションが実行可能である点、及び、実行中のアプリケーションの種類とその数に依存して、空きメモリサイズが変化するためである。ただし、不特定多数のアプリケーションが実行できない環境にあるのであれば、ＲＡＭ１０６の全容量でも構わない。
【００９５】
また、ＣＰＵ１０４の処理能力は、ＣＰＵの種類と、その動作クロックで決まる。
【００９６】
ＲＡＭ１０６の空エリア、ＣＰＵ１０４の処理能力に係る情報は、ＯＳ（オペレーティングシステム）のファンクションコール等を利用すれば容易に取得できるので、ここでの詳細は省略する。
【００９７】
本第４の実施形態では、ＲＡＭ１０６の利用可能なメモリサイズと、予め設定した２つの閾値と比較し、領可能なメモリサイズが大中小のいずれであるかを判定する。
【００９８】
また、ＣＰＵ１０４の処理能力についても、予め設定した２つの閾値と比較し、ＣＰＵ１０４の処理能力が大中小のいずれであるかを判定する。
【００９９】
そして、ＲＡＭ１０６の利用可能なサイズと、ＣＰＵ１０４の処理能力に基づき、本第４の実施形態におけるアプリケーションが実行する装置のハードウェアリソースの指標値（大中小）を決定する。
【０１００】
図１５は、ハードウェアリソースを判定するためのテーブルを示している。
【０１０１】
図示の如く、ＣＰＵの処理能力及び利用可能なメモリサイズが共に中以上の場合は、ハードウェアリソースは大であると判断し、利用可能なメモリサイズが少ない場合は、ハードウェアリソースは小と判断する。そして、それ以外では、ハードウェアリソースは中であると判断する。
【０１０２】
そして、ハードウェアリソースが大であれば、式（３）、すなわち、第１の実施形態に従って拡大・アンシャープマスク処理を実行する。また、ハードウェアリソースが中であれば、式（４）、すなわち、第２の実施形態に従って拡大・アンシャープマスク処理を実行する。また、ハードウェアリソースが小であれば、式（５）、すなわち、第３の実施形態に従って拡大・アンシャープマスク処理を実行する。
【０１０３】
本第４の実施形態におけるメイン処理の例を図１６に示す。図１６の処理は、図８に置き換わるメイン処理でもある。
【０１０４】
まず、ステップＳ１６０１では、図７に示すウインドウを表示し、ステップＳ１６０２２でユーザによる編集対象の画像ファイルが選択されるのを待つ。画像ファイルを選択は、ファイル選択のダイアログボックス等を表示し、ユーザが目的とするファイルを入力装置１０１より指示することで決定するものとする。ファイルが選択されると、その画像が画像表示エリア７０２に表示される。そして、ステップＳ１６０３にて、ユーザによる編集指示を待つ。ユーザによる編集指示が最適拡大ボタン７０５以外であると判断した場合には、ステップＳ１６０４に進んで対応する処理を行う。
【０１０５】
一方、最適拡大ボタン７０５であると判断した場合には、ステップＳ１６０５に進んで、倍率設定のダイアログボックス７０７を表示し、倍率の設定を行なわせる。倍率の設定が終わり、ダイアログボックス７０７のＯＫボタンが指示されると、ステップＳ１６０６に進む。このステップＳ１６０６では、ＲＡＭ１０６中の利用可能なメモリサイズ、及び、ＣＰＵ１０４自身の処理能力を解析し、図１５のテーブルを参照して、ハードウェアリソースの指標値を得る。
【０１０６】
そして、ハードウェアリソースが大であれば、ステップＳ１６０８に進み、式（３）に従った処理、すなわち、図５のフローチャートに従った処理を実行する。また、ハードウェアリソースが中であれば、ステップＳ１６０９に進み、式（４）に従った処理、すなわち、図９のフローチャートに従った処理を実行する。そして、ハードウェアリソースが小であれば、ステップＳ１６１０に進み、式（５）に従った処理、すなわち、図１０のフローチャートに従った処理を実行する。
【０１０７】
以上説明したように本第４の実施形態によれば、本第４の実施形態の画像編集アプリケーションを実行する装置のハードウェアリソースに基づき、適応的に式（３）乃至（５）のいずれか１つに従って拡大・アンシャープマスク処理を実行することができる。
【０１０８】
＜第５の実施形態＞
上記第４の実施形態では、装置のハードウェアリソースに応じて、適応的に式（３）乃至（５）のいずれかに従って拡大・アンシャープマスク処理するものであった。
【０１０９】
しかし、ハードウェアリソースが乏しい装置を所有するユーザが、時間がかかっても良いから最高画質の拡大・アンシャープマスク処理を望むことも有り得る。
【０１１０】
そこで、図１７に示す如く、最適拡大処理の設定メニューを表示させ、自動、手動のいずれかを設定できるようにしても構わない。図示の如く、ラジオボタンを用意し、ユーザは「自動」、「手動」のいずれかを明示的に選択する。そして「自動」が設定された場合、上記第４の実施形態の処理を行なう。また、「手動」が選択された場合、スライダーバーを操作し、第１乃至第３の実施形態のいずれで行なうかを明示的に設定する。
【０１１１】
また、この設定を行なうと、次回の編集に反映させるため、設定内容を環境ファイル等に保存する。
【０１１２】
以上のようにすることで、ユーザは第１乃至第４の実施形態のいずれで処理を行なうかを設定できるようになり、ユーザの利便性を増すことが可能になる。
【０１１３】
［その他の実施形態］
以上本発明に係る４つの実施形態を説明した。上記の各実施形態の如く、本発明は上記の通り、コンピュータプログラムにより実現できるものであるから、当然、そのようなコンピュータプログラムも本発明の範疇に入る。
【０１１４】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１１５】
また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されていて、それをコンピュータの読取り装置（ＣＤ−ＲＯＭドライブ）にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、このようなコンピュータ可読記憶媒体も本発明の範疇に入ることも明らかである。
【図面の簡単な説明】
【０１１６】
【図１】本発明におけるシステムのブロック構成図である。
【図２】平滑化フィルタの例を示す図である。
【図３】差分値と強調係数のテーブルと、拡大率との関係を示す図である。
【図４】拡大率から、フィルタサイズ、強調係数テーブルを算出するためのテーブルを示す図である。
【図５】第１の実施形態における拡大・アンシャープマスク処理の処理手順を示すフローチャートである。
【図６】画像データのスキャン順と、アドレスとの対応関係を示す図である。
【図７】実施形態におけるアプリケーションプログラムのＧＵＩの推移を示す図である。
【図８】実施形態におけるアプリケーションプログラムのメイン処理を示すフローチャートである。
【図９】第２の実施形態における拡大・アンシャープマスク処理の処理手順を示すフローチャートである。
【図１０】第３の実施形態における拡大・アンシャープマスク処理の処理手順を示すフローチャートである。
【図１１】バイリニア法とバイキュービック法による画像の拡大処理内容を説明するための図である。
【図１２】第１の実施形態における拡大・アンシャープマスク処理の処理概要を説明するための図である。
【図１３】第２の実施形態における拡大・アンシャープマスク処理の処理概要を説明するための図である。
【図１４】第３の実施形態における拡大・アンシャープマスク処理の処理概要を説明するための図である。
【図１５】第４の実施形態におけるハードウェアリソースの判定のためのテーブルを示す図である。
【図１６】第４の実施形態におけるメイン処理を示すフローチャートである。
【図１７】第５の実施形態における最適拡大の設定のＧＵＩを示すフローチャートである。
【図１】
2008033692.tif 000003
【図２】
2008033692.tif 000004
【図３】
2008033692.tif 000005
【図４】
2008033692.tif 000006
【図５】
2008033692.tif 000007
【図６】
2008033692.tif 000008
【図７】
2008033692.tif 000009
【図８】
2008033692.tif 000010
【図９】
2008033692.tif 000011
【図１０】
2008033692.tif 000012
【図１１】
2008033692.tif 000013
【図１２】
2008033692.tif 000014
【図１３】
2008033692.tif 000015
【図１４】
2008033692.tif 000016
【図１５】
2008033692.tif 000017
【図１６】
2008033692.tif 000018
【図１７】
2008033692.tif 000019