JP4628003B2 - 画像形成装置及びその制御プログラム - Google Patents

画像形成装置及びその制御プログラム Download PDF

Info

Publication number
JP4628003B2
JP4628003B2 JP2004091189A JP2004091189A JP4628003B2 JP 4628003 B2 JP4628003 B2 JP 4628003B2 JP 2004091189 A JP2004091189 A JP 2004091189A JP 2004091189 A JP2004091189 A JP 2004091189A JP 4628003 B2 JP4628003 B2 JP 4628003B2
Authority
JP
Japan
Prior art keywords
data
storage means
bitmap
band
band data
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.)
Expired - Fee Related
Application number
JP2004091189A
Other languages
English (en)
Other versions
JP2005271510A (ja
Inventor
洋亮 亀谷
耕治 浴
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2004091189A priority Critical patent/JP4628003B2/ja
Publication of JP2005271510A publication Critical patent/JP2005271510A/ja
Application granted granted Critical
Publication of JP4628003B2 publication Critical patent/JP4628003B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

本発明は,印刷データを受信した際にそれを印刷処理する機能と,印刷データを受信した際にその関連データを一旦記憶し,印刷要求が入力された際に記憶したデータに基づいて印刷処理する機能とを備えた画像形成装置及びその制御プログラムに関するものである。
プリンタや,プリンタ機能や複写機能,ファクシミリ機能等を備えた複合機等の画像形成装置では,外部装置(例えば,パーソナルコンピュータ等)から送られてきた印刷データ(一般に,ページ記述言語で表されたデータ)を受信し,その印刷データに基づいて画像を出力(画像形成)を行う。このような画像形成装置では,受信した印刷データをビットマップデータ(ビットマップ画像データ)に変換してRAM等の高速メモリに展開する機能を備えている。そして,そのビットマップデータは,プリンタエンジンに転送され,このプリンタエンジンによって記録紙等の被転写部材に画像形成が行われる。
さらに,画像形成装置には,印刷データが受信された際に画像形成までの一連の処理を自動的に行う通常の印刷処理(以下,直接印刷処理という)に加え,印刷データが受信された際にその関連データを一旦記憶し,その後,印刷要求が入力された際に記憶したデータに基づいて画像形成を行う処理(以下,ホールド印刷処理という)を行う機能を有するものがある。
前記ホールド印刷処理では,外部装置から印刷データを受信した際に,それを変換して得られたビットマップデータをハードディスク等の記憶手段(大容量であるが比較的アクセス速度の遅い記憶手段)に一旦保持(記憶)し,その後,外部装置や当該画像形成装置の操作パネル等から,保持されたビットマップデータを指定した印刷要求が入力された際に,指定されたビットマップデータに基づく画像形成を行う。これにより,外部装置から印刷データを再送することなく画像形成を行うことができる。
なお,本書では,「転送」とは,データをその供給元から供給先へ送信(伝送)し,送信完了後のデータを,その供給元に残さない処理を表すものとする。また,「出力」とは,データをその供給元から供給先へ送信(伝送)し,送信完了後のデータを,その供給元に残す場合と残さない場合との両方を含む処理を表すものとする。
一方,一定の速度で画像形成を行うプリンタエンジンを備えた画像形成装置では,ビットマップデータをRAM等の高速メモリに領域が確保されたバッファメモリに一時記憶させ,バッファメモリ内のビットマップデータをプリンタエンジンに対して転送することが行われている。
その際,1ページ分のビットマップデータをバッファメモリ(フレームバッファという)に展開して一時記憶させ,そのビットマップデータをプリンタエンジンに転送する方式が採用されることがある。これは,一般にフレームバッファ方式といわれ,処理はシンプルではあるが,1ページ分のビットマップデータのデータサイズ以上の大容量のバッファメモリ(フレームバッファ)を,高価な高速メモリ(バッファメモリ)内に確保しなければならず,同じく高速メモリを必要とする他の処理の速度に与える影響が大きいというデメリットがある。
これに対し,必要なバッファメモリの容量を抑える方式として,バンドバッファ方式が知られている。
バンドバッファ方式では,まず,受信した印刷データを,その1ページ分を予め設定された分割画像領域(バンド)ごとに複数に分割したデータとする。さらに,その分割したデータごとにデータサイズが比較的小さくなる中間言語データに変換したデータに変換する場合もある。以下,前記分割したデータ又はそのデータを中間言語データに変換したものをバンドデータという。ここで,中間言語データとは,印刷データの内容に相当する内容をビットマップデータに変換しやすい形式で表現するファンクションコールの集合体である。
そして,このバンドデータを,順次ビットマップデータに変換しながらバンドバッファと呼ばれる比較的小容量のバッファメモリに展開し(以下,ビットマップ展開処理という),これと並行して,バンドバッファからビットマップデータを1バンド分(前記分割画像領域分)ずつプリンタエンジンに転送(移動)する。この転送により,当該ビットマップデータはバンドバッファから消去される。
このように,前記バンドデータごとのビットマップ展開処理とプリンタエンジンへのビットマップデータの転送処理(バンドバッファからのデータ消去を伴う)とが並行して行われるため,1ページ分の前記バンドデータに対応するビットマップデータ全てをバッファメモリに展開する必要がなく,バッファメモリの必要容量を小さくできる。ビットマップ展開処理の速度が,プリンタエンジンの処理速度よりも十分速い場合は,理想的には,2バンド分のビットマップデータを一時記憶できるバッファメモリ(バンドバッファ)を確保すればよいことになる。
ここで,バンドバッファ方式では,プリンタエンジンにより,ある前記バンドデータに対応するビットマップデータについて画像形成処理に要する時間よりも,その次の前記バンドデータをビットマップデータに変換してバンドバッファ(バッファメモリ)へ展開する処理(以下,ビットマップ展開処理という)に要する時間の方が長い場合,いわゆるオーバーランが発生し,正しい画像出力結果を得ることができないことが生じる。もちろん,より多くの前記バンドデータについて前記ビットマップ展開処理を事前に行った後に,ビットマップデータのプリンタエンジンへの転送を開始すれば,オーバーランの発生頻度を抑えることができる。しかし,そうすると,常に比較的大容量のバンドバッファが必要となり,さらに印刷開始が遅れるため,バンドバッファ方式とした効果が薄れる。
これに対し,特許文献1には,前記ビットマップ展開処理に要する時間が予め設定されたしきい値以上と判断された前記バンドデータについては,事前に前記ビットマップ展開処理を行ってバンドバッファに記憶させておくプリレンダリングを行う画像出力装置が示されている。これにより,オーバーランが発生すると予測される前記バンドデータが存在する場合にのみ,必要な分だけバンドバッファの容量を通常よりも拡張して確保すればよい。
また,特許文献2には,前記ホールド印刷処理が可能な画像形成装置において,外部装置から送られてきた印刷データを当該画像形成装置が備えるハードディスクに保存する前に,中間言語データである前記バンドデータ単位で実際にメモリ上で前記ビットマップ展開処理を行い,該ビットマップ展開処理に要する時間を計測した上で,その計測時間と既定のしきい値との比較結果により,各バンドデータについてビットマップデータと前記バンドデータ(中間言語データ)のいずれの形式でハードディスクに保持するかを選択する技術が示されている。
従来の画像形成装置では,前記直接印刷処理を行う場合と前記ホールド印刷処理を行う場合とで,前記ビットマップ展開処理の手順を個別に制御することは行われておらず,また,特許文献1及び特許文献2いずれにもそのような制御について示されていない。即ち,従来は,前記直接印刷処理及び前記ホールド印刷処理のいずれを行う場合であっても,予め定められた同じ手順に従ってバンドバッファへビットマップデータを展開するとともに,これと並行してビットマップデータをバンドバッファから転送する。前記直接印刷処理と前記ホールド印刷処理とで異なるのは,ビットマップデータの転送先がプリンタエンジンであるかハードディスク等のデータ保持用の記憶手段であるかのみである。
また,特許文献2に示される技術において,ハードディスクに前記バンドデータ(中間言語データ)が保持された場合でも,印刷要求があった際の前記バンドデータの読み出し元がハードディスクであるだけで,前記ビットマップ展開処理の手順は,前記直接印刷機の場合と同じとなる。
特開2000−158727号公報 特開2000−311071号公報
しかしながら,オーバーラン防止のため,1ページ分の前記バンドデータのうちの一部について,事前に前記ビットマップ展開処理を実行する前記プレレンダリング等の処理を行う手順を採用することは,バッファメモリ(バンドバッファ)に一時記憶させるビットマップデータのサイズを増大させるものであり,バッファメモリの必要容量(占有容量)を増大させるものである。
一方,前記ホールド印刷処理を行う場合,バッファメモリ内のビットマップデータをハードディスク等の記憶手段に転送する速度は特に一定である必要はないので,前記ビットマップ展開処理によりビットマップデータをバッファメモリに展開する速度が変化してもオーバーランのような問題は何ら生じない。
このため,前記ホールド印刷処理を行う場合に,オーバーラン防止を考慮した前記ビットマップ展開処理の手順と同じ手順を採用することは,無用に大容量のバッファメモリを消費することになるという問題点があった。その結果,画像形成装置が備えるRAM等の高速メモリのメモリ領域を圧迫し,同時に実行される他の処理の速度を低下させるという弊害が生じていた。
従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,直接印刷処理を行う場合とホールド印刷処理を行う場合とで,各々の特質に応じたビットマップ展開処理の手順を採用することにより,ビットマップデータを一時記憶するバッファメモリ等の必要メモリ容量を極力小さくできる画像形成装置及びその制御プログラムを提供することにある。
上記目的を達成するために本発明は,データを一時記憶する第1記憶手段と,該第1記憶手段よりアクセス速度が遅い第2記憶手段と,外部装置から受信された印刷データの1ページ分が複数に分割されたデータ若しくはこれを他の形式に変換した中間データのいずれかであるバンドデータごとにビットマップ画像データに変換して前記第1記憶手段に展開するビットマップ展開手段と,前記ビットマップ画像データに基づいて画像形成を行う画像形成手段と,前記印刷データが受信された際に前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段へ展開しさらに前記画像形成手段へ出力するまでの一連の自動処理を制御する第1印刷制御手段と,前記印刷データが受信された際に前記バンドデータ又はこれに関するデータを前記第2記憶手段に一旦記憶させた後,印刷要求の入力があった際に前記第2記憶手段内のデータに基づく前記ビットマップ画像データを前記画像形成手段へ出力する処理を制御する第2印刷制御手段と,前記バンドデータ各々について前記ビットマップ展開手段の処理に要する時間が前記画像形成手段による画像形成に要する時間を超える時間超過バンドデータであるかその他の時間内バンドデータであるかを判別する所要時間判別手段と,を具備する画像形成装置において,前記第1印刷制御手段が,前記時間超過バンドデータがビットマップ展開可能なサイズの時間超過バンドデータ用の領域及び前記時間内バンドデータがビットマップ展開可能なサイズの時間内バンドデータ用の領域をそれぞれ前記第1記憶手段内に複数確保すると共に,前記第1印刷制御手段が,前記所要時間判別手段が1ページ分の前記バンドデータに前記時間超過バンドデータが存在すると判別した場合に,前記時間超過バンドデータについての前記ビットマップ画像データを前記第1記憶手段内の前記時間超過バンドデータ用領域に事前展開させ,時間内バンドデータについての前記ビットマップ画像データを前記第1記憶手段内の前記時間内バンドデータ用領域に展開させる処理と,展開を終了したバンドデータ用領域に記憶されたビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させてなり,前記第1印刷制御手段と前記第2印刷制御手段とが,前記ビットマップ展開手段により1ページ分の前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段に展開する手順を各々個別に制御してなることを特徴とする画像形成装置として構成されるものである。
ここで,前記第1記憶手段は,例えばRAM等の高速なメモリであり,前記第2記憶手段は,例えばハードディスク等の比較的アクセス速度が低速ではあるが,大容量の(ビット単価の低い)メモリである。
このような構成により,前記第1印刷制御手段による画像形成処理(前記直接印刷処理に相当)を行う場合と,前記第2印刷制御手段による画像形成処理(前記ホールド印刷処理に相当)を行う場合とで,各々の特質に応じたビットマップ展開処理の手順を採用することが可能となり,ビットマップ画像データ(ビットマップデータ)を一時記憶する前記第1記憶手段の必要容量を極力小さくすることができる。
上述したように,前記第1印刷制御手段,前記所要時間判別手段が1ページ分の前記バンドデータに前記時間超過バンドデータが存在すると判別した場合に,その各々について前記ビットマップ画像データを前記第1記憶手段内の前記時間超過バンドデータ用領域に事前展開させた後に,前記時間内バンドデータ各々について前記時間内バンドデータ用領域に記憶されたビットマップ画像データを前記第1記憶手段内の前記時間内バンドデータ用領域以外の領域に展開させる処理と前記第1記憶手段内の前記時間超過バンドデータ用領域に展開された前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させるものである
これは,前記時間超過バンドデータが存在する場合に,特許文献1に示される事前のビットマップ展開処理(プレレンダリング)を行って前記直接印刷処理を実行するものである。
これに対し,前記第1印刷制御手段が,1ページ分の前記バンドデータに前記時間超過バンドデータが存在する場合に,全ての前記バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記第2記憶手段へ転送する処理とを並行して実行させた後に,続けて前記第2記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理を実行せるものが考えられる。
本構成によれば,前記時間超過バンドデータ(即ち,オーバーランが生じ得るバンドデータ)が存在する場合に,前記第1記憶手段への事前のビットマップ展開(前記プレレンダリング)を行わずに,ビットマップ展開処理を行いながら展開されるビットマップ画像データを,一旦,前記第2記憶手段へ転送するため,その過程でオーバーランの問題は生じない。さらに続けて,前記第2記憶手段からビットマップ画像データを前記画像形成手段(プリンタエンジンに相当)へ転送するので,その過程ではビットマップ展開処理は行われず,オーバーランの問題は生じない。しかも,事前のビットマップ展開を行わないので,前記第1記憶手段に一時蓄積されるビットマップ画像データのサイズを最小限に抑えることが可能となる。なお,本構成では,1ページ分の全ての前記バンドデータを展開したビットマップ画像データを,前記第2記憶手段に一旦スプールすることになるため,画像形成が開始されるまでに従来よりも時間を要することになるが,前記第1記憶手段の占有容量低減を優先する場合に有効である。
また,前記第2印刷制御手段が,1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が既定の許容数を超える場合に,全ての前記バンドデータについて前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させた後,前記印刷要求の入力があった際に,前記第2記憶手段内の前記ビットマップ画像データを前記画像形成手段へ出力するものが考えられる。
このような構成により,事前(画像形成処理の開始前)に前記第1記憶手段に記憶されるビットマップ画像データの数が前記許容数を超えることがない。このため,前記時間超過バンドデータ(オーバーランが発生すると予測される前記バンドデータ)が存在する場合に,前記第1記憶手段に通常よりも拡張して確保するメモリ領域の最大拡張幅を制限することができる。
さらにこの場合,前記第2印刷制御手段が,1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が前記許容数以下である場合に,その各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行するとともに前記時間内バンドデータ各々を前記第2記憶手段に記憶させた後,前記印刷要求の入力があった際に,前記第2記憶手段内の前記ビットマップ画像データを前記第1記憶手段へ記憶させた後に,前記第2記憶手段内の前記時間内バンドデータ各々について前記第1記憶手段に展開させる処理と前記第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させるものが考えられる。
このような構成により,事前にビットマップ展開がなされて,前記印刷要求があった際に前記第1記憶手段に事前記憶されるビットマップ画像データの数が前記許容数以下に抑えられる。このため,前記時間超過バンドデータの処理用として前記第1記憶手段に通常よりも拡張して確保するメモリ領域の最大拡張幅を制限でき,前記第1記憶手段の必要メモリ容量を抑えることができる。同時に,前記時間超過バンドデータの数が少ない場合(前記許容数以下)には,前記印刷要求が入力されるまで前記第2記憶手段に保持するデータは,前記時間超過バンドデータのみがビットマップ画像データに事前展開され,その他は前記バンドデータのままであるので,全てをビットマップ画像データに展開して保持する場合に比べ,前記第2記憶手段の必要メモリ容量を抑えることができる。
また,前記第2印刷制御手段が,1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合に,全ての前記バンドデータ各々を前記第2記憶手段に転送した後,前記印刷要求の入力があった際に,前記第2記憶手段内の前記バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開する処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させるものが考えられる。
このように,1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合は,前記バンドデータをそのままの形式で前記第2記憶手段に保持し,前記印刷要求の入力があった後に,前記第1記憶手段への事前のビットマップ展開なしでビットマップ展開処理を行いながら前記画像形成手段へのビットマップ画像データの転送を行っても,オーバーランは発生しない。また,ビットマップデータの事前展開を行わないので,前記第1記憶手段の必要メモリ容量(占有メモリ容量)は特に増加しない。しかも,通常は,前記バンドデータはそれを変換したビットマップ画像データよりもデータサイズが小さいので,従来のようにビットマップ画像データの形式で保持する場合に比べ,前記第2記憶手段の必要メモリ容量を抑えることができる。
また,これを変形した構成として,前記第2印刷制御手段が,1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合に,全ての前記バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させ,さらに全ての前記バンドデータに対応する前記ビットマップ画像データと全ての前記バンドデータとのいずれか総データサイズの小さい方を前記第2記憶手段に保持させた後,前記印刷要求の入力があった際に,前記第2記憶手段内に前記バンドデータが保持されている場合はその各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させ,前記第2記憶手段内に前記ビットマップ画像データが保持されている場合はその各々を前記画像形成手段へ出力するものが考えられる。ここで,前記第2記憶手段に前記ビットマップ画像データを保持させる場合は,前記第2記憶手段に転送した前記ビットマップ画像データをそのまま保持すればよく,前記バンドデータを保持させる場合は,前記第2記憶手段に転送した前記ビットマップ画像データを消去し,前記バンドデータを前記第2記憶手段に記憶させればよいことはいうまでもない。
前述したように,通常は,前記バンドデータの方がそれを変換したビットマップ画像データよりもデータサイズが小さいが,前記印刷データの内容によっては,まれにそうでない場合もあり得る。そのような場合でも,上記構成により,前記第2記憶手段には,1ページ分の前記バンドデータとこれに対応するビットマップ画像データとうち,データサイズの小さい方が保持されるので,前記第2記憶手段の必要メモリ容量をより抑えることが可能となる。
また,前記第2印刷制御手段が,全ての前記バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させ,
1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が前記許容数を超える場合又は全ての前記バンドデータの総データサイズよりも全ての前記バンドデータに対応する前記ビットマップ画像データの総データサイズの方が小さい場合には前記ビットマップ画像データをそのまま前記第2記憶手段に保持させ,その他の場合には前記第2記憶手段に保持された前記時間内バンドデータに対応する前記ビットマップ画像データに代えて前記時間内バンドデータを保持させ,その後前記印刷要求の入力があった際に,
前記第2記憶手段内に前記ビットマップ画像データ及び前記時間内バンドデータが保持されている場合は前記ビットマップ画像データを前記第1記憶手段に記憶させた後に前記時間内バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させ,
前記第2記憶手段内に前記時間内バンドデータのみが保持されている場合はその各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させ,
前記第2記憶手段内に前記ビットマップ画像データのみが保持されている場合はその各々を前記画像形成手段へ出力するものが考えられる。
このような構成により,前記印刷要求の前にデータを前記第2記憶手段へ転送する場合,即ち,オーバーランの問題が生じない状況では,前記時間超過バンドデータの有無やその数にかかわらず,前記第1記憶手段への事前のビットマップ展開(前記プレレンダリング)を行わずに,ビットマップ展開処理がなされるので,前記印刷要求がある前の前記第1記憶手段の必要容量を抑えることができる。
また,ビットマップ展開を必要とする前記時間内バンドデータと前記時間超過バンドデータに対応するビットマップ画像データとが混在して前記第2記憶手段に保持されるのは,前記時間超過バンドデータが予め定められた前記許容数以下である場合のみである。従って,前記印刷要求があった際に,前記第1記憶手段に事前記憶させる必要があるビットマップ画像データは,最大でも前記許容数以下となる。このため,前記印刷要求があった際においても,ビットマップ画像データを前記第1記憶手段に事前記憶させる数が前記許容数以下に制限され,前記第1記憶手段の必要メモリ容量を小さく制限することができる。
さらに,前記バンドデータを変換したビットマップ画像データの方が前記バンドデータよりもデータサイズが小さいというまれな状況があった場合,前記第2記憶手段の必要メモリ容量をより抑えることが可能となる。
ところで,前述したように,ビットマップ展開処理の速度が,前記画像形成手段の処理速度よりも十分速い場合は,前記第2記憶手段には,2バンド分のビットマップ画像データを一時記憶できるメモリ容量(一時記憶容量)を確保する必要がある。
ここで,前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させる場合(従来の前記直接印刷処理に相当)には,オーバーラン防止のため,前記第1記憶手段におけるビットマップ画像データの一時記憶容量を少なくとも2バンド分,場合によってはそれ以上余裕を見て確保する必要がある。
これに対し,前記第2印刷制御手段が前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させる場合には,オーバーランを考慮する必要がないため,前記第1記憶手段の一時記憶容量は,特に余裕を見て確保する必要がない。
そこで,前記第1印刷制御手段又は前記第2印刷制御手段によって前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させる場合よりも,前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させる場合の方が,前記第1記憶手段に展開して併存可能とする前記バンドデータ単位の前記ビットマップ画像データの最大数を小さく設定するものが考えられる。
これにより,前記第2記憶手段へのデータ転送を行う場合に,前記第1記憶手段にビットマップ画像データの一時記憶容量が必要以上に確保(設定)されることがなく,前記第1記憶手段の必要メモリ容量を抑えることができる。
一方,前記第2印刷制御手段が,常に1ページ分の前記バンドデータ全てについて前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させた後,前記印刷要求の入力があった際に,前記第2記憶手段内の前記ビットマップ画像データを前記画像形成手段へ出力するものも考えられる。
これにより,前記第2印刷制御手段による処理(前記ホールド印刷処理)を行う際に,1ページ分の前記バンドデータに前記時間超過バンドデータが存在するか否かに関わらず,事前のビットマップ展開処理は行われないので,前記第1記憶手段の必要メモリ容量が抑えられる。また,このような手順でビットマップ展開処理を行っても,ビットマップ展開処理と並行して行われるビットマップ画像データ転送の転送先が前記第2記憶手段であるので,オーバーランの問題は生じない。
また,本発明は,前記第1印刷制御手段及び前記第2印刷制御手段が行う処理をコンピュータに実行させるための画像形成装置の制御プログラムとして捉えたものであってもよい。
即ち,データを一時記憶する第1記憶手段と,該第1記憶手段よりアクセス速度が遅い第2記憶手段と,外部装置から受信された印刷データの1ページ分が複数に分割されたデータ若しくはこれを他の形式に変換した中間データのいずれかであるバンドデータごとにビットマップ画像データに変換して前記第1記憶手段に展開するビットマップ展開手段と,前記ビットマップ画像データに基づいて画像形成を行う画像形成手段と,を具備する画像形成装置について,前記印刷データが受信された際に前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段へ展開しさらに前記画像形成手段へ転送するまでの一連の自動処理を制御する第1印刷制御工程と,前記印刷データが受信された際に前記バンドデータ又はこれに関するデータを前記第2記憶手段に一旦記憶させた後,印刷要求の入力があった際に前記第2記憶手段内のデータに基づく前記ビットマップ画像データを前記画像形成手段へ転送する処理を制御する第2印刷制御工程と,前記バンドデータ各々について前記ビットマップ展開手段の処理に要する時間が前記画像形成手段による画像形成に要する時間を超える時間超過バンドデータであるかその他の時間内バンドデータであるかを判別する所要時間判別工程と,をコンピュータに実行させるための画像形成装置の制御プログラムにおいて,前記第1印刷制御工程が,前記時間超過バンドデータがビットマップ展開可能なサイズの時間超過バンドデータ用の領域及び前記時間内バンドデータがビットマップ展開可能なサイズの時間内バンドデータ用の領域をそれぞれ前記第1記憶手段内に複数確保すると共に,前記第1印刷制御工程が,前記所要時間判別工程が1ページ分の前記バンドデータに前記時間超過バンドデータが存在すると判別した場合に,前記時間超過バンドデータについての前記ビットマップ画像データを前記第1記憶手段内の前記時間超過バンドデータ用領域に事前展開させ,時間内バンドデータについての前記ビットマップ画像データを前記第1記憶手段内の前記時間内バンドデータ用領域に展開させる処理と,展開を終了したバンドデータ用領域に記憶された前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させてなり,前記第1印刷制御工程と前記第2印刷制御工程とが,前記ビットマップ展開手段により1ページ分の前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段に展開する手順を各々個別に制御する工程であることを特徴とする画像形成装置の制御プログラムである。
本発明によれば,印刷データが受信された際に1ページ分の印刷データ等が複数に分割されたバンドデータに基づくビットマップ画像データを第1記憶手段へ展開しさらに画像形成手段へ転送するまでの一連の自動処理を制御する場合(第1印刷制御)と,印刷データが受信された際に前記バンドデータ又はこれに関するデータを前記第1記憶手段よりもアクセス速度が遅い第2記憶手段に一旦記憶させた後,印刷要求の入力があった際に前記第2記憶手段内のデータに基づく前記ビットマップ画像データを前記画像形成手段へ転送する処理を制御する場合(第2印刷制御)とで,ビットマップ展開手段により1ページ分の前記バンドデータに基づくビットマップ画像データを前記第1記憶手段に展開する手順を各々個別に制御するので,各制御の特質に応じたビットマップ展開処理の手順を採用することが可能となり,ビットマップ画像データ(ビットマップデータ)を一時記憶する前記第1記憶手段内に確保されるバッファ領域(バッファメモリ)の必要容量を極力小さくすることができる。
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の実施形態に係る画像形成装置Xの概略構成を表すブロック図,図2は画像形成装置Xにおける第1実施例に係る直接印刷処理の手順を表すフローチャート,図3は画像形成装置Xにおける第1実施例に係るホールド印刷処理の手順を表すフローチャート,図4は画像形成装置Xにおける第2実施例に係るホールド印刷処理の手順を表すフローチャート,図5は画像形成装置Xにおける第1実施例に係る直接印刷処理に対応したデータの流れを表すブロック図,図6は画像形成装置Xにおける第1実施例に係るホールド印刷処理及び第2実施例に係るホールド印刷処理の一部に対応したデータの流れを表すブロック図,図7及び図8は画像形成装置Xにおける第2実施例に係るホールド印刷処理の一部に対応したデータの流れを表すブロック図である。
以下,本発明の実施形態について,図面を参照しながら詳細に説明する。
図1は,本発明の実施形態に係る画像形成装置Xの概略構成を表すブロック図である。
図1に示すように,画像形成装置Xは,CPU1と,プログラムROM2,RAM3,ホストインターフェース4,ハードディスク装置(HDD)5,プリンタインターフェース6及び表示・操作部8等のデバイスとを具備し,これらがシステムバス9を介して接続されている。さらに,画像形成装置Xは,前記プリンタインターフェース6に接続されたプリンタエンジン7を具備している。
前記CPU1は,前記システムバス9を介して他のデバイスを制御するものである。
前記プログラムROM2は,前記CPU1により実行される当該画像形成装置Xの制御プログラムが格納される不揮発性の記憶手段である。
前記RAM3は,前記CPU1により実行される前記制御プログラムと該制御プログラムの実行の際に処理される各種データとが一時記憶される高速アクセス可能な不揮発性メモリである(前記第1記憶手段の一例)。
前記ホストインターフェース4は,当該画像形成装置Xに対してプリントデータ(ページ記述言語(PDL)等で記述された印刷データ)を送信してくる外部のホスト装置(パーソナルコンピュータ等)との通信制御を行うUSBインターフェースやLANインターフェース等の通信制御手段である。
前記ハードディスク装置5は,各種データが記憶される不揮発性の大容量記憶手段であり,一般に,ビット単価が低い反面,前記RAM3(第1記憶手段)よりもアクセス速度(データを読み書きする速度)は遅い記憶手段である(前記第2記憶手段の一例)。主に,プリントデータをスプールするために,或いはホールド印刷処理を行う場合におけるビットマップデータや中間言語データを保持するために使用されるものである。
前記プリンタインターフェース6は,前記CPU1や前記RAM3等のデバイスと前記プリンタエンジン7との間の接続インターフェースであり,前記プリンタエンジン7が備える各種センサの検出値を前記CPU1に伝送したり,前記CPU1から出力される制御指令や前記RAM3や前記ハードディスク装置5内の画像データ(ビットマップデータ)等を前記プリンタエンジン7が備える各機器へ伝送するものである。
前記プリンタエンジン7は,前記プリンタインターフェース6を介して供給(伝送)されるビットマップデータ(ビットマップ画像データ)に従って,用紙に画像を形成して出力する画像形成手段である。例えば,電子写真方式の場合,前記プリンタエンジン7は,不図示の感光体ドラム,該感光体ドラムを帯電させる帯電装置,帯電された感光体ドラムに静電潜像を書き込むレーザスキャンユニット,感光体ドラム上の静電潜像をトナーにより現像する現像装置,そのトナー像を用紙に転写する転写装置等を備える。
前記表示・操作部8は,液晶タッチパネル,或いは表示ランプ及びシートキー等から構成され,利用者による操作の入力及び利用者への情報表示を行うものである。
前記プログラムROM2に記憶される前記制御プログラムは,データ入力部,画像処理部及び画像出力部等の各種プログラムモジュールから構成される。
前記データ入力部は,主に,前記ホスト装置(前記外部装置の一例)から前記ホストインターフェース4を介してプリントデータ(印刷データ)を受信する処理を前記CPU1に実行させるためのプログラムモジュールである。
前記画像処理部は,主に,受信したプリントデータについての各種画像処理を前記CPU1に実行させるためのプログラムモジュールである。
例えば,前記画像処理部は,受信したプリントデータを,その1ページ分ごとに予め定められた複数の分割画像領域(バンド)のデータに分割し,その分割データ各々を中間言語データ(前記中間データの一例)に変換して前記RAM3に記憶させる処理を前記CPU1に実行させるものである。このようにしてバンドごとに分割及び中間言語データへの変換がなされたデータを,以下,バンドデータという。
さらに,前記画像処理部は,前記バンドデータ各々をビットマップデータに変換して前記RAM3(第1記憶手段)内に確保したバッファ領域に展開する処理(以下,ビットマップ展開処理という:前記ビットマップ展開手段の処理に相当)等を前記CPU1に実行させるものでもある。
また,前記画像出力部は,主に,前記RAM3内のデータや前記ハードディスク装置5内のビットマップデータを前記プリンタエンジン7へ転送或いは出力する処理,例えば,前記RAM3内の圧縮されたビットマップデータを伸張しながら前記プリンタエンジン7に転送する処理や,前記RAM3内のデータを圧縮しながら前記ハードディスク装置5に転送する処理等を前記CPU1に実行させるためのプログラムモジュールである。
画像処理装置Xは,前記ホスト装置から受信したプリントデータに基づいて前記プリンタエンジン7により画像形成(画像出力)する処理として,直接印刷処理とホールド印刷処理とのいずれかを選択的に実行する機能を有しており,前記CPU1が前記制御プログラムを実行することにより各処理の実行を制御する。
前記CPU1により制御される前記直接印刷処理は,前記ホスト装置から前記ホストインターフェース4を介してプリントデータが受信された際に,これを前記バンドデータに変換して前記RAM3内に記憶させた後,前記バンドデータに基づくビットマップデータを前記RAM3内に確保したバンドバッファ領域(第1記憶手段)へ展開し,さらにそのビットマップデータを前記プリンタエンジン(画像形成手段)へ出力するまでの一連の自動処理を行う(即ち,別途入力される印刷要求を待たずに画像形成まで実行する)ものである(前記第1印刷制御手段の処理に相当)。
一方,同じく前記CPU1により制御される前記ホールド印刷処理は,プリントデータが受信された際に,前記バンドデータ又はこれに関するデータを前記ハードディスク装置5(第2記憶手段)に一旦記憶させた後,前記ホスト装置或いは前記表示・操作部8から所定の印刷要求の入力があった際に,前記ハードディスク装置5内のデータに基づくビットマップデータを前記プリンタエンジン7へ出力する処理を行うものである(前記第2印刷制御手段の処理の一例)。
前記直接印刷処理と前記ホールド印刷処理との切り替えは,前記ホスト装置からプリントデータの送信と併せて送信され,前記ホストインターフェース4を介して受信(入力)される処理指定コマンド,或いは当該画像形成装置Xの前記表示・操作部8からの印刷処理指定入力等に従って行われる。
また,前記ホールド印刷処理が指定される場合,前記ホスト装置からプリントデータとともにその識別情報が送信される。そして,当該画像形成装置Xでは,受信したプリントデータに対応する前記バンドデータ及びビットマップデータの一方又は両方を,前記識別情報に関連付けて前記ハードディスク装置5に一旦保持(蓄積)し,その後,前記ホスト装置から,或いは前記表示・操作部8から前記識別情報が指定された印刷要求が入力された際に,指定された識別情報に対応するデータに基づいて画像形成を実行する。
本画像形成装置Xは,前記直接印刷処理(第1印刷制御手段の処理)と前記ホールド印刷処理(前記第2印刷制御手段の処理)との各々において,後述するように,前記画像処理部(ビットマップ展開手段の一例)によって1ページ分の前記バンドデータに基づくビットマップデータを前記RAM3内のバッファ領域(第1記憶手段)に展開する手順を各々個別に制御することを特徴とする。
(第1実施例に係る直接印刷処理)
図2は,前記直接印刷処理が指定された場合に,前記CPU1が前記画像処理部及び前記画像出力部の各プログラムモジュールを実行することにより制御がなされる第1実施例に係る前記直接印刷処理の処理手順を表すフローチャートである。ここで,S101,S102,…は,処理手順(ステップ)の識別記号を表す。
また,図5は,図2に示す第1実施例に係る前記直接印刷処理に対応したデータの流れを表すブロック図であり,図5の矢印は,データ流れの方向を表す。さらに,図2及び図5に示すステップ記号が同じものは,相互に対応するものであることを表す。
以下,図2及び図5を用いて,第1実施例に係る前記直接印刷処理について説明する。
前記CPU1は,前記データ入力部の処理によって前記ホスト装置から受信したプリントデータを,1ページ分ごとに処理する。その際,前記画像処理部と前記画像出力部とを並行して実行する。
<ステップS101〜S102>
まず,前記画像処理部の実行により,受信したプリントデータを,その1ページ分ごとに予め定められた複数の分割画像領域(K個のバンド)のデータに分割し,その分割データ各々を前記中間言語データ(前記中間データの一例)に変換した前記バンドデータとして前記RAM3に記憶させる(S101)。
次に,所定のカウンタ変数s(ワーク変数)に初期値「1」を設定(S102)した後,K個の(1ページ分の)前記バンドデータ各々(以下,B(i)で表す。但し,i=1〜Kである。)について,以下のステップS103〜S108の処理が実行される。
<ステップS103〜S108>
まず,前記バンドデータB(i)各々について,描画時間を算出し(S103),その描画時間が予め定められた閾値よりも大きいか否かを判別する(S104)。
ここで,描画時間とは,前記バンドデータB(i)各々について,前記ビットマップ展開処理(前記ビットマップ展開手段の処理)に要する時間である。
前記描画時間の計算は,例えば,中間言語B(i)に含まれる中間言語のコマンド数から,或いは各コマンドの種類及び数から算出する。例えば,予め中間言語のコマンドの種類ごとに単位描画時間を記憶しておき,中間言語B(i)に含まれるコマンドに対応する単位描画時間を積算すること等によって算出する。
また,前記閾値には,前記プリンタエンジン7の1バンド分のビットマップデータの処理時間(画像出力時間)に若干の余裕時間が加算された時間が予め設定される。
このステップS103及びS104の処理により,前記描画時間が前記閾値よりも大きいか否かに基づいて,前記プリンタエンジン(画像形成手段)による画像形成に要する時間を超えるバンドデータ(以下,時間超過バンドデータという)であるか,その他のバンドデータ(以下,時間内バンドデータという)であるかが判別される(前記所要時間判別手段の処理の一例)。従って,前記時間超過バンドデータについて,前記RAM3のバッファ領域にビットマップデータとして展開しながら,並行してそのビットマップデータを前記プリンタエンジンへ転送することにより画像出力を行うと,オーバーランが発生する可能性がある。
本処理では,S103及びS104の処理の結果(前記所要時間判別手段の判別結果)に基づいて判別した結果に応じて,ビットマップデータを前記RAM3に展開する手順を制御する。
ステップS104において,前記描画時間が前記閾値よりも大きいと判別した前記時間超過バンドデータB(i)は,事前描画バンドであると設定する(S105)。より具体的には,前記時間超過バンドデータのデータ番号iに関連付けて,予めビットマップデータへ変換すべきバンドデータである旨の情報を記憶する。
さらに,前記RAM3内に,前記時間超過バンドデータを事前展開するバッファ領域(事前描画バッファPb(s))を前記RAM3内に確保し(S106),その事前描画バッファPb(s)に,前記時間超過バンドデータをビットマップ展開する(S107)とともに,前記カウンタ変数sを1カウントアップする(S108)。このステップS107の処理は,当該画像処理部の一部を構成する描画処理プログラム(前記ビットマップ展開手段の一例)を前記CPU1が実行することにより行われる。
一方,ステップS104において,ステップS103で算出した前記描画時間が前記閾値以下であると判別した場合は,当該バンドデータB(i)について何ら処理を施さず,そのまま次のバンドデータB(i)(i←i+1)についてステップS103からの処理を繰り返す。
以上のステップS103〜S108の処理を,1ページ分(K個)の前記バンドデータB(i)各々について,iを1ずつカウントアップしながら(i:1〜K)順次実行する。
<ステップS109〜S110>
以上のようにして,前記時間超過バンドデータが存在する場合の事前のビットマップ展開処理が終了すると,さらに,前記画像処理部の実行により,残りの前記時間内バンドデータを順次ビットマップ展開するのに用いるバンドバッファ(通常描画バッファNb)の領域(一時記憶領域)を前記RAM3内に確保する(S109)。この通常描画バッファNbは,前記画像処理部によりビットマップデータを他へ転送中(読み出し中)にも,これと並行して当該画像処理部によるビットマップ展開処理(データ書き込み)が可能なように,少なくとも2バンド分以上の(2個以上の前記バンドデータに相当する)ビットマップデータの格納が可能なサイズの領域が確保される。図5は,余裕を見て3バンド分が確保された例を示す。何バンド分確保するかは,画像形成装置に搭載されるメモリ容量と印刷する画像のページサイズ等に依存する。
次に,カウンタ変数s(ワーク変数)に初期値「1」を設定(S110)した後,ビットマップ展開が未実施の前記時間内バンドデータについてのビットマップ展開処理及び前記プリンタエンジンへのビットマップデータ転送処理を行う印刷処理(ステップS111〜S116及びステップS201〜S208)が実行される。
<ステップS111〜S116>
印刷処理では,まず,対象とする前記バンドデータB(i)(iの初期値は1)が,前記事前描画バンド(即ち,前記時間超過バンドデータ)に設定されたものか否かをステップS105で設定(記憶)した情報により判別する(S111)。
ここで,当該バンドデータB(i)が,前記事前描画バンドに設定されたものである場合は,前記RAM3の前記事前描画バッファPb(s)に記憶された当該バンドデータB(i)に基づくビットマップデータをそのまま前記プリンタエンジン7に転送するよう当該画像処理部から前記画像出力部に対して印刷出力指示が出され(S112),さらに,前記カウンタ変数sを1カウントアップした後,ステップS111へ戻って次のバンドデータB(i)(i←i+1)について処理が繰り返される。前記印刷出力指示には,前記RAM3内において前記プリンタエンジンへ転送すべきビットマップデータが記憶されているメモリアドレスを識別できる情報が設定される。
一方,当該バンドデータB(i)が,前記事前描画バンドに設定されたものでない場合は,前記RAM3に記憶された当該バンドデータB(i)を,ステップS109で前記RAM3内に確保した前記通常描画バッファNbにビットマップ展開する(S114)。このとき,複数バンド分確保された前記通常描画バッファNbの領域のうち,前記プリンタエンジン7へのデータ転送が完了した領域へのビットマップ展開を行う。いずれのバッファ領域へのビットマップ展開が可能であるか(ビットマップデータの転送が完了しているか)は,後述する前記画像出力部からの通知(前記通常描画バッファNbの使用済みの通知)により判別する。
さらに,展開されたビットマップデータを,前記プリンタエンジン7に対して転送するよう当該画像処理部から前記画像出力部に対して印刷出力指示を出力(S115)した後,ステップS111へ戻って次のバンドデータB(i)(i←i+1)について処理を繰り返す。
このようにして全ての前記バンドデータB(i)について,前記画像出力部に対する印刷出力指示が出されると,当該画像処理部の処理を終了する。
<S201〜S209>
一方,前記画像出力部では,カウンタ変数s(ワーク変数)に初期値「1」を設定(S201)した後,各バンドデータの番号i(i=1〜K)について,次のステップS202〜S209の処理を実行する。なお,カウンタ変数sは,前記画像処理部と当該画像出力部とで各々独立して設定されるローカル変数であり,相互に影響を与えない変数である。
まず,前記画像処理部からの前記印刷出力指示(ステップS112又はS115において出力される指示)を最先着のものについて取得し(取出し),該印刷出力指示に従って,ビットマップデータの読み出し元である前記RAM3内に複数確保されたバッファ領域中のいずれかのバンドバッファを選択する(S203)。
ここで,ステップS112で出力される前記印刷出力指示が取得された場合は,事前のビットマップ展開がなされた前記事前描画バッファPb(s)内の指定されたバッファ(メモリアドレス)を選択し,ステップS115で出力される前記印刷出力指示が取得された場合は,前記通常描画バッファNb内の指定されたバッファを選択する。
次に,ステップS203で選択したバンドバッファからビットマップデータを前記プリンタインターフェース6を介して前記プリンタエンジン7に転送する(S204)。これにより,そのビットマップデータに基づく画像形成が,前記プリンタエンジン7により行われる。
さらに,転送が完了したビットマップデータが記憶されていたメモリ領域の開放処理(S205〜S208)を行う。
具体的には,前記プリンタエンジン7に転送したビットマップデータが,事前にビットマップ展開されたものであるか否かを判別し(S205),事前にビットマップ展開されたものであれば,転送が完了したビットマップデータが格納されていた前記RAM3内の前記事前描画バッファPb(s)の領域を開放し(S206),さらに,カウンタ変数sを1カウントアップ(S207)する。
一方,前記プリンタエンジン7に転送したビットマップデータが,事前にビットマップ展開されたものではない場合は,そのビットマップデータが格納されていた前記通常描画バッファNbの領域が使用済み(転送済み)である旨を前記画像処理部に通知(S208)する。これにより,その指定領域は,前記画像処理部によってビットマップデータの上書き展開が可能な状態(他のビットマップデータの展開用に解放された状態)となる。
そして,順次到着した前記印刷出力指示各々を逐次取得し,その印刷出力指示に従ったビットマップデータを転送する処理(S205〜S208)を,1ページ分(i=1〜K)のビットマップデータ各々について順次繰り返す。これにより,1ページ分の印刷出力(画像形成)が前記プリンタエンジン7により行われる。このようにして,1ページ分の印刷出力が終了すると,前記RAM3内の前記通常描画バッファNbの全てを解放(S209)した後,当該画像処理部の処理を終了する。
以上示した前記画像処理部の処理(S101〜S115)及び前記画像出力部の処理(S201〜S209)が,前記ホスト装置から受信したプリントデータの全ページ分について順次実行される。
図2及び図5に示した第1実施例に係る前記直接印刷処理を以下にまとめる。
まず,1ページ分の前記バンドデータB(i)に前記時間超過バンドデータが存在しない場合は,1ページ分の全ての前記バンドデータB(i)各々について,ビットマップデータ(ビットマップ画像データ)を前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開させるビットマップ展開処理(S104→S109〜S111→S114→S115)と,前記通常描画バッファNb内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ転送する処理(S202〜S208)とを並行して実行させる。
一方,1ページ分の前記バンドデータB(i)に前記時間超過バンドデータが存在する場合は,その時間超過バンドデータ各々について,ビットマップデータを前記RAM3(第1記憶手段)内の前記事前描画バッファPbに事前展開(S105〜S108)させた後に,前記時間内バンドデータ各々についてビットマップデータを前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開させるビットマップ展開処理(S111→S114→S115)と,前記通常描画バッファNb内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ転送する処理(S202〜S208)とを並行して実行させる。
これは,特許文献1に示される前記プレレンダリングにより前記直接印刷処理を実行するものである。
(第1実施例に係るホールド印刷処理)
次に,画像形成装置Xにおける第1実施例に係る前記ホールド印刷処理について説明する。
図3は,前記ホールド印刷処理が指定された場合に,前記CPU1が前記画像処理部及び前記画像出力部の各プログラムモジュールを実行することにより制御がなされる第1実施例に係る前記ホールド印刷処理の一部であるデータ保持処理の処理手順を表すフローチャートである。
また,図6は,前記第1実施例に係る前記ホールド印刷処理に対応したデータ流れを表すブロック図であり,破線矢印は図3に示す前記データ保持処理(ハードディスク装置へのデータ保持処理)におけるデータ流れの方向を表し,実線矢印は前記第1実施例に係る前記ホールド印刷処理の一部であるデータ出力処理(印刷要求後の処理)におけるデータ流れの方向を表す。さらに,図3及び図6に示すステップ記号が同じものは,相互に対応するものであることを表す。
以下,図3及び図6を用いて,第1実施例に係る前記ホールド印刷処理について説明する。
前記CPU1は,前記データ入力部の処理によって前記ホスト装置から受信したプリントデータを,1ページ分ごとに順次処理する。その際,前記画像処理部と前記画像出力部とを並行して実行する。
<ステップS301〜S302>
まず,前記画像処理部の実行により,受信したプリントデータを,その1ページ分ごとに予め定められた複数の分割画像領域(K個のバンド)のデータに分割し,その分割データ各々を前記中間言語データ(前記中間データの一例)に変換した前記バンドデータとして前記RAM3に記憶させる(S301)。
次に,前述したステップS109(図2)と同様に,前記画像処理部の実行により,前記バンドデータを順次ビットマップ展開するのに用いるバンドバッファである前記通常描画バッファNbの領域(一時記憶領域)を前記RAM3内に確保する(S302)。ここで,データを前記ハードディスク装置5へ転送する処理では,オーバーランの問題は生じないため,本ステップS302で確保する前記通常描画バッファNbは,図6に示すように,1つの前記バンドデータをビットマップ展開するのに必要な分だけでよい。
次に,1ページ分の全ての前記バンドデータB(i)についてのビットマップ展開処理及び前記プリンタエンジンへのビットマップデータ転送処理(ステップS303〜S304及びS401〜S405)が実行される。
<ステップS303〜S304>
ビットマップデータ転送処理では,前記RAM3に記憶された1ページ分全ての前記バンドデータB(i)各々について,ステップS302で前記RAM3内に確保した前記通常描画バッファNbにビットマップ展開し(S303),さらに,展開されたビットマップデータを,前記ハードディスク装置5に転送して保持するよう当該画像処理部から前記画像出力部に対してデータ転送指示を出力する(S304)。このとき,複数バンド分確保された前記通常描画バッファNbの領域のうち,前記ハードディスク装置5へのデータ転送が完了した領域へのビットマップ展開を行う。いずれのバッファ領域へのビットマップ展開が可能であるか(ビットマップデータの転送が完了しているか)は,前記画像出力部からの前記通常描画バッファNbの使用済みの通知(後述のステップS405)により判別する。
このようにして全ての前記バンドデータB(i)について,ビットマップ展開及び前記画像出力部に対するデータ転送指示の出力がなされると,当該画像処理部の処理を終了する。
<S401〜S405>
一方,前記画像出力部では,まず,前記画像処理部からの前記データ転送指示(ステップS304において出力される指示)を最先着のものについて取得し(取出し),該データ転送指示に従って,ビットマップデータの読み出し元である前記RAM3内に複数確保された前記通常描画バッファNb中のいずれかのバンドバッファを選択する(S402)。
次に,ステップS402で選択した前記通常描画バッファNb中のバンドバッファからビットマップデータを前記ハードディスク装置5に転送する(S403)。このとき,当該画像出力部の一部を構成する圧縮・伸張部により,ビットマップデータに周知の圧縮処理を施した上で前記ハードディスク装置5に記憶させる(転送する)。
さらに,転送が完了したビットマップデータが格納されていた前記通常描画バッファNbの領域が使用済み(転送済み)である旨を前記画像処理部に通知(S404)する。これにより,その指定領域は,前記画像処理部によってビットマップデータの上書き展開が可能な状態(他のビットマップデータの展開用に解放された状態)となる。
そして,順次到着した前記データ転送指示各々を逐次取得し,そのデータ転送指示に従ったビットマップデータを転送する処理(S401〜S404)を,1ページ分(i=1〜K)のビットマップデータ各々について順次繰り返す。これにより,1ページ分のビットマップデータ(圧縮済み)が前記ハードディスク装置5に保持される。このようにして,1ページ分のビットマップデータの前記ハードディスク装置5への保持が終了すると,前記RAM3内の前記通常描画バッファNbの全てを解放(S405)した後,当該画像処理部の処理を終了する。
以上示した前記画像処理部の処理(S301〜S304)及び前記画像出力部の処理(S401〜S405)が,前記ホスト装置から受信したプリントデータの全ページ分について順次実行される。このとき,前記ホスト装置から前記印刷データとともに送信されてくるその印刷データの前記識別情報に関連付けて各ビットマップデータを前記ハードディスク装置5に記憶させる。
その後,前記ホスト装置或いは前記表示・操作部8から,出力対象とするデータが前記識別情報により指定された前記印刷要求の入力があった際に,前記画像出力部は,指定された前記識別情報に関連付けられたビットマップデータを読み出し,これに対して前記圧縮・伸張部によって伸張処理を施した上で前記プリンタエンジン7に順次出力する(図6のS601)。これにより,指定されたデータの画像形成が行われる。
ここで,画像形成済みのビットマップデータについては,前記ハードディスク装置5から消去するか,或いは所定の消去入力がなされるまでそのまま保持するかが考えられる。例えば,予めいずれか一方に定めておくことが考えられる。また,いずれの処理とするかを指定可能とすることも考えられる。この場合,例えば,前記ホスト装置から前記印刷データとともにいずれの処理にするかを指定する消去指令情報を送信させることが考えられる。そして,その消去指令情報を前記識別情報に関連付けた前記ハードディスク装置5に記憶させておき,前記印刷要求が入力された際に,前記消去指令情報に従っていずれの処理を行うかを切り替えればよい。後述する他の実施例についても,前記ホールド印刷処理を行う場合については同様である。
図3及び図6に示した第1実施例に係る前記ホールド印刷処理を以下にまとめる。
この第1実施例に係るホールド印刷処理では,まず,前記時間超過バンドデータが存在するか否かに関わらず,常に1ページ分の前記バンドデータB(i)全てについて,ビットマップデータ(ビットマップ画像データ)を前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開させる処理(S303〜S304)と,前記通常描画バッファNb内のビットマップデータを前記ハードディスク装置5(第2記憶手段)に転送する処理(S401〜S404)とを並行して実行させる。
その後,前記印刷要求の入力があった際に,前記ハードディスク装置5(第2記憶手段)内のビットマップデータを前記ハードディスク装置5(第2記憶手段)へ出力する(図6の実線矢印参照)。
これにより,前記ホールド印刷処理を行う際に,1ページ分の前記バンドデータに前記時間超過バンドデータが存在するか否かに関わらず,事前のビットマップ展開処理は行われないので,前記RAM3内の前記事前描画バッファPbの領域分に相当する必要メモリ容量が抑えられる。また,このような手順でビットマップ展開処理を行っても,ビットマップ展開処理(S303,S304)と並行して行われるビットマップデータ転送(S401〜S404)の転送先が前記ハードディスク装置5であるので,オーバーランの問題は生じない。
また,前記直接印刷処理(第1印刷制御手段の処理)において,ビットマップデータを前記RAM3(第1記憶手段)に展開させる処理(図5のS114)とそのビットマップデータを前記プリンタエンジン7(画像形成手段)へ転送する処理(図5のS112&S203,S115&S203,S204)とを並行して実行させる場合よりも,前記ホールド印刷処理(第2印刷制御手段の処理) において,ビットマップデータを前記RAM3に展開させる処理(図6のS303)とそのビットマップ画像データを前記ハードディスク装置5(第2記憶手段)に転送する処理(図6のS304&S403)とを並行して実行させる場合の方が,前記RAM3に確保する前記通常描画バッファNbのバンド数(即ち,前記RAM3に展開して併存可能とする前記バンドデータ単位のビットマップデータの最大数)を小さく設定している(図5では3バンド分に対して図6では1バンド分)。これにより,前記ハードディスク装置5へのデータ転送を行う場合に,前記RAM3にビットマップデータの一時記憶容量が必要以上に確保(設定)されることがなく,前記RAM3の必要メモリ容量を抑えることができる。
(第2実施例に係るホールド印刷処理)
次に,画像形成装置Xにおける第2実施例に係る前記ホールド印刷処理について説明する。
図4は,前記ホールド印刷処理が指定された場合に,前記CPU1により制御がなされる第2実施例に係る前記ホールド印刷処理の一部である前記画像処理部によるデータ保持処理の処理手順を表すフローチャートである。
また,図6〜図8は,前記第2実施例に係る前記ホールド印刷処理に対応したデータの流れを表すブロック図であり,破線矢印は,前記データ保持処理(ハードディスク装置5へのデータ保持)におけるデータ流れの方向を表し,実線矢印は,前記ホールド印刷処理の一部であるデータ出力処理(印刷要求後の処理)におけるデータ流れの方向を表す。ここで,図6は,前記第1実施例に係る前記ホールド印刷処理に対応した図であるが,当該第2実施例に係る前記ホールド印刷処理において,以下に示すある場合においては同じデータの流れとなることを意味する。
当該第2実施例に係るホールド印刷処理では,次の3つの場合が考えられる。
その1つは,1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が予め設定された許容数を超える,或いは全ての前記バンドデータの総データサイズよりも全ての前記バンドデータに対応するビットマップデータの総データサイズの方が小さい場合であり,図6はその場合を表すものである。
2つ目は,1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合であり,図7はその場合を表すものである。
3つ目は,1ページ分の前記バンドデータに前記時間超過バンドデータが予め設定された許容数以下存在する場合であり,図8はその場合を表すものである。
また,図4と図6〜図8とに示すステップ記号(図6においてはカッコ書きの中の記号)が同じものは,相互に対応するものであることを表す。
以下,図4と図6〜図8とを用いて,第2実施例に係る前記ホールド印刷処理について説明する。
<ステップS501〜S503>
まず,前記画像処理部の実行により,前述のステップS301(図3)と同様に,受信プリントデータに基づく1ページ分の前記バンドデータを前記RAM3に記憶させ(S501),さらに所定のカウンタ変数s(ワーク変数)に初期値「1」を設定(S502)する。
<ステップS504〜S509>
次に,前述のステップS303及びS304(図3)と同様に,ビットマップデータ転送処理を行う(S504〜S509)。ここで,ステップS508及びS509が,前述のステップS303及びS304と同じ処理である。
但し,本第2実施例では,前記バンドデータ各々について,前記通常描画バッファNbへのビットマップ展開及びそのビットマップデータの前記ハードディスク装置5への前記データ転送指示(前記画像出力部への指示)を行いながら,前述したステップS103〜S105及びS108(図2)と同様に,前記バンドデータ各々が前記時間超過バンドデータであるか否かを判別する(S504,S505:前記所要時間判別手段の一例)とともに,前記時間超過バンドデータと判別されたものを事前描画バンドであるとして設定(記憶)する(S506)。このとき,前記カウンタ変数sをカウントアップ(S507)することにより,前記時間超過バンドデータの数をカウントする。
一方,図4に示す処理と並行して,図3に示した前記画像出力部の処理(S401〜S404)が実行される。これにより,前記画像処理部からの前記データ転送指示に従って,前記RAM3内の前記通常描画バッファNb内のビットマップデータが,前記ハードディスク装置5へ順次転送される。
これらステップS504〜S509及び前述のステップS401〜S404(図3))の処理を,1ページ分(K個)の前記バンドデータB(i)各々について,iを1ずつカウントアップしながら(i:1〜K)順次実行する。このとき,前記ホスト装置から前記印刷データとともに送信されてくるその印刷データの前記識別情報に関連付けて各ビットマップデータを前記ハードディスク装置5に記憶させる。
本第2実施例に係る前記ホールド印刷処理では,以上の処理により,1ページ分の全ての前記バンドデータ各々について,ビットマップデータを前記RAM3(第1記憶手段)に展開させる処理(S508)と,そのビットマップデータを前記ハードディスク装置5(第2記憶手段)に転送する処理(S509&S403)とを並行して実行させる。
これにより,前記ハードディスク装置5に,1ページ分の圧縮されたビットマップデータが保持される。図6は,ここまでの処理に対応するものである。
<ステップS504〜S509>
さらに,前記画像処理部の実行により,1ページ分の前記バンドデータに含まれる前記時間超過バンドデータの数が,予め定められた許容数Mを超えるか否かの判別(S510)と,1ページ分の全ての前記バンドデータの総データサイズよりも1ページ分の全ての前記バンドデータに対応する前記ビットマップデータ(前記ハードディスク装置5に転送したデータ)の総データサイズの方が小さいか否かの判別(S511,S512)とを行う。前記許容数Mは任意であるが,画像形成装置に搭載されるメモリ容量と印刷するページサイズ等によって決定される。図8は,前記許容数Mを3に設定した例を示す。
ここで,前記時間超過バンドデータの数が前記許容数Mを超える場合,又は前記ビットマップデータの総データサイズの方が小さい場合は,前記ハードディスク装置5に,転送された前記ビットマップデータをそのまま保持し,前記RAM3内の前記通常描画バッファNbの領域を開放(S515)した後,本データ保持処理を終了する。これにより,図6に示した状態が維持される。
一方,その他の場合(前記時間超過バンドデータの数が前記許容数M以下(前記時間超過バンドデータが存在しない場合を含む)かつ前記バンドデータの総データサイズの方が大きい場合)には,前記画像処理部が前記画像出力部に対し,前記RAM3に記憶されている前記時間内バンドデータを前記ハードディスク装置5に転送させる指示の出力(S513)と,ステップS504〜S509及びS401〜S404の処理により前記ハードディスク装置5(第2記憶手段)に転送・保持された前記時間内バンドデータ(ステップS506で前記事前描画バンドに設定されたもの以外のもの)に対応するビットマップデータを削除(消去)させる指示の出力(S514)と実行し,さらに前記RAM3内の前記通常描画バッファNbの領域を開放(S515)した後,本データ保持処理を終了する。これにより,前記ハードディスク装置5(第2記憶手段)に保持された前記時間内バンドデータに対応するビットマップデータに代えて,前記時間内バンドデータを前記ハードディスク装置5に保持させる。
ここで,1ページ分の全ての前記バンドデータに前記時間超過バンドデータが存在しない場合には,前記ハードディスク装置5のビットマップデータ全てが前記バンドデータ(前記時間内バンドデータ)に置き換えられ,図7に示す状態となる。
一方,1ページ分の前記バンドデータに前記時間超過バンドデータの数が予め設定された許容数以下存在する場合,図8に示すように,前記ハードディスク装置5には,ビットマップデータと前記バンドデータ(前記時間内バンドデータ)とが混在することになる。
その後,前記印刷要求の入力があった際の処理を以下に説明する。
まず,図8に示すように,前記ハードディスク装置5(第2記憶手段)内に,前記印刷要求で指定されたデータとしてビットマップデータ及び前記バンドデータB(i)(前記時間内バンドデータ)の両方が保持されている場合について説明する。
この場合,前記画像処理部及び前記画像出力部を実行することにより,前記ハードディスク装置5(第2記憶手段)内のビットマップデータ(前記時間超過バンドデータに対応するデータ)を,前記RAM3(第1記憶手段)内に確保した前記事前描画バッファPbに記憶(図8のS701)させる。このとき,前記事前描画バッファPbには,圧縮処理が施されたビットマップデータに対して前記圧縮・伸張部により伸張処理が施された後のビットマップデータが格納される。
その後,前記ハードディスク装置5内の前記時間内バンドデータ各々を前記RAM3に出力(図8のS702)した上で,その各々についてビットマップデータを前記RAM3(第1記憶手段)内に確保した前記通常描画バッファNb前記に展開させる処理(図8のS703)と前記RAM3内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ転送する処理(S704〜S706)とを並行して実行させる。
また,図7に示すように,前記ハードディスク装置5(第2記憶手段)内に,前記印刷要求で指定されたデータとして前記時間内バンドデータのみが保持されている場合は,前記ハードディスク装置5内の前記時間内バンドデータ各々についてビットマップデータを前記RAM3(第1記憶手段)内に確保した前記通常描画バッファNb前記に展開させる処理(図7のS901及びS902)と前記RAM3内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ転送する処理(図7のS903)とを並行して実行させる。
一方,前記ハードディスク装置5(第2記憶手段)内に,前記印刷要求で指定されたデータとしてビットマップデータのみが保持されている場合は,前記画像出力部の実行により,前記ハードディスク装置5内のビットマップデータを読み出し,これに対して前記圧縮・伸張部によって伸張処理を施した上で前記プリンタエンジン7に順次出力する(図6のS801)。
以上の処理により,指定されたデータの画像形成が行われる。
このような処理を行うことにより,前記時間超過バンドデータの有無やその数にかかわらず,前記RAM3への事前のビットマップ展開を行わずに,ビットマップ展開処理がなされるので,前記事前描画バッファPbが確保されない分,前記RAM3に確保されるメモリ容量を抑えることができる。
また,ビットマップ展開を必要とする前記時間内バンドデータと前記時間超過バンドデータに対応するビットマップデータとが混在して前記ハードディスク装置5に保持されるのは,前記時間超過バンドデータが予め定められた前記許容数以下である場合のみである。従って,前記印刷要求があった際に,前記RAM3の前記事前描画バッファPbに事前記憶させる必要があるビットマップデータは,図8に示すように前記許容数以下に制限される。このため,前記時間超過バンドデータの全てについてビットマップデータを前記RAM3に事前記憶させる従来(図5)に比べ,前記RAM3の前記事前描画バッファPbの領域の容量を小さく制限することができる。その上,前記RAM3へ事前転送するビットマップデータ数が前記許容数以下に制限されるため,前記印刷要求があってから印刷処理(画像形成)が開始されるまでの時間を短縮できる効果もある。
さらに,前記バンドデータを変換したビットマップデータの方が前記バンドデータよりもデータサイズが小さいというまれな状況があった場合でも,データサイズの小さい方が前記ハードディスク装置5に保持されるため,前記ハードディスク装置5の必要メモリ容量をより抑えることが可能となる。
また,前記許容数を0(ゼロ)とした場合,前記ハードディスク装置5には,ビットマップデータのみ(図6の状態)又は前記バンドデータのみ(図7の状態)のいずれかとなり,処理がシンプルとなる。さらに,前記ハードディスク装置5にビットマップデータのみを保持させた場合,前記RAM3へのビットマップデータの事前転送や,前記バンドデータ(前記時間内バンドデータ)のビットマップ展開を行う必要がないため,前記印刷要求があってから印刷処理(画像形成)が開始されるまでの時間をより短縮できる。
(第3実施例に係るホールド印刷処理)
次に,画像形成装置Xにおける第3実施例に係る前記ホールド印刷処理について説明する。
本処理は,図4のフローチャートに示した前記第2実施例に係る前記ホールド印刷処理と共通する部分が多いので,図4とこれに対応する図6〜図8とを用いて説明する。
当該第3実施例に係る前記ホールド印刷処理では,まず,受信したプリントデータの前記バンドデータへの変換(S501)を行った上で,1ページ分全ての前記バンドデータについて,図4のS504〜S507の処理(図2のS103及びS104の処理と同じ処理を含む:前記所要時間判別手段の処理の一例)を実行することにより,1ページ分の前記バンドデータに存在する前記時間超過バンドデータの認識とその数のカウントを行う。
そして,S504〜S507の処理の結果(前記所要時間判別手段の判別結果)に基づいて判別した次の3つの場合各々について,ビットマップデータを前記RAM3に展開する手順を制御する。
その1つは,1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合である。
この場合,まず,1ページ分の全ての前記バンドデータ各々を前記ハードディスク装置5(第2記憶手段)に転送(図7のS513&S403)する。その後,前記印刷要求の入力があった際に,前記ハードディスク装置5(第2記憶手段)内の前記バンドデータB(i)各々について,ビットマップデータ(ビットマップ画像データ)を前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開する処理(図7のS901及びS902)と,前記RAM3内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ転送する処理(図7のS903)とを並行して実行させる。
このように,1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合は,前記バンドデータをそのままの形式で前記ハードディスク装置5に保持し,前記印刷要求の入力があった後に,前記RAM3への事前のビットマップ展開なしでビットマップ展開処理を行いながら前記プリンタエンジンへのデータ転送を行っても,オーバーランは発生しない。また,ビットマップデータの事前展開を行わないので,前記RAM3の占有メモリ容量は特に増加しない。しかも,通常は,前記バンドデータはそれを変換したビットマップデータよりもデータサイズが小さいので,従来のようにビットマップデータの形式で保持する場合に比べ,前記ハードディスク装置5の必要メモリ容量を抑えることができる。
2つ目は,1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が前記許容数以下である場合である。
この場合,その各々(前記時間超過バンドデータ各々)について,ビットマップデータを前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開させる処理(図8のS508)と,そのビットマップデータを前記ハードディスク装置5(第2記憶手段)に転送する処理(図8のS509&S403)とを並行して実行するとともに,残りの前記時間内バンドデータ各々を前記ハードディスク5(第2記憶手段)に記憶させる(図8のS513&S403)。
その後,前記印刷要求の入力があった際に,前記ハードディスク装置5(第2記憶手段)内のビットマップデータを前記RAM3(第1記憶手段)内の前記事前描画バッファPbに記憶させた(図8のS701)後に,前記ハードディスク装置5内の前記時間内バンドデータ各々について,前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開させる処理(S702及びS703)と,前記RAM3内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ転送する処理(S704〜S706)とを並行して実行させる。
これにより,前記印刷要求があった際に前記RAM3に事前記憶されるビットマップデータの数が前記許容数以下に抑えられる。このため,通常よりも拡張して確保する前記事前描画バッファPbの領域の最大拡張幅を制限でき,前記RAM3内の占有メモリ容量を抑えることができる。さらに,全てをビットマップデータに展開して保持する場合に比べ,前記ハードディスク装置5の必要メモリ容量を抑えることができる。
3つ目は,1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が既定の前記許容数を超える場合である。
この場合,まず,全ての前記バンドデータについて,ビットマップデータを前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開させる処理(図6のS508)と,そのビットマップデータを前記ハードディスク装置5(第2記憶手段)に転送する処理(図6のS509&S403)とを並行して実行させる。
その後,前記印刷要求の入力があった際に,前記ハードディスク装置5(第2記憶手段)内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ出力する(図6のS801)。
このような構成により,事前(画像形成処理の開始前)に前記RAM3に記憶されるビットマップデータの数が前記許容数を超えることがない。このため,前記時間超過バンドデータ(オーバーランが発生すると予測される前記バンドデータ)が存在する場合に,前記RAM3に通常よりも拡張して確保されるメモリ領域(前記事前描画バッファPb)が制限される。
(第4実施例に係るホールド印刷処理)
次に,画像形成装置Xにおける第4実施例に係る前記ホールド印刷処理について説明する。
本処理は,前記第3実施例に係る前記ホールド印刷処理における,1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が前記許容数以下である場合の処理を変形したものである。即ち,前述の図6の状態を経た後,前記バンドデータとこれを変換したビットマップデータとのデータサイズの小さい方を前記ハードディスク装置5に保持させるものである。
即ち,第4実施例に係る前記ホールド印刷処理では,1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合に,まず,全ての前記バンドデータについて,ビットマップデータを前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開させる処理(図6のS508)と,そのビットマップデータを前記ハードディスク装置5(第2記憶手段)に転送する処理(図6のS509&S403)とを並行して実行させる。
さらに,全ての前記バンドデータに対応するビットマップデータと,全ての前記バンドデータとのいずれか総データサイズの小さい方を前記ハードディスク装置5(第2記憶手段)に保持させる。
より具体的には,ビットマップデータのサイズが前記バンドデータのサイズ以上である場合は,前記ハードディスク装置5に格納したビットマップデータをそのまま保持させておく(図6の状態)。
そうでない場合は,前記ハードディスク装置5内のビットマップデータを消去(削除)し,代わりに前記RAM3から全ての前記バンドデータを前記ハードディスク装置5に転送する(図7の状態)。
その後,前記印刷要求の入力があった際に,前記ハードディスク装置5(第2記憶手段)内に前記バンドデータが保持されている場合は(図7の状態),その各々について,ビットマップデータ(ビットマップ画像データ)を前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開する処理(図7のS901及びS902)と,前記RAM3内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ転送する処理(図7のS903)とを並行して実行させる。
一方,前記印刷要求の入力があった際に,前記ハードディスク装置5内にビットマップデータが保持されている場合は(図6の状態),そのビットマップデータ各々を前記プリンタエンジン7(画像形成手段)へ出力する(図6のS801)。
これにより,前記バンドデータを変換したビットマップデータの方が前記バンドデータよりもデータサイズが小さいというまれな状況があった場合,前記ハードディスク装置5の必要メモリ容量をより抑えることが可能となる。
(第2実施例に係る直接印刷処理)
次に,画像形成装置Xにおける第2実施例に係る前記直接印刷処理について説明する。
本処理は,前記第1実施例に係る前記直接印刷処理における,1ページ分の前記バンドデータに前記時間超過バンドデータが存在する場合の処理を他の処理に置き換えたものである。よって,1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合の処理は前記第1実施例に係る前記直接印刷処理と同じであるのでここでは説明を省略する。
本第2実施例に係る直接印刷処理では,1ページ分の前記バンドデータに前記時間超過バンドデータが存在する場合,図6に示した処理と同様の処理を,前記印刷要求を待つことなく,一連の自動処理として実行するものである。
即ち,1ページ分の前記バンドデータに前記時間超過バンドデータが存在する場合に,まず,全ての前記バンドデータについて,ビットマップデータを前記RAM3(第1記憶手段)内の前記通常描画バッファNbに展開させる処理(図6のS303)と,そのビットマップデータを前記ハードディスク装置5(第2記憶手段)に転送する処理(図6のS304&S403)とを並行して実行させる。さらにその後続けて,前記ハードディスク装置5(第2記憶手段)内のビットマップデータを前記プリンタエンジン7(画像形成手段)へ出力する(図6のS601)。
これにより,前記時間超過バンドデータが存在する場合でも,前記RAM3への事前のビットマップ展開を行が行われない。このため,前記RAM3に一時蓄積されるビットマップデータのサイズを最小限に抑えることが可能となる。また,一旦,前記ハードディスク装置5へデータ転送(スプール)するため,その過程でオーバーランの問題は生じない。
なお,本実施例では,1ページ分の全ての前記バンドデータを展開して前記ハードディスク装置5に一旦スプールすることになるため,画像形成が開始されるまでに従来よりも時間を要することになるが,前記RAM3の占有容量低減を優先する場合に有効である。
本発明は,画像形成装置への利用が可能である。
本発明の実施形態に係る画像形成装置Xの概略構成を表すブロック図。 画像形成装置Xにおける第1実施例に係る直接印刷処理の手順を表すフローチャート。 画像形成装置Xにおける第1実施例に係るホールド印刷処理の手順を表すフローチャート。 画像形成装置Xにおける第2実施例に係るホールド印刷処理の手順を表すフローチャート。 画像形成装置Xにおける第1実施例に係る直接印刷処理に対応したデータの流れを表すブロック図。 画像形成装置Xにおける第1実施例に係るホールド印刷処理及び第2実施例に係るホールド印刷処理の一部に対応したデータの流れを表すブロック図。 画像形成装置Xにおける第2実施例に係るホールド印刷処理の一部に対応したデータの流れを表すブロック図。 画像形成装置Xにおける第2実施例に係るホールド印刷処理の一部に対応したデータの流れを表すブロック図。
符号の説明
1…CPU
2…プログラムROM
3…RAM(第1記憶手段)
4…ホストインターフェース
5…ハードディスク装置(第2記憶手段)
6…プリンタインターフェース
7…プリンタエンジン
8…表示・操作部
9…システムバス
Nb…通常描画バッファ
Pb…事前描画バッファ
S101,S102,,…処理手順(ステップ)

Claims (10)

  1. データを一時記憶する第1記憶手段と,該第1記憶手段よりアクセス速度が遅い第2記憶手段と,外部装置から受信された印刷データの1ページ分が複数に分割されたデータ若しくはこれを他の形式に変換した中間データのいずれかであるバンドデータごとにビットマップ画像データに変換して前記第1記憶手段に展開するビットマップ展開手段と,前記ビットマップ画像データに基づいて画像形成を行う画像形成手段と,前記印刷データが受信された際に前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段へ展開しさらに前記画像形成手段へ出力するまでの一連の自動処理を制御する第1印刷制御手段と,前記印刷データが受信された際に前記バンドデータ又はこれに関するデータを前記第2記憶手段に一旦記憶させた後,印刷要求の入力があった際に前記第2記憶手段内のデータに基づく前記ビットマップ画像データを前記画像形成手段へ出力する処理を制御する第2印刷制御手段と,前記バンドデータ各々について前記ビットマップ展開手段の処理に要する時間が前記画像形成手段による画像形成に要する時間を超える時間超過バンドデータであるかその他の時間内バンドデータであるかを判別する所要時間判別手段と,を具備する画像形成装置において,
    前記第1印刷制御手段が,前記時間超過バンドデータがビットマップ展開可能なサイズの時間超過バンドデータ用の領域及び前記時間内バンドデータがビットマップ展開可能なサイズの時間内バンドデータ用の領域をそれぞれ前記第1記憶手段内に複数確保すると共に,
    前記第1印刷制御手段が,前記所要時間判別手段が1ページ分の前記バンドデータに前記時間超過バンドデータが存在すると判別した場合に,前記時間超過バンドデータについての前記ビットマップ画像データを前記第1記憶手段内の前記時間超過バンドデータ用領域に事前展開させ,時間内バンドデータについての前記ビットマップ画像データを前記第1記憶手段内の前記時間内バンドデータ用領域に展開させる処理と,展開を終了したバンドデータ用領域に記憶されたビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させてなり,
    前記第1印刷制御手段と前記第2印刷制御手段とが,前記ビットマップ展開手段により1ページ分の前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段に展開する手順を各々個別に制御してなることを特徴とする画像形成装置。
  2. データを一時記憶する第1記憶手段と,該第1記憶手段よりアクセス速度が遅い第2記憶手段と,外部装置から受信された印刷データの1ページ分が複数に分割されたデータ若しくはこれを他の形式に変換した中間データのいずれかであるバンドデータごとにビットマップ画像データに変換して前記第1記憶手段に展開するビットマップ展開手段と,前記ビットマップ画像データに基づいて画像形成を行う画像形成手段と,前記印刷データが受信された際に前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段へ展開しさらに前記画像形成手段へ出力するまでの一連の自動処理を制御する第1印刷制御手段と,前記印刷データが受信された際に前記バンドデータ又はこれに関するデータを前記第2記憶手段に一旦記憶させた後,印刷要求の入力があった際に前記第2記憶手段内のデータに基づく前記ビットマップ画像データを前記画像形成手段へ出力する処理を制御する第2印刷制御手段と,前記バンドデータ各々について前記ビットマップ展開手段の処理に要する時間が前記画像形成手段による画像形成に要する時間を超える時間超過バンドデータであるかその他の時間内バンドデータであるかを判別する所要時間判別手段と,を具備する画像形成装置において,
    前記第1印刷制御手段が,前記画像形成手段の実行により,前記バンドデータを順次ビットマップ展開するのに用いるバンドデータ用の領域を前記第1記憶手段内に確保し,
    前記第1印刷制御手段が,1ページ分の前記バンドデータに前記時間超過バンドデータが存在する場合に,全ての前記バンドデータ各々について,前記ビットマップ画像データを前記第1記憶手段内のバンドデータ用のある領域に展開させる処理と,該第1記憶手段内の前記ある領域とは異なる別の領域に記憶された前記ビットマップ画像データを前記第2記憶手段へ転送する処理とを並行して実行させた後に,続けて前記第2記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理を実行させてなり,
    前記第1印刷制御手段と前記第2印刷制御手段とが,前記ビットマップ展開手段により1ページ分の前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段に展開する手順を各々個別に制御してなることを特徴とする画像形成装置。
  3. データを一時記憶する第1記憶手段と,該第1記憶手段よりアクセス速度が遅い第2記憶手段と,外部装置から受信された印刷データの1ページ分が複数に分割されたデータ若しくはこれを他の形式に変換した中間データのいずれかであるバンドデータごとにビットマップ画像データに変換して前記第1記憶手段に展開するビットマップ展開手段と,前記ビットマップ画像データに基づいて画像形成を行う画像形成手段と,前記印刷データが受信された際に前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段へ展開しさらに前記画像形成手段へ出力するまでの一連の自動処理を制御する第1印刷制御手段と,前記印刷データが受信された際に前記バンドデータ又はこれに関するデータを前記第2記憶手段に一旦記憶させた後,前記印刷要求の入力があった際に前記第2記憶手段内のデータに基づく前記ビットマップ画像データを前記画像形成手段へ出力する処理を制御する第2印刷制御手段と,前記バンドデータ各々について前記ビットマップ展開手段の処理に要する時間が前記画像形成手段による画像形成に要する時間を超える時間超過バンドデータであるかその他の時間内バンドデータであるかを判別する所要時間判別手段と,を具備する画像形成装置において,
    前記第2印刷制御手段が,前記画像形成手段の実行により,前記バンドデータを順次ビットマップ展開するのに用いるバンドデータ用の領域を前記第1記憶手段内に確保し,
    前記第2印刷制御手段が,1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が既定の許容数を超える場合に,全ての前記バンドデータについて前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させた後,前記印刷要求の入力があった際に,前記第2記憶手段内の前記ビットマップ画像データを前記画像形成手段へ出力してなり,
    前記第1印刷制御手段と前記第2印刷制御手段とが,前記ビットマップ展開手段により1ページ分の前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段に展開する手順を各々個別に制御してなることを特徴とする画像形成装置。
  4. 前記第2印刷制御手段が,
    1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が前記許容数以下である場合に,その各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行するとともに前記時間内バンドデータ各々を前記第2記憶手段に記憶させた後,前記印刷要求の入力があった際に,前記第2記憶手段内の前記ビットマップ画像データを前記第1記憶手段に記憶させた後に,前記第2記憶手段内の前記時間内バンドデータ各々について前記第1記憶手段に展開させる処理と前記第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させてなる請求項2に記載の画像形成装置。
  5. 前記第2印刷制御手段が,
    1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合に,全ての前記バンドデータ各々を前記第2記憶手段に転送した後,前記印刷要求の入力があった際に,前記第2記憶手段内の前記バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開する処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させてなる請求項2に記載の画像形成装置。
  6. 前記第2印刷制御手段が,
    1ページ分の前記バンドデータに前記時間超過バンドデータが存在しない場合に,全ての前記バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させ,さらに全ての前記バンドデータに対応する前記ビットマップ画像データと全ての前記バンドデータとのいずれか総データサイズの小さい方を前記第2記憶手段に保持させた後,前記印刷要求の入力があった際に,前記第2記憶手段内に前記バンドデータが保持されている場合はその各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させ,前記第2記憶手段内に前記ビットマップ画像データが保持されている場合はその各々を前記画像形成手段へ出力してなる請求項2に記載の画像形成装置。
  7. 前記第2印刷制御手段が,
    全ての前記バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させ,
    1ページ分の前記バンドデータに存在する前記時間超過バンドデータの数が前記許容数を超える場合又は全ての前記バンドデータの総データサイズよりも全ての前記バンドデータに対応する前記ビットマップ画像データの総データサイズの方が小さい場合には前記ビットマップ画像データをそのまま前記第2記憶手段に保持させ,その他の場合には前記第2記憶手段に保持された前記時間内バンドデータに対応する前記ビットマップ画像データに代えて前記時間内バンドデータを保持させ,その後前記印刷要求の入力があった際に,前記第2記憶手段内に前記ビットマップ画像データ及び前記時間内バンドデータが保持されている場合は前記ビットマップ画像データを前記第1記憶手段に記憶させた後に前記時間内バンドデータ各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させ,
    前記第2記憶手段内に前記時間内バンドデータのみが保持されている場合はその各々について前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させ,
    前記第2記憶手段内に前記ビットマップ画像データのみが保持されている場合はその各々を前記画像形成手段へ出力してなる請求項2に記載の画像形成装置。
  8. 前記第1印刷制御手段又は前記第2印刷制御手段によって前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該第1記憶手段内の前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させる場合よりも,前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させる場合の方が,前記第1記憶手段に展開して併存可能とする前記バンドデータ単位の前記ビットマップ画像データの最大数を小さく設定してなる請求項1〜6のいずれかに記載の画像形成装置。
  9. 前記第2印刷制御手段が,
    常に1ページ分の前記バンドデータ全てについて前記ビットマップ画像データを前記第1記憶手段に展開させる処理と該ビットマップ画像データを前記第2記憶手段に転送する処理とを並行して実行させた後,前記印刷要求の入力があった際に,前記第2記憶手段内の前記ビットマップ画像データを前記画像形成手段へ出力してなる請求項1〜7のいずれかに記載の画像形成装置。
  10. データを一時記憶する第1記憶手段と,該第1記憶手段よりアクセス速度が遅い第2記憶手段と,外部装置から受信された印刷データの1ページ分が複数に分割されたデータ若しくはこれを他の形式に変換した中間データのいずれかであるバンドデータごとにビットマップ画像データに変換して前記第1記憶手段に展開するビットマップ展開手段と,前記ビットマップ画像データに基づいて画像形成を行う画像形成手段と,を具備する画像形成装置について,前記印刷データが受信された際に前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段へ展開しさらに前記画像形成手段へ転送するまでの一連の自動処理を制御する第1印刷制御工程と,前記印刷データが受信された際に前記バンドデータ又はこれに関するデータを前記第2記憶手段に一旦記憶させた後,印刷要求の入力があった際に前記第2記憶手段内のデータに基づく前記ビットマップ画像データを前記画像形成手段へ転送する処理を制御する第2印刷制御工程と,前記バンドデータ各々について前記ビットマップ展開手段の処理に要する時間が前記画像形成手段による画像形成に要する時間を超える時間超過バンドデータであるかその他の時間内バンドデータであるかを判別する所要時間判別工程と,をコンピュータに実行させるための画像形成装置の制御プログラムにおいて,
    記第1印刷制御工程が,前記時間超過バンドデータがビットマップ展開可能なサイズの時間超過バンドデータ用の領域及び前記時間内バンドデータがビットマップ展開可能なサイズの時間内バンドデータ用の領域をそれぞれ前記第1記憶手段内に複数確保し,
    前記第1印刷制御工程が,前記所要時間判別工程が1ページ分の前記バンドデータに前記時間超過バンドデータが存在すると判別した場合に,前記時間超過バンドデータについての前記ビットマップ画像データを前記第1記憶手段内の前記時間超過バンドデータ用領域に事前展開させ,時間内バンドデータについての前記ビットマップ画像データを前記第1記憶手段内の前記時間内バンドデータ用領域に展開させる処理と,展開を終了したバンドデータ用領域に記憶された前記ビットマップ画像データを前記画像形成手段へ転送する処理とを並行して実行させてなり,
    前記第1印刷制御工程と前記第2印刷制御工程とが,前記ビットマップ展開手段により1ページ分の前記バンドデータに基づく前記ビットマップ画像データを前記第1記憶手段に展開する手順を各々個別に制御する工程であることを特徴とする画像形成装置の制御プログラム。
JP2004091189A 2004-03-26 2004-03-26 画像形成装置及びその制御プログラム Expired - Fee Related JP4628003B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004091189A JP4628003B2 (ja) 2004-03-26 2004-03-26 画像形成装置及びその制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004091189A JP4628003B2 (ja) 2004-03-26 2004-03-26 画像形成装置及びその制御プログラム

Publications (2)

Publication Number Publication Date
JP2005271510A JP2005271510A (ja) 2005-10-06
JP4628003B2 true JP4628003B2 (ja) 2011-02-09

Family

ID=35171648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004091189A Expired - Fee Related JP4628003B2 (ja) 2004-03-26 2004-03-26 画像形成装置及びその制御プログラム

Country Status (1)

Country Link
JP (1) JP4628003B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199898A (ja) * 2006-01-25 2007-08-09 Sharp Corp データ処理装置および画像形成装置
JP2015032238A (ja) * 2013-08-06 2015-02-16 セイコーエプソン株式会社 印刷制御装置、印刷制御方法および印刷制御プログラム
JP6482189B2 (ja) * 2014-06-06 2019-03-13 キヤノン株式会社 処理装置及び処理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000158727A (ja) * 1998-11-30 2000-06-13 Tokyo Denshi Sekkei Kk 画像出力装置および画像出力システム
JP2000311071A (ja) * 1999-04-28 2000-11-07 Canon Inc 出力制御装置および出力制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000158727A (ja) * 1998-11-30 2000-06-13 Tokyo Denshi Sekkei Kk 画像出力装置および画像出力システム
JP2000311071A (ja) * 1999-04-28 2000-11-07 Canon Inc 出力制御装置および出力制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Also Published As

Publication number Publication date
JP2005271510A (ja) 2005-10-06

Similar Documents

Publication Publication Date Title
US8595745B2 (en) Job-process swapping between multiple storage devices based on the most recently executed type of a process and historical execution count among plural types of processes
AU2012203636B2 (en) Image processing apparatus, image processing method, and program
US20090161155A1 (en) Image output apparatus and image output method
US8649049B2 (en) Image forming apparatus, job management method, and storage medium in which a job designated in a job list for reprinting can be securely reprinted
US20050225790A1 (en) Image processing apparatus and image communication apparatus for protecting image information, and method for controlling the same
JP2008254346A (ja) 画像形成装置、プログラム及び記録媒体
JP2008195021A (ja) 画像形成装置及び画像形成方法
US8988723B2 (en) Printing apparatus for executing print processing based upon print data
US20130194609A1 (en) Printing apparatus and method of controlling the same
JP4628003B2 (ja) 画像形成装置及びその制御プログラム
US7061654B2 (en) Image processor, image processing method and storage medium
JP2000203104A (ja) プリンタ及びプリンタ制御装置
JP2005073004A (ja) フレームバッファ管理方法及びフレームバッファ管理装置
JP7384031B2 (ja) 印刷装置、制御方法、及び制御プログラム
US6050732A (en) Double-side printing control method
JP4760235B2 (ja) 画像形成システム、画像形成装置、画像読取装置
JP6519941B2 (ja) 印刷制御装置、画像形成システムおよびプログラム
JP2002234237A (ja) 画像処理装置
JP5704318B2 (ja) 画像形成方法および画像形成装置
JP5263612B2 (ja) 印刷装置
JP2006347100A (ja) 画像形成装置
JP6485699B2 (ja) 画像形成装置、画像形成システム
JP3583879B2 (ja) プリンタ制御装置
JP2007328737A (ja) ホスト装置、データ処理装置及びデータ処理システム
JPH08244308A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4628003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees