(57)【要約】  【課題】従来、プリンタの処理能力を、予め計測用プログラムで測定してＰＣに通知しておき、ホスト装置との間で処理を分散することにより、処理能力を向上させているが、PDL等のプリンタ言語ではCPUパフォーマンスを予測するのは難しく、バラツキがあった。  【解決手段】描画コマンド単位で、プリンタにおけるコントローラの処理能力とＰＣの処理能力とを計測した上で、データ処理負荷の分散をするので、ＰＤＬ形式を使用した印刷システムで画像を出力する際に、システム全体で効率の良い高速な処理が可能となる。  【選択図】  図５
2009048465.tif 000002
【特許請求の範囲】
【請求項１】
入力された文書データに基づいてコマンドをページ記述言語に変換するページ記述言語変換手段と、
前記ページ記述言語を解析して、中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成された中間データの負荷をプリンタ及びホストコンピュータ上で計測用プログラムを実行して取得する負荷パラメータ取得手段と、
前記負荷パラメータ取得手段により取得した負荷パラメータを当該中間データに記憶させる負荷パラメータ記憶手段と、
前記負荷パラメータ記憶手段で記憶された負荷パラメータに基づいて中間データの処理時間をプリンタ及びホストコンピュータ毎に計算する中間データ処理時間計算手段と、
前記中間データ処理時間計算手段によって得られた両者の中間データ処理時間を比較する中間データ処理時間比較手段と、
前記中間データ処理時間比較手段の比較結果に基づいて中間データの処理をプリンタとホストコンピュータとに負荷配分する負荷配分手段とを具備したことを特徴とする印刷システム。
【請求項２】
前記中間データの処理をプリンタとホストコンピュータとに負荷配分する負荷配分手段は、バンド単位で負荷配分を行うことを特徴とする、請求項１に記載の印刷システム。
【請求項３】
前記中間データの処理をプリンタとホストコンピュータとに負荷配分する負荷配分手段は、ページ単位で負荷配分を行うことを特徴とする、請求項１に記載の印刷システム。
【請求項４】
前記中間データの処理をプリンタとホストコンピュータとに負荷配分する負荷配分手段は、ジョブ単位で負荷配分を行うことを特徴とする、請求項１に記載の印刷システム。
【請求項５】
前記入力されたページ記述言語がビットマップイメージのみを含み、前記中間データ処理時間計算手段によって、ホストコンピュータ側に負荷を多く配分する設定となった場合は、中間データを生成しないで１ページ全体をプリンタドライバ側で処理することを特徴とする、請求項１に記載の印刷システム。
【請求項６】
前記入力されたページ記述言語が黒の文字のみを含み、前記中間データ処理時間計算手段によって、プリンタ側に負荷を多く配分する設定となった場合は、中間データを生成しなで１ページ全体をプリンタコントローラ側で処理することを特徴とする、請求項１に記載の印刷システム。
【請求項７】
前記負荷パラメータを取得する際に実行する計測用プログラムは、ページ記述言語で記述されたことを特徴とする、請求項１に記載の印刷システム。
【請求項８】
前記負荷パラメータを取得する際に実行する計測用プログラムは、プログラム内容が変更可能なことを特徴とする、請求項１に記載の印刷システム。
【請求項９】
入力された文書データに基づいてコマンドをページ記述言語に変換するページ記述言語変換工程と、
前記ページ記述言語を解析して、中間データを生成する中間データ生成工程と、
前記中間データ生成工程で生成された中間データの負荷をプリンタ及びホストコンピュータ上で計測用プログラムを実行して取得する負荷パラメータ取得工程と、
前記負荷パラメータ取得工程で取得した負荷パラメータを当該中間データに記憶させる負荷パラメータ記憶工程と、前記負荷パラメータ記憶工程で記憶された負荷パラメータに基づいて中間データの処理時間をプリンタ及びホストコンピュータ毎に計算する中間データ処理時間計算工程と、前記中間データ処理時間計算工程によって得られた両者の中間データ処理時間を比較する中間データ処理時間比較工程と、前記中間データ処理時間比較工程の比較結果に基づいて中間データの処理をプリンタとホストコンピュータとに負荷配分する負荷配分工程とを順次実行することを特徴とする印刷システムのデータ処理方法。
【請求項１０】
請求項１に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム
【請求項１１】
請求項１０に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム及びそれに用いる中間データ生成方法に関し、特にカラー印刷可能なプリンタシステムに関する。
【背景技術】
【０００２】
アプリケーションからプリンタへ印刷を行う場合、印刷を行うプリンタに対応したプリンタドライバによって、そのプリンタに対応した形式のデータが生成される。生成されるデータは、次のようなタイプに大別される。
(1)ラスター形式
この形式のプリンタの場合は、プリンタドライバ側ですべての描画処理が行われ、プリントエンジンで印刷可能なビットマップデータが生成される。
(2)ページ記述言語形式
この形式のプリンタの場合は、プリンタドライバ側で、ページ記述言語（以下ＰＤＬと記す）のコマンドが生成され、プリンタ上に搭載されたプリンタコントローラによって、描画処理が行われ、プリントエンジンに印刷可能なビットマップデータが生成される。
【０００３】
ここで、（１）のラスター形式のプリンタは、すべての描画処理をパーソナルコンピュータで行うが、近年のパーソナルコンピュータの処理速度が向上し、高速な処理が可能となっている。
【０００４】
一方、（２）のＰＤＬ形式のプリンタは、ＰＤＬで生成されたコマンドの解析及描画処理をプリンタコントローラ上で行う必要があるが、コストや設置スペースの制限等により、パーソナルコンピュータよりも処理速度が遅くなる場合が多い。そのため、専用のハードウェアを追加するような方法で処理速度の向上させている。
【０００５】
プリンタの処理速度を向上させるための従来技術としては、例えば、ホストコンピュータ及プリンタコントローラの処理能力を計数化し、得られた双方の処理能力を比較し、この比較結果から出力に関わる処理を前記ホストコンピュータと前記プリンタコントローラとに負荷配分するシステムが提案されている（特許文献１を参照）。
【０００６】
また、従来より、プリンタドライバのコマンド解析部によってバンド毎に生成された描画コマンドの負荷パラメータの計算結果をもとに、各バンド毎にホストコンピュータに存在するドライバ描画部と、プリンタ内に存在する高速描画デバイスと、高速描画デバイスと同等な描画機能を組込型ソフトウエアで実現した、プリンタ内に存在するＦ／Ｗ描画部（ファームウエア描画部）とのいずれかを使用して並列処理が可能な印刷システムが提案されている（特許文献２を参照）。
【０００７】
また、従来より、計測用プログラムファイルを実行し、ＣＰＵのパフォーマンスカウンタを使ってホスト装置及びプリンタ装置の処理能力を予測してプリンタ側で過負荷となる処理をホスト側で処理し、システム全体の処理能力を向上させる方法が提案されている（特許文献３を参照）。
【０００８】
また、従来より、ＰＤＬのコマンド毎に当該コマンドの処理にプリンタが要する時間、或いはプリンタが要するメモリ量を示す負荷パラメータを管理し、管理された負荷パラメータに基づいて対応するコマンド列である処理単位毎にプリンタの負荷を計算し、計算された負荷および変換されたコマンドからプリンタで処理する描画プログラムを生成する方法が提案されている（特許文献４を参照）。
【特許文献１】特開２００２−１９６９０７号公報
【特許文献２】特開２００１−１５０７３２号公報
【特許文献３】特開２００４−１６０６５９号公報
【特許文献４】特開平９−１６１０８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に記載の印刷システムでは、プリンタドライバが生成する中間言語について、ホストコンピュータとプリンタの負荷を配分するか、中間言語の出力形式を切り替える方法であり、ＰＤＬ形式のプリンタ言語の処理をホストコンピュータとプリンタコントローラに負荷配分するための工夫はなされていない。
【００１０】
また、特許文献２に記載の印刷システムでは、プリンタドライバが生成する中間言語について、ホストコンピュータとプリンタの負荷配分を行うものであり、やはり、ＰＤＬ形式のプリンタ言語の処理をホストコンピュータとプリンタコントローラに負荷配分するための工夫はなされていない。
【００１１】
また、特許文献３に記載の印刷システムでは、処理能力を測定する際、ＣＰＵのパフォーマンスカウンタを使って、ホスト及びコントローラの処理能力を予測し、その結果に基づいて、１つの文章単位でホストとコントローラに負荷配分を行っているが、中間言語について、負荷配分を行うための工夫はなされていない。
【００１２】
この点、特許文献４に記載の印刷システムでは、ＰＤＬ形式のプリンタに関するものであるが、印刷データをＰＤＬへ変換した後にプリンタにおける負荷の予測を行うのではなく、ＰＤＬを生成する過程で、同時に、当該負荷の予測を行うものであり、ホストコンピュータとプリンタコントローラに負荷配分するための工夫はなされていない。
【００１３】
そこで、本発明の目的は、ＰＤＬ形式のプリンタの処理を中間言語に変換し、中間言語毎に処理速度の負荷パラメータを予めホストコンピュータとプリンタコントローラ上で測定しておき、アプリケーションから印刷指示があった場合、その印刷データの処理時間を予測し、その結果により、ホストコンピュータとプリンタコントローラに負荷配分を行うことにより、ＰＤＬ形式で高速な描画が可能な印刷システムを提供することである。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明は、入力された文書データに基づいてコマンドをページ記述言語（ＰＤＬ）に変換するページ記述言語変換手段と、前記ページ記述言語を解析して、中間データを生成する中間データ生成手段と、前記中間データ生成手段で生成された中間データの負荷をプリンタ及びホストコンピュータ上で計測用プログラムを実行して取得する負荷パラメータ取得手段と、前記負荷パラメータ取得手段により取得した負荷パラメータを当該中間データに記憶させる負荷パラメータ記憶手段と、前記負荷パラメータ記憶手段で記憶された負荷パラメータに基づいて中間データの処理時間をプリンタ及びホストコンピュータ毎に計算する中間データ処理時間計算手段と、前記中間データ処理時間計算手段によって得られた両者の中間データ処理時間を比較する中間データ処理時間比較手段と、前記中間データ処理時間比較手段の比較結果に基づいて中間データの処理をプリンタとホストコンピュータとに負荷配分する負荷配分手段とを具備したことを特徴とする。
【００１５】
ここで、前記負荷配分手段は、バンド単位、ページ単位、あるいはジョブ単位のいずれの単位でも負荷配分を行うことができる。
【００１６】
また、本発明では、前記入力されたページ記述言語がビットマップイメージのみを含み、前記中間データ処理時間計算手段によって、ホストコンピュータ側に負荷を多く配分する設定となった場合は、中間データを生成しないで、１ページ全体をプリンタドライバ側で処理するようにしてもよい。
【００１７】
また、本発明では、前記入力されたページ記述言語が黒の文字のみを含み、前記中間データ処理時間計算手段によって、プリンタ側に負荷を多く配分する設定となった場合は、中間データを生成しないで、１ページ全体をプリンタコントローラ側で処理するようにしてもよい。
【００１８】
また、前記負荷パラメータを取得する際に実行する計測用プログラムは、ページ記述言語で記述される。また、前記計測用プログラムは、プログラム内容が変更可能である。
【００１９】
さらに、本発明に係る印刷システムのデータ処理方法では、入力された文書データに基づいてコマンドをページ記述言語に変換するページ記述言語変換工程と、前記ページ記述言語を解析して、中間データを生成する中間データ生成工程と、前記中間データ生成手段で生成された中間データの負荷をプリンタ及びホストコンピュータ上で計測用プログラムを実行して取得する負荷パラメータ取得工程と、前記負荷パラメータ取得工程により取得した負荷パラメータを当該中間データに記憶させる負荷パラメータ記憶工程と、前記負荷パラメータ記憶工程で記憶された負荷パラメータに基づいて中間データの処理時間をプリンタ及びホストコンピュータ毎に計算する中間データ処理時間計算工程と、前記中間データ処理時間計算工程によって得られた両者の中間データ処理時間を比較する中間データ処理時間比較工程と、前記中間データ処理時間比較工程の比較結果に基づいて中間データの処理をプリンタとホストコンピュータとに負荷配分する負荷配分工程とを順次実行することを特徴とする。
【００２０】
さらに、本発明に係る印刷システムの各手段としてコンピュータを機能させるためのプログラムは、入力された文書データに基づいてコマンドをページ記述言語に変換するページ記述言語変換手段と、前記ページ記述言語を解析して、中間データを生成する中間データ生成手段と、前記中間データ生成手段により生成された中間データ毎に当該中間データにプリンタ及びホストコンピュータが要する時間を示す負荷パラメータを記憶する負荷パラメータ記憶手段と、前記負荷パラメータ記憶手段で記憶された負荷パラメータに基づいて中間データの処理時間をプリンタ及びホストコンピュータ毎に計算する中間データ処理時間計算手段と、前記中間データ処理時間計算手段によって得られた両者の中間データ処理時間を比較する中間データ処理時間比較手段と、前記中間データ処理時間比較手段の比較結果に基づいて中間データの処理をプリンタとホストコンピュータとに負荷配分する負荷配分手段とを具備した印刷システムの各手段としてコンピュータを機能させるためのプログラムである。
【００２１】
さらに、本発明では、前記印刷システムのプログラムが記録されたコンピュータ読み取り可能な記録媒体をも提供する。
【発明の効果】
【００２２】
以上のとおり、本発明によれば、ＰＤＬ形式を使用した印刷システムで画像を出力する際に、システム全体で効率の良い高速な処理が可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の各実施形態について添付図面を参照して説明する。
【００２４】
図１は、本発明の実施形態に係る画像形成装置（デジタル複合機）の構造を簡単に示す側面断面図である。この画像形成装置は、装置外部から与えられる画像データに基づき用紙Ｐａに対してフルカラーまたはモノクロの画像を形成した用紙Ｐｂを出力する。
【００２５】
このため、本画像形成装置は、露光ユニット１９と、感光体ドラム１２ａ〜１２ｄと、現像装置１３ａ〜１３ｄと、トナーカートリッジ２３ａ〜２３ｄと、画像を形成するための中間転写ベルト１１、二次転写ローラ１４、および一次転写ローラと、加熱ローラ（定着ローラとも言う）および加圧ローラからなる定着ユニット２１と、用紙さばきローラ１６と、排紙トレイ１８とを備えている。
【００２６】
なお、図１において、用紙の搬送路は一点鎖線で示されており、搬送ローラを含む所定のローラ等により用紙が搬送経路を導かれる構成であるが、詳しい説明は省略する。
【００２７】
この画像形成装置は、ブラック（Ｋ）、並びに減法混色の３原色であるシアン（Ｃ）、マゼンタ（Ｍ）、およびイエロー（Ｙ）からなる４色の各色相に対応した画像データに基づき画像形成を行う。例えば、画像形成装置には、ブラックの画像形成を行うため、感光体ドラム１２ａ、現像装置１３ａ、帯電ローラ、およびクリーニングユニットが備えられており、他の３色の画像形成を行うため、同様の構成（感光体ドラム１２ｂ〜１２ｄおよび現像装置１３ｂ〜１３ｄ等）が備えられている。これらの構成要素は、中間転写ベルト１１の移動方向に沿って図１に示されるように一列に配置されている。
【００２８】
帯電ローラは、像の担持体である感光体ドラム１２ａ〜１２ｄの表面を所定の電位になるよう均一に帯電させる接触方式の帯電器である。なお、本実施形態では帯電装置として上記帯電ローラを使用しているが、使用される帯電装置は上記帯電ローラに限定されるものではなく、例えばファーブラシ、磁気ブラシ、コロナワイヤーを使用するものや、ノコ歯状のもの、またはイオン発生装置等、感光体に対して所望の帯電電位を付与するものであれば使用可能である。
【００２９】
レーザビーム走査装置である露光ユニット１９は、半導体レーザと、ポリゴンミラー１５と、複数の反射ミラー等とを含んでおり、ブラック、シアン、マゼンタ、およびイエローの各色相に対応した画像データに基づき変調された４つのレーザビームのそれぞれを、対応する感光体ドラム１２ａ〜１２ｄの表面に照射する。
【００３０】
このことにより、感光体ドラム１２ａ〜１２ｄの表面には、ブラック、シアン、マゼンタ、およびイエロー各色相に対応した画像データに基づく静電潜像が形成される。なお、上記半導体レーザに代えて、例えばＥＬやＬＥＤなどをアレイ状に配列した周知の書込みヘッドが使用されてもよい。
【００３１】
トナーカートリッジ２３ａ〜２３ｄは、現像装置１３ａ〜１２ｄの上部近傍に着脱自在に取り付けられており、ブラック、シアン、マゼンタ、またはイエローの色相に対応した現像剤であるトナーを貯留する。
【００３２】
現像装置１３ａ〜１３ｄは、静電潜像が形成された感光体ドラム１２ａ〜１２ｄの表面にトナーを供給し、静電潜像を現像剤像であるトナー像に顕像化する。具体的には、現像装置１３ａ〜１３ｄは、上部に取り付けられたトナーカートリッジ２３ａ〜２３ｄの図示されない供給口から上記色相に対応したトナーを受けとり、このトナーにより感光体ドラム１２ａ〜１２ｄに形成された色相に対応した静電潜像をブラック、シアン、マゼンタ、またはイエローの色相に対応したトナー像に顕像化する。また、クリーニングユニット１７は、現像および画像転写後における感光体ドラム１２ａ〜１２ｄの表面に残留したトナーを除去し回収する。
【００３３】
中間転写ベルト１１は、厚さ１００μｍ〜１５０μｍ程度のフィルムが無端状に形成された構造であって、駆動ローラと従動ローラとの間に張架されて図１に示されるようなループ状の移動経路を形成している。この中間転写ベルト１１の外周面は、感光体ドラム１２ｄ、感光体ドラム１２ｃ、感光体ドラム１２ｂ、および感光体ドラム１２ａに対向しており、中間転写ベルト１１はこれらの順番で各感光体ドラム１２ａ〜１２ｄに対向するよう回転する。この中間転写ベルト１１を挟んで各感光体ドラム１２ａ〜１２ｄに対向する位置には、一次転写ローラが配置されている。
【００３４】
これらの一次転写ローラは、直径８〜１０ｍｍの金属製（例えばステンレス製）の軸をベースとし、その表面が導電性の弾性材（例えばＥＰＤＭや発泡ウレタン等）により覆われているローラである。この導電性の弾性材により、中間転写ベルト１１に対して均一に高電圧を印加することができる。なお、ここではローラ形状であるものとしたが、ブラシなどであってもよい。
【００３５】
フルカラー画像を形成する場合、この一次転写ローラには、感光体ドラム１２ａ〜１２ｄの表面に担持されたトナー像を中間転写ベルト１１上に転写するために、トナーの帯電極性（−）と逆極性（＋）の定電圧である一次転写バイアスが印加される。また、この一次転写ローラは、中間転写ベルト１１の内周面に所定のニップ圧で圧接されている。このことによって、感光体ドラム１２ａ〜１２ｄに形成された各色相に対応するトナー像は中間転写ベルト１１の外周面に順次重ねられるように転写され、中間転写ベルト１１の外周面にフルカラーのトナー像が形成される。
【００３６】
また、モノクロ画像を形成する場合には、ブラックの感光体ドラム１２ａに対向する位置に配置される一次転写ローラのみが帯電し、その他の感光体ドラム１２ｂ〜１２ｄに対向する位置に配置される一次転写ローラは帯電せず、所定の離接機構により中間転写ベルト１１から所定距離だけ離される。このことにより、中間転写ベルト１１の外周面にはブラックのトナー像のみが形成される。
【００３７】
このように、中間転写ベルト１１の外周面に転写されたトナー像は、中間転写ベルト１１の回転によって、二次転写ローラ１４と対向する位置に搬送される。二次転写ローラ１４は、画像形成時において、内周面が駆動ローラの周面に接触する中間転写ベルト１１の外周面に所定のニップ圧で圧接されている。なお、このように圧接する場合、１対のローラの一方は金属等の硬質材料からなり、他方は弾性ゴムローラまたは発泡性樹脂ローラ等の弾性材料からなる。
【００３８】
用紙Ｐａを収納する給紙カセットから用紙Ｐａを一枚ずつ引き出す用紙さばきローラ１６により給紙される用紙は、二次転写ローラ１４と中間転写ベルト１１との間を通過する際に、トナーの帯電極性とは逆極性の高電圧を二次転写ローラ１４によって印加される。これにより、中間転写ベルト１１の外周面から用紙の表面にフルカラーまたはモノクロのトナー像が転写される。なお、中間転写ベルト１１に付着したトナーのうち用紙上に転写されることなく中間転写ベルト１１上に残存したトナーは、混色を防止するため、従動ローラに摺接するよう設けられるクリーニングブレードを含むクリーニングユニットによって回収される。
【００３９】
このフルカラーまたはモノクロ画像であるトナー像が転写された用紙は、定着ユニット２１に導かれ、定着ユニット２１を構成する加熱ローラと加圧ローラとの間を通過して加熱および加圧を受ける。なお、加熱ローラは、図示されない温度検出器からの信号に基づいて制御部によって所定の定着温度となるように設定されている。この定着ユニット２１の動作によって、トナー像は、用紙の表面に堅牢に定着する。トナー像が定着した用紙Ｐｂは、排紙ローラによって排紙トレイ１８上に（印刷面を下側に向けて）排出される。
【００４０】
以上のような画像の形成動作は、図示されない電動モータやギヤなどを含む複数の駆動部と、これらの駆動部を制御する制御部とにより行われ、上記制御部の機能は、図示されないセンサや操作入力部などの情報を受け付けるマイクロコンピュータにより実現される。以下、この制御部の機能を含む本画像形成装置の機能的な構成について説明する。
【００４１】
図２は、本実施形態の画像形成装置の機能的な構成を示すブロック図である。この図２に示される画像形成装置１０は、外部のコンピュータ端末であるデータ処理装置２等から所定の通信回線を介して与えられる印刷用データを受け取り、受け取った印刷用データに応じた画像を所定の用紙上に出力する。
【００４２】
なお、上記印刷用データは、具体的には画像形成装置１０において解釈可能なページ記述言語（ＰＤＬ：Page Description Language）により記述されるデータを含むファイルである。また、画像形成装置１０とデータ処理装置２とは、所定のケーブルやハブなどからなるＬＡＮ（Local Area Network）５により相互に通信可能に接続される。なお、このＬＡＮ５に代えて、ＷＡＮ（Wide Area Network）やインターネットなど周知の相互通信網またはＵＳＢ（Universal Serial Bus）接続や各種パラレルインタフェースなどの通信接続手段が使用されてもよい。
【００４３】
この画像形成装置１０は、ＣＰＵ（Central Processing Unit ）１０１、メモリ（半導体メモリ）１０２、および各種インタフェースなどにより構成されるプリンタコントローラ（基板）１００と、液晶ディスプレイ等からなる表示装置とタッチパネルやボタンなどからなる入力装置とを含む操作表示部２０と、ディスク状の磁気記憶媒体を含むハードディスク記憶装置（以下「ハードディスク」または「ＨＤＤ」と略称する）３０と、用紙に画像を形成して当該用紙を装置外へ排出するための画像形成部４０とを備えている。
【００４４】
画像形成部４０は、ビデオコントローラ１１５を介して印刷のためのビットマップデータを受け取り、対応する画像を所定の用紙上に形成する。なお、画像形成部４０における画像形成機構の詳細な構成については図１を参照して前述したとおりである。
【００４５】
図２に示されるように、プリンタコントローラ１００は、ＣＰＵ１０１と、メモリ１０２と、操作表示部２０との接続インタフェースである操作表示部インタフェース１１２と、ハードディスク３０との接続インタフェースであるハードディスクインタフェース１１３と、後述するバンドデータを圧縮または伸張する圧縮伸張回路１１４と、画像形成部４０との接続インタフェースであるビデオコントローラ１１５と、ＬＡＮ５を介してデータ処理装置２との間で通信を行うネットワークインタフェース１１６とを備える。
【００４６】
なお、上記ＣＰＵ１０１と、自由に読み書き可能なメモリであるＲＡＭ（Random Access Memory）と読み出し専用のメモリであるＲＯＭ（Read Only Memory）からなるメモリ１０２と上記各種インタフェースとは、それぞれ所定のバス（メモリバス、システムバス、またはペリフェラルバスなど）で接続されている。これらのバスによる接続は一般的なコンピュータにおける周知の構成であるため、その詳しい説明は省略する。
【００４７】
このプリンタコントローラ１００は、対象となる文書の画像を光学的に読み取る図示されないスキャナユニットにより読み取られた画像を所定の用紙上に形成して出力するいわゆる複写機能や、外部のデータ処理装置２から受け取った印刷データ（画像データ）を所定の用紙上に形成して出力するいわゆるプリンタ機能などの周知の各種機能を有している。
【００４８】
これらの機能は、典型的にはメモリ１０２のＲＯＭに内蔵され、またはＲＡＭに展開された所定のプログラムをＣＰＵ１０１が実行することにより実現される。ここで、上記プログラムは、例えば、そのプログラムを記録した記録媒体であるＣＤ−ＲＯＭによって提供される。すなわち、上記プログラムの記録媒体としてのＣＤ−ＲＯＭが本画像形成装置１０内に補助記憶装置として内蔵された図示されないＣＤ−ＲＯＭ駆動装置に装着され、そのＣＤ−ＲＯＭから上記プログラムが読み出されてハードディスク３０にインストールされる。また、上記プログラムは、ＣＤ−ＲＯＭ以外の記録媒体や通信回線を介して提供されてもよい。
【００４９】
そして、本画像形成装置１０の起動のための所定操作がなされると、ハードディスク３０にインストールされた所定プログラムは、上記ＲＡＭに転送されてそこに展開され、ＣＰＵ１０１によって実行される。これにより、上記各種機能が実現される。
【００５０】
次に、上記プリンタ機能に着目し、データ処理装置２でアプリケーションからの印刷指示らプリンタコントローラでの画像の印刷を行うまでの各種処理機能について図３及図４を参照して詳細に説明する。
【００５１】
図３は、印刷システムにおけるデータ処理装置２においてアプリケーションから渡された印刷データをプリンタコントローラ１００へ送信するまでの構成を示すブロック図である。図３に示されるようにデータ処理装置２は、オペレーディングシステム２００と、アプリケーションプログラム２０１とを備えている。
【００５２】
オペレーディングシステム２００はＧＤＩ（グラフックデバイスインタフェース）モジュール２０２と、プリンタドライバ２０３と、スプーラ２１１とを備えている。プリンタドライバ２０３は、ＤＤＩ（デバイスドライバインタフェース）インタフェース２０４と、ユーザインタフェース部２０６と、ＰＤＬデータ生成部２０５と、ＰＤＬコマンド解析部２０７と、中間データ生成部２０８と、ドライバ描画部２０９と、負荷計測モジュール２１０とからなっている。
【００５３】
図４において、プリンタコントローラ１００は、プリンタインタフェース３００と、受信バッファ３０１と、コマンド解析部３０２と、中間データ生成部３０３と、負荷計測モジュール３０４と、プリンタ描画部３０５と、ページメモリ３０６と、印刷制御部３０７とから構成されている。
【００５４】
オペレーディングシステム２００は、ＧＤＩモジュール２０２をアプリケーションプログラム２０１に対して提供しているものである。
【００５５】
ＧＤＩモジュール２０２は、デバイスドライバ開発のために予め規定されたプリンタやディスプレイ等の出力デバイスには依存しないグラフィックス用インタフェースをアプリケーションプログラム２０１に対して提供するものである。
【００５６】
また、ＧＤＩモジュール２０２は、デバイスドライバ開発のために予め規定されたＤＤＩインタフェース２０４をデバイスドライバに対して提供する。デバイスドライバは、このＤＤＩに合わせて、対応するデバイス（本実施形態の場合はプリンタドライバ２０３）を設計する。ＧＤＩモジュール２０２は、デバイス非依存形式のＧＤＩのファンクションコールをデバイス依存形式のＤＤＩファンクションコールに変換する役割をもつ。
【００５７】
プリンタドライバ２０３は、アプリケーションプログラム２０１からＧＤＩモジュール２０２を通じて与えられる描画命令を、プリンタコントローラ１００が認識できる出力データ形式に変換するものである。
【００５８】
ユーザインタフェース部２０６は、ユーザからの詳細な印刷設定の情報を取得する機能を有する。ＤＤＩインタフェース２０４は、ＧＤＩの描画ファンクションを描画するために解析可能なコマンドへ変換するインタフェースである。
【００５９】
ＰＤＬデータ生成部２０５は、ＤＤＩインタフェース２０４から与えられたコマンドをＰＤＬ形式のコマンドへ変換する。
【００６０】
ＰＤＬコマンド解析部２０７は、ＰＤＬデータ生成部２０５で生成されたＰＤＬ形式のコマンドを解析する。
【００６１】
負荷計測モジュール２１０は、計測用データをデータ処理装置２上で実行させ、各中間データの処理時間を計測する。この計測用データは、プリンタドライバがデータ処理装置２にインストールされたときに実行される。また、データ処理装置２のメモリが増設された場合や、ＣＰＵの動作周波数やキャッシュ容量が変わった場合には、ユーザインタフェース部２０６から手動で実行できるようになっている。
【００６２】
また、プリンタコントローラ１００にも同様に負荷計測モジュール３０４があり、プリンタコントローラ１００の初期化の際に計測用プログラムが実行され、各中間データの処理時間が計測される。この計測データは、ＬＡＮ５を介して、データ装置２へ転送され、負荷計測モジュール２１０により保持される。
【００６３】
中間データ生成部２０８は、解析されたＰＤＬコマンドを受け取り、このＰＤＬコマンドに基づき生成されるべきバンドデータ単位で分類された印刷のための周知の中間データを生成する。この中間データには、描画すべき対象を表すオブジェクトを構成するためのデータおよびその属性（すなわちオブジェクトの種類、座標、および色情報等）が記述されている。また、中間データ生成の際、生成された各中間データに計測負荷モジュール２１０で計測された双方のデータを付加する。
【００６４】
１ページの中間データが生成されたならば、バンド毎にプリンタドライバ側とプリンタコントローラ側の計測データの集計を行う。両者の集計結果を比較し、プリンタドライバ側で描画したほうが速い場合は、ドライバ描画部２０９に中間データを画像形成装置で印刷可能なビットマップ画像データに変換し、圧縮されＬＡＮ２を介してプリンタコントローラ１００へ渡される。逆に、プリンタコントローラ側で処理したほうが速いバンドについては、中間データのまま、ＬＡＮ２を介してプリンタコントローラ１００へ渡される。
【００６５】
データ処理装置２から送信されてきた、中間データ及びビットマップ画像データは、プリンタインタフェース３００により、プリンタコントローラ１００へ取り込まれる。
【００６６】
取り込まれたデータは、受信バッファ３０１で一時的に保持される。受信バッファ３０１にデータが受信されると、コマンド解析部３０２は、受信バッファ３０１からデータを読み出し、データを順次解析する。データがＰＤＬコマンドの場合は、順次コマンドを解析し、中間データ生成部３０３で中間データを生成する。データがＰＤＬコマンドではなく、中間データ又はビットマップデータの場合は、プリンタ描画部３０５へ渡される。中間データの場合は、各バンドデータ単位に、対応する中間データに基づきビットマップ画像データを生成し、圧縮伸張回路１１４によって圧縮する。ビットマップ画像データの場合は、なにも処理は行わない。
【００６７】
バンドメモリ制御部３０６は、生成されたビットマップ画像データをハードディスク３０へ順次格納する。
【００６８】
印刷制御部３０７は、１ページ分のデータがハードディスク３０へ保存されると、印刷処理を実行する。ハードディスク３０からバンドデータ単位でビットマップ圧縮データを読み出し、圧縮伸張回路１１４により、読み出された画像データを伸張し、ビデオコントローラ１１５に転送する。ビデオコントローラ１１５は、画像形成部４０から画像データの転送要求が発信されると、所定の同期信号にあわせて画像データを画像形成部４０へ送信する。
【００６９】
ＰＤＬデータ生成部２０５で生成されたコマンドがラスターデータの場合でかつプリンタドライバ側の処理速度が速い場合は、中間言語生成後、バンド単位での処理速度の比較は行わず、ページ全体をドライバ描画部２０９でビットマップ画像データに変換する。コマンドがラスターデータの場合には、中間データ変換した後もラスターイメージデータを保持する必要があるため、文字やベクタグラフックの場合に比べると、中間データの容量が大きくなる。このため、データ処理装置２からプリンタコントローラ１００への転送時間が長くなり、印刷速度が遅くなる場合があるため、プリンタドライバ側ですべてビットマップ画像を生成したほうが処理を高速化できる。
【００７０】
また、ＰＤＬデータ生成部２０５で生成されたコマンドが黒文字のみの場合は、中間コードを生成せず、ＰＤＬコマンドのままプリンタコントローラ１００へ送信する。文字データの場合は、中間コードを生成する際にフォントデータをビットマップデータへ変換するため、ＰＤＬコマンドのデータサイズよりは大きくなってしまうため印刷速度が遅くなる場合があり、ＰＤＬコマンドで送信する方が効率的である。
【００７１】
図５は、本印刷システムによって実行されるプリンタドライバ側の負荷計測処理の流れを説明するフローチャートであり、図６は、本印刷システムによって実行されるプリンタコントローラ側の負荷計測処理の流れを説明するフローチャートである。
【００７２】
まず、プリンタドライバをデータ処理装置２にインストールするとき（ステップＳ１０１）、通常のインストールに加えて、プリンタドライバ側の処理能力の計測を行なう。まず、ドライバ負荷計測モジュール２１０で、計測用データを実行する（ステップＳ１０２）。計測データはプリンタドライバが生成するＰＤＬ形式のデータで、すべての中間コード（文字、矩形、ラスター）を生成するようなコマンドが含まれている。また、本計測データは、データの内容を変更することが可能となっている。使用するアプリケーションや出力する文章に特化した計測データに変更することにより、使用実態に合わせた計測データの取得が可能となる。ＰＤＬコマンドを解析し、中間コードを生成してＯＳの内部タイマにより、各中間コードにかかった時間を計測する（ステップＳ１０３）。
【００７３】
次に、プリンタドライバの出力先に設定されているプリンタから、ＬＡＮ２を介して、プリンタ側の計測データを取得する（ステップＳ１０４）。双方の計測データを格納し（ステップＳ１０５）、処理を終了する。プリンタドライバ２０３のユーザインタフェース部２０６で計測処理の強制実行が選択された場合も（ステップＳ１０６）、ステップＳ１０２からＳ１０５を実行する。
【００７４】
次に、プリンタコントローラ側の計測処理について説明する。プリンタ１０の電源が投入されると、プリンタコントローラ１００の初期化が行われる（ステップＳ２０１）。プリンタ負荷計測モジュール３０４で、計測用データを実行する（ステップＳ２０２）。計測データはプリンタドライバが生成するＰＤＬ形式のデータで、すべての中間コード（文字、矩形、ラスター）を生成するようなコマンドが含まれている。ＰＤＬコマンドを解析し、中間コードを生成してプリンタコントローラの内部タイマにより、各中間コードにかかった時間を計測する（ステップＳ２０３）。計測データをプリンタコントローラ１００に格納し（ステップＳ２０４）、処理を終了する。
【００７５】
図７から図９は、本印刷システムで使用される中間コードのデータ形式を示すものである。プリンタドライバ２０３のＰＤＬデータ生成部２０５で生成されたＰＤＬコマンドは、ＰＤＬコマンド解析部２０７で順次解析され、中間データ生成部２０８で図７から図９に示す中間コードに変換される。生成された中間コード毎にドライバ負荷計測モジュール２１０とプリンタ負荷計測モジュール３０４で計測されたデータを格納する。
【００７６】
以上のとおり、本発明では、描画コマンド単位で、プリンタ及びホストコンピュータ毎の処理能力を計測した上で、データ処理負荷の分散をするので、ＰＤＬ形式を使用した印刷システムで画像を出力する際に、システム全体で効率の良い高速な処理が可能となる。
【００７７】
なお、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で多くの修正・変更を加えることができるのは勿論である。例えば、中間データの処理をプリンタとホストコンピュータとに負荷配分する場合、バンド単位のみならず、ページ単位、あるいはジョブ単位であってもよいことは勿論である。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施形態に係る印刷システムの概略構成を示す側面図
【図２】印刷システムの機能構成ブロック図
【図３】印刷システムにおけるプリンタドライバ側の機能構成を順に示すブロック図
【図４】印刷システムにおけるコントローラ側の機能構成を順に示すブロック図
【図５】印刷システムによって実行されるプリンタドライバ側の負荷計測処理の流れを説明するフローチャート
【図６】印刷システムによって実行されるプリンタコントローラ側の負荷計測処理の流れを説明するフローチャート
【図７】印刷システムで使用される文字描画命令における中間コードのデータ形式を示す図
【図８】印刷システムで使用される図形描画命令における中間コードのデータ形式を示す図
【図９】印刷システムで使用されるラスタデータ描画命令における中間コードのデータ形式を示す図
【符号の説明】
【００７９】
２      …データ処理装置
５      …ＬＡＮ
１０    …画像形成装置
１１    …中間転写ベルト
１２ａ〜１２ｄ  …感光体ドラム
１３ａ〜１３ｄ  …現像装置
１４    …二次転写ローラ
１５    …ポリゴンミラー
１６    …用紙さばきローラ
１８    …排紙トレイ
１９    …露光ユニット
２０    …操作表示部
２１    …定着ユニット
２３ａ〜２３ｄ  …トナーカートリッジ
３０    …ハードディスク
４０    …画像形成部
５０    …ＰＤＬインタプリタ
６０    …印刷制御部
１００  …プリンタコントローラ
Ｐａ，Ｐｂ  …用紙
【図１】
2009048465.tif 000003
【図２】
2009048465.tif 000004
【図３】
2009048465.tif 000005
【図４】
2009048465.tif 000006
【図５】
2009048465.tif 000007
【図６】
2009048465.tif 000008
【図７】
2009048465.tif 000009
【図８】
2009048465.tif 000010
【図９】
2009048465.tif 000011