(57)【要約】【課題】  オブジェクトセントリックな描画方法において、描画オブジェクトにクリップ指定がされていない場合はデフォルト値として印刷ページ全体をクリップするページクリップが設定される。クリップ指定がないオブジェクトを大量に描画する場合、大量のページクリップが設定されたディスプレイリストが生成されレンダリング処理に時間がかかってしまう。【解決手段】  所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける別のページクリップエッジのエッジ情報は読み込まず（Ｓ６１４）、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にする（Ｓ６１８）。【選択図】  図６
2011227565.tif 000002
【特許請求の範囲】
【請求項１】
第１のオブジェクトと第２のオブジェクトにクリップが設定されていなかった場合は、両方のオブジェクトが定義されているページに対して、前記第１のオブジェクトのクリップと前記第２のオブジェクトのクリップが設定され、
前記第１のオブジェクトのクリップに対応する第１のページクリップエッジのエッジ情報と、前記第２のオブジェクトのクリップに対応する第２のページクリップエッジのエッジ情報と、前記第１のオブジェクトのエッジのエッジ情報と、前記第２のオブジェクトのエッジのエッジ情報とをスキャンライン毎にエッジ処理し、
エッジ情報がエッジ処理されたスキャンラインにおいて、前記第１のページクリップエッジのエッジ情報を読み込み、該第１のページクリップエッジに対応するクリップカウントを有効にし、前記第２のページクリップエッジのエッジ情報を読み込み、該第２のページクリップエッジに対応するクリップカウントを有効にし、
前記第１のページクリップエッジに対応するクリップカウントが有効とされた後に前記第１のオブジェクトを描画し、前記第２のページクリップエッジに対応するクリップカウントが有効とされた後に前記第２のオブジェクトを描画する描画装置であって、
クリップが設定されていない複数のオブジェクトが定義された印刷データを基に描画を行う場合であり、かつ前記スキャンラインより後のスキャンラインである所定のスキャンラインにおけるオブジェクトを描画する場合は、
該所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける前記ページクリップエッジとは異なる別のページクリップエッジのエッジ情報は読み込まず、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にする更新手段と、
前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画する描画手段とを有する描画装置。
【請求項２】
前記所定のスキャンラインとは、第１スキャンラインであり、
前記描画装置は、該第１スキャンラインの１つ前のスキャンラインである第２スキャンラインにおけるオブジェクトを描画する場合であって、
前記ページクリップエッジのエッジ情報と前記別のページクリップエッジのエッジ情報とを保持する保持手段と、
前記保持手段により保持されたページクリップエッジのエッジ情報が、前記第２スキャンラインの１つ前のスキャンラインである第３スキャンラインにおいて保持されたエッジ情報である場合は、前記保持手段により保持されている前記ページクリップエッジのエッジ情報と前記別のページクリップエッジのエッジ情報の内、前記ページクリップエッジのエッジ情報を残し、前記別のページクリップエッジのエッジ情報を削除する削除手段とを有し、
前記更新手段は、前記削除手段により削除されず、かつ前記保持手段により保持されているページクリップエッジのエッジ情報は読み込み、前記削除手段により削除され、かつ前記保持手段により保持されていない別のページクリップエッジのエッジ情報は読み込まず、
前記ページクリップエッジに対応するクリップカウントを有効にし、該別のページクリップエッジに対応するクリップカウントを有効にし、
前記描画手段は、前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画することを特徴とする請求項１に記載の描画装置。
【請求項３】
前記描画装置は、第３スキャンラインにおけるオブジェクトを描画する場合であって、
前記ページクリップエッジのエッジ情報と前記別のページクリップエッジのエッジ情報とをメモリにロードするロード手段を有し
前記保持手段は、前記ロード手段によりロードされたエッジ情報を保持し、
前記更新手段は、前記保持手段により保持されているページクリップエッジのエッジ情報を読み込み、前記保持手段により保持されている別のページクリップエッジのエッジ情報を読み込み、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にし、
前記描画手段は、前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画することを特徴とする請求項２に記載の描画装置。
【請求項４】
前記更新手段は、前記第１スキャンラインより後のスキャンラインにおいて、前記別のページクリップエッジの情報は読み込まず、該別のページクリップエッジに対応するクリップカウントを有効にすることを特徴とする請求項２または３に記載の描画装置。
【請求項５】
前記保持手段により保持されているクリップエッジと、前記ロード手段によりロードされたクリップエッジの両方のクリップエッジのＸ座標が同じであるか否か、および該両方のクリップエッジの傾きが同じであるか否か、および該両方のクリップエッジの長さが同じであるか否か、および該両方のクリップエッジの向きが同じであるか否かを判断する判断手段と、
前記判断手段により両方のクリップエッジのＸ座標が同じであると判断され、かつ該両方のクリップエッジの傾きが同じであると判断され、かつ該両方のクリップエッジの長さが同じであると判断され、かつ該両方のクリップエッジの向きが同じであると判断された場合は、該両方のクリップエッジはページクリップエッジであると判定する判定手段とを有する請求項３または４に記載の描画装置。
【請求項６】
第１のオブジェクトと第２のオブジェクトにクリップが設定されていなかった場合は、両方のオブジェクトが定義されているページに対して、前記第１のオブジェクトのクリップと前記第２のオブジェクトのクリップが設定され、
前記第１のオブジェクトのクリップに対応する第１のページクリップエッジのエッジ情報と、前記第２のオブジェクトのクリップに対応する第２のページクリップエッジのエッジ情報と、前記第１のオブジェクトのエッジのエッジ情報と、前記第２のオブジェクトのエッジのエッジ情報とをスキャンライン毎にエッジ処理し、
エッジ情報がエッジ処理されたスキャンラインにおいて、前記第１のページクリップエッジのエッジ情報を読み込み、該第１のページクリップエッジに対応するクリップカウントを有効にし、前記第２のページクリップエッジのエッジ情報を読み込み、該第２のページクリップエッジに対応するクリップカウントを有効にし、
前記第１のページクリップエッジに対応するクリップカウントが有効とされた後に前記第１のオブジェクトを描画し、前記第２のページクリップエッジに対応するクリップカウントが有効とされた後に前記第２のオブジェクトを描画する描画方法であって、
更新手段は、クリップが設定されていない複数のオブジェクトが定義された印刷データを基に描画を行う場合であり、かつ前記スキャンラインより後のスキャンラインである所定のスキャンラインにおけるオブジェクトを描画する場合は、
該所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける前記ページクリップエッジとは異なる別のページクリップエッジのエッジ情報は読み込まず、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にし、
描画手段は、前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画する描画方法。
【請求項７】
第１のオブジェクトと第２のオブジェクトにクリップが設定されていなかった場合は、両方のオブジェクトが定義されているページに対して、前記第１のオブジェクトのクリップと前記第２のオブジェクトのクリップが設定され、
前記第１のオブジェクトのクリップに対応する第１のページクリップエッジのエッジ情報と、前記第２のオブジェクトのクリップに対応する第２のページクリップエッジのエッジ情報と、前記第１のオブジェクトのエッジのエッジ情報と、前記第２のオブジェクトのエッジのエッジ情報とをスキャンライン毎にエッジ処理し、
エッジ情報がエッジ処理されたスキャンラインにおいて、前記第１のページクリップエッジのエッジ情報を読み込み、該第１のページクリップエッジに対応するクリップカウントを有効にし、前記第２のページクリップエッジのエッジ情報を読み込み、該第２のページクリップエッジに対応するクリップカウントを有効にし、
前記第１のページクリップエッジに対応するクリップカウントが有効とされた後に前記第１のオブジェクトを描画し、前記第２のページクリップエッジに対応するクリップカウントが有効とされた後に前記第２のオブジェクトを描画する描画装置が実行するプログラムであって、
クリップが設定されていない複数のオブジェクトが定義された印刷データを基に描画を行う場合であり、かつ前記スキャンラインより後のスキャンラインである所定のスキャンラインにおけるオブジェクトを描画する場合は、
該所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける前記ページクリップエッジとは異なる別のページクリップエッジのエッジ情報は読み込まず、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にする更新ステップと、
前記更新ステップにより前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画する描画ステップとを有する描画装置が実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイリストのクリップ処理制御方法を有する描画装置、および描画方法、およびプログラムに関するものである。
【背景技術】
【０００２】
印刷データの描画方法には、ステートセントリックとオブジェクトセントリックの２種類が存在する。
【０００３】
特許文献１には、ステートセントリックな描画方法が開示されている。ステートセントリックは、オブジェクトを描画する前に、描画に関するステータスをページに対して設定し、その後オブジェクトを描画していく。なお、ステートセントリックにおいて、一度設定されたステータスは、オブジェクトが全て描画されるまで有効となる。
【０００４】
オブジェクトセントリックな描画方法では、オブジェクトにステータスが設定されていない状態でオブジェクトを描画しようとすると、デフォルト値がオブジェクトに設定される。例えば、クリップの場合について説明する。オブジェクトのクリップ指定がＮＵＬＬの場合、ディスプレイリストのページ全体にクリップが設定されることになる。なお、オブジェクトセントリックにおいて、オブジェクトに設定されたステータスは、スキャンライン毎に解除される。なお、ページ全体に設定されたクリップをページクリップと呼ぶ。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２７５６６８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、オブジェクトセントリックな描画方法には次のような課題がある。この課題について詳細に説明する。
【０００７】
描画装置は、外部装置から入力されたＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｇｕｎａｇｅ）をディスプレイリストに変換する処理を行う。通常、ＰＤＬには複数のオブジェクトが定義されている。仮に、複数のオブジェクトにクリップが設定されなかった場合、ディスプレイリストに複数のページクリップが存在することになる。
【０００８】
複数のオブジェクトのレベルが同じである場合は、ディスプレイリスト生成時に複数のオブジェクトを一つのオブジェクトとする処理を複数のオブジェクトに施すことができるので、ページクリップを削減することが可能である。しかしながら、複数のオブジェクトのレベルが異なる場合は、複数のオブジェクトを一つのオブジェクトとする処理を複数のオブジェクトに施すことが出来ないため、複数のオブジェクトに対応する複数のページクリップの削除は不可能である。
【０００９】
その結果、クリップが指定されておらず、かつレベルが異なる複数のオブジェクトが大量に含まれるＰＤＬをディスプレイリストに変換すると、大量のページクリップが含まれるディスプレイリストが生成される。
【００１０】
これらのページクリップは描画処理を行う上で不要なものであるが、オブジェクトを描画する際にこれらのページクリップが考慮されてしまい、描画処理に時間がかかってしまう。この問題は、全てのＰＤＬで発生する可能性がある。
【００１１】
本発明の目的は、１つのクリップエッジのみを考慮して複数のオブジェクトの描画を行うことができる描画装置を提供することを目的の１つとする。
【課題を解決するための手段】
【００１２】
本発明の目的を達成する一実施形態に係る描画装置は、第１のオブジェクトと第２のオブジェクトにクリップが設定されていなかった場合は、両方のオブジェクトが定義されているページに対して、前記第１のオブジェクトのクリップと前記第２のオブジェクトのクリップが設定され、前記第１のオブジェクトのクリップに対応する第１のページクリップエッジのエッジ情報と、前記第２のオブジェクトのクリップに対応する第２のページクリップエッジのエッジ情報と、前記第１のオブジェクトのエッジのエッジ情報と、前記第２のオブジェクトのエッジのエッジ情報とをスキャンライン毎にエッジ処理し、エッジ情報がエッジ処理されたスキャンラインにおいて、前記第１のページクリップエッジのエッジ情報を読み込み、前記第２のページクリップエッジのエッジ情報を読み込み、該第１のページクリップエッジに対応するクリップカウントを有効にし、該第２のページクリップエッジに対応するクリップカウントを有効にし、前記第１のページクリップエッジに対応するクリップカウントが有効とされた後に前記第１のオブジェクトを描画し、前記第２のページクリップエッジに対応するクリップカウントが有効とされた後に前記第２のオブジェクトを描画する描画装置であって、クリップが設定されていない複数のオブジェクトが定義された印刷データを基に描画を行う場合であり、かつ前記スキャンラインより後のスキャンラインである所定のスキャンラインにおけるオブジェクトを描画する場合は、該所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける前記ページクリップエッジとは異なる別のページクリップエッジのエッジ情報は読み込まず、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にする更新手段と、前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画することを特徴とする。
【発明の効果】
【００１３】
従来、ディスプレイリスト生成処理部は、レベルが異なるオブジェクトが複数定義されたＰＤＬを基にディスプレイリストを生成する場合、複数のオブジェクトを一つのオブジェクトとする処理を複数のオブジェクトに施すことが出来ない。そのため、複数のページクリップを考慮して描画を行っていた。しかし、本願発明により、１つのクリップエッジのみを考慮して複数のオブジェクトの描画を行うことができるようになった。
【００１４】
その結果、これまで描画処理に時間がかかって問題になっていたページクリップが、データに大量に含まれていても描画処理処理にかかる時間を従来と比較して短縮することが可能になった。
【図面の簡単な説明】
【００１５】
【図１】実施形態における各機器のコントロールユニットの構成例を示すブロック図
【図２】実施形態におけるシステム構成を示す図
【図３】実施形態におけるコントローラソフトウェアの構成を示すブロック図
【図４】実施形態におけるＰＤＬ印刷処理方式を示す図
【図５】実施形態におけるページクリップ、エッジ、レベル処理を示す図
【図６】実施形態におけるページクリップ処理を示すフロー図
【図７】実施形態におけるページクリップエッジを判定する処理を示すフロー図
【図８】実施形態におけるページクリップが現れたラインの処理を示す図
【図９】実施形態におけるページクリップが現れた次のラインの処理を示す図
【図１０】実施形態におけるページクリップが現れた２ライン以降の処理を示す図
【図１１】実施形態におけるグループクリップを示す図
【図１２】実施形態におけるページ、グループクリップ処理を示すフロー図
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１７】
＜画像処理装置の構成＞
本実施例を適用するに好適な描画装置である、１Ｄカラー系ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：マルチファンクション周辺機器）の構成について説明する。
【００１８】
１Ｄカラー系ＭＦＰは、スキャナ部、レーザ露光部、感光ドラム、作像部、定着部、給紙／搬送部及び、これらを制御する不図示のプリンタ制御部から構成される。スキャナ部は、原稿台に置かれた原稿に対して、照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する工程である。レーザ露光部は、前記画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー）に入射させ、反射走査光として感光ドラムに照射する。
【００１９】
作像部は、感光ドラムを回転駆動し、帯電器によって帯電させ、前記レーザ露光部によって感光ドラム上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。その際に転写されずに感光ドラム上に残った微小トナーを回収するといった一連の電子写真プロセスを実行して作像する。その際、シートが転写ベルトの所定位置に巻きつき、４回転する間に、マゼンタ（Ｍ）、シアン（Ｃ）、イエロー（Ｙ）、ブラック（Ｋ）のトナーを持つそれぞれの現像ユニット（現像ステーション）が入れ替わりで順次前述の電子写真プロセスを繰り返し実行する。４回転の後、４色のフルカラートナー像を転写されたシートは、転写ドラムを離れ、定着部へ搬送される。
【００２０】
定着部は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、前記作像部によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解、定着させる。
【００２１】
給紙／搬送部は、シートカセットやペーパーデッキに代表されるシート収納庫を一つ以上持っており、前記プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚分離し、作像部・定着部へ搬送する。シートは作像部の転写ドラムに巻きつけられ、４回転した後に定着部へ搬送される。４回転する間に前述のＹＭＣＫ各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合は、定着部を通過したシートを再度作像部へ搬送する搬送経路を通るように制御する。
【００２２】
プリンタ制御部は、ＭＦＰ全体を制御するＭＦＰ制御部と通信して、その指示に応じて制御を実行すると共に、前述のスキャナ、レーザ露光、作像、定着、給紙／搬送の各部の状態を管理しながら、全体が調和を保って円滑に動作できるよう指示を行う。
【００２３】
＜コントローラユニットの構成＞
図１は、本実施形態におけるＭＦＰのコントロールユニット（コントローラ）の一構成例を示すブロック図である。図１において、コントロールユニット２００は、画像入力デバイスであるスキャナ２０１や画像出力デバイスであるプリンタエンジン２０２と接続し、画像データの読み取りやプリント出力のための制御を行う。また、コントロールユニット２００は、ＬＡＮ  Ｎ１や公衆回線２０４と接続することで、画像情報やデバイス情報をＬＡＮ  Ｎ１経由で入出力するための制御を行う。２０２は２１７のデバイスＩ／Ｆと結合されるプリンタエンジンで、２００で生成された描画データを紙に出力する処理を行う。
【００２４】
ＣＰＵ２０５はＭＦＰ全体を制御するための中央処理装置である。ＲＡＭ２０６は、ＣＰＵ２０５が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ＲＯＭ２０７はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２０８はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データを等格納する。操作部Ｉ／Ｆ２０９は、画像データ等を表示可能な表示画面を有する操作部２１０に対するインタフェース部であり、操作部２１０に対して操作画面データを出力する。また、操作部Ｉ／Ｆ２０９は、操作部２１０から操作者が入力した情報をＣＰＵ２０５に伝える役割をする。ネットワークインタフェース２１１は、例えばＬＡＮカード等で実現され、ＬＡＮ  Ｎ１に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム２１２は公衆回線２０４に接続し、外部装置との間で情報の入出力を行う。以上のユニットがシステムバス２１３上に配置されている。
【００２５】
イメージバスＩ／Ｆ２１４は、システムバス２１３と画像データを高速で転送する画像バス２１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス２１５上には、ラスタイメージプロセッサ２１６、デバイスＩ／Ｆ２１７、スキャナ画像処理部２１８、プリンタ画像処理部２１９、画像編集用画像処理部２２０、カラーマネージメントモジュール２３０が接続される。
ラスタイメージプロセッサ（ＲＩＰ）２１６は、ページ記述言語（ＰＤＬデータ）コードや後述するベクトルデータをイメージに展開する。デバイスＩ／Ｆ部２１７は、スキャナ２０１やプリンタエンジン２０２とコントロール２００とを接続し、画像データの同期系／非同期系の変換を行う。
【００２６】
また、スキャナ画像処理部２１８は、スキャナ２０１から入力した画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部２１９は、プリント出力する画像データに対して、プリンタエンジンに応じた補正、解像度変換等の処理を行う。画像編集用画像処理２２０は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。ＣＭＭ２３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理（色空間変換処理ともいう）を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータとは、カラー複合機３におけるスキャナ部２０１やプリンタエンジン２０２の色再現特性を修正するためのデータである。
【００２７】
＜システム構成＞
図２は、本実施形態に係る画像処理システムの全体構成を示すブロック図である。図２において、画像処理システムは、互いにＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）Ｎ１等を介して接続された、ＭＦＰ１、ＭＦＰ２、ＭＦＰ３で構成されている。
【００２８】
各ＭＦＰはそれぞれＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ：二次記憶装置）Ｈ１、Ｈ２、Ｈ３を具備している。ＭＦＰに搭載されているプリンタエンジン（以降、エンジン）の解像度はＭＦＰ毎に異なっており、ＭＦＰ１とＭＦＰ３は６００ｄｐｉ、ＭＦＰ２は１２００ｄｐｉである。また、ＭＦＰに搭載されているレンダラ（ラスタライザ）の種類もＭＦＰ毎に異なっており、ＭＦＰ１とＭＦＰ２のレンダラは同種（図中には「Ｒａ」と図示）、ＭＦＰ３だけ異なる種類（「Ｒｂ」と図示）である。一般にレンダラはＡＳＩＣなどのハードウェアで構成されるため、異なる種類のレンダラは異なる種類の描画命令群を処理することができない。この描画命令群を一般にディスプレイリストと呼ぶ。ディスプレイリストはハードウェアで処理可能なインストラクションであり、複雑な描画記述を持つベクタデータからソフトウェアで生成され、解像度依存である。
【００２９】
ＭＦＰ１、ＭＦＰ２、ＭＦＰ３はネットワークプロトコルを使用して互いに通信することができる。なお、ＬＡＮ  Ｎ１上に接続されるこれらのＭＦＰは上記のような物理的な配置に限定されなくても良い。また、ＬＡＮ  Ｎ１上にはＭＦＰ以外の機器（例えばＰＣ、各種サーバ、プリンタなど）が接続されていても良い。
【００３０】
＜コントローラソフトウェア構成＞
図３は、ＭＦＰの動作を制御するコントローラソフトウェアの構成を示すブロック図である。
【００３１】
プリンタインターフェイス４００は、外部との入出力のための手段である。プロトコル制御部４０１は、ネットワークプロトコルを解析・送信することによって外部との通信を行う手段である。
【００３２】
ＰＤＬデータ解析部４０２は、ＰＤＬデータを解析し、より処理しやすい形式のディスプレイリストに変換する手段である。ＰＤＬデータ解析部４０２において生成されたディスプレイリストはデータ描画部４０３に渡されて処理される。データ描画部４０３は上記ディスプレイリストをビットマップデータに展開するものであり、展開されたビットマップデータはページメモリ４０４に逐次描画されて行く。ＰＤＬデータ解析部４０２、およびデータ描画部４０３は、夫々のプログラムがメモリにロードされ、ＣＰＵが実行することで実現される。
【００３３】
ページメモリ４０４はレンダラが展開するビットマップデータを一次的に保持する揮発性のメモリである。パネル入出力制御部は操作パネルからの入出力を制御するものである。ドキュメント記憶部４０６はデータファイルを記憶する手段であり、ハードディスク等の二次記憶装置によって実現される。
【００３４】
スキャン制御部４０７はスキャナから入力した画像データに対して、補正、加工、編集などの各種処理を行う。印刷制御部４０８は、ページメモリ４０４の内容をビデオ信号に変換処理し、プリンタエンジン部４０９へ画像転送を行なう。プリンタエンジン部１４００は受け取ったビデオ信号を記録紙に可視画像形成するための印刷機構部である。
【００３５】
＜本特許が有効なＰＤＬ処理方法とその他のＰＤＬ処理方法＞
図４は、ステートセントリック描画方法と、本特許が有効になるオブジェクトセントリック描画方法の違いを説明した図である。
【００３６】
ステートセントリックは、図４（ａ）で示すように、オブジェクトを描画する前に描画に関するステータスを設定し、その後オブジェクトを描画していく。一度設定したステータスは解除されるまで有効となる。その結果ページクリップは１つしか生成されない。
【００３７】
一方、オブジェクトセントリックは、図４（ｂ）で示すようにステータス付きのオブジェクトが描画されていく。仮に、オブジェクトに対してクリップ設定を行わなかった場合、ページクリップは、少なくともオブジェクトの数と同じ数だけ存在する可能性がある。
【００３８】
ステートセントリックは主に低性能ＣＰＵ／小容量メモリなどのシステムに採用されることが多いのに対し、オブジェクトセントリックは高性能ＣＰＵ／大容量メモリなどのシステムに採用されることが多い。ステートセントリックのメリットとして、背景技術でも示したようにステータスを一度設定してしまうと解除されるまで有効となるため、無駄なページクリップが生成されないという点がある。一方、オブジェクトセントリックのメリットは、ステータスをオブジェクト毎に設定するため仕様のメンテナンスが容易である、デバッグし易い、マルチＣＰＵ動作時に扱いやすいといったメリットがある。
【００３９】
＜レンダリングにおけるページクリップ、エッジ、レベル処理とは＞
ここでレンダリングにおける、ページクリップエッジ、エッジ、レベル処理について図５を用いて説明する。なお、これらの処理はデータ描画部４０３により実行される。
【００４０】
まずエッジとは、ページ内に描画するオブジェクトとオブジェクト、またはオブジェクトと背景の境目を指す。ページクリップもエッジの１つとして扱われる。
【００４１】
エッジ処理とは、メモリ上へのエッジ情報のロード、処理中のスキャンラインにおけるＸ座標の算出、Ｘ座標を元にエッジが現れる順番を保持するリンクの更新、処理中のエッジと隣のエッジ間の距離の算出、エッジ情報の削除の５つが大きな処理となる。また、エッジ情報には、図５の下の四角内にかかれるような項目が含まれる。
【００４２】
次にレベルとは、ページ内に描画するオブジェクト同士の上下関係を示すもので、必ず各オブジェクトにレベル番号が割り振られている。レベル処理とは、描画オブジェクトのエッジが現れた場合、エッジの向きに応じて塗るか塗らないかを決めるフィルカウントを更新する。例えば、初期値０、アップエッジの場合マイナス１、ダウンエッジの場合プラス１でフィルカウントが０以外の場合描画対象となる。クリップエッジが現れた場合、描画するオブジェクトがクリップにかかっているか否かを決めるクリップカウントを更新する。例えば、初期値１、アップエッジの場合マイナス１、ダウンエッジの場合プラス１でクリップカウントが０の場合描画対象となる。クリップカウント、フィルカウントから描画対象のオブジェクトであるか否かの判定、描画対象のオブジェクトのレベル番号を元に順番を並び替えるソートの４つが大きな処理となる。
【００４３】
図５には、円形、三角形、四角形のオブジェクトが描かれており、エッジ処理はページの上から下に向ってスキャンライン毎に処理を行っていく。なお、円形のオブジェクトは第１のオブジェクトであり、三角形のオブジェクトは第２のオブジェクトである。図５の場合、第１のオブジェクトと第２のオブジェクトにはクリップが設定されていないので、両方のオブジェクトが定義されているページに対して、両方のオブジェクトのクリップが設定されている。このように、ページに対してかかるクリップのエッジをページクリップエッジと呼ぶ。第１のオブジェクトのクリップに対応するページクリップエッジを第１のページクリップエッジ、第２のオブジェクトのクリップに対応するページクリップエッジを第２のページクリップエッジと呼ぶ。これらのページクリップエッジは、第１のオブジェクトのエッジや、第２のオブジェクトのエッジと同様にエッジとして扱われる。
【００４４】
始めに、図５で示すページのディスプレイリストがメモリ上にロードされる。次に、ページの先頭には、ページの左上にページクリップエッジのアップエッジ（１）−０、（２）−０、（３）−０、ページの右上にページクリップのダウンエッジ（１）−１、（２）−１、（３）−１が表れるので、それぞれのエッジ情報をメモリの別領域にロードする。図５は、左右に３本ずつページクリップエッジが存在することを示している。図５における３本のページクリップエッジは、重ならないように描かれているが、実際は、同じＸ，Ｙ座標からエッジがスタートしている。
【００４５】
ページクリップエッジも通常のエッジと同様に扱われるので、（１）−０→（２）−０→（３）−０→（１）−１→（２）−１→（３）−１の順にリンクされる。クリップエッジ（１）は三角形のオブジェクト、クリップエッジ（２）は四角形のオブジェクト、クリップエッジ（３）は円形のオブジェクトに対してかかるクリップである。なお、クリップエッジ（１）は、第１のページクリップエッジ、クリップエッジ（２）は、第２のページクリップエッジである。
【００４６】
夫々のエッジのエッジ情報は、レベル処理部に送られる。そして、（１）−０、（１）−１は三角形のオブジェクトのクリップカウントを更新、（２）−０、（２）−１は四角形のオブジェクトのクリップカウントを更新、（３）−０、（３）−１は円形のオブジェクトのクリップカウントの更新を行う。例えば、レベル処理部は、第１のページクリップエッジのエッジ情報（アップエッジ）を読み込み、第１のページクリップエッジに対応するクリップカウントを有効にする。また、レベル処理部は、第２のページクリップエッジのエッジ情報（アップエッジ）を読み込み、第２のページクリップエッジに対応するクリップカウントを有効にする。逆に、第１のページクリップエッジ、または第２のページクリップのダウンエッジを読み込んだ場合は、夫々のクリップカウントを無効にする。
【００４７】
図５における、ページクリップエッジのエッジ情報がロードされたスキャンラインでは、各オブジェクトのエッジのエッジ情報はロードされていないのでフィルカウントは０である。よって、ページクリップエッジのエッジ情報がロードされたスキャンラインには、描画対象のオブジェクトは存在しない。なお、第１のオブジェクトと第２のオブジェクトが存在する場合は、第１のページクリップエッジのクリップカウントと、第２のページクリップエッジのクリップカウントとが有効とされた後に、第１のオブジェクトと第２のオブジェクトは描画される。
【００４８】
ページの先頭ラインから１とかかれたラインまでは上記処理が行われ、１のラインでは、アップエッジ（１）−２、ダウンエッジ（１）−３が表れ、それぞれのエッジ情報がメモリ上にロードされＸ座標が算出される。この時点でのリンクは（１）−０→（２）−０→（３）−０→（１）−２→（１）−３→（１）−１→（２）−１→（３）−１となる。
【００４９】
それぞれのエッジはレベル処理部に送られて、（１）−０、（１）−１は三角形のオブジェクトのクリップカウントを更新、（２）−０、（２）−１は四角形のオブジェクトのクリップカウントを更新、（３）−０、（３）−１は円形のオブジェクトのクリップカウントの更新を行う。また（１）−２、（１）−３は三角形のオブジェクトのフィルカウントの更新を行う。（１）−２、（１）−３に挟まれた部分では三角形のオブジェクトのフィルカウントが−１となり、クリップカウントは０になるのでこのオブジェクトは描画対象となる。この場合、描画対象のオブジェクトは一つだけなのでソートは行われない。
【００５０】
ライン１からライン２は上記処理が繰り返され、ライン２では、アップエッジ（２）−２、ダウンエッジ（２）−３が表れ、それぞれのエッジ情報がメモリ上にロードされＸ座標が算出される。この時点でのリンクは（１）−０→（２）−０→（３）−０→（２）−２→（１）−２→（２）−３→（１）−３→（１）−１→（２）−１→（３）−１となる。
【００５１】
それぞれのエッジはレベル処理部に送られ、（１）−０、（１）−１は三角形のオブジェクトのクリップカウントを更新、（２）−０、（２）−１は四角形のオブジェクトのクリップカウントを更新、（３）−０、（３）−１は円形のオブジェクトのクリップカウントの更新を行う。また（２）−２、（２）−３は四角形のオブジェクト、（１）−２、（１）−３は三角形のオブジェクトのフィルカウントの更新を行う。（１）−２、（１）−２に挟まれた部分では四角形のオブジェクトのフィルカウントが−１となり、クリップカウントは０（有効）になるので描画対象となる。この場合、描画対象のエッジは一つだけなのでソートは行われない。（１）−２、（２）−３に挟まれた部分では三角形、四角形のオブジェクト共にフィルカウントが−１となり、クリップカウントは０になるので描画対象となる。この場合、それぞれのオブジェクトが持っているレベル番号を比較したところ、四角形のオブジェクトが持つレベル番号の方が大きいので、四角形のオブジェクトが描画対象となる。次に、（２）−３、（１）−３に挟まれた部分では三角形のオブジェクトのフィルカウントが−１となり、クリップカウントは０になるので描画対象となる。この場合、描画対象のオブジェクトは一つだけなのでソートは行われない。
【００５２】
ライン２からライン３は上記処理が繰り返され、ライン３では、（１）−２、（２）−３が削除されるので、リンクは（１）−０→（２）−０→（３）−０→（２）−２→（２）−３→（１）−１→（２）−１→（３）−１となる。以降のスキャンラインにおいても上記と同様の処理が繰り返され、ページの最終ラインまで行われる。以上がレンダリングにおける基本的なページクリップ、エッジ、レベル処理の流れになる。
【００５３】
＜データ処理フロー＞
次に、図６を使って本実施例におけるレンダリング処理のフローについて説明する。この処理は、データ描画部４０３により実行される。
【００５４】
Ｓ６０１は本処理の開始を示す。Ｓ６０２は印刷処理を行う対応のディスプレイリストを表す。Ｓ６０２において、ディスプレイリストはメモリにロードされる。Ｓ６０３において、ディスプレイリストに含まれるレベル情報はメモリ上にロードされる。Ｓ６０４はスキャンラインのループ端になり、１スキャンライン処理する毎にＳ６２２からこのループ端に戻り、処理するスキャンラインがページの最終スキャンラインまでこのループが繰り返される。
【００５５】
Ｓ６０５において、処理するエッジが新しくメモリにロードされるエッジ情報か否かを判断する。なお、新しくメモリにロードされるエッジ情報は、同じくメモリにより保持される。Ｓ６０５がＹＥＳだった場合、Ｓ６０６において、ロードされたエッジ情報がページクリップエッジか否かを判断する。この処理の詳細については、＜ページクリップエッジ判断処理フロー＞で記載する。Ｓ６０６がＹＥＳだった場合、Ｓ６０７において、Ｓ６０５でロードされたエッジがページクリップであることを示すフラグを付ける。
【００５６】
Ｓ６０６がＮＯだった場合、Ｓ６１１へ処理が移る。Ｓ６０５がＮＯだった場合、Ｓ６０８において、ロードされているエッジがページクリップエッジか否かを判断し、ＮＯだった場合Ｓ６１１へ処理を移す。Ｓ６０８がＹＥＳだった場合、Ｓ６０９において、描画処理を行うスキャンラインが、ページクリップエッジがロードされたスキャンラインに対して、次のスキャンラインであるか否かを判断する。この判断の結果、ＹＥＳだった場合は、Ｓ６１０において１つのページクリップエッジのエッジ情報を残し、それ以外のページクリップエッジのエッジ情報をメモリから削除しＳ６１１へ処理を移す。
【００５７】
Ｓ６０９がＮＯだった場合もＳ６１１へ処理を移す。Ｓ６１１において、各エッジの処理中のラインにおけるＸ座標の算出やエッジのソート処理を行う。次に、Ｓ６１２において、処理中のラインに次のエッジが存在するか否かを判断し、ＹＥＳだった場合、Ｓ６０５へ戻り上記処理を繰り返す。Ｓ６１２においてＮＯだった場合、処理中のラインの先頭エッジに戻り、Ｓ６１３において、処理するエッジを読み込み、読み込んだエッジがページクリップエッジであるか否かを判断する。Ｓ６１３においてＹＥＳだった場合、Ｓ６１４において、メモリに保持されており、かつＳ６１３において読み込まれたページクリップエッジが、ページクリップエッジをロードしたスキャンラインであるか否かを判断する。
【００５８】
Ｓ６１４においてＹＥＳだった場合、Ｓ６１５において、ページクリップエッジが持っているＩＤをレベルＩＤに変換し、クリップ対象のオブジェクトを特定する。Ｓ６１６において、ページクリップエッジ対象のオブジェクトのクリップカウントを更新する。Ｓ６１７において、Ｓ６１６で更新したカウントを管理しているクリップカウントを、次のスキャンライン以降で使用する為に保持しＳ６２０へ処理を移す。Ｓ６１４がＮＯだった場合、Ｓ６１８において、読み込んだページクリップエッジに対応するクリップカウントと、それ以外の全てのクリップカウントを更新しＳ６２０へ処理を移す。即ち、データ描画部４０３は、Ｓ６１７において保持した全てのクリップカウントを有効にする。
【００５９】
Ｓ６２０において、描画処理を行うスキャンラインにおいて、次のエッジが存在すか否かを判断し、ＹＥＳだった場合、Ｓ６１３へ戻り上記処理を繰り返す。Ｓ６２０がＮＯだった場合、Ｓ６２１において、フィル、コンポジット処理を行い、次のラインに移動する。フィル処理とは、処理するオブジェクトがイメージだった場合、指定されている拡縮回転処理を行い、同じ色が続くブラシの場合、ピクセル分のデータを生成することをいう。また、コンポジット処理とは、ピクセル同士のラスターオペレーションであって、透過などの描画の際に行われる処理である。Ｓ６２２は、Ｓ６０４に対応するスキャンラインに関するループ端になる。全スキャンラインに対する処理が終了したらＳ６２３でレンダリング処理を終了する。
【００６０】
＜ページクリップエッジ判断処理フロー＞
次に、図７を使って本実施例におけるページクリップエッジ判断処理のフローについて説明する。この処理は、データ描画部４０３によって行われる。
【００６１】
Ｓ７０１は本処理の開始を示す。Ｓ７０２において、メモリ上にディスプレイリストをロードし、Ｓ７０３において、ディスプレイリストからエッジ情報を抽出しメモリ上にロードする。Ｓ７０４において、メモリ上にロードして読み込んだエッジ情報に対応するエッジがクリップエッジであるか否かを判断する。Ｓ７０４がＮＯだった場合、Ｓ７０５においてロードされたエッジはオブジェクトのエッジであると判断され、Ｓ７１８の処理へ移り処理が終了する。
【００６２】
Ｓ７０４がＹＥＳだった場合、Ｓ７０６において、読み込んだエッジ情報に対応するエッジが１本目のクリップエッジであるか否かを判断する。ＹＥＳだった場合、Ｓ７０７において、未決定エッジとして仮クリップフラグを付加しＳ７１８へ処理を移す。Ｓ７０６がＮＯだった場合、Ｓ７０８において、読み込んだエッジのスタートのＸ座標が、メモリに保持されているクリップエッジのスタートのＸ座標と同じであるか否かを判断し、ＮＯだった場合はＳ７１２へ処理を移す。
【００６３】
Ｓ７０８がＹＥＳだった場合、Ｓ７０９において、読み込んだエッジの傾きが、メモリに保持されているクリップエッジと同じ傾きであるか否かを判断し、ＮＯだった場合はＳ７１０へ処理を移す。Ｓ７０９がＹＥＳだった場合、Ｓ７１０において、読み込んだエッジの長さが、メモリに保持されているクリップエッジの長さと同じであるか否かを判断し、ＮＯだった場合Ｓ７１２に処理を移す。Ｓ７１０がＹＥＳだった場合、Ｓ７１１において、読み込んだエッジの向きが、メモリに保持されているクリップエッジの向きと同じであるか否かを判断し、ＮＯだった場合Ｓ７１２へ処理を移す。
【００６４】
Ｓ７１１がＹＥＳだった場合、Ｓ７１５において未決定エッジがあるか否かを判断し、ＮＯだった場合Ｓ７１７へ処理を移し、Ｓ７１５がＹＥＳだった場合、Ｓ７１６においてメモリに保持されている未決定エッジをページクリップエッジと決定する。そして、Ｓ７１７において、読み込んだクリップエッジをページクリップエッジと判定しＳ７１８で終了する。また、Ｓ７１２において、未決定エッジがあるか否かを判断し、ＮＯだった場合Ｓ７１４へ処理を移し、Ｓ７１２がＹＥＳだった場合、Ｓ７１３において未決定エッジを通常クリップエッジと決定する。Ｓ７１４において、読み込んだエッジを通常クリップエッジと判定しＳ７１８で終了する。このようにしてデータ描画部４０３は、ページ左右のページクリップを検出する。
【００６５】
＜ページクリップエッジが現れたラインの処理＞
ここで図８を用いてＳ６０７〜Ｓ６１１のページクリップエッジが初めてロードされたスキャンラインの処理について説明する。なお、このスキャンラインは第３スキャンラインに相当する。
【００６６】
Ｄ８０１は、ページクリップエッジが初めてロードされるスキャンラインを示している。図８は、左右それぞれ３本のページクリップが存在する例を示しており、実際は同じＸ，Ｙ座標からエッジがスタートしているが、図の上では３本あることが分かりやすいようにずらして記載している。Ｄ８０２に示すページ左側のエッジがアップエッジ、Ｄ８０３に示すページ右側のエッジがダウンエッジである。
【００６７】
まず、印刷処理開始時にＤ８０６に示すようにレベル情報がメモリ上にロードされる。ページクリップエッジがロードされる第３スキャンラインにおいて、Ｄ８０５に示すようにメモリ上にエッジ情報がロードされる。メモリは、ロードされたエッジ情報を保持する。
【００６８】
次に、エッジ処理が行われ、レベル処理部にクリップエッジ情報（ページクリップエッジというフラグ、エッジＩＤ、エッジの向き等）が送信される。レベル処理部では、エッジＩＤをレベルＩＤに変換し、クリップがかかるレベルが特定され、エッジの向きに応じてクリップカウントが更新される。Ｄ８０４は、３本のページクリップエッジと、そのクリップがかかるオブジェクト、オブジェクトが保持しているクリップカウント（ＣＣ）の初期値を示す。また、図８は、ページクリップエッジ（ＰＣ）左側時点でのクリップカウント、左右のページクリップに挟まれている間のクリップカウント、ページクリップエッジ右側時点でのクリップカウントを示した図となる。このクリップカウントはＤ８０６のレベル情報に関するメモリ上で保持、更新される。図８においては、円形のページクリップエッジが有効になるだけではなく、円形のページクリップエッジと異なる別のページクリップエッジも有効になる。別のページクリップエッジとは、例えば、三角形のページクリップエッジである。
【００６９】
従来の処理は、第３スキャンラインのみならず、全てのスキャンラインにおいて上記の処理を繰り返し行われていた。本実施例では、Ｄ８０７に示すようにページクリップエッジにかかる全てのオブジェクトのクリップカウンタへのポインタをキャッシュとしてキャッシュを生成し保持する。なお、上述の円形のページクリップエッジと、三角形のページクリップエッジである別のページクリップエッジが有効とされた後に、円形と三角形は描画される。
【００７０】
＜ページクリップエッジが現われた次のラインの処理＞
ここで図９を用いてＳ６１５〜Ｓ６１８のページクリップエッジがロードされた次のスキャンラインの処理について説明する。なお、このスキャンラインは、第２スキャンラインに相当する。
【００７１】
Ｄ９０１は、ページクリップエッジがロードされた次のスキャンラインを示している。Ｄ９０２は、第３スキャンラインにおいて保持されたページクリップエッジのエッジ情報が保持されているメモリ領域をさす。Ｄ９０２のページクリップエッジ（二点鎖線エッジ）の処理が行われ、ページクリップエッジであるというフラグが送られた際、レベル処理部はＤ９０４にアクセスし、Ｄ９０３にロードされている各オブジェクトのクリップカウントをエッジの向きに応じて更新する。
【００７２】
Ｄ９０２の別のページクリップエッジ（点線エッジ）に対応するクリップカウントは、１つ目のページクリップエッジにおいてクリップカウントを更新した際に有効にされている。データ描画部４０３は、上述のページクリップエッジ（二点鎖線エッジ）のエッジ情報を残し、２つ目のエッジ（点線エッジ）をＤ９０２のメモリ上から削除する。なお、上述の通り、３つ目のエッジ（左側実線エッジ）のエッジ情報はメモリから削除される。なお、ページクリップエッジと別のページクリップエッジのクリップカウントが有効になった後に、円形オブジェクトと三角形オブジェクトが描画される。
【００７３】
＜ページクリップエッジが現われた２ライン以降の処理＞
ここで図１０を用いてページクリップエッジがロードされた２ライン以降のスキャンラインの処理について説明する。なお、このスキャンラインは、第１スキャンラインに相当する。
【００７４】
Ｄ１００１は、ページクリップエッジがロードされた第３スキャンラインから２スキャンライン後のスキャンラインを示している。Ｄ１００２は、左／右点線エッジ情報と左／右実線エッジ情報がメモリから削除されたので、左／右二点鎖線エッジ情報のみが残っている。データ描画部４０３は、点線エッジのページクリップエッジ情報は読み込み、実線エッジのページクリップエッジのエッジ情報は読み込まず、点線エッジのクリップカウントを有効にし、実線エッジのクリップカウントを有効にしている。両方のクリップカウントを有効にした後に、円形オブジェクトと三角形オブジェクトが描画される。
【００７５】
なお、図８、図９、図１０で示したページを含む印刷データは、レベルが異なるオブジェクトが複数定義された印刷データである。よって、それらの複数のオブジェクトを１つのオブジェクトとみなす処理を施すことができない。
【００７６】
〔変化形〕
＜グループクリップエッジ処理＞
ここで図１１を用いてグループクリップエッジについて説明する。オブジェクトセントリックな描画方法には、ある複数の描画オブジェクトをひとまとめにするグループという考え方がある。図１１に示すように、円形オブジェクト、三角形オブジェクト、四角形オブジェクトの３つが一つのグループとして扱われている。その際、各オブジェクトにクリップが設定されていない場合、デフォルト値としてそれらのオブジェクトを包含するグループクリップが設定される。図では三つのグループクリップエッジがずれているように記載されているが実際には同じ軌跡のクリップエッジである。
【００７７】
この場合、ページクリップと同様に１つのグループクリップエッジと各オブジェクトのクリップカウントへのポインタを残すことにより、他のグループクリップエッジは除去することが出来る。即ち、オブジェクトに対してクリップを設定しなかった場合、デフォルト値としてページに対してクリップが設定されない場合であっても、本実施例を適用することが可能である。
【００７８】
ここで図１２の（ａ）〜（ｄ）を元に、ページクリップエッジ処理に関する説明を行う。
【００７９】
図１２（ａ）は、クリップにかかるオブジェクトのクリップカウントの更新について説明したもので、Ｓ１２０１で処理を開始し、Ｓ１２０２において図６で説明した処理を行う。Ｓ１２０３において、クリップにかかるオブジェクトが既にロードされているか否かを判断する。Ｓ１２０３でＹＥＳだった場合、通常通りクリップカウントを更新し、Ｓ１２０５で処理を終了するが、Ｓ１２０３でＮＯだった場合、描画対象外なのでクリップカウントの更新を行わずにＳ１２０５で処理を終了する。即ち、ロードしたページクリップエッジに対応したオブジェクトがメモリにロードされるまで図６の処理を行わない。これにより、描画装置における描画処理の高速化を図ることが可能になる。
【００８０】
図１２（ｂ）は、ページクリップが表れるラインが分かっている場合の処理について示した図である。Ｓ１２０６で処理を開始し、Ｓ１２０７において、処理中のラインはページクリップが表れることが想定されているラインか否かを判断する。Ｓ１２０７でＹＥＳだった場合、Ｓ１２０８において図７のページクリップ開始であるか否かの判断を行う。Ｓ１２０８でＹＥＳだった場合、Ｓ１２０９において対象エッジはページクリップとして処理する。Ｓ１２０７やＳ１２０８でＮＯだった場合、Ｓ１２１０において対象エッジは通常レベルとして処理する。
【００８１】
図１２（ｃ）は、処理するＰＤＬのタイプに応じた処理を説明したもので、Ｓ１２１２で処理を開始する。Ｓ１２１３において、処理を行うＰＤＬの種別を判断し、ＰＤＬがＰＳまたはＰＤＦだった場合、Ｓ１２１４においてｅｖｅｎ  ｏｄｄの塗りルールでページクリップ処理を行いＳ１２１６へ処理が移る。その他のＰＤＬの場合、ｎｏｎ  ｚｅｒｏ  ｗｉｎｄｄｉｎｇルールにてページクリップ処理を行い、Ｓ１２１６へ処理が移る。
【００８２】
図１２（ｄ）は、グループクリップ処理においてエッジの長さによってグループクリップ処理を行うか否かを決める処理を説明したもので、Ｓ１２１７で処理を開始する。Ｓ１２１８において、読み込まれたエッジがグループクリップか否かを判断し、ＹＥＳだった場合、Ｓ１２１９において、そのエッジの副走査方向の長さが規定値以上か否かを判断する。Ｓ１２１９においてＹＥＳだった場合、Ｓ１２２０において読み込まれたエッジをグループクリップエッジとして処理しＳ１２２２の処理へ移る。Ｓ１２１８やＳ１２１９がＮＯだった場合、Ｓ１２２１において通常クリップとして処理しＳ１２２２の処理へ移る。
【００８３】
その他の実施系として、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、ＰＣ、複写機、複合機及びファクシミリ装置の如くである。
【００８４】
本発明は、上述した実施形態の各機能を実現するソフトウェアプログラムを、システム、若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【００８５】
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００８６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８７】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット／イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００８８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネット／イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【００８９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【００９０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【符号の説明】
【００９１】
２００  コントロールユニット
２０１  スキャナ
２０２  プリンタエンジン
２１０  操作部
３０１  ジョブコントロール処理
４００  プロトコル制御部
４０１  ベクタデータ生成部
４０２  ＰＤＬデータ解析部
４０３  データ描画部
４０４  ページメモリ
４０５  パネル入出力制御部
４０６  ドキュメント記憶部
４０７  スキャン制御部
４０８  出力制御部
４０９  プリンタエンジン部
【図１】
2011227565.tif 000003
【図２】
2011227565.tif 000004
【図３】
2011227565.tif 000005
【図４】
2011227565.tif 000006
【図５】
2011227565.tif 000007
【図６】
2011227565.tif 000008
【図７】
2011227565.tif 000009
【図８】
2011227565.tif 000010
【図９】
2011227565.tif 000011
【図１０】
2011227565.tif 000012
【図１１】
2011227565.tif 000013
【図１２】
2011227565.tif 000014