(57)【要約】【課題】透過表現を持つ描画オブジェクトが合成された画像データを、ユーザから求められる画質で提供する。【解決手段】ＲＩＰ後段処理部は、第１の描画オブジェクトの下に第２の描画オブジェクトが配置され、且つ、第１の描画オブジェクトと第２のオブジェクトとの合成方法が透過表現を用いた合成であるか否かを判定する（Ｓ６０７、Ｓ６０８）。次に、ＲＩＰ後段処理部は、第１の描画オブジェクトの下に第２の描画オブジェクトが配置され、且つ、第１の描画オブジェクトと第２の描画オブジェクトとの合成方法が透過表現を用いた合成であると判定された場合、第２の描画オブジェクトの属性値が反映された属性プレーンを生成するとともに、第１の描画オブジェクトの画素値と第２の描画オブジェクトの画素値とを合成した画像プレーンを生成する（Ｓ６０９）。【選択図】図６
2015019266.tif 000002
【特許請求の範囲】
【請求項１】
第１の描画オブジェクトの下に第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２のオブジェクトとの合成方法が透過表現を用いた合成であるか否かを判定する判定手段と、
前記第１の描画オブジェクトの下に前記第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が透過表現を用いた合成であると前記判定手段により判定された場合、前記第２の描画オブジェクトの属性値が反映された属性プレーンを生成するとともに、前記第１の描画オブジェクトの画素値と前記第２の描画オブジェクトの画素値とを合成した画像プレーンを生成する生成手段とを有することを特徴とする画像処理装置。
【請求項２】
前記生成手段は、前記第１の描画オブジェクトの下に前記第２の描画オブジェクトが配置されていない場合、又は、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が透過表現を用いた合成ではない場合、前記第１の描画オブジェクトの属性値が反映された属性プレーンを生成するとともに、前記第１の描画オブジェクトの画素値と前記第２の描画オブジェクトの画素値とを合成した画像プレーンを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの透過表現を用いた合成における透過率が所定の閾値以上の透過率であるか否かを更に判定し、前記生成手段は、前記第１の描画オブジェクトの下に前記第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が前記所定の閾値以上の透過率の透過表現を用いた合成である場合、前記第２の描画オブジェクトの属性値が反映された属性プレーンを生成するとともに、前記第１の描画オブジェクトの画素値と前記第２の描画オブジェクトの画素値とを合成した画像プレーンを生成することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの透過表現を用いた合成における透過率が前記所定の閾値未満であると前記判定手段により判定された場合、前記第１の描画オブジェクトの属性値が反映された属性プレーンを生成するとともに、前記第１の描画オブジェクトの画素値と前記第２の描画オブジェクトの画素値とを合成した画像プレーンを生成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記判定手段は、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法がアルファブレンドである場合、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が透過表現を用いた合成であると判定することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記アルファブレンドの透過率を、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの透過表現を用いた合成における透過率として取得する取得手段を更に有することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記判定手段は、前記第１の描画オブジェクト及び前記第２の描画オブジェクトを含む複数の描画オブジェクトによる合成方法が擬似透過である場合、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が透過表現を用いた合成であると判定することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項８】
前記判定手段は、第３の描画オブジェクトの合成方法がＸＯＲであり、前記第３の描画オブジェクトの一つ上の前記第２の描画オブジェクトの合成方法がＡＮＤであり、且つ、前記第２の描画オブジェクトの一つ上の前記第１の描画オブジェクトの合成方法がＸＯＲである場合、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が擬似透過による透過表現を用いた合成であると判定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記第１乃至第３の描画オブジェクトにおける擬似透過の透過パターンに基づいて透過率を算出する算出手段を更に有することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記算出手段は、前記第２の描画オブジェクトであるマスクイメージにおける全画素に対する無効画素の割合に基づいて透過率を算出することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記第２の描画オブジェクトは、文字属性の描画オブジェクトであることを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記属性プレーンに基づいて、前記画像プレーンに形成された画像データに対して画像処理を行う画像処理手段を更に有することを特徴とする請求項１乃至１１の何れか１項に記載の画像処理装置。
【請求項１３】
前記画像処理手段により画像処理された前記画像データを印刷させる印刷制御手段を更に有することを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
画像処理装置によって実行される画像処理方法であって、
第１の描画オブジェクトの下に第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２のオブジェクトとの合成方法が透過表現を用いた合成であるか否かを判定する判定ステップと、
前記第１の描画オブジェクトの下に前記第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が透過表現を用いた合成であると前記判定ステップにより判定された場合、前記第２の描画オブジェクトの属性値が反映された属性プレーンを生成するとともに、前記第１の描画オブジェクトの画素値と前記第２の描画オブジェクトの画素値とを合成した画像プレーンを生成する生成ステップとを有することを特徴とする画像処理方法。
【請求項１５】
第１の描画オブジェクトの下に第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２のオブジェクトとの合成方法が透過表現を用いた合成であるか否かを判定する判定ステップと、
前記第１の描画オブジェクトの下に前記第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が透過表現を用いた合成であると前記判定ステップにより判定された場合、前記第２の描画オブジェクトの属性値が反映された属性プレーンを生成するとともに、前記第１の描画オブジェクトの画素値と前記第２の描画オブジェクトの画素値とを合成した画像プレーンを生成する生成ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、透過表現を持つ描画オブジェクトを合成する技術に関するものである。
【背景技術】
【０００２】
プリンタ等の画像形成装置では、従来から内部で生成された画像データに対して、文字、図形及び写真画等の領域毎の属性に合わせて画像処理を行うことにより、高画質なプリント出力をユーザに提供している。この領域毎の画像データの属性を保持するために、画素毎の画素値を保持した画像プレーンとともに、画素毎の属性を保持した属性プレーンを画像形成時に生成することが行われている。また、属性プレーンの生成に関して、アルファブレンド及び疑似透過といった透過表現を用いた描画オブジェクトを最前面に描画する領域の属性は、その透過表現を用いた描画オブジェクトの属性にする方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１２００２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、透明に近い、高い透過率（例えば、８０％以上）の透過表現を持つ描画オブジェクトの画像形成においては、その透過表現を持つ描画オブジェクトの画質より、その一つ下の描画オブジェクトの画質が重要視されることがある。例えば、高い透過率の透過表現の図形属性を持つ描画オブジェクトの一つ下に文字が存在している場合、当該領域については属性プレーン上で図形として扱われてしまう。そのため、文字に対して適切な画像処理が実施されず、視認性の悪い文字がそのままプリント出力されてしまい、ユーザから求められる画質を提供することができなくなってしまうことがある。
【０００５】
そこで、本発明の目的は、透過表現を持つ描画オブジェクトが合成された画像を、ユーザから求められる画質で提供することにある。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、第１の描画オブジェクトの下に第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２のオブジェクトとの合成方法が透過表現を用いた合成であるか否かを判定する判定手段と、前記判定手段により前記第１の描画オブジェクトの下に前記第２の描画オブジェクトが配置され、且つ、前記第１の描画オブジェクトと前記第２の描画オブジェクトとの合成方法が透過表現を用いた合成であると判定された場合、前記第２の描画オブジェクトの属性値が反映された属性プレーンを生成するとともに、前記第１の描画オブジェクトの画素値と前記第２の描画オブジェクトの画素値とを合成した画像プレーンを生成する生成手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、透過表現を持つ描画オブジェクトが合成された画像を、ユーザから求められる画質で提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るプリントシステムの構成を示す図である。
【図２】プリントコントローラの内部構成を示す図である。
【図３】プリントコントローラで実行される処理の流れを説明するための図である。
【図４】中間データ格納領域、ＲＩＰ処理部及びコントーン画像格納領域の構成を示す図である。
【図５】ＲＩＰ後段処理部がＲＩＰ間通信バッファから読み込むスパン情報を説明するための図である。
【図６】本発明の第１の実施形態におけるアルファブレンドによる透過処理が指定された場合のＲＩＰ後段処理を示すフローチャートである。
【図７】発明の第１の実施形態における疑似透過処理について説明するための図である。
【図８】本発明の第１の実施形態における擬似透過処理が指定された場合のＲＩＰ後段処理を示すフローチャートである。
【図９】ステップＳ８０８における疑似透過判別処理の詳細を示すフローチャートである。
【図１０】ステップＳ８１０における透過率算出処理の詳細を示すフローチャートである。
【図１１】ユーザパネルに表示される、透過率の閾値を簡易に設定するためのパネル画面を示す図である。
【図１２】本発明の第２の実施形態におけるアルファブレンドによる透過処理が指定された場合のＲＩＰ後段処理を示すフローチャートである。
【図１３】本発明の第２の実施形態における擬似透過処理が指定された場合のＲＩＰ後段処理を示すフローチャートである。
【図１４】従来技術におけるＲＩＰ処理の出力の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１０】
先ず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態に係るプリントシステムの構成を示す図である。図１に示すように、本実施形態に係るプリントシステムは、ホストＰＣ(Personal Computer)１０１、ＬＡＮ(Local Area Network)１０２、及び、プリンタ１０３で構成されている。また、プリンタ１０３は、プリントコントローラ１０４、ユーザパネル１０５及びプリントエンジン１０６で構成されている。
【００１１】
ホストＰＣ１０１は、ＬＡＮ１０２を経由して、プリント要求とともにＰＤＬ(Page Description Language)で記述されたプリントデータをプリンタ１０３に送信する。ホストＰＣ１０１からのプリント要求及びプリントデータは、プリントコントローラ１０４で受信される。プリントコントローラ１０４は、プリント要求に応じてプリントジョブを開始し、プリントデータに基づいて画像データを形成してプリントエンジン１０６に出力する。
【００１２】
プリントエンジン１０６は、画像データに基づいて紙媒体に印字出力を行う。プリントジョブは、プリントエンジン１０６が印字出力されることで終了する。ユーザパネル１０５では、ユーザからの要求に応じてプリントコントローラ１０４内部で使用するパラメータ設定変更が行えるほか、プリントやコピー等のプリンタが備えている各種サービスを実行することができる。
【００１３】
図２は、プリントコントローラ１０４の内部構成を示す図である。図２において、バス２０１は、プリントコントローラ１０４内部でのデータ伝送を行う。ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０２は、ホストＰＣ１０１とプリントコントローラ１０４とがデータのやり取りを行うためのインタフェースである。ホストＰＣ１０１からＬＡＮ（Local Area Network）１０２経由で送信されたデータは、ネットワークＩ／Ｆ２０２を介してプリントコントローラ１０４で受信される。
【００１４】
パネルＩ／Ｆ（Interface）２０３は、ユーザパネル１０５とプリントコントローラ１０４とがデータのやり取りを行うためのインタフェースである。ユーザパネル１０５からユーザが行った要求は、パネルＩ／Ｆ２０３を介してプリントコントローラ１０４で受信される。
【００１５】
エンジンＩ／Ｆ（Interface）２０４は、プリントエンジン１０６とプリントコントローラ１０４とがデータのやり取りを行うためのインタフェースである。プリントコントローラ１０４内部で生成された画像データは、エンジンＩ／Ｆ２０４を介してプリントエンジン１０６に出力される。
【００１６】
ＲＡＭ（Random Access Memory）２０９は、制御プログラム展開領域２２１、プリントデータ受信領域２２２、中間データ格納領域２２３、コントーン画像格納領域２２４、ハーフトーン画像格納領域２２５、及び、パネル設定値格納領域２２６を備える。また、ＲＡＭ２０９は、ＣＰＵ（Central Processing Unit）２０５のワークメモリとして機能する。
【００１７】
ＲＯＭ（Read Only Memory）２０８は、ＣＰＵ２０５によって実行される各種の制御プログラムを格納する。これら制御プログラムが実行されることにより、ＣＰＵ２０５は、プリントジョブ制御処理部２１１、ネットワーク制御処理部２１２、ＰＤＬ処理部２１３、ＲＩＰ処理部２１４、画像処理部２１５、エンジン制御処理部２１６、及び、パネル制御処理部２１７として機能する。なお、図２では、ＣＰＵ２０５を各処理部２１１〜２１７として機能させるための各制御プログラムをＲＯＭ２０８が格納していることを表している。
【００１８】
ＣＰＵ２０５は、制御プログラムをＲＯＭ２０８から読み出して制御プログラム展開領域２２１に展開して実行する。ＲＩＰアクセラレータ２０６は、ＣＰＵ２０５とは異なる汎用のＣＰＵ又は専用のハードウェアであり、ＲＩＰ（Raster Image Processor）処理を実行する。画像処理アクセラレータ２０７は、ＣＰＵ２０５とは異なる汎用のＣＰＵ又は専用のハードウェアであり、画像処理を実行する。
【００１９】
図３は、プリントコントローラ１０４で実行される処理の流れを説明するための図である。ネットワーク制御処理部２１２は、ネットワークＩ／Ｆ２０２を介してホストＰＣ１０１からプリント要求を受信すると、プリントジョブ制御処理部２１１にプリント要求を通知する。ネットワーク制御処理部２１２は、プリント要求に続いてプリントデータを受信し、プリントデータ受信領域２２２に格納する。プリントジョブ制御処理部２１１は、ネットワーク制御処理部２１２からプリント要求を受信すると、プリントジョブを開始し、ＰＤＬ処理部２１３にプリントデータの解釈処理の開始を要求する。
【００２０】
ＰＤＬ処理部２１３は、プリントジョブ制御処理部２１１からプリントデータの解釈処理の開始要求を受け付けると、プリントデータ受信領域２２２に格納されたプリントデータを解釈し、中間データを生成する。ＰＤＬ処理部２１３は、生成した中間データを中間データ格納領域２２３に格納する。また、ＰＤＬ処理部２１３は、プリントデータ受信領域２２２に格納されたプリントデータの解釈処理が終了すると、終了したことをプリントジョブ制御処理部２１１に通知する。
【００２１】
プリントジョブ制御処理部２１１は、ＰＤＬ処理部２１３から解析処理の終了が通知されると、ＲＩＰ処理部２１４に描画処理の開始要求を行う。ＲＩＰ処理部２１４は、プリントジョブ制御処理部２１１から描画処理の開始要求を受け付けると、ＲＩＰアクセラレータ２０６を用いて、中間データ格納領域２２３に格納されている中間データに従って画像データを生成する。そして、ＲＩＰ処理部２１４は、生成した画像データをコントーン画像格納領域２２４に格納する。ＲＩＰ処理部２１４は、画像データの生成を終了すると、画像データの生成が終了したことをプリントジョブ制御処理部２１１に通知する。
【００２２】
プリントジョブ制御処理部２１１は、ＲＩＰ処理部２１４から画像データ生成処理の終了が通知されると、画像処理部２１５に画像処理の開始を通知する。画像処理部２１５は、プリントジョブ制御処理部２１１から画像処理の開始が通知されると、画像処理アクセラレータ２０７を用いて、コントーン画像格納領域２２４に格納されている画像データに対して画像処理を行ってハーフトーン画像格納領域２２５に格納する。
【００２３】
画像処理部２１５は、画像処理を終了すると、プリントジョブ制御処理部２１１に画像処理が終了したことを通知する。プリントジョブ制御処理部２１１は、画像処理部２１５から画像処理の終了が通知されると、エンジン制御処理部２１６にプリントエンジン１０６から印字出力の開始要求を通知する。
【００２４】
エンジン制御処理部２１６は、プリントジョブ制御処理部２１１から印字出力の開始要求が通知されると、エンジンＩ／Ｆ２０４を介してハーフトーン画像格納領域２２５に格納されている画像データをプリントエンジン１０６に送信する。プリントエンジン１０６は、印字出力を終了すると、エンジンＩ／Ｆ２０４を介してエンジン制御処理部２１６に印字出力の終了を通知する。
【００２５】
エンジン制御処理部２１６は、プリントエンジン１０６から印字出力の終了が通知されると、プリントジョブ制御処理部２１１にエンジン制御を終了したことを通知する。プリントジョブ制御処理部２１１は、エンジン制御処理部２１６からエンジン制御の終了が通知されると、プリントジョブを終了する。パネル制御処理部２１７は、ユーザパネル１０５からパネルＩ／Ｆ２０３を介してプリントコントローラ１０４内部で使用するパラメータ設定変更の要求を受け付けると、その変更内容をパネル設定値格納領域に格納する。このパネル設定値格納領域２２６に格納されているパラメータは、必要に応じて各処理部に読み込まれる。また、パネル制御処理部２１７は、ユーザパネル１０５からパネルＩ／Ｆ２０３を介してプリント要求を受け付けると、プリントジョブ制御処理部２１１にプリント要求を通知する。
【００２６】
図４は、中間データ格納領域２２３、ＲＩＰ処理部２１４及びコントーン画像格納領域２２４の構成を示す図である。図４に示すように、ＲＩＰ処理部２１４は、ＲＩＰ前段処理部４０２、ＲＩＰ間通信バッファ４０３及びＲＩＰ後段処理部４０４を備える。
【００２７】
ＲＩＰ処理部２１４は、中間データ格納領域２２３に格納される中間データ４０１を入力する。また、ＲＩＰ処理部２１４は、１画素あたりＲＧＢ ２４ｂｉｔ又はＣＭＹＫ ３２ｂｉｔの画像プレーン４０５、及び、１画素あたり８ｂｉｔの属性プレーン４０６をコントーン画像格納領域２２４に対して出力する。なお、ＲＩＰ間通信バッファ４０３は、ＦＩＦＯ(Fist In First Out)で構成される。そのため、ＲＩＰ前段処理部４０２によりＲＩＰ間通信バッファ４０３に書き込まれた順番がＲＩＰ後段処理部４０４により読み込まれる順番となるように制御されている。
【００２８】
ＲＩＰ前段処理部４０２は、中間データ４０１を読み込み、ページあたりのスキャンラインの順番に従って、描画オブジェクトのエッジ（輪郭）のＸ座標を算出する。次に、ＲＩＰ前段処理部４０２は、エッジをＸ座標の昇順に整列させ、スパン（エッジで区切られた閉領域）を生成する。そして、ＲＩＰ前段処理部４０２は、生成したスパン単位同士がレイヤ番号（紙面を基準として描画オブジェクトの重なる順番を示す番号）に従って正しい順番で重なるように整列させることで、描画オブジェクト同士の陰面制御を行う。最後に、ＲＩＰ前段処理部４０２は、陰面制御が行われたスパンをスパン情報としてまとめ、ＲＩＰ間通信バッファ４０３に書き込む。
【００２９】
ＲＩＰ後段処理部４０４は、ＲＩＰ間通信バッファ４０３からスパン情報を入力し、スパン毎の色の割り付けを行う。色の割り付けは、中間データ４０１から後述するレイヤ番号−描画オブジェクト対応テーブルを読み込むことで行われる。そして、ＲＩＰ後段処理部４０４は、色の割り付けが行われたスパン同士の重なりをＲＯＰ(Raster Operation)コード又はアルファブレンドに従って、画像プレーン４０５及び属性プレーン４０６を生成する。
【００３０】
図５は、ＲＩＰ後段処理部４０４がＲＩＰ間通信バッファ４０３から読み込むスパン情報を説明するための図である。画像データ５０１は、描画オブジェクトＡ５０３、描画オブジェクトＢ５０４及び描画オブジェクトＣ５０５で構成されている。描画オブジェクトＡ５０３は、ページを示す描画オブジェクトである。描画オブジェクトＢ５０４は、単色塗りの図形オブジェクトである。描画オブジェクトＣ５０５は、透過度５０％のアルファブレンドを用いた図形オブジェクトである。
【００３１】
また、描画オブジェクトＡ５０３上には、描画オブジェクトＢ５０４及び描画オブジェクトＣ５０５が存在し、描画オブジェクトＣ５０５は、描画オブジェクトＢ５０４の一部と重なるように配置され、描画オブジェクトＢ５０４よりも描画オブジェクトＣ５０５の方が一つ上のレイヤに存在している。また、スキャンライン５０２は、描画オブジェクトＢ５０４と描画オブジェクトＣ５０５とが重なっている領域を含むスキャンラインである。
【００３２】
スキャンライン５０２は、スパンＡ５１１、スパンＢ５１２、スパンＣ５１３、スパンＤ５１４及びスパンＥ５１５の５つのスパンで構成されている。そして、スパンＡ５１１及びスパンＥ５１５は、それぞれ描画オブジェクトＡのみと重なっている。スパンＢ５１２は、描画オブジェクトＡ５０３及び描画オブジェクトＢ５０４と重なっている。スパンＣ５１３は、描画オブジェクトＡ５０３、描画オブジェクトＢ５０４及び描画オブジェクトＣ５０５と重なっている。スパンＤ５１４は、描画オブジェクトＡ５０３及び描画オブジェクトＣ５０５と重なっている。また、紙面に対する描画オブジェクトの順番として、描画オブジェクトＡ５０３にはレイヤ番号１、描画オブジェクトＢ５０４にはレイヤ番号２、描画オブジェクトＣ５０５にはレイヤ番号３が割り当てられているものとする。
【００３３】
このとき、ＲＩＰ後段処理部４０４がＲＩＰ間通信バッファ４０３から読み込むスパンＣ５１３のスパン情報は、図５の５２１に示すような情報となる。スパン情報５２１には、そのスパンで重なっているオブジェクト数５２２が格納されるとともに、実際に重なっているオブジェクトのレイヤ番号５２３がオブジェクト数５２２に記載されている数だけレイヤ番号順の昇順に格納される。スパンＣ５１３のスパン情報５２１の場合、図５の５２２に示すように、オブジェクト数に３が格納され、図５の５２３に示すように、レイヤ番号１、レイヤ番号２及びレイヤ番号３が順番に格納されている。ＲＩＰ後段処理部４０４は、スパン情報５２１からレイヤ番号５２３を読み込むと、中間データ４０１に格納されているレイヤ番号−描画オブジェクト対応テーブル５２４を参照して、属性５２５、合成方法５２６及び塗り指定５２７を取得する。なお、レイヤ番号−描画オブジェクト対応テーブル５２４は、レイヤ番号と、当該レイヤ番号のレイヤ（に配置される描画オブジェクト）の属性、合成方法及び塗り方法とを対応付けたテーブルである。そして、ＲＩＰ後段処理部４０４は、属性５２５、合成方法５２６及び塗り指定５２７を用いて、レイヤ番号の昇順に画像プレーン及び属性プレーンの画素を生成する。
【００３４】
図６は、第１の実施形態におけるアルファブレンドによる透過処理が指定された場合のＲＩＰ後段処理を示すフローチャートである。なお、図６に示す処理は、ＣＰＵ２０５がＲＯＭ２０８から必要なデータ及びプログラムを読み出して実行することにより実現する処理である。
【００３５】
ステップＳ６０１において、ＲＩＰ後段処理部４０４は、ＲＩＰ終了フラグにＦａｌｓｅを書き込むことで初期化を行う。ステップＳ６０２は、ステップＳ６０３からＳ６１０までの処理を繰り返すことを示している。即ち、ＲＩＰ後段処理部４０４は、ＲＩＰ終了フラグにＴｒｕｅが書き込まれるまで、ステップＳ６０３からＳ６１０までの処理を繰り返し行う。
【００３６】
ステップＳ６０３において、ＲＩＰ後段処理部４０４は、ＲＩＰ後段処理に関する入力データをＲＩＰ間通信バッファ４０３から取得する。ステップＳ６０４において、ＲＩＰ後段処理部４０４は、ＲＩＰ後段処理に関する入力データで示される指示内容に基づいて、ＲＩＰ処理が終了したか否かを判定する。ＲＩＰ後段処理に関する入力データにより示される指示内容が終了指示である場合、処理は終了する。一方、ＲＩＰ後段処理に関する入力データで示される指示内容が終了指示ではない場合、処理はステップＳ６０６に移行する。ステップＳ６０５において、ＲＩＰ後段処理部４０４は、ＲＩＰ終了フラグにＴｒｕｅを書き込む。これにより、ステップＳ６０２において制御されているループを抜け、ＲＩＰ後段処理が終了する。
【００３７】
ステップＳ６０６は、ステップＳ６０７からＳ６１０までの処理を繰り返すことを示している。即ち、ＲＩＰ後段処理部４０４は、上記入力データであるスパン情報５２１に含まれるオブジェクト数５２２の分だけ、ステップＳ６０７からＳ６１０までの処理を繰り返す。ステップＳ６０７において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの一つ下にあるレイヤの属性５２５が文字属性であるか否かを、レイヤ番号−描画オブジェクト対応テーブル５２４を参照することで判定する。一つ下のレイヤの属性５２５が文字である場合、処理はステップＳ６０８に移行する。一方、一つ下のレイヤの属性５２５が文字ではない場合、処理はステップＳ６１０に移行する。なお、現在処理しているレイヤ番号５２３のレイヤ（に配置される描画オブジェクト）は、第１の描画オブジェクトの例であり、その一つ下のレイヤ（に配置される描画オブジェクト）は、第２の描画オブジェクトの例である。
【００３８】
ステップＳ６０８において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの合成方法５２６が予め定めた閾値以上（例えば、８０％）の透過率のアルファブレンドであるか否かを、レイヤ番号−描画オブジェクト対応テーブル５２４を参照することで判定する。閾値以上の透過率のアルファブレンドである場合、処理はステップＳ６０９に移行する。一方、閾値未満の透過率のアルファブレンドである場合、処理はステップＳ６１０に移行する。
【００３９】
ステップＳ６０９において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤに配置される描画オブジェクトの画素値を画像プレーンに合成する。ステップＳ６１０において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤに配置される描画オブジェクトの画素値を画像プレーンに合成するとともに、当該描画オブジェクトの属性値を属性プレーンに合成する。なお、ステップＳ６０９については、現在処理しているレイヤ番号５２３のレイヤに配置される描画オブジェクトの画素値を画像プレーンに合成するとともに、当該描画オブジェクトの属性値を属性プレーンに合成した後、改めて、文字属性を示す属性値を属性プレーンに合成してもよい。
【００４０】
次に、図７を参照しながら、本発明の第１の実施形態における疑似透過処理について説明する。ここでいう疑似透過処理とは、アルファブレンドが使用できないアプリケーションによって実行される、描画オブジェクトが透過しているような視覚効果をユーザに与える透過の表現方法である。描画オブジェクトＡ７０１、描画オブジェクトＢ７０２及び描画オブジェクトＣ７０３をこの順番に合成することで描画結果７０４のような疑似透過を表現することができる。ここで、描画オブジェクトＡ７０１及び描画オブジェクトＣ７０３は、透過表現を付加したい描画オブジェクトである。描画オブジェクトＡ７０１及び描画オブジェクトＣ７０３の内容は、全く同じものとなる。描画オブジェクトＢ７０２は、マスクイメージで透過パターン及び透過度を制御している。マスクイメージ中で有効画素の割合が多く、無効画素の割合が低い程、低い透過度を表現でき、反対に、有効画素の割合が低く、無効画素の割合が高い程、高い透過度を表現できる。なお、本実施形態において、有効画素の画素値は１であり、無効画素の画素値は０である。有効画素の画素値は１に限らず、０以外の任意の画素値を適用することができる。描画オブジェクトＢ７０２は、１画素単位で、マスクの有効画素と無効画素とが切り替わるマスクイメージであり、有効画素と無効画素とが半々に存在している。そのため、描画オブジェクトＢ７０２は、５０％の透過度を表現しているマスクイメージとなる。
【００４１】
図８は、第１の実施形態における擬似透過処理が指定された場合のＲＩＰ後段処理を示すフローチャートである。なお、図８に示す処理は、ＣＰＵ２０５がＲＯＭ２０８から必要なデータ及びプログラムを読み出して実行することにより実現する処理である。
【００４２】
ステップＳ８０１において、ＲＩＰ後段処理部４０４は、ＲＩＰ終了フラグにＦａｌｓｅを書き込むことで初期化を行う。ステップＳ８０２は、ステップＳ８０３からＳ８１３までの処理を繰り返すことを示している。即ち、ＲＩＰ後段処理部４０４は、ＲＩＰ終了フラグにＴｒｕｅが書き込まれるまで、ステップＳ８０３からＳ８１３までの処理を繰り返すことを示している。
【００４３】
ステップＳ８０３において、ＲＩＰ後段処理部４０４は、ＲＩＰ後段処理に関する入力データをＲＩＰ間通信バッファ４０３から取得する。ステップＳ８０４において、ＲＩＰ後段処理部４０４は、ＲＩＰ後段処理に関する入力データが示す指示内容に基づいて、ＲＩＰ処理が終了であるか否かを判定する。ＲＩＰ後段処理に関する入力データで示される指示内容が終了指示である場合、処理はステップＳ８０５に移行する。一方、ＲＩＰ後段処理に関する入力データで示される指示内容が終了指示ではない場合、処理はステップＳ８０６に移行する。ステップＳ８０５において、ＲＩＰ後段処理部４０４は、ＲＩＰ終了フラグにＴｒｕｅを書き込む。これにより、ステップＳ８０２で制御しているループから抜け、ＲＩＰ後段処理が終了する。
【００４４】
ステップＳ８０６は、ステップＳ８０７からＳ８１３までの処理を繰り返すことを示している。即ち、ＲＩＰ後段処理部４０４は、上記入力データであるスパン情報５２１に含まれるオブジェクト数５２２の分だけ、ステップ８０７からＳ８１３の処理を繰り返す。ステップＳ８０７において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの一つ下にあるレイヤの属性５２５が文字であるか否かを、レイヤ番号−描画オブジェクト対応テーブル５２４を参照することで判定する。一つ下のレイヤの属性５２５が文字である場合、処理はステップＳ８０８に移行する。一方、一つ下のレイヤの属性５２５が文字ではない場合、処理はステップＳ８１２に移行する。
【００４５】
ステップＳ８０８において、ＲＩＰ後段処理部４０４は、後述する疑似透過判別処理を行い、疑似透過判別フラグにＴｒｕｅ又はＦａｌｓｅを書き込む。ステップＳ８０９において、ＲＩＰ後段処理部４０４は、疑似透過判別フラグの値がＴｒｕｅであるか否かを判定する。疑似透過判別フラグの値がＴｒｕｅである場合、処理はステップＳ８１０に移行する。一方、擬似透過判定フラグの値がＴｒｕｅではない(Ｆａｌｓｅである)場合、処理はステップＳ８１３に移行する。
【００４６】
ステップＳ８１０において、ＲＩＰ後段処理部４０４は、疑似透過が表現している透過率を算出する。なお、ステップＳ８１０の詳細については後述する。ステップＳ８１１において、ＲＩＰ後段処理部４０４は、ステップＳ８１０で算出した透過率が予め定めた閾値（例えば、８０％）以上であるか否かを判定する。閾値以上の透過率の疑似透過である場合、処理はステップＳ８１２に移行する。一方、閾値未満の透過率の疑似透過である場合、処理はステップＳ８１３に移行する。
【００４７】
ステップＳ８１２において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤに配置される描画オブジェクトの画素値を画像プレーンに合成する。ステップＳ８１３において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤに配置される描画オブジェクトの画素値を画像プレーンに合成するとともに、当該描画オブジェクトの属性値を属性プレーンに合成する。なお、ステップＳ８１２については、現在処理しているレイヤ番号５２３のレイヤに配置される描画オブジェクトの画素値を画像プレーンに合成するとともに、当該描画オブジェクトの属性値を属性プレーンに合成した後、改めて、文字属性を示す属性値を属性プレーンに合成してもよい。
【００４８】
図９は、ステップＳ８０８における疑似透過判別処理の詳細を示すフローチャートである。ステップＳ９０１において、ＲＩＰ後段処理部４０４は、疑似透過判別フラグの初期値としてＦａｌｓｅを書き込む。ステップＳ９０２において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの合成方法がＸＯＲであるか否かを、レイヤ番号−描画オブジェクト対応テーブル５２４を参照することで判定する。現在処理しているレイヤ番号５２３のレイヤの合成方法がＸＯＲである場合、処理はステップＳ９０３に移行する。一方、現在処理しているレイヤ番号５２３のレイヤの合成方法がＸＯＲではない場合、疑似透過判別処理は終了する。
【００４９】
ステップＳ９０３において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの一つ上のレイヤの合成方法がＡＮＤであるか否かを判定する。一つ上のレイヤの合成方法がＡＮＤである場合、処理はステップＳ９０４に移行する。一方、一つ上のレイヤの合成方法がＡＮＤではない場合、疑似透過判別処理は終了する。なお、上記現在処理しているレイヤ番号５２３のレイヤ（に配置される描画オブジェクト）は、第３の描画オブジェクトの例である。
【００５０】
ステップＳ９０４において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの二つ上のレイヤの合成方法がＸＯＲであるか否かを判定する。二つ上のレイヤの合成方法がＸＯＲである場合、処理はステップＳ９０５に移行する。一方、二つ上のレイヤの合成方法がＸＯＲではない場合、疑似透過判別処理は終了する。
【００５１】
ステップＳ９０５において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤとその二つ上のレイヤとの間で、属性及び塗り指定が同じであるか否かを判定する。属性及び塗り指定が同じである場合、処理はステップＳ９０６に移行する。一方、属性及び塗り指定が同じではない場合、疑似透過判別処理は終了する。ステップＳ９０６において、ＲＩＰ後段処理部４０４は、疑似透過判別フラグにＴｒｕｅを書き込む。そして、疑似透過判別処理は終了する。
【００５２】
図１０は、ステップＳ８１０における透過率算出処理の詳細を示すフローチャートである。ステップＳ１００１において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの一つ上のレイヤであるマスクイメージの全画素数を算出する。ステップＳ１００２において、ＲＩＰ後段処理部４０４は、マスクイメージ内の無効画素の画素数を算出する。ステップＳ１００３において、ＲＩＰ後段処理部４０４は、マスクイメージの全画素内における無効画素の占める割合を求めることで透過率を算出する。
【００５３】
次に、本発明の第２の実施形態について説明する。先ず、図１１を参照しながら、第２の実施形態における、ユーザパネル１０５上での透過率の閾値設定方法について説明する。
【００５４】
図１１（ａ）は、ユーザパネル１０５に表示される、透過率の閾値を簡易に設定するためのパネル画面を示している。図１１（ａ）において、パネル画面１１０１は、タッチパネル方式となっており、ユーザによるパネル画面１１０１上のボタンのタッチを入力として受け付けることができる。確定ボタン１１０２がタッチされると、ユーザにより指定された透過率の閾値がパネル設定値格納領域２２６に書き込まれる。また、戻るボタン１１０３がタッチされると、パネル画面１１０１上で表示される画面を一階層上の画面に戻すことが可能となる。テンキー１１０４は、ユーザに数値を入力させるためのボタンである。
【００５５】
簡易設定ボタンＡ１１０５がタッチされると、透過表現を用いた描画オブジェクトの一つ下のレイヤに文字がある場合、描画オブジェクトの透過率と閾値とを比較することで、描画オブジェクトの属性を属性プレーンに書き込むか否かが判定される。即ち、簡易設定ボタンＡ１１０５がタッチされると、図６又は図８に示した処理が実行される。簡易設定ボタンＢ１１０６がタッチされると、透過表現を用いた描画オブジェクトの一つ下のレイヤに文字がある場合、描画オブジェクトの透過率が如何なる値であっても、一つ下のレイヤの文字の属性が属性プレーンに書き込まれる。簡易設定ボタンＣ１１０７がタッチされると、透過表現を用いた描画オブジェクトの一つ下のレイヤに文字があっても、描画オブジェクトの属性が属性プレーンに書き込まれる。
【００５６】
詳細設定ボタン１１０８がタッチされると、図１１（ｂ）に示す詳細設定画面にパネル画面１１０１が遷移する。ユーザは、現在設定されている透過率の閾値を図１１（ｂ）に示す詳細設定画面上で変更することが可能である。なお、簡易設定ボタンＢ１１０６がタッチされると、透過率の閾値は０％に設定され、簡易設定ボタンＣ１１０７が押下されると、透過率の閾値は１００％に設定される。透過率の閾値が０％に設定されると、透過表現を用いた描画オブジェクトの一つ下のレイヤにある文字の属性が属性プレーンに反映される。一方、透過率の閾値が１００％に設定されると、文字の一つ上のレイヤにある透過表現を用いた描画オブジェクトの属性が属性プレーンに反映されることになる。
【００５７】
図１１（ｂ）において、透過度表示領域１１１１は、現在設定されている透過率の閾値を表示する領域である。プラスボタン１１１２がユーザによってタッチされる度に、透過度表示領域１１１１に表示されている透過率の閾値が１００となるまで１ずつ加算される。一方、マイナスボタン１１１３がユーザによってタッチされる度に、透過度表示領域１１１１に表示されている透過率の閾値が０となるまで１ずつ減算される。また、テンキー１１０４の操作により、透過度表示領域１１１１に表示される透過率の閾値を入力することも可能である。
【００５８】
図１２は、第２の実施形態におけるアルファブレンドによる透過処理が指定された場合のＲＩＰ後段処理を示すフローチャートである。なお、図１２に示す処理は、ＣＰＵ２０５がＲＯＭ２０８から必要なデータ及びプログラムを読み出して実行することにより実現する処理である。ここで、図１２におけるステップＳ６０１〜Ｓ６０７、Ｓ６０９及びＳ６１０は、図６における同一符号の処理と同様であるため、これらについては説明を省略する。また、第２の実施形態に係るプリントシステムの構成は、図１及び図２に示した構成と同様であるため、以下の説明においても図１及び図２に示した符号を用いるものとする。
【００５９】
ステップＳ１２０１において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの合成方法５２６がアルファブレンドであるか否かを、レイヤ番号−描画オブジェクト対応テーブル５２４を参照することで判定する。合成方法がアルファブレンドである場合、処理はステップＳ１２０２に移行する。一方、合成方法がアルファブレンドではない場合、処理はステップＳ６１０に移行する。
【００６０】
ステップＳ１２０２において、ＲＩＰ後段処理部４０４は、パネル設定値格納領域２２６から閾値を取得する。ステップＳ１２０３において、ＲＩＰ後段処理部４０４は、現在処理しているレイヤ番号５２３のレイヤの合成方法５２６が、パネル設定値格納領域２２６から取得した閾値以上の透過率のアルファブレンドであるか否かを判定する。閾値以上の透過率のアルファブレンドである場合、処理はステップＳ６０９に移行する。一方、閾値以上の透過率のアルファブレンドではない場合、処理はステップＳ６１０に移行する。
【００６１】
図１３は、第２の実施形態における擬似透過処理が指定された場合のＲＩＰ後段処理を示すフローチャートである。なお、図１３に示す処理は、ＣＰＵ２０５がＲＯＭ２０８から必要なデータ及びプログラムを読み出して実行することにより実現する処理である。ここで、図１３におけるステップＳ８０１〜Ｓ８１０、Ｓ８１２及びＳ８１３は、図８における同一符号の処理と同様であるため、これらについては説明を省略する。
【００６２】
ステップＳ１３０１において、ＲＩＰ後段処理部４０４は、パネル設定値格納領域２２６から閾値を取得する。ステップＳ１３０２において、ＲＩＰ後段処理部４０４は、算出した透過率が閾値以上であるか否かを判定する。透過率が閾値以上である場合、処理はステップＳ８１２に移行する。一方、透過率が閾値未満である場合、処理はステップＳ８１３に移行する。
【００６３】
図１４は、上述した実施形態の効果を説明するための図である。図１４（ａ）は、ＲＩＰ処理部２１４に対して入力される描画オブジェクトを示している。図１４（ａ）において、描画オブジェクトＡ１４０１は、ページの形状を表現する図形属性の描画オブジェクトである。描画オブジェクトＢ１４０２は、“Ｓ”という文字を表現した文字属性の描画オブジェクトである。描画オブジェクトＣ１４０３は、透過率９０％のアルファブレンドを使用した図形属性の描画オブジェクトである。なお、描画オブジェクトＡ１４０１、描画オブジェクトＢ１４０２及び描画オブジェクトＣ１４０３は、この順番で下から重なるように描画されるものとする。
【００６４】
図１４（ｂ）は、従来技術におけるＲＩＰ処理の出力の一例を示している。画像プレーン１４１１において、描画オブジェクトＣ１４０３の一つ下のレイヤに配置されている描画オブジェクトＢ１４０２が描画オブジェクトＣ１４０３の透過表現によって、透けて見えるように描画されている。一方、属性プレーン１４１２では、描画オブジェクトＢ１４０２上に描画オブジェクトＣ１４０３が配置されているため、描画オブジェクトＢ１４０２の文字属性が反映されていない。文字部分の仕上がり例１４１３は、画像プレーン１４１１に属性プレーン１４１２を用いて画像処理を行った結果を示しており、“Ｓ”の描画領域の一部を拡大表示したものである。
【００６５】
図１４（ｃ）は、上述した実施形態におけるＲＩＰ処理の出力の一例を示している。画像プレーン１４２１において、描画オブジェクトＣ１４０３の一つ下のレイヤに配置されている描画オブジェクトＢ１４０２が描画オブジェクトＣ１４０３の透過表現によって、透けて見えるように描画されている。一方、属性プレーン１４２２については、描画オブジェクトＢ１４０２の文字属性が反映されている。文字部分の仕上がり例１４２３は、画像プレーン１４２１に属性プレーン１４２２を用いて画像処理を行った結果を示しており、“Ｓ”の描画領域の一部を拡大表示したものである。文字部分の仕上がり例１４１３と１４２３とを比較すると、１４２３の文字形状の方が滑らかに仕上がっていることを確認することができる。
【００６６】
これは、属性プレーン１４２２に文字属性の領域が残り、画像プレーンの“Ｓ”の描画領域に対して画像処理部２１５が文字専用の画像処理（スムージング）を掛けたことによるものである。他にも、文字属性の領域が明るい色で表現されている場合、低濃度で印刷出力され、文字自体の視認性が悪くなるため、少し高濃度で印刷出力されるような色変換処理が実行されること等がある。なお、上記印刷出力は、印刷制御手段の制御による処理の一例である。上記は一例に過ぎないがこのように、従来技術では高画質がなし得なかった部分に対して、上述した実施形態では、高画質化を行うことが可能となる。従って、上述した実施形態によれば、透過表現を持つ描画オブジェクトが合成された画像を、ユーザから求められる画質で提供することができる。
【００６７】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６８】
２１４：ＲＩＰ処理部、２２３：中間データ格納領域、２２４：コントーン画像格納領域、４０１：中間データ、４０２：ＲＩＰ前段処理部、４０３：ＲＩＰ間通信バッファ、４０４：ＲＩＰ後段処理部、４０５：画像プレーン、４０６：属性プレーン
【図１】
2015019266.tif 000003
【図２】
2015019266.tif 000004
【図３】
2015019266.tif 000005
【図４】
2015019266.tif 000006
【図５】
2015019266.tif 000007
【図６】
2015019266.tif 000008
【図７】
2015019266.tif 000009
【図８】
2015019266.tif 000010
【図９】
2015019266.tif 000011
【図１０】
2015019266.tif 000012
【図１１】
2015019266.tif 000013
【図１２】
2015019266.tif 000014
【図１３】
2015019266.tif 000015
【図１４】
2015019266.tif 000016