JP2006155307A - 負荷分散処理を行う画像処理システム - Google Patents

負荷分散処理を行う画像処理システム Download PDF

Info

Publication number
JP2006155307A
JP2006155307A JP2004346091A JP2004346091A JP2006155307A JP 2006155307 A JP2006155307 A JP 2006155307A JP 2004346091 A JP2004346091 A JP 2004346091A JP 2004346091 A JP2004346091 A JP 2004346091A JP 2006155307 A JP2006155307 A JP 2006155307A
Authority
JP
Japan
Prior art keywords
print data
image processing
image
print
processing apparatus
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.)
Withdrawn
Application number
JP2004346091A
Other languages
English (en)
Inventor
Kiyohiro Tsunekawa
清宏 恒川
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 JP2004346091A priority Critical patent/JP2006155307A/ja
Publication of JP2006155307A publication Critical patent/JP2006155307A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】 特に印刷ジョブが連続するような状況やネットワークに接続された環境で複数のユーザが画像処理装置を共有する環境において、印刷ジョブに描画処理負荷が高い描画命令を含むような場合であっても、最終ページが排紙完了となるまでのトータルでの処理時間を短縮し高速に印刷処理が行える画像処理システムを提供する。
【解決手段】 画像処理装置の稼動状況に応じて、印刷データの形態を動的に変動させ、印刷データ生成手段が様々な出力形態の印刷データを生成することで、印刷データの処理負荷を画像処理装置と印刷データ生成手段とで分散させる。
【選択図】 図1

Description

本発明は、画像処理装置と前記画像処理装置に印刷データを出力する外部装置上で動作する印刷データ生成手段とから構成される画像処理システムに関するものであって、詳しくは、前記画像処理装置の稼動状況に応じて印刷データの形態を動的に変動させ、印刷データの処理負荷を前記画像処理装置と印刷データ生成手段とで最適に分散させ得る画像処理システムに関するものである。
近年、コンピュータ関連技術の目覚しい発達や、インターネット、イントラネット等のネットワーク環境の普及に伴い、ビジネス・パーソナルを問わず文書の電子化がますます進んでおり、特にオフィスにおけるビジネス文書の電子化は急速に進んでいる。一方、このようなペーパレス化が進む中、DTPソフトやCADなどのグラフィック系ソフトに代表されるアプリケーションソフトも年々高機能化が進み、これらアプリケーションソフトからの印刷要求の内容もますます複雑になり、ページプリンタ等の画像処理装置に要求される処理能力もますます高くなる一方である。さらに、前記画像処理装置に対して高画質化・高品質化を望むユーザの声も年々高まっており、それに伴って印刷データは高解像度化、高階調化し、前記画像処理装置が処理すべき単位ページあるいは単位ジョブあたりのデータ量もますます多くなっている。
また、ネットワーク環境の普及に伴い、1台の画像処理装置を複数のホストコンピュータ、複数のユーザで共有する使用形態が一般的となっており、複数のホストコンピュータから同時に要求される印刷ジョブを効率的に出力する処理能力の向上が望まれている。
ここで、上記のように電子文書から印刷データを生成する環境としては、オペレーティングシステム(OS)と、前記OS上で動作して様様な描画指示を出力する各種アプリケーションソフト、同じく前記OS上で動作して前記描画指示を前記画像処理装置が解釈可能なPDL形式の印刷データに変換するプリンタドライバとから構成されているのが一般的であって、前記プリンタドライバと前記画像処理装置とで画像処理システムを成している。
なお、従来のページプリンタ等は、ページ記述言語(PDL)形式として印刷データを受信し、前記PDLを予め定められた書式に従って解析し、ページ内容を表すビットマップ画像(ページ画像)を生成するように構成されている。このような従来のPDLは、例えば、文字印字命令や、線描画命令などの各種図形描画命令、イメージ描画命令などの他、描画論理(ANDまたはORなどのROP指定)やクリッピング領域の指定、複数命令をグループ化して記憶し呼び出すマクロ命令や、各種の印字環境を設定するための命令群など、多種多用な命令から構成されている。
以上説明したように、PDL形式の印刷データを処理する従来の画像処理システムでは、プリンタドライバは予め定められた書式に従ってアプリケーションソフトからの印刷要求をPDL形式の印刷データに変換していた。
又、別の従来例としては、特許文献1をあげることが出来る。
特開平11-198489号公報
しかしながら、上記従来例では、以下に説明するような問題点があった。
すなわち、従来の画像処理装置とプリンタドライバから構成される画像処理システムでは、前記プリンタドライバは予め静的に定められた書式に従ってアプリケーションソフトからの印刷要求を1対1にPDL形式の印刷データに変換していたため、変換後の印刷データが前記画像処理装置にとって処理負荷の高い描画命令群で構成されてしまう場合があった。このことは、例えば任意形状のクリッピング指定や、複雑なROP指定、あるいはパス図形描画等の複雑かつ抽象度の高い描画命令をサポートした、高機能なPDLにおいて顕著となっていた。
特に、複数の印刷ジョブを連続で出力するような場合や、ネットワークに接続された環境で複数のユーザが画像処理装置を共有する環境において、処理負荷が高い印刷データを処理する際は、前記処理負荷が高い印刷データのために長い間、画像処理装置が占有されてしまい、連続印刷時の後続の印刷ジョブや、ネットワーク環境で出力された別ユーザの印刷ジョブは、処理完了が遅くなってしまうという問題があった。さらに、後続の印刷データも処理負荷の高い描画命令や大量の描画命令群から構成されている場合は、該印刷ジョブの完了はより遅くなってしまっていた。
本発明は、上記従来の問題点に鑑みたものであって、画像処理装置の稼動状況に応じて、プリンタドライバが様々な出力形式の印刷データを生成することで、特に印刷ジョブが連続するような状況において、トータルで高速に印刷処理が行える画像処理システムを提供することを目的としている。
この課題を解決するために、本発明の画像処理システムは、外部より入力された印刷データに対応するページ画像を生成する画像処理装置と、上位装置からの印刷指示に従って前記画像処理装置が解釈可能な形式の前記印刷データを生成して前記画像処理装置に出力する印刷データ生成手段とから構成され、前記画像処理装置は、印刷データ生成手段からの問い合わせに対応して、処理ステータスを出力するステータス出力手段と、前記印刷データを解析してページ画像を生成する解析手段とを備え、前記印刷データ生成手段は、前記画像処理装置に対して処理ステータスを問い合わせ結果を受け取る応答手段と、前記応答手段の受け取った結果に応じて出力する印刷データの抽象度を決定する抽象度決定手段とを備え、前記印刷データ生成手段は前記抽象度決定手段の結果に応じて、出力形態の異なる前記印刷データを生成することを特徴とする。
ここで、前記印刷データは、前記抽象度のレベルが高いほど、前記画像処理装置における処理割合が多い出力形態であることを特徴とする。また、前記処理ステータスは、前記画像処理装置が処理中である印刷ジョブの有無、あるいは未処理ジョブ数、あるいは未処理ページの総数であることを特徴とする。さらに、前記応答手段は、1つの印刷ジョブの開始前に少なくとも1回、画像処理装置に対して前記問い合わせを行うことを特徴とする。
また、この課題を解決するために、本発明の画像処理システムにおける前記印刷データ生成手段は、オペレーティングシステム上で動作するプリンタドライバとして構成されており、前記応答手段が前記画像処理装置から所定の時間内に応答が得られなかった場合に、決定する前記抽象度をユーザが指定可能であることを特徴とする。また、前記印刷データ生成手段は、最も抽象度の低い印刷データとして、ページ単位でラスタライズされたページ画像あるいは前記ページ画像を所定の圧縮形式によって圧縮したデータを生成して出力することを特徴とする。
上記構成により、本発明によれば、画像処理装置の稼動状況に応じて、プリンタドライバが様々な出力形式の印刷データを生成し、特に印刷ジョブが連続するような状況において、トータルで高速に印刷処理が行える画像処理システムを提供可能となる。すなわち、画像処理装置が処理負荷の高い印刷データを解析している間に、前記印刷データ生成手段は、画像処理装置の解析負荷が軽く高速に処理可能な、抽象度の低い形式の印刷データを生成することで、画像処理装置と印刷データ生成手段とで動的に負荷分散を行うことができる。
本発明により、画像処理装置の稼動状況に応じて、印刷命令生成手段が様々な出力形態の印刷データを生成することで、特に印刷ジョブが連続するような状況やネットワークに接続された環境で複数のユーザが画像処理装置を共有する環境において、印刷ジョブに描画処理負荷が高い描画命令を含むような場合であっても、最終ページが排紙完了となるまでのトータルでの処理時間を短縮し高速に印刷処理が行える画像処理システムを提供することができる。
以下に添付の図面を参照して、本発明の実施の形態について説明する。
<本実施の形態の画像処理装置の構成例>
まず、図1、図2を参照しながら、本発明を適用するに好適な本実施の形態の画像処理システムの構成について説明する。
図1は、本実施の形態の画像処理システムの概略を示すブロック図であり、例えば、レーザビームプリンタの場合を示す。尚、本発明を適用可能な画像処理装置はレーザビームプリンタに限られるものではなく、他のプリント方式のプリンタ装置であっても良いし、モノクロ/カラープリンタといった機器構成の違いにも関係なく適用可能である。更に、本発明の機能が実行されるのであれば、プリンタに限定されるものでもなく、同様の画像処理を必要とする画像記録装置や画像表示装置、画像通信装置の制御においても適用可能である。
図1において、101はホストコンピュータ等の外部機器、102は本実施の形態のレーザビームプリンタ本体である。
レーザビームプリンタ102は、前記外部機器101上で動作するプリンタドライバによって生成されたページ記述言語(PDL)形式の印刷データ(文字コードや図形データ、イメージデータ等)を受け取り、それらの情報に従って対応する文字パターンや図形パターンなどを作成し、記録媒体である記録紙上に像を形成するよう構成されている。又、このレーザビームプリンタ102では、不図示のデータ記憶部に対して文字パターンの登録やフォームデータ、マクロデータなどの登録も行えるよう構成されており、ホストコンピュータ101から受信した印刷データと同様に、前記記憶部の印字データに応じてページ画像を生成する。
レーザビームプリンタ102において、103はプリンタ制御ユニット(コントローラ部)であって、レーザビームプリンタ102全体の制御、及びホストコンピュータ101から供給される印刷データ(文字情報など)を解析する。この制御ユニット103は、プリンタエンジン部105と接続され、前記印刷データに基づいたドットデータからなるページ情報を生成し、プリンタエンジン部105に対して順次ドットデータ(ビデオ信号)を送信する。
又、105はプリンタエンジン部であって、前記ドットデータ(ビデオ信号)に従って実際に感光ドラムに潜像を形成し、用紙に熱定着させることによって印字を行う。104は、操作のためのスイッチ及びLED表示器などが配されている操作パネルであって、オペレータ(使用者)は、パネル部104を操作することによって、レーザビームプリンタ102に所定の動作の指定、あるいは印刷環境の設定等を行うことができる。
ここで、前記レーザビームプリンタ106とホストコンピュータ101とは、TCP/IP等の所定のプロトコルによって通信可能なネットワークで接続されており、同ネットワークには複数台のホストコンピュータが接続されているのが一般的である。なお、接続形態としては、セントロニクスやUSB等の他のインターフェースによって1対1で接続されていても構わない。
図2は、本実施の形態のレーザビームプリンタ102の内部構造を示す断面図であり、主にプリンタエンジン部105の構成を示している。ここでは、図1と同じ構成に対しては同一番号を付け、説明を省略する。
同図において、レーザドライバ201は半導体レーザ202を駆動するための回路であり、制御ユニット103が出力する前記ビデオ信号に応じて、半導体レーザ202から発射されるレーザ光203をオン/オフ切り替えする。レーザ203は回転多面鏡204で左右方向に振られ、静電ドラム205上を走査する。これにより、静電ドラム205上には帯電されたトナーによる文字パターン等の静電潜像が形成される。この潜像は、静電ドラム205周囲の現像ユニット206により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はレーザビームプリンタ102に装着した用紙カセット207に収納されており、給紙ローラ208及び搬送ローラ209と210とにより装置内に取り込まれて、静電ドラム205に供給される。
図3は、本実施の形態の画像処理システムの基本構成部を説明するブロック図であり、図1の画像処理装置の制御ユニット103の内部構成と、プリンタドライバ312の主要構成とを示している。尚、本発明の機能が実行されるのであれば、単体の機器であっても、LAN等のネットワークを介して配置された複数の機器で処理が行われるシステムであっても良い。
同図において、レーザビームプリンタの制御ユニット103は、所定のインターフェース308(106)を介して外部機器であるホストコンピュータ101と接続されており、ホストコンピュータ101上で動作するプリンタドライバが送出する印刷データに従って所定の印刷処理を実行するように構成されている。ここで、ホストコンピュータ101から受信した印刷データは、まず受信バッファ305aに受信データとして一時的に蓄えられる。
301はプリンタCPUであり、読み出し専用メモリであるROM302内のプログラムROM303に記憶された制御プログラムに基づいて、システムバス306に接続された各種デバイスとのアクセスや、ハードウェア回路によって構成されるASIC309を統括的に制御している。ここで、前記制御プログラムは、以下に示すプログラムから構成されている。すなわち、受信バッファ305aに蓄えられた印刷データを解析し、少なくとも1ページ分の描画オブジェクト(Display List:DL)を生成するDL生成部303b、続いて前記描画オブジェクトを元に1ページ分(あるいは複数のバンドに分割した1バンド分)のラスタイメージすなわちページ画像を生成するDL描画部303b、印刷部I/F310を介して印刷部(プリンタエンジン)105に対して、前記ページ画像を表すビットのON/OFFによるビデオ信号の出力や、紙なし検知などの各種用紙ハンドリング制御等を行うエンジン制御部303d(ビデオ信号の出力を、以下"シップ"と記す)などから構成されている。
尚、ページをバンド状に分割したバンドラスタを複数(例えば2つ)用意して印刷を行うバンディング方式では、前記ページ画像の生成(レンダリング動作)とシップ動作とを紙搬送と同期して同時に行うよう構成されており、レンダリング済みの一方のバンドラスタをシップしながら、他方のバンドラスタに属する描画オブジェクトを描画する。ここで、本実施の形態では、前記バンディング方式で印刷を行うようにバンドメモリ305cを構成したが、1ページ分のページ画像を保持可能なページメモリとして305cを構成し、フルペイント方式で描画/シップ動作を行っても良い。更に、前記バンディング方式とフルペイント方式とをパネルからの指示等によって切り替え可能なように構成されていても構わないし、固定的にどちらか一方を採用しても構わない。加えて、レーザビームプリンタ102は図示しない電源部から電力の供給を受けている。
又、制御プログラム303は、上記構成以外に、以下の機能を実現するためのプログラムを含んでいる。すなわち、前記プリンタドライバ312からの問い合わせに応じて、該画像処理装置の稼動状況、すなわち処理中の印刷ジョブの有無や印刷終了予定時刻等を判定し、判定結果を前記プリンタドライバへ出力するジョブ状態判定部303cや、ハードディスク311eに対する各種データのR/Wアクセスを制御するHD制御部303e、操作パネル104からの入力に従って各種印刷環境を設定する印刷環境制御部(不図示)などから構成されている。
又、このROM302は、文字出力に用いるドットフォントやアウトライン形式のスケーラブルフォントから構成されるフォントデータを格納するメモリとしても用いられている(フォントROM304)。
305は、CPU301の主メモリ、ワークメモリ等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張できるように構成されている。RAM305は、前記DL生成部303aが生成した描画オブジェクトを格納するDL格納部305aや、制御プログラム303によって各種描画処理において一時的に使用されるワークメモリ305d、1ページを複数のバンド状に分割した領域のうち、2面分の領域に相当するバンドメモリ305cの他、前記フォントメモリ304内のスケーラブルデータに基づいて展開された文字パターンをキャッシュするフォントキャッシュメモリ(不図示)等に用いられる。
311はハードディスクであって、フォントデータやPDL形式で記述されたオーバレイデータ等のリソースの登録や、該画像処理装置内で生成される各種印刷ログの他、保存ジョブや電子ソート(複数部数印刷)、機密印刷等の機能を実現するために一時的に印刷データを格納するために用いられる。なお、前記印刷データはハードディスク311に格納されると説明したが、フラッシュメモリ等の不揮発性メモリ(不図示)やRAM305、あるいは他の構成による記憶装置に格納しても構わない。
又、本発明を構成する装置がROMに格納されたプログラムとして供給されるよう説明したが、これに限らず、フレキシブルディスクやハードディスク等の媒体によって供給され、実行前にRAM等へロードされた後、実行されるよう構成されていても構わない。又、CD−ROM、CD−R、メモリカード、DVD等のような記憶媒体から図示省略したドライブを解して、該制御プログラムをインストールして制御しても本発明を実施することが可能であり、本発明はこれを含むものである。
続いて、312はホストコンピュータ上で動作するプリンタドライバであって、前記画像処理装置103が解釈可能なPDL形式の印刷データを生成する。ここで、前記プリンタドライバ312は、前記画像処理装置に対して稼動状況を問い合わせ、かつジョブ状態判定部303cの応答に応じて、印刷データの抽象度を決定する抽象度判定部312aと、アプリケーションソフトからの印刷要求(描画命令)を対応するPDL形式の印刷データに変換して出力する印刷命令生成部312bとから構成されている。
<本実施の形態の画像処理システムにおける印刷ジョブ動作例>
(印刷データの構成例)
続いて図6を用いて、ホストコンピュータから本画像処理装置に対して出力される印刷データの形式例を説明する。
印刷ジョブの最初と最後はJL(Job Language)という言語で構成されており、印刷ジョブ内で一律な各種環境(ジョブ環境)を指定する以下の命令群を含む。
・印刷ジョブの開始を示すジョブ開始命令(パラメータとしてジョブID=JOBIDが指定される。)
・後続のPDLデータ形式の印刷命令を処理すべき印字解像度を設定する印字解像度指定命令(本実施の形態では600dpi)
・印刷を用紙の片面に行うか両面に行うかを指定する印刷面指定命令(両面)
・排紙口選択命令(排紙口1=フェースダウン)
・用紙を綴じるために余白位置を指定する綴じ幅設定命令(10mm)
・印刷データを処理するためにPDL解析処理プログラムの起動を指示するPDL移行命令(LIPS(登録商標)を起動)
なお、本実施例では簡単のために省略したが、JLには上記に示した印刷環境のほかに、操作パネル104から設定可能な各種印刷環境をリモートで設定可能な各種命令が含まれている。また、JLによって設定される内容は、操作パネルにて設定される印刷環境を一時的に上書きし、当該JLジョブ内でのみ有効となるよう構成されている。
ここまでがJLコマンド(以下、ジョブ環境設定命令と記す)であって、これからはPDLで書かれる。
・PDLデータの開始を示すPDLデータ開始命令
・各ページの用紙サイズを選択する用紙サイズ選択命令(A4)
・描画命令で用いられる単位を指定するサイズ単位指定命令(1/600インチ)

・フォント選択命令(明朝)
・文字セット選択命令(JIS90)
・文字サイズ選択命令(83/600インチ=10ポイント)
・印字位置指定命令(x座標=116、y座標=120)
・文字印字命令(文字コード列)

・図形描画命令

・排紙命令

・PDLデータの終了を意味するPDLデータ終了命令、
・JLによる、印刷ジョブの終了を定義するジョブ終了命令
(印刷ジョブ生成処理)
図4は、本実施例におけるプリンタドライバが生成する、抽象度の異なる印刷データを概念的に示した図であって、イメージ描画命令の場合について説明している。
同図において、(a)は抽象度が最も高い0の場合に生成される描画命令であって、401は1回のイメージ描画指示でアプリケーションから渡されるイメージデータ、402は前記イメージに対して矩形クリップを行っている様子を示している。すなわち、抽象度が0と決定された場合は、アプリケーションから描画指示された通りのイメージデータと、同じくアプリケーションから指示された矩形状のクリッピング命令とが印刷データとして生成される。
次に(b)は、抽象度が1の場合に生成される描画命令であって、403は1回のイメージ描画指示でアプリケーションから渡されるイメージデータに対して、矩形クリップを行った後のイメージ様子を示している。すなわち、抽象度が1と決定された場合は、アプリケーションから描画指示された通りのイメージデータに対して、プリンタドライバ側でクリップ処理を行ない、その結果サイズが小さくなったイメージデータを印刷データとして生成する。
最後に(c)は、抽象度が最も低い2の場合に生成される描画命令であって、404は矩形クリップを施した後のイメージに対して、更に画像処理装置がレンダリングを行う際の向きに回転したイメージデータの様子を示している。すなわち、抽象度が2と決定された場合は、アプリケーションから描画指示された通りのイメージデータに対して、プリンタドライバ側でクリップ処理と回転処理を行ない、その結果サイズが小さくなった回転済みのイメージデータを印刷データとして生成する。なお、イメージデータの回転角度は、例えば用紙サイズ=A4/ポートレートの印刷データを、A3用紙が通紙可能(A4用紙は横送りで通紙可能)なレーザビームプリンタに出力する場合、270°の回転であると判断する。
このように、印刷データの抽象度が高い程、画像処理装置が処理すべき手順は多くなり、印刷処理を終了するまでにより多くの時間を要する。
続いて、本実施の形態のプリンタドライバにおける印刷データの生成手順を、図5および図12のフローチャートを用いて以下に説明する。図5は、前記画像処理装置から得られた稼動状況(ジョブ状態)の問い合わせ結果に応じて、印刷データの抽象度を決定する手順を示したフローチャート、図12は前記抽象度に従って出力形式を変更して印刷データを生成する手順を示したフローチャートであって、イメージ描画命令の場合について説明している。
図5において、まずステップ501において、画像処理装置に対してジョブ状態の問い合わせを行う。ここで本実施例では、前記ステップは、ユーザがホストコンピュータのディスプレイ上に表示される印刷ダイアログ上の印刷ボタンをマウス等のポインティングデバイスで押したタイミングで行われるものとする。また、本実施例に示した画像処理装置は、前記問い合わせに対して処理中のジョブが存在するか否か、すなわちアイドル状態であるか否かを返すよう構成されているものとする。
続くステップ502以降において、抽象度判断部312aは、前記問い合わせに対する応答結果に応じて印刷データの抽象度を決定する。すなわち、ステップ502において、処理中のジョブが存在しないことを示した応答結果であれば抽象度は最も高い0と決定し(ステップ503)、印刷命令生成部312bが抽象度0に応じた形式の印刷データを生成する(ステップ504)。一方、ステップ502において、処理中のジョブが存在することを示した応答結果が得られた場合は、更に未処理の残りページ数を画像処理装置に対して問い合わせ(ステップ505)、残りページ数に応じて抽象度を決定する。ここでは例えば、未処理残りページ数が10ページ以上であれば、抽象度は最も低い2と決定し、10ページ未満であれば抽象度は1と決定し(ステップ506)、印刷命令生成部312bが抽象度1あるいは2に応じた形式の印刷データを生成する(ステップ504)。
なお、本実施例におけるプリンタドライバは、アプリケーションからの印刷指示をOSが提供するRAM上に、中間形式で一時的に保持するよう構成されており、該印刷ジョブに含まれる総ページ数が把握できるようになっている。また、印刷命令生成部312bは、各印刷ジョブに含まれる前記総ページ数を該印刷データの属性として印刷データのJL部にて付加するよう構成されており、印刷データを受信した画像処理装置は前記総ページ数から出力済みページ数を差し引くことで、処理中の印刷ジョブ及び処理待ち印刷ジョブの残りページ数が把握できるようになっている。
続いて、図12のステップ1201において、アプリケーションから個々の描画指示を受け取り、続くステップにて前記描画指示の内容と前記抽象度に応じた形態の印刷データを生成する。ステップ1202において、前記描画指示がイメージ描画命令であるかを調べ、そうでなければその他の描画命令として扱い(ステップ1212)、PDLとして必要なパラメータを算出した後(ステップ1205)、PDL形式の各種描画命令を出力する(ステップ1206)。
一方、ステップ1202において前記描画指示がイメージ描画命令であると判断された場合は、続くステップ1203において抽象度が1以上であるか否かを判断する。ここで抽象度が0であると判断された場合、すなわち画像処理装置はアイドル状態であると判断された場合は、アプリケーションから渡されたイメージデータを所定の形式で圧縮した後(ステップ1204)、他の描画命令と同様、イメージの幅や高さ、イメージ形式等のパラメータを算出し(ステップ1205)、PDL形式のイメージ描画命令を出力する。
また、ステップ1203において抽象度が1以上であると判断された場合、すなわち画像処理装置はアイドル状態でないと判断された場合は、続くステップ1207にて抽象度が1より大であるか否かを調べる。ここで抽象度が1以下(すなわち1)であると判断された場合は、クリッピング指定がなされている場合は(ステップ1208の判定結果がYesの場合)、ステップ1209においてイメージデータに対してクリッピング処理を行ない、その後抽象度が0の場合と同様に圧縮処理を行った上で(ステップ1204)、イメージの幅や高さ、イメージ形式等のパラメータを算出し(ステップ1205)、PDL形式のイメージ描画命令を出力する(ステップ1206)。なお、クリッピング処理が成されたことによって、印刷データにおけるイメージデータはアプリケーションから渡されたイメージデータから不要な個所が除かれており、前記パラメータにおける幅や高さも相応する値になっている。
また、ステップ1207において抽象度が1より大(すなわち2)であると判断された場合、すなわち画像処理装置に10ページ以上の未処理ページが存在すると判断された場合は、続くステップ12010にて回転処理が必要か否かを調べ、回転が必要であると判断された場合は、回転処理を行った上で(ステップ1211)、抽象度が1の場合と同様、クリッピング指定がなされている場合はイメージデータに対してクリッピング処理を行ない、圧縮処理およびイメージの幅や高さ、イメージ形式等のパラメータの算出を行ない、PDL形式のイメージ描画命令を出力する。なお、回転処理が成されたことによって、PDLデータの前記パラメータにおける幅や高さも相応する値になっている。
以上に説明した通り、画像処理装置の稼動状況に応じて、プリンタドライバは抽象度を変化させた印刷データを生成し、稼動状況が混雑している場合(すなわち待ち時間が多い場合)は、より抽象度の低い形式になるまで処理を進め、画像処理装置の描画処理負荷を軽減する。
一方、画像処理装置が印刷データを受信した際は、制御プログラム303は、まずホストコンピュータ101から所定のインターフェース308を介して送られてきた印刷データを受信バッファ305aへ記憶する。続いて、受信バッファ305a内に未処理の印刷データが存在するか否かを調べ、存在しない場合は処理を終了する一方、未処理の印刷データが存在する場合はPDL形式の印刷データの解析を行う。ここで、前記印刷データが排紙命令(フォームフィードコード)か否かを調べ、そうでなければ他の印刷命令として解析を続け、所定の手順に従って対応する描画オブジェクト(DL)を生成する。例えば、前記印刷データが文字印字命令であれば、フォントキャッシュ格納部内に同一の文字パターンが作成済みであるか否かを検索し、文字パターンが作成済み、すなわち検索にヒットした場合は、該文字パターンを描画するために必要な描画情報を作成する。一方、同一文字パターンがフォントキャッシュ内に見つからなければ、フォントスケーラがカレントフォントの指定された文字コードに対応した文字パターンを生成するために呼び出され、文字パターンとして描画オブジェクトを生成する。尚、本実施の形態では、文字パターンを表す描画オブジェクトはビットマップパターンであるとするが、これに限らず、規定のパターンサイズ以下の文字は規定の圧縮形式で圧縮するなどの処理を施しても良い。続いて、検索時にヒットした場合と同様に描画情報を作成し、1命令の解析を終了する。
一方、印刷データが排紙命令であった場合は、プリンタエンジンに対して起動通知を行うとともに、生成済みの1ページ分の描画オブジェクトをレンダリングしてバンドメモリにページ画像を順次描画する。
前記1ページ分のレンダリングおよびシップ処理が終了した後、残りページがなくなるまで上述した処理を繰り返す。
尚、本実施の形態では簡単のため、1ページ分のレンダリングを行った後、続く印刷データの解析を行うように構成したが、レーザビームプリンタ等の画像処理装置では、マルチタスク処理によってレンダリングと印刷データの解析を同時に行えるように構成されているのが普通である。
以上説明した処理手順によって、様様な抽象度の描画命令を解析して印刷データに対応したページ画像を出力する。
(描画オブジェクト及び描画情報の構成例)
本実施の形態における画像処理装置が生成する描画オブジェクト及び描画情報の構成について、図8、図9、図10、図11を参照しながら説明する。図8は、本実施の形態における1ページ分のDL格納部305aのメモリマップを示す図、図9は描画オブジェクト、図10は描画情報の構成例の概略を示す図であって、図11はこれらの描画オブジェクトをレンダリングした結果得られるページ画像の様子を示した図である。
まず図8において、801は各ページ毎の種々の描画情報を格納するページ情報ヘッダ部であって、該ページの印字解像度、用紙サイズ、カラーモード、バンド数、該ページに属する描画オブジェクトの総容量(メモリ使用量)、ページ状態(描画済み/シップ中等)、電源投入時からシーケンシャルにカウントされ該ページを識別するためのページ番号など、ページ毎に管理すべき情報から構成されている。尚、前記印字解像度等は、各ページの処理を開始する時点のカレントグラフィック状態から決められ、前記バンド数は、各バンドの高さを固定とし、用紙サイズと印字解像度から求められる。802はバンドテーブルであって、前記バンド数だけ領域が用意され、描画情報群801がリンクされている(図9参照)。以下説明する通り、各描画情報は、個々の描画オブジェクトを各バンド内のどの位置に、どのように印字するかを示している。
前記描画情報のことを、図中では”appl”(略語)と呼ぶことにする。尚、本実施の形態では、個々の描画情報901、描画オブジェクト902はそれぞれ、DL記憶部305b内の描画情報群803と描画オブジェクト群804とに分けて保持されるとしたが、混在して保持されるように構成されていても構わない。
図10は、1つの描画情報の構成を示す概略図であり、描画オブジェクトを描画するための情報として以下の情報を含むよう構成されている。すなわち、バンド内の印字位置(バンド左上端からのビットオフセット値)1001、描画オブジェクトの描画高さ1002、バンドラスタとの描画論理(AND/OR等)1003、描画オブジェクトの背景を示すバックグラウンド情報(BG情報)1004、対応する描画オブジェクトの先頭アドレス1005、描画オブジェクトがバント途中から描画される場合に該描画オブジェクトをどれだけ読み飛ばすべきかを示したオフセット(ライン数)1006、次の描画情報の先頭アドレス(リンク最後はNULLとする)1007等を含む。ここで、前記BG情報は、グレイレベルから構成されているものとし、描画時には該グレイレベルに相当するディザパターンが各描画オブジェクトの背景として貼り付けられる。
ここで、描画オブジェクトが複数のバンドにまたがって描画される場合は、該描画オブジェクトは複数の描画情報を持っている。また、フォントオブジェクトによって同一の文字を印字する場合は、一つのフォントオブジェクトに対して複数の描画情報が対応する。つまり描画回数だけ描画情報が割り当てられるのである。図9の例では、appl1とappl3によって、文字"A"がバンド0とバンド1にまたがって描画され、更にappl5によってバンドn内に描画される様子を示している。
尚、前述した描画情報内の各情報は、少なくとも指定用紙を指定解像度で表現可能なだけのビット数があれば良いし、各描画情報間や描画オブジェクトとのリンクはRAM内のアドレスに限らず、IDによるリンクとしても良い(この場合は、予め用意したIDテーブルを介してアドレスに変換する)。
上記の構成によって、各描画オブジェクトをバンド毎に描画してバンド画像を生成するためには、上記バンドテーブルからリンクされている各描画情報を順次読み出し、各描画情報内に記憶された印字位置情報に応じて描画オブジェクトを描画すれば良い。この処理を次の描画情報アドレスがNULLとなるところまで繰り返すことで、1バンド分のレンダリング処理が終了する。
上記に説明したように、描画オブジェクトを描画情報に従って描画を行うと、図11に示したような内容のページが紙上に描画されることになる。ここで1101は用紙そのものを、1102は有効印字領域、すなわちページ画像に相当する領域を示している。尚、本実施例ではバンド数は6であってnは5となる。
<第2の実施形態の画像処理システムの印刷ジョブ生成例>
第1の実施例では、画像処理装置の稼動状況に応じて決定した抽象度によって、イメージ描画に関する印刷データの形態を変更したが、他の描画命令に関しても本発明は適応可能であって、本実施例では、多角形描画命令(パスフィル描画命令)の場合について図7の概念図および図13のフローチャートを用いて以下に説明する。なお、本実施例では、多角形内部を所定のパターンやグレイレベルで塗りつぶす場合に限定して説明する。
図7において、まず(a)は、抽象度が最も高い0の場合に生成される多角形描画命令の様子を示しており、アプリケーションソフトから、多角形の輪郭を示す5つの座標点列((x1、y1)、(x2、y2)、…、(x5、y5))と、該多角形を塗りつぶす命令が入力される。すなわち、抽象度が0と決定された場合は、アプリケーションから描画指示された座標点列がそのまま印刷データとして生成される。ここで、前記座標点列は、アプリケーションが管理する論理座標上での数値であって、必ずホストコンピュータの画面上で左右方向にx軸、上下方向にy軸が設定されている。なお、前記説明では簡単のため、渡された座標点列をそのまま印刷データとして生成すると説明したが、実際には、画像処理装置のPDL仕様に適合するよう、印字解像度に適した単位への変換や座標軸の上下反転等を行うことがある。
次に(b)は、抽象度が1の場合に生成される多角形描画命令であって、前記アプリケーションから渡された座標点列で示される輪郭線に接するような矩形リスト(スキャンライン)で描画されている様子を示している。すなわち、抽象度が1と決定された場合は、アプリケーションから指示された輪郭座標点列を、プリンタドライバ側で画像処理装置の用紙の向きに応じて回転し、更にスキャンライン変換処理を行ない、各スキャンラインの左右エッジリスト形式の印刷データが生成する。具体的には、同図に示したように、開始Y座標値、高さH(スキャンラインの数)の後に、矩形の左右座標値(xl1、xr1、xl2、xr2、…、xln、xrn)が高さ分だけリストとして記述されている(n=H)。なお、本実施例では左右エッジの座標値そのままの数値で矩形リストを構成したが、2ライン目以降の矩形に対しては、1ラインだけ上のエッジの座標値からの差分で表現しても構わない。また、前記スキャンライン変換後の個々の矩形の高さは、画像処理装置の解像度に応じた値となる。すなわち、印字解像度が600dpiであれば、1ドットは1/600インチとなる。なお、スキャンラインの回転角度は、例えば用紙サイズ=A4/ランドスケープの印刷データを、A3用紙が通紙可能(A4用紙は横送りで通紙可能)なレーザビームプリンタに出力する場合、0°の回転であると判断する。
最後に(c)は、抽象度が最も低い2の場合に生成される描画命令であって、前記スキャンラインによる多角形をレンダリングした結果のバンド画像である様子を示している。すなわち、抽象度が2と決定された場合は、アプリケーションから描画指示された座標点列に対して、プリンタドライバ側で回転処理とスキャンライン変換、レンダリング処理を行ない、その結果得られたバンド画像をイメージ描画命令として出力する。
図13は、前記抽象度に従って出力形式を変更して印刷データを生成する手順を示したフローチャートであって、多角形描画命令の場合について説明している。
まず同図のステップ1301において、アプリケーションから個々の描画指示を受け取り、続くステップにて前記描画指示の内容と前記抽象度に応じた形態の印刷データを生成する。ステップ1302において、前記描画指示が多角形描画(パスフィル描画)命令であるかを調べ、そうでなければその他の描画命令として扱い(ステップ1314)、PDLとして必要なパラメータを算出した後(ステップ1305)、PDL形式の各種描画命令を出力する(ステップ1306)。
一方、ステップ1302において前記描画指示がパスフィル描画命令であると判断された場合は、続くステップ1303において抽象度が1以上であるか否かを判断する。ここで抽象度が0であると判断された場合、すなわち画像処理装置はアイドル状態であると判断された場合は、アプリケーションから渡された座標点列データを所定の単位に変換した後(ステップ1304)、他の描画命令と同様、座標点列の個数等のパラメータを算出し(ステップ1305)、PDL形式の多角形描画命令を出力する(ステップ1306)。
また、ステップ1303において抽象度が1以上であると判断された場合、すなわち画像処理装置はアイドル状態でないと判断された場合は、続くステップ1307にて回転処理が必要か否かを調べ、回転が必要であると判断された場合は、前記座標点列に対して回転処理(1次変換処理)を行う(ステップ1308)。その後、ステップ1309において、座標点列を元にスキャンライン変換した後、クリッピング指定がなされている場合は(ステップ1310の判定結果がYesの場合)、ステップ1311において前記スキャンラインに対してクリッピング処理を行う。なお、前記クリッピング処理は、各スキャンラインの全y座標における左右エッジのx座標を、クリップ領域のエッジ座標との大小関係に従って変更するだけであるため、イメージデータに対するクリッピング処理ほどの大きな処理負荷はかからない。
続くステップ1312において、前記抽象度が1と等しいか否かを調べる。ここで抽象度が1であると判断された場合は、抽象度が0の場合と同様に開始y座標やスキャンラインの高さ等のパラメータを算出し(ステップ1305)、前記スキャンラインをデータとして備えるPDL形式の多角形描画命令を出力する(ステップ1306)。
一方、ステップ1312において抽象度が1でない(すなわち2)であると判断された場合、すなわち画像処理装置に10ページ以上の未処理ページが存在すると判断された場合は、前記スキャンラインを参照してバンドイメージにレンダリングを行ない、イメージ描画命令として印刷データを生成する。
以上に説明した通り、画像処理装置の稼動状況に応じて、プリンタドライバは抽象度を変化させた印刷データを生成し、稼動状況が混雑している場合(すなわち待ち時間が多い場合)は、より抽象度の低い形式になるまで処理を進め、画像処理装置の描画処理負荷を軽減し、トータルでの処理性能を向上させる。
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した(図5、図12、図13に示す)フローチャートに対応するプログラムコードが格納されることになる。
本発明を適用可能なレーザビームプリンタとプリンタドライバが動作するホストコンピュータの概略構成を説明するブロック図である。 本実施の形態に示すレーザビームプリンタの内部構造を示す断面図である。 本実施の形態に示す画像処理装置の制御ユニット(コントローラ部)の基本構成と、プリンタドライバの基本構成を説明するブロック図である。 本実施例におけるプリンタドライバが生成する、抽象度の異なる印刷データを概念的に示した図であって、3つの抽象度に応じたイメージ描画命令の場合について説明した図である。 本実施の形態のプリンタドライバにおける印刷データの生成手順を示したフローチャートであって、ジョブ状態に応じて印刷データの抽象度を決定する手順を示した図である。 ホストコンピュータ上のプリンタドライバから本画像処理装置に対して出力される印刷データの形式例を説明した図である。 第2の実施例におけるプリンタドライバが生成する、抽象度の異なる印刷データを概念的に示した図であって、3つの抽象度に応じた多角形描画命令の場合について説明した図である。 1ページ分のDL格納部305aの内容を示すメモリマップを示す図である。 描画情報/描画オブジェクト間のリンク構成の概略を示すブロック図である。 描画情報の構成を示す図である。 描画オブジェクトを描画情報に従ってレンダリングした結果得られる、1ページ分のページ画像の一例を示した図である。 本実施例におけるプリンタドライバが、抽象度に従って異なる出力形式の印刷データを生成する手順を示したフローチャートであって、イメージ描画命令の場合について説明した図である。 第2の実施例におけるプリンタドライバが、抽象度に従って異なる出力形式の印刷データを生成する手順を示したフローチャートであって、多角形描画命令の場合について説明した図である。
符号の説明
101 ホストコンピュータ
102 画像処理装置
103 コントローラ部
105 プリンタエンジン部
301 CPU
303 プログラムROM
303a DL生成部
303c ジョブ状態判定部
305 RAM
305b DL格納部
312 プリンタドライバ
312a 抽象度判断部
312b 印刷命令生成部
803 描画情報部
804 描画オブジェクト(DL)群
901 描画情報(appl)
902 描画オブジェクト(DL)
1102 ページ画像

Claims (7)

  1. 外部より入力された印刷データに対応するページ画像を生成する画像処理装置と、上位装置からの印刷指示に従って前記画像処理装置が解釈可能な形式の前記印刷データを生成して前記画像処理装置に出力する印刷データ生成手段とから構成される画像処理システムにおいて、
    前記画像処理装置は、印刷データ生成手段からの問い合わせに対応して、処理ステータスを出力するステータス出力手段と、
    前記印刷データを解析してページ画像を生成する解析手段とを備え、
    前記印刷データ生成手段は、前記画像処理装置に対して処理ステータスを問い合わせ結果を受け取る応答手段と、
    前記応答手段の受け取った結果に応じて出力する印刷データの抽象度を決定する抽象度決定手段とを備え、
    前記印刷データ生成手段は前記抽象度決定手段の結果に応じて、出力形態の異なる前記印刷データを生成することを特徴とする画像処理システム。
  2. 前記印刷データは、前記抽象度のレベルが高いほど、前記画像処理装置における処理割合が多い出力形態であることを特徴とする請求項1に記載の画像処理システム。
  3. 前記処理ステータスは、前記画像処理装置が処理中である印刷ジョブの有無、あるいは未処理ジョブ数、あるいは未処理ページの総数であることを特徴とする請求項1に記載の画像処理システム。
  4. 前記応答手段は、1つの印刷ジョブの開始前に少なくとも1回、画像処理装置に対して前記問い合わせを行うことを特徴とする請求項1に記載の画像処理システム。
  5. 前記印刷データ生成手段は、オペレーティングシステム上で動作するプリンタドライバであることを特徴とする請求項1に記載の画像処理システム。
  6. 前記印刷データ生成手段は、前記応答手段が前記画像処理装置から所定の時間内に応答が得られなかった場合に、決定する前記抽象度をユーザが指定可能であることを特徴とする請求項1に記載の画像処理システム。
  7. 前記印刷データ生成手段は、最も抽象度の低い印刷データとして、ページ単位でラスタライズされたページ画像あるいは前記ページ画像を所定の圧縮形式によって圧縮したデータを生成して出力することを特徴とする請求項1に記載の画像処理システム。
JP2004346091A 2004-11-30 2004-11-30 負荷分散処理を行う画像処理システム Withdrawn JP2006155307A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004346091A JP2006155307A (ja) 2004-11-30 2004-11-30 負荷分散処理を行う画像処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004346091A JP2006155307A (ja) 2004-11-30 2004-11-30 負荷分散処理を行う画像処理システム

Publications (1)

Publication Number Publication Date
JP2006155307A true JP2006155307A (ja) 2006-06-15

Family

ID=36633525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004346091A Withdrawn JP2006155307A (ja) 2004-11-30 2004-11-30 負荷分散処理を行う画像処理システム

Country Status (1)

Country Link
JP (1) JP2006155307A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011148702A1 (ja) * 2010-05-27 2011-12-01 ブラザー工業株式会社 印刷制御装置、印刷システム、記録媒体
US8289533B2 (en) 2007-04-13 2012-10-16 Casio Electronics Manufacturing Co., Ltd. Printing system and printing method for increasing efficiency by selectively rasterizing print data in either a host device or a print device
JP2014184563A (ja) * 2013-03-21 2014-10-02 Casio Comput Co Ltd パターン分割ピースの製造装置及びその製造方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8289533B2 (en) 2007-04-13 2012-10-16 Casio Electronics Manufacturing Co., Ltd. Printing system and printing method for increasing efficiency by selectively rasterizing print data in either a host device or a print device
WO2011148702A1 (ja) * 2010-05-27 2011-12-01 ブラザー工業株式会社 印刷制御装置、印刷システム、記録媒体
JP2011248663A (ja) * 2010-05-27 2011-12-08 Brother Ind Ltd 印刷制御装置、印刷システム
JP2014184563A (ja) * 2013-03-21 2014-10-02 Casio Comput Co Ltd パターン分割ピースの製造装置及びその製造方法

Similar Documents

Publication Publication Date Title
JP4393076B2 (ja) 画像処理方法及びその装置
US20070070403A1 (en) Information processing apparatus, information processing method, and program
JP2009140295A (ja) 描画装置、印刷装置、描画方法、及びプログラム
JP5051327B1 (ja) 画像処理装置及びプログラム
JP2003320715A (ja) 情報処理装置、情報処理システム、情報出力制御方法、記憶媒体、及びプログラム
EP0575134B1 (en) Method and apparatus for printing according to a graphic language
US10593030B2 (en) Image forming apparatus capable of changing thickness of character, control method therefor, and storage medium storing control program therefor
JP2006263969A (ja) 画像処理装置及び印刷ジョブ生成装置ならびに画像処理システム
JP2006244248A (ja) 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム
US7787707B2 (en) Image-processing device performing image process on raster image data in response to received specific code
JP2008260148A (ja) 画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラム
JP2006235933A (ja) 画像処理装置及び印刷ジョブ生成装置
JP2006155307A (ja) 負荷分散処理を行う画像処理システム
JP2006159738A (ja) 印刷制御装置およびそのデータ処理方法並びに記憶媒体。
US8098385B2 (en) Spool file modifying device
JP3728183B2 (ja) 印刷制御装置および描画制御装置およびデータ処理方法および記憶媒体
JP2003237147A (ja) 画像処理方法及びその装置
JP2004030386A (ja) 画像処理方法および画像処理装置
JP2002063582A (ja) 画像形成装置及び画像形成方法
JP2006240153A (ja) 画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラム
JP2006235932A (ja) 画像処理システム
JP2008119942A (ja) 画像形成装置
JP2003348313A (ja) 画像処理装置
JP2005199485A (ja) 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205