(57)【特許請求の範囲】
【請求項１】
ホストコンピュータで生成した描画コマンドを含む印刷データに基づき印刷処理する画像処理装置において、
前記ホストコンピュータが生成した複数の描画コマンドをバッファリングするバッファリング手段と、
前記バッファリング手段にバッファリングされた複数の描画コマンドを解析し、該描画コマンドが座標パラメータを有する多角形描画命令である場合に、複数の描画コマンドとして入力される多角形描画命令の座標パラメータをまとめた一つの多角形描画命令に置き換える最適化手段と、
印刷データを生成するアプリケーションの種類によって前記最適化手段を使用するか否かを決定する決定手段と、
を具備することを特徴とする画像処理装置。
【請求項２】
アプリケーションが画像出力のために生成した描画コマンドを処理し印刷装置で印刷すべき印刷データを生成するホストコンピュータとしての画像処理装置において、
前記アプリケーションが生成した複数の描画コマンドをバッファリングするバッファリング手段と、
前記バッファリング手段にバッファリングされた複数の描画コマンドを解析し、当該複数の描画コマンドに含まれる画像データをそれぞれ描画する領域の画像データに置き換える最適化手段と、
を具備することを特徴とする画像処理装置。
【請求項３】
前記最適化手段は、前記描画コマンドが画像データがクリップされる領域を指定するクリッピング命令である場合に、複数のクリッピング命令がそれぞれ有する画像データをクリップ処理した後の画像データを含む描画コマンドに置き換えることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記最適化手段により最適化されたデータを印刷コマンドに変換して印刷データを生成する生成手段を更に備えることを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
印刷データを生成するアプリケーションの種類によって前記最適化手段を使用するか否かを決定する手段を有することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
ホストコンピュータ上のアプリケーションが画像出力のために生成した出力データを処理する画像処理装置において、
前記アプリケーションが生成した複数の描画データをバッファリングするバッファリング手段と、
前記バッファリング手段にバッファリングされた複数の描画データを一つにまとめる最適化手段と、
印刷データを生成するアプリケーションの種類によって前記最適化手段を使用するか否かを決定する手段と、
を具備することを特徴とする画像処理装置。
【請求項７】
ホストコンピュータで生成した描画コマンドを含む印刷データに基づき印刷処理する画像処理装置における画像処理方法であって、
前記ホストコンピュータが生成した複数の描画コマンドをバッファリングするバッファリング工程と、
前記バッファリング工程でバッファリングされた複数の描画コマンドを解析し、該描画コマンドが座標パラメータを有する多角形描画命令である場合に、複数の描画コマンドとして入力される多角形描画命令の座標パラメータをまとめた一つの多角形描画命令に置き換える最適化工程と、
印刷データを生成するアプリケーションの種類によって前記最適化工程を使用するか否かを決定する決定工程と、
を有することを特徴とする画像処理方法。
【請求項８】
アプリケーションが画像出力のために生成した描画コマンドを処理し印刷装置で印刷すべき印刷データを生成するホストコンピュータとしての画像処理装置における画像処理方法であって、
前記アプリケーションが生成した複数の描画コマンドをバッファリングし、
バッファリングされた複数の描画コマンドを解析し、当該複数の描画コマンドに含まれる画像データをそれぞれ描画する領域の画像データに置き換えることを特徴とする画像処理方法。
【請求項９】
前記描画コマンドが画像データがクリップされる領域を指定するクリッピング命令である場合に、複数のクリッピング命令がそれぞれ有する画像データをクリップ処理した後の画像データを含む描画コマンドに置き換えることを特徴とする請求項８記載の画像処理方法。
【請求項１０】
最適化されたデータを印刷コマンドに変換して印刷データを生成することを特徴とする請求項８または９に記載の画像処理方法。
【請求項１１】
印刷データを生成するアプリケーションの種類によって最適化処理を使用するか否かを決定することを特徴とする請求項８に記載の画像処理方法。
【請求項１２】
ホストコンピュータ上のアプリケーションが画像出力のために生成した複数の描画データをバッファリングし、
バッファリングされた複数の描画データを一つの描画データにより記述するか否かを前記アプリケーションの種類によって判断し、一つにまとめると判断された場合、バッファリングされた複数の描画データを１つの描画データに変換することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピュータのアプリケーション等により画像出力のために生成される出力データを処理する画像処理装置及び方法に関するものである。
【０００２】
【従来の技術】
通常、アプリケーションを使用して作成した書類を印刷する場合、アプリケーションの印刷手順通りにプリンタドライバが駆動され、プリンタドライバは駆動された手順で印刷データを印刷コマンドに変換し、印刷装置に転送し、印刷装置では、印刷コマンドを受信すると受信したコマンドを逐次解析・実行していた。
【０００３】
【発明が解決しようとしている課題】
しかしながら、アプリケーションの印刷手順にはアプリケーションそれぞれ癖があり、昨今の高機能化したアプリケーションでは同一の描画を何度も繰り返したり、大きなブロックの図形を細かく分割したり、結果的には小さな図形として描画される領域を印刷するのに膨大な数の図形を組み合わせたりするものがある。
【０００４】
このような印刷データは、転送データ量が増えるだけでなく、かかるデータを処理する装置にも大きな負荷がかかるために、印刷結果だけから見ると不自然なほど時間がかかってしまうという問題がある。
【０００５】
また、一般的に印刷装置にはコスト的な制約から必要最小限のメモリしか搭載されていないため、上記のような大量の描画データを処理しようとした場合には描画データの処理に必要なメモリが不足し、描画不可能になることがある。
【０００６】
本発明の目的は、上記問題点を解決し、使用するアプリケーションが冗長度の大きい描画データを生成する場合であっても、そのために出力までに長時間を要したり、描画不可能になったりすることを防止することができる画像処理装置及び方法を提供することである。
【０００７】
【課題を解決するための手段】
上記目的を達成するために本発明に係る画像処理装置は次のような構成からなる。
【０００８】
すなわち、ホストコンピュータで生成した描画コマンドを含む印刷データに基づき印刷処理する画像処理装置において、前記ホストコンピュータが生成した複数の描画コマンドをバッファリングするバッファリング手段と、前記バッファリング手段にバッファリングされた複数の描画コマンドを解析し、該描画コマンドが座標パラメータを有する多角形描画命令である場合に、複数の描画コマンドとして入力される多角形描画命令の座標パラメータをまとめた一つの多角形描画命令に置き換える最適化手段と、印刷データを生成するアプリケーションの種類によって前記最適化手段を使用するか否かを決定する決定手段と、を具備することを特徴とする。
また、アプリケーションが画像出力のために生成した描画コマンドを処理し印刷装置で印刷すべき印刷データを生成するホストコンピュータとしての画像処理装置において、前記アプリケーションが生成した複数の描画コマンドをバッファリングするバッファリング手段と、前記バッファリング手段にバッファリングされた複数の描画コマンドを解析し、当該複数の描画コマンドに含まれる画像データをそれぞれ描画する領域の画像データに置き換える最適化手段と、を具備することを特徴とする。
また、ホストコンピュータ上のアプリケーションが画像出力のために生成した出力データを処理する画像処理装置において、前記アプリケーションが生成した複数の描画データをバッファリングするバッファリング手段と、前記バッファリング手段にバッファリングされた複数の描画データを一つにまとめる最適化手段と、印刷データを生成するアプリケーションの種類によって前記最適化手段を使用するか否かを決定する手段と、を具備することを特徴とする。
【０００９】
【発明の実施の形態】
（実施例１）
本実施例の構成を説明する前に、本実施例を適用するに好適なレーザビームプリンタ（以下「ＬＢＰ」と記述）の構成について図１を参照しながら説明する。なお、本実施例を適用するプリンタは、レーザビームプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【００１０】
以下、図面を参照して本発明の実施例を詳細に説明する。
【００１１】
図１は、本実施例に適用されるレーザビームプリンタの内部構造を示す断面図で、このＬＢＰは不図示のデータ源から文字パターンの登録や定型書式（フォームデータ）などの登録が行える。同図において、１０００はＬＢＰ本体であり、外部に接続されているホストコンピュータから供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。１０１２は操作のためのスイッチおよびＬＥＤ表示器などが配されている操作パネル、１００１はＬＢＰ１０００全体の制御およびホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。この制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。レーザドライバ１００２は半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオンオフ切り替えする。レーザ１００４は回転多面鏡１００５で左右方向に振られ静電ドラム１００６上を走査する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム１００６周囲の現像ユニット１００７により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【００１２】
図２は、本実施例の印刷装置の構成を示すブロック図である。図２において２０００は印刷装置１０００に接続されたホストコンピュータであり、プリントデータ及び制御コードから成る印刷情報を印刷装置１０００に出力するものである。印刷装置１０００は、大きく分けてフォーマッタ制御部１１００、インターフェース１２００、出力制御部１３００、プリンタエンジン部１４００より構成されている。フォーマッタ制御部１１００は、受信バッファ１１０１、コマンド判別部１１０２、コマンド解析部１１０３、コマンド実行部１１０４、ページメモリ１１０５、データ形式判定部１１０６より構成されている。さらに、コマンド解析部１１０３はアプリケーションリスト１１０３ａおよび最適化ルーチン１１０３ｂを有している。受信バッファ１１０１は、ホストコンピュータ２０００から受信した印刷情報を一時的に保持する記憶手段である。コマンド判別部１１０２は、各印刷制御コマンドの判別を行なうものであり、印刷データは各コマンドに応じてコマンド解析部１１０３において解析される。コマンド解析部１１０３は各印刷制御コマンドの解析を行なうものである。コマンド判別部１１０２においてアプリケーション識別データであるアプリケーション名を受信した場合には、該アプリケーション名はアプリケーションリスト１１０３ａと順次比較される。アプリケーションリスト１１０３ａは、アプリケーション名と最適化対象コマンドおよび最適化ルーチンの対比を記述したテーブルである。受信したアプリケーション名がアプリケーションリスト１１０３ａ中に存在する場合には、最適化対象のコマンドを解析するルーチンは最適化ルーチン１１０３ｂ中の該当するコマンド解析ルーチンに切り替えられて解析される。コマンド解析部１１０３で解析されたコマンドは、印刷データの解析を行なった中間的な結果でありコマンド実行部１１０４においてより処理しやすい形式の中間コードの形に変換される。コマンド実行部１１０４では、この中間コードによって各コマンドを実行し、描画及び印字に関するコマンドはページメモリ１１０５に逐次展開されて行く。一方、データ形式判定部１１０６において単純ビットマップであると判定された場合は、イメージデータはそのままページメモリ１１０５に展開される。なお一般的には、フォーマッタ制御部１１００は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを用いたコンピュータシステムによって構成されている。出力制御部１３００は、ページメモリ１１０５の内容をビデオ信号に変換処理し、プリンタエンジン部１４００へ画像転送を行なう。プリンタエンジン部１４００は受け取ったビデオ信号を記録紙に永久可視画像形成するための印刷機構部である。
【００１３】
次に、このように構成された印刷装置において、本実施例における全体の印刷制御処理手順を図３、図４に示すフローチャートを参照しながら説明する。図３におけるＳ３０１〜Ｓ３０９、図４におけるＳ４０１〜Ｓ４０８は各処理ステップを示す。
【００１４】
図３は印刷装置１０００の動作の開始から終了までのメイン処理を示している。まずステップＳ３０１でホストコンピュータ２０００から送られてくる印刷データの受けとりを行ない、受信バッファ１１０１にストックする。次にステップＳ３０２で受信バッファにストックされた印刷データを読み出し、ステップＳ３０３でコマンド判別部１１０２において印刷制御コマンドがアプリケーション名の通知コマンドであるか否かを判別する。もしアプリケーション名通知コマンドであれば、ステップＳ３０４に進み、受信したアプリケーション名をアプリケーションリスト１１０３ａと順次比較する。そしてステップＳ３０５においてアプリケーションリスト中に一致するアプリケーション名が存在するか否かを判別し、存在するならばステップＳ３０６において対比するコマンド解析ルーチンを最適化ルーチンに切り替え、ステップＳ３０７の描画処理へと進む。一方、ステップＳ３０３で受信したコマンドがアプリケーション名通知コマンドでなかった場合、またはステップＳ３０５で受信したアプリケーション名がアプリケーションリスト中に存在しない場合には、直接ステップＳ３０７に進み、描画処理を行なった後、ステップＳ３０６で印刷終了命令を受けとったか否か、または印刷データが終了したか否かを判断し、印刷終了であれば印刷動作を終了する。印刷終了でなければステップＳ３０１からの処理を繰り返す。
【００１５】
図４は図３で用いた描画処理（Ｓ３０８）を示している。この処理は実際に印刷処理を行う処理である。まずステップＳ４０１において、コマンド解析部１１０３でデータが排紙命令かどうかをチェックし、排紙命令の場合はステップＳ４０６に進み処理を行う。また、ステップＳ４０１において排紙命令でない場合は、次に解析したコマンドが文字印字または図形描画などページメモリへの展開処理のコマンドかどうかを判別し（ステップＳ４０２、そうでない場合はステップＳ４０５に進み、そのコマンドをただちに実行する。また、ステップＳ４０２からステップＳ４０３に進んだ場合は、コマンド実行処理がしやすい形の中間コードを生成する。この中間コードを受けて、コマンド実行部１１０４では、ページメモリ１１０５への展開処理を行い（ステップＳ４０４）、展開処理終了後は図３のステップＳ３０２に戻り、データの解析処理を繰り返す。ステップＳ４０１において排紙命令と判断された場合は、出力制御部１３００においてページメモリ１１０５の内容をプリンタエンジン部１４００に対するビデオ信号に変換して画像転送出力する（ステップＳ４０６）。プリンタエンジン部１４００では、受け取ったビデオ信号を記録紙に永久可視画像形成し印刷を行う（ステップＳ４０７）。そしてステップＳ４０８で印刷された結果を排紙すると１ページ当たりの印刷制御処理は終了する。
【００１６】
以上、印刷装置全体の動きを説明したが、これらの処理はフォーマッタ制御部１１００のコンピュータシステムによって実現される。
【００１７】
（実施例２）
図５は印刷装置１０００の動作の本実施例における開始から終了までのメイン処理を示している。図５におけるＳ５０１〜Ｓ５０９は各処理ステップを示す。なお、図５中の描画処理については実施例１と同様であるので説明は省略する。
【００１８】
まずステップＳ５０１でホストコンピュータ２０００から送られてくる印刷データの受けとりを行ない、受信バッファ１１０１にストックする。次にステップＳ５０２で受信バッファにストックされたコマンド列を読み出し、ステップＳ５０３でコマンドの最適化判定がされているか否かを判定する。最適化判定が未だされていない場合はステップＳ５０４においてコマンド列の転送方法から特徴を抽出する。具体的には座標パラメータや領域の大きさの各コマンド間での相関関係などである。そしてステップＳ５０５で抽出した特徴を、実施例１のアプリケーションリストにあたるテーブルのリストと順次比較し、Ｓ５０６においてリスト中に一致する特徴があるか否かを判定する。ステップＳ５０６で一致する特徴がある場合にはステップＳ５０７に進む。ステップＳ５０７では、リストに対応するコマンド処理ルーチンを最適化ルーチンに切り替えた後、ステップＳ５０８の描画処理に進む。一方、ステップＳ５０３で既に最適化判定されている場合、またはステップＳ５０６で特徴の一致するリストが見つからない場合には、直接ステップＳ５０８に進み、描画処理を行なった後、ステップＳ５０９で印刷終了命令を受けとったか否か、または印刷データが終了したか否かを判断し、印刷終了であれば印刷動作を終了する。印刷終了でなければステップＳ５０１からの処理を繰り返す。
【００１９】
図６、図９は最適化ルーチン（Ｓ３０６、Ｓ５０６）による描画処理の最適化の一例を示す。
【００２０】
例えば、図６に示されるようにアプリケーションにより多角形（矩形）を少しずつ座標をずらしながら描画するようなコマンド列が生成され転送されてきた場合（ａ）、従来印刷装置側では、コマンドを順次解析・実行するため、各多角形が個別に描画される（ｂ）。結局（ｄ）に示される画像が得られる。本実施例ではアプリケーションの転送の特徴を予め認識し、上記最適化ルーチンを通して最終的に得られる画像（ｄ）に影響を与えることなく一つの矩形を描画するコマンドに置き換える（ｃ）。
【００２１】
また、図９に示されるように、クリップされる領域を変化させながら同じイメージデータを何度も同じ場所に描画するようなコマンド列が転送されてきた場合（ａ）、従来印刷装置側では、各コマンド列に忠実に従った描画がなされる（ｂ）。本実施例では、最終的に得られる画像（ｄ）に影響を与えることなく最適化ルーチンを通してクリップされる領域のイメージを描画するコマンドに変換される（ｃ）。同図において、描画命令によって画像データが送られてくる領域（図の破線の矩形部分）のうち、クリッピング命令によって特定される領域（図の実線の矩形部分）にのみ実際の描画が行われる。
【００２２】
上述した実施例１、２では、受信されたコマンドを最適化ルーチンにおいて変換した後に中間コードに変換したが、受信されたコマンドから最適化された中間コードを生成するようにしてもよいし、或いは、受信されたコマンドを中間コードに変換した後、中間コードを最適化するようにしてもよい。
【００２３】
（実施例３）
図７は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。ここでは、レーザビームプリンタ（図１）を例にして説明する。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等ネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００２４】
図７において、３０００はホストコンピュータで、ＲＯＭ３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて図形，イメージ，文字，表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムデバイス４に接続される各デバイスをＣＰＵ１が総括的に制御する。また、このＲＯＭ３のプログラム用ＲＯＭには、ＣＰＵ１の制御プログラム等を記憶し、ＲＯＭ３のフォント用ＲＯＭには上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭは上記文書処理等を行う際に使用する各種データを記憶する。２はＲＡＭで、ＣＰＵ１の主メモリ，ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はメモリコントローラ（ＭＣ）で、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インタフェース（インタフェース）２１を介してプリンタ１０００に接続されて、プリンタ１０００との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。プリンタ１０００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等或いは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１６を介して接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００２５】
また、このＲＯＭ１３のプログラムＲＯＭには、実施例１又は実施例２のフローチャートで示されるようなＣＰＵ１２の制御プログラム等を記憶しても良い。
【００２６】
ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４が無いプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード，言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。さらに、図示しないＮＶＲＡＭを有し、操作パネル１０１２からのプリンタモード設定情報を記憶するようにしても良い。
【００２７】
次に、このように構成された印刷システムにおいて、本実施例における全体の印刷制御処理手順を図８に示すフローチャートを参照しながら説明する。本実施例は実施例１および実施例２における描画処理の最適化をホストコンピュータ側で行なう例である。図８におけるＳ８０１〜Ｓ８０８は各処理ステップを示す。
【００２８】
図８はホストコンピュータ３０００の印刷開始から終了までのメイン処理を示す。まずステップＳ８０１でアプリケーションから描画データを受けとり、ステップＳ００２で描画データをまずバッファリングする。次にステップＳ８０３でデータが最適化を適用すべき種類のデータであるか否かを判断し、最適化すべき種類のデータである場合にはさらにステップＳ８０４において同じコマンド列の繰り返しが終了したか、または閾値までバッファリングが繰り返されたかを判定し、どちらも否である場合にはステップＳ８０１からの処理を繰り返す。ステップＳ８０４において同じコマンド列の繰り返しが終了したか、または閾値までバッファリングが繰り返されたならばステップＳ８０５において最適化処理を行なう。ここでの最適化処理は実施例２で説明したような処理である。その後、最適化されたデータをステップＳ８０６でプリンタコマンドに変換する。一方、ステップＳ８０３で最適化を適用すべきデータではないと判断された場合には、直接ステップＳ８０６に進み、データをプリンタコマンドに変換した後、ステップＳ８０７で印刷装置に転送する。その後、ステップＳ８０８に進み、アプリケーションからの描画データが終了したか否かを判断し、描画データが終了していれば処理を終了し、描画データが終了していなければステップＳ８０１に戻って処理を繰り返す。
【００２９】
（他の実施例）
実施例１では、印刷装置にアプリケーション名を転送していたが、処理を切り替えられる一種のトリガーであれば他の信号でも良い。
【００３０】
また、実施例１は複数のアプリケーションのデータ転送の特徴を予め情報として保持しておくためにテーブルを内蔵しているが、ターゲットとするアプリケーションが少数の場合にはテーブルを持たずに最適化すべきか否かを判断することも可能である。
【００３１】
同様に実施例２では、コマンド列の特徴をテーブルに持っているが、テーブルを用いずに最適化の可否を判断してもよい。
【００３２】
実施例３では、コマンド列が繰り返されている間は最適化をひとまとめにしているが、予めアプリケーション名が判っている場合にはアプリケーションの特徴によって、複数のコマンド列をバッファリングし、複数の最適化処理を行なってもよい。
【００３３】
以上説明したように、本実施例によれば、印刷データの特徴に応じて冗長な印刷データを最適化することにより、描画処理を効率化し、高速な印刷が可能となる。また、印刷装置が必要とするメモリを節約できるため、メモリ不足による描画不能を防止し、製品コストを押えることができる。
【発明の効果】
以上説明したように、本願の第１の発明によれば、バッファリングされた複数の描画コマンドを解析し、印刷データを生成するアプリケーションの種類によって、該描画コマンドが座標パラメータを有する多角形描画命令である場合に、複数の描画コマンドとして入力される多角形描画命令の座標パラメータをまとめた一つの多角形描画命令に置き換えるか否かを決定するので、効率の悪い描画出力を行うアプリケーションからの描画データに対して、複雑な多角形描画が連続して出力されるような場合であっても、描画処理を効率化し、高速な印刷が可能となる。
また、本願の第２の発明によれば、ホストコンピュータとしての画像処理装置でバッファリングされた複数の描画コマンドを解析し、当該複数の描画コマンドに含まれる画像データをそれぞれ描画する領域の画像データに置き換えるので、画像データが繰り返し無駄に送信されることがなくなり、また、印刷装置が必要とするメモリを節約できる。
また、本願の第３の発明によれば、印刷データを生成するアプリケーションの種類によって、バッファリングされた複数の描画データを一つにまとめるか否かを決定するので、効率の悪い描画出力を行うアプリケーションからの描画データに対して、冗長な印刷データを最適化する処理を適宜対応できる。
【図面の簡単な説明】
【図１】実施例１のレーザビームプリンタの構造を示す側断面図である。
【図２】実施例１による印刷装置の基本構成を示すブロック図である。
【図３】実施例１の印刷制御手順を示すフローチャートである。
【図４】図３に示した描画処理の手順を示すフローチャートである。
【図５】実施例２による印刷装置の基本構成を示すブロック図である。
【図６】実施例による描画データ最適化の一例を示す図である。
【図７】実施例３によるプリンタ制御システムの構成を示すブロック図である。
【図８】実施例３による印刷制御手順を示すフローチャートである。
【図９】描画データの最適化の一例を示す図である。
【符号の説明】
１，１２  ＣＰＵ
２，１９  ＲＡＭ
３，１３  ＲＯＭ
４  システムバス
５  ＫＢＣ
６  ＣＲＴＣ
７  ＭＣ
８  ＰＲＴＣ
９  ＫＢ
１０  ＣＲＴ
１１  外部メモリ
１４  外部メモリ
１５  システムバス
１６  印刷部インターフェース
１７  印刷部
１８  入力部
２０  ＭＣ
１０１２  操作部
１０００  印刷装置
１０１２  操作パネル
１１００  フォーマッタ制御部
１１０１  受信バッファ
１１０２  コマンド判別部
１１０３  コマンド解析部
１１０４  ココマンド実行部
１１０５  ページメモリ
１２００  インターフェース
１３００  出力制御部
１４００  プリンタエンジン部
１５００  二次記憶装置
２０００，３０００  ホストコンピュータ
【図１】
0003634447.tif 000002
【図２】
0003634447.tif 000003
【図３】
0003634447.tif 000004
【図４】
0003634447.tif 000005
【図５】
0003634447.tif 000006
【図６】
0003634447.tif 000007
【図７】
0003634447.tif 000008
【図８】
0003634447.tif 000009
【図９】
0003634447.tif 000010