(57)【要約】【課題】  描画不正の生じない描画処理を効率よく行う画像形成装置およびその制御方法を提供すること。【解決手段】  メモリ残量等に応じて、プリントデータに基づいて生成されるパス図形を分割し（ステップＳ７０５）、分割したパス図形同士を接続する際の接続部におけるアウトラインの重なり領域で、プリントデータにおいて指定されている論理描画種に起因する描画不正が発生するか否かを判定する（ステップＳ７０７）。そして、描画不正が発生すると判断されたときは、その論理描画種を描画不正が発生しない別の論理描画種に変更する（ステップＳ７０８）。【選択図】  図７
2005059550.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語で記述されたプリントデータに基づいて画像を形成する画像形成装置であって、
前記プリントデータにおける描画命令に基づいて生成されるパス図形を分割する分割手段と、
分割したパス図形同士を接続する際の接続部におけるアウトラインの重なり領域で、前記プリントデータにおいて指定されている論理描画種に起因する描画不正が発生するか否かを判定する判定手段と、
前記判定手段により描画不正が発生すると判断されたときに、前記論理描画種を変更する変更手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記分割手段は、前記アウトラインのデータを記憶するメモリ手段のメモリ残量に応じて、前記パス図形を分割することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記分割手段は、前記アウトラインのデータを記憶するメモリ手段のメモリ残量とそのアウトラインのデータ量とに応じて、前記パス図形を分割することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
ページ記述言語で記述されたプリントデータに基づいて画像を形成する画像形成装置の制御方法であって、
前記プリントデータにおける描画命令に基づいて生成されるパス図形を分割する分割ステップと、
分割したパス図形同士を接続する際の接続部におけるアウトラインの重なり領域で、前記プリントデータにおいて指定されている論理描画種に起因する描画不正が発生するか否かを判定する判定ステップと、
前記判定ステップにより描画不正が発生すると判断されたときに、前記論理描画種を変更する変更ステップと、
を有することを特徴とする画像形成装置の制御方法。
【請求項５】
ページ記述言語で記述されたプリントデータに基づいて画像を形成する画像形成装置を制御するためのコンピュータプログラムであって、
前記プリントデータにおける描画命令に基づいて生成されるパス図形を分割する分割ステップ、
分割したパス図形同士を接続する際の接続部におけるアウトラインの重なり領域で、前記プリントデータにおいて指定されている論理描画種に起因する描画不正が発生するか否かを判定する判定ステップ、
前記判定ステップにより描画不正が発生すると判断されたときに、前記論理描画種を変更する変更ステップ、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置およびその制御方法に関し、特に、描画不正を回避するための技術に関する。
【背景技術】
【０００２】
画像形成装置においては、作業メモリの不足による描画不正を回避するために、パス（経路）図形の外形（アウトライン）データを生成する際にメモリオーバーが発生すると予測される場合、パス図形を分割し、分割後のそれぞれの図形についてアウトラインを生成する技術が知られている（例えば、特許文献１を参照。）。その後、分割したそれぞれの図形を接続することになるが、このとき、接続部における重なり部分を抽出した後にそのような重なりが発生しないようにアウトラインデータを再生成していた。
【０００３】
【特許文献１】特開平８−１２３３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記した従来手法によれば、重なり部分を抽出するための計算コストがかかりライン描画に時間がかかるという問題がある。かといって、アウトライン生成時間を短縮するために重なり部分を抽出することなくアウトラインデータ生成を行った場合、ページ記述言語（ＰＤＬ）により指定されている論理描画の種類によっては描画不正が発生してしまうという問題点があった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、描画不正の生じない描画処理を効率よく行う画像形成装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記した目的を達成するために、例えば本発明の画像形成装置は以下の構成を備える。すなわち、ページ記述言語で記述されたプリントデータに基づいて画像を形成する画像形成装置であって、前記プリントデータにおける描画命令に基づいて生成されるパス図形を分割する分割手段と、分割したパス図形同士を接続する際の接続部におけるアウトラインの重なり領域で、前記プリントデータにおいて指定されている論理描画種に起因する描画不正が発生するか否かを判定する判定手段と、前記判定手段により描画不正が発生すると判断されたときに、前記論理描画種を変更する変更手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、描画不正の生じない描画処理を効率よく行う画像形成装置およびその制御方法を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【０００９】
本発明の実施の形態を適用可能な画像形成装置の一例としてレーザビームプリンタの構成例を説明する。なお、本実施形態は、レーザビームプリンタのみならず、例えばインクジェットプリンタ、ＭＦＰ（Multi Function Printer）等、他の方式の画像形成装置にも適用可能である。
【００１０】
図１は、実施形態における画像形成装置の構成を示すブロック図である。
【００１１】
図１において、１０２がレーザビームプリンタ（以下、単に「プリンタ」という。）である。１０１はデータ処理装置で、例えばコンピュータであり、プリントデータの供給源、あるいはプリンタ１０２の制御装置として機能する。
【００１２】
プリンタ１０２は、図示の如く、プリンタコントローラ１０３、パネル部１０４、プリンタエンジン１０５で構成される。
【００１３】
プリンタコントローラ１０３は、データ処理装置１０１から供給されるページ記述言語（以下、「ＰＤＬ」という。）で記述されたプリントデータに基づいて、ページ毎にビットマップデータを生成し、そのビットマップデータをプリンタエンジン１０５に送出する。
【００１４】
プリンタエンジン１０５は、プリンタコントローラ１０３から供給されるビットマップデータに基づいて、感光ドラム上に潜像を形成し、いわゆる電子写真方式に従いその潜像を記録媒体上に転写・定着することにより画像を記録する。
【００１５】
パネル部１０４は、ユーザインタフェースとして使用される。ユーザは、パネル部１０４を操作することにより、所望の動作を指示することができる。また、パネル部１０４には、プリンタ１０２の処理内容や、ユーザへの警告内容が表示される。
【００１６】
図２は、プリンタ１０２の構成を示す図である。
【００１７】
同図において、２０１はプリンタ筐体で、２０２はユーザが各種指示を与えるためのスイッチ、メッセージやプリンタの設定内容等を表示するＬＥＤ表示器やＬＣＤ表示器等が配された操作パネルであり、図１に示すパネル部１０４に相当する。２０３はボード収容部であり、プリンタコントローラ１０３およびプリンタエンジン１０５の電子回路部分を構成するボードを収容する。
【００１８】
２２０は用紙（記録媒体）Ｓを保持する用紙カセットであり、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。２２１はカセットクラッチであり、用紙カセット２２０上に載置された用紙Ｓの最上位の一枚を取り出して、取り出した用紙Ｓを不図示の駆動手段から伝達される駆動力によって給紙ローラ２２２まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、１回転に対応して１枚の用紙Ｓを給紙する。２２３は用紙検知センサで、それぞれ用紙カセット２２０に保持されている用紙Ｓの量を検知する。
【００１９】
給紙ローラ２２２は用紙Ｓの先端部をレジストシャッタ２２４まで搬送するローラである。２２４はレジストシャッタであり、用紙Ｓを押圧することにより給紙を停止することができる。２３０は手差しトレイ、２３１は手差し給紙クラッチである。手差し給紙クラッチ２３１は用紙Ｓの先端を手差し給紙ローラ２３２まで搬送するために使用され、手差し給紙ローラ２３２は用紙Ｓの先端をレジストシャッタ２２４まで搬送するために使用される。画像記録に供する用紙Ｓは、用紙カセット２２０および手差しトレイ２３０のいずれかの給紙手段を選択して給紙される。
【００２０】
プリンタエンジン１０５は、プリンタコントローラ１０３と所定の通信プロトコルにしたがって通信を行い、プリンタコントローラ１０３からの指示にしたがって用紙カセット２２０手差しトレイ２３０の中からいずれかの給紙手段を選択し、印刷の開始指示に応じて該当する給紙手段よりレジストシャッタ２２４まで用紙Ｓを搬送する。プリンタエンジン１０５は、上記したとおり、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段およびそれらの制御手段を含む。
【００２１】
２０４ａ、２０４ｂ、２０４ｃ、２０４ｄはそれぞれ、感光ドラム２０５ａ、２０５ｂ、２０５ｃ、２０５ｄやトナー保持部等を有する画像記録部であり、電子写真プロセスにより、用紙Ｓ上にトナー像を形成する。一方、２０６ａ、２０６ｂ、２０６ｃ、２０６ｄはレーザスキャナ部であり、対応する画像記録部にレーザビームによる画像情報を供給する。
【００２２】
画像記録部２０４ａ、２０４ｂ、２０４ｃ、２０４ｄには、用紙Ｓを搬送する用紙搬送ベルト２５０が複数の回転ローラ２５１〜２５４によって用紙搬送方向（図の下から上方向）に扁平に張設され、その最上流部においては、バイアスを印加した吸着ローラ２２５によって、用紙を用紙搬送ベルト２５０に静電吸着させる。またこのベルト搬送面に対向して４個の感光ドラム２０５ａ、２０５ｂ、２０５ｃ、２０５ｄが直線状に配設されており、画像形成手段を構成している。画像記録部２０４ａ、２０４ｂ、２０４ｃ、２０４ｄのそれぞれには、感光ドラムの周辺近傍を順次取り囲んで、帯電器、現像器が配置されている。
【００２３】
２０７ａ、２０７ｂ、２０７ｃ、２０７ｄはそれぞれ、レーザスキャナ部２０６ａ、２０６ｂ、２０６ｃ、２０６ｄにおけるレーザユニットであり、プリンタコントローラ１０３から送出される画像信号（／ＶＩＤＥＯ信号）に応じて、内蔵の半導体レーザを駆動し、レーザビームを発射する。レーザユニット２０７ａ、２０７ｂ、２０７ｃ、２０７ｄから発せられたレーザビームはそれぞれ、ポリゴンミラー（回転多面鏡）２０８ａ、２０８ｂ、２０８ｃ、２０８ｄにより走査され、感光ドラム２０５ａ、２０５ｂ、２０５ｃ、２０５ｄ上に潜像を形成する。
【００２４】
２６０は定着器で、画像記録部２０４ａ、２０４ｂ、２０４ｃ、２０４ｄにより用紙Ｓに形成されたトナー画像を記録紙Ｓに熱定着させる。２６１は搬送ローラで、用紙Ｓを排紙搬送する。２６２は排紙センサで、用紙Ｓの排紙状態を検知する。２６３は排紙ローラ兼両面印刷用搬送路切替えローラで、用紙Ｓを排紙方向へ搬送し、用紙Ｓの搬送指示が排紙の場合はそのまま排紙トレイ２６４に排紙し、搬送指示が両面搬送の場合は、用紙Ｓの後端が排紙センサ２６２を通過した直後に回転方向を逆向きに変え、スイッチバックすることにより用紙Ｓを両面印刷用搬送路２７０へ搬送する。２６５は排紙積載量検知センサで、排紙トレイ２６４上に積載された用紙Ｓの積載量を検知する。
【００２５】
２７０は両面印刷用搬送路であり、排紙ローラ兼両面印刷用搬送路切替えローラ２６３により両面印刷用に搬送された用紙Ｓは、両面搬送ローラ２７１〜２７４によって再びレジストシャッタ２２４まで搬送されて画像記録部２０４ａ、２０４ｂ、２０４ｃ、２０４ｄへの搬送指示を待つ。
【００２６】
なお、プリンタ１０２には、さらにオプションカセットや封筒フィーダ等のオプションユニットを装備することができる。
【００２７】
次に、プリンタコントローラ１０３の構成について図３を参照しながら説明する。
【００２８】
プリンタコントローラ１０３は、データ処理装置１０１から送出されたプリントデータや装置の動作を指示する設定を入力する入力バッファ（図示せず）と、データ処理装置１０１へ送出する信号や機器情報データを含む出力データを一時的に保持する出力バッファ（図示せず）とが設けられているホストインタフェース（Ｉ／Ｆ）部３０２を有し、ホストＩ／Ｆ部３０２はデータ処理装置１０１との間でやりとりされる信号や通信パケットの入出力部を構成するとともに、データ処理装置１０１との間の通信制御を行う。
【００２９】
ホストＩ／Ｆ部３０２を介して入力されるＰＤＬで記述されたプリントデータは、画像データ発生部３０３に与えられる。画像データ発生部３０３は、入力されたプリントデータを解析（例えばＰＤＬ解析処理）し、その解析結果から中間言語である描画オブジェクトを生成し、更にプリンタエンジン１０５が処理可能なビットマップデータを生成する。具体的には、プリントデータの解析とその解析によるオブジェクト情報の作成を行うとともに、そのオブジェクト情報の作成と並行してラスタライズ処理を行う。このラスタライズ処理では、プリントデータに含まれる表示色ＲＧＢ（加法混色）からプリンタエンジンが処理可能なＹＭＣＫ（減法混色）への変換、プリントデータに含まれる文字コードから予め格納されているビットパターン、アウトラインフォントなどのフォントデータへの変換などを行い、ページ単位あるいはバンド単位でビットマップデータを作成し、このビットマップデータに対しディザパターンを用いる疑似階調処理を施し、プリンタエンジンにおいて印刷処理が可能なビットマップデータを生成する。
【００３０】
この作成されたビットマップデータは、画像メモリ３０５に格納される。画像メモリ３０５に格納されているビットマップデータの読み出しはＤＭＡ制御部３０８で制御され、このＤＭＡ制御部３０８による画像メモリ３０５からのビットマップデータの読み出しに対する制御はＣＰＵ３０９からの指示に基づき行われる。
【００３１】
画像メモリ３０５から読み出されたビットマップデータは、エンジンＩ／Ｆ部３０６を介してビデオ信号としてエンジン１０５に転送される。エンジンＩ／Ｆ部３０６には、エンジン１０５へ転送するビデオ信号を一時的に保持する出力バッファ（図示せず）と、エンジン１０５から送出された信号を一時的に保持する入力バッファ（図示せず）とが設けられ、エンジンＩ／Ｆ部３０６は、エンジン１０５との間でやりとりされる信号の入出力部を構成するとともに、エンジン１０５との間の通信制御を行う。
【００３２】
パネル部１０４（図１を参照）から操作入力によって出されたモード設定に関する指示などは、パネルＩ／Ｆ部３０１を介して入力され、パネルＩ／Ｆ部３０１はパネル部１０４とＣＰＵ３０９との間のインタフェースを構成する（操作入力によって出されるモード設定などのプリンタに対する指示はデータ処理装置１０１と双方向の通信を行うホストＩ／Ｆ部３０２を介しても指示可能である。）。
【００３３】
ＣＰＵ３０９は、パネル部１０４もしくはデータ処理装置１０１から指示されたモードに応じて上述の各ブロックに対する制御を行い、この制御はＲＯＭ３０４に格納されている制御プログラムに基づき実行される。このＲＯＭ３０４に格納されている制御プログラムはシステムクロックによってタスクと称されるロードモジュール単位に時分割制御を行うためのＯＳ（オペレーティングシステム）と、このＯＳによって機能単位に実行制御される複数のロードモジュールとから構成される。このロードモジュールを含む制御プログラムは必要に応じてＥＥＰＲＯＭ（不揮発性メモリ）３１０に格納される。
【００３４】
ＣＰＵ３０９による演算処理の作業領域としては、ＲＡＭ３０７が使用される。上述のＣＰＵ３０９を含む各ブロックはシステムバス３２０に接続されている。システムバス３２０は、アドレスバスとシステムバスとから構成される。
【００３５】
図４は、プリンタコントローラ１０３における入力データの処理経路を機能ブロック別に示す図である。
【００３６】
データ処理装置１０１からホストＩ／Ｆ部３０２を介して入力されたプリントデータは画像データ発生部３０３に入力される。この画像データ発生部３０３に入力されたプリントデータは、ＰＤＬ解析部（３０３ａ）によりコマンド解析され、次に描画オブジェクト生成部（３０３ｂ）において描画オブジェクト（中間言語）として生成されＲＡＭ３０７上の作業メモリに一時的に記録される。
【００３７】
そしてＲＡＭ３０７上の作業メモリから描画メモリを随時読み出しラスタライズ処理を行い（３０３ｃ）、最終的に記録媒体に記録される画像データをビットマップイメージに展開し画像メモリ３０５に格納、エンジンＩ／Ｆ部３０６に対して出力を行い記録媒体への記録が行われる。
【００３８】
さて、先に説明したとおり、従来の画像形成装置においては、上記描画オブジェクトで構成されるパス図形を描画するにあたり、作業メモリの不足による描画不正を回避するために、パス（経路）図形の外形（アウトライン）データを生成する際にメモリオーバーが発生すると予測される場合、パス図形を分割し、分割後のそれぞれの図形についてアウトラインを生成する。
【００３９】
例えば、図８（ａ）に示すようなパス図形のアウトラインデータを生成する際に、メモリーオーバーが発生すると予測される場合、同図（ｂ）に示すようにパス図形Ａ１とＡ２に分割して、Ａ１、Ａ２それぞれについてアウトラインデータを生成する。
【００４０】
その後、分割したそれぞれの図形を接続することになるが、このとき、接続部におけるアウトラインの重なり部分を抽出した後に、同図（Ｃ）に従来例１として示すように、そのような重なりが発生しないようにアウトラインデータを再生成していた。しかし、このような手法によれば、重なり部分を抽出するための計算コストがかかりライン描画に時間がかかるという問題がある。同図（ｄ）は、従来例２として、アウトライン生成時間を短縮するために重なり部分を抽出することなく単にアウトラインデータ生成を行った場合を示している。この場合には、ページ記述言語（ＰＤＬ）により指定されている論理描画の種類によっては描画不正が発生してしまうという問題点があった。
【００４１】
本発明はこの点を改良したものであるが、実施形態におけるアウトライン生成処理を説明する前に、上記のような問題を抱える従来のアウトライン生成処理について詳しく説明しておく。
【００４２】
図５は、上記した従来例１によるアウトライン生成処理を示すフローチャートである。
【００４３】
まず、ホストＩ／Ｆを介して入力されＰＤＬ解析部により解析されたプリントデータがライン描画命令であった場合、ライン処理において参照される線幅、先端形状、線接続形状指定を参照し（ステップＳ５０１）、パス図形の点数（ドット数）を確認する（ステップＳ５０２）。また、図示はしないが、このとき、パス図形の各パスをカウントするための変数Ｎを１に初期化しておく。
【００４４】
次に、ステップＳ５０１で参照された各設定状況とステップＳ５０２で確認したパス図形のドット数からライン描画に必要なアウトラインデータのドット数を計算し、アウトラインデータのデータ量を概算する（ステップＳ５０３）。
【００４５】
次に、ＲＡＭのメモリ残量がステップＳ５０３で概算したデータ量以上あるかどうかでアウトライン生成中にメモリオーバーが発生するか否かを予測する（ステップＳ５０４）。メモリオーバーは発生しないと予測される場合はステップＳ５０６以降の処理を行いアウトラインデータを生成する。一方、メモリオーバーが発生すると予測される場合は、パス図形を分割する（ステップＳ５０５）。このときの分割数は例えばパス図形の点数の１／２や１／３など予め決定しておくことも可能である。パス図形分割後はステップＳ５０３に戻り、分割したパス図形のドット数とステップＳ５０２で参照された各設定値からパス図形のアウトラインデータのドット数を再度計算する。
【００４６】
このようにしてステップＳ５０４においてメモリオーバーが発生しなくなるまでパス図形を分割した後、Ｎ本目のパス図形のアウトラインを生成し（ステップＳ５０６）、その後、パス図形のアウトライン生成処理がすべて終了したか否かを判断する（ステップＳ５０７）。パス図形のアウトライン生成処理がすべて終了したと判断された場合はこのアウトライン生成処理を終了する。一方、パス図形のアウトライン生成処理がすべて終了していない場合、Ｎ＋１本目のパス図形からアウトラインデータを生成し（ステップＳ５０８）、さらに、Ｎ本目のアウトラインデータとＮ＋１本目のアウトラインデータの線接続形状指定に基づき線接続部のアウトラインデータを生成する（ステップＳ５０９）。
【００４７】
さらに、Ｎ本目のアウトラインデータとＮ＋１本目のアウトラインデータから重なり部分のアウトラインデータを抽出し（ステップＳ５１０）、ステップＳ５０９で生成した線接続部のアウトラインデータとステップＳ５１０で抽出した重なり部分のアウトラインデータからＮ＋１本目のアウトラインデータを再生成する（ステップＳ５１１）。
【００４８】
Ｎ＋１本目のアウトラインデータ生成処理が終了した後、次のパスを参照するためにＮをインクリメントし（ステップＳ５１２）、分割したすべてのパス図形のアウトライン生成処理が終了したか否かを判断する（ステップＳ５１３）。ステップＳ５１３において分割したすべてのパス図形のアウトライン処理が終了していないと判断された場合はステップＳ５０８に戻り、分割したすべてのパス図形の処理が終了するまでステップＳ５０８〜Ｓ５１３の処理を繰り返す。一方、ステップＳ５１３において分割したすべてのパス図形のアウトライン生成処理が終了した場合にはこのアウトライン生成処理を終了する。
【００４９】
上記した従来例１では、分割したパス図形のアウトライン生成時にＮ本目とＮ＋１本目のアウトラインデータの重なり部分を抽出し（ステップＳ５１０）、さらに重なり部分のアウトラインデータと線接続部のアウトラインデータを考慮してＮ＋１本目のアウトラインデータを再生成する（ステップＳ５１１）。これらの処理ステップのために処理効率が低下する。
【００５０】
図６は、上記した従来例２によるアウトライン生成処理を示すフローチャートである。従来例２は、上記したとおり、分割した図形の接続部におけるアウトラインデータの重なり部分を抽出せずにアウトライン生成処理を行うものである。
【００５１】
従来例２の処理内容は上述の従来例１とほぼ同様であり、図６に示したフローチャートにおいて、図５のフローチャートにおける処理ステップと同様の処理ステップには共通の参照番号を付してある。相違する点は、従来例２では、ステップＳ５１０およびステップＳ５１１に対応する処理が省略されている点である。つまり、従来例２では、分割したパス図形のアウトライン生成時にＮ本目とＮ＋１本目のアウトラインデータの重なり部分を考慮してＮ＋１本目のアウトラインデータを再生成する（ステップＳ５１１）処理が行われない。そのため、従来例２は従来例１に比べ処理効率を上げることができる。しかし、この場合には、論理描画命令の種類によっては描画不正が発生することもあった。
【００５２】
本発明はこのような従来例の問題を解決するものであり、実施形態によれば、接続部におけるアウトラインの重なり領域で、指定された論理描画種に起因する描画不正が発生するか否かを判定し、そのような描画不正の発生が予測される場合には論理描画種が変更される。かかる処理によって、接続部における重なり部分を考慮したアウトラインデータを再生成する必要をなくし、描画不正を生じることのない効率的な描画処理が実現される。
【００５３】
図７は、実施形態におけるアウトライン生成処理を示すフローチャートである。このフローチャートに対応するプログラムはＲＯＭ３０４に制御プログラムとして格納され、ＲＡＭ３０７にロードされてＣＰＵ３０９によって実行されるものである。
【００５４】
まず、ホストＩ／Ｆ３０２を介して入力されＰＤＬ解析部３０３ａにより解析されたプリントデータがライン描画命令であった場合、生成されるパス図形のライン処理において参照される線幅、先端形状、線接続形状指定を参照し（ステップＳ７０１）、そのパス図形の点数（ドット数）を確認する（ステップＳ７０２）。また、図示はしないが、このとき、パス図形の各パスをカウントするための変数Ｎを１に初期化しておく。
【００５５】
次に、ステップＳ７０１で参照された各設定状況とステップＳ７０２で確認したパス図形のドット数からライン描画に必要なアウトラインデータのドット数を計算し、アウトラインデータのデータ量を概算する（ステップＳ７０３）。
【００５６】
次に、アウトライン生成中にメモリオーバーが発生するか否かを予測する（ステップＳ７０４）。この予測は例えば、ＲＡＭ３０７のメモリ残量がステップＳ７０３で概算したデータ量以上あるかどうかで予測することができる。なお、本発明はこの予測手法に限定されるものではなく、例えば、ＲＡＭ３０７のメモリ残量が一定値を下回っているかどうかで予測してもよい。メモリオーバーは発生しないと予測される場合はステップＳ７０９以降の処理を行いアウトラインデータを生成する。
【００５７】
一方、ステップＳ７０４でメモリオーバーが発生すると予測される場合は、パス図形を分割する（ステップＳ７０５）。このときの分割数は例えばパス図形の点数の１／２や１／３など予め決定しておくことも可能である。例えば、図９（ａ）に示すようなパス図形を、同図（ｂ）に示すようにパス図形Ａ１とＡ２に分割する。
【００５８】
さらに、ＰＤＬにより指定されている論理描画種（論理描画指定（ＲＯＰ指定））を参照し（ステップＳ７０６）、その論理描画種に起因して接続部におけるアウトラインの重なり領域で描画不正が発生することになるか否かを判断する（ステップＳ７０７）。ここで、描画不正は発生しないと判断された場合はそのままステップＳ７０３に戻り、他方、描画不正が発生することになると判断された場合には、描画不正を発生させない別の論理描画種に変更し（ステップＳ７０８）、その後、ステップＳ７０３に戻る。
【００５９】
このようにしてステップＳ７０４においてメモリオーバーが発生しなくなるまでパス図形を分割した後、Ｎ本目のパス図形のアウトラインを生成し（ステップＳ７０９）、その後、パス図形のアウトライン生成処理がすべて終了したか否かを判断する（ステップＳ７１０）。パス図形のアウトライン生成処理がすべて終了したと判断された場合はこのアウトライン生成処理を終了する。一方、パス図形のアウトライン生成処理がすべて終了していない場合、Ｎ＋１本目のパス図形からアウトラインデータを生成し（ステップＳ７１１）、さらに、Ｎ本目のアウトラインデータとＮ＋１本目のアウトラインデータから線接続形状指定から線接続部のアウトラインデータを生成する（ステップＳ７１２）。
【００６０】
Ｎ＋１本目のアウトラインデータ生成処理が終了した後、次のパスを参照するためにＮをインクリメントし（ステップＳ７１３）、分割したすべてのパス図形のアウトライン生成処理が終了したか否かを判断する（ステップＳ７１４）。ステップＳ７１４において分割したすべてのパス図形のアウトライン処理が終了していないと判断された場合はステップＳ７１１に戻り、分割したすべてのパス図形の処理が終了するまでステップＳ７１１〜Ｓ７１４の処理を繰り返す。一方、ステップＳ７１４において分割したすべてのパス図形のアウトライン生成処理が終了した場合にはこのアウトライン生成処理を終了する。
【００６１】
このように、指定された論理描画種に起因して接続部におけるアウトラインの重なり部で描画不正が発生することになるか否かを判断し（ステップＳ７０７）、ここで、描画不正が発生することになると判断された場合には、描画不正を発生させない別の論理描画種に変更するようにしたので（ステップＳ７０８）、図９（ｃ）に示すように、描画不正が回避される。また、接続部における重なり部分を考慮したアウトラインデータを再生成する必要がないので、効率的な描画処理が実現される。
【００６２】
なお、上述の実施形態では、アウトラインデータを生成するよりも前に、アウトライン生成中にメモリオーバーが発生するか否かを予測し（ステップＳ７０４）、その予測結果に基づいてパス図形を分割するようにした（ステップＳ７０５）が、アウトラインデータ生成処理中に実際にメモリオーバーが発生した場合に、パス図形を分割処理するようにしてもよい。
【００６３】
また、メモリ（ＲＡＭ３０７）の残量が不足した場合、ＥＥＰＲＯＭ（不揮発性メモリ）３１０や別のハードディスク等の記憶装置にアウトラインデータを保持する機能を有する場合には、その記憶装置におけるメモリ残量が不足した場合にメモリオーバーと判断するようにしてもよい。
【００６４】
さらに、メモリオーバーが発生した場合にパス図形を分割するに際し、メモリオーバーが発生した旨を、操作部１０４や、プリントデータを送出したデータ処理装置１０１の画面に表示し、分割を実行するか否かをユーザに指示させるようにしてもよい。
【００６５】
（他の実施形態）
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用してもよい。
【００６６】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（図６〜８のいずれかに示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
【００６７】
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００７０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００７１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７４】
【図１】実施形態における画像形成装置の構成を示すブロック図である。
【図２】実施形態におけるプリンタの構成を示す図である。
【図３】実施形態におけるプリンタコントローラの構成を示す図である。
【図４】プリンタコントローラにおける入力データの処理経路を機能ブロック別に示した図である。
【図５】従来例１によるアウトライン生成処理を示すフローチャートである。
【図６】従来例２によるアウトライン生成処理を示すフローチャートである。
【図７】実施形態におけるアウトライン生成処理を示すフローチャートである。
【図８】従来のアウトライン生成処理を説明する図である。
【図９】実施形態におけるアウトライン生成処理を説明する図である。
【図１】
2005059550.tif 000003
【図２】
2005059550.tif 000004
【図３】
2005059550.tif 000005
【図４】
2005059550.tif 000006
【図５】
2005059550.tif 000007
【図６】
2005059550.tif 000008
【図７】
2005059550.tif 000009
【図８】
2005059550.tif 000010
【図９】
2005059550.tif 000011