(57)【要約】【課題】描画速度を向上させることを目的とする。【解決手段】描画を行うページに含まれる描画オブジェクトを取得する取得手段と、取得手段で取得された描画オブジェクトとページに含まれる他の描画オブジェクトとの関連性に応じて、描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する際に用いられるマスク・エッジ閾値を更新する更新手段と、更新手段で更新されたマスク・エッジ閾値と、取得手段で取得された描画オブジェクトと、に基づいて、描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する選択手段と、選択手段で選択された描画方法で、取得手段で取得された描画オブジェクトを描画する描画手段と、を有することによって課題を解決する。【選択図】図１
2012178042.tif 000002
【特許請求の範囲】
【請求項１】
描画を行うページに含まれる描画オブジェクトを取得する取得手段と、
前記取得手段で取得された描画オブジェクトと前記ページに含まれる他の描画オブジェクトとの関連性に応じて、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する際に用いられるマスク・エッジ閾値を更新する更新手段と、
前記更新手段で更新されたマスク・エッジ閾値と、前記取得手段で取得された描画オブジェクトと、に基づいて、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する選択手段と、
前記選択手段で選択された描画方法で、前記取得手段で取得された描画オブジェクトを描画する描画手段と、
を有する画像形成装置。
【請求項２】
前記マスク・エッジ閾値は、係数１及び係数２から構成され、
前記選択手段は、
（Ｗｉｄｔｈ  ×  Ｈｅｉｇｈｔ）  ＜  係数１  ×  エッジ数  ＋  係数２  （式）
が"真"の場合、マスク描画を選択し、"偽"の場合、エッジ描画を選択する請求項１記載の画像形成装置。
ここで、Ｗｉｄｔｈは、オブジェクトの幅である。Ｈｅｉｇｈｔは、オブジェクトの高さである。エッジ数は、オブジェクトのエッジの数である。
【請求項３】
前記更新手段は、前記関連性として、前記取得手段で取得された描画オブジェクトが所定面積以上のイメージか否かに応じて、前記取得手段で取得された描画オブジェクトと前記ページに含まれる他の描画オブジェクトとの関連性を判断し、前記マスク・エッジ閾値を更新する請求項１又は２記載の画像形成装置。
【請求項４】
前記更新手段は、前記関連性として、前記取得手段で取得された描画オブジェクトが、合成が必要な描画オブジェクトであり、合成が必要な描画オブジェクトが所定の累積数を超えたか否かに応じて、前記マスク・エッジ閾値を更新する請求項１又は２記載の画像形成装置。
【請求項５】
前記更新手段は、前記関連性として、前記取得手段で取得された描画オブジェクトを含むイメージの累積面積が所定の面積を超えたか否かに応じて、前記マスク・エッジ閾値を更新する請求項１又は２記載の画像形成装置。
【請求項６】
描画を行うページの設定情報に応じて、前記マスク・エッジ閾値を決定する決定手段を更に有し、
前記更新手段は、前記決定手段で決定されたマスク・エッジ閾値を前記関連性に応じて更新する請求項１乃至５何れか１項記載の画像形成装置。
【請求項７】
前記決定手段は、前記設定情報として、前記ページの全体に描画する背景イメージの有無を示す情報に応じて、前記マスク・エッジ閾値を決定する請求項６記載の画像形成装置。
【請求項８】
前記決定手段は、前記設定情報として、下地のオブジェクトと上に重なるオブジェクトとを合成した際の属性値の出力結果の算出を行う処理のモードが、各種パラメータの組み合わせの解析を要しない簡易モードか、各種パラメータの組み合わせの解析を要する複雑モードか、を示す情報に応じて、前記マスク・エッジ閾値を決定する請求項６記載の画像形成装置。
【請求項９】
前記決定手段は、前記設定情報として、レンダリングモードが、カラーモードか、モノクロモードか、を示す情報に応じて、前記マスク・エッジ閾値を決定する請求項６記載の画像形成装置。
【請求項１０】
描画を行うページの設定情報に応じて、前記選択手段における前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する処理を実行するか否かを判断する判断手段を更に有し、
前記選択手段は、前記判断手段で前記処理を実行すると判断された場合、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する請求項１乃至５何れか１項記載の画像形成装置。
【請求項１１】
前記判断手段は、前記設定情報として、前記ページの全体に描画する背景イメージの有無を示す情報に応じて、前記処理を実行するか否かを判断する請求項１０記載の画像形成装置。
【請求項１２】
前記判断手段は、前記設定情報として、下地のオブジェクトと上に重なるオブジェクトとを合成した際の属性値の出力結果の算出を行う処理のモードが、ＡＮＤ演算で行う簡易モードか、各種パラメータの組み合わせの解析を要する複雑モードか、を示す情報に応じて、前記処理を実行するか否かを判断する請求項１０記載の画像形成装置。
【請求項１３】
前記判断手段は、前記設定情報として、レンダリングモードが、カラーモードか、モノクロモードか、を示す情報に応じて、前記処理を実行するか否かを判断する請求項１０記載の画像形成装置。
【請求項１４】
画像形成装置が実行する画像形成方法であって、
描画を行うページに含まれる描画オブジェクトを取得する取得ステップと、
前記取得ステップで取得された描画オブジェクトと前記ページに含まれる他の描画オブジェクトとの関連性に応じて、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する際に用いられるマスク・エッジ閾値を更新する更新ステップと、
前記更新ステップで更新されたマスク・エッジ閾値と、前記取得ステップで取得された描画オブジェクトと、に基づいて、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する選択ステップと、
前記選択ステップで選択された描画方法で、前記取得ステップで取得された描画オブジェクトを描画する描画ステップと、
を含む画像形成方法。
【請求項１５】
コンピュータに、
描画を行うページに含まれる描画オブジェクトを取得する取得ステップと、
前記取得ステップで取得された描画オブジェクトと前記ページに含まれる他の描画オブジェクトとの関連性に応じて、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する際に用いられるマスク・エッジ閾値を更新する更新ステップと、
前記更新ステップで更新されたマスク・エッジ閾値と、前記取得ステップで取得された描画オブジェクトと、に基づいて、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する選択ステップと、
前記選択ステップで選択された描画方法で、前記取得ステップで取得された描画オブジェクトを描画する描画ステップと、
を実行させるプログラム。
【請求項１６】
描画を行うページに含まれる描画オブジェクトを取得する取得手段と、
所定の数よりエッジ数が多く、所定の面積より領域が小さい場合、マスク描画を選択し、前記所定の数よりエッジ数が少なく、前記所定の面積より領域が大きい場合、エッジ描画を選択する選択手段と、
前記選択手段で選択された描画方法で、前記取得手段で取得された描画オブジェクトを描画する描画手段と、
を有する画像形成装置。
【請求項１７】
画像形成装置が実行する画像形成方法であって、
描画を行うページに含まれる描画オブジェクトを取得する取得ステップと、
所定の数よりエッジ数が多く、所定の面積より領域が小さい場合、マスク描画を選択し、前記所定の数よりエッジ数が少なく、前記所定の面積より領域が大きい場合、エッジ描画を選択する選択ステップと、
前記選択ステップで選択された描画方法で、前記取得ステップで取得された描画オブジェクトを描画する描画ステップと、
を含む画像形成方法。
【請求項１８】
コンピュータに、
描画を行うページに含まれる描画オブジェクトを取得する取得ステップと、
所定の数よりエッジ数が多く、所定の面積より領域が小さい場合、マスク描画を選択し、前記所定の数よりエッジ数が少なく、前記所定の面積より領域が大きい場合、エッジ描画を選択する選択ステップと、
前記選択ステップで選択された描画方法で、前記取得ステップで取得された描画オブジェクトを描画する描画ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成方法及びプログラムに関する。
【背景技術】
【０００２】
近年、クライアントＰＣ上で動作する各種アプリケーションや、様々なデバイス機器の描画機能の高機能化に伴い、プリンタに対しても様々な描画機能を用いた描画が可能となってきている。
特に、従来、文字情報や矩形情報等を描画する際、ＲＯＰ機能を用いたマスクデータによる描画方法や、ベクタ情報による描画等、同一の描画を行う際にも描画手段を様々な形態を用いて実現することが可能となってきている。
例えば、画像形成装置は、図１で示すようなＰａｇｅ２００に含まれるＯｂｊｅｃｔ１  ２０１を描画する際、「マスク描画」で記載されるように、塗り情報２０２とＲＯＰ機能が指定されるマスク情報２０３とを用いて、描画することが可能である。マスク情報２０３は、ＯＮ／ＯＦＦを示すような情報から構成されている。ＯＦＦの座標位置には下地（ここではページの背景色（白色））が選択される。またＯＮの座標位置には、塗り情報２０２の色が配置されるようなＲＯＰ指示がされている。画像形成装置は、座標毎のＯＮ／ＯＦＦの選択により、Ｏｂｊｅｃｔ１  ２０１の描画を実現する。
また、画像形成装置は、「エッジ描画」で記載されるように、塗り情報２０２とエッジ情報２０４とを用いて、描画することも可能である。画像形成装置は、エッジ情報２０４のように矢印で示される領域を塗り情報２０２で塗りつぶす、という描画方法により、Ｏｂｊｅｃｔ１  ２０１の描画を実現することも可能である。
このような背景の中、特許文献１では、予め定めた所定のパス数の閾値に応じて、描画を選択する手法が提案されている。選択する描画としては、オブジェクト毎に前述したＲＯＰ機能とマスク情報２０３とを用いた描画を用いるか、塗り情報２０２とエッジ情報２０４とを用いた描画の選択が提案されている。この選択処理を用いることで、より最適な描画方法で描画を実現する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０４８１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし前述のように、所定の閾値のみで判断を行う場合、他オブジェクトとの関連性によっては、最適な閾値とはならず、速度性能の劣化を引き起こす要因となってしまう。例えば図２に示すような、イメージ３０２と重なり合うＯｂｊｅｃｔ２  ３０１を含むＰａｇｅ３００の描画位置３０３を描画する際を基に説明する。その際のマスク描画は、Ｏｂｊｅｃｔ２  ３０１の描画の際は、Ｏｂｊｅｃｔ２  ３０１の色情報の準備処理は、例えば７回要し、更にイメージ３０２の色情報の準備処理にも、７回の処理を要する。一方、Ｏｂｊｅｃｔ１  ２０１の描画の際は、Ｏｂｊｅｃｔ１  ２０１の色情報の準備処理は、例えば７回要し、Ｐａｇｅ２００の色情報の準備処理は単一塗りつぶし情報であるため、１回のみで終了する。したがって、マスク描画を行う際、そのマスク描画を行う描画オブジェクトに関連する他の描画オブジェクトの有無に応じて、マスク描画に要する負荷が異なってくる。
【０００５】
本発明はこのような問題点に鑑みなされたもので、描画速度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の画像形成装置は、描画を行うページに含まれる描画オブジェクトを取得する取得手段と、前記取得手段で取得された描画オブジェクトと前記ページに含まれる他の描画オブジェクトとの関連性に応じて、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する際に用いられるマスク・エッジ閾値を更新する更新手段と、前記更新手段で更新されたマスク・エッジ閾値と、前記取得手段で取得された描画オブジェクトと、に基づいて、前記描画オブジェクトをマスク描画とエッジ描画との何れで描画するかを選択する選択手段と、前記選択手段で選択された描画方法で、前記取得手段で取得された描画オブジェクトを描画する描画手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、描画速度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】マスク描画及びエッジ描画を実現する従来技術の一例を示す図である。
【図２】マスク描画の従来技術における解決すべき課題の一例を示す図である。
【図３】画像形成処理装置の一例を示す図である。
【図４】実施形態１におけるページ画像に対する画像形成処理の一例を示すフローチャートである。
【図５】中間言語生成処理（Ｓ４０２）の詳細な処理の一例を示すフローチャートである。
【図６】マスク・エッジ閾値決定処理（Ｓ５０１）の詳細な処理の一例を示すフローチャートである。
【図７】係数１及び係数２から構成されるマスク・エッジ閾値７０１〜７０５の詳細な一例を示す図である。
【図８】マスク・エッジ閾値決定処理（Ｓ５０１）の内部で扱うオブジェクト情報リストの詳細な一例を示す図である。
【図９】背景イメージの有無の判断処理（Ｓ６０１）の際に、判断した縮退処理の概要を示す図である。
【図１０】マスク・エッジ閾値更新処理（Ｓ５０３）の詳細な処理の一例を示すフローチャートである。
【図１１】マスク・エッジ中間言語生成処理（Ｓ５０４）の詳細な処理の一例を示すフローチャートである。
【図１２】実施形態２におけるページ画像に対する画像形成処理の一例を示すフローチャートである。
【図１３】マスク・エッジ変換可否判断処理（Ｓ１１０１）の詳細な処理の一例を示すフローチャートである。
【図１４】マスク・エッジ変換中間言語生成処理（Ｓ１１０３）の詳細な処理の一例を示すフローチャートである。
【図１５】マスク閾値更新処理（Ｓ１３０３）の詳細な処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
本実施形態では、画像形成処理装置１００の一例としてＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）を用いて説明を行う。なお、画像形成装置は、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）やＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）、その他のプリント方式のプリンタでもよい。
図３は、画像形成処理装置の一例を示す図である。画像形成処理装置１００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）にて、ホストコンピュータ（ＰＣ）１６０に接続されている。画像形成処理装置１００は、リーダー装置１４０、プリンタ装置１５０、操作／表示部１２０、データ記憶部１３０、更に、これら各構成要素を制御する制御装置（コントローラ部）１１０によって構成されている。制御装置１１０は、ＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３等を有し、ＣＰＵ１１１がＲＯＭ１１２又は他の記憶媒体に格納されたプログラムに基づいて、画像形成処理装置１００全体を統括制御する。例えば、制御装置１１０は、ＣＰＵ１１１に、それぞれＰＤＬ解析処理・中間言語生成処理、及びレンダリング処理等を行うための予め決められたプログラムをロードする。なお、レンダリング処理に関しては、ここでは記述しないが専用のハードウェアを利用してもよい。プリンタ装置１５０は、画像データの出力を行う。操作／表示部１２０は、画像出力処理を行うための各種印刷設定の操作を行うキーボード、及び画像出力設定を行う操作ボタン等の表示を行う液晶パネルを備える。データ記憶部１３０は、画像データやドキュメントデータ、印刷装置制御言語（例えば、ＥＳＣコード、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ））等の印刷データの格納／保存ができる。例えば、データ記憶部１３０は、ＬＡＮを介してホストコンピュータ（ＰＣ）１６０より受信した画像データ・ドキュメント・ＰＤＬや、リーダー装置１４０を制御して読み込む画像データの格納／保存ができる。
つまり、ＣＰＵ１１１が、プログラムに基づき処理を実行することによって、後述するフローチャートの処理が実現される。なお、本実施形態では、ＣＰＵ１１１がプログラムに基づき処理するよう説明を行うが専用のハードウェアで全ての処理、又はＣＰＵ１１が行う処理の一部を実行するようにしてもよい。
【００１１】
＜実施形態１＞
図４は、実施形態１のページ画像に対する画像形成処理の一例を示すフローチャートである。
まず、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で示されたページ画像情報の印刷指示が、ＰＣ１６０から転送される。画像形成処理装置１００は、転送されたＰＤＬを、データ記憶部１３０に格納する。次に、画像の生成処理を行うため、ＣＰＵ１１１は、データ記憶部１３０からＰＤＬを取得し、解析処理を行う（Ｓ４０１）。次にＣＰＵ１１１は、解析したＰＤＬから、所定のレンダリング可能な中間言語の生成処理を行う（Ｓ４０２）。続いて、ＣＰＵ１１１は、Ｓ４０２で生成された中間言語を基に、レンダリング処理を行い、ページの画像を示すビットマップデータの生成を行う（Ｓ４０３）。
次に、ＣＰＵ１１１は、処理するＰＤＬデータが、縮退処理の必要があるか否かを判断する（Ｓ４０４）。縮退処理の詳細は後述する図９で説明する。ＣＰＵ１１１は、縮退処理の必要可否を、中間言語生成処理（Ｓ４０２）内のＳ５０６で判断する。ＣＰＵ１１１は、オブジェクト処理毎に中間言語生成に必要なメモリの空きが未だ存在するか否かから判断し（Ｓ８０４、Ｓ８０５、Ｓ８０６）、Ｓ８０６処理時にメモリ枯渇を検知した時点で縮退処理が必要と判断する。また縮退処理が必要な際は、ＣＰＵ１１１は、専用のフラグ情報を設定しておく。このフラグ情報に基づいて、ＣＰＵ１１１は、以降縮退処理中であるか否かを判断する。詳細は後述する。ＣＰＵ１１１は、縮退処理が必要であると判断した場合、Ｓ４０５に進む。またＣＰＵ１１１は、縮退処理が必要でないと判断した場合、本印刷処理を終了させる。
【００１２】
図５は、中間言語生成処理（Ｓ４０２）の詳細な処理の一例を示すフローチャートである。
ＣＰＵ１１１が行う中間言語生成処理（Ｓ４０２）では、まず描画を行うページの設定情報に応じて、マスク・エッジ閾値の初期値を決定する処理を行う（Ｓ５０１）。マスク・エッジ閾値の初期値の決定処理は、以降で詳細に説明する。次に、ＣＰＵ１１１は、ページ内に含まれる描画オブジェクトの取得及び描画オブジェクトに関連した描画情報を解析する処理を行う（Ｓ５０２）。次に、ＣＰＵ１１１は、Ｓ５０２で取得した描画情報の解析結果に応じて、Ｓ５０１で決定したマスク・エッジ閾値の初期値の更新が必要であるか否かを判断する処理を行う（Ｓ５０３）。必要であると判断した場合、後述するような閾値に更新し、必要でないと判断した場合、現在設定されるマスク・エッジ閾値で中間言語生成処理を継続する。マスク・エッジ閾値更新処理の詳細は以降で説明する。次に、ＣＰＵ１１１は、Ｓ５０１及びＳ５０３で決定したマスク・エッジ閾値を基に、マスク描画及びエッジ描画のどちらが高速に処理可能か判断する。その判断結果に応じて、ＣＰＵ１１１は、マスク描画若しくはエッジ描画を指示する中間言語の生成処理を行う（Ｓ５０４）。マスク描画及びエッジ描画のどちらが高速に処理可能か判断する処理は以下の式を基に算出する。
（Ｗｉｄｔｈ  ×  Ｈｅｉｇｈｔ）  ＜  係数１  ×  エッジ数  ＋  係数２  （式１）
ここで、Ｗｉｄｔｈは、オブジェクトの幅である。Ｈｅｉｇｈｔは、オブジェクトの高さである。エッジ数は、オブジェクトのエッジの数である。
【００１３】
ＣＰＵ１１１は、上記判断が"真"だった場合、マスク描画の方が早いと判断し、マスク描画を用いた中間言語を生成する。また、ＣＰＵ１１１は、上記判断が"偽"だった場合、エッジ描画の方が早いと判断し、エッジ描画を用いた中間言語を生成する。係数１，２は、例えば予めテーブル情報としてデータ記憶部１３０に保持されているものとする。ＣＰＵ１１１は、以降で説明する各種判断処理に応じて適切な閾値を選択し、中間言語生成処理を行う。次に、ＣＰＵ１１１は、ページ内に含まれる描画オブジェクトの処理が完了したか否かを判断する（Ｓ５０５）。完了したと判断した場合、ＣＰＵ１１１は、中間言語生成処理（Ｓ４０２）を終了する。また完了していないと判断した場合、ＣＰＵ１１１は、Ｓ５０６に進む。次に、ＣＰＵ１１１は、本ページが縮退処理の必要があるかを判断する（Ｓ５０６）。縮退処理の判断では、ＣＰＵ１１１は、生成する中間言語の合計サイズが、データ記憶部１３０に予め割り当てられた容量を超えた場合、縮退処理が必要となる。よってその際は、必要であると判断する。また、超えない場合、ＣＰＵ１１１は、必要ないと判断し、Ｓ５０２に進み、一連の処理を継続する。
【００１４】
図６は、マスク・エッジ閾値決定処理（Ｓ５０１）の詳細な処理の一例を示すフローチャートである。また、図７は、係数１及び係数２から構成されるマスク・エッジ閾値７０１〜７０５の詳細な一例を示す図である。また、図８は、マスク・エッジ閾値決定処理（Ｓ５０１）の内部で扱うオブジェクト情報リストの詳細な一例を示す図である。
ＣＰＵ１１１は、まずページ内にページ全体に描画する背景イメージの有無を判断する（Ｓ６０１）。ＣＰＵ１１１は、背景イメージが存在した場合、Ｓ６０２に進み、背景イメージが存在しなかった場合、Ｓ６０４に進む。また、判断の方法としては、ＣＰＵ１１１は、例えばページの縮退処理を前回行ったページであるかを示すフラグ情報から判断する。詳細は後述するが、本実施形態の処理では縮退処理を行った場合、必ず背景イメージが存在する構成となる。そのため、その縮退処理であるか否かのフラグ情報により、ＣＰＵ１１１は、背景イメージの有無の判断が可能となる。ＣＰＵ１１１は、背景の存在に応じて、マスク描画の負荷が大きいか少ないかを判断する。また、背景イメージの有無を判断する別例としては、ＣＰＵ１１１は、内部で保持するオブジェクト情報のオブジェクトリスト１５００から背景イメージの有無を判断する。例えば、ＣＰＵ１１１は、中間言語の生成処理は、データ記憶部１３０に格納されるオブジェクトリスト１５００を基に行う。オブジェクトリスト１５００は、オブジェクトの情報１５０１、１５０２、１５０３と、そのオブジェクトの塗り情報（単色塗り／イメージ塗り）１５０４、１５０５、１５０６と、から構成される。したがって、ＣＰＵ１１１は、背景イメージの有無を、オブジェクトリスト１５００に格納されるイメージ塗り情報１５０４、１５０５、１５０６の検索及び含まれる幅高等の情報を解析することで判断する。例えば、ＣＰＵ１１１は、幅高が所定の大きさ以上のイメージがあった場合、背景イメージが存在すると判断する。
【００１５】
次に、ＣＰＵ１１１は、ページ描画に用いられる属性処理モードの指定を判断する（Ｓ６０２）。ＣＰＵ１１１は、属性処理モードの指定に、複雑な動作モード（複雑モード）が指定される場合、Ｓ６０６に進み、属性処理モードの指定に、簡易な動作モード（簡易モード）が指定される場合、Ｓ６０３に進む。属性処理とは、下地のオブジェクトと上に重なるオブジェクトを合成した際の、属性値の出力結果の算出を行う処理を示す。本実施形態では従来から提案されている複数の属性処理を切り替えられる構成を想定している。例えば、従来提案されている属性処理の一例として、下記のように属性同士を簡易な演算で行う手法が提案されている。
属性値（結果）  ＝  属性値（下地）  ＆  属性値（上地）    （式２）
上記は、属性値の各ビットがそれぞれの意味合いを示しており、合成していく毎に不要な意味合いのビットを削除していく処理を示す。単純なＡＮＤ演算のため比較的簡易に処理が可能である。また、属性処理の他の一例として、下記のように合成方法の解析から属性値の結果を算出する処理が提案されている。
属性値（結果）  ＝  （合成方法解析結果  ＝＝  下地になる）  ？  属性値（下地）  ：  属性値（上地）    （式３）
上記は、属性値の結果を各種パラメータの組み合わせを解析することで属性値の結果の選択処理を行う。解析するパラメータが複数あり、かつ、複雑な組み合わせを解析することになり時間を要する。したがって、比較的複雑な処理となる。このように、属性処理には簡易なモードや、複雑なモードが存在する。したがって、Ｓ６０２の処理によりピクセル毎に異なる負荷となるマスク描画に対して最適な変換が可能となる。
【００１６】
次に、ＣＰＵ１１１は、レンダリングモードがカラー／モノクロのどちらのモードであるかを判断する（Ｓ６０３）。ＣＰＵ１１１は、レンダリングモードの指定に、カラーモードが指定される場合、Ｓ６０６に進み、レンダリングモードの指定に、モノクロモードが指定される場合、Ｓ６０５に進む。これにより、レンダリングモードに応じ、ピクセル毎に異なる負荷となるマスク描画に対して最適な変換が可能となる。次に、ＣＰＵ１１１は、（Ｓ６０１〜Ｓ６０３）の判断結果に応じ、閾値テーブル７００から前述したマスク・エッジ閾値７０１〜７０５の中の、初期値を決定する（Ｓ６０４〜Ｓ６０６）。各閾値の値は、図７で示すようにＩＤに応じて予め決められた係数１及び係数２を保持する構成をとり、このテーブル自体はデータ記憶部１３０で保持する。閾値１・閾値２・閾値３は予め所定の値が決定されているが、閾値１＞閾値２＞閾値３の順でマスクに振れやすい係数の構成をとることとする。したがって、閾値１がマスクに振れやすい係数となり、閾値３がエッジに振れやすい係数となる。
【００１７】
図９は、背景イメージの有無の判断処理（Ｓ６０１）の際に、判断した縮退処理の概要を示す図である。
例えばＰａｇｅ８００内にイメージ８０１・Ｏｂｊｅｃｔ３  ８０２・Ｏｂｊｅｃｔ４  ８０３が含まれる際、ＣＰＵ１１１は、Ｓ８０４、Ｓ８０５のように中間言語生成処理を続ける。しかし、Ｓ８０６の中間言語生成処理の際、メモリ枯渇が発生した場合、ＣＰＵ１１１は、Ｓ８０５まで生成された中間言語までのレンダリング処理を行う。これにより、複数のオブジェクトの中間言語を、一つのイメージデータに変換することでメモリ空き状態を作ることができる。そして、ＣＰＵ１１１は、その際に縮退処理を行い、処理の継続が必要であることを示す情報である専用のフラグ情報を設定する。そしてレンダリング処理が完了したら、ＣＰＵ１１１は、前記専用のフラグ情報を参照し、縮退処理が必要であることを検知する。そして、ＣＰＵ１１１は、その背面に当たるイメージの中間言語を生成する（Ｓ８０７）。最後に、ＣＰＵ１１１は、Ｏｂｊｅｃｔ４  ８０８の中間言語を生成し、レンダリング処理を行うことでＰａｇｅ８００の印刷処理を実現する。
【００１８】
図１０は、マスク・エッジ閾値更新処理（Ｓ５０３）の詳細な処理の一例を示すフローチャートである。
ＣＰＵ１１１は、Ｓ５０２で取得した描画オブジェクトが、所定面積以上のイメージであるかを判断する（Ｓ９０１）。ＣＰＵ１１１は、背景イメージの面積の判断処理を前述したオブジェクトリスト１５００から判断する。ＣＰＵ１１１は、中間言語生成時は、オブジェクトリスト１５００を順に参照していき、それぞれの中間言語を生成する。したがって、ＣＰＵ１１１は、処理対象であるオブジェクトの塗り情報１５０４、１５０５、１５０６の情報の幅高情報を解析し、所定の面積以上になるか否かを判断する。面積が大きいイメージであった場合、ＣＰＵ１１１は、他オブジェクトに影響を与えやすいイメージであると判断できる（図２で説明の準備処理の増大により）。面積が大きいイメージであった場合、ＣＰＵ１１１は、他オブジェクトに影響を与えやすいイメージであると判断できる（図２で説明の準備処理の増大により）。したがって、ＣＰＵ１１１は、Ｓ９０１の条件が合致した場合、エッジに振れやすい閾値に更新を行うＳ９０５に進む。またＣＰＵ１１１は、Ｓ９０１の条件が合致しなかった場合、Ｓ９０２に進む。
次に、ＣＰＵ１１１は、Ｓ５０２で取得した描画オブジェクトにおいて、合成処理が必要なオブジェクトの累積数が、所定の累積数以上になっているかを判断する処理を行う（Ｓ９０２）。ＣＰＵ１１１は、描画オブジェクト毎に関連するＲＯＰ情報を判別することで、合成の必要可否が分かる。したがって、ＣＰＵ１１１は、合成が必要なオブジェクトをオブジェクト毎に累積し、所定の累積数を超えた場合、エッジに振れやすい閾値に更新を行うＳ９０５に進む。また、ＣＰＵ１１１は、所定の累積数を未だ超え無いと判断した場合、Ｓ９０３に進む。
【００１９】
次に、ＣＰＵ１１１は、Ｓ５０２で取得した描画オブジェクトを含むイメージの累積面積が所定の面積以上になっているかを判断する処理を行う（Ｓ９０３）。ＣＰＵ１１１は、イメージの各面積を累積（加算）していき、累積面積が所定の面積を超えたか否かを判断する。ＣＰＵ１１１は、所定の累積面積を超えたと判断した場合、Ｓ９０４に進む。また、ＣＰＵ１１１は、所定の累積面積を未だ超えていないと判断した場合、マスク閾値更新処理（Ｓ５０３）を終了する。
次に、ＣＰＵ１１１は、（Ｓ９０１〜Ｓ９０３）の判断結果に応じ、閾値テーブル７００からマスク・エッジ閾値７０１〜７０５の中の、閾値に更新する（Ｓ９０４〜Ｓ９０５）。各閾値の値は、図７で示すようにＩＤに応じて予め決められた係数１及び係数２を保持する構成をとり、このテーブル自体はデータ記憶部１３０で保持される。閾値４・閾値５は予め所定の値を決定しておくが、閾値１＞閾値４＞閾値５の順でマスクに振れやすい係数の構成をとることとする。したがって、閾値１がマスクに振れやすい係数となり、閾値５がエッジに振れやすい係数となる。
【００２０】
図１１は、マスク・エッジ中間言語生成処理（Ｓ５０４）の詳細な処理の一例を示すフローチャートである。
まずＣＰＵ１１１は、Ｓ５０２で取得した描画オブジェクトが、所定のマスク描画若しくはエッジ描画の切り替え対象のオブジェクトであるかを判断する（Ｓ１００１）。対象データは任意に設定可能な構成とするが、例えば文字データやグラフィックデータ、元々マスクデータ等を対象とする。ＣＰＵ１１１は、文字データやグラフィックデータをオブジェクトの属性から判断可能である。またマスクデータに関しては、従来提案されている技術を用いることを想定しており、ＣＰＵ１１１は、例えば合成処理にＲＯＰ３の所定コードとマスクデータの組み合わせの指定検知に応じて、マスクデータであるか否かを判断する。また、ＲＯＰの所定コードによっては合成処理を不要とするコード（例えば、単純な上書きを意図するＲＯＰコード等）は、ここではマスクデータとは判断しないものとする。ＣＰＵ１１１が、所定の対象データであると判断した場合、Ｓ１００２に進む。またＣＰＵ１１１が、所定の対象データでないと判断した場合、Ｓ１００５に進む。
【００２１】
次にＣＰＵ１１１は、Ｓ５０２で取得した描画オブジェクトが、マスク描画及びエッジ描画のどちらが高速に処理可能かを判断する（Ｓ１００２）。ＣＰＵ１１１は、前記マスク・エッジ閾値を用いた図５のＳ５０４の説明で前述した式１との計算により、条件が"真"となるか、"偽"となるかを判断する。ＣＰＵ１１１は、上記判断が"真"だった場合、Ｓ１００３に進む。また、ＣＰＵ１１１は、上記判断が"偽"だった場合、Ｓ１００４に進む。
次に、ＣＰＵ１１１は、Ｓ１００２の判断処理で"真"であった場合、Ｓ５０２で取得した描画オブジェクトに対して、マスク描画を用いた中間言語の生成処理を行う（Ｓ１００３）。また、ＣＰＵ１１１は、Ｓ１００２の判断処理で"偽"であった場合、Ｓ５０２で取得した描画オブジェクトに対して、エッジ描画を用いた中間言語の生成処理を行う（Ｓ１００４）。また、ＣＰＵ１１１は、Ｓ１００１の判断処理で"偽"であった場合、従来通りの中間言語を生成する（Ｓ１００５）。Ｓ１００３、Ｓ１００４等は、描画の処理の一例である。
【００２２】
＜実施形態２＞
本実施形態では実施形態１と異なる点を説明する。
図１２は、実施形態２におけるページ画像に対する画像形成処理の一例を示すフローチャートである。
まず、ＰＤＬで示されたページ画像情報の印刷指示が、ＰＣ１６０から転送される。画像形成処理装置１００は、転送されたＰＤＬを、データ記憶部１３０に格納する。次に、画像の生成処理を行うため、ＣＰＵ１１１は、データ記憶部１３０からＰＤＬを取得し、解析処理を行う（Ｓ４０１）。
次にＣＰＵ１１１は、中間言語生成処理時に、マスク・エッジ中間言語生成処理を有効にするか否かを、各種パラメータを基に判断する処理を行う（Ｓ１１０１）。詳細は後述する。次にＣＰＵ１１１は、Ｓ１１０１の判断結果を基に、マスク・エッジ中間言語生成処理の有効／無効を選択する処理を行う（Ｓ１１０２）。ＣＰＵ１１１は、Ｓ１１０１で"有効"と判断した場合、Ｓ１１０３に進む。またＣＰＵ１１１は、Ｓ１１０１で"無効"と判断した場合、Ｓ１１０４に進む。
次にＣＰＵ１１１は、Ｓ１１０１で"有効"と判断した場合に、マスク・エッジ変換中間言語生成処理を行う（Ｓ１１０３）。詳細は後述する。また、ＣＰＵ１１１は、Ｓ１１０１で"無効"と判断した場合に、マスク・エッジ中間言語生成処理を含まない、従来通りの中間言語生成処理を行う（Ｓ１１０４）。続いて、ＣＰＵ１１１は、Ｓ１１０３若しくはＳ１１０４で生成された中間言語を基に、レンダリング処理を行い、ページの画像を示すビットマップデータの生成を行う（Ｓ４０３）。
【００２３】
次に、ＣＰＵ１１１は、処理するＰＤＬデータが、縮退処理の必要があるか否かを判断する（Ｓ４０４）。ＣＰＵ１１１は、縮退処理の詳細は図９で説明する内容となっており、縮退処理の必要可否を、中間言語生成処理（Ｓ１１０３）内のＳ１３０７の処理及びＳ１１０４の処理で判断する。ＣＰＵ１１１は、オブジェクト処理毎に中間言語生成に必要なメモリの空きが未だ存在するか否かから判断し（Ｓ８０４、Ｓ８０５、Ｓ８０６）、Ｓ８０６処理時にメモリ枯渇を検知した時点で縮退処理が必要と判断する。また縮退処理が必要な際は、ＣＰＵ１１１は、専用のフラグ情報を設定しておくことで、以降縮退処理中であるか否かを判断する。ＣＰＵ１１１は、縮退処理が必要であると判断した場合、Ｓ４０５に進み、縮退処理を行ったことを示すフラグを設定し、Ｓ１１０１から処理を継続する。またＣＰＵ１１１が、縮退処理が必要でないと判断した場合、本印刷処理を終了させる。縮退処理の詳細は、前述したとおりである。
【００２４】
図１３は、マスク・エッジ変換可否判断処理（Ｓ１１０１）の詳細な処理の一例を示すフローチャートである。
ＣＰＵ１１１は、まずページ内にページ全体に描画する背景イメージの有無を判断する（Ｓ１２０１）。ＣＰＵ１１１は、背景イメージが存在した場合、Ｓ１２０２に進み、背景イメージが存在しなかった場合、Ｓ１２０４に進む。ＣＰＵ１１１は、例えばページの縮退処理を前回行ったページであるかを示すフラグ情報からページ全体に描画する背景イメージの有無を判断する。詳細は前述したとおりであり、縮退処理を行った場合、必ず背面イメージが存在するため、ＣＰＵ１１１は、その縮退処理であるか否かのフラグ情報により、前記判断を行う。これによりＣＰＵ１１１は、背景の存在に応じて、マスク描画の負荷が大きいか少ないかを判断することが可能となる。また、背景イメージの有無を判断する別例としては、ＣＰＵ１１１は、内部で保持するオブジェクト情報のオブジェクトリスト１５００から背景イメージの有無を判断する。例えば、ＣＰＵ１１１は、中間言語の生成処理を、データ記憶部１３０に格納されるオブジェクトリスト１５００を基に行う。オブジェクトリスト１５００は、オブジェクトの情報１５０１、１５０２、１５０３と、そのオブジェクトの塗り情報（単色塗り／イメージ塗り）１５０４、１５０５、１５０６の情報と、から構成される。したがって、ＣＰＵ１１１は、背景イメージの有無を、オブジェクトリスト１５００に格納されるイメージ塗り情報１５０４、１５０５、１５０６の検索及び含まれる幅高等の情報を解析することで判断する。ＣＰＵ１１１は、幅高が所定の大きさ以上のイメージがあった場合、背景イメージが存在すると判断する。
【００２５】
次に、ＣＰＵ１１１は、ページ描画に用いられる属性処理モードの指定を判断する（Ｓ１２０２）。ＣＰＵ１１１は、属性処理モードの指定に、複雑な動作モードが指定される場合、Ｓ１２０６に進み、属性処理モードの指定に、簡易な動作モードが指定される場合、Ｓ１２０３に進む。これにより、属性処理のモードに応じ、ピクセル毎に異なる負荷となるマスク描画に対して最適な変換を可能とする。属性処理の概要としては前述したとおりである。
次に、ＣＰＵ１１１は、レンダリングモードがカラー／モノクロのどちらのモードであるかを判断する（Ｓ１２０３）。ＣＰＵ１１１は、レンダリングモードの指定に、カラーモードが指定される場合、Ｓ１２０６に進み、レンダリングモードの指定に、モノクロモードが指定される場合、Ｓ１２０５に進む。これにより、レンダリングモードに応じ、ピクセル毎に異なる負荷となるマスク描画に対して最適な変換を可能とする。次に、ＣＰＵ１１１は、Ｓ１２０１、Ｓ１２０２、Ｓ１２０３の判断結果に応じ、マスク・エッジ中間言語生成処理を行うか否かを判断する。同時に、ＣＰＵ１１１は、マスク・エッジ中間言語生成処理を有効にすべきと判断した場合、閾値も合わせて選択する処理を行う（Ｓ１２０４、Ｓ１２０５）。またＳ１２０１、Ｓ１２０２、Ｓ１２０３の判断結果で、Ｓ１２０６に進んだ際は、ＣＰＵ１１１は、マスク・エッジ中間言語生成処理を無効にすると判断し、以降の処理ではマスク・エッジ中間言語生成処理は行わないようにする（Ｓ１２０６）。
【００２６】
図１４は、マスク・エッジ変換中間言語生成処理（Ｓ１１０３）の詳細な処理の一例を示すフローチャートである。
まず、ＣＰＵ１１１は、ページ内に含まれる描画オブジェクトの取得及び描画オブジェクトに関連した描画情報を解析する処理を行う（Ｓ１３０１）。次に、ＣＰＵ１１１は、マスク・エッジ中間言語生成処理が有効か否かを判断する（Ｓ１３０２）。ＣＰＵ１１１は、Ｓ１３０２の判断の結果、有効と判断された場合、Ｓ１３０３に進む。また、ＣＰＵ１１１は、Ｓ１３０２の判断の結果、無効と判断された場合、Ｓ１３０５に進む。次に、ＣＰＵ１１１は、マスク・エッジ閾値更新処理を行う（Ｓ１３０３）。ＣＰＵ１１１は、マスク・エッジ閾値更新処理（Ｓ１３０３）において、各描画オブジェクトの特性を基に、ページ内のマスク・エッジ変換処理を継続するか否かの判断と、閾値の変更が必要であるか否かの判断と、を行う。詳細は後述する。次に、ＣＰＵ１１１は、マスク・エッジ中間言語生成処理を行う（Ｓ５０４）。詳細は前述したとおりであるため、ここでは割愛する。また、ＣＰＵ１１１は、マスク・エッジ中間言語生成処理を含まない、従来通りの中間言語生成処理を行う（Ｓ１３０５）。
次に、ＣＰＵ１１１は、ページ内に含まれる描画オブジェクトの処理が完了したか否かを判断する（Ｓ１３０６）。完了したと判断した場合、ＣＰＵ１１１は、マスク・エッジ変換中間言語生成処理（Ｓ１１０３）を終了する。また完了していないと判断した場合、ＣＰＵ１１１は、Ｓ１３０７に進む。次に、ＣＰＵ１１１は、本ページが縮退処理の必要があるかを判断する（Ｓ１３０７）。ＣＰＵ１１１は、生成する中間言語のサイズが、データ記憶部１３０に予め割り当てられた容量を超えた場合、縮退処理が必要であると判断する。また、ＣＰＵ１１１は、超えない場合は必要ないと判断し、Ｓ１３０１に進み、一連の処理を継続する。
【００２７】
図１５は、マスク閾値更新処理（Ｓ１３０３）の詳細な処理の一例を示すフローチャートである。
ＣＰＵ１１１は、Ｓ１３０１で取得した描画オブジェクトが、所定面積以上のイメージであるかを判断する処理である（Ｓ１４０１）。ＣＰＵ１１１は、背景イメージの面積の判断を、前述したオブジェクトリスト１５００から判断する。ＣＰＵ１１１は、中間言語生成時は、オブジェクトリスト１５００を順に参照していき、それぞれの中間言語を生成する構成をとる。したがって、ＣＰＵ１１１は、処理対象であるオブジェクトの塗り情報１５０４、１５０５、１５０６の情報の幅高情報を解析し、所定の面積以上になるか否かを判断する。面積が大きいイメージであった場合、ＣＰＵ１１１は、他オブジェクトに影響を与えやすいイメージであると判断できる（図２で説明の準備処理の増大により）。したがって、ＣＰＵ１１１は、Ｓ１４０１の条件が合致した場合、マスク・エッジ中間言語生成処理を以降行わない（"無効"）に更新する（Ｓ１４０５）。またＣＰＵ１１１は、Ｓ１４０１の条件が合致しなかった場合、Ｓ１４０２に進む。
【００２８】
次に、ＣＰＵ１１１は、Ｓ５０２で取得した描画オブジェクトにおいて、合成処理が必要なオブジェクトの累積数が、所定の累積数以上になっているかを判断する処理を行う（Ｓ１４０２）。ＣＰＵ１１１は、描画オブジェクト毎に関連するＲＯＰ情報を判別することで、合成の必要可否が分かる。したがって、ＣＰＵ１１１は、合成が必要なオブジェクトを累積し、所定の累積数を超えた場合、マスク・エッジ中間言語生成処理を以降行わない（"無効"）に更新する（Ｓ１４０５）。また、ＣＰＵ１１１は、所定の累積数を未だ超え無いと判断した場合、Ｓ１４０３に進む。
次に、ＣＰＵ１１１は、Ｓ５０２で取得した描画オブジェクトを含むイメージの累積面積が所定の面積以上になっているかを判断する処理を行う（Ｓ１４０３）。ＣＰＵ１１１は、イメージの各面積を累積（加算）していき、所定の面積を超えたか否かを判断する。ＣＰＵ１１１は、所定の面積を超えたと判断した場合、Ｓ１４０４に進む。また、ＣＰＵ１１１は、所定の面積を未だ超えていないと判断した場合、マスク閾値更新処理（Ｓ１３０３）を終了する。
次に、ＣＰＵ１１１は、（Ｓ１４０１〜Ｓ１４０３）の判断結果に応じ、マスク・エッジ閾値を閾値４に更新する。閾値４は予め任意の値を決定しておくが、閾値１＞閾値４の順でマスクに振れやすい係数の構成をとることとする。したがって、閾値１がマスクに振れやすい係数となり、閾値４がエッジに振れやすい係数となる。
【００２９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３０】
以上、上述した各実施形態によれば、ページ内の描画オブジェクトの関連性や処理の指定に依存しない、最適な描画方法の選択を行い、より描画速度を向上させることができる。
なお、上述した実施形態では、閾値を用いる例を用いて説明を行ったが、ＣＰＵ１１１は、所定の数よりエッジ数が多く、所定の面積より領域が小さい場合、マスク描画を選択し、前記所定の数よりエッジ数が少なく、前記所定の面積より領域が大きい場合、エッジ描画を選択するようにしてもよい。
【００３１】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2012178042.tif 000003
【図２】
2012178042.tif 000004
【図３】
2012178042.tif 000005
【図４】
2012178042.tif 000006
【図５】
2012178042.tif 000007
【図６】
2012178042.tif 000008
【図７】
2012178042.tif 000009
【図８】
2012178042.tif 000010
【図９】
2012178042.tif 000011
【図１０】
2012178042.tif 000012
【図１１】
2012178042.tif 000013
【図１２】
2012178042.tif 000014
【図１３】
2012178042.tif 000015
【図１４】
2012178042.tif 000016
【図１５】
2012178042.tif 000017