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