JP3957859B2 - 印刷制御装置及び印刷制御方法及びプログラム記憶媒体 - Google Patents
印刷制御装置及び印刷制御方法及びプログラム記憶媒体 Download PDFInfo
- Publication number
- JP3957859B2 JP3957859B2 JP05195398A JP5195398A JP3957859B2 JP 3957859 B2 JP3957859 B2 JP 3957859B2 JP 05195398 A JP05195398 A JP 05195398A JP 5195398 A JP5195398 A JP 5195398A JP 3957859 B2 JP3957859 B2 JP 3957859B2
- Authority
- JP
- Japan
- Prior art keywords
- band
- output data
- data
- overrun
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
この発明は、印刷データから出力用ビットマップデータを生成して印刷するレーザビームプリンタ等の印刷制御装置及び印刷制御方法及びプログラム記憶媒体に関するものである。
【0002】
【従来の技術】
従来より、ホストコンピュータなどから印刷内容や印刷形式に関するデータ(印刷データ)を受信して、それを元に実際に出力するビットマップを形成(以後レンダリングとする)し、そのビットマップを例えば紙面上に印刷出力(以後シッピング)するタイプの印刷装置が広く使われている。
【0003】
このようなタイプの印刷装置で1ページ分の出力ビットマップをレンダリングしてからシッピング処理を行なうタイプ(以後フルペイント処理と呼ぶ)の印刷装置があるが、この場合必ず1ページ分のビットマップを保持する記憶装置が必要となり、出力解像度が高い印刷装置やカラー印刷装置などでは記憶装置の容量を大きくしなければならないため、装置が非常に高価なものになってしまう欠点がある。また、1ページ分のビットマップのレンダリングを終えてからシッピングを行い、シッピングが終わったから次ページのビットマップのレンダリングを行うため、印刷スループットが悪いという欠点がある。
【0004】
そのため1ページをそれより小さな単位(バンド)で区切り、1バンド分のレンダリングを終えてからシッピングし、シッピング処理と並列に次のバンドのレンダリングを行なうタイプ(以後バンディング処理と呼ぶ)の印刷装置が開発された。この方式ではレンダリング用とシッピング用の最低2つのバンド分の記憶装置があれば良いので、1ページ分必要な前出の方式より印刷装置の記憶装置容量を少なく押さえることができ、印刷スループットもあがる。
【0005】
しかし一般的にレーザビーム等の印刷装置はシッピング処理をページの途中で止めることができないため、レンダリングに時間のかかるバンドがあった場合に、前のバンドのシッピングが終わっても次のバンドのレンダリングが終わらないため、正常な印刷ができないこと(以後オーバーランと呼ぶ)があった。
【0006】
さらに昨今の技術革新でシッピング処理は高速化する傾向にあり、逆に高解像度化、カラー印刷などレンダリング処理はより時間がかかる傾向にあるため、オーバーランが発生しやすくなってきている。
【0007】
そこで回避策として印刷装置にバンディング処理とフルペイント処理の両方を搭載し、バンディング処理でオーバーランしてしまう印刷データに関しては、印刷装置をフルペイント処理を行うように切り替えて再度印刷しなおすようにしていた。
【0008】
【発明が解決しようとする課題】
ここでバンディング処理とフルペイント処理は、印刷装置内に印刷データを保管する形式や印刷処理の単位がバンドか1ページ分かと大きく違うため、処理プログラムや記憶装置の使い方がまったく相いれない方式である。そのため2系統の処理プログラムが必要なため印刷装置のプログラムROMサイズが大きくなって装置価格を上げる要因となっていた。
【0009】
またバンディング処理で大量ページを印刷していてオーバーランが起きた場合、別方式であるフルペイント処理に切り替えて再度最初から印刷しなおす必要があるため、処理プログラムの変更と記憶装置の使用方法を変更するため、印刷スループットが悪いという欠点があった。
【0010】
本発明は以上のような従来の欠点を除去するためになされたもので、バンディング処理においてバンド毎にフルペイント処理のようなオーバーランを完全に回避する機構をつけ、オーバーランの発生を予測して事前に回避することにより、オーバーランの発生率を低下させる。
【0011】
さらにそれでもオーバーランする場合にも、バンド毎に行うオーバーラン回避処理の実行頻度を上げることにより、完全にオーバーランを回避する。
【0012】
このように本発明ではバンディング処理のみで完全にオーバーランを防ぐことで、プログラムROMサイズが減少して装置価格が下げることができ、かつ再印刷の頻度を下げることのできる印刷処理を提供することを目的としている。
【0013】
【課題を解決するための手段】
外部装置より入力された印刷データをバンド単位で管理する管理手段と、強制的にオーバーランを回避するモードを設定する設定手段と、前記印刷データに基づいてバンド単位の出力データを描画生成する描画時間を導出する導出手段と、前記印刷データからバンド単位に前記出力データを描画する描画手段と、前記設定手段によって強制的にオーバーランを回避するモードが設定されているか否かを判定する判定手段と、前記判定手段により強制的にオーバーランを回避するモードが設定されたと判定された場合、前記印刷データに基づくすべてのバンドの出力データを格納する一次メモリを確保し、前記判定手段により強制的にオーバーランを回避するモードが設定されていないと判定された場合、前記導出手段により導出された前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを確保すべく制御する確保制御手段と、前記描画手段によって描画されたバンド単位の出力データを圧縮する圧縮手段と、前記判定手段により前記強制的にオーバーランを回避するモードが設定されていると判定され、かつ、前記印刷データの全てのバンドの出力データを格納する一次メモリを確保できない場合、前記描画手段を用いてバンド単位に描画することで得られる出力データを圧縮する処理を全バンドについて前記圧縮手段で実行し、前記判定手段により前記強制的にオーバーランを回避するモードが設定されていないと判定され、かつ、前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを確保できない場合、前記描画手段を用いてバンド単位に描画することで得られる出力データを圧縮する処理を前記描画時間が所定時間を超えるバンドについて前記圧縮手段で実行する制御手段と、前記制御手段による前記圧縮手段の制御によって圧縮された出力データを格納する格納手段を有することを特徴とする印刷制御装置。
【0025】
【発明の実施の形態】
〔第一実施例〕
以下に添付図面を参照して本発明の好適な実施の形態を説明する。まず、本実施の形態の構成を説明する前に、本実施の形態を適用するに好適なレーザービームプリンタの構成について図1及び図2を参照しながら説明する。なお、本実施例を適用する画像処理装置は、レーザビームプリンタに限られるものではなく、他のプリント方式の画像処理装置でも良いことはいうまでもない。
【0026】
図1は本発明を適用可能な印刷制御装置の構成を示すレーザービームプリンタ(LBP)の構成を示す断面図である。
【0027】
図において、1000はLBP本体であり、外部に接続されているホストコンピュータから供給される印刷データ(文字コード、制御コード等からなるページ記述言語等のプリンタ言語)やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報にしたがって対応する文字パターンやフォームパターン等のビットマップデータを作成し、記録媒体である記録紙等に像を形成する。1012は操作のためのスイッチ及びLED表示器等が配されている操作パネル、1001はLBP本体1000全体の制御及びホストコンピュータから供給される印刷データ等を解析するプリンタ制御ユニットである。
【0028】
このプリンタ制御ユニット1001は、主に文字情報(文字コード)を対応する文字パターンのビデオ信号に変換してレーザドライバ1002に出力する。
【0029】
レーザドライバ1002は半導体レーザ1003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ1003から発射されるレーザ光1004をオン・オフ切り換えする。レーザ光1004は回転多面鏡1005で左右方向に振られて静電ドラム1006上を操作露光する。
【0030】
これにより、静電ドラム1006上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム1006周囲に配設された現像ユニット1007により現像された後、記録紙に転写される。ここで静電ドラム1006の回転速度は一定である。この記録紙にはカットシートを用い、カットシート記録紙はLBP1000に装着した用紙カセット1008に収納され、給紙ローラ1009および搬送ローラ1010と搬送ローラ1011とにより、装置内に取り込まれて、静電ドラム1006に供給される。
【0031】
またLBP本体1000には、図示しないカードスロットを備え、内蔵フォントに加えてオプションフォントカード、プリンタ言語系の異なる制御カード(エミュレーションカード)を接続できるように構成されている。
【0032】
図2は本発明の一実施例を示すプリンタ制御システムの構成を説明するブロック図である。ここでは、レーザビームプリンタ(図1)を例にして説明する。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN等のネットワークを介して処理が行なわれるシステムであっても本発明を適用できることは言うまでもない。
【0033】
図において、2000はホストコンピュータ等の外部装置で、所定のインターフェース(例えば双方向インターフェース)を介して印刷装置1000に接続されて通信処理を実行する。
【0034】
201はホストコンピュータ2000との間の通信処理を行なう入力部である。入力部はホストコンピュータ2000より印刷データを受信する処理を行なう。ここで必要ならば印刷装置1000の情報をホストコンピュータ2000へ送信する処理を行なってもよい。
【0035】
202は印刷データを、印刷装置内部で扱いやすい形である中間データに変換する処理を行なう中間データ作成部である。
【0036】
203は本発明で使用する記憶装置の一例としてのRAMを示している。RAM203では入力部201で受信した印刷データより導き出された中間データを保持したり、中間データをレンダリングした結果のビットマップを保持したり、その他処理に必要な一時的なバッファエリアや、各種処理ステータスを保持したりする。
【0037】
204は本発明で説明する図10、11、13〜16、18のフローチャートの処理や、その他印刷装置1000の行なう処理プログラムを保持するROMである。205はRAM203に格納された中間データの内容に従って、実際に印刷出力する印刷イメージを作成するレンダリング部である。206はビットマップイメージを圧縮したり、圧縮されたビットマップイメージを伸長する処理を行なう圧縮/伸長部である。207はレンダリング部205で作成された印刷イメージや、圧縮/伸長部206で伸長されたイメージを例えば実際の紙面へ印刷出力する出力部である。
【0038】
208は本発明の実施例である印刷装置1000の印刷処理や後述するデータ処理を実際に行なうCPUである。209は本印刷装置の各部を接続する内部バスである。210は強制オーバーラン回避フラグであり、本発明で実現するオーバーラン回避方法を、オーバーランするかどうかをバンド毎に予測して必要なバンドのみ行うのか、または強制的に全バンド回避処理を行うかどうかを決めるフラグである。このフラグはホストコンピュータからの命令(プリンタドライバにより生成される印刷データに含まれる)や印刷装置本体1000のスイッチや操作パネル1012のメニューで、ユーザによって必要な方法に切り替えられる。
【0039】
本実施例でいう印刷制御装置とは、印刷装置1000のコントローラ(制御部分)もしくは、コントローラと印刷部を含むものの両方の意味を有している。以後は、一般に印刷装置という。
【0040】
以後、ROM204に蓄えられたプログラムによってCPU208が行なう処理について、まず図3〜図5でバンディング処理について説明し、次に図6〜図9でオーバーラン回避処理について説明する。最後に図10〜図16で全体の処理手順をフローチャートを用いて説明する。
【0041】
〔バンディング処理についての説明〕
図3は、本実施例の印刷装置の中間データの構造及び管理形式について説明した図である。
【0042】
本発明に基づく一実施例である印刷装置は、1枚の出力ページを幾つかの小領域(以下バンドと呼ぶ)で区切って、そのバンド単位で処理を行う。例えば、RAM203には最低2つのバンドの領域を保持しており、バンドに出力データのレンダリングとバンドに描画されたビットマップデータの印刷部への印刷出力を並列処理で同時に行なうのである。そのため本実施例では印刷データをバンド単位で管理するために、印刷データを中間データという管理しやすい形式で管理する。並列処理については、以後に図4などを用いて説明する。
【0043】
図3において301は出力用紙1ページ分をあらわし、それぞれバンド1、バンド2と名付けられたバンドに区切られている。バンドは図にあるように用紙搬送方向に垂直になるように配置されている。また、それぞれのバンドは同面積を持つように区切られているため、用紙出力時のバンドの静電潜像時間は一定である。
【0044】
今印刷装置が、出力用紙301にあるように1つの文字「あ」と斜めの直線1本が描かれるような印刷データを受信したとすると、その中間データは以下のような構造になる。
【0045】
まず中間データは302〜304で示される中間データ管理テーブルにつながれる。中間データ管理テーブル302〜304はバンド数分だけあり、それぞれのバンド内に描画されるべき中間データをリンク構造で保持する。
【0046】
中間データの内容を305〜308に示す。305は中間データの種類を示す情報であり、「あ」の場合は文字となる。306は描画オブジェクトの描画位置を示している。307は描画オブジェクトのデータを示しており、「あ」の場合は文字コードが格納されている。この文字コードに対応してレンダリング時にはフォントROMからフォントのビットマップデータを読み出して来るのである。308は修飾方法に関する情報が格納されている。
【0047】
301に示される出力情報において、文字「あ」はバンド2内に描かれるべき文字なので、その中間データ305〜308はバンド2の中間データ管理テーブル303につながれている。そしてその構造は、中間データの種類を示す領域、描画位置を示す領域、その他描画に関する情報などを、それぞれの中間データの種類によって必要なだけ保持する。文字「あ」の中間データは、中間データの種類が文字であることを示す305、「あ」を描画する描画位置306、描画する文字が「あ」であることを示す文字コード307、例えば太文字や袋文字、文字色など文字の修飾方法に関する情報308からなっている。
【0048】
更に出力情報301に描かれる直線については、バンド2〜バンド3にまたがって描画されるため、中間データは2つ作成され、それぞれバンド2の中間データ管理テーブル303とバンド3の中間データ管理テーブル304にリンクされている。ここで309はデータの種類が直線であることを示し、310はその直線の描画開始位置を示し、311で描画の終了位置を示している。312は線種を示している。線種とは線の太さや破線等の線の修飾情報のことである。
【0049】
このように管理される中間データは、印刷出力時にはそれぞれのバンド毎にレンダリングされ、印刷出力される。
【0050】
図4は中間データ形式で格納された印刷データを実際に印刷出力するときのバンドに関する処理を説明した図である。
【0051】
今まで述べたようにRAM203内に確保されている中間データ格納領域401にバンド別に管理されて格納された中間データは、各バンド毎にレンダリング部205によってレンダリングされる。レンダリングによって得られた印刷イメージ(ビットマップデータ)はバンドラスタ1(402)とバンドラスタ2(403)のどちらかに格納され、印刷部207に送られて紙面上に印刷出力される。これらの処理は図16で後述する。
【0052】
〔バンディングタイミングの説明〕
印刷イメージを402と403のどちらのバンドラスタに格納するかは、図5を用いて説明する。
【0053】
図5は縦軸に時間経過をあらわし、レンダリング部205、出力部である印刷部207のそれぞれの処理内容、及びバンドラスタ1、バンドラスタ2の保持している出力イメージについての時間的変化を示したタイムチャートである。
【0054】
以下、図を時間軸に沿って説明する。
【0055】
まず時間t0〜t1でレンダリング部は、用紙の最初に印刷出力される最上部であるバンド1のレンダリングを行ない(5.1)、その結果得られた出力イメージをバンドラスタ1へと格納する(5.8)。次にt1で静電ドラム1006の回転をスタートさせる(以後印刷出力開始と表現する)。
【0056】
時間t1以降では、レンダリング処理と印刷出力処理を並列に行なう。ここで各バンド面積が一定で、かつ静電ドラム1006の回転速度も一定なことより、各バンドの印刷出力時間(時間t2-t1、時間t3-t2、...)は一定であり、それは静電ドラム1006の回転速度によって決まる。
【0057】
時間t1〜t2では、既にバンドラスタ1へ格納されているバンド1の印刷イメージを印刷部が印刷出力する処理(5.15)と、レンダリング部が中間データ格納領域に格納されているバンド2の中間データをレンダリングしバンドラスタ2へ印刷イメージを格納する処理(5.12)を並列で行なう。同様に時間t2〜t3ではバンド2が印刷出力され(5.16)、バンド3がバンドラスタ1へ出力イメージ展開される(5.9)。以後それらを繰り返し、最終的に時間t7〜t8でバンド7の印刷出力を行ない(5.21)、1ページ分の印刷を完了する。
【0058】
以上の方式によりバンドラスタの領域が最低2バンドあればよく、1ページ分の出力イメージを格納するのに必要なメモリサイズよりはるかに少ないメモリで印刷出力処理を行なうことができる。なおバンドラスタは2つに限るわけではなく、3つ以上であっても良いことは言うまでもない。バンドラスタの数が多いほどオーバーランを回避するための時間が多くなり、それだけ複雑な描画が可能となる効果がある。
【0059】
ここで先に述べたように各バンドの印刷出力時間は静電ドラム1006の回転速度に依存して一定だが、各バンドのレンダリングに要する時間はその中間データにより変化する。そのためあるバンドの中間データが非常にレンダリングに時間がかかるタイプのものであった場合、バンドのレンダリング時間が印刷出力時間より大きくなってしまい、プリントオーバーランしてしまう。
【0060】
そこで本発明では、次のようにその障害を回避する。
【0061】
〔オーバーラン回避処理についての説明〕
図6はプリントオーバーランを回避するための処理について説明した図である。図6ではすでに説明したものは同じ番号が振られている。ここでは例としてバンド4のレンダリング時間がバンド出力処理時間を越えているケースを考える。
【0062】
Aは中間データを1ページ分中間データ格納領域に格納し終ったあとのメモリマップを示している。この時点でプリントオーバーランするバンドを予測し、そのバンド数分だけ一時的なバンドラスタを確保する。今回の例では4バンド目だけがオーバーランすることが予測される場合について考え、1つの一時的バンドラスタ601を確保する。オーバーランするバンドの予測方法については、後で図10と図11を用いて詳細に説明する。また、これらの処理手順については図14でフローチャートを用いて説明する。
【0063】
オーバーランすると予測されるバンドがある場合は、図6のBのように、レンダリングをバンドラスタ1(402)、バンドラスタ2(403)、一時的バンドラスタ601に対して適切に行ない、印刷出力もそれら3つのバンドラスタから行なうことによりプリントオーバーランを回避する。これらの処理手順は図16で後述する。
【0064】
それぞれのバンドのレンダリング、印刷出力タイミングとバンドラスタの使われ方については、次図を用いて説明する。
【0065】
図7はプリントオーバーランを回避するための処理における、一時的なバンドラスタを用いたレンダリング、印刷出力のタイミングについて説明したタイムチャートである。この処理では図5で説明したタイミングとは異なり、印刷出力開始前に2つのバンドについて予めレンダリングを行なう。
【0066】
まず時間t0〜t1をでプリントオーバーランすると予測されたバンド4の中間コードをレンダリングし(7.1)、その結果得られる出力イメージを一時的バンドラスタへと格納する(7.14)。
【0067】
次に通常と同じく時間t1〜t2で最初に印刷出力されるバンドであるバンド1についてレンダリングを行ない(7.2)、出力イメージをバンドラスタ1へ格納する(7.8)。そして時間t2で印刷出力を開始する。時間t2以降は先に図5で述べたタイミングと同様に各バンドのレンダリングと印刷出力を並列に処理していく。
【0068】
そして図5ではバンド4をレンダリングしていた時間t4〜t5ではレンダリングを行なわず、バンド4を印刷出力する時間t5〜t6では、既に一時的バンドラスタにレンダリングしてあるバンド4の出力イメージを印刷出力する(7.18)。
【0069】
このように一時的なバンドラスタを用意し、レンダリングタイミングを変えることでプリントオーバーランを回避することができる。
【0070】
しかし、ここでプリントオーバーランするバンド数が多い場合、例えば全バンドがオーバーランすると予測された場合は、結局フルペイント方式と同等に1ページ分レンダリングできるだけの多量のメモリが必要となる。また強制オーバーラン回避フラグ210の状態によっては、強制的に全バンドがオーバーラン回避処理されるが、この場合も多量のメモリが必要である。これでは印刷装置が高価格になってしまう。
【0071】
このような場合を本発明では次に述べる方法で回避する。
【0072】
〔プレレンダリング圧縮処理の説明〕
図8は、一時的なバンドラスタの容量を低く押さえる処理を示す図である。なお前に説明したものは同じ番号をふってある。
【0073】
図のAでは印刷出力を開始する前に行なう処理について示してある。一時的なバンドラスタを確保できない場合にはまず、プリントオーバーランすると予測されたバンドをバンドラスタ402にレンダリングする。そして得られた出力イメージを圧縮/伸長部801の圧縮機能を使ってイメージ圧縮し、圧縮データ802としてRAM203へと格納する(以後バンド圧縮処理とする)。
【0074】
圧縮データ802の大きさは通常のバンドラスタより圧縮した分小さいので、RAM203の容量は低く押さえられる。
【0075】
そして印刷出力時には図のBのように、通常のバンドは2つのバンドラスタを使ってレンダリング、印刷出力し、圧縮データとして格納されたバンドについては圧縮伸長部の伸長機能を使って伸長しながら印刷出力する。
【0076】
これらの処理手順は図15、図16でフローチャートを用いて後で説明する。
【0077】
〔プレレンダリング圧縮タイミングの説明〕
図8で説明した処理方式に基づいてレンダリング、印刷出力を行なうタイミングを、図9のタイムチャートを用いて説明する。この図でも例として4バンド目(バンド4)がプリントオーバーランすると予測されたとする。
【0078】
まず印刷出力を開始する前に時間t0〜t2の間にプリントオーバーランするバンド4をバンドラスタ1へレンダリングし(9.8)、得られた出力イメージを圧縮/伸長部の圧縮機能を用いて圧縮し(9.17)、圧縮データをとしてRAM203へ格納する(9.16)。以降図5で説明したタイミングと同様に、時間t3〜t4で先頭のバンド1をレンダリングし(9.9)、印刷出力を開始する。
【0079】
プリントオーバーランすると予測されたバンド以外のバンドはレンダリング、印刷出力を並列して行なうが、オーバーランすると予測されたバンド4については圧縮データを伸長してバンドラスタ2へと格納する(9.18)。
【0080】
しかしここでバンドの伸長処理時間(時間t6〜t7)はバンドの印刷出力処理時間より短くなければ、伸長処理によりプリントオーバーランしてしまう。ここで圧縮/伸長部は、その伸長処理時間によりプリントオーバーランしないスピードを持った方式を選択しなければならない。一般的に伸長スピードはレンダリングスピードに比べて予測しやすいものであるので、伸長スピードがオーバーランしないくらい速い圧縮方式を使うか、場合によっては伸長処理をハードウエアを使うなどして高速化する必要がある。
【0081】
〔全体処理手順の説明〕
図10は本発明の一実施例を示すプリンタ制御システムの、1ページ分の印刷データを受信してから印刷出力するまでの手順を示したフローチャートである。
【0082】
ステップS1001において、ホストコンピュータ2000より転送され入力部201で受信された印刷データを、中間データ作成部202により中間データに変換し、RAM203内に格納する。中間データの形式は、例えばレンダリング部205で処理しやすい形式であったり、中間データのサイズが小さくなるような形式であったり、中間データの処理が速くなるような形式であったりと、内部処理の都合の良い形式であって良い。更に、印刷データと共にホストコンピュータ2000から送信されてくる強制オーバーラン回避コマンドに応じて、強制オーバーラン回避フラグ210を更新する。なお、この強制オーバーラン回避コマンドはページ単位で存在しており、ページ単位で強制オーバーラン回避フラグ210を更新する。
【0083】
次にステップS1002でプリントオーバーランを避ける処理のための計算を行なう。ステップS1002ではステップS1001で格納した中間データのレンダリング処理にかかる時間を計算し、それをバンド毎に集計することにより、バンド単位でのレンダリング時間を測定する。レンダリング時間計算手順については、図11で詳細に説明する。
【0084】
次にステップS1003で、印刷データを1ページ分処理し終ったかどうかを判断し、まだページが終了していない場合は次の印刷データについてステップS1001から処理を繰り返す。1ページ分の中間データを格納し終わったら、ステップS1004でプリントオーバーラン回避処理を行なう。
【0085】
プリントオーバーラン回避処理は、ステップS1002で計算したバンド毎のレンダリング時間がしきい値を越えた場合、そのバンドを印刷出力前にレンダリングすること(本実施例ではプリレンダリング処理という)により行なう。ここでしきい値は、印刷処理における紙搬送速度とバンドのサイズより、以下の式から求める。
【0086】
しきい値 = 用紙搬送時間 × バンド高さ ÷ 用紙紙高さ − オーバーヘッド
【0087】
ここで、それぞれの用語の説明は以下の通りである。
【0088】
用紙搬送時間 … 印刷エンジンの特性により決まる1ページの用紙の搬送にかかる時間
用紙高さ … 印刷用紙の用紙搬送方向の長さ
バンド高さ … バンドの用紙搬送方向の長さ
オーバーヘッド … 1つのバンドのレンダリング処理にかかる、レンダリング時間以外の要素
【0089】
本実施例ではこのような計算でしきい値を求めるが、例えばしきい値は
しきい値=用紙搬送時間×バンド高さ÷用紙紙高さ−オーバーヘッド+(前のバンドのしきい値−前のバンドのレンダリング時間)
としてもよい。ここで前のバンドがプリントオーバーラン対策している場合は、前のバンドのレンダリング時間は0であるということができる。
【0090】
またしきい値を求める別の方法として、しきい値を直前のレンダリング終了時点からそのバンドのレンダリングを開始しなければならない時点までの時間としてもよい。この場合も直前のレンダリング終了時点とは、処理しているバンド以前の、最後にプリントオーバーラン処理していないバンドのレンダリングが終った時点のことである。
【0091】
ステップS1004ではバンド毎のレンダリング時間がしきい値を越えた場合、そのバンドをレンダリングして得られるビットマップを保管するための一時的なラスタメモリをRAM203に確保する。
【0092】
これらのラスタメモリが確保できた場合、印刷出力前にプリントオーバーランすると予測される全てのバンドの中間データをそれぞれの一時的なラスタメモリにレンダリングして格納することによって、プリントオーバーランせずに印刷できる確率を非常に低く押さえることができるようになる。このプリントオーバーラン対策処理は、図14で詳細に説明する。
【0093】
そしてステップS1004の処理においてRAM203内に全てのプリントオーバーラン対策のためのラスタメモリを確保するだけ容量の空き領域があるかステップS1005で判断する。つまりプリレンダリング処理が必要なすべてのバンドに対してラスタメモリが確保できるかをRAM203の空きアドレスを参照して判断するのである。ステップS1005でプリントオーバーラン対策のラスタメモリが確保できないと判断された場合、ステップS1006において、プリントオーバーランするバンドのレンダリングを行ない、得られたビットマップイメージを圧縮し、圧縮データ形式でRAM203内に保管する。この処理は、図15で後述する。
【0094】
ステップS1006でバンド圧縮処理を終えたら、ステップS1007で、もう一度メモリが不足しているかを判断する。もしメモリが不足していると判断された場合は、ステップS1009でプリントオーバーランする全てのバンドについてレンダリングした後、実際に紙面に印刷出力する。この印刷出力処理手順は図16で説明する。
【0095】
ステップS1005で、ラスタメモリを確保できると判断された場合は、ステップS1008に処理を進め、ホストコンピュータ2000から入力された印刷データの全ページがすべて中間データに変換されたかを判断する。まだ全ページが終了していない場合は次のページの印刷データについてステップS1001から処理を繰り返す。この時、強制オーバーラン回避フラグは前述したようにページ単位で更新される。印刷データの全ページ分の中間データを格納し終わったら、ステップS1009で印刷出力の処理(図16)を行なう。
【0096】
ここで、既に述べたように圧縮データの伸長時間は本実施例では紙搬送速度より十分に高速であるため、圧縮されたバンドがプリントオーバーランを起こすことはない。
【0097】
〔レンダリング時間計算の説明〕
図11は、図10のステップS1002で行なう、バンド単位のレンダリング時間を計算する方法について述べたフローチャートである。ここで求めるレンダリング時間は、図10のステップS1004のオーバーラン対策処理でしきい値と比べるのに使われる。
【0098】
まずステップS1101において、中間データの種類によってレンダリング時間計算方法を選択するために、CPU208は入力された中間データを解析し、中間データの種類を識別する。
【0099】
例えば中間データの種類が、固定的にレンダリング時間が決まっているようなタイプのものである場合は、例えば既にテーブルに保管しておいた中間データに対するレンダリング時間の対応テーブルからレンダリング時間を求めるなどの処理を行なうステップS1102に分岐する。ステップS1102では、レンダリング時間対応テーブル(図12)よりレンダリング時間を検索する。
【0100】
またステップS1101の識別判断で、例えばイメージビットマップのように、そのレンダリング処理は単純にメモリ内容のコピーであるようなタイプの中間データの場合、計算するレンダリング時間は中間データのサイズより求める処理であるステップS1103へと分岐する。ステップS1103では、中間データのサイズによりCPU208はレンダリング時間を算出する。
【0101】
その他例えば、実際にレンダリングしてみないとレンダリング時間の分らないようなタイプの中間データの場合、時間測定のために実際にレンダリング処理を実行するような処理であるステップS1104に分岐し、実際にレンダリング時間を求める。このようなタイプの処理については図13で説明する。
【0102】
これらの分岐、及び処理は、ここに示した以外の他のタイプの時間算出アルゴリズムを用いても良いことは言うまでもない。また、レンダリング時間とは、何分何秒というような具体的な時間であってもよいが、ここではタイムファクタやクロック数であってもよい。タイムファクタとは、描画単位を決めておき、その描画単位の何倍かを示すものである。描画単位には、例えば1ピクセルのドットをコピーするのに必要な単位であったり、12pのフォントをROM204からコピーするのに必要な時間単位である。クロック数とは、例えばアウトラインフォントで一本線を描画するのに必要なCPU208の演算時間(クロック)である。本実施例でいうレンダリング時間とは、このように時間を示す情報のことである。
【0103】
ステップS1102〜S1104のような各種中間データのタイプに応じたレンダリング時間算出処理を行なった後、ステップS1105において算出した時間をバンド全体のレンダリング時間に加算し、処理を終える。それぞれのバンドのレンダリング時間は、RAM203にバンドレンダリング時間として格納されている。
【0104】
〔レンダリング時間計算 - 固定テーブル方式の説明〕
図12は図11のS1102の固定的なレンダリング時間を求める処理の例を説明した図である。
【0105】
事前にレンダリングが固定的に分っている中間データについては、図12のように中間データの種類とそれに対応するレンダリング時間の対応テーブルからレンダリング時間を検索する。事前にレンダリング時間が固定的にわかっている中間データとは、例えばビットマップフォントである。ビットマップフォントはラスタメモリにコピーするだけだからである。また、アウトラインフォントも中間データを作る際にビットマップに展開しキャッシュしておくので同様である。
【0106】
〔レンダリング時間計算 - 実測方式の説明〕
図13は図11のステップS1104のレンダリング時間の実測処理の例について説明したフローチャートである。
【0107】
ステップS1301で印刷装置内部タイマーをスタートし、ステップS1302で実際のレンダリングと同様に測定したい中間データをレンダリング部205がレンダリングする。そしてレンダリングが終り次第ステップS1303でタイマーをストップし、その間かかった時間をレンダリング時間とする。
【0108】
〔オーバーラン対策の説明〕
図14は、図10のステップS1004で行なうオーバーラン対策処理を説明したフローチャートである。
【0109】
処理はまずステップS1401で強制オーバーラン回避フラグ210を参照し、もし強制回避するモードであった場合はステップS1403で処理中のページのすべてのバンドのカウントアップを行なう。つまり1ページ分のバンド数を求める。本実施例では図3に示したように7バンド分である。
【0110】
強制回避しないモードであった場合はステップS1402でバンド全体のレンダリング時間と図10(ステップS1002)で説明したしきい値を比較し、もしレンダリング時間がしきい値を越えるかを判断する。もしレンダリング時間がしきい値を超える、つまりオーバーランが発生すると判断された場合、ステップS1403でプリントオーバーランするバンドのカウントアップを行なう。
【0111】
そしてステップS1404でページの全バンドについて処理を行なうまで、ステップS1401からの手順を繰り返す。
【0112】
1ページ分のカウントアップ処理を終えたらステップS1405において、現在のRAM203の空き領域にステップS1403でカウントアップされたバンドバンド数分の一時的なバンドラスタを確保できるかどうかを調べ、その結果を処理結果として確保できるのであれば処理を終了し、確保できないのであればステップS1406でメモリ不足として後述の処理をするためにオーバーラン対策の図14の処理は終わる。
【0113】
図14で説明したオーバーラン対策の処理プログラムに基づいてCPU208がメモリ不足と判断した場合、次に図15で説明するバンド圧縮処理を行なう。
【0114】
〔バンド圧縮処理の説明〕
図15は、図10のステップS1006で説明した、プリントオーバーランバンド用の一時的なバンドラスタ領域がRAM203の空き領域不足により確保できなかった場合の、バンドの中間データを圧縮データに変換するバンド圧縮処理を説明したフローチャートである。
【0115】
まずステップS1501においてオーバーランするバンドの1つをRAM203のバンドラスタ1(バンドラスタ2でもよい)にレンダリングする。そしてステップS1502で得られたビットマップイメージを圧縮/伸長部801の圧縮機能を使って圧縮データに変換する。そしてステップS1503で全てのオーバーランするバンドについて同様の処理を行なうまで、ステップS1501から処理を繰り返す。
【0116】
〔印刷出力処理の説明〕
図16は、図10のステップS1009で示された印刷出力処理を説明したフローチャートである。
【0117】
まず図14で説明したプリントオーバーラン対策によって確保された、プリントオーバーランバンド用の一時的なバンドラスタに対して処理を行なう。
【0118】
ステップS1601で、プリントオーバーランバンド用の一時的バンドラスタがあるかどうかを調べ、確保されている場合は、ステップS1602で対応するすべてのバンドの中間データを一時的バンドラスタ601へとレンダリングする。この時点ではまだ印刷エンジンはスタートされていないため、これらのレンダリング処理に時間がかかっても、プリントオーバーラン現象は起きない。このステップで、オーバーランが発生すると予測されたすべてのバンドと、強制オーバーラン回避の処理が行われるページのすべてのバンドの中間データがレンダリングされる。すべての中間データのレンダリングが終了するとステップS1603に処理を進める。
【0119】
次にステップS1603で実際に紙面に印刷出力するために印刷エンジンをスタートさせる。その後ステップS1604において、CPU208はそのバンドの印刷データの保持形態を調べる。
【0120】
印刷データが中間データであった場合はステップS1605へと分岐し、ステップS1605でレンダリング部205は通常のバンドラスタ領域(バンドラスタ1もしくは2)に中間データをレンダリングする。
【0121】
このレンダリングでは、既に説明したように事前にプリントオーバーランと予測されるバンドをはじいているので、プリントオーバーラン現象は発生しないはずである。その後、ステップS1606で得られた印刷イメージを紙面へと印刷出力する。
【0122】
ステップS1604で、もしバンドの印刷データがステップS1602で一時的バンドラスタ601へ中間データが既にレンダリングされていると判断された場合、それらはすぐに印刷出力できる印刷イメージなので、ステップS1606で一時的バンドラスタ601から印刷イメージを印刷出力する。
【0123】
もしバンドの印刷データがバンド圧縮処理によって作成された圧縮データである場合、ステップS1607で圧縮データ802を圧縮/伸長部801が伸長しながら印刷出力を行なう。この場合既に述べたように、本実施例では伸長処理にかかる時間はエンジンの出力スピードより十分速いとしてあるので、プリントオーバーランが起きることは決してない。
【0124】
最後にステップS1608において、全バンドを印刷出力処理したかどうかを判断し、まだの場合はステップS1604より処理を繰り返す。この判断はオーバーラン対策(図10のステップS1004)が行われたすべてのページの全バンドの印刷出力が行われる。
【0125】
以上までが本発明の実施例にもとづく印刷装置の、オーバーラン回避及び強制オーバーラン回避の処理の説明である。
【0126】
以上の説明したように本願発明の印刷制御装置は、以下の構成からなる。即ち、外部装置(ホストコンピュータ2000)より入力された印刷データをバンド単位で管理する管理手段(中間データ作成部202)と、印刷処理モード(強制オーバーラン回避フラグ210によるモード)を設定する設定手段(ホストコンピュータより入力された命令もしくは操作パネルからの指示によりCPU208が強制オーバーラン回避フラグ210を更新する)と、前記印刷データに基づいてバンド単位の出力データを描画生成する描画時間を導出する導出手段(図11処理プログラムにより制御するCPU208の機能)と、バンドの印刷データを格納する一次メモリ(一時的バンドラスタ601)を記憶手段(RAM203)に確保する確保手段(ステップS1405のプログラムによるCPU208の制御)と、前記設定手段により設定された印刷処理モードに基づいて、前記印刷データのすべてのバンドを格納する一次メモリを前記確保手段で確保するか、前記導出手段により導出された前記描画時間が所定値(しきい値)を超えるバンドを格納する一次メモリを前記確保手段で確保するかを制御する制御手段(図14のの処理プログラムに基づくCPU208の制御)とを有することものである。
【0127】
また、出力データを格納する複数のバンド出力メモリ(バンドラスタ1およびバンドラスタ2)と、前記印刷データに基づいて出力データを前記バンド出力メモリもしくは前記一次メモリに描画生成する描画手段(レンダリング部205)と、前記出力データを印刷する印刷手段(印刷部207)とを更に有し、前記印刷手段は、バンド順序で印刷開始前に前記一次メモリに格納されている出力データを読み出し、前記一次メモリにバンド順序に対応するバンドの出力データがない場合は印刷開始後に前記描画手段により前記バンド出力メモリに描画生成された出力データを読み出して印刷する(図16)ことを特徴とするものである。
【0128】
また、前記導出手段は、印刷データに基づいて生成された中間データから出力データを描画生成するための描画時間を、中間データの種類に応じて導出する(図11)ことを特徴とするものである。
【0129】
また、出力データを圧縮する圧縮手段(圧縮/伸長部206)と、前記圧縮手段により圧縮された出力データを伸長する伸長手段(圧縮/伸長部206)とを更に有し、前記導出手段により導出された前記描画時間が所定時間を超えるバンドを格納する一次メモリを前記確保手段で前記記憶手段に確保できない場合に、該バンドを前記描画手段により描画生成された出力データを前記圧縮手段により圧縮して前記一次メモリに格納する(図15)ことを特徴とするものである。
【0130】
また、前記圧縮手段により圧縮された出力データを格納する前記一次メモリに確保できない場合に、前記印刷手段により出力データの印刷を始める(図10のステップS1007)ことを特徴とするものである。
【0131】
また、前記制御手段は、前記記憶手段に一次メモリを確保できなくなるか、印刷データに対する一次メモリの確保が終わるまで、順次印刷ページを進めて制御する(図10のステップS1007とS1008)ことを特徴とするものである。
【0132】
以上のように本発明を第一実施例の印刷装置及び印刷制御方法及びプログラム記憶媒体に適応すると、少ないメモリ容量で印刷できるバンディング処理においてプリントオーバーランの起きる確率を非常に低く押さえることができるという効果がある。
【0133】
また強制オーバーラン回避フラグにより、確実にオーバーランを防ぐ処理が、別処理であるフルペイント処理を行わずにバンディング処理のみで実現できるため、プログラムROMを小さくすることができ、装置価格を下げることができるという効果がある。
【0134】
〔第二実施例〕
図17(第二実施例のブロック図)の説明
図17は本発明の他の実施例を示すプリンタ制御システムの構成を説明するブロック図である。ここでも、レーザビームプリンタ(図1)を例にして説明する。実施例1で説明した図2との違いは、1701のオーバーラン回避率だけであるので、他の説明は省略する。なお、図2と同じものには同番号をふってある。
【0135】
オーバーラン回避率1701は、バンド毎にオーバーランするかどうかを計算する際に使われる係数を格納してあるブロックであり、このフラグはホストコンピュータからの命令や印刷装置本体1000のスイッチやパネルメニューで変更される。それ以外のブロックは実施例1の図2で説明したものと同様であるので、説明を省略する。
【0136】
図18(実施例2のオーバーラン対策)の説明
本第二実施例の印刷装置では、レンダリング時間計算では予測できなかったオーバーランを回避する処理を、第一実施例で示したように全バンドに強制的にオーバーラン回避処理を行うかわりに、オーバーランを起こしそうなバンドがより回避処理を行いやすくすることで解決している。
【0137】
図18は、次に本発明にもとづく第二実施例の特徴であるオーバーラン回避率を使う実際の処理手順を説明するフローチャートである。
【0138】
本第二実施例のオーバーラン対策処理は、各バンドについてオーバーラン回避処理をするかどうかを判断し、処理を行うと判断されたバンドについて一時的なバンドラスタを確保するという全体の流れは第一実施例と同じである。
【0139】
第一実施例との違いはステップS1801で、ここで各バンドについて予測されたレンダリング時間にオーバーラン回避率を掛け合わせる。そしてその結果をステップS1802でしきい値と比較してオーバーラン回避処理を行うかどうかを判断する。
【0140】
ここでオーバーラン回避率は通常1であるが、オーバーランしてしまった時やオーバーランしやすそうな印刷処理を行う時は、ユーザが行う操作パネルからの指定やホストコンピュータ2000にあるプリンタドライバからの指定によって1より大きな値に変更される。
【0141】
こうすることにより、レンダリング時間が計算で求められたものより長くかかると予想されることとなり、オーバーラン回避率が1の時にしきい値ぎりぎりで回避されなかったバンドに対して、オーバーラン回避処理が行われることになる。
【0142】
以上説明したように本第二実施例の印刷制御装置は、以下の構成からなる。即ち、外部装置より入力された印刷データをバンド単位で管理する管理手段と、印刷処理モードを設定する設定手段と、前記印刷データに基づいてバンド単位の出力データを描画生成する描画時間を導出する導出手段と、バンドの印刷データを格納する一次メモリを記憶手段に確保する確保手段と、前記設定手段により設定された印刷処理モードに基づいて、前記印刷データのすべてのバンドを格納する一次メモリを前記確保手段で確保するか、前記導出手段により導出された前記描画時間が所定値を超えるバンドを格納する一次メモリを前記確保手段で確保するかを制御する制御手段と、前記所定値を入力された命令に基づいて変更する変更手段(オーバーラン回避率1701によりCPU208が制御する)とを有しているものである。
【0143】
以上のように本発明を第二実施例の印刷装置及び印刷制御方法及びプログラム記憶媒体に適応すると、少ないメモリ容量で印刷できるバンディング処理においてプリントオーバーランの起きる確率を非常に低く押さえることができるという効果がある。
【0144】
またオーバーラン回避率を調整することにより、現実的にはオーバーランを完全に防ぐことが可能であり、かつフルペイント処理のように必要以上に多くのメモリを使うことがないため、装置価格を下げることができるという効果がある。
【0145】
なお、上記第一、第二実施例で示された処理は、主としてCPU208が処理するものであり、そのプログラムは外部のメモリカードにより供給されるという形態でも実現できる。すなわち、前述した各実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し、実行することによっても、達成されることは言うまでもない。
【0146】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0147】
プログラムコードを供給するための記憶媒体としては、例えば、プロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリカード、ROM、DVD等をもちいることができる。
【0148】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0149】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0150】
また、実施形態ではレーザープリンタを例にして説明したが、これに限るものではなく、いかなる方式のプリンタにも適用できる。
【0151】
このようにプログラムを格納した記憶媒体で本発明を実現するには以下のようなプログラム工程が必要となる。即ち、外部より入力された印刷データをバンド単位で管理させる管理工程と、印刷処理モードを設定させる設定工程と、前記印刷データに基づいてバンド単位の出力データを描画生成する描画時間を導出させる導出工程と、バンドの印刷データを格納する一次メモリを記憶手段に確保する確保工程と、前記設定工程で設定された印刷処理モードに基づいて、前記印刷データのすべてのバンドを格納する一次メモリを前記確保工程で確保するか、前記導出工程で導出された前記描画時間が所定値を超えるバンドを格納する一次メモリを前記確保工程で確保するかを制御させる制御工程とを含むものである。
【0152】
以上の説明から明らかなように本発明による印刷装置及び印刷制御方法及びプログラム記憶媒体は、少ないメモリ容量で印刷できるバンディング処理においてプリントオーバーランの起きる確率を非常に低く押さえることができるという効果がある。
【0153】
また、本発明の印刷装置及び印刷制御方法及びプログラム記憶媒体は、強制オーバーラン回避フラグにより、確実にオーバーランを防ぐ処理が、別処理であるフルペイント処理を行わずにバンディング処理のみで実現できるため、プログラムROMを小さくすることができ、装置価格を下げることができるという効果がある。
【0154】
また、本発明の印刷装置及び印刷制御方法及びプログラム記憶媒体は、オーバーラン回避率を調整することにより、現実的にはオーバーランを完全に防ぐことが可能であり、かつフルペイント処理のように必要以上に多くのメモリを使うことがないため、装置価格を下げることができるという効果がある。
【0155】
【発明の効果】
以上の説明から明らかなように本発明による印刷装置及び印刷制御方法及びプログラム記憶媒体は、少ないメモリ容量で印刷できるバンディング処理においてプリントオーバーランの起きる確率を非常に低く押さえることができるという効果がある。
【0156】
また、本発明の印刷装置及び印刷制御方法及びプログラム記憶媒体は、強制オーバーラン回避フラグにより、確実にオーバーランを防ぐ処理が、別処理であるフルペイント処理を行わずにバンディング処理のみで実現できるため、プログラムROMを小さくすることができ、装置価格を下げることができるという効果がある。
【0157】
また、本発明の印刷装置及び印刷制御方法及びプログラム記憶媒体は、オーバーラン回避率を調整することにより、現実的にはオーバーランを完全に防ぐことが可能であり、かつフルペイント処理のように必要以上に多くのメモリを使うことがないため、装置価格を下げることができるという効果がある。
【図面の簡単な説明】
【図1】本発明を適応可能な出力装置の構成を示す断面図である。
【図2】本発明の実施例におけるプリンタ制御システムの構成を説明するブロック図である。
【図3】本発明の実施例における中間データの構造及び管理形式について説明した図である。
【図4】本発明の実施例における中間データ形式で格納された印刷データを実際に印刷出力するときのバンドに関する処理を説明した図である。
【図5】本発明の実施例における印刷出力処理の処理タイミングを説明したタイムチャートである。
【図6】本発明の実施例におけるプリントオーバーランを回避するための処理について説明した図である。
【図7】本発明の実施例におけるプリントオーバーランを回避するための処理における、一時的なバンドラスタを用いたレンダリング、印刷出力のタイミングについて説明したタイムチャートである。
【図8】本発明の実施例におけるバンド圧縮を説明する図である。
【図9】本発明の実施例におけるバンド圧縮処理に基づいてレンダリング、印刷出力を行なうタイミングを説明するタイムチャートである。
【図10】本発明の実施例における1ページ印刷手順を示したフローチャートである。
【図11】本発明の実施例におけるレンダリング時間計算処理手順を示したフローチャートである。
【図12】本発明の実施例におけるレンダリング時間計算の固定テーブル方式を説明する図である。
【図13】本発明の実施例におけるレンダリング時間計算の実測方式の処理手順を示したフローチャートである。
【図14】本発明の実施例におけるプリントオーバーラン対策処理手順を示したフローチャートである。
【図15】本発明の実施例におけるバンド圧縮処理手順を示したフローチャートである。
【図16】本発明の実施例における印刷出力手順を示したフローチャートである。
【図17】本発明の実施例2におけるプリンタ制御システムの構成を説明するブロック図である。
【図18】本発明の実施例2におけるプリントオーバーラン対策処理手順を示したフローチャートである。
Claims (27)
- 外部装置より入力された印刷データをバンド単位で管理する管理手段と、
強制的にオーバーランを回避するモードを設定する設定手段と、
前記印刷データに基づいてバンド単位の出力データを描画生成する描画時間を導出する導出手段と、
前記印刷データからバンド単位に前記出力データを描画する描画手段と、
前記設定手段によって強制的にオーバーランを回避するモードが設定されているか否かを判定する判定手段と、
前記判定手段により強制的にオーバーランを回避するモードが設定されたと判定された場合、前記印刷データに基づくすべてのバンドの出力データを格納する一次メモリを確保し、前記判定手段により強制的にオーバーランを回避するモードが設定されていないと判定された場合、前記導出手段により導出された前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを確保すべく制御する確保制御手段と、
前記描画手段によって描画されたバンド単位の出力データを圧縮する圧縮手段と、
前記判定手段により前記強制的にオーバーランを回避するモードが設定されていると判定され、かつ、前記印刷データの全てのバンドの出力データを格納する一次メモリを確保できない場合、前記描画手段を用いてバンド単位に描画することで得られる出力データを圧縮する処理を全バンドについて前記圧縮手段で実行し、前記判定手段により前記強制的にオーバーランを回避するモードが設定されていないと判定され、かつ、前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを確保できない場合、前記描画手段を用いてバンド単位に描画することで得られる出力データを圧縮する処理を前記描画時間が所定時間を超えるバンドについて前記圧縮手段で実行する制御手段と、
前記制御手段による前記圧縮手段の制御によって圧縮された出力データを格納する格納手段を有することを特徴とする印刷制御装置。 - 前記出力データを印刷する印刷手段を更に有し、
前記印刷手段は、バンド順序で印刷開始前に前記一次メモリに格納されている出力データを読み出し、前記一次メモリにバンド順序に対応するバンドの出力データがない場合は印刷開始後に前記描画手段により前記バンド出力メモリに描画生成された出力データを読み出して印刷することを特徴とする請求項1記載の印刷制御装置。 - 前記設定手段は、前記外部装置より入力された命令により強制的にオーバーランを回避するモードを設定することを特徴とする請求項1または2に記載の印刷制御装置。
- 前記設定手段は、操作パネルを介して入力される指示に従って、強制的にオーバーランを回避するモードを設定することを特徴とする請求項1または2に記載の印刷制御装置。
- 前記導出手段は、印刷データに基づいて生成された中間データから出力データを描画生成するための描画時間を、中間データの種類に応じて導出することを特徴とする請求項1乃至4のいずれか1項に記載の印刷制御装置。
- 前記導出手段は、前記中間データの種類により、レンダリング時間対応テーブルの検索による導出、中間データのサイズによる導出、レンダリング時間を実測する導出のなかから導出方法を切り替えてレンダリング時間を導出することを特徴とする請求項5記載の印刷制御装置。
- 前記圧縮手段により圧縮された出力データを伸長する伸長手段を更に有し、
前記導出手段により導出された前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを前記確保制御手段で前記記憶手段に確保できない場合に、該バンドについて前記描画手段により描画生成された出力データを前記圧縮手段により圧縮して前記一次メモリに格納し、該バンドの印刷時に圧縮されたデータを伸長して出力することを特徴とする請求項1乃至6のいずれか1項に記載の印刷制御装置。 - 前記確保制御手段は、前記記憶手段に一次メモリを確保できなくなるか、印刷データに対する一次メモリの確保が終わるまで、順次印刷ページを進めて制御することを特徴とする請求項1乃至7のいずれか1項に記載の印刷制御装置。
- 前記所定値を入力された命令に基づいて変更する変更手段を更に有していることを特徴とする請求項1乃至8のいずれか1項に記載の印刷制御装置。
- 外部装置より入力された印刷データをバンド単位で管理する管理工程と、
強制的にオーバーランを回避するモードを設定する設定工程と、
前記印刷データに基づいてバンド単位の出力データを描画生成する描画時間を導出する導出工程と、
前記印刷データからバンド単位に前記出力データを描画する描画工程と、
前記設定工程によって強制的にオーバーランを回避するモードが設定されているか否かを判定する判定工程と、
前記判定工程により強制的にオーバーランを回避するモードが設定されたと判定された場合、前記印刷データに基づくすべてのバンドの出力データを格納する一次メモリを確保し、前記判定工程により強制的にオーバーランを回避するモードが設定されていないと判定された場合、前記導出工程により導出された前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを確保すべく制御する確保制御工程と、
前記描画工程によって描画されたバンド単位の出力データを圧縮する圧縮工程と、
前記判定工程により前記強制的にオーバーランを回避するモードが設定されていると判定され、かつ、前記印刷データの全てのバンドの出力データを格納する一次メモリを確保できない場合、前記描画工程を用いてバンド単位に描画することで得られる出力データを圧縮する処理を全バンドについて前記圧縮工程で実行し、前記判定工程により前記強制的にオーバーランを回避するモードが設定されていないと判定され、かつ、前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを確保できない場合、前記描画工程を用いてバンド単位に描画することで得られる出力データを圧縮する処理を前記描画時間が所定時間を超えるバンドについて前記圧縮工程で実行する制御工程と、
前記制御工程による前記圧縮工程の制御によって圧縮された出力データを格納する格納工程を有することを特徴とする印刷制御方法。 - 前記出力データを印刷する印刷工程を更に有し、
前記印刷工程は、バンド順序で印刷開始前に前記一次メモリに格納されている出力データを読み出し、前記一次メモリにバンド順序に対応するバンドの出力データがない場合は印刷開始後に前記描画工程により前記バンド出力メモリに描画生成された出力データを読み出して印刷することを特徴とする請求項10に記載の印刷制御方法。 - 前記設定工程は、前記外部装置より入力された命令により強制的にオーバーランを回避するモードを設定することを特徴とする請求項10または11に記載の印刷制御方法。
- 前記設定工程は、操作パネルを介して入力される指示に従って、強制的にオーバーランを回避するモードを設定することを特徴とする請求項10または11に記載の印刷制御方法。
- 前記導出工程は、印刷データに基づいて生成された中間データから出力データを描画生成するための描画時間を、中間データの種類に応じて導出することを特徴とする請求項10乃至13のいずれか1項に記載の印刷制御方法。
- 前記導出工程は、前記中間データの種類により、レンダリング時間対応テーブルの検索による導出、中間データのサイズによる導出、レンダリング時間を実測する導出のなかから導出方法を切り替えてレンダリング時間を導出することを特徴とする請求項14記載の印刷制御方法。
- 前記圧縮工程により圧縮された出力データを伸長する伸長工程を更に有し、
前記導出工程により導出された前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを前記確保制御工程で前記記憶手段に確保できない場合に、該バンドについて前記描画工程により描画生成された出力データを前記圧縮工程により圧縮して前記一次メモリに格納し、該バンドの印刷時に圧縮されたデータを伸長して出力することを特徴とする請求項10乃至15のいずれか1項に記載の印刷制御方法。 - 前記確保制御工程は、前記記憶手段に一次メモリを確保できなくなるか、印刷データに対する一次メモリの確保が終わるまで、順次印刷ページを進めて制御することを特徴とする請求項10乃至16のいずれか1項に記載の印刷制御方法。
- 前記所定値を入力された命令に基づいて変更する変更工程を更に有していることを特徴とする請求項10乃至17のいずれか1項に記載の印刷制御方法。
- 外部装置より入力された印刷データをバンド単位で管理する管理工程と、
強制的にオーバーランを回避するモードを設定する設定工程と、
前記印刷データに基づいてバンド単位の出力データを描画生成する描画時間を導出する導出工程と、
前記印刷データからバンド単位に前記出力データを描画する描画工程と、
前記設定工程によって強制的にオーバーランを回避するモードが設定されているか否かを判定する判定工程と、
前記判定工程により強制的にオーバーランを回避するモードが設定されたと判定された場合、前記印刷データに基づくすべてのバンドの出力データを格納する一次メモリを確保し、前記判定工程により強制的にオーバーランを回避するモードが設定されていないと判定された場合、前記導出工程により導出された前記描画時間が所定時間を越えるバンドの出力データを格納する一次メモリを確保すべく制御する確保制御工程と、
前記描画工程によって描画されたバンド単位の出力データを圧縮する圧縮工程と、
前記判定工程により前記強制的にオーバーランを回避するモードが設定されていると判定され、かつ、前記印刷データの全てのバンドの出力データを格納する一次メモリを確保できない場合、前記描画工程を用いてバンド単位に描画することで得られる出力データを圧縮する処理を全バンドについて前記圧縮工程で実行し、前記判定工程により前記強制的にオーバーランを回避するモードが設定されていないと判定され、かつ、前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを確保できない場合、前記描画工程を用いてバンド単位に描画することで得られる出力データを圧縮する処理を前記描画時間が所定時間を超えるバンドについて前記圧縮工程で実行する制御工程と、
前記制御工程による前記圧縮工程の制御によって圧縮された出力データを格納する格納工程を有することを特徴とするコンピュータ読み取り可能なプログラムが格納された記憶媒体。 - 前記出力データを印刷する印刷工程を更に有し、
前記印刷工程は、バンド順序で印刷開始前に前記一次メモリに格納されている出力データを読み出し、前記一次メモリにバンド順序に対応するバンドの出力データがない場合は印刷開始後に前記描画工程により前記バンド出力メモリに描画生成された出力データを読み出して印刷することを特徴とする請求項19に記載の記憶媒体。 - 前記設定工程は、前記外部装置より入力された命令により強制的にオーバーランを回避するモードを設定することを特徴とする請求項19または20に記載の記憶媒体。
- 前記設定工程は、操作パネルを介して入力される指示に従って、強制的にオーバーランを回避するモードを設定することを特徴とする請求項19または20に記載の記憶媒体。
- 前記導出工程は、印刷データに基づいて生成された中間データから出力データを描画生成するための描画時間を、中間データの種類に応じて導出することを特徴とする請求項19乃至22のいずれか1項に記載の記憶媒体。
- 前記導出工程は、前記中間データの種類により、レンダリング時間対応テーブルの検索による導出、中間データのサイズによる導出、レンダリング時間を実測する導出のなかから導出方法を切り替えてレンダリング時間を導出することを特徴とする請求項23記載の記憶媒体。
- 前記圧縮工程により圧縮された出力データを伸長する伸長工程を更に有し、
前記導出工程により導出された前記描画時間が所定時間を超えるバンドの出力データを格納する一次メモリを前記確保制御工程で前記記憶手段に確保できない場合に、該バンドについて前記描画工程により描画生成された出力データを前記圧縮工程により圧縮して前記一次メモリに格納し、該バンドの印刷時に圧縮されたデータを伸長して出力することを特徴とする請求項19乃至24のいずれか1項に記載の記憶媒体。 - 前記確保制御工程は、前記記憶手段に一次メモリを確保できなくなるか、印刷データに対する一次メモリの確保が終わるまで、順次印刷ページを進めて制御することを特徴とする請求項19乃至25のいずれか1項に記載の記憶媒体。
- 前記所定値を入力された命令に基づいて変更する変更工程を更に有していることを特徴とする請求項19乃至26のいずれか1項に記載の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05195398A JP3957859B2 (ja) | 1998-03-04 | 1998-03-04 | 印刷制御装置及び印刷制御方法及びプログラム記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05195398A JP3957859B2 (ja) | 1998-03-04 | 1998-03-04 | 印刷制御装置及び印刷制御方法及びプログラム記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11249833A JPH11249833A (ja) | 1999-09-17 |
JP3957859B2 true JP3957859B2 (ja) | 2007-08-15 |
Family
ID=12901249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05195398A Expired - Fee Related JP3957859B2 (ja) | 1998-03-04 | 1998-03-04 | 印刷制御装置及び印刷制御方法及びプログラム記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3957859B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010179546A (ja) * | 2009-02-05 | 2010-08-19 | Kyocera Mita Corp | 画像形成装置及び画像形成方法 |
-
1998
- 1998-03-04 JP JP05195398A patent/JP3957859B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010179546A (ja) * | 2009-02-05 | 2010-08-19 | Kyocera Mita Corp | 画像形成装置及び画像形成方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH11249833A (ja) | 1999-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3826038B2 (ja) | 印刷システム及びその印刷方法並びに印刷装置 | |
JP3862396B2 (ja) | 印刷装置及び画像処理方法 | |
US6304336B1 (en) | Output control device and image processing apparatus and method and storage medium | |
JPH10147018A (ja) | 印刷装置及びメモリ管理方式 | |
EP0938059B1 (en) | Form overlay printing | |
US6124943A (en) | Printing apparatus and method for managing print data in units of a band | |
JPH08224917A (ja) | 印刷装置及びデータ制御方法 | |
JP2000313145A (ja) | 印刷制御装置、印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP4343461B2 (ja) | 印刷装置及びその制御方法 | |
US6175426B1 (en) | Printing apparatus and print control method | |
JP3962606B2 (ja) | 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム | |
JP3466808B2 (ja) | 画像処理装置及び方法 | |
US6084687A (en) | Image processing system, drawing system, drawing method, medium, printer, and image display unit | |
JP3957859B2 (ja) | 印刷制御装置及び印刷制御方法及びプログラム記憶媒体 | |
EP0510932B1 (en) | Method and apparatus for printer control | |
JP2981400B2 (ja) | 印刷装置および印刷装置のデータ処理方法 | |
EP0856811B1 (en) | Printer control apparatus | |
JP2001146049A (ja) | プリンタシステム及びそれを用いた描画処理方法及び描画処理を行うプログラムを記録した記録媒体 | |
JPH07137355A (ja) | 画像処理装置 | |
JPH09309234A (ja) | 情報処理装置並びに印刷装置並びに印刷システム並びに情報処理装置のデータ処理方法並びに印刷装置のデータ処理方法およびコンピュータで読出し可能なプログラムを格納した記憶媒体 | |
JP2003039744A (ja) | 印刷装置及びその制御方法 | |
JPH1148535A (ja) | 情報処理システム、情報処理装置、ならびに、情報処理方法 | |
JP3517851B2 (ja) | プリンタ及びその印字データ展開方法 | |
JP2004326266A (ja) | 印刷制御方法、情報処理装置及び印刷装置 | |
JPH10157217A (ja) | 印刷処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060905 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061106 |
|
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: 20070508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070509 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100518 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110518 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120518 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120518 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130518 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140518 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |