(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得部と、
前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定部と、
オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成部と、
前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成部と、
前記出力画像データを印刷部に出力する出力部と、
を備え、
前記マスク生成部は、
ビットマップデータによって表される第１種オブジェクト領域のための第１種部分マスク画像を、前記第１種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
ビットマップデータ以外のデータによって表される第２種オブジェクト領域のための第２種部分マスク画像を、前記第２種オブジェクト領域内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
画像処理装置。
【請求項２】
画像処理装置であって、
複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得部と、
前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定部と、
オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成部と、
前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成部と、
前記出力画像データを印刷部に出力する出力部と、
を備え、
前記マスク生成部は、
ビットマップデータによって表される第１種オブジェクト領域のための第１種部分マスク画像を、前記第１種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
ビットマップデータ以外のデータによって表される第２種オブジェクト領域のための第２種部分マスク画像を、前記第１種部分マスク画像を生成する場合よりも弱く前記第２種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置であって、
前記マスク生成部は、前記オブジェクト領域毎に前記強度を決定することによって前記入力画像の全体に適用される１つの全体マスク画像を生成し、
前記データ生成部は、前記１つの全体マスク画像を前記入力画像に適用することによって、前記アンシャープマスク処理を実行する、
画像処理装置。
【請求項４】
請求項１から３のいずれか１項に記載の画像処理装置であって、
前記マスク生成部は、
前記第１種オブジェクト領域内の画像を解析することによって前記画像中の第１種処理部分と第２種処理部分とを決定し、
前記第１種処理部分のための部分マスク画像を、前記第１種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
前記第２種処理部分のための部分マスク画像を、前記第２種処理部分内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、または、前記第１種処理部分のための前記部分マスク画像を生成する場合よりも弱く前記第２種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて前記第２種処理部分のための部分マスク画像を生成する、
画像処理装置。
【請求項５】
請求項１から４のいずれか１項に記載の画像処理装置であって、
前記入力画像データは、前記複数のオブジェクトを描画するための複数の描画コマンドを含み、
前記特定部は、オブジェクト領域内のオブジェクトを描画する描画コマンドの種類に応じて、前記オブジェクト領域が第１種のオブジェクト領域であるか第２種のオブジェクト領域であるかを特定する、
画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記特定部は、１つ以上の描画コマンドによって描画される１つの注目オブジェクト領域を特定する特定処理を実行し、
前記マスク生成部は、
前記注目オブジェクト領域内の画像を表す注目ラスタデータを生成する処理と、
前記注目オブジェクト領域のための注目マスク画像を生成する処理と、
を含む生成処理を実行し、
前記複数のオブジェクト領域のうち１つの注目オブジェクト領域について前記特定処理および前記生成処理が実行された後に、他の注目オブジェクト領域について前記特定処理および前記生成処理が実行される、
画像処理装置。
【請求項７】
請求項５または６に記載の画像処理装置であって、
前記マスク生成部は、
前記複数の描画コマンドのラスタライズによって前記入力画像を表す入力ラスタデータを生成し、
前記入力ラスタデータのうち少なくとも前記第１種オブジェクト領域を表す部分に対する平滑化処理を実行することによって得られる画像を前記アンシャープマスクの算出のための前記アンシャープ画像として用いて、前記マスク画像を生成する、
画像処理装置。
【請求項８】
請求項１から７のいずれか１項に記載の画像処理装置であって、
前記マスク画像は、前記アンシャープマスクの算出のための前記アンシャープ画像である、
画像処理装置。
【請求項９】
コンピュータプログラムであって、
複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得機能と、
前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定機能と、
オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成機能と、
前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成機能と、
前記出力画像データを印刷部に出力する出力機能と、
をコンピュータに実現させ、
前記マスク生成機能は、
ビットマップデータによって表される第１種オブジェクト領域のための第１種部分マスク画像を、前記第１種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
ビットマップデータ以外のデータによって表される第２種オブジェクト領域のための第２種部分マスク画像を、前記第２種オブジェクト領域内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
コンピュータプログラム。
【請求項１０】
コンピュータプログラムであって、
複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得機能と、
前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定機能と、
オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成機能と、
前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成機能と、
前記出力画像データを印刷部に出力する出力機能と、
をコンピュータに実現させ、
前記マスク生成機能は、
ビットマップデータによって表される第１種オブジェクト領域のための第１種部分マスク画像を、前記第１種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
ビットマップデータ以外のデータによって表される第２種オブジェクト領域のための第２種部分マスク画像を、前記第１種部分マスク画像を生成する場合よりも弱く前記第２種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、印刷用の画像処理に関する。
【背景技術】
【０００２】
従来から、印刷される画像の画質を向上するために、種々の画像処理が行われている。例えば、アンシャープマスクを用いて画像を鮮鋭化する処理が行われている。ここで、画像の鮮鋭領域の中心をピークとして非鮮鋭領域の側から徐々に鮮鋭度合いを高める技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２８５２３１号公報
【特許文献２】特開平１０−２００７７８号公報
【特許文献３】特開２０１０−４３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
印刷される画像は、複数種類のオブジェクトを表し得る。上記従来技術では、複数種類のオブジェクトに対する画像処理について言及されていない。複数種類のオブジェクトを含む画像に画像処理を行う場合に、複数のオブジェクトのうちの一部のオブジェクトの画質が向上するものの、残りのオブジェクトの画質が低下する場合があった。
【０００５】
本開示は、複数のオブジェクトを適切に印刷する技術を開示する。
【課題を解決するための手段】
【０００６】
本開示は、例えば、以下の適用例を開示する。
【０００７】
［適用例１］画像処理装置であって、複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得部と、前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定部と、オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成部と、前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成部と、前記出力画像データを印刷部に出力する出力部と、を備える、画像処理装置。
【０００８】
この構成によれば、オブジェクト領域毎にシャープネス調整の強度を決定することによってマスク画像が生成されるので、全てのオブジェクト領域に同じ強度のシャープネス調整が行われる場合と比べて、複数のオブジェクトを適切なシャープネスで印刷することができる。
［適用例２］
適用例１に記載の画像処理装置であって、
前記マスク生成部は、前記オブジェクト領域毎に前記強度を決定することによって前記入力画像の全体に適用される１つの全体マスク画像を生成し、
前記データ生成部は、前記１つの全体マスク画像を前記入力画像に適用することによって、前記アンシャープマスク処理を実行する、
画像処理装置。
［適用例３］
適用例１または２に記載の画像処理装置であって、
前記マスク生成部は、
ビットマップデータによって表される第１種オブジェクト領域のための第１種部分マスク画像を、前記第１種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
ビットマップデータ以外のデータによって表される第２種オブジェクト領域のための第２種部分マスク画像を、前記第２種オブジェクト領域内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
画像処理装置。
［適用例４］
適用例１または２に記載の画像処理装置であって、
前記マスク生成部は、
ビットマップデータによって表される第１種オブジェクト領域のための第１種部分マスク画像を、前記第１種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
ビットマップデータ以外のデータによって表される第２種オブジェクト領域のための第２種部分マスク画像を、前記第１種部分マスク画像を生成する場合よりも弱く前記第２種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
画像処理装置。
［適用例５］
適用例３または４に記載の画像処理装置であって、
前記マスク生成部は、
前記第１種オブジェクト領域内の画像を解析することによって前記画像中の第１種処理部分と第２種処理部分とを決定し、
前記第１種処理部分のための部分マスク画像を、前記第１種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
前記第２種処理部分のための部分マスク画像を、前記第２種処理部分内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、または、前記第１種処理部分のための前記部分マスク画像を生成する場合よりも弱く前記第２種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて前記第２種処理部分のための部分マスク画像を生成する、
画像処理装置。
［適用例６］
適用例３から５のいずれか１項に記載の画像処理装置であって、
前記入力画像データは、前記複数のオブジェクトを描画するための複数の描画コマンドを含み、
前記特定部は、オブジェクト領域内のオブジェクトを描画する描画コマンドの種類に応じて、前記オブジェクト領域が第１種のオブジェクト領域であるか第２種のオブジェクト領域であるかを特定する、
画像処理装置。
［適用例７］
適用例６に記載の画像処理装置であって、
前記特定部は、１つ以上の描画コマンドによって描画される１つの注目オブジェクト領域を特定する特定処理を実行し、
前記マスク生成部は、
前記注目オブジェクト領域内の画像を表す注目ラスタデータを生成する処理と、
前記注目オブジェクト領域のための注目マスク画像を生成する処理と、
を含む生成処理を実行し、
前記複数のオブジェクト領域のうち１つの注目オブジェクト領域について前記特定処理および前記生成処理が実行された後に、他の注目オブジェクト領域について前記特定処理および前記生成処理が実行される、
画像処理装置。
［適用例８］
適用例６または７に記載の画像処理装置であって、
前記マスク生成部は、
前記複数の描画コマンドのラスタライズによって前記入力画像を表す入力ラスタデータを生成し、
前記入力ラスタデータのうち少なくとも前記第１種オブジェクト領域を表す部分に対する平滑化処理を実行することによって得られる画像を前記アンシャープマスクの算出のための前記アンシャープ画像として用いて、前記マスク画像を生成する、
画像処理装置。
［適用例９］
適用例１から８のいずれか１項に記載の画像処理装置であって、
前記マスク画像は、前記アンシャープマスクの算出のための前記アンシャープ画像である、
画像処理装置。
【０００９】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】実施例の画像処理システム１０００を示す説明図である。
【図２】印刷処理の手順を示すフローチャートである。
【図３】入力画像ＩＭｉの例を示す概略図である。
【図４】マスクの生成の手順の例を示すフローチャートである。
【図５】マスクＩＭｍの例を示す概略図である。
【図６】シャープネス調整処理の手順の例を示すフローチャートである。
【図７】調整済画像ＩＭａの例を示す概略図である。
【図８】参考例の調整済画像ＩＭｒの例を示す概略図である。
【図９】マスク生成処理の別の実施例のフローチャートの一部である。
【図１０】全体マスクＩＭｍ２の例を示す概略図である。
【図１１】調整済画像ＩＭａ２の例を示す概略図である。
【発明を実施するための形態】
【００１１】
Ａ．第１実施例：
図１は、実施例の画像処理システム１０００を示す説明図である。画像処理システム１０００は、画像処理装置１００と、画像処理装置１００に接続された印刷部２００と、を有している。
【００１２】
画像処理装置１００は、例えば、パーソナルコンピュータである。画像処理装置１００は、プロセッサ１１０と、揮発性記憶装置１２０と、不揮発性記憶装置１３０と、表示部１４０と、操作部１５０と、装置インタフェース１６０と、を有している。
【００１３】
プロセッサ１１０は、データ処理を行う装置であり、例えば、ＣＰＵである。揮発性記憶装置１２０は、例えば、ＤＲＡＭであり、不揮発性記憶装置１３０は、例えば、フラッシュメモリである。不揮発性記憶装置１３０は、プログラム１３２を格納している。プロセッサ１１０は、プログラム１３２を実行することによって、種々の機能を実現する（詳細は、後述）。また、プロセッサ１１０は、プログラム（例えば、プログラム１３２）の実行に利用される種々の中間データを、記憶装置（例えば、揮発性記憶装置１２０、または、不揮発性記憶装置１３０）に、一時的に格納する。
【００１４】
表示部１４０は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部１５０は、ユーザによる操作を受け取る装置であり、例えば、表示部１４０上に重ねて配置されたタッチパネルである。ユーザは、操作部１５０を操作することによって、後述する印刷処理の開始指示等の種々の指示を画像処理装置１００に入力可能である。
【００１５】
装置インタフェース１６０は、他の装置と通信するためのインタフェースである（例えば、ＵＳＢインタフェース、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。図１の画像処理システム１０００では、装置インタフェース１６０に、印刷部２００が接続されている。
【００１６】
印刷部２００は、用紙（印刷媒体の一例）上に画像を印刷する装置である。印刷部２００は、本実施例では、シアンＣとマゼンタＭとイエロＹとブラックＫのそれぞれのインクを用いるインクジェット式印刷装置である。ただし、印刷部２００は、他の種類の印刷装置（例えば、レーザ式の印刷装置）であってもよい。
【００１７】
図２は、印刷処理の手順を示すフローチャートである。この印刷処理は、例えば、ユーザが、操作部１５０（図１）を通じて印刷処理の開始指示を入力した場合に、プロセッサ１１０によって開始される。例えば、ユーザは、画像処理装置１００に、文書やグラフィック等を表す画像データを生成する画像処理アプリケーション（図示省略）を動作させる。そして、ユーザは、画像処理アプリケーションを通じて印刷指示を入力する。プロセッサ１１０は、印刷指示に応じて印刷処理を開始する。プロセッサ１１０は、プログラム１３２に従って、印刷処理を制御する。以下、処理を示す符号として、文字「Ｓ」と、文字「Ｓ」に続く数字と、を組み合わせた符号を用いる。
【００１８】
Ｓ１００では、プロセッサ１１０は、印刷対象の画像データである入力画像データを取得する。例えば、プロセッサ１１０は、画像処理アプリケーションによって生成された画像データを、入力画像データとして取得する。
【００１９】
図３は、入力画像データによって表される入力画像ＩＭｉの例を示す概略図である。図３の例では、入力画像ＩＭｉは、写真を表す１個のオブジェクトＯＰと、グラフィックを表す２個のオブジェクトＯＧ１、ＯＧ２を、表している。写真オブジェクトＯＰは、人物Ｐを表している。グラフィックの第１オブジェクトＯＧ１は、表を表し、グラフィックの第２オブジェクトＯＧ２は、円グラフを表している。これらのオブジェクトＯＰ、ＯＧ１、ＯＧ２は、背景ＢＧ（例えば、白色の領域）上に互いに離れて配置されている。
【００２０】
本実施例では、ページ記述言語で記述された画像データが、入力画像データとして用いられる。具体的には、入力画像データとしては、例えば、ＥＭＦ（Enhanced Meta File）形式のデータが用いられる。ＥＭＦ形式のデータは、オブジェクトを構成する要素を描画する描画コマンドであるＧＤＩコマンドと、ＧＤＩコマンドによる要素の描画に利用されるパラメータと、を含んでいる。描画コマンドの例としては、円などの図形を描画するコマンドや、圧縮されたビットマップデータを展開するコマンド、などが挙げられる。描画に利用されるパラメータの例としては、円の中心の位置と半径などの図形の位置と形状とを定めるパラメータや、画像データ中に埋め込まれた圧縮済のビットマップデータ、などが挙げられる。図３の写真オブジェクトＯＰは、写真を表すビットマップデータを展開するコマンドによって描画される。グラフィックの第１オブジェクトＯＧ１は、枠を描画するコマンドと、値を表す文字を描画するコマンドと、によって描画される。グラフィックの第２オブジェクトＯＧ２は、枠を描画するコマンドと、各セクタを塗りつぶすコマンドと、によって描画される。
【００２１】
図２のＳ１１０では、プロセッサ１１０は、アンシャープマスク処理のためのマスク画像を生成する。一般的に、アンシャープマスクは、入力画像ＩＭｉから、入力画像ＩＭｉを平滑化して得られる画像を引くことによって、生成される。アンシャープマスクの算出のために入力画像ＩＭｉから引かれる画像は「アンシャープ画像」と呼ばれる。本実施例では、Ｓ１１０で生成されるマスク画像は、入力画像ＩＭｉの特定の部分を平滑化することによって生成される画像であり、アンシャープマスクの算出のために入力画像ＩＭｉから引かれるアンシャープ画像である。以下、マスク画像のことを、単に「マスク」とも呼ぶ。Ｓ１２０では、プロセッサ１１０は、生成したマスクを用いて入力画像ＩＭｉにアンシャープマスク処理（すなわち、シャープネス調整処理）を実行する。これらの処理Ｓ１１０、Ｓ１２０の詳細については、後述する。なお、これらの処理Ｓ１１０、Ｓ１２０によって、シャープネスが調整された画像（「調整済画像」と呼ぶ）を表すビットマップデータが生成される。生成されるビットマップデータの各画素の色値は、本実施例では、０〜２５５の２５６階調のＲ（赤）Ｇ（緑）Ｂ（青）の階調値で表されている。
【００２２】
Ｓ１３０では、プロセッサ１１０は、調整済画像を表すビットマップデータの各画素の色値を、ＲＧＢの階調値から、印刷用の色材の色成分に対応するＣＭＹＫの階調値に変換する。ＲＧＢとＣＭＹＫとの間の対応関係は、不揮発性記憶装置１３０に予め格納されたルックアップテーブル（図示省略）によって予め規定されている。プロセッサ１１０は、このルックアップテーブルを参照して、色変換を実行する。
【００２３】
Ｓ１４０では、プロセッサ１１０は、色変換済のデータを用いて、ハーフトーン処理を行う。ハーフトーン処理としては、いわゆる誤差拡散法に従った処理が行われる。この代わりに、ディザマトリクスを用いる方法を採用してもよい。プロセッサ１１０は、ハーフトーン処理によって、画像を印刷部２００に印刷させるための出力画像データを生成する。出力画像データは、印刷部２００によって解釈可能な形式のデータである。
【００２４】
Ｓ１５０では、プロセッサ１１０は、出力画像データを印刷部２００に出力する。Ｓ１６０では、印刷部２００は、受信した出力画像データに従って、画像を印刷する。以上により、調整済画像が印刷され、そして、印刷処理が終了する。
【００２５】
図４は、アンシャープマスク処理のためのマスクの生成（図２：Ｓ１１０）の手順の例を示すフローチャートである。Ｓ２００では、プロセッサ１１０（図１）は、揮発性記憶装置１２０の中に、入力画像ＩＭｉを表すラスタデータを格納するための第１領域１２１と、マスクデータを格納するための第２領域１２２とを確保し、各領域１２１、１２２のデータを予め決められた初期データに初期化する。ラスタデータとマスクデータとは、第１方向Ｄ１（図３）と、第１方向Ｄ１に垂直な第２方向Ｄ２と、に沿って格子状に配置された図示しない複数の画素の色値を表している。初期データとしては、本実施例では、全ての画素の色値が背景ＢＧを表す色値（例えば、Ｒ＝Ｇ＝Ｂ＝２５５）であるデータが用いられる。
【００２６】
Ｓ２１０では、プロセッサ１１０は、入力画像データから１個のオブジェクトを描画するための１個以上の描画コマンドを取得する。入力画像中の各オブジェクトは、複数の描画コマンドによって描画される複数の要素を背景ＢＧで分離することによって、特定される。本実施例では、背景ＢＧに囲まれる１個の連続な領域内に含まれる１個以上の要素の全体が、１個のオブジェクトとして用いられる。例えば、図３の入力画像ＩＭｉからは、３個のオブジェクトＯＰ、ＯＧ１、ＯＧ２が特定される。プロセッサ１１０は、描画コマンドによって描画される要素の位置を特定することによって、各オブジェクトを特定できる。以下、Ｓ２１０で取得される描画コマンドによって描画される１個のオブジェクトを「注目オブジェクト」と呼ぶ。
【００２７】
Ｓ２２０では、プロセッサ１１０は、注目オブジェクトを表す注目オブジェクト領域を特定する。本実施例では、注目オブジェクト領域は、注目オブジェクトを包含する最小の連続な領域である。プロセッサ１１０は、Ｓ２１０で取得した１個以上の描画コマンドを解析することによって、注目オブジェクト領域を特定できる。例えば、図３の例では、第１オブジェクトＯＧ１からはオブジェクト領域ＯＡ１が特定され、第２オブジェクトＯＧ２からはオブジェクト領域ＯＡ２が特定され、写真オブジェクトＯＰからはオブジェクト領域ＯＡ３が特定される。
【００２８】
図４のＳ２３０では、プロセッサ１１０は、注目オブジェクト領域がビットマップデータによって表される第１種オブジェクト領域であるか否かを判断する。プロセッサ１１０は、Ｓ２１０で取得した描画コマンドがビットマップデータを展開するコマンドを含む場合に、注目オブジェクト領域が第１種オブジェクト領域であると判断する（Ｓ２３０：Ｙｅｓ）。Ｓ２１０で取得した描画コマンドがビットマップデータを展開するコマンドを含まずに、他の種類のコマンド（例えば、図形や文字等の要素を描画するコマンド）で構成されている場合、すなわち、注目オブジェクト領域がビットマップデータ以外のデータで表される場合、プロセッサ１１０は、注目オブジェクト領域が第２種オブジェクト領域であると判断する（Ｓ２３０：Ｎｏ）。例えば、図３の２個のオブジェクト領域ＯＡ１、ＯＡ２は、第２種オブジェクト領域であると判断され（Ｓ２３０：Ｎｏ）、第３オブジェクト領域ＯＡ３は、第１種オブジェクト領域であると判断される（Ｓ２３０：Ｙｅｓ）。
【００２９】
注目オブジェクト領域が第１種オブジェクト領域である場合（Ｓ２３０：Ｙｅｓ）、Ｓ２６０で、プロセッサ１１０は、Ｓ２１０で取得した１個の注目オブジェクト領域のための全ての描画コマンドをラスタライズすることによって、注目オブジェクト領域の画像（「注目領域画像」と呼ぶ）を表す注目ラスタデータを生成する。注目領域画像は、注目オブジェクトを表している。また、注目ラスタデータの画素密度としては、印刷処理用の所定の画素密度が用いられる。注目ラスタデータの各画素の色値は、本実施例では、０〜２５５の２５６階調のＲ（赤）Ｇ（緑）Ｂ（青）の階調値で表されている。なお、ラスタデータは、ビットマップデータとも呼ばれる。以下、プロセッサ１１０によるラスタライズによって生成されたビットマップデータを、ラスタデータとも呼ぶ。
【００３０】
Ｓ２６８では、プロセッサ１１０（図１）は、生成した注目ラスタデータを、揮発性記憶装置１２０の第１領域１２１に格納する。第１領域１２１のサイズは、入力画像ＩＭｉの全体を表すラスタデータのデータサイズと同じである。第１領域１２１内のデータ格納位置（例えば、メモリアドレス）と、入力画像ＩＭｉ中の画素位置と、の対応関係は、予め決められている。プロセッサ１１０は、第１領域１２１のうち、注目オブジェクト領域に対応付けられたデータ格納位置の部分に、注目ラスタデータを格納する。
【００３１】
Ｓ２７０では、プロセッサ１１０は、第１種オブジェクト領域である注目オブジェクト領域に適用するための注目マスクを生成する（「第１種部分マスク」とも呼ぶ）。生成される注目マスクは、注目オブジェクト領域と同じ形状の画像であり、注目オブジェクト領域の複数の画素と同じ複数の画素の色値によって表される。本実施例では、プロセッサ１１０は、Ｓ２６０で生成された注目ラスタデータによって表される注目領域画像を平滑化することによって、第１種部分マスクを生成する。図４の下部には、平滑化処理の概要が示されている。本実施例では、第１種部分マスクの注目画素Ｐｑの色値ＶｅＵは、注目領域画像内の注目画素Ｐｑと同じ位置の画素Ｐｒを中心とする３行３列の９個の画素の９個の色値Ｖａ〜Ｖｉの平均値に、決定される。第１種部分マスクの各画素の色値の算出は、ＲとＧとＢとの色成分毎に行われる。このような平滑化処理により、プロセッサ１１０は、第１種部分マスクを表す部分マスクデータを生成する。なお、上記の平滑化処理は、予め決められた強度（「第１平滑強度」と呼ぶ）で平滑化する処理である。従って、Ｓ２７０は平滑化の強度を第１平滑強度に決定して部分マスクを生成する処理である、と言うことができる。
【００３２】
図５は、入力画像ＩＭｉに適用される全体マスクＩＭｍの例を示す概略図である。図中には、図３で説明した３個のオブジェクト領域ＯＡ１、ＯＡ２、ＯＡ３が示されている。第３オブジェクト領域ＯＡ３は、第１種オブジェクト領域であるので、第３オブジェクト領域ＯＡ３のための部分マスクＯＰｍは、図４のＳ２７０で生成される。図５に示すように、第３オブジェクト領域ＯＡ３の部分マスクＯＰｍは、図３の写真オブジェクトＯＰをぼやけさせた画像であり、ぼやけた人物Ｐｂを表している。
【００３３】
図４のＳ２７８では、プロセッサ１１０（図１）は、生成した第１種部分マスクを表す部分マスクデータを、揮発性記憶装置１２０の第２領域１２２に格納する。第２領域１２２のサイズは、全体マスクＩＭｍの全体を表すビットマップデータのデータサイズ（すなわち、入力画像ＩＭｉの全体を表すラスタデータのデータサイズ）と同じである。第２領域１２２内のデータ格納位置（例えば、メモリアドレス）と、マスクＩＭｍ中の画素位置と、の対応関係は、予め決められている。プロセッサ１１０は、第２領域１２２のうち、注目オブジェクト領域に対応付けられたデータ格納位置の部分に、第１種部分マスクを表す部分マスクデータを格納する。
【００３４】
Ｓ２８０では、プロセッサ１１０は、全ての描画コマンドの処理が終了したか否かを判断する。未処理の描画コマンドが残っている場合（Ｓ２８０：Ｎｏ）、プロセッサ１１０は、Ｓ２１０に移行して、未処理の描画コマンドの処理を進行する。
【００３５】
注目オブジェクト領域が第２種オブジェクト領域である場合（Ｓ２３０：Ｎｏ）、プロセッサ１１０は、Ｓ２４０で注目ラスタデータを生成し、Ｓ２４８で注目ラスタデータを第１領域１２１に格納する。これらの処理Ｓ２４０、Ｓ２４８は、上述のＳ２６０、Ｓ２６８と、それぞれ同じである。
【００３６】
Ｓ２５０では、プロセッサ１１０は、第２種オブジェクト領域である注目オブジェクト領域に適用するための注目マスクを生成する（「第２種部分マスク」とも呼ぶ）。本実施例では、プロセッサ１１０は、第２種部分マスクを、注目領域画像を平滑化せずに、注目領域画像と同じ画像に決定する。すなわち、Ｓ２５０では平滑強度がゼロに決定される、ということができる。プロセッサ１１０は、Ｓ２４０で生成された注目ラスタデータをコピーして、第２種部分マスクを表す部分マスクデータを生成する。
【００３７】
図５の例では、２個のオブジェクト領域ＯＡ１、ＯＡ２が、第２種オブジェクト領域であるので、これらのオブジェクト領域ＯＡ１、ＯＡ２のための部分マスクＯＧ１ｍ、ＯＧ２ｍは、図４のＳ２５０で生成される。図５に示すように、オブジェクト領域ＯＡ１、ＯＡ２の部分マスクＯＧ１ｍ、ＯＧ２ｍは、図３のオブジェクトＯＧ１、ＯＧ２を表す画像と、それぞれ同じである。
【００３８】
図４のＳ２５８では、プロセッサ１１０（図１）は、生成した第２種部分マスクを表す部分マスクデータを、揮発性記憶装置１２０の第２領域１２２に格納する。この処理は、上述のＳ２７８の処理と同じである。Ｓ２５８の後、プロセッサ１１０は、Ｓ２８０に移行する。
【００３９】
全ての描画コマンドの処理が終了した場合（Ｓ２８０：Ｙｅｓ）、プロセッサ１１０（図１）は、図４の処理を終了する。このように、全ての描画コマンド（ひいては、全てのオブジェクト領域）に関して、注目ラスタデータを生成する処理（Ｓ２４０、Ｓ２６０）と、生成した注目ラスタデータを揮発性記憶装置１２０の第１領域１２１に格納する処理（Ｓ２４８、Ｓ２６８）とが、実行される。従って、図４の処理が終了した段階で、揮発性記憶装置１２０の第１領域１２１には、入力画像ＩＭｉ（図３）の全体を表すラスタデータが格納されている（「入力ラスタデータ」と呼ぶ）。
【００４０】
また、全てのオブジェクト領域に関して、注目マスクを表す部分マスクデータを生成する処理（Ｓ２５０、Ｓ２７０）と、生成した部分マスクデータを揮発性記憶装置１２０の第２領域１２２に格納する処理（Ｓ２５８、Ｓ２７８）とが、実行される。従って、図４の処理が終了した段階で、揮発性記憶装置１２０の第２領域１２２には、入力画像ＩＭｉの全体に対応するマスクＩＭｍ（「全体マスクＩＭｍ」とも呼ぶ）の全体を表す全体マスクデータが格納されている。本実施例では、全体マスクデータは、入力ラスタデータのうち第１種オブジェクト領域を表す部分に平滑化処理（図４：Ｓ２７０）を実行することによって生成されたデータである。
【００４１】
図２のＳ１２０では、プロセッサ１１０は、揮発性記憶装置１２０の第１領域１２１に格納された入力ラスタデータと第２領域１２２に格納された全体マスクデータとを用いて、入力画像ＩＭｉのシャープネス調整処理を実行する。図６は、シャープネス調整処理の手順の例を示すフローチャートである。図６には、１つの色成分の色値を調整する手順が示されている。本実施例では、プロセッサ１１０は、ＲＧＢの３個の色成分のそれぞれの色値を、図６の手順に従って調整する。
【００４２】
Ｓ３００では、プロセッサ１１０は、入力画像ＩＭｉ中の未処理の画素から１つの画素を選択し、選択した画素（「注目画素」と呼ぶ）の色値Ｖｔを入力ラスタデータから取得する。Ｓ３１０では、プロセッサ１１０は、全体マスクＩＭｍ中の注目画素と同じ位置の画素の色値Ｖｍを、全体マスクデータから取得する。Ｓ３２０では、プロセッサ１１０は、調整済の色値Ｖｔｕを算出する。本実施例では、Ｖｔｕ＝Ｖｔ＋ｋ×（Ｖｔ−Ｖｍ）である。係数ｋは、予め決められた値であり、例えば、ゼロよりも大きく１よりも小さい値に設定される。この計算式のうち「Ｖｔ−Ｖｍ」によって算出される色値は、入力画像ＩＭｉからマスクＩＭｍ（ここでは、アンシャープ画像）を差し引くことによって得られる色値である。この色値（Ｖｔ−Ｖｍ）は、入力画像ＩＭｉ中のエッジの近傍を表す画像を表している（このような画像は、アンシャープマスクとも呼ばれる）。色値Ｖｔｕの計算式は、入力画像ＩＭｉからマスクＩＭｍ（アンシャープ画像）を差し引くことによってアンシャープマスクを算出し、そして、算出したアンシャープマスクに係数ｋを乗じて入力画像ＩＭｉに加算することを示している。このような計算式を用いる画像処理は、アンシャープマスク処理と呼ばれている。アンシャープマスク処理によって、調整後のシャープネスが強くなる。部分マスクの生成時の平滑強度が強いほど、調整後のシャープネスが強くなる。また、アンシャープマスクに付与される係数ｋが大きいほど、調整後のシャープネスが強くなる。すなわち、平滑強度と係数ｋとは、シャープネス調整の強度に対応している。なお、本実施例では、プロセッサ１１０は、揮発性記憶装置１２０（図１）の第１領域１２１に格納されている未調整の色値Ｖｔを表すデータを、調整済の色値Ｖｔｕを表すデータで上書きする。
【００４３】
Ｓ３３０では、プロセッサ１１０（図１）は、全ての画素の処理が終了したか否かを判断する。未処理の画素が残っている場合（Ｓ３３０：Ｎｏ）、プロセッサ１１０は、Ｓ３００に移行して、未処理の画素の処理を実行する。全ての画素の処理が終了した場合（Ｓ３３０：Ｙｅｓ）、図６の処理は、終了する。このように、プロセッサ１１０は、入力画像ＩＭｉの全体に対して、全体マスクＩＭｍを用いるアンシャープマスク処理を実行する。本実施例では、プロセッサ１１０は、描画コマンドのラスタライズによって生成された入力ラスタデータに対するアンシャープマスク処理によって、調整済画像を表すデータを生成する。なお、図６の処理が終了した段階で、揮発性記憶装置１２０の第１領域１２１には、アンシャープマスク処理によって生成される調整済画像を表すデータが格納されている。
【００４４】
図７は、調整済画像ＩＭａの例を示す概略図である。図中には、図３で説明した３個のオブジェクト領域ＯＡ１、ＯＡ２、ＯＡ３が示されている。第３オブジェクト領域ＯＡ３では、入力画像ＩＭｉの写真オブジェクトＯＰの平滑化によって得られた部分マスクＯＰｍ（図５）が適用されるので、アンシャープマスク処理によってシャープネスが強調される。調整済画像ＩＭａの第３オブジェクト領域ＯＡ３は、入力画像ＩＭｉ（図３）の写真オブジェクトＯＰよりもシャープネスが強調された写真オブジェクトＯＰａを表している。例えば、人物Ｐａの髪Ｐａｈは、入力画像ＩＭｉの人物Ｐの髪Ｐｈ（図３）よりもシャープに表現されている。
【００４５】
図７の２個のオブジェクト領域ＯＡ２、ＯＡ３では、入力画像ＩＭｉの同じ領域ＯＡ２、ＯＡ３の画像と同じ画像を表す部分マスクＯＧ１ｍ、ＯＧ２ｍ（図５）が適用される。従って、調整済の色値Ｖｔｕの上記の計算式において「Ｖｔ−Ｖｍ」がゼロであるので、アンシャープマスク処理の前後で、画像は変化しない（すなわち、シャープネスは変化しない）。調整済画像ＩＭａの第１オブジェクト領域ＯＡ１は、入力画像ＩＭｉの第１オブジェクト領域ＯＡ１の画像と同じ画像（すなわち、第１オブジェクトＯＧ１）を表している。同様に、調整済画像ＩＭａの第２オブジェクト領域ＯＡ２は、入力画像ＩＭｉの第２オブジェクト領域ＯＡ２の画像と同じ画像（すなわち、第２オブジェクトＯＧ２）を表している。
【００４６】
図８は、参考例の調整済画像ＩＭｒの例を示す概略図である（「参考画像ＩＭｒ」と呼ぶ）。参考画像ＩＭｒは、入力画像ＩＭｉ（図３）の全体に同じ強度のシャープネス調整処理を適用することによって得られる調整済画像である。図７の調整済画像ＩＭａとの差異は、２個のオブジェクト領域ＯＡ１、ＯＡ２が、入力画像ＩＭｉのオブジェクトＯＧ１、ＯＧ２よりもシャープネスが強調されたオブジェクトＯＧ１ａ、ＯＧ２ａを表している点だけである。シャープネス強調によって、枠などのエッジの近傍に、視認可能なラインＡＬが生じている。このようなエッジ近傍のラインＡＬは、入力画像ＩＭｉには存在しないラインである。従って、仮に参考画像ＩＭｒが印刷される場合には、オブジェクトＯＧ１ａ、ＯＧ２ａのラインＡＬが、印刷された画像を観察するユーザに違和感を与える可能性がある。
【００４７】
一方、本実施例では、ビットマップデータによって表される第１種オブジェクト領域でシャープネスが強調され、ビットマップデータ以外のデータによって表される第２種オブジェクト領域では、シャープネスは強調されない。
【００４８】
一般的に、ビットマップデータによって表される画像では、シャープネスが望ましい強度よりも弱い場合が多い。例えば、ビットマップデータは、デジタルカメラやスキャナ等の読み取り装置によって生成される場合が多い。読み取り装置によるデータ生成時に読み取り装置の焦点が読み取り対象に合わずに、ぼやけた画像を表すデータが生成され得る。また、ビットマップデータは、非可逆的に圧縮されている場合が多い（例えば、ＪＰＥＧ形式）。そのようなデータの圧縮と展開が繰り返されることによって、画像がぼやける場合がある。従って、ビットマップデータによって表される第１種オブジェクト領域でシャープネスを強調することによって、画質を向上できる。
【００４９】
また、ビットマップデータ以外のデータによって表される第２種オブジェクト領域では、描画コマンドのラスタライズによってオブジェクトが描画される。従って、適切なシャープネスが既に実現されている可能性が高い。そのような領域でシャープネスを強調すると、図８で説明したような不自然なラインＡＬが生じ得る。従って、シャープネス強調を省略することによって、不自然なラインＡＬが目立つことを抑制できる。
【００５０】
以上のように、本実施例では、プロセッサ１１０は、オブジェクト領域毎に平滑強度（すなわち、シャープネス調整の強度）を決定することによって、全体マスクＩＭｍ（すなわち、アンシャープ画像）を生成する（図４）。従って、全てのオブジェクト領域に同じ強度のシャープネス調整が行われる場合と比べて、複数のオブジェクトを適切なシャープネスで印刷することができる。
【００５１】
また、プロセッサ１１０は、オブジェクト領域毎に平滑強度（すなわち、シャープネス調整の強度）を決定することによって、入力画像ＩＭｉの全体に適用される１つの全体マスクＩＭｍを生成する（図４、図５）。そして、プロセッサ１１０は、１つの全体マスクＩＭｍを、入力画像ＩＭｉに適用することによって、アンシャープマスク処理を実行する（図２：Ｓ１２０）。従って、プロセッサ１１０は、複数のオブジェクト領域に、１つの全体マスクＩＭｍを用いる共通のアンシャープマスク処理を実行すればよいので、オブジェクト領域毎に処理内容を変更しつつアンシャープマスク処理を進行する場合と比べて、アンシャープマスク処理を簡素化できる。これにより、複数のオブジェクトの適切なシャープネスでの印刷を、容易に実行できる。
【００５２】
また、プロセッサ１１０は、ビットマップデータによって表される第１種オブジェクト領域のための部分マスクを、第１種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成する（図４：Ｓ２７０）。そして、プロセッサ１１０は、ビットマップデータ以外のデータによって表される第２種オブジェクト領域のための部分マスクを、第２種オブジェクト領域の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成する（図４：Ｓ２５０）。従って、１つの全体マスクＩＭｍを用いてアンシャープマスク処理が実行される場合であっても、容易に、第２種オブジェクト領域ではシャープネスを強調せずに、第１種オブジェクト領域でシャープネスを強調できる。この結果、第１種オブジェクト領域の画質を向上し、さらに、第２種オブジェクト領域で不自然なラインが目立つことを抑制できる。
【００５３】
また、プロセッサ１１０は、オブジェクト領域内のオブジェクトを描画する描画コマンドの種類に応じて、オブジェクト領域が第１種オブジェクト領域であるか第２種オブジェクト領域であるかを特定する（図４：Ｓ２３０）。従って、オブジェクト領域の種類を適切に特定できるので、オブジェクト領域毎に適切な部分マスクを生成できる。
【００５４】
また、プロセッサ１１０は、図４のＳ２２０で、１つの注目オブジェクト領域を特定する特定処理を実行し、Ｓ２４０、Ｓ２５０、Ｓ２６０、Ｓ２７０で、注目ラスタデータを生成する処理と部分マスクを生成する処理とを含む生成処理を実行する。そして、１つの注目オブジェクト領域について特定処理と生成処理とが実行された後に、他の注目オブジェクト領域について特定処理と生成処理とが実行される（図４）。従って、注目ラスタデータの生成と部分マスクの生成とが、別々に繰り返される場合と比べて、描画コマンドを解析する処理を共通化できるので、処理の負担を軽減できる。ただし、注目ラスタデータの生成を複数のオブジェクト領域について繰り返す処理と、部分マスクの生成を複数のオブジェクト領域について繰り返す処理とが、別々に行われても良い。
【００５５】
また、プロセッサ１１０は、入力画像ＩＭｉを表す入力ラスタデータを生成し（図４：Ｓ２４０、Ｓ２４８、Ｓ２６０、Ｓ２６８）、そして、入力ラスタデータのうち第１種オブジェクト領域を表す部分に対する平滑化処理を実行することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、全体マスクＩＭｍを生成する（図４：Ｓ２７０）。従って、入力画像ＩＭｉに適した全体マスクＩＭｍを生成できる。
【００５６】
Ｂ．第２実施例：
図９は、マスク生成処理の別の実施例のフローチャートの一部である。図４の実施例との差異は、図４のＳ２７０が、図９のＳ２７２、Ｓ２７４、Ｓ２７６に置換されている点だけである。第２実施例のマスク生成処理の他のステップは、図４の第１実施例のステップと同じである。印刷処理の手順は、図２の実施例と同じである。印刷処理を実行する画像処理装置のハードウェア構成は、図１の構成と同じである。
【００５７】
Ｓ２６８の後、Ｓ２７２で、プロセッサ１１０は、第１種オブジェクト領域である注目オブジェクト領域内の画像を解析することによって、注目オブジェクト領域を第１種処理部分と第２種処理部分とに区分する。この解析には、Ｓ２６０（図４）で生成された注目ラスタデータが用いられる。第１種処理部分は、画像内の位置の変化に対する色値の変化が比較的大きい部分であり、第２種処理部分は、画像内の位置の変化に対する色値の変化が比較的小さい部分である。
【００５８】
図１０は、第２実施例のマスク生成処理で生成される全体マスクＩＭｍ２の例を示す概略図である。この全体マスクＩＭｍ２は、図３の入力画像ＩＭｉに応じて生成された全体マスクの例である。図５の全体マスクＩＭｍとの差異は、第３オブジェクト領域ＯＡ３の画像が第１種処理部分Ｐｂ２ｈと第２種処理部分Ｐｂ２ｆとに区分されている点だけである。第１種処理部分Ｐｂ２ｈは、人物Ｐｂ２の髪を表す部分であり、第２種処理部分Ｐｂ２ｆは、人物Ｐｂ２の顔を表す部分である。
【００５９】
本実施例では、プロセッサ１１０は、第１種オブジェクト領域内の画素を、以下の方法に従って、第１種処理部分、または、第２種処理部分に分類する。まず、プロセッサ１１０は、注目画素の色値と、注目画素の第１方向Ｄ１の隣の画素の色値と、の差である色値差を算出する。色値差は、ＲＧＢの３つの色成分の３つの差の合計値である。色値差の算出は、第１種オブジェクト領域内の各画素について行われる。次に、プロセッサ１１０は、第１種オブジェクト領域から、色値差が予め決められた色閾値以下である画素が連続する連続領域を抽出する。そして、プロセッサ１１０は、各連続領域の画素数を算出する。１個の連続領域の画素数が予め決められた画素数閾値以上である場合、プロセッサ１１０は、その１個の連続領域を第２種処理部分に分類する。第２種処理部分に分類されなかった画素は、第１種処理部分に分類される。なお、図１０では図示が省略されているが、目や口などの器官を表す部分も、第１種処理部分に分類され得る。そして、肌を表す部分のように位置の変化に対する色値の変化が小さい部分が、第２種処理部分に分類される。
【００６０】
図９のＳ２７４では、プロセッサ１１０は、第１種処理部分に適用するための部分マスクを生成する。本実施例では、図４のＳ２７０と同様に、プロセッサ１１０は、Ｓ２６０（図４）で生成された注目ラスタデータによって表される第１種処理部分の画像を平滑化することによって、部分マスクを生成する。図１０の例では、第３オブジェクト領域ＯＡ３の部分マスクＯＰｍ２のうち第１種処理部分Ｐｂ２ｈは、図３の人物Ｐの髪Ｐｈをぼやけさせた画像である。なお、Ｓ２７４は、平滑化の強度を第１平滑強度に決定することによって平滑化を行う処理である、と言うことができる。
【００６１】
図９のＳ２７６では、プロセッサ１１０は、第２種処理部分に適用するための部分マスクを生成する。本実施例では、図４のＳ２５０と同様に、プロセッサ１１０は、Ｓ２６０（図４）で生成された注目ラスタデータによって表される第２種処理部分の画像を、平滑化せずに、部分マスクとして採用する。すなわち、Ｓ２７６では、平滑化の強度をゼロに決定して部分マスクを生成する処理である、と言うことができる。図１０の例では、第３オブジェクト領域ＯＡ３の部分マスクＯＰｍ２のうち第２種処理部分Ｐｂ２ｆは、図３の人物Ｐの顔Ｐｆと同じ画像である。
【００６２】
Ｓ２７８（図４）では、プロセッサ１１０は、Ｓ２７４、Ｓ２７６で生成された部分マスクを表す部分マスクデータを、揮発性記憶装置１２０の第２領域１２２に格納する。
【００６３】
図１１は、調整済画像ＩＭａ２の例を示す概略図である。この調整済画像ＩＭａ２は、図１０の全体マスクＩＭｍ２を用いるアンシャープマスク処理で生成される。図７の調整済画像ＩＭａとの差異は、第２種処理部分Ｐｂ２ｆ（図１０）に対応する部分Ｐａｆ２が、図７の同じ部分Ｐａｆと比べて、滑らかに表現されている点だけである。調整済画像ＩＭａ２の他の部分は、図７の調整済画像ＩＭａの同じ部分と同じである。例えば、第１種処理部分Ｐｂ２ｈ（図１０）に対応する部分Ｐａｈは、図７の同じ部分Ｐａｈと同じである。この髪の部分Ｐａｈは、入力画像ＩＭｉ（図３）の髪Ｐｈよりもシャープに表現されている。
【００６４】
このように、第２実施例では、プロセッサ１１０は、第１種オブジェクト領域内の画像を解析することによって、第１種処理部分と第２種処理部分とを決定する（図９：Ｓ２７２）。本実施例では、第１種処理部分は、画像中の位置の変化に対する色値の変化が比較的大きい部分であり、第２種処理部分は、画像中の位置の変化に対する色値の変化が比較的小さい部分である。そして、プロセッサ１１０は、第１種処理部分のための部分マスクを、第１種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成する（Ｓ２７４）。また、プロセッサ１１０は、第２種処理部分のための部分マスクを、第２種処理部分内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成する（Ｓ２７６）。
【００６５】
以上により、画像中の位置の変化に対する色値の変化が比較的小さい第２種処理部分では、シャープネスが強調されない。従って、ビットマップデータによって表される第１種オブジェクト領域のうち、オブジェクトの滑らかな面（例えば、肌）を表す部分のシャープネスが過度に強調されることを抑制できる。仮に第２種処理部分のシャープネスが強調される場合には、人物の肌のようにオブジェクトの滑らかな面の中の細かいエッジ（例えば、細かい凹凸）が過度に強調されてしまい。滑らかなはずの画像がざらついた画像になり得る。このようなざらついた画像は、印刷された画像を観察するユーザに違和感を与える可能性がある。第２実施例では、このような不具合を抑制できる。
【００６６】
また、第２実施例では、画像中の位置の変化に対する色値の変化が比較的大きい第１種処理部分では、シャープネスが強調される。従って、ビットマップデータによって表される第１種オブジェクト領域のうち、細かいオブジェクト（例えば、髪や芝生など）を表す部分のシャープネスを強調することができる。この結果、細かいオブジェクトの視認性を向上できる。
【００６７】
なお、第２実施例では、第１種オブジェクト領域内を第１種処理部分と第２種処理部分とに区分して部分マスクを生成する点を除いて、印刷のための画像処理は、第１実施例の画像処理と同じである。従って、第２実施例は、第１実施例と同じ種々の効果を奏する。
【００６８】
Ｃ．変形例：
（１）アンシャープマスク処理で調整される色成分は、ＲＧＢの３個の色成分に代えて、他の種々の色成分を採用可能である。例えば、輝度成分を採用してもよい。プロセッサ１１０は、入力ラスタデータとして、例えば、ＹＣｂＣｒ色空間の色値を表すデータを生成し、そして、Ｙ成分の色値をアンシャープマスク処理で調整してもよい。
【００６９】
（２）図４のＳ２５０で、プロセッサ１１０は、第２種オブジェクト領域のための部分マスクを、第２種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成してもよい。Ｓ２５０での平滑化の強度は、Ｓ２７０での第１平滑強度よりも弱いことが好ましい（「第２平滑強度」と呼ぶ）。こうすれば、不自然なラインＡＬ（図８）が目立つことを抑制しつつ、第２種オブジェクト領域の画像のシャープネスを強くすることによって、画質を向上できる。
【００７０】
同様に、図９のＳ２７６で、プロセッサ１１０は、第２種処理部分のための部分マスクを、第２種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成してもよい。Ｓ２７６での平滑化の強度は、Ｓ２７４での平滑強度（ここでは、第１平滑強度）よりも弱いことが好ましい（例えば、第２平滑強度）。こうすれば、第２種処理部分のシャープネスを適切に強くすることによって、画質を向上できる。なお、図９のＳ２７４での平滑強度は、図４のＳ２７０での第１平滑強度と異なっていても良い。また、図９のＳ２７６での平滑強度は、図４のＳ２５０での第２平滑強度と異なっていても良い。
【００７１】
なお、互いに異なる複数の平滑強度を実現する方法としては、任意の方法を採用可能である。例えば、図４の下部に示す平滑化処理の概要において、注目画素Ｐｒの色値Ｖｅの重みを１に維持しつつ、注目画素Ｐｒ以外の画素の色値Ｖａ〜Ｖｄ、Ｖｆ〜Ｖｉに１未満の重みを付して得られる重み付き平均値を、部分マスクの色値ＶｅＵとして採用してもよい。これにより、平滑強度を弱くすることができる。このように、各画素の色値の重みを調整することによって、平滑化の強度を調整可能である。注目画素Ｐｒの色値の重みが小さいほど、平滑強度が強く、そして、注目画素Ｐｒ以外の画素の色値の重みが大きいほど、平滑強度が強い。また、Ｓ２７０では、注目画素Ｐｒを中心とする５行５列の２５個の画素の画素値の平均値を部分マスクの色値ＶｅＵとして採用し、Ｓ２５０では、注目画素Ｐｒを中心とする３行３列の９個の画素の画素値の平均値を部分マスクの色値ＶｅＵとして採用してもよい。このように、部分マスクの色値ＶｅＵの算出に利用する画素の範囲を調整することによって、平滑強度を調整してもよい。この場合、画素の範囲が広いほど、平滑強度が強い。
【００７２】
いずれの場合も、アンシャープマスクの算出に利用されるアンシャープ画像（ここでは、全体マスクＩＭｍ、ＩＭｍ２）を生成するための平滑化の強度は、シャープネス調整の強度を示している。従って、Ｓ２７０（図４）とＳ２７４（図９）は、シャープネス調整の強度を第１強度に決定して部分マスクを生成する処理である、と言うことができる。また、Ｓ２５０（図４）とＳ２７６（図９）は、シャープネス調整の強度を第１強度よりも弱い第２強度に決定して部分マスクを生成する処理である、と言うことができる。平滑化が省略される場合、第２強度はゼロである、ということができる。
【００７３】
なお、平滑化の強度は、エッジ量の変化を用いて評価可能である。エッジ量は、公知のｓｏｂｅｌフィルタを適用することによって画素毎に算出される。ここで、１つの画素のエッジ量（「画素エッジ量」と呼ぶ）として、アンシャープマスク処理で調整される全ての色成分のエッジ量の合計値を採用する。例えば、上記各実施例では、Ｒ成分のエッジ量とＧ成分のエッジ量とＢ成分のエッジ量の合計値が、画素エッジ量として採用される。平滑化の対象の画像中の全ての画素の画素エッジ量の合計値である合計エッジ量は、平滑化によって減少する。処理済画像の合計エッジ量が小さいほど、すなわち、未処理画像の合計エッジ量から処理済画像の合計エッジ量を引いた第１差分エッジ量が大きいほど、平滑化の強度が強い。平滑化が省略される場合、第１差分エッジ量はゼロである。このように、第１差分エッジ量を、平滑化の強度の指標として利用可能である。
【００７４】
シャープネス調整の強度についても、同様に、合計エッジ量を用いて評価可能である。合計エッジ量は、シャープネス調整処理（アンシャープマスク処理）によって増大する。処理済画像の合計エッジ量が大きいほど、すなわち、処理済画像の合計エッジ量から未処理画像の合計エッジ量を引いた第２差分エッジ量が大きいほど、シャープネス調整処理の強度が強い。シャープネスが調整されない場合、第２差分エッジ量はゼロである。このように、第２差分エッジ量を、シャープネス調整処理の強度の指標として利用可能である。
【００７５】
（３）アンシャープ画像を生成するための平滑化処理としては、図４で説明した処理に代えて、色値を平滑化する他の任意の処理を採用可能である。例えば、注目画素Ｐｒからの距離が短いほど大きな重みが付された重み付き平均値を採用してもよい（例えば、ガウシアンフィルタ）。
【００７６】
（４）図９のＳ２７２で第１種オブジェクト領域を第１種処理部分と第２種処理部分とに区分する方法としては、図９で説明した方法に代えて、他の種々の方法を採用可能である。例えば、エッジ量を用いる方法を採用してもよい。プロセッサ１１０は、第１種オブジェクト領域内の各画素の画素エッジ量を算出する。そして、画素エッジ量が予め決められたエッジ閾値以下である画素が連続する連続領域を抽出する。そして、プロセッサ１１０は、各連続領域の画素数を算出する。１個の連続領域の画素数が予め決められた画素数閾値以上である場合、プロセッサ１１０は、その１個の連続領域を第２種処理部分に分類する。第２種処理部分に分類されなかった画素は、第１種処理部分に分類される。
【００７７】
また、画像認識を用いる方法を採用してもよい。プロセッサ１１０は、第１種オブジェクト領域内の画像を解析することによって、人物の顔を表す顔領域を特定する。そして、プロセッサ１１０は、顔領域を第２種処理部分に分類し、他の領域を第１種処理部分に分類する。顔領域を特定する方法としては、公知の顔認識技術を採用可能である。例えば、所定の器官画像（例えば、目や口を表す画像）を用いたパターンマッチングによって、顔領域を特定する方法を採用可能である。
【００７８】
（５）図２のＳ１１０で生成されるマスク画像としては、アンシャープ画像に代えて、アンシャープマスク処理で利用される種々の画像を採用可能である。例えば、プロセッサ１１０は、調整済の色値Ｖｔｕを算出する計算式「Ｖｔｕ＝Ｖｔ＋ｋ×（Ｖｔ−Ｖｍ）」のうちの「Ｖｔ−Ｖｍ」によって表される画像（すなわち、アンシャープマスク）を、マスク画像として生成してもよい。また、プロセッサ１１０は、「ｋ×（Ｖｔ−Ｖｍ）」によって表される画像を、マスク画像として生成してもよい。いずれの場合も、マスク画像のうちの注目オブジェクト領域に適用される部分マスクは、図４のＳ２５０、Ｓ２７０、図９のＳ２７４、Ｓ２７６で生成される。そして、図４のＳ２５８、Ｓ２７８では、生成された部分マスクを表す部分マスクデータが、揮発性記憶装置１２０（図１）の第２領域１２２に格納される。この結果、図４の処理が終了した段階で、第２領域１２２には、マスク画像の全体を表すデータが格納されている。
【００７９】
なお、上記各実施例では、アンシャープマスク処理は、マスク画像の生成（図２：Ｓ１１０）と、残りの処理（Ｓ１２０）と、に区分されている。マスク画像の生成は、図４に示すように、オブジェクト領域毎の条件分岐を複数のオブジェクト領域について繰り返す処理（「分岐ループ処理」とも呼ぶ）によって、実現される。残りの処理は、図６に示すように、オブジェクト領域毎の条件分岐を用いずに、簡素な処理で実現されている。アンシャープマスク処理のうち分岐ループ処理に組み込まれる部分が大きい場合には、分岐ループ処理が複雑になるので、不具合の可能性が高くなる（例えば、誤動作の可能性の上昇や、開発コストの上昇）。従って、アンシャープマスク処理のうち分岐ループ処理に組み込まれる部分が小さいことが好ましい。
【００８０】
例えば、上記各実施例のように、Ｓ１１０で生成されるマスク画像としてアンシャープ画像を採用することが好ましい。仮にマスク画像としてアンシャープマスクを採用する場合には、アンシャープ画像の生成に加えてアンシャープマスクの算出が、分岐ループ処理に組み込まれる。従って、分岐ループ処理が複雑になる。マスク画像としてアンシャープ画像を採用すれば、アンシャープマスクの算出を分岐ループ処理から除くことができる。従って、分岐ループ処理を簡素化できるので、不具合の可能性を低減できる。
【００８１】
（６）オブジェクト領域毎にシャープネス調整の強度を決定する方法としては、アンシャープ画像を生成するための平滑強度をオブジェクト領域毎に決定する方法に代えて、他の種々の方法を採用可能である。例えば、調整済の色値Ｖｔｕを算出する計算式「Ｖｔｕ＝Ｖｔ＋ｋ×（Ｖｔ−Ｖｍ）」の係数ｋをオブジェクト領域毎に決定する方法を採用してもよい。例えば、プロセッサ１１０は、Ｓ２７０では、係数ｋを第１値に決定し、そして、「ｋ×（Ｖｔ−Ｖｍ）」によって表される画像を、部分マスクとして生成する。Ｓ２５０では、プロセッサ１１０は、係数ｋを、第１値よりも小さい第２値に決定し、そして、「ｋ×（Ｖｔ−Ｖｍ）」によって表される画像を、部分マスクとして生成する（第２値はゼロであってもよい）。ここで、Ｓ２５０、Ｓ２７０では、色値Ｖｍとして、同じ平滑強度で平滑化されたアンシャープ画像の色値が用いられる。
【００８２】
（７）入力画像データの形式としては、ＥＭＦ形式に代えて、ページ記述言語で記述される他の種々の形式を採用可能である。例えば、印刷部２００に固有なページ記述言語で記述される形式を採用してもよく、ＰＤＦ（Portable Document Format）のように印刷部２００とは独立なページ記述言語で記述される形式を採用してもよい。
【００８３】
また、ページ記述言語で記述される形式に代えて、ビットマップ形式を採用してもよい。この場合、プロセッサ１１０は、ビットマップデータを解析することによって、オブジェクト領域とその種類とを特定すればよい。そして、プロセッサ１１０は、特定の種類のオブジェクト領域（例えば、写真のオブジェクト領域）を、第１種オブジェクト領域として採用し、他の種類のオブジェクト領域を、第２種オブジェクト領域として採用すればよい。
【００８４】
オブジェクト領域とその種類を特定する方法としては、公知の方法を採用可能である。例えば、以下の方法を採用してもよい。入力画像を複数の処理領域（例えば、所定サイズの矩形領域）に分割する。所定の背景色範囲（例えば、白を含む部分色範囲）内の色の画素のみを含む処理領域を、背景を表す処理領域として除外する。残りの処理領域に関して、処理領域毎に特定の色成分の色値（例えば、輝度値）の分散を算出する。分散が所定の写真閾値よりも大きい処理領域を写真領域に分類し、分散が写真閾値以下である処理領域を他種領域に分類する。他種領域は、例えば、文字やグラフィックを表す領域である。そして、同じ種類の処理領域が連続することによって構成される１つの連続な領域を、１つのオブジェクト領域として特定する。なお、オブジェクト領域の特定には、分散に限らず、他の種々の情報（例えば、各処理領域で用いられている色の数）を採用可能である。また、複数の情報を組み合わせることによって、複数の種類のオブジェクト領域を特定してもよい。
【００８５】
（８）マスク画像の生成の手順としては、上述した手順に代えて、他の種々の手順を採用可能である。例えば、図４のＳ２５０、Ｓ２７０では、プロセッサ１１０は、注目ラスタデータを用いずに、平滑強度に従って描画コマンドをラスタライズすることによって部分マスクを生成してもよい。
【００８６】
（９）図１の画像処理装置１００は、パーソナルコンピュータとは異なる種類の装置（例えば、デジタルカメラ、スキャナ、スマートフォン）であってもよい。また、画像処理装置が、印刷装置の一部であってもよい。また、ネットワークを介して互いに通信可能な複数の装置（例えば、コンピュータ）が、画像処理装置による画像処理の機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい（これらの装置を備えるシステムが画像処理装置に対応する）。
【００８７】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１のプロセッサ１１０の機能（例えば、マスク画像を生成する機能と、アンシャープマスク処理を実行する機能）を、専用のハードウェア回路によって実現してもよい。
【００８８】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
【００８９】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００９０】
１００...画像処理装置、１１０...プロセッサ、１２０...揮発性記憶装置、１２１...第１領域、１２２...第２領域、１３０...不揮発性記憶装置、１３２...プログラム、１４０...表示部、１５０...操作部、１６０...装置インタフェース、２００...印刷部、１０００...画像処理システム、ＩＭｉ...入力画像、ＩＭｍ、ＩＭｍ２...全体マスク、ＩＭａ...調整済画像、ＩＭｒ...参考画像（調整済画像）、ＩＭａ２...調整済画像、ＯＧ１...第１オブジェクト、ＯＧ２...第２オブジェクト、ＯＰ...写真オブジェクト、ＢＧ...背景、Ｐ...人物、Ｐｆ...顔、Ｐｈ...髪、ＯＡ１...第１オブジェクト領域、ＯＡ２...第２オブジェクト領域、ＯＡ３...第３オブジェクト領域、Ｄ１...第１方向、Ｄ２...第２方向、Ｐｂ２ｈ...第１種処理部分、Ｐｂ２ｆ...第２種処理部分
【図１】
0006417851.tif 000002
【図２】
0006417851.tif 000003
【図３】
0006417851.tif 000004
【図４】
0006417851.tif 000005
【図５】
0006417851.tif 000006
【図６】
0006417851.tif 000007
【図７】
0006417851.tif 000008
【図８】
0006417851.tif 000009
【図９】
0006417851.tif 000010
【図１０】
0006417851.tif 000011
【図１１】
0006417851.tif 000012