(57)【要約】【課題】ページ処理に多くの時間を要するアプリケーションによる印刷の場合には、結果的に制限値を超えることがないページに対しても印刷スループットの低下を招く原因になっていた。【解決手段】ホスト装置と印刷装置とを含む印刷システムであって、ホスト装置１は、印刷データを受け取り印刷装置１１が処理可能な中間コードに変換する中間コード生成部７と、前記中間コードをイメージコードに変換するイメージデータ生成部８と、印刷装置１１におけるデータ処理能力に関する情報を取得するユーザインターフェース部２或いはデータ送受信部１０とを有し、中間コードのデータ量が、そのデータ処理能力を越える場合は、イメージデータ形式のデータを印刷装置１１に送信する。【選択図】　図１
2004145467.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と印刷装置とを含む印刷システムであって、
前記ホスト装置は、
印刷データを受け取り前記印刷装置が処理可能な第１印刷コードに変換する第１変換手段と、
前記第１印刷コードを第２印刷コードに変換する第２変換手段と、
前記印刷装置におけるデータ処理能力に関する情報を取得する取得手段と、
前記第１印刷コードのデータ量が、前記取得手段により取得した前記データ処理能力を越える場合は、前記第２変換手段により変換された前記第２印刷コードを前記印刷装置に送信する制御手段とを有し、
前記第２印刷コードは、前記印刷装置が前記第１印刷コードよりも短い時間で処理可能な印刷コードであることを特徴とする印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト装置及び印刷装置を備える印刷システムに係り、そのホスト装置、及びアプリケーション等からの指定に基づいて印刷を行う技術に関するものである。
【０００２】
【従来の技術】
ホストコンピュータ（ホストＰＣ）とプリンタ装置とがネットワークを介して接続された印刷システムでは、ホストＰＣで実行されているアプリケーション等からの指示に基づいてプリンタ装置により印刷が実行される。この場合、ホストＰＣはそのプリンタ装置が処理可能な印刷データを生成し、それをプリンタ装置に送信することにより所望の印刷処理を行っている。
【０００３】
また、印刷システムとしてのトータルスループットを最大限まで高めるために、印刷データ生成の過程におけるホストＰＣ側の処理、通信回線上のデータ量の効率化、プリンタ装置側の処理のバランスが非常に重要である。そのため、昨今の印刷システムにおいては、ホストＰＣがＰＤＬコードを生成してプリンタ装置に送信する方法だけでなく、印刷データの複雑さやホストＰＣの処理能力に応じて、ホストＰＣにおいて、プリンタ装置が処理し易い中間データ形式まで展開した印刷データを生成するものがある。更に、プリンタ装置では、この中間データを高速にイメージ展開するために、ＡＳＩＣ（特定用途向けＩＣ）化するなどして、システムとしての高速化を実現している。
【０００４】
【発明が解決しようとする課題】
上述のように、プリンタ装置においてＡＳＩＣを使用して中間データを処理する構成とした場合、プリンタ装置のハードウエアの低コスト化が大きな課題となる。低コストを実現するためには、プリンタ装置に搭載するメモリ量を極力削減し、またＡＳＩＣのロジックを簡潔にする必要がある。これはプリンタ装置において高速処理が可能なデータサイズに制限を与えることになり、この制限を超えるデータがホストＰＣより送られた場合には、プリンタ装置で、そのデータを分割するなどして問題を回避する手段を採る必要が発生する。一般的には、プリンタ装置が実装するメモリ資源はそれほど多くないため、分割したデータをイメージ展開し、それを圧縮して格納し、更には後続のデータをイメージ展開し、前回圧縮して格納したデータを伸長し重ね合わせてから再び圧縮して格納するといった作業を繰り返すことになる。しかし、このような作業を行うにはプリンタ装置における処理が複雑になり、印刷システムのトータルスループットの低下が避けられないという欠点があった。このような問題を回避するために、ホストＰＣにおいて、プリンタ装置で高速処理可能な制限値を超えたデータに対して再加工してから送信する必要があった。このため、ホストＰＣにおいて少なくとも１ページ分の印刷データの生成が完了するまで多くの時間を要し、特に、ページ処理に多くの時間を要するアプリケーションによる印刷の場合には、結果的に制限値を超えることがないページに対しても印刷スループットの低下を招く原因になっていた。
【０００５】
本発明は上記従来例に鑑みてなされたもので、印刷装置におけるデータ処理能力を越えるとホスト装置から印刷装置に送信する印刷コードを印刷装置で処理し易いコードにすることにより、印刷コードの膨大化などによる印刷処理に要する時間の増大を防止することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明の印刷システムは以下のような構成を備える。即ち、
ホスト装置と印刷装置とを含む印刷システムであって、
前記ホスト装置は、
印刷データを受け取り前記印刷装置が処理可能な第１印刷コードに変換する第１変換手段と、
前記第１印刷コードを第２印刷コードに変換する第２変換手段と、
前記印刷装置におけるデータ処理能力に関する情報を取得する取得手段と、
前記第１印刷コードのデータ量が、前記取得手段により取得した前記データ処理能力を越える場合は、前記第２変換手段により変換された前記第２印刷コードを前記印刷装置に送信する制御手段とを有し、
前記第２印刷コードは、前記印刷装置が前記第１印刷コードよりも短い時間で処理可能な印刷コードであることを特徴とする。
【０００７】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。また本実施の形態では、ホスト装置と印刷装置がセントロインターフェースで接続された印刷システムに応用した例について説明する。本実施の形態に係るインターフェース形式は、本発明における重要な構成要件ではなく、これ以外にも例えば赤外線通信、無線通信、ＵＳＢやＩＥＥＥ１３９４規格等で定義されたインターフェース、或いは様々なネットワーク接続形態であっても容易に応用可能である。
【０００８】
図１は、本発明の実施の形態に係る印刷システムの構成を示すブロック図である。
【０００９】
図において、１はホスト装置で、本実施の形態に係る印刷システムにおけるクライアントコンピュータ本体を示し、後述する印刷装置１１とはセントロインターフェースにより接続されている。
【００１０】
まず最初に、このホスト装置１の構成について説明する。
【００１１】
２はユーザインターフェース部で、印刷に際して、ユーザが印刷装置１１に対しての用紙サイズ、両面印刷指定、印刷解像度、印刷階調などの各種印刷設定等を入力したり、印刷開始指示を行なうのに使用される。このユーザインターフェース部２は、例えばキーボードやマウス等のポインティングデバイス、画面上に表示されたＵＩ画面等を含む。３は表示部で、印刷データのプレビュー表示や、ユーザインターフェース（ＵＩ）画面、ユーザへのメッセージ等を表示するのに使用される。４は印刷データ制御部で、アプリケーションから指定される印刷命令指示を受け、印刷データを生成する。
【００１２】
この印刷データ制御部４には、中間コードが印刷装置１１で高速に処理可能な制限値を越えたか否かを示すエラーフラグ部５と、印刷装置１１用の中間コードを格納する中間コード格納部６と、印刷装置１１の中間コードを生成する中間コード生成部７と、中間データからイメージデータを生成するイメージデータ生成部８とが設けられている。
【００１３】
エラーフラグ部５は、初期状態では「エラーなし」となっているが、中間コードの生成時に、印刷装置１１において高速印刷可能な制限値を超えた時には「エラー状態」としてセットされる。中間コード格納部６は、アプリケーションからの印刷データに従って生成した中間コードを順次追加保存する。中間コード生成部７は、アプリケーションからの印刷データに従って、印刷装置１１に対応している中間コードへの変換処理を行う。これは、アプリケーションから要求される円や矩形図形描画命令等を、対応する図形印刷コードで表現したものである。この中間コードの生成は、ホスト装置１では高速に行えるが、印刷装置１１で印刷する際には、必ず、その中間データからイメージデータへの変換処理が必要となる。また、イメージデータ生成部８は、中間コード生成部７で生成された中間データを、更にイメージ形式のデータ（イメージデータ）に変換処理する。このイメージデータは、印刷装置１１での印刷画像に一致するため、印刷装置１１では、このイメージデータを受信すると直ちに印刷処理を開始できる。
【００１４】
９は印刷コマンド制御部で、印刷装置１１の印刷状態を取得する処理、送信済み中間コードをキャンセルするためのコードを生成する処理、１ページ分のデータ終了を示す排紙コードを生成する処理等を含め、印刷装置１１と送受信するコマンド全体を制御する。１０はセントロニクス・インターフェースにより、印刷装置１１との間でデータの送受信を行なうデータ送受信部である。
【００１５】
次に印刷装置１１の構成について説明する。
【００１６】
この印刷装置１１は、接続されたホスト装置１からの指示に応じて印刷処理或いは印刷状態の応答等を行なう。この印刷装置１１は更に、セントロニクス・インターフェースで接続されたホスト装置１との間でデータの送受信を行うためのデータ送受信部１２と、データ送受信部１２で受信したデータを解析し、また印刷装置１１の処理状態をコマンド形式でデータ送受信部１２を介してホスト装置１に送信するためのデータ生成を行なうための印刷装置制御部１３を備えている。１４は中間コード処理部で、ホスト装置１より送信された中間コード形式の印刷データを逐次解析し、最終的に印刷するための画像データ（イメージ形式データ）を生成する。また、キャンセルコード受信時には、すでに受信した中間コードの破棄を行なう。１５はイメージデータ処理部で、ホスト装置１より送信されたイメージデータ形式の印刷データを解析し、排紙コードを受信すると、印刷画像の画像データを生成する。１６は印刷データ保存部で、中間コード処理部１４で処理された中間コード或いはイメージデータ処理部１５で生成した印刷用の画像データを保存する。１６は出力部（プリンタエンジン）で、印刷データ保存部１６に保存された画像データに基づいて印刷を行う。
【００１７】
図２は、本実施の形態に係る印刷システムのホスト装置１による印刷処理を説明するフローチャートで、この処理を実行するプログラムはホスト装置１のメモリに記憶されており、このプログラムに従って実行される。
【００１８】
この処理は、ホスト装置１における印刷処理が起動されることにより開始され、まずステップＳ２０１で、ホスト装置１の初期化やエラーフラグ部５の初期化、中間コード格納部６の初期化を行ない、また印刷装置１１で印刷処理させるための準備を行なう。次にステップＳ２０２に進み、ホスト装置１で実行されているアプリケーションにより印刷データが入力されたかどうかを判断し、その入力が描画処理指定の入力であればステップＳ２０３に進んで、アプリケーションからの印刷指定データに基づいて、中間コード生成部７により印刷装置１１に対応した中間コードを生成する。次にステップＳ２０４に進み、その生成した中間コードを中間コード格納部６に格納する。次にステップＳ２０５に進み、エラーフラグ部５でエラー状態がセットされているか否かを判別し、エラー状態がセットされていない時はステップＳ２０２に戻って前述の処理を実行する。
【００１９】
ステップＳ２０５でエラー状態がセットされている時はステップＳ２０６に進み、中間コードのサイズが印刷装置１１で高速で処理可能な上限値を超えているか否かを判別する。この上限値は印刷装置１１により異なり、印刷装置１１の機種或いは実装しているメモリサイズ、或いはその他の様々な条件によって変わることもある。また、この上限値の情報は、予めホスト装置１で定義されていてもよく、データ送受信部１０を介して印刷装置１１から得ても良い。また或いはユーザインターフェース部２からの入力により取得しても良い。このステップＳ２０６の判別で制限値を越えていない場合は、その中間コードを印刷装置１１に送信しても大丈夫であるためステップＳ２０７に進み、ステップＳ２０３で生成した中間コードをデータ送受信部１０を介して印刷装置１１に送信してステップＳ２０２に戻る。
【００２０】
一方、ステップＳ２０６の判別で制限値を越えていると判定されるとステップＳ２０８に進み、印刷コマンド制御部９により、キャンセルコードをデータ送受信部１０を介して印刷装置１１に送信する。そしてステップＳ２０９に進み、エラーフラグ部５にエラー状態をセットしてステップＳ２０２に戻る。
【００２１】
一方、ステップＳ２０２の判別で、アプリケーションからの入力が排紙処理指定であればステップＳ２１０に進み、エラーフラグ部５でエラー状態がセットされているか否かを判別する。エラー状態でなければステップＳ２１４に進むが、エラー状態であればステップＳ２１１に進み、中間コード格納部６に格納されている中間コードに基づいてイメージデータ生成部８によりイメージ展開する。そしてステップＳ２１２に進み、その展開したイメージデータをデータ送受信部１０を介して印刷装置１１に送信する。これにより印刷装置１１では、そのイメージデータに基づいて直ちに印刷処理を開始できるため、印刷装置１１における印刷データの処理の負担が軽減される。次にステップＳ２１３に進み、エラーフラグ部５にセットされているエラー状態をリセットする。そしてステップＳ２１４に進み、中間コード格納部６に格納されている中間コードをクリアし、次にステップＳ２１５に進み、印刷コマンド制御部９により、排紙コードをデータ送受信部１０を介して印刷装置１１に送信し、ステップＳ２０２に戻る。
【００２２】
以上が本実施の形態に係る印刷システムにおけるホスト装置１における印刷処理動作概要の説明である。
【００２３】
このホスト装置は、例えば一般的なパーソナルコンピュータ（情報処理装置）等であり、その構成は以下の実施態様で定義できる。
【００２４】
［実施態様１］　印刷データを受け取り前記印刷装置が処理可能な第１印刷コードに変換する第１変換手段と、前記第１印刷コードを第２印刷コードに変換する第２変換手段と、前記印刷装置におけるデータ処理能力に関する情報を取得する取得手段と、前記第１印刷コードのデータ量が、前記取得手段により取得した前記データ処理能力を越える場合は、前記第２変換手段により変換された前記第２印刷コードを前記印刷装置に送信する制御手段とを有し、前記第２印刷コードは、前記印刷装置が前記第１印刷コードよりも短い時間で処理可能な印刷コードであることを特徴とする情報処理装置。
【００２５】
［実施態様２］　前記データ処理能力に関する情報は、前記印刷装置から取得されることを特徴とする実施態様１に記載の情報処理装置。
【００２６】
［実施態様３］　前記データ処理能力に関する情報は、ユーザにより入力されることを特徴とする実施態様１又は２に記載の情報処理装置。
【００２７】
［実施態様４］　前記データ処理能力に関する情報は、予め記憶されていることを特徴とする実施態様１又は２に記載の情報処理装置。
【００２８】
［実施態様５］　前記第１印刷コードは、印刷オブジェクトを中間コード形式で表現したコードであることを特徴とする実施態様１乃至４のいずれか１項に記載の情報処理装置。
【００２９】
［実施態様６］　前記第２印刷コードは、イメージデータで構成されるコード形式で表現した印刷コードであることを特徴とする実施態様１乃至５のいずれか１項に記載の情報処理装置。
【００３０】
［実施態様７］　前記データ処理能力に関する情報は、前記印刷装置が処理可能な前記第１印刷コードの最大データ量を表わすことを特徴とする実施態様１乃至６のいずれか１項に記載の情報処理装置。
【００３１】
次に図３を参照して本実施の形態に係る印刷装置１１の処理について説明する。図３は、本実施の形態に係る印刷システムの印刷装置１１における処理動作の一部を示すフローチャートで、この処理を実行するプログラムは印刷装置１１のメモリに記憶されており、その制御部により実行される。
【００３２】
ホスト装置１から印刷処理が起動されると、まずステップＳ３０１で、印刷装置１１の初期化を行ない、印刷処理するための準備を行なう。次にステップＳ３０２に進み、データ送受信部１２によりホスト装置１からの入力があるかを判別し、印刷データの入力であれば、ステップＳ３０３に進んで、印刷データのコード形式を判別し、中間コード形式の印刷データであればステップＳ３０４に進み、印刷データ保存部１６に受信した中間コード形式データを保存してステップＳ３０２に戻る。
【００３３】
一方、ステップＳ３０３の判別でキャンセルコード指定であればステップＳ３０５に進み、それまでに印刷データ保存部１６に保存した中間コードを破棄してステップＳ３０２に戻る。
【００３４】
またステップＳ３０３の判別で、イメージデータ形式の印刷データであればステップＳ３０６に進み、受信したイメージデータを印刷データ保存部１４に保存してステップＳ３０２に戻る。
【００３５】
またステップＳ３０２の判別で、排紙コマンドデータであればステップＳ３０７に進み、印刷データ保存部１６に保存されたデータのコード形式を判別する。ここで中間コード形式の印刷データであればステップＳ３０８に進み、中間コード処理部１４により、中間コードをイメージ化して印刷可能なイメージデータ形式に変換する処理を行う。そしてステップＳ３１０に進み、そのイメージデータを出力部１７に出力して印刷処理を行い、その後ステップＳ３０２に戻る。
【００３６】
一方、ステップＳ３０７の判別で、イメージデータ形式であればステップＳ３０９に進み、イメージデータ処理部１５によりイメージデータを印刷可能なデータ形式のデータに変換してステップＳ３１０に進み、そのデータを出力部１７に出力して印刷処理を行い、その後ステップＳ３０２に戻る。
【００３７】
以上が本実施の形態に係る印刷装置１１による印刷処理の説明である。
【００３８】
以上説明したように本実施の形態によれば、ホスト装置はまずアプリケーションから指示される印刷データを印刷装置用の中間コードに変換し、その中間コードを逐次印刷装置に送信して印刷を行うとともに、ホスト装置においても、その生成した中間コードを保存しておく。そして、ホスト装置での中間コード生成時に、その生成した中間コードのデータ量が、印刷装置で処理可能なデータ量の上限を超えると印刷装置に対してキャンセル指示する。これにより、印刷装置では、それまでに受信した中間コードに基づく印刷処理を中止する。そして、ホスト装置は、それ以降は中間コードの送信を行なわずに、１ページ分の中間コードが生成された時点で、その中間コードをイメージ形式のデータに変換し、そのイメージ形式データを印刷装置に送信し直す。これにより、印刷装置で高速に印刷処理可能な上限値を超えるような複雑なページを大量に印刷するような場合であっても、印刷処理を高速に行うことができるようになる。
【００３９】
［他の実施の形態］
本発明の目的は前述したように、本実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００４０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【００４１】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【００４２】
尚、以上説明した本発明に係る印刷制御方法は以下のような実施形態で表わすことができる。
【００４３】
［実施態様８］　ホスト装置と印刷装置とを含む印刷システムにおける印刷制御方法であって、印刷データを受け取り前記印刷装置が処理可能な第１印刷コードに変換する第１変換工程と、前記第１印刷コードを第２印刷コードに変換する第２変換工程と、前記印刷装置におけるデータ処理能力に関する情報を取得する取得工程と、前記第１印刷コードのデータ量が、前記取得工程で取得した前記データ処理能力を越える場合は、前記第２変換工程で変換した前記第２印刷コードを前記印刷装置に送信する制御工程とを有し、前記第２印刷コードは、前記印刷装置が前記第１印刷コードよりも短い時間で処理可能な印刷コードであることを特徴とする印刷制御方法。
【００４４】
［実施態様９］　前記データ処理能力に関する情報は、前記印刷装置が処理可能な前記第１印刷コードの最大データ量を表わすことを特徴とする実施態様８に記載の印刷制御方法。
【００４５】
［実施態様１０］　前記データ処理能力に関する情報は、前記印刷装置から取得されることを特徴とする実施態様８又は９に記載の印刷制御方法。
【００４６】
［実施態様１１］　前記データ処理能力に関する情報は、ユーザにより入力されることを特徴とする実施態様８又は９に記載の印刷制御方法。
【００４７】
［実施態様１２］　前記データ処理能力に関する情報は、予め記憶されていることを特徴とする実施態様８又は９に記載の印刷制御方法。
【００４８】
［実施態様１３］　前記第１印刷コードは、印刷オブジェクトを中間コード形式で表現したコードであることを特徴とする実施態様８乃至１２のいずれか１項に記載の印刷制御方法。
【００４９】
［実施態様１４］　前記第２印刷コードは、イメージデータで構成されるコード形式で表現した印刷コードであることを特徴とする実施態様８乃至１３のいずれか１項に記載の印刷制御方法。
【００５０】
【発明の効果】
以上説明したように本発明によれば、印刷装置におけるデータ処理能力を越えるとホスト装置から印刷装置に送信する印刷コードを印刷装置で処理し易いコードにすることにより、印刷コードの膨大化などによる印刷処理に要する時間の増大を防止することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る印刷システムの構成を示すブロック図である。
【図２】本実施の形態に係る印刷システムのホスト装置における処理手順を説明するフローチャートである。
【図３】本実施の形態に係る印刷システムの印刷装置における処理手順を説明するフローチャートである。
【図１】
2004145467.tif 000003
【図２】
2004145467.tif 000004
【図３】
2004145467.tif 000005