(57)【特許請求の範囲】
【請求項１】
プリンタに図形データを送信すると共に該図形データをビットマップ化するビットマップ化手段と、
プリンタより処理が高速か否かを判断する判断手段と、
前記判断手段によりプリンタより処理が高速であると判断された場合、前記ビットマップ化手段によりビットマップ化されたビットマップデータをプリンタに送信する手段と
を有することを特徴とする印刷制御装置。
【請求項２】
図形データをプリンタで展開できるか調べる手段と、
図形データをプリンタで展開可能な場合、プリンタに図形データを送信すると共に該図形データをビットマップ化し、図形データをプリンタで展開可能でない場合、図形データをビットマップ化するビットマップ化手段と、
プリンタより処理が高速か否かを判断する判断手段と、
前記判断手段によりプリンタより処理が高速であると判断された場合、前記ビットマップ化手段によりビットマップ化されたビットマップデータをプリンタに送信する手段と
を有することを特徴とする印刷制御装置。
【請求項３】
プリンタ状況を受信する手段をさらに有し、
前記判断手段は、受信した情報を基にプリンタより処理が高速か否かを判断することを特徴とする請求項１または２記載の印刷制御装置。
【請求項４】
プリンタに展開終了を送信する手段をさらに有することを特徴とする請求項３記載の印刷制御装置。
【請求項５】
コンピュータとプリンタとを有する印刷システムであって、
前記コンピュータは、プリンタに図形データを送信すると共にコンピュータ内部で図形データをビットマップ化する第１ビットマップ化手段を有し、
前記プリンタは、コンピュータから受信した図形データをビットマップ化する第２ビットマップ化手段と、コンピュータより処理が高速でない場合、前記第１ビットマップ化手段でビットマップ化されたコンピュータから受信したデータの印刷を行い、コンピュータより処理が高速である場合、前記第２ビットマップ化手段によりビットマップ化されたデータの印刷を行なう手段とを有することを特徴とする印刷システム。
【請求項６】
プリンタに図形データを送信すると共に該図形データをビットマップ化するビットマップ化ステップと、
プリンタより処理が高速か否かを判断する判断ステップと、
前記判断ステップによりプリンタより処理が高速であると判断された場合、前記ビットマップ化ステップによりビットマップ化されたビットマップデータをプリンタに送信するステップと
を有することを特徴とする印刷制御方法。
【請求項７】
図形データをプリンタで展開できるか調べるステップと、
図形データをプリンタで展開可能な場合、プリンタに図形データを送信すると共に該図形データをビットマップ化し、図形データをプリンタで展開可能でない場合、図形データをビットマップ化するビットマップ化ステップと、
プリンタより処理が高速か否かを判断する判断ステップと、
前記判断ステップによりプリンタより処理が高速であると判断された場合、前記ビットマップ化ステップによりビットマップ化されたビットマップデータをプリンタに送信するステップと
を有することを特徴とする印刷制御方法。
【請求項８】
プリンタ状況を受信するステップをさらに有し、
前記判断ステップは、受信した情報を基にプリンタより処理が高速か否かを判断することを特徴とする請求項６または７記載の印刷制御方法。
【請求項９】
プリンタに展開終了を送信するステップをさらに有することを特徴とする請求項８記載の印刷制御方法。
【請求項１０】
コンピュータとプリンタとを有する印刷システムにおける印刷方法であって、
前記コンピュータにおいて、プリンタに図形データを送信すると共にコンピュータ内部で図形データをビットマップ化し、
前記プリンタにおいて、コンピュータより処理が高速でない場合、図形データに基づきコンピュータでビットマップ化されコンピュータから受信したデータの印刷を行い、コンピュータより処理が高速である場合、コンピュータから受信した図形データに基づきプリンタでビットマップ化されたデータの印刷を行なうことを特徴とする印刷方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばホストコンピュータ装置のプリンタドライバなどからの印刷データを受信して印刷を行う印刷システムとその制御方法及び印刷制御装置に関するものである。
【０００２】
【従来の技術】
従来、図形データを印刷する場合、ホストコンピュータ側に図形展開能力を持ち、その図形を展開したビットマップデータをプリンタへ送信している。プリンタ側ではその印刷データを受信し、その印刷データのまま印刷している。
【０００３】
また、ホストコンピュータ側のプリンタドライバにて、図形をプリンタが判別可能な図形描画データに置き換えて送信するといったことも行われている。プリンタ側ではその図形描画データを受信し、その図形描画データをプリンタに内蔵されている図形展開機能から、ビットマップに展開して印刷している。
【０００４】
図形展開機能は、ホストコンピュータ側には必ず用意されており、プリンタには持つ場合と持たないのどちらもある。図形展開機能はハードウェアもしくはソフトウェアにて用意されている。ホストコンピュータは一般的に、ユーザの作成したファイルを、ビットマップデータ以外、図形データとして保存し、それを表示する場合、その図形データを展開してビットマップ化し、表示させる。プリンタ側が図形展開機能を持つ場合、プリンタはホストコンピュータより図形データを受け取って展開を行い、ビットマップデータ化して印刷を行う。
【０００５】
【発明が解決しようとする課題】
ところが、従来例では図形データのビットマップ化が、ホストコンピュータまたはプリンタの性能に依存しているため、ホストコンピュータでの印刷開始からプリンタでの印刷終了までの時間がそれぞれの装置に依存し、特に速度が要求される場合でも印刷が速くならないという問題があった。
【０００６】
本発明は、この問題点を解決するためになされたもので、印刷開始から終了までの時間を短縮することを第１の目的とする。
【０００７】
又、ホストコンピュータとプリンタのそれぞれが図形展開能力を持つ場合、ホストコンピュータ側のディスプレイ表示と、プリンタから印刷される図形のデザインやレイアウトが違うという問題があった。
【０００８】
本発明は、この問題点を解決するためになされたもので、必ずホストコンピュータ側のディスプレイ表示とプリンタからの印刷結果が一致させることを第２の目的とする。
【０００９】
又、従来ではホストコンピュータ側から送った図形データがプリンタ側で展開できないという場合があり、プリンタからユーザの指定とは異なった図形が出力されたり、印刷されないという問題があった。
【００１０】
本発明は、この問題点を解決するためになされたもので、プリンタ側にユーザが指定した図形の展開能力がない場合でも、指定した図形を印刷させることを第３の目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成する本発明は次のような構成から成る。すなわち、印刷制御装置であって、プリンタに図形データを送信すると共に該図形データをビットマップ化するビットマップ化手段と、プリンタより処理が高速か否かを判断する判断手段と、前記判断手段によりプリンタより処理が高速であると判断された場合、前記ビットマップ化手段によりビットマップ化されたビットマップデータをプリンタに送信する手段とを有する。
【００１２】
あるいは、印刷制御装置であって、図形データをプリンタで展開できるか調べる手段と、図形データをプリンタで展開可能な場合、プリンタに図形データを送信すると共に該図形データをビットマップ化し、図形データをプリンタで展開可能でない場合、図形データをビットマップ化するビットマップ化手段と、プリンタより処理が高速か否かを判断する判断手段と、前記判断手段によりプリンタより処理が高速であると判断された場合、前記ビットマップ化手段によりビットマップ化されたビットマップデータをプリンタに送信する手段とを有する。
【００１３】
また好ましくは、上記印刷制御装置は、プリンタ状況を受信する手段をさらに有し、前記判断手段は、受信したプリンタ状況を基にプリンタより処理が高速か否かを判断する。
【００１４】
また好ましくは、上記印刷制御装置はプリンタに展開終了を送信する手段をさらに有する。
【００１５】
あるいは、コンピュータとプリンタとを有する印刷システムであって、前記コンピュータは、プリンタに図形データを送信すると共にコンピュータ内部で図形データをビットマップ化する第１ビットマップ化手段を有し、前記プリンタは、コンピュータから受信した図形データをビットマップ化する第２ビットマップ化手段と、コンピュータより処理が高速でない場合、前記第１ビットマップ化手段でビットマップ化されたコンピュータから受信したデータの印刷を行い、コンピュータより処理が高速である場合、前記第２ビットマップ化手段によりビットマップ化されたデータの印刷を行なう手段とを有する。
【００１６】
【発明の実施の形態】
［実施形態１］
次に、本発明の好適な実施形態について図面を参照して詳細に説明する。
【００１７】
図１は本発明の一実施形態であるホストコンピュータ装置とプリンタ装置のブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用出来ることは言うまでもない。
【００１８】
図１において、１００はホストコンピュータ装置を示す。オペレーティングシステム（以下、ＯＳ）１０４がＣＰＵ１０１により所定のプログラム（後述するフローチャートに係るプログラムも含む）を実行することで動作して、ホストコンピュータ１００を司る。ＯＳ１０４はシステムバス１０５を介して動作を実現し、更に接続されているディスプレイ１１１等の各種デバイスも制御する。ユーザが、ＲＡＭ１０２や外部メモリ１１２に記憶されたアプリケーションソフトで、キーボード１１０を通して作成した文書ファイルは外部メモリ１１２に蓄えられる。文書ファイルは文字や図形によって構成されている。図形はイメージだけでなく、表計算等の罫線やドロー系アプリケーションソフトウェアで描かれる円や矩形等の図形データも含まれる。
【００１９】
ユーザがそのファイルを印刷する場合、ＲＡＭ１０２にプリンタドライバがロードされていない場合は、外部メモリ１１２よりプリンタドライバを読出し、ＲＡＭ１０２に常駐させる。ＯＳ１０４によりこれらの制御を行い、更にＲＡＭ１０２上のプリンタドライバプログラムをＣＰＵ１０１により動作させる。プリンタドライバは印刷する文書ファイルを読み出し、前述した図形データが使用されている場合は、プリンタドライバが、プリンタ３００にてこの図形を展開出来る／出来ないを判断し、それぞれの場合での印刷データを生成し、プリンタコントローラ１０９へ送り出す。
【００２０】
プリンタコントローラ１０９を経由した印刷データは、外部ケーブル２００（双方向セントロ、シリアル、ＬＡＮ等）を通して、プリンタ装置３００へ送られる。プリンタ３００内の入出力部２０６にて受信した印刷データは、一旦、ＲＡＭ３０２に蓄えられる。蓄えられたデータは、プログラムＲＯＭ３０４内のプログラム（後述するフローチャートに係るプログラムも含む）をＣＰＵ３０１が実行することで処理される。その処理におけるホストコンピュータ１００に対する情報伝達は、入出力部３０６を介して行われる。印刷データ内に図形データがある場合は、プログラムＲＯＭ３０４に格納されたプログラムにより、図形データは展開されてビットマップ化されて、エンジン部インタフェース３０７を介して、インクジェット方式や電子写真方式等のプリントエンジン部３０８に送られ、実際に印刷される。これらの処理は、ＣＰＵ３０１が司り、システムバス３０５を介して行う。
【００２１】
特に、図形について詳しく説明する。図形には、円、扇形、円弧、楕円、四分楕円、弓形、矩形、角丸矩形、折れ線（直線；線分を含む）、曲線（ベジェ等）、交互塗りつぶしの多角形、全て塗りつぶしの多角形等があり、それぞれの図形において、境界線と内部の塗りが定義可能である。線は、実線や点線及びパターン線等のスタイルを持ち、更に幅や色の定義が出来るものとする。塗りつぶしは、定型パターンやユーザ定義のビットマップ等のスタイルを持ち、指定されているハッチのスタイルや色の定義が出来るものとする。この様な方式で、ユーザ作成ファイルを生成するアプリケーションソフトウェアは既に数多く存在する。ファイル内格納データを図形として保持する理由は、展開されたビットマップデータより、メモリ効率が良く、また解像度に依存しないで出来るためである。
【００２２】
ホストコンピュータ１００側にはディスプレイ表示を行うため、必ずこの図形の展開能力を持つ。例えば、ＯＳ１０４やディスプレイコントローラ１０７がこの図形展開を行う。プリンタ装置３００でも、この図形展開能力をもつものがある。例えば、ＰｏｓｔＳｃｒｉｐｔ（アドビシステムズ社）等のページ記述言語に対応したページプリンタである。図形展開は、プログラムＲＯＭ３０４内のソフトウェア等をＣＰＵ３０２により実行することで、ＲＡＭ３０２上で行われる。
【００２３】
ファイル内の一部又は全てがビットマップデータの場合は、データをホストコンピュータ１００内のプリンタドライバにてプリンタ命令に変換し（圧縮する場合もある）、プリンタ装置３００に転送するため、基本的に図形展開機能を必要としない。
【００２４】
ここで、印刷結果における文字デザインの一致を図るために、ホストコンピュータ装置１００内での図形展開機能と、プリンタ装置３００内での図形展開機能は同等とする。即ち、図形展開をしてビットマップ化したデータがホストコンピュータとプリンタとで同じ結果であるとする。
【００２５】
以下、フローチャート等を用いて本発明の一実施形態について詳しく述べる。
【００２６】
図２は、本発明を実施するホストコンピュータ１００内のプリンタドライバの一連の手順を示すフローチャートである。このフローチャートは、ＲＡＭ１０２に記憶されたプリンタドライバのプログラムをＣＰＵ１０１により実行することで実現される。
【００２７】
ユーザがファイル印刷を開始すると、プリンタドライバは最初、ステップＳ２．１においてプリンタ３００に対し印刷開始データを送信する。ステップＳ２．２でプリンタ内処理（図４で説明）をまった後、ステップＳ２．３で、プリンタ３００よりプリンタ内の図形展開機能情報を受信する。ステップＳ２．４では、印刷データ内の図形データをプリンタ内で展開できるか調べ、プリンタが図形展開可能な場合は、ステップＳ２．５でプリンタへ図形データを送出する。但し、実際には、図形データだけではなく、その図形の大きさ、位置、修飾情報等も同時に送出する。この展開可能か否かの判定は、図形データがプリンタで正しく扱える記述となっているかということを基にして判定される。
【００２８】
ステップＳ２．６でホストコンピュータ１００内部の図形展開処理（図３で説明）を行う。ステップＳ２．６で図形のビットマップ化が終了した後、ステップＳ２．７でプリンタにビットマップ化終了を送信する。ステップＳ２．８ではプリンタ内処理（図５で説明）を待ち、ステップＳ２．９でプリンタ３００よりプリンタ側処理状況を受信する。プリンタ３００より受信した情報を基に、プリンタ側の処理具合をステップＳ２．１０で判断する。プリンタ側が高速（図形のビットマップ化があるレベル以上終了している）の場合には、プリンタドライバの処理を終了する。ステップＳ２．１０でホストコンピュータ側が高速と判断した場合には、ステップＳ２．１２では、プリンタに対して、ステップＳ２．６でビットマップに展開された図形を送信する。
【００２９】
一方、ステップＳ２．４にてプリンタ側に図形展開機能がないと判断した図形データの場合は、次にステップＳ２．１１で図形をホストコンピュータ内部で展開してビットマップ化し（ステップＳ２．６と同じ処理）、ステップＳ２．１２でプリンタへビットマップデータを送信する。
【００３０】
ステップＳ２．１０での判断において、プリンタへのビットマップデータの転送時間は考慮に入れることが可能である。この場合、プリンタよりもホストコンピュータにおける展開処理時間に、展開されたビットマップデータの転送に要する時間を加えて、いずれが高速か判定する。
【００３１】
図３は、図２で説明した中での、プリンタドライバの印刷データ処理を示すフローチャートである。最初のステップＳ３．１でユーザが印刷したいファイルのデータを読み出す。その読み出したデータを解析し、ステップＳ３．２においてデータ中に使われている図形の展開が必要か否かを調べる。図形展開が必要である場合、ステップＳ３．３へ進み、展開のために必要なデータ等を取り出す。その後、ステップＳ３．４で図形の展開を行う。これは、プリンタドライバ内部で行っても、ホストコンピュータのＯＳやディスプレイコントローラに行なわせても構わない。図形の展開によりビットマップデータが得られる。ステップＳ３．２で展開が必要でないと判断された図形、例えばビットマップデータ等の場合は、ステップＳ３．５の印刷用データに変換する作業のみを行う。即ち、圧縮処理やプリンタへの描画命令に変換すること等である。
【００３２】
以上の手順により、ホストコンピュータかプリンタのうち、図形を展開して迅速に印刷に供することができることができる方によって展開した図形データをプリンタにより印刷出力する。
【００３３】
図４は、図２で説明した中での、ステップＳ２．１においてプリンタ側で行われる処理を示すフローチャートである。
【００３４】
最初のステップＳ４．１は、ホストコンピュータがステップＳ２．１で送信した印刷開始データを受信することを示す。ステップＳ４．２は図形展開能力が存在する／しないの判断で、図形展開能力が存在する（図形の一部機能の展開能力があるものを含む）場合、ステップＳ４．３で図形展開能力存在の詳細（展開可能な図形を列挙、もしくは図形全てを展開可能等）をホストコンピュータへ送信し、ステップＳ４．４でホストコンピュータよりの図形描画データ等を受信する。そして、ステップＳ４．５においてプリンタ内部で図形展開を行い、図形描画データをビットマップ化させる。
【００３５】
一方、ステップＳ４．２でプリンタに図形展開能力がないと判断した場合は、ホストコンピュータへ図形展開機能なしの旨を送信する。
【００３６】
なお、ステップＳ４．３及びＳ４．６で送信したデータはステップＳ２．３でホストが受信する。また、ステップＳ４．４で受信するデータは、ホストがステップＳ２．５で送信したデータである。
【００３７】
図５は、図２で説明した中での、ステップＳ２．８の間にプリンタ側で行われる処理を示すフローチャートである。
【００３８】
最初のステップＳ５．１では、ホストコンピュータがステップＳ２．７で送信した図形展開終了を受信する。ステップＳ５．２ではプリンタの図形展開状況と照らし合わせてプリンタ側が高速か否か判断する。この場合、ホストにおける図形の展開は終了しているため、この時点でプリンタにおいて行うべき処理に要する時間と、ホストコンピュータからビットマップデータの転送に要する時間とを比較する。転送時間の方が短いならばプリンタ側が遅いと判断し、ステップＳ５．３でホストコンピュータへビットマップデータを要求する。その後、ステップＳ５．４のホストコンピュータよりビットマップデータを受信し、ステップＳ５．５で印刷を行う。
【００３９】
一方、ステップＳ５．２にてプリンタ側が高速と判断した場合、例えばプリンタにおける展開処理が既に終了しているような場合には、ステップＳ５．６でホストコンピュータへ印刷終了を送信し、ホストコンピュータ側の処理を終了させる。ステップＳ５．７で、必要があれば展開処理を続けて図形を全てビットマップ化した後、そのデータをステップＳ５．５にて印刷させる。
【００４０】
なお、ステップＳ５．３及びステップＳ５．６で送信したデータは、ステップＳ２．９によりホストで受信される。また、ステップＳ５．４で受信するデータは、ホストがステップＳ２．１２で送信したデータである。
【００４１】
このような処理により、ホストコンピュータとプリンタのいずれかに図形をビットマップデータへと展開する機能が備えられていれば、図形データを扱うことができ、また、両方にその機能がある場合には、より高速な方を展開に使用することができる。また、プリンタに図形展開機能がなくともホストコンピュータがそれを代替することができるため、ユーザが期待する画像を出力することができる。
【００４２】
［実施形態２］
実施形態１では、図２のフローチャートにおいて、処理分散の考え方を、単純にホストコンピュータとプリンタどちらかで処理を分けていた。即ち、図形の展開（ビットマップ化）は、どちらかのみで行うことを示した。
【００４３】
本実施形態では、どちらか一方でビットマップ化するのではなく、ホストコンピュータとプリンタの両方で図形のビットマップ化を行う考え方を示す。
【００４４】
例えば、１ページ内で、上半分がプリンタ担当、下半分はホストコンピュータ担当というように処理を分散する。処理分散を５０％対５０とは限らず、双方の処理能力や処理状況によりその割合を変えても構わない。即ち、４０％対６０％や８０％対２０％の様にである。この場合には、図２のステップＳ２．１０や図５のステップＳ５．２の判定は不用であり、必ずホストで展開したビットマップデータをプリンタに転送するようにする。それを受信したプリンタは、自身で展開したビットマップデータと合わせて印刷出力する。
【００４５】
又、複数ページの印刷においては、ページ単位の処理分散でも可能である。例えば、１ページ目をプリンタ側がビットマップ化し、２ページ目をホストコンピュータ側でビットマップ化するという方法である。この考え方から、奇数ページ対偶数ページや印刷する全ページ数の最初の半分対後半等という方法も可能である。
【００４６】
更に、プリンタがホストコンピュータ側で持っている図形機能の全てを持たない場合も考えられる。この場合において、プリンタ側で展開出来る図形だけをプリンタ展開とし、それ以外は全てホストコンピュータ展開とさせる方法も考えられる。
【００４７】
このようにすることで、ホストとプリンタの処理能力を生かすことができ、より高速な出力が可能となる。
【００４８】
［実施形態３］
図１において、ホストコンピュータとプリンタの接続は、双方向通信と限定したが、片方向通信（例えばセントロニクスなど）の場合でも、ホストコンピュータ側の設定によって、処理分散割合をあらかじめ決めておく方法も可能である。この場合には、プリンタから応答はないため、予め決めておいた割合で図形を展開して１つの画像を形成する。
【００４９】
但し、片方向通信の場合には、プリンタ側の図形展開能力を、ホストコンピュータ側のプリンタドライバに予め設定させておく必要がある。
【００５０】
このようにすれば、片方向通信が用いられている場合でも、ホストコンピュータとプリンタ双方の処理能力をできるだけ生かした印刷処理が可能となる。
【００５１】
【発明の効果】
以上説明したように、本発明の印刷システムとその制御方法及び印刷制御装置は、印刷開始から終了までの時間を短縮することができる効果を奏する。
【００５２】
又、プリンタに図形展開の能力がなくともユーザが期待する出力結果を得ることができるという効果を奏する。
【００５３】
【図面の簡単な説明】
【図１】実施形態を示すホストコンピュータ装置とプリンタ装置の構成を説明するブロック図である。
【図２】ホストコンピュータにおける一連のプリンタドライバ制御手順を示すフローチャートである。
【図３】ホストコンピュータにおける図形データ処理手順を示すフローチャートである。
【図４】プリンタにおける印刷開始時の処理手順を示すフローチャートである。
【図５】プリンタにおけるプリンタ内部処理の手順を示すフローチャートである。
【符号の説明】
１００  ホストコンピュータ装置
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  フォントメモリ
１０４  ＯＳ
１０５  システムバス
１０６  キーボードコントローラ
１０７  ディスプレイコントローラ
１０８  ディスクコントローラ
１０９  プリンタコントローラ
１１０  キーボード
１１１  ディスプレイ
１１２  メモリ（ＨＤ，ＦＤ）
２００  双方向インタフェース
３００  プリンタ装置
３０１  ＣＰＵ
３０２  ＲＡＭ
３０３  フォントメモリ
３０４  プログラムＲＯＭ
３０５  システムバス
３０６  入出力部
３０７  エンジンインタフェース
３０８  エンジン
３０９  操作部
【図１】
0003559618.tif 000002
【図２】
0003559618.tif 000003
【図３】
0003559618.tif 000004
【図４】
0003559618.tif 000005
【図５】
0003559618.tif 000006