JPH11143656A - 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 - Google Patents

印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Info

Publication number
JPH11143656A
JPH11143656A JP9301999A JP30199997A JPH11143656A JP H11143656 A JPH11143656 A JP H11143656A JP 9301999 A JP9301999 A JP 9301999A JP 30199997 A JP30199997 A JP 30199997A JP H11143656 A JPH11143656 A JP H11143656A
Authority
JP
Japan
Prior art keywords
data
printing
data processing
processing
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9301999A
Other languages
English (en)
Inventor
Toshiya Mihashi
俊哉 三橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP9301999A priority Critical patent/JPH11143656A/ja
Publication of JPH11143656A publication Critical patent/JPH11143656A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【課題】 印刷装置側が受信するデータの種別によって
は印刷処理が遅延するようなデータであっても、印刷装
置の出力能力を損ねることなく、最大スループットを維
持した印刷を効率よく行えることである。 【解決手段】 プリントプロセッサ2032,RIP部
2033によりアプリケーションからの印刷要求に伴っ
て生成される描画情報に基づいて作成される所定のペー
ジ記述言語データをデバイスに依存しないプログラミン
グ言語で記述される変換資源により前記デバイスに依存
する中間コードまたは前記印刷装置が印刷可能なビット
マップイメージデータに変換する構成を特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、所定の通信媒体を
介してデータ処理装置と印刷装置とが通信可能な印刷シ
ステムおよび印刷システムのデータ処理方法およびコン
ピュータが読み出し可能なプログラムを格納した記憶媒
体に関するものである。
【0002】
【従来の技術】従来、ホストコンピュータからの印刷情
報を受けて動作する印刷装置や複写機を含む情報処理シ
ステム、特にPCLやLIPSやPostScript
の名称で一般的に知られているページ記述言語(以下、
PDL(Page Description Lang
uage))を搭載する印刷装置とその印刷装置のため
にホストコンピュータ側で用意されるプリンタドライバ
またはプリントプロセッサなどと呼ばれる印刷情報デー
タを処理するソフトウエアモジュール群を合わせた印刷
データ処理装置を含む印刷システムが各種提案されてい
る。
【0003】以下、従来の印刷システムにおける印刷制
御方法および処理の流れについて説明する。
【0004】一般的には、セントロニクスインタフェー
スといったパラレル通信手段やネットワーク通信手段を
介してホストコンピュータと印刷装置とが接続され印刷
システムを構成している。ホストコンピュータ側では、
ワードプロセッサや表計算のようなアプリケーションソ
フトウエア(以下、アプリと略称)がWindows
(米国Microsoft社の登録商標)のようないわ
ゆる基本ソフトの上で動作している。
【0005】このアプリにおいて印刷を行う場合は、そ
のプログラム内から基本ソフトが提供するいくつかのサ
ブシステムのうちの画像情報処理手段であるところのグ
ラフィックサブシステムの機能を用いて行う。
【0006】このグラフィックサブシステムは、例え
ば、Windowsでは、GDI(Graphic D
evice Interface)と呼ばれておりディ
スプレイやプリンタに対する画像情報の処理を司ってい
る。
【0007】このGDIは、ディスプレイやプリンタと
いった各デバイス毎の依存性を吸収するためにデバイス
ドライバと呼ばれるソフトウエアモジュールを動的にリ
ンクし、それぞれのデバイスに対する出力処理を行う。
【0008】とりわけ、プリンタに対するこのモジュー
ルは「プリンタドライバ」と呼ばれる。このプリンタド
ライバでは、その能力や機能などに応じてあらかじめデ
バイスドライバに実装することが決められているDDI
(Device Driver Interface)
と呼ばれる関数群を用意する必要がある。
【0009】アプリがシステムに対して行うAPI(A
pplication Programing Int
erface)コールをGDIがデバイスドライバ用に
データ変換を行い、このDDI関数群が適宜GDIから
コールされ所定の印刷処理が実行されるような仕組みに
なっており、GDIは、このようにプリンタドライバを
介してアプリからの印刷要求を処理している。
【0010】また、このようにして処理されたデータ
は、スプールサブシステムと呼ばれる印刷装置に特有の
サブシステムに渡され処理される。ここでは、印刷デー
タを印刷装置に送出する前に一時的にハードディスク等
のデータ格納手段にデータを貯えるスプーリング処理を
行ったり、印刷装置の状態を監視するプロセスが実行さ
れたりする。
【0011】以上、従来の印刷システムにおけるホスト
コンピュータ側の構成要素について説明したが、PDL
プリンタを例に取り印刷装置側の従来構成と印刷システ
ムの処理の流れについて説明する。
【0012】PDLプリンタでは、印刷装置内にPDL
コントローラと呼ばれる印刷データ処理装置が存在す
る。このPDLコントローラでは、PDLデータの受信
処理,PDLデータの解釈処理,印刷データの生成,該
印刷データに基づく印刷イメージの描画展開処理,プリ
ンタエンジンに対するページスケジューリング等の処理
が行われている。
【0013】印刷装置側のPDLコントローラにおいて
は、PCカードやROM−DIMMなどといった記憶媒
体によって、任意のPDLに対応するようにファームウ
エアを追加できる構成が取られているものが多いが、こ
れらを構成するソフトウエアプログラムは、PDLコン
トローラのハードウエア(特にCPU)に依存した命令
コードとなっており、その部分をPDLコントローラ以
外の部分(例えば、ホストコンピュータ側)で動作させ
るようなことはなかった。
【0014】このようなPDLコントローラを搭載する
印刷装置に対するプリンタドライバの処理としては、G
DIからの描画指示があってもホストコンピュータ側で
描画処理を行うわけではなく、どんな描画を行うのかを
単にPDLコードとして書き直すだけの変換作業を行う
のが一般的である。
【0015】例えば、GDIからプリンタドライバに対
し、線幅10ドットで半径100ドットの円を描画せよ
という指示が来ると、その指示に対応するPDLの命令
として、線幅指定命令や、円描画命令といったPDLの
命令に置き換えるデータ変換処理を行うのみで、ホスト
コンピュータ側で実際にその円を描画するわけではなか
った。
【0016】また、スプールサブシステムにおいては、
印刷装置側の受信バッファが一杯になると、データ送出
可能になるまで待機することになるが、この待機してい
る期間には特に何か別の処理を行うと言うことはなかっ
た。
【0017】さらに、ネットワーク環境下におけるプリ
ントサーバのようなものでは、このスプールサブシステ
ムには複数のユーザの印刷ジョブが貯えられることにな
る。このため、既に複数の印刷ジョブデータがスプール
されて待ち状態になっているような状態では、アプリか
ら印刷を実行しても、印刷結果が印刷装置から出力され
るまでにはしばらく待たされるようなこともよくあるこ
とである。
【0018】また、スプールサブシステムでは、例えば
Windowsにおいてランゲージモニタと呼ばれるプ
ロセスが実行され、IEEE−1284に準拠する印刷
装置との双方向通信によって、各印刷ジョブの排紙完了
や印刷装置内で発生したエラー情報などの印刷装置側の
カレントステータスを知ることが可能であるが、そこで
得られた状態情報によってスプーラの処理を動的に変更
するようなことは従来の印刷システムでは行っていなか
った。
【0019】さらに、Windowsには、このスプー
ルサブシステムによって動的にリンクされ動作するプロ
セスとして、プリントプロセッサと呼ばれるものが存在
する。
【0020】このプロセスでは、プリンタドライバまた
はシステム(GDI)が作成した印刷情報データをハー
ドディスク等の格納手段に貯め込んだり、貯め込まれた
印刷情報データをプリンタに送出したりする処理を専門
に行うデータ加工を行うフィルタのような部分である
が、従来は、プリンタドライバが作成したPDLコード
列は、このプリントプロセッサでページ単位で情報の順
序操作などが行われている場合もあるが、この段階でP
DLの解析処理を行いプリンタ内で描画処理を行う際に
利用する中間コードに変換したり、印刷イメージまで展
開してしまうようなことはされていなかった。
【0021】これは、一般的に印刷イメージの展開処理
は前段のプリンタドライバで行うものとされていたた
め、スプールサブシステムにおいては印刷イメージの展
開処理をするようなことは考えられていないためであ
る。
【0022】従来、ホスト側とプリンタ側で印刷処理の
負荷分散を図る場合、事前に印刷データの内容を見て処
理時間の予測を行い負荷の分散加減を調整する方法や、
プリンタ内のカレントステータスをホストコンピュータ
側にフィードバックしてプリンタドライバの処理内容を
変更するといった方法が取られている。
【0023】
【発明が解決しようとする課題】しかしながら、上記従
来例では次のような問題点があった。
【0024】第1に、ネットワーク環境下で複数ユーザ
に共有されるPDLプリンタの場合、PDLコントロー
ラの処理能力が十分に高くないと、そこがボトルネック
となり印刷装置の利用効率が低下してしまう。
【0025】第2に、印刷装置自身の処理能力を高め、
上記第1の問題を解決するためには、印刷装置側により
高性能なCPUやより多くのメモリが必要となり、印刷
装置のコストアップ要因となってしまう。
【0026】第3に、PDLコントローラは印刷装置内
で固定的なハードウエアとして存在しているため、時代
とともに性能の陳腐化が起こる。
【0027】一般的にPDLコントローラを搭載する印
刷装置では、印刷データがプリンタ内に送られても、P
DLデータをプリンタ内で解析し、描画展開処理のため
にある程度の時間が存在する。
【0028】つまり、印刷データをプリンタに送り切っ
ても、プリンタエンジンが始動し実際の印刷結果がプリ
ントアウトされるまでには、プリンタ内での処理時間分
の待ちが生じることになり、この時間によって高速エン
ジンのもつ機構的な能力が十分に生かし切れていなかっ
た。
【0029】その結果として、印刷装置が複数のユーザ
に十分共用されない場合があり問題となっていた。特
に、印刷すべき紙面をPDL化した印刷データに複雑度
の高い図形や、そのイメージに対する回転や変形といっ
たプリンタコントローラにとって負荷の高い処理が含ま
れている場合や、小さな文字や細かい図形が紙面いっぱ
いに描画されたり、描画されるものが積層構造になって
いるような場合、描画すべきオブジェクト数が極端に多
くなり、そのための処理時間がかかり結果として高速な
エンジンであってもそのエンジン性能を最大限に発揮で
きていない場合もある。
【0030】例えば、1分間にA4サイズの用紙を24
枚印刷可能な印刷機構を持つ印刷装置があって、それが
ネットワーク環境下で複数のユーザで共有されていたと
して、あるユーザがその印刷装置に送った印刷データ
は、24ページある仕様書であったが、その内容は非常
に細かい図形が多数貼り付けられていたり複雑なクリッ
ピング処理を多用するような画像であったためすべての
出力までに6分かかったとする。
【0031】仮に、24ページがすべて均等の処理時間
だったと仮定すると、24PPMという高速エンジンで
あっても、結果的には4PPMの低速エンジンで出力す
るようなものとなってしまう。
【0032】このようにプリンタコントローラの性能が
エンジン速度に見合った性能を出せないようなケースで
は、結果的に印刷待ち状態が多発してしまい、効率的な
業務の遂行に支障をきたす可能性があった。
【0033】また、一般的に高速なエンジンは高価であ
り、その能力が十分に生かされないままとなってしまう
ことは、メーカからすれば機構的な面において過剰スペ
ックであり、ユーザからすれば設備投資に対する無駄使
いともなりかねないことになり、このような状況に対し
て何のソリューションもなされていなかった。
【0034】本発明は上記の問題点を解消するためにな
されたもので、本発明の目的は、印刷装置から取得する
変換資源に基づいて印刷装置がデータ処理装置から受信
するデータに基づく異なるデータ変換処理をデータ処理
負担状況に応じて最適ないずれかの変換処理をデータ処
理装置側で実行することにより、印刷装置側が受信する
データの種別によっては印刷処理が遅延するようなデー
タであっても、印刷装置の出力能力を損ねることなく、
最大スループットを維持した印刷を効率よく行える印刷
システム環境を自在に構築することができる印刷システ
ムおよび印刷システムのデータ処理方法およびコンピュ
ータが読み出し可能なプログラムを格納した記憶媒体を
提供することである。
【0035】
【課題を解決するための手段】本発明に係る第1の発明
は、所定の通信媒体を介してそれぞれ異なるデバイスを
備えるデータ処理装置と印刷装置とが通信可能な印刷シ
ステムであって、アプリケーションからの印刷要求に伴
って生成される描画情報に基づいて作成される所定のペ
ージ記述言語データを前記デバイスに依存しないプログ
ラミング言語で記述される変換資源により前記デバイス
に依存する中間コードまたは前記印刷装置が印刷可能な
ビットマップイメージデータに変換する複数の変換手段
を有するものである。
【0036】本発明に係る第2の発明は、前記データ処
理装置は、前記印刷装置に記憶される前記変換資源をダ
ウンロードするものである。
【0037】本発明に係る第3の発明は、前記データ処
理装置側で変動するデータ処理負担状況を監視する監視
手段と、前記監視手段のデータ処理負担状況を判定し
て、いずれかの変換手段を選択する選択手段とを有する
ものである。
【0038】本発明に係る第4の発明は、所定の通信媒
体を介してそれぞれ異なるデバイスを備えるデータ処理
装置と印刷装置とが通信可能な印刷システムであって、
所定のページ記述言語に従うデータを解析する前記デバ
イスに依存しないプログラミング言語で記述されている
ページ記述言語解析プログラムのソースコードを格納す
るコード格納手段と、前記コード格納手段から読み出さ
れる前記ソースコードを加工して生成される解析資源に
基づいて前記データを所定の中間コードに変換する解析
手段と、前記コード格納手段から読み出される前記ソー
スコードを前記データ処理装置に転送する転送手段と、
前記中間コードに基づいて印刷部が印刷可能なビットマ
ップイメージに描画展開する描画手段と、受信したデー
タを前記解析手段が解析して前記描画手段に出力する中
間コードに変換処理する第1のデータ処理系と、受信し
たデータに基づいて前記描画手段が印刷部が印刷可能な
ビットマップイメージを記憶部に展開処理する第2のデ
ータ処理系と、前記データ処理装置から受信するデータ
の種別を判定して、受信した印刷部が印刷可能なビット
マップイメージを記憶部に展開処理する第3のデータ処
理系とのいずれかに振り分ける振り分け手段とを前記印
刷装置に有するものである。
【0039】本発明に係る第5の発明は、所定の通信媒
体を介してそれぞれ異なるデバイスを備えるデータ処理
装置と印刷装置とが通信可能な印刷システムであって、
アプリケーションプログラムを実行して前記印刷装置に
出力する所定のページ記述言語に従うデータを生成する
生成手段と、前記生成手段により生成されるデータをス
プールするスプール手段と、前記印刷装置から所定のペ
ージ記述言語に従うデータを解析する前記デバイスに依
存しないプログラミング言語で記述されているページ記
述言語解析プログラムのソースコードをダウンロードす
るダウンロード手段と、前記ダウンロード手段によりダ
ウンロードされたソースコードから加工生成される解析
資源に基づいて前記データを所定の中間コードに変換す
る解析手段と、前記解析手段により解析された前記所定
の中間コードに基づいて前記印刷装置の印刷部が印刷可
能なビットマップイメージに描画展開する描画手段と、
前記スプール手段に対する前記データのスプール中に、
前記データ処理装置側で変動するデータ処理負担状況を
監視する監視手段と、前記監視手段のデータ処理負担状
況を判定して、前記印刷装置に転送するデータ種別を前
記生成手段により生成されるデータと、前記解析手段に
より解析された前記所定の中間コードと、前記描画手段
により描画展開されたビットマップイメージデータのい
ずれかに振り分ける振り分け手段とを有するものであ
る。
【0040】本発明に係る第6の発明は、所定の通信媒
体を介してそれぞれ異なるデバイスを備えるデータ処理
装置と印刷装置とが通信可能な印刷システムのデータ処
理方法であって、前記印刷装置から所定のページ記述言
語に従うデータを解析する前記デバイスに依存しないプ
ログラミング言語で記述されているページ記述言語解析
プログラムのソースコードをダウンロードするダウンロ
ード工程と、前記ダウンロード工程によりダウンロード
されたソースコードをコンパイルして前記データを所定
の中間コードに変換する解析処理プログラムにコンパイ
ルするコンパイル工程と、アプリケーションプログラム
を実行して前記印刷装置に出力する所定のページ記述言
語に従うデータを生成する生成工程と、前記ダウンロー
ド工程によりダウンロードされたソースコードから加工
生成される変換資源に基づいて前記データを所定の中間
コードに変換する解析工程と、前記解析工程により解析
された前記所定の中間コードに基づいて前記印刷装置の
印刷部が印刷可能なビットマップイメージに描画展開す
る描画工程と、前記データのスプール中に、前記データ
処理装置側で変動するデータ処理負担状況を監視する監
視工程と、前記監視工程によるデータ処理負担状況を判
定して、前記印刷装置に転送するデータ種別を前記生成
工程により生成されるデータと、前記解析工程により解
析された前記所定の中間コードと、前記描画工程により
描画展開されたビットマップイメージデータのいずれか
に振り分ける振り分け工程とを有するものである。
【0041】本発明に係る第7の発明は、所定の通信媒
体を介してそれぞれ異なるデバイスを備えるデータ処理
装置と印刷装置とが通信可能な印刷システムを制御する
コンピュータが読み出し可能なプログラムを格納した記
憶媒体であって、前記印刷装置から所定のページ記述言
語に従うデータを解析する前記デバイスに依存しないプ
ログラミング言語で記述されているページ記述言語解析
プログラムのソースコードをダウンロードするダウンロ
ード工程と、前記ダウンロード工程によりダウンロード
されたソースコードをコンパイルして前記データを所定
の中間コードに変換する解析処理プログラムにコンパイ
ルするコンパイル工程と、前記データのスプール中に、
前記データ処理装置側で変動するデータ処理負担状況を
監視する監視工程と、前記監視工程によるデータ処理負
担状況を判定して、前記印刷装置に転送するデータ種別
を前記生成工程により生成されるデータと、前記解析工
程により解析された前記所定の中間コードと、前記描画
工程により描画展開されたビットマップイメージデータ
のいずれかに振り分ける振り分け工程とを有するもので
ある。
【0042】
【発明の実施の形態】本実施形態の構成を説明する前
に、本実施形態を適用する印刷システムの印刷を担うレ
ーザビームプリンタ(以下、LBPと記述)の構成につ
いて図1を参照しながら説明する。
【0043】図1は、本発明に係る印刷システムに適用
するLBPの構成を示す断面図である。
【0044】図において、100はLBP本体であり、
外部に接続されているホストコンピュータなどから供給
されているプリントデータ(文字コード等)及び制御コ
ードからなる印刷情報やフォーム情報あるいはマクロ命
令等を入力して記憶するとともに、それらの情報に従っ
て対応する文字パターンやフォームパターン等を作成
し、記憶媒体である記録紙上に像を形成する。
【0045】120はオペレーションパネルで、操作の
ためのスイッチおよびLED表示器等が配されている。
110はフォーマッタ制御部で、LBP本体100(印
刷装置)の制御およびホストコンピュータから供給され
る文字情報等を解析し印刷処理を行う。このフォーマッ
タ制御部110において展開された印刷情報は、対応す
るパターンのビデオ信号に変換されレーザドライバ13
1に出力される。レーザドライバ131は半導体レーザ
141を駆動するための回路であり、入力されたビデオ
信号に応じて半導体レーザ141から発射されるレーザ
光142をオン・オフ切り替えする。レーザ光142は
回転多面鏡143で左右方向に振らされて静電ドラム1
44上を走査露光する。
【0046】これにより、静電ドラム144上には文字
パターンの静電潜像が形成されることになる。この潜像
は、静電ドラム144周囲に配設された現像ユニット1
45により現像された後、記録紙に転写される。この記
録紙にはカットシートを用い、カットシート記録紙はL
BP本体100に装着した用紙カセット146に収納さ
れ、給紙ローラ147及び搬送ローラ148と搬送ロー
ラ149とにより、装置内に取り込まれて、静電ドラム
144に供給され、記録紙に転写され、画像を形成す
る。
【0047】また、LBP本体100には、図示しない
カードスロットまたはFlashROMのようなメモリ
を装着するためのメモリスロットを少なくとも1個以上
備え、内蔵フォントに加えてオプションフォントカー
ド,言語体系(コマンド体系)の異なる制御カード(エ
ミュレーションカード)を接続できるように構成されて
いる。
【0048】なお、本発明を適用可能なプリンタは、前
述のようなモノクロLBPに限られるものではなく、カ
ラーLBPであってもインクジェットプリンタ(カラー
機も含む)をはじめとする他のプリント方式のプリンタ
でも良いことはいうまでもない。
【0049】〔第1実施形態〕図2は、本発明の第1実
施形態を示す印刷システムの制御構成を説明するブロッ
ク図である。
【0050】印刷装置100において、110はPDL
コントローラ部で、ホストコンピュータとの接続手段で
あるインタフェース(I/F)部111と、受信データ
等を一時的に保持管理するための受信バッファ1121
と、送信データ等を一時的に保持管理するための送信バ
ッファ1122と、受信データのデータ種別を一時的に
解析するデータ解析部113と、そのデータがPDLデ
ータであった場合に、PDLの解析を行うPDL解析部
114と、ソースコードのコンパイル手段およびホスト
側への転送手段および処理能力判定手段である負荷分散
マネージャ部115と、デバイス非依存のプログラミン
グ言語によって記述された各種PDLの解析処理のソー
スコードが格納されているソースコードデータベース部
116と、印刷制御処理実行部117と、描画処理実行
部118と、ページメモリ119とから構成されてい
る。
【0051】なお、インタフェース(I/F)部111
は、ホストコンピュータ200との印刷データの送受信
を行う通信手段であり、通信プロトコルとしてIEEE
−1284に準拠した通信を可能とするものである。こ
のインタフェース部111を通して受信した印刷データ
は、そのデータを一時的に保持する記憶手段である受信
バッファ1121に逐次蓄積され、必要に応じて所定の
バイト数がデータ解析部113によって読み出され処理
される。
【0052】データ解析部113では、受信データがP
DLデータなのか、描画処理実行部118が直接解釈可
能な中間的なコード(以下ではこのコードをディスプレ
イリストと称する)なのか、最終的な出力イメージのデ
ータなのかをデータの先頭の数バイトを見て判別し、デ
ータの処理先を振り分けるデータ振分け手段として機能
する。
【0053】データ解析部113が受信したデータがP
DLデータであったと判別した場合には、印刷装置10
0内のPDL解析部114に、ディスプレイリストであ
ったと判別した場合には、印刷装置100内の描画処理
実行部118に、最終出力イメージ形態であると判定し
た場合には、印刷装置100内のページメモリ119に
受信したデータを直接転送するいずれかの処理を実行す
る。
【0054】なお、これらの振分け処理は、通常は印刷
ジョブ単位で行うが、ページ単位または、ページを複数
の短冊状の領域に区切ったバンド単位として処理するこ
とも可能である。データ処理単位は、ホストコンピュー
タ200側の処理によって決定される。それぞれのデー
タの内容については、後述のホストコンピュータ200
側のデータ生成処理の際に合わせて説明する。
【0055】一方、PDL解析部114は、本発明にお
いて重要な位置付けの部分であり、PDL解析実行処理
を実行するまでの流れは次のように構成されている。
【0056】まず、データ解析部113から転送される
PDLデータをディスプレイリストに変換する処理プロ
グラムは、デバイス非依存のプログラミング言語によっ
て記述されている。その処理プログラムのソースコード
はPDL解析処理のソースコードデータベース部116
に格納されており、PCL,PostScript,L
IPSなどといった各PDLコマンド体系やPJLのよ
うな印刷ジョブ制御言語に準じたデータ解析処理とディ
スプレイリストへの変換処理がJava言語によってプ
ログラムされ、PDL毎に個別のデータとして格納され
ている。
【0057】このソースコードデータベース部116よ
り、負荷分散マネージャ115が必要に応じてデータを
読み出し、コンパイルを行いPDLアプレット114−
1を生成し、PDL解析部114の中の所定の位置に格
納しPDL解析部114としての動作を開始することに
なる。
【0058】このPDL解析部114で解析されたコマ
ンドは、文字印字,図形,イメージなどの描画に関する
印刷データの解析結果はディスプレイリストとして描画
処理実行部118に渡され処理し、給紙選択やリセット
命令などの描画以外のコマンドは、印刷制御処理実行部
117に指示を出し処理する。
【0059】描画処理実行部118は、文字やイメー
ジ,図形を分解しプリミティティブなパーツとなった各
オブジェクトはディスプレイリストを受けてページメモ
リ119に逐次展開処理を行う部分である。
【0060】この展開処理とプリンタエンジン部140
へのビデオ信号のシッピングの追いかけっこ、つまりバ
ンディング制御によってページメモリ119は管理され
ていてもよいし、十分なメモリがある場合は、1ページ
分が展開可能な領域を確保してもよい。
【0061】なお、一般的に、PDLコントローラ部1
10は、中央演算処理装置(CPU),リードオンリメ
モリ(ROM),ランダムアクセスメモリ(RAM)な
どを用いたコンピュータシステムによって構成されてい
る。
【0062】また、各部の処理は、マルチタスクモニタ
(リアルタイムOS)のもとで、タイムシェアリングに
処理される構成であってもよいし、各機能ごとに専用の
コントローラハードウエアを用意して独立して処理され
る構成であってもかまわない。
【0063】オペレーションパネル120は、印刷装置
の各種状態を設定表示するためのものである。出力制御
部130は、ページメモリ119の内容をビデオ信号に
変換処理し、プリンタエンジン部140へ画像転送を行
う。プリンタエンジン部140は受け取ったビデオ信号
を記録紙に永久可視画像形成するための印刷機構部であ
り、図1において前述したものである。
【0064】以上、印刷装置100について説明した
が、次に、ホストコンピュータ200を含む本実施形態
の印刷システムの全体構成について説明する。
【0065】図2において、200はホストコンピュー
タであり、プリントデータ及び制御コードからなる印刷
情報を印刷装置100に出力するものである。
【0066】ホストコンピュータ200は、入力デバイ
スであるキーボード210やポインティングデバイスで
あるマウス211と、表示デバイスであるディスプレイ
モニタ220を合わせた一つのコンピュータシステムと
して構成されている。ホストコンピュータ200は、M
S−DOS(商品名),Windows(商品名)など
の基本OSによって動作しているものとする。
【0067】以下、ホストコンピュータ200側につい
て、本発明に関する機能的な部分にのみ注目し、基本O
S上での機能を大きく分類すると、アプリケーション2
01、画像情報処理手段であるグラフィックサブシステ
ム202,データ格納手段,印刷データ加工手段および
印刷装置との通信手段を含むスプールサブシステム20
3に大別される。
【0068】アプリケーション201は、例えばワープ
ロや表計算などの基本ソフトウエア上で動作する応用ソ
フトウエアを指すものである。グラフィックサブシステ
ム202は、基本OSの機能の一部であるGraphi
c Device Interface(以後、GDI
と記す)2021と、そのGDIから動的にリンクされ
るデバイスドライバであるプリンタドライバ2022に
よって構成されている。
【0069】スプールサブシステム203は、グラフィ
ックサブシステム202の後段に位置するプリンタデバ
イスに特有のサブシステムであり、データ格納手段であ
るスプールファイル(以下、スプールファイルSpoo
lfile1(SP1)(実体はハードディスク)と呼
ぶ)2031と、スプールファイル1に貯えられたPD
Lコード列を読み出しスプールファイル(以下、スプー
ルファイルSpoolfile2(SP2)(実体はハ
ードディスク)と呼ぶ)2035に書き込むといったデ
ータ処理の経路上に位置し、印刷データ加工手段である
ところのプリントプロセッサ2032と、印刷装置10
0内のPDLコントローラ部110と同様の印刷イメー
ジ展開処理を行う印刷イメージ展開処理手段であるRI
P(Raster Image Processor)
部2033と、RIP部2033が生成した圧縮印刷イ
メージデータをスプーリングする第2のデータ格納手段
であるスプールファイル2と、ホストコンピュータ20
0側と印刷装置100側で処理能力の比較を行い、その
結果に応じて印刷データの処理系を切り替えたり、印刷
装置100側からPDL解析処理のソースコードデータ
ベース部116から任意のPDLソースコードを読み出
しコンパイルしてPDLアプレットを作成し、ホストコ
ンピュータ200側のVertual Machine
に登録処理などを受け持つ負荷分散マネージャ2034
と、印刷装置100との通信手段であるインタフェース
部2036とから構成される。
【0070】なお、プリントプロセッサ2032は、印
刷装置100側のPDL解析部114が内包するインタ
ープリタとしてのVirtual Machine(V
M)と同様の処理系を内包している。
【0071】また、RIP部2033は、描画処理実行
部2033−1,バンドメモリ2033−2,圧縮処理
部2033−3より構成されているが、描画処理実行部
2033−1とバンドメモリ2033−2は、前述の印
刷装置100における描画処理実行部118とページメ
モリ119に対応するものであり、機能的には同等なも
のである。
【0072】このRIP部2033は、Windows
を基本OSする場合では、プリントプロセッサ2032
から起動される別プロセスとして個別に動作するものと
する。また、基本OSによって、上述したこれらの名称
や機能的な枠組みは若干異なる場合があるが、本発明で
言う各技術的手段が実現できるモジュールであれば、そ
れらの名称や枠組みは本発明にとってあまり大きな問題
ではない。
【0073】例えば、スプーラやスプールファイルと呼
ばれるものは、別のOSにおいてプリント・キューと呼
ばれるモジュールに処理を組み込むことによっても実現
可能である。なお、一般的に、これらの各機能モジュー
ルを含むホストコンピュータ200は、中央演算処理装
置(CPU),リードオンリメモリ(ROM),ランダ
ムアクセスメモリ(RAM),ハードディスクドライブ
(HDD),各種入出力制御部(I/O)などのハード
ウエアのもとで、基本ソフトと呼ばれるソフトウエアが
その制御を司り、その基本ソフトに基づいて、それぞれ
の応用ソフト,サブシステムプロセスが機能モジュール
として動作するようになっている。
【0074】以上、図2に基づいて本発明を構成する各
構成要素について説明をしたが、次に本発明に係る印刷
システムにおけるPDLアプレット114−1の動作に
ついて処理の流れを説明する。なお、本実施形態では、
PDLソースコードを記述するプログラミング言語とし
てJavaが使われているものとする。
【0075】このJavaプログラムによって記述され
たPDL解析処理の固まりを、本発明では「PDLソー
スコード」と呼び、そのソースコードをコンパイルして
デバイス非依存の中間コードに変換したものを本発明で
は「PDLアプレット」と呼ぶ。
【0076】このPDLアプレット114−1はCPU
が直接処理可能なマシン語ではないので、インタプリタ
を介してCPUが実行可能なオブジェクトコードに変換
して実行する必要がある。このインタプリタは、本発明
におけるプログラム実行処理手段であり、本実施形態で
は、Virtual Machine(以下、VMと略
称)と呼ぶものとする。PDLアプレット114−1は
このVM114−2を介して実行処理が行われる。
【0077】このプログラム実行処理手段では、あくま
でのPDLアプレット114−1のためのものであり、
PDLコントローラ部110としての印刷制御処理実行
などに関しては、あらかじめマシン語レベルのプログラ
ムがROMに用意されており直に実行処理が行われてい
る。
【0078】本発明において、PDLアプレットは印刷
装置100側とホストコンピュータ200側の2つの動
作環境において実行されることになるが、本実施形態で
は、その元となるPDLソースコードは、印刷装置10
0側であらかじめROMなどの記憶媒体の中に保持して
いるものとする。このソースコードのコンパイル処理が
行われる。
【0079】なお、本実施形態において、コンパイルと
は、できあがったソースコードをコンピュータに実行さ
せるためにCPUが直接処理可能なマシン語という形式
に一括変換する操作のことである。ただし、本実施形態
では、Javaというプログラミング言語を用いている
ため、これまでポピュラーであったC言語などとは異な
る。
【0080】すなわち、C言語では、コンパイルされた
ソースコードは即実行できるプログラム(マシン語レベ
ル)になるが、Java言語の場合は、コンパイルによ
って作成されたファイルは、マシン語のひとつ手前の中
間コードにあたり、即実行というわけには行かず、当該
ファイルを実行させるにはインタプリタと呼ばれる翻訳
作業を行う必要がある。このような中間コードを生成す
る理由は、デバイスに非依存な実行形態を得るためであ
る。
【0081】例えば、CPUが異なる2つのコンピュー
タシステムがあったとすると、C言語では2つの別々の
コンパイラが必要であるが、Javaではコンパイラは
一つで、中間コードを実行するインタプリタがそれぞれ
のCPUに応じて存在すればよい。
【0082】一般にコンパイラでは構文解析などが含ま
れるためプログラム規模は非常に大きいが、Javaの
中間コードを実行するインタプリタは比較的単純な処理
でありプログラム規模も小さいため、このような形式で
個々のデバイスに対応することはデバイス非依存な環境
を実現する上では効率的な手法である。
【0083】印刷装置100内において作成されたPD
Lアプレット114−1は、同じく初期化処理の一環と
して簡単なベンチマークテストを行う。
【0084】本実施形態において、ベンチマークテスト
とはあらかじめ用意されたパフォーマンス測定用データ
を実行させその処理時間を見て処理能力の定量的な判断
を行うためのプログラムおよびデータである。
【0085】例えば、単純な算術演算の繰り返しをした
り、ビット演算を伴うメモリアクセスを繰り返し実行し
たりするプログラムが記述されているものとする。この
ベンチマークテストの結果は所定の領域に保持してお
く。この結果は後に、ホストコンピュータ200側にお
いて、印刷処理が実行されスプールサブシステムが起動
した時点でベンチマークテストプログラムとともにホス
トコンピュータ200側に読み出され、ホストコンピュ
ータ200側の処理能力との比較時に使われる。
【0086】以下、本実施形態の特徴的構成について図
2等を参照して説明する。
【0087】上記のように構成された所定の通信媒体を
介してそれぞれ異なるデバイスを備えるデータ処理装置
(ホストコンピュータ200)と印刷装置100とが通
信可能な印刷システムであって、アプリケーションから
の印刷要求に伴って生成される描画情報に基づいて作成
される所定のページ記述言語データを前記デバイスに依
存しないプログラミング言語で記述される変換資源によ
り前記デバイスに依存する中間コードまたは前記印刷装
置が印刷可能なビットマップイメージデータに変換する
複数の変換手段(プリントプロセッサ2032,RIP
部2033)とを有するので、データ処理装置のデバイ
スの構成に依存することなく、本来印刷装置がデータ処
理装置側から受信した印刷情報に基づいて実行すべきデ
バイスに依存する中間コードへの変換処理または印刷装
置が印刷可能なビットマップイメージデータへの変換処
理を印刷装置に代わって処理することができ、印刷装置
側が受信する印刷情報の種別によっては印刷処理が遅延
するような印刷情報であっても、印刷装置のスループッ
トを低下させることなく高速出力が可能となる。
【0088】また、ホストコンピュータ200は、前記
印刷装置100に記憶される前記変換資源(PDL解析
処理のソースコードを含む)をダウンロードするので、
印刷装置100で実行され得るデバイスに依存する中間
コードへの変換処理または印刷装置100が印刷可能な
ビットマップイメージデータに変換処理を行わせる変換
資源を印刷装置から取得してデータ処理装置側で印刷装
置側での印刷データ処理と並行して代替実行させる印刷
処理環境を自在に構築することができる。
【0089】さらに、ホストコンピュータ200側で変
動するデータ処理負担状況を監視する監視手段(負荷分
散マネージャ部2034の監視機能による)と、前記監
視手段のデータ処理負担状況を判定して、いずれかの変
換手段を選択する選択手段(負荷分散マネージャ部20
34によるスイッチSW1,SW2切り換え機能によ
る)とを有するので、データ処理実行に伴いデータ処理
負担が変動しても、その処理負担に見合う最適ないずれ
かの変換処理を実行させることができ、印刷装置側で沈
滞することなく印刷データを高速に処理させることがで
きる。
【0090】また、所定の通信媒体を介してそれぞれ異
なるデバイスを備えるデータ処理装置と印刷装置とが通
信可能な印刷システムであって、所定のページ記述言語
に従うデータを解析する前記デバイスに依存しないプロ
グラミング言語で記述されているページ記述言語解析プ
ログラムのソースコードを格納するコード格納手段(ソ
ースコードデータベース部116)と、前記コード格納
手段から読み出される前記ソースコードを加工して生成
される解析資源に基づいて前記データを所定の中間コー
ドに変換する解析手段(PDL解析部114)と、前記
コード格納手段から読み出される前記ソースコードを前
記データ処理装置に転送する転送手段(送信バッファ1
122,インタフェース111)と、前記中間コードに
基づいて印刷部が印刷可能なビットマップイメージに描
画展開する描画手段(描画処理実行部118)と、受信
したデータを前記解析手段が解析して前記描画手段に出
力する中間コードに変換処理する第1のデータ処理系
と、受信したデータに基づいて前記描画手段が印刷部が
印刷可能なビットマップイメージを記憶部に展開処理す
る第2のデータ処理系と、前記データ処理装置から受信
するデータの種別を判定して、受信した印刷部が印刷可
能なビットマップイメージを記憶部に展開処理する第3
のデータ処理系とのいずれかに振り分ける振り分け手段
(データ解析部113)とを前記印刷装置に有するの
で、少ないページ記述言語解析プログラムのソースコー
ドを格納するだけで、データ処理装置から受信する印刷
情報を印刷処理する異なる変換処理環境を自在に構築さ
せつつ、受信するデータ種別に適応して最適なデータ処
理を効率よく行うことができる。
【0091】さらに、所定の通信媒体を介してそれぞれ
異なるデバイスを備えるデータ処理装置と印刷装置とが
通信可能な印刷システムであって、アプリケーションプ
ログラムを実行して前記印刷装置に出力する所定のペー
ジ記述言語に従うデータを生成する生成手段(プリンタ
ドライバ2022))と、前記生成手段により生成され
るデータをスプールするスプール手段(スプールファイ
ル2031,2035)と、前記印刷装置から所定のペ
ージ記述言語に従うデータを解析する前記デバイスに依
存しないプログラミング言語で記述されているページ記
述言語解析プログラムのソースコードをダウンロードす
るダウンロード手段(負荷分散マネージャ部2034の
ダウンロード機能による)と、前記ダウンロード手段に
よりダウンロードされたソースコードから加工生成され
る解析資源に基づいて前記データを所定の中間コードに
変換する解析手段(プリントプロセッサ2032)と、
前記解析手段により解析された前記所定の中間コードに
基づいて前記印刷装置の印刷部が印刷可能なビットマッ
プイメージに描画展開する描画手段(RIP部203
3)と、前記スプール手段に対する前記データのスプー
ル中に、前記データ処理装置側で変動するデータ処理負
担状況を監視する監視手段と、前記監視手段のデータ処
理負担状況を判定して、前記印刷装置に転送するデータ
種別を前記生成手段により生成されるデータと、前記解
析手段により解析された前記所定の中間コードと、前記
描画手段により描画展開されたビットマップイメージデ
ータのいずれかに振り分ける振り分け手段(負荷分散マ
ネージャ部2034の振り分け機能による)とを有する
ので、印刷装置から取得される変換資源により印刷装置
に出力すべき異なる種別のデータを生成する環境を整備
しつつ、かつ、データ処理負担が変動しても印刷装置側
でデータ処理負担を軽減できる種別の異なるデータを生
成することができる。
【0092】以上、PDLアプレット114−1の機能
およびその特徴的データ処理について説明をしたが、デ
ータ処理系の概要について、さらに図2,図3を参照し
て説明する。
【0093】図3は、本発明に係る印刷システムのデー
タ処理系の流れを説明する概念図であり、図3の(a)
は印刷装置側のデータ処理能力が十分高い場合に対応
し、いわばこれは従来例でもある。つまり、従来は、P
DL解析部(PDLトランスレータ)114はプリンタ
内に固定的に存在するものである。
【0094】これに対し、図3の(b)はホストコンピ
ュータ側の処理能力の方が十分に高い場合(もしくは印
刷装置側の負荷が重い場合に対応する。この場合は、印
刷処理全体の中で比較的負荷の重い処理系であるPDL
解析部114そのものをホスト側に移動して実行するこ
とで、印刷システム全体としてのパフォーマンスアップ
を図るようにしたものである。
【0095】なお、ここで一点だけ注意しなければなら
ないのは、ホストコンピュータ側,印刷装置側の処理能
力はハードウエアの性能などによってある程度決まって
しまうが、その処理能力に対する処理負荷は刻一刻と変
動している点である。
【0096】特に、ホストコンピュータ側では、印刷処
理を専門に行う印刷装置側と比べると負荷変動率が高く
なる。例えば、ホストコンピュータ側において微分方程
式の解を求める演算や画像のフィルタリングといった比
較的重い処理が常に行われているような状態において
は、ホストコンピュータ側の静的な処理能力(ハードウ
エア性能)が高くとも、図3の(a)に示す処理系で印
刷情報を処理した方が最終的な印刷結果を得るまでのト
ータルな時間は短くなる場合がある。
【0097】そこで、本発明においては、この動的な負
荷変動に対する回避手段として、PDLの解釈の形態を
3段階に分けて実行する点が特徴となっている。この3
段階とは、図2において、,,と番号を振ったデ
ータ処理の形態(パス)を指す。
【0098】つまり、プリンタドライバ2022が生成
したPDLコードをスルーで印刷装置100側に送るパ
ス、プリンタドライバ2022が生成したPDLコー
ドを印刷装置100側の描画処理実行部118において
直接処理可能なディスプレイリストの形に変換して印刷
装置100に送るパス、プリンタドライバ2022が
生成したPDLコードをホストコンピュータ200側に
おいてRIP処理を行い、印刷装置100側のページメ
モリ119にダイレクトに転送できる形態にデータ変換
するパスの3つのパスである。
【0099】本実施形態では、ホストコンピュータ20
0側の動的な負荷変動を負荷分散マネージャ2034に
て監視し、それぞれのデータ経路(パス)を切り替え
る。
【0100】ここで、PDLデータ形式(1),中間コ
ード形式(2),圧縮イメージ形式(3)が、具体的に
それぞれどのような内容なのかについて図4〜図6を参
照して説明する。
【0101】図4〜図6は、本発明に係る印刷システム
におけるホストコンピュータ200が処理するデータ種
別およびそのデータ例を示す図であり、印刷すべきデー
タは同一であるが、負荷分散マネージャ2034の監視
結果に基づいて印刷装置100側に転送される異なるデ
ータに対応し、図4は、パスが選択される場合のPD
Lデータ例に対応し、図5は、パスが選択される場合
の中間コード例に対応し、図6は、パスが選択される
場合のイメージデータ例に対応する。
【0102】例えば、図4の(a)に示すように菱形F
1(色は赤)と菱形F2(色は青)の二つの菱形図形を
描画論理指定を行って重ねて描画するような場合、PD
Lデータ(1)では、図4の(b)に示すコードとな
る。この例では、キヤノン株式会社製のページ記述言語
である「LIPS IV」を用いて記述されている場合に
対応する。
【0103】それぞれの菱形F1,F2は、多角形描画
命令(Polygon命令)によってその形状が指定さ
れた位置に描画され、その際の色情報も別のPDL命令
によって指定されている。
【0104】さらに、二つの菱形F1,F2が重なり合
う部分の描画論理演算については、描画論理設定命令に
よって指定されている。この例では、命令XORが指定
されているものとする。
【0105】図4の(b)において、PDLデータ
(1)のポイントとなる部分のデータについては、イタ
リック体で記してある。この図4の例では、二つの菱形
F1,F2を描画するということが、PDLとしてほぼ
1対1の関係で記述されている。PDLコードとして
は、非常にシンプルでわかり易いが、その反面、実際の
描画処理という観点では、印刷イメージ展開の際にディ
スティネーションとの論理演算を行ったり、ポリゴンの
点列情報から塗りつぶしエリアを算出したりとPDLで
処理する負荷が存在する。
【0106】これに対して、次にそのような負荷をホス
トコンピュータ側で軽減した中間コード(2)の形式、
つまりディスプレイリストと呼ばれる形式での具体例を
示す。この場合は、前述したようにホストコンピュータ
200側のプリントプロセッサ2032において、印刷
装置100側の描画処理実行部118において単純に処
理可能な形式に変換したデータ形式となる。
【0107】図5の(a)に単純化した際の形状を示す
が、PolygonやPATHといった多角形の形状を
定義するグラフィックオブジェクトは、基本的には図7
の(d)で示すトラペゾイドと呼ばれる形式に変換され
る。
【0108】この図5の(a)の場合は、二つの菱形F
1,F2との重なりを表現するのに、13個のトラペゾ
イドTZ1〜13として表現されており、この場合、重
なり部分の論理描画などはあらかじめホストコンピュー
タ200側で計算されることにより印刷装置100側で
の負荷は、トラペゾイドと呼ばれるハードウエアで描画
しやすいプリミティブな描画オブジェクトだけにかみ砕
かれることによって、専用のレンダリングハードウエア
がレンダリング処理を行うので、ソフトウエアで処理す
るのに比べて飛躍的に高速処理が行える点がポイントで
ある。
【0109】このようなディスプレイリストは、PDL
データのようにそのデータの前後関係やディスティネー
ションとの演算などをほとんど気にせず、データの頭か
らのシーケンシャルに高速処理可能となる。
【0110】次に、第3の形式である圧縮イメージ
(3)の形式について図6を用いて説明する。この形式
の場合は、ホストコンピュータ200側のRIP部20
33において、印刷イメージとして展開されたものを扱
う。
【0111】具体的には、図6の(a)に示すように、
二つの菱形F1,F2を含む最小の矩形領域のイメージ
データとしてホストコンピュータ200側で展開され、
そのデータが圧縮され、圧縮イメージデータとして図6
の(b)に示すデータ形式で印刷装置100側に転送さ
れることになる。
【0112】この場合は、印刷装置100側にPDL処
理部やディスプレイリストを描画するための描画処理部
などは必要なく、ページメメモリ119に転送された
後、エンジン速度に同期しながらデータの解凍処理が行
われ、さらにビデオ信号としてリアルタイムでシッピン
グ処理されることになり、印刷装置100側のPDLコ
ントローラと呼ばれる部分は非常にシンプルな構成で済
む点が特徴である。
【0113】以上、データ形式(1)〜(3)について
説明したが、いずれの場合も最終的な印刷結果は同一で
あることは言うまでもない。
【0114】次に、これらの3つの形式のデータの切り
替え処理について説明を行う。
【0115】図2に示したスイッチSW1,SW2は、
そのデータ経路変更のためのポイントを概念的に示した
ものである。これらの3つの形式のデータには、それぞ
れデータの先頭にデータタイプを示すフィールドがあ
り、そのフィールドを印刷装置100のデータ解析部1
13において調べてデータの処理形態を切り分けてい
る。
【0116】ホストコンピュータ200側の印刷処理の
負荷は、データ形式(1)→データ形式(2)→データ
形式(3)の順で段階的に重くなるので、印刷処理以外
の負荷の重さに応じてこれらを適宜切り替えればよい。
【0117】この負荷の重さは、例えばスプールファイ
ル2031にスプールされたデータ量があるしきい値よ
り大きくなった場合、つまり印刷装置側100のメモリ
に入り切らないことが明白かどうかを負荷分散マネージ
ャ部2034において事前にチェックし、その結果、メ
モリに入らないと判明したら、図2に示すスイッチSW
1がプリントプロセッサ2032側に切り替えられる。
【0118】さらに、このような場合は中間コードにし
てもデータが増大する可能性があるので、スイッチSW
2はRIP部2033側に切り替えられ、ホストコンピ
ュータ200側で印刷イメージとして展開した後、印刷
装置100側にデータ形式(3)の形式で送出されるこ
とになる。
【0119】また、別のケースでは、印刷装置100側
がかなり古い製品であって、印刷装置側のPDLコント
ローラ部110に搭載されたCPUの処理能力がベンチ
マークテストの結果明らかに低く、中間コードを描画展
開するのもソフトウエアによって処理しているような機
種の場合は、やはり負荷分散マネージャ2034によっ
てスイッチSW1,SW2がホストコンピュータ200
側の処理系に切り替えられることになる。
【0120】ただし、ここで中間コードを処理するハー
ドウエアを搭載している機種であった場合は、CPUの
処理能力に関係なく、スイッチSW2がホスト側の処理
系に切り替わり、データ形式(2)の形で印刷装置10
0側にデータが送出するように制御されている。
【0121】以上のような構成によって、動的なデータ
処理に基づく負荷変動に対しても細かな調整を掛けるこ
とが可能となり、印刷システム全体として見て、常に処
理が高速に行えるデータ経路(上記パス〜のいずれ
か)を選択するので、従来のような印刷装置100側に
おけるPDLコントローラ部110側の処理がボトルネ
ックとなってエンジンの使用効率が上げられないという
問題を回避するものである。
【0122】以下では、このデータ経路(パス)〜
に関して具体例を補足する。
【0123】一般的に、近年のカラー印刷の普及やイン
ターネットによるホームページなどの作成用としてより
見栄えのする表示効果がアプリケーションソフトに求め
られてきている。
【0124】特にドロー系のアプリケーションソフトに
おいて、描画オブジェクトを積層的に張り付けて描画を
行うようなものが見られるようになったが、このような
場合、PDLデータでは、プリミティブな描画オブジェ
クトが無数にプリンタに送られることになり、プリンタ
ドライバが生成するRAWデータのサイズは非常に大き
なものとなる傾向がある。
【0125】これに対して、ホストコンピュータ200
側で印刷イメージとして展開した場合は、そのデータサ
イズは用紙サイズに依存した形で上限ができる。このた
め複雑度が高い描画を行うアプリに対しては、ホストコ
ンピュータ200側での印刷イメージ展開処理が特に有
効に働くと思われる。
【0126】ただし、プリンタドライバが生成した1ペ
ージ分のPDLコードが印刷装置100内のメモリで保
持可能な量を越える場合もあるが、このような場合は、
印刷装置100側の印刷イメージ展開処理をただちに打
ち切り、ホストからの印刷データで印刷するように構成
することも可能である。
【0127】逆にテキスト系のドキュメントは文字コー
ドになるので、データ量が非常に少なく、このような場
合は不利となる。このような不利なデータではホストコ
ンピュータ200側のRIP部2033の処理をカット
するという適応的な対応を行うことも可能である。
【0128】以上述べたようにドロー系の処理はホスト
側で、テキスト系の処理はプリンタ側で行うと言うこと
に関して、図8を参照して、もう少し具体的に説明を行
う。
【0129】図8は、本発明に係る印刷システムにおけ
るアプリ毎の特有の印刷データの一例を示す図である。
【0130】まず、ドロー系の場合であるが、図8の
(a)に示すような同心円状にグラデーションがかかっ
た円を描画するような場合を例に取り考えてみる。この
ような場合、アプリケーションは、図8の(b)に示す
ように段階的に色と大きさが異なる円描画を積み重ねる
ことによって表現する場合がある。
【0131】このような描画表現を取る場合は、プリン
タドライバに対しても同様に段階的に色と大きさが異な
る円描画を積み重ねて描画するような指示がアプリケー
ションから来る。
【0132】円描画命令や色指定命令を持つPDLプリ
ンタに対して、そのプリンタドライバではやはり同様な
指示を行うことになり、積層的な構造によって成り立つ
描画は多数のPDLコードとして展開されることにな
る。
【0133】この段階でのデータは、データ形式(1)
に相当し、データ量もさることながら、処理すべき描画
オブジェクトの数も多数になりがちで、PDLにとって
は重い負荷となりがちである。
【0134】例えば、円のような単純な図形ではなく、
図8の(c)に示すような複雑な多角形を例に取ると、
このグラデーションのかかった多角形(大きさは5cm
×5cm)を表現するのには多角形描画命令と色指定命
令を繰り返すわけだが、多角形描画命令は点列情報など
のパラメータも含め、1命令当たり976byte、色
指定命令が48byte要するとする。グラデーション
のかかり具合の細かさにもよるが、段階的に大きさが異
なるものが500個積層されたとすると、これだけで5
00Kbyteになってしまう。
【0135】一方、同様の面積の図形を300dpi,
YMCK1bitカラーで表現すると約170Kbyt
e(=(50/25.4)/8*4)のイメージデータ
となる。このイメージデータに圧縮をかけることでさら
に小さくすることは可能である。
【0136】つまり、積層的な構造によって成り立つ描
画はPDLコードで表現しプリンタに送るより、ホスト
側でイメージとして展開し、そのデータを圧縮してプリ
ンタに送った方が効率がよい場合があるのである。この
場合に選択すべきデータ形式は、データ形式(3)であ
る。データ形式(2)は、データ形式(1)のPDLデ
ータを印刷装置100内の描画処理で処理しやすい中間
コードに変換したものだが、例えば、円のようなもの
は、図7に示したトラペゾイドと呼ばれるプリミティブ
な描画オブジェクトに分解される。
【0137】このようなものがディスプレイリスト(中
間コード)として生成され、印刷装置100内の描画処
理実行部118において高速に描画展開処理が行われ
る。なお、印刷装置100側の描画処理実行部118で
は、このようなディスプレイリストの展開処理はハード
ウエアによって高速に行っている。
【0138】通常の一般的な負荷分散では、データの種
別によって上記データ形式(1)〜(3)を切り替えた
り、予測系によってあらかじめそれぞれの処理時間を計
算し、最速なパスを通るようにするが、本実施形態で
は、ホストコンピュータ100側の負荷変動に対する適
応手段として位置付けている。もちろん、前述したよう
な一般的な負荷分散手段を適用することも可能である。
【0139】次に、本発明に係る印刷システムにおける
印刷処理手順について、図9に示すくフローチャートを
参照して説明する。
【0140】図9は、本発明に係る印刷システムにおけ
る印刷処理手順の一例を示すフローチャートであり、ホ
ストコンピュータ200側におけるデータ処理の流れに
対応する。なお、(1)〜(14)は各ステップを示
す。
【0141】本実施形態において、プリンタドライバに
おける印刷イメージ展開処理によって印刷データが生成
されると、スプールサブシステムが起動する。
【0142】このスプールサブシステムが起動すると、
まず、ステップ(1)において、プリントプロセッサ2
032が起動する。次にステップ(2)は、プリントプ
ロセッサ2032は、負荷分散マネージャ2034を別
プロセスとして起動する。
【0143】次に、ステップ(3)では、負荷分散マネ
ージャ2034は、まず初めに既にPDLアプレットが
プリントプロセッサ2032のVM内にロードされてい
るかどうかをチェックし、すでにロードされていると判
定した場合は、ステップ(7)に進み、まだロードされ
ていないと判定された場合は、ステップ(4)に進み、
印刷装置100側にPDLアプレットの転送要求を出
す。
【0144】一方、印刷装置100側では、転送要求を
受けるとPDL解析処理のソースコードデータベース部
116より所定のPDLソースコードを読み出し、要求
元のホストコンピュータ200に転送する。
【0145】次に、ステップ(5)において、この転送
されたデータをダウンロードする。ダウンロードはハー
ドディスクのような記憶手段にファイルとして格納され
る。このようにしてダウンロードが完了すると、ステッ
プ(6)において、そのデータをコンパイルする。な
お、コンパイル結果もファイルとして格納される。
【0146】また、コンパイル結果はプリントプロセッ
サ2032のVM内にロードされる。これで、ホスト側
のPDL解析処理部の実行環境が整ったことになる。
【0147】次に、ホスト側に構築されたこのPDL解
析処理部の処理能力の測定を前述したベンチマークテス
トのプログラムおよびデータによってテストする。この
ベンチマーク用プログラムおよびデータもPDLソース
コードとともに印刷装置100側に格納されていて、P
DLソースコードのダウンロード時に一緒に読み出され
る。そして、プリントプロセッサ2032のVM上でベ
ンチマークテストを実行し、VMの能力を確認する。
【0148】さらに、ステップ(8)において、その結
果を印刷装置100側の初期化処理で実行した結果と比
較する。この比較の結果、ホスト側の処理能力が低いと
判定した場合は、プリントプロセッサ2032内では印
刷データに対する加工処理等は一切行わず、プリンタド
ライバ2022が生成したデータをスルーで印刷装置1
00側に送出するように振り分け(12)、処理をリタ
ーンする。
【0149】一方、ステップ(8)で、ホストコンピュ
ータ200側の処理能力が高いと判定した場合は、プリ
ントプロセッサ2032内のVMによってPDLデータ
の解析処理を行い(9)、後段の描画処理部(RIP部
2033)に渡すべきディスプレイリスト(中間コー
ド)を生成する。
【0150】次に、ステップ(10)では、並行して動
作している負荷分散マネージャ2034では、動的なカ
レントの負荷変動を監視し、その負荷レベルがある規定
値を越えたと判定した場合、図2に示したスイッチSW
2を切り替え、プリントプロセッサ2032が処理中の
現時点でのホスト側の負荷が重いと判定した場合は、プ
リントプロセッサ2032内のPDL解析部で生成した
ディスプレイリストをそのままプリンタ100側に送出
して(13)、処理を終了する。
【0151】一方、ステップ(10)で、現時点での負
荷が軽いと判定した場合には、ステップ(11)で、R
IP部2033を別プロセスとして起動し、生成された
ディスプレイリストに基づきラスタイメージプロセッシ
ング(RIP)処理を行う。そして、RIP処理によっ
て描画処理された印刷イメージはその後圧縮され、印刷
装置100側のページメモリ119にダイレクトに送出
され(14)、高速に印刷することが可能となる。
【0152】このようにして、特にステップ(11)ま
での処理が実行されるケースでは、印刷装置100側に
おいて時間を要するような処理はほとんど無くなるた
め、PDLコントローラ部110内のPDL処理による
ボトルネックを解消し、エンジンの待ち時間が無くなる
ので、使用効率が向上するものである。
【0153】以上説明したように、本発明では、ホスト
側,プリンタ側のそれぞれの処理能力,負荷状態に応じ
て印刷イメージ展開処理系を動的に切り換えるよう構成
することによって、PDL機における印刷データが送ら
れてもプリンタ内でデータ解析,描画処理等を行う時間
が存在し、そのために高速なエンジンの性能を最大源に
発揮できないという問題を解決したものである。
【0154】以下、本実施形態の特徴的構成について図
9に示すフローチャートを参照して説明する。
【0155】上記のように構成された所定の通信媒体を
介してそれぞれ異なるデバイスを備えるデータ処理装置
(ホストコンピュータ200)と印刷装置100とが通
信可能な印刷システムのデータ処理方法であって、ある
いは所定の通信媒体を介してそれぞれ異なるデバイスを
備えるデータ処理装置と印刷装置とが通信可能な印刷シ
ステムを制御するコンピュータが読み出し可能なプログ
ラムを格納した記憶媒体であって、前記印刷装置から所
定のページ記述言語に従うデータを解析する前記デバイ
スに依存しないプログラミング言語で記述されているペ
ージ記述言語解析プログラムのソースコードをダウンロ
ードするダウンロード工程(図9のステップ(3)〜
(5))と、前記ダウンロード工程によりダウンロード
されたソースコードをコンパイルして前記データを所定
の中間コードに変換する解析処理プログラムにコンパイ
ルするコンパイル工程(図9のステップ(6))と、ア
プリケーションプログラムを実行して前記印刷装置に出
力する所定のページ記述言語に従うデータを生成する生
成工程(図9のステップ(12))と、前記ダウンロー
ド工程によりダウンロードされたソースコードから加工
生成される変換資源に基づいて前記データを所定の中間
コードに変換する解析工程(図9のステップ(13))
と、前記解析工程により解析された前記所定の中間コー
ドに基づいて前記印刷装置の印刷部が印刷可能なビット
マップイメージに描画展開する描画工程(図9のステッ
プ(14))と、前記データのスプール中に、前記デー
タ処理装置側で変動するデータ処理負担状況を監視する
監視工程(図9のステップ(8),(10))と、前記
監視工程によるデータ処理負担状況を判定して、前記印
刷装置に転送するデータ種別を前記生成工程により生成
されるデータと、前記解析工程により解析された前記所
定の中間コードと、前記描画工程により描画展開された
ビットマップイメージデータのいずれかに振り分ける振
り分け工程(図9のステップ(10))とを有するの
で、印刷装置から取得される変換資源により印刷装置に
出力すべき異なる種別のデータを生成する環境を整備し
つつ、かつ、データ処理負担が変動しても印刷装置側で
データ処理負担を軽減できる種別の異なるデータを生成
することができる。
【0156】〔第2実施形態〕上記第1実施形態では、
PDLプリンタを例に取り説明を行ったが、プリンタ側
において何らかの印刷イメージ展開処理を行うようなタ
イプのものなら、PDLプリンタでなくても本発明は適
用可能である。
【0157】また、上記第1実施形態では、処理する単
位をページ単位で行っているが、この概念を発展させ、
1ページを構成するバンド単位に適用することも可能で
ある。
【0158】さらに、上記第1実施形態では、図2に示
したようにホストコンピュータにローカル接続された場
合で、説明を行ったが、ホストコンピュータと印刷装置
がネットワークを介して接続されている場合においても
適用可能である。
【0159】この場合は、上述した第1,第2のデータ
格納手段,印刷データ格納制御手段,第1の印刷イメー
ジ展開処理手段,第1の印刷処理管理手段の各手段をネ
ットワーク経路上の別のコンピュータ上で分散処理する
ように構成することも可能である。
【0160】また、上記第1実施形態では、その元とな
るPDLソースコードは、印刷装置側であらかじめ本体
内に固定のROM記憶媒体の中に保持しているものとし
たが、印刷装置側のメモリスロットなどを利用し着脱可
能なROMなどに保持しておくことも可能である。
【0161】このような構成では、任意のPDLが利用
可能となるため本体側のROM要領を最小限しコストア
ップを抑える効果とともに、絶えず新しいPDLを外部
から供給可能となる。
【0162】さらに、上記第1実施形態では、印刷装置
側からPDLソースコードを供給したが、PDLソース
コードは、印刷装置とホストコンピュータから参照でき
るのであればネットワーク上の任意の場所にあってもか
まわない。
【0163】例えば、サーバとなるコンピュータ上で管
理し、その上で印刷装置用のコンパイラとホストコンピ
ュータ用のコンパイラが動作するような構成をとれば、
印刷装置,ホストコンピュータのそれぞれにPDLアプ
レットを配信可能である。ここで述べたネットワークと
は、インターネットのような広域ネットワークも対象に
含むものである。
【0164】また、上記第1実施形態では、PDLアプ
レットが動作する位置として、印刷装置側のPDL解析
部と、ホストコンピュータ側のスプールサブシステムの
中のPrintProcessorとしたが、この構成
はあくまでも出力結果を印刷装置から紙として得るため
の構成である。
【0165】例えば、PDLアプレットをNetsca
pe Navigator(商品名)やNCSA Mo
saic(商品名)などといったいわゆるHTMLブラ
ウザソフトのプラグインソフトとして動作させること
で、ブラウザの画面で印刷結果を確認(プレビュー)す
ることも可能である。
【0166】以下、図10に示すメモリマップを参照し
て本発明に係る印刷システムで読み出し可能なデータ処
理プログラムの構成について説明する。
【0167】図10は、本発明に係る印刷システムで読
み出し可能な各種データ処理プログラムを格納する記憶
媒体のメモリマップを説明する図である。
【0168】なお、特に図示しないが、記憶媒体に記憶
されるプログラム群を管理する情報、例えばバージョン
情報,作成者等も記憶され、かつ、プログラム読み出し
側のOS等に依存する情報、例えばプログラムを識別表
示するアイコン等も記憶される場合もある。
【0169】さらに、各種プログラムに従属するデータ
も上記ディレクトリに管理されている。また、各種プロ
グラムをコンピュータにインストールするためのプログ
ラムや、インストールするプログラムが圧縮されている
場合に、解凍するプログラム等も記憶される場合もあ
る。
【0170】本実施形態における図9に示す機能が外部
からインストールされるプログラムによって、ホストコ
ンピュータにより遂行されていてもよい。そして、その
場合、CD−ROMやフラッシュメモリやFD等の記憶
媒体により、あるいはネットワークを介して外部の記憶
媒体から、プログラムを含む情報群を出力装置に供給さ
れる場合でも本発明は適用されるものである。
【0171】以上のように、前述した実施形態の機能を
実現するソフトウエアのプログラムコードを記録した記
憶媒体を、システムあるいは装置に供給し、そのシステ
ムあるいは装置のコンピュータ(またはCPUやMP
U)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、本発明の目的が達成されるこ
とは言うまでもない。
【0172】この場合、記憶媒体から読み出されたプロ
グラムコード自体が本発明の新規な機能を実現すること
になり、そのプログラムコードを記憶した記憶媒体は本
発明を構成することになる。
【0173】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピーディスク,ハードディ
スク,光ディスク,光磁気ディスク,CD−ROM,C
D−R,磁気テープ,不揮発性のメモリカード,RO
M,EEPROM等を用いることができる。
【0174】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOS(オペ
レーティングシステム)等が実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
【0175】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPU等が実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
【0176】上記実施形態によれば、印刷装置側にホス
トコンピュータから受信した印刷データをそのデータタ
イプを自動的に判別し処理系を振り分けるためのデータ
振分け手段と、Javaのようなデバイス非依存のプロ
グラミング言語によって記述されたPDL解釈処理と、
そのプログラムを実行するためのデバイスに依存したイ
ンタプリタまたはコンパイラであるところのプログラム
実行処理手段と、前記PDL解釈処理のソースコードを
ホストコンピュータ側からの要求に応じて任意のホスト
コンピュータに転送するソースコード転送手段とを持
ち、一方、ホストコンピュータ側に、印刷装置側からP
DL解釈処理部のプログラムソースコードを受信し、所
定の位置に格納するソースコードダウンロード手段と、
ホストコンピュータ側の処理能力と印刷装置側の処理能
力を随時監視し処理能力の比較を行う処理能力監視手段
と、前記プログラムソースコードダウンロード手段と前
記処理能力監視手段の二つの手段を含む印刷負荷調整手
段と、前記プログラムソースコードダウンロード手段に
よってダウンロードしたプログラムを実行するためのデ
バイスに依存したインタプリタまたはコンパイラである
とことのプログラム実行処理手段と、アプリケーション
プログラムからの画像形成要求をプリンタドライバと呼
ばれる別モジュールの処理系を使ってPDLデータに変
換処理する画像情報処理手段(GDIおよびプリンタド
ライバ)と、前記画像情報処理手段の生成したPDLデ
ータをスプールする過程で加工するデータ加工手段(プ
リントプロセッサおよびRIP)と、そのデータを印刷
装置に送出する前に貯えるデータ格納手段とを有し、前
記処理能力監視手段におけるホストコンピュータ側と印
刷装置側の処理能力の比較の結果、ホストコンピュータ
側の処理能力が高い場合、印刷装置内に存在するPDL
解釈処理部のプログラムソースコードをホストコンピュ
ータ側にダウンロードすることで、印刷装置と同様のP
DL解析処理を高速に行い、解析後の結果を印刷装置側
のPDL解析処理の後段の処理過程に転送するといった
印刷制御手段を構成したので、ホストコンピュータ側の
処理能力処理結果を使って印刷を行えるため、印刷処理
にかかる待ち時間を短縮可能にし、その結果として複数
ユーザによって共有利用されている場合の印刷装置の使
用効率を格段に向上させることができる。
【0177】
【発明の効果】以上説明したように、本発明に係る第1
の発明によれば、所定の通信媒体を介してそれぞれ異な
るデバイスを備えるデータ処理装置と印刷装置とが通信
可能な印刷システムであって、アプリケーションからの
印刷要求に伴って生成される描画情報に基づいて作成さ
れる所定のページ記述言語データを前記デバイスに依存
しないプログラミング言語で記述される変換資源により
前記デバイスに依存する中間コードまたは前記印刷装置
が印刷可能なビットマップイメージデータに変換する複
数の変換手段とを有するので、データ処理装置のデバイ
スの構成に依存することなく、本来印刷装置がデータ処
理装置側から受信した印刷情報に基づいて実行すべきデ
バイスに依存する中間コードへの変換処理または印刷装
置が印刷可能なビットマップイメージデータへの変換処
理を印刷装置に代わって処理することができ、印刷装置
側が受信する印刷情報の種別によっては印刷処理が遅延
するような印刷情報であっても、印刷装置のスループッ
トを低下させることなく高速出力が可能となる。
【0178】第2の発明によれば、前記データ処理装置
は、前記印刷装置に記憶される前記変換資源をダウンロ
ードするので、印刷装置で実行される得るデバイスに依
存する中間コードへの変換処理または印刷装置が印刷可
能なビットマップイメージデータに変換処理を行わせる
変換資源を印刷装置から取得してデータ処理装置側で印
刷装置側での印刷データ処理と並行して代替実行させる
印刷処理環境を自在に構築することができる。
【0179】第3の発明によれば、前記データ処理装置
側で変動するデータ処理負担状況を監視する監視手段
と、前記監視手段のデータ処理負担状況を判定して、い
ずれかの変換手段を選択する選択手段とを有するので、
データ処理実行に伴いデータ処理負担が変動しても、そ
の処理負担に見合う最適ないずれかの変換処理を実行さ
せることができ、印刷装置側で沈滞することなく印刷デ
ータを高速に処理させることができる。
【0180】第4の発明によれば、所定の通信媒体を介
してそれぞれ異なるデバイスを備えるデータ処理装置と
印刷装置とが通信可能な印刷システムであって、所定の
ページ記述言語に従うデータを解析する前記デバイスに
依存しないプログラミング言語で記述されているページ
記述言語解析プログラムのソースコードを格納するコー
ド格納手段と、前記コード格納手段から読み出される前
記ソースコードを加工して生成される解析資源に基づい
て前記データを所定の中間コードに変換する解析手段
と、前記コード格納手段から読み出される前記ソースコ
ードを前記データ処理装置に転送する転送手段と、前記
中間コードに基づいて印刷部が印刷可能なビットマップ
イメージに描画展開する描画手段と、受信したデータを
前記解析手段が解析して前記描画手段に出力する中間コ
ードに変換処理する第1のデータ処理系と、受信したデ
ータに基づいて前記描画手段が印刷部が印刷可能なビッ
トマップイメージを記憶部に展開処理する第2のデータ
処理系と、前記データ処理装置から受信するデータの種
別を判定して、受信した印刷部が印刷可能なビットマッ
プイメージを記憶部に展開処理する第3のデータ処理系
とのいずれかに振り分ける振り分け手段とを前記印刷装
置に有するので、少ないページ記述言語解析プログラム
のソースコードを格納するだけで、データ処理装置から
受信する印刷情報を印刷処理する異なる変換処理環境を
自在に構築させつつ、受信するデータ種別に適応して最
適なデータ処理を効率よく行うことができる。
【0181】第5の発明によれば、所定の通信媒体を介
してそれぞれ異なるデバイスを備えるデータ処理装置と
印刷装置とが通信可能な印刷システムであって、アプリ
ケーションプログラムを実行して前記印刷装置に出力す
る所定のページ記述言語に従うデータを生成する生成手
段と、前記生成手段により生成されるデータをスプール
するスプール手段と、前記印刷装置から所定のページ記
述言語に従うデータを解析する前記デバイスに依存しな
いプログラミング言語で記述されているページ記述言語
解析プログラムのソースコードをダウンロードするダウ
ンロード手段と、前記ダウンロード手段によりダウンロ
ードされたソースコードから加工生成される解析資源に
基づいて前記データを所定の中間コードに変換する解析
手段と、前記解析手段により解析された前記所定の中間
コードに基づいて前記印刷装置の印刷部が印刷可能なビ
ットマップイメージに描画展開する描画手段と、前記ス
プール手段に対する前記データのスプール中に、前記デ
ータ処理装置側で変動するデータ処理負担状況を監視す
る監視手段と、前記監視手段のデータ処理負担状況を判
定して、前記印刷装置に転送するデータ種別を前記生成
手段により生成されるデータと、前記解析手段により解
析された前記所定の中間コードと、前記描画手段により
描画展開されたビットマップイメージデータのいずれか
に振り分ける振り分け手段とを有するので、印刷装置か
ら取得される変換資源により印刷装置に出力すべき異な
る種別のデータを生成する環境を整備しつつ、かつ、デ
ータ処理負担が変動しても印刷装置側でデータ処理負担
を軽減できる種別の異なるデータを生成することができ
る。
【0182】第6,第7の発明によれば、所定の通信媒
体を介してそれぞれ異なるデバイスを備えるデータ処理
装置と印刷装置とが通信可能な印刷システムのデータ処
理方法であって、あるいは所定の通信媒体を介してそれ
ぞれ異なるデバイスを備えるデータ処理装置と印刷装置
とが通信可能な印刷システムを制御するコンピュータが
読み出し可能なプログラムを格納した記憶媒体であっ
て、前記印刷装置から所定のページ記述言語に従うデー
タを解析する前記デバイスに依存しないプログラミング
言語で記述されているページ記述言語解析プログラムの
ソースコードをダウンロードするダウンロード工程と、
前記ダウンロード工程によりダウンロードされたソース
コードをコンパイルして前記データを所定の中間コード
に変換する解析処理プログラムにコンパイルするコンパ
イル工程と、アプリケーションプログラムを実行して前
記印刷装置に出力する所定のページ記述言語に従うデー
タを生成する生成工程と、前記ダウンロード工程により
ダウンロードされたソースコードから加工生成される変
換資源に基づいて前記データを所定の中間コードに変換
する解析工程と、前記解析工程により解析された前記所
定の中間コードに基づいて前記印刷装置の印刷部が印刷
可能なビットマップイメージに描画展開する描画工程
と、前記データのスプール中に、前記データ処理装置側
で変動するデータ処理負担状況を監視する監視工程と、
前記監視工程によるデータ処理負担状況を判定して、前
記印刷装置に転送するデータ種別を前記生成工程により
生成されるデータと、前記解析工程により解析された前
記所定の中間コードと、前記描画工程により描画展開さ
れたビットマップイメージデータのいずれかに振り分け
る振り分け工程とを有するので、印刷装置から取得され
る変換資源により印刷装置に出力すべき異なる種別のデ
ータを生成する環境を整備しつつ、かつ、データ処理負
担が変動しても印刷装置側でデータ処理負担を軽減でき
る種別の異なるデータを生成することができる。
【0183】従って、印刷装置側が受信するデータの種
別によっては印刷処理が遅延するようなデータであって
も、印刷装置の出力能力を損ねることなく、最大スルー
プットを維持した印刷を効率よく行える印刷システム環
境を自在に構築することができる等の効果を奏する。
【図面の簡単な説明】
【図1】本発明に係る印刷システムに適用する印刷装置
の構成を示す断面図である。
【図2】本発明の第1実施形態を示す印刷システムの制
御構成を説明するブロック図である。
【図3】本発明に係る印刷システムのデータ処理系の流
れを説明する概念図である。
【図4】本発明に係る印刷システムにおけるホストコン
ピュータが処理するデータ種別およびそのデータ例を示
す図である。
【図5】本発明に係る印刷システムにおけるホストコン
ピュータが処理するデータ種別およびそのデータ例を示
す図である。
【図6】本発明に係る印刷システムにおけるホストコン
ピュータが処理するデータ種別およびそのデータ例を示
す図である。
【図7】本発明に係る印刷システムにおけるグラフィッ
クオブジェクトとトラペゾイドとの関係を示す図であ
る。
【図8】本発明に係る印刷システムにおけるアプリ毎の
特有の印刷データの一例を示す図である。
【図9】本発明に係る印刷システムにおける印刷処理手
順の一例を示すフローチャートである。
【図10】本発明に係る印刷システムで読み出し可能な
各種データ処理プログラムを格納する記憶媒体のメモリ
マップを説明する図である。
【符号の説明】
100 印刷装置 110 PDLコントローラ部 113 データ解析部 114 PDL解析部 115 負荷分散マネージャ 116 ソースコードデータベース部 117 印刷制御処理実行部 118 描画処理実行部 119 ページメモリ 200 ホストコンピュータ 201 アプリケーション 202 グラフィックサブシステム 203 スプールサブシステム 2031 スプールファイル 2032 プリントプロセッサ 2033 RIP部 2034 負荷分散マネージャ 2035 スプールファイル

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 所定の通信媒体を介してそれぞれ異なる
    デバイスを備えるデータ処理装置と印刷装置とが通信可
    能な印刷システムであって、 アプリケーションからの印刷要求に伴って生成される描
    画情報に基づいて作成される所定のページ記述言語デー
    タを前記デバイスに依存しないプログラミング言語で記
    述される変換資源により前記デバイスに依存する中間コ
    ードまたは前記印刷装置が印刷可能なビットマップイメ
    ージデータに変換する複数の変換手段、を有することを
    特徴とする印刷システム。
  2. 【請求項2】 前記データ処理装置は、前記印刷装置に
    記憶される前記変換資源をダウンロードすることを特徴
    とする請求項1記載の印刷システム。
  3. 【請求項3】 前記データ処理装置側で変動するデータ
    処理負担状況を監視する監視手段と、 前記監視手段のデータ処理負担状況を判定して、いずれ
    かの変換手段を選択する選択手段と、を有することを特
    徴とする請求項1記載の印刷システム。
  4. 【請求項4】 所定の通信媒体を介してそれぞれ異なる
    デバイスを備えるデータ処理装置と印刷装置とが通信可
    能な印刷システムであって、 所定のページ記述言語に従うデータを解析する前記デバ
    イスに依存しないプログラミング言語で記述されている
    ページ記述言語解析プログラムのソースコードを格納す
    るコード格納手段と、 前記コード格納手段から読み出される前記ソースコード
    を加工して生成される解析資源に基づいて前記データを
    所定の中間コードに変換する解析手段と、 前記コード格納手段から読み出される前記ソースコード
    を前記データ処理装置に転送する転送手段と、 前記中間コードに基づいて印刷部が印刷可能なビットマ
    ップイメージに描画展開する描画手段と、 受信したデータを前記解析手段が解析して前記描画手段
    に出力する中間コードに変換処理する第1のデータ処理
    系と、受信したデータに基づいて前記描画手段が印刷部
    が印刷可能なビットマップイメージを記憶部に展開処理
    する第2のデータ処理系と、前記データ処理装置から受
    信するデータの種別を判定して、受信した印刷部が印刷
    可能なビットマップイメージを記憶部に展開処理する第
    3のデータ処理系とのいずれかに振り分ける振り分け手
    段と、を前記印刷装置に有することを特徴とする印刷シ
    ステム。
  5. 【請求項5】 所定の通信媒体を介してそれぞれ異なる
    デバイスを備えるデータ処理装置と印刷装置とが通信可
    能な印刷システムであって、 アプリケーションプログラムを実行して前記印刷装置に
    出力する所定のページ記述言語に従うデータを生成する
    生成手段と、 前記生成手段により生成されるデータをスプールするス
    プール手段と、 前記印刷装置から所定のページ記述言語に従うデータを
    解析する前記デバイスに依存しないプログラミング言語
    で記述されている解析ソースプログラムのソースコード
    をダウンロードするダウンロード手段と、 前記ダウンロード手段によりダウンロードされたソース
    コードから加工生成される解析資源に基づいて前記デー
    タを所定の中間コードに変換する解析手段と、 前記解析手段により解析された前記所定の中間コードに
    基づいて前記印刷装置の印刷部が印刷可能なビットマッ
    プイメージに描画展開する描画手段と、 前記スプール手段に対する前記データのスプール中に、
    前記データ処理装置側で変動するデータ処理負担状況を
    監視する監視手段と、 前記監視手段のデータ処理負担状況を判定して、前記印
    刷装置に転送するデータ種別を前記生成手段により生成
    されるデータと、前記解析手段により解析された前記所
    定の中間コードと、前記描画手段により描画展開された
    ビットマップイメージデータのいずれかに振り分ける振
    り分け手段と、を有することを特徴とする印刷システ
    ム。
  6. 【請求項6】 所定の通信媒体を介してそれぞれ異なる
    デバイスを備えるデータ処理装置と印刷装置とが通信可
    能な印刷システムのデータ処理方法であって、 前記印刷装置から所定のページ記述言語に従うデータを
    解析する前記デバイスに依存しないプログラミング言語
    で記述されているページ記述言語解析プログラムのソー
    スコードをダウンロードするダウンロード工程と、 前記ダウンロード工程によりダウンロードされたソース
    コードをコンパイルして前記データを所定の中間コード
    に変換する解析処理プログラムにコンパイルするコンパ
    イル工程と、 アプリケーションプログラムを実行して前記印刷装置に
    出力する所定のページ記述言語に従うデータを生成する
    生成工程と、 前記ダウンロード工程によりダウンロードされたソース
    コードから加工生成される変換資源に基づいて前記デー
    タを所定の中間コードに変換する解析工程と、 前記解析工程により解析された前記所定の中間コードに
    基づいて前記印刷装置の印刷部が印刷可能なビットマッ
    プイメージに描画展開する描画工程と、 前記データのスプール中に、前記データ処理装置側で変
    動するデータ処理負担状況を監視する監視工程と、 前記監視工程によるデータ処理負担状況を判定して、前
    記印刷装置に転送するデータ種別を前記生成工程により
    生成されるデータと、前記解析工程により解析された前
    記所定の中間コードと、前記描画工程により描画展開さ
    れたビットマップイメージデータのいずれかに振り分け
    る振り分け工程と、を有することを特徴とする印刷シス
    テムのデータ処理方法。
  7. 【請求項7】 所定の通信媒体を介してそれぞれ異なる
    デバイスを備えるデータ処理装置と印刷装置とが通信可
    能な印刷システムを制御するコンピュータが読み出し可
    能なプログラムを格納した記憶媒体であって、 前記印刷装置から所定のページ記述言語に従うデータを
    解析する前記デバイスに依存しないプログラミング言語
    で記述されているページ記述言語解析プログラムのソー
    スコードをダウンロードするダウンロード工程と、 前記ダウンロード工程によりダウンロードされたソース
    コードをコンパイルして前記データを所定の中間コード
    に変換する解析処理プログラムにコンパイルするコンパ
    イル工程と、 アプリケーションプログラムを実行して前記印刷装置に
    出力する所定のページ記述言語に従うデータを生成する
    生成工程と、 前記ダウンロード工程によりダウンロードされたソース
    コードから加工生成される変換資源に基づいて前記デー
    タを所定の中間コードに変換する解析工程と、 前記解析工程により解析された前記所定の中間コードに
    基づいて前記印刷装置の印刷部が印刷可能なビットマッ
    プイメージに描画展開する描画工程と、 前記データのスプール中に、前記データ処理装置側で変
    動するデータ処理負担状況を監視する監視工程と、 前記監視工程によるデータ処理負担状況を判定して、前
    記印刷装置に転送するデータ種別を前記生成工程により
    生成されるデータと、前記解析工程により解析された前
    記所定の中間コードと、前記描画工程により描画展開さ
    れたビットマップイメージデータのいずれかに振り分け
    る振り分け工程と、を有することを特徴とするコンピュ
    ータが読み出し可能なプログラムを格納した記憶媒体。
JP9301999A 1997-11-04 1997-11-04 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 Pending JPH11143656A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9301999A JPH11143656A (ja) 1997-11-04 1997-11-04 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9301999A JPH11143656A (ja) 1997-11-04 1997-11-04 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Publications (1)

Publication Number Publication Date
JPH11143656A true JPH11143656A (ja) 1999-05-28

Family

ID=17903672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9301999A Pending JPH11143656A (ja) 1997-11-04 1997-11-04 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Country Status (1)

Country Link
JP (1) JPH11143656A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076516A (ja) * 2001-09-05 2003-03-14 Ricoh Co Ltd 印刷システム
WO2006013953A1 (en) * 2004-08-06 2006-02-09 Canon Kabushiki Kaisha Image processing apparatus and control method thereof
JP2010108502A (ja) * 2008-11-03 2010-05-13 Sharp Corp 複合機システム、出力処理方法及び判定方法
US10841798B2 (en) 2001-01-19 2020-11-17 Flexiworld Technologies, Inc. Information apparatus or client software that wirelessly discovers, within short range, one or more output devices for establishing a wireless connection
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US10866773B2 (en) 2000-11-01 2020-12-15 Flexiworld Technologies, Inc. Information apparatus for playing digital content that is received from a digital content service provided over the internet
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11029903B2 (en) 2000-11-01 2021-06-08 Flexiworld Technologies, Inc. Output systems, such as television controllers, televisions, display devices, or audio output devices, operable for playing digital content wirelessly received either from a digital content service over the internet or wirelessly received from a client device that is in the same network as the output system
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US11416197B2 (en) 2000-11-01 2022-08-16 Flexiworld Technologies, Inc. Wireless controllers connectable to televisions, wireless televisions, wireless output controllers, or wireless output devices for receiving digital content from one or more servers over the internet
US10866773B2 (en) 2000-11-01 2020-12-15 Flexiworld Technologies, Inc. Information apparatus for playing digital content that is received from a digital content service provided over the internet
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US10873856B2 (en) 2000-11-01 2020-12-22 Flexiworld Technologies, Inc. Printing devices supporting printing over air or printing over a wireless network
US11096056B2 (en) 2000-11-01 2021-08-17 Flexiworld Technologies, Inc. Output devices, such as televisions, output controllers, or audio output devices, that are setup to wirelessly receive digital content from a digital content service over the internet or from a wireless information apparatus that is in the same network as the output devices
US10846031B2 (en) 2000-11-01 2020-11-24 Flexiworld Technologies, Inc. Software application for a mobile device to wirelessly manage or wirelessly setup an output system or output device for service
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US11169756B2 (en) 2000-11-20 2021-11-09 Flexijet Technologies, Inc. Method for capturing, storing, accessing, and outputting digital content
US10841798B2 (en) 2001-01-19 2020-11-17 Flexiworld Technologies, Inc. Information apparatus or client software that wirelessly discovers, within short range, one or more output devices for establishing a wireless connection
JP2003076516A (ja) * 2001-09-05 2003-03-14 Ricoh Co Ltd 印刷システム
US8171463B2 (en) 2004-08-06 2012-05-01 Canon Kabushiki Kaisha Image processing apparatus and control method thereof
WO2006013953A1 (en) * 2004-08-06 2006-02-09 Canon Kabushiki Kaisha Image processing apparatus and control method thereof
JP2006048535A (ja) * 2004-08-06 2006-02-16 Canon Inc 画像処理装置及びその制御方法
US8199348B2 (en) 2008-11-03 2012-06-12 Sharp Laboratories Of America, Inc. Methods and systems for handling files for MFPS utilizing external services
JP2010108502A (ja) * 2008-11-03 2010-05-13 Sharp Corp 複合機システム、出力処理方法及び判定方法

Similar Documents

Publication Publication Date Title
EP0864964B1 (en) Printer driver switching in windows operating systems
JP3826038B2 (ja) 印刷システム及びその印刷方法並びに印刷装置
JP4543340B2 (ja) 画像処理装置および画像形成システムとプログラム
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP4738948B2 (ja) 情報処理装置、画像処理方法、及びコンピュータプログラム
JPH117367A (ja) プリンティングシステム
AU1337201A (en) Method and apparatus for smart job ticket processing for print streams
JPH09114611A (ja) 印刷処理装置および方法
AU2002250218A1 (en) Efficiently scheduled multiple raster image processors
WO2002073390A2 (en) Efficiently scheduled multiple raster image processors
JP4174476B2 (ja) データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム
US20030011819A1 (en) Information processing device, information processing method, printing system, computer program and memory medium
JP3962606B2 (ja) 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム
JPH11143656A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2003044236A (ja) 画像処理システムおよび画像処理システムの制御方法
US20040012797A1 (en) Load balancing in image generation
US20040263892A1 (en) Information processisng apparatus, information processing method, and control program
JP3384223B2 (ja) 印刷処理システム
JP4412718B2 (ja) 情報処理装置およびその制御方法
JP2001109599A (ja) 情報処理装置およびデータ処理方法および記憶媒体
JPH11134121A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH1040040A (ja) 印刷処理装置
JP3408107B2 (ja) データ処理装置および印刷制御装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2003341152A (ja) 印刷制御装置、印刷制御方法、印刷システム、及びプログラム
JPH1040041A (ja) 印刷処理装置