JP3862396B2 - 印刷装置及び画像処理方法 - Google Patents
印刷装置及び画像処理方法 Download PDFInfo
- Publication number
- JP3862396B2 JP3862396B2 JP00262998A JP262998A JP3862396B2 JP 3862396 B2 JP3862396 B2 JP 3862396B2 JP 00262998 A JP00262998 A JP 00262998A JP 262998 A JP262998 A JP 262998A JP 3862396 B2 JP3862396 B2 JP 3862396B2
- Authority
- JP
- Japan
- Prior art keywords
- band
- rendering
- memory
- schedule
- parallel processing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1861—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
- G06K15/1863—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by rasterizing in sub-page segments
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
この発明は、中間データからビットマップデータを生成して印刷するレーザビームプリンタ等の印刷装置及び画像処理方法に関するものである。
【0002】
【従来の技術】
従来より、ホストコンピュータなどから印刷内容や印刷形式に関するデータ(印刷データ)を受信して、それを元に実際に出力するビットマップを形成(以後レンダリングとする)し、そのビットマップを例えば紙面上に印刷出力(以後シッピング)するタイプの印刷装置が広く使われている。
【0003】
このようなタイプの印刷装置でレンダリングとシッピングを同時に行なった場合、複雑な印刷データや、多量の印刷データを処理する場合、レンダリング処理にかかる時間がシッピング処理に行なうビットマップデータ転送時間より長くかかってしまい、正常に印刷出力できないという欠点があった。(以後、この現象をプリントオーバーランと称する)。
【0004】
また、このプリントオーバーラン現象を回避するために、1ページ分の出力ビットマップをレンダリングしてからシッピング処理を行なうタイプの印刷装置もあったが、この場合必ず1ページ分のビットマップを保持する記憶装置が必要となり、出力解像度が高い印刷装置などでは記憶装置の容量を大きくしなければならないためメモリ効率が悪く、装置が非常に高価なものになってしまう欠点がある。
【0005】
また、1ページをそれより小さな単位(バンド)で区切り、1バンド分のレンダリングを終えてからシッピングし、シッピング処理と並列に次のバンドのレンダリングを行なう(バンデイング処理)タイプの印刷装置もあるが、この場合、並列に行なっている次のバンドのレンダリング時間が、前のバンドのシッピング時間より大きくなってしまう場合、やはりプリントオーバーラン現象が起きてしまうという欠点があった。
【0006】
【発明が解決しようとする課題】
本発明は以上のような従来の欠点を除去するためになされたもので、記憶装置の容量を低く抑えると共にプリントオーバーランを防ぐ印刷装置及び画像処理方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は上記従来例に鑑みてなされたもので、下記のような構成からなる。すなわち、所定の大きさの1つのバンドメモリへのバンド画像データのレンダリングと、もう1つのバンドメモリからのバンド画像データの出力を並列に行うバンド並列処理が可能な印刷装置であって、1ページ分の印刷データを複数のバンドに分割し、各バンドの印刷データをバンド画像データとしてレンダリングするためのレンダリング所要時間を求める時間予測手段と、前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして、前記時間予測手段により求められたレンダリング所要時間とレンダリングされたバンド画像データの印刷所要時間とからオーバーランすると予測されるバンドを、前記バンド並列処理前に予め一時的に確保された一時的バンドメモリにレンダリングし、当該バンドのバンド画像データの出力後に、当該一時的バンドメモリを前記バンド並列処理の並列処理用バンドメモリとして用いるスケジュールを作成するスケジュール作成手段と、前記並列処理用バンドメモリ数Nに1を加えた数が、前記スケジュール作成手段により作成されたスケジュールで必要とされる一時的バンドメモリの数を前記スケジュール作成手段で用いたバンド並列処理で用いる並列処理用バンドメモリの数に追加した必要バンドメモリ数のうちで最小の最小バンドメモリ数よりも少ない場合に、前記並列処理用バンドメモリ数Nに1を加えた数を新たな並列処理用バンドメモリ数Nとして前記スケジュール作成手段によるスケジュール作成を繰り返す繰り返し手段と、前記繰り返し手段による繰り返し中に、前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして作成したスケジュールで必要とされる必要バンドメモリ数と、前記最小バンドメモリ数とを比較し、前記最小バンドメモリ数が少なくなるスケジュールを現時点での最適スケジュールとして管理する管理手段と、前記並列処理用バンドメモリ数Nに1を加えた数が、前記最小バンドメモリ数よりも少なくならない場合に、前記管理手段により管理されている現時点での最適スケジュールを最終的なスケジュールとして決定する決定手段と、前記前記決定手段により決定されたスケジュールに従って各バンドの印刷データをバンド画像データとしてレンダリングするレンダリング手段と、各バンドメモリのバンド画像データを前記スケジュールに従って出力する出力手段とを備え、前記スケジュール作成手段は、各バンドについて、レンダリング先のバンドメモリに格納されている出力イメージが印刷出力されて該バンドメモリが未使用になり、当該バンドのレンダリングを開始するタイミングから前記レンダリング所要時間経過したレンダリングを終了するタイミングが、前記印刷所要時間から得られる当該バンドのバンド画像データを出力するタイミングよりも遅い場合に、当該バンドをオーバーランすると予測して前記必要とされる一時的バンドメモリの数を1つずつ追加することにより、必要とされる一時的バンドメモリの数とスケジュールを作成する。
【0010】
【発明の実施の形態】
[第1の実施の形態]
<図1(装置の説明)の説明>
まず、本実施形態の印刷装置として好適なレーザビームプリンタ(ページプリンタ)の構成について図1を参照しながら説明する。
【0011】
なお、本実施例を適用する印刷装置は、レーザビームプリンタに限られるものではなく、インクジェットプリンタ等の他のプリント方式の印刷装置でも良いことはいうまでもない。
【0012】
図1は本発明を適用可能な印刷装置の構成を示す断面図であり、例えばレーザビームプリンタ(LBP)の場合を示す。
【0013】
図において、LBP本体1000は、外部に接続されているホストコンピュータから供給される印刷データ(文字コード、制御コード等からなるページ記述言語等のプリンタ言語)やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報にしたがって対応する文字パターンやフォームパターン等のビットマップデータを作成し、記録媒体である記録紙等に像を形成する。操作パネル1012には操作のためのスイッチ及びLED表示器等が配されている。プリンタ制御ユニット1001はLBP本体1000全体の制御及びホストコンピュータから供給される印刷データ等を解析する。
【0014】
このプリンタ制御ユニット1001は、主に文字情報(文字コード)を対応する文字パターンのビデオ信号に変換してレーザドライバ1002に出力する。
【0015】
レーザドライバ1002は半導体レーザ1003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ1003から発射されるレーザ光1004をオン・オフ切り換えする。
【0016】
レーザ光1004は回転多面鏡1005で左右方向に振られて静電ドラム1006上を操作露光する。
【0017】
これにより、静電ドラム1006上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム1006周囲に配設された現像ユニット1007により現像された後、記録紙に転写される。ここで静電ドラム1006の回転速度は一定である。
【0018】
この記録紙にはカットシートを用い、カットシート記録紙はLBP1000に装着した用紙カセット1008に収納され、給紙ローラ1009および搬送ローラ1010と搬送ローラ1011とにより、装置内に取り込まれて、静電ドラム1006に供給される。
【0019】
またLBP本体1000には、図示しないカードスロットを備え、内蔵フォントに加えてオプションフォントカード、プリンタ言語系の異なる制御カード(エミュレーションカード)を接続できるように構成されている。
【0020】
<図2(構成ブロック図)の説明>
図2は本実施の形態における印刷装置の制御システムの構成を説明するブロック図である。ここでは、レーザビームプリンタ(図1)を例にして説明する。
【0021】
なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN等のネットワークを介して処理が行なわれるシステムであっても本発明を適用できる。
【0022】
図において、ホストコンピュータ2.1は、所定のインターフェース(例えば双方向インターフェース)を介して印刷装置2.2に接続されて通信処理を実行する。
【0023】
入力部2.3はホストコンピュータ2.1との間の通信処理を行なう。入力部2.3は、ホストコンピュータ2.1より印刷データを受信する処理を行なう。
ここで必要ならば印刷装置2.2の情報をホストコンピュータ2.1へ送信する処理を行なってもよい。
【0024】
中間データ作成部2.4は、印刷データを、印刷装置内部で扱いやすい形である中間データに変換する処理を行なう。
【0025】
RAM2.5は本発明で使用する記憶装置である。RAM2.5では入力部2.3で受信した印刷データより導き出された中間データを保持したり、中間データをレンダリングした結果のビットマップを保持したり、その他処理に必要な一時的なバッファエリアや、各種処理ステータスを保持したりする。
【0026】
ROM2.6は、本発明で説明する処理や、その他印刷装置2.2の行なう処理プログラムを保持する。
【0027】
レンダリング部2.7は、RAM2.5に格納された中間データの内容に従って、実際に印刷出力する印刷イメージを作成する。
【0028】
印刷部2.8は、レンダリング部2.7で作成された印刷イメージを例えば実際の紙面へ印刷出力する出力部である。
【0029】
CPU2.9は、本発明の実施例である印刷装置2.2の印刷処理や後述するデータ処理を実際に行なう。
【0030】
スケジュールリスト2.10は、図15で説明するバンドメモリ使用スケジュールを保持する。
【0031】
内部バス2.11は本印刷装置の各部を接続する。
【0032】
ここより、ROM2.6に蓄えられたプログラムによってCPU2.10が行なう処理について説明する。まず、本発明の実施例の印刷装置の印刷データ受信から印刷出力までの大まかな流れと、バンド処理の仕組みを説明し、次にプリントオーバーラン回避方法についてタイムチャートを使ってその仕組みを説明し、その後実際の実現例をフローチャートを使って説明する。
<本実施形態の印刷処理のおおまかな流れとバンド処理の仕組み>
まず印刷処理の全体の流れをフローチャートで説明し、その後メモリの使い方を中心にバンド処理の仕組みを説明する。
【0033】
<図3(1ページの印刷手順)の説明>
図3は、印刷装置2.2による1ページ分の印刷データを受信してから印刷出力するまでの手順を示したフローチャートである。
(データ受信)
ステップ3.1において、ホストコンピュータ2.1より入力部2.3で印刷データを受信する。そしてステップ3.2で受信した印刷データを中間データ作成部2.4へと送り中間データに変換し、ステップ3.3でRAM2.5へ格納する。中間データの形式は、例えばレンダリング部2.7で処理しやすい形式であったり、中間データのサイズが小さくなるような形式であったり、中間データの処理が速くなるような形式であったりと、内部処理の都合の良い形式であって良い。
(レンダリング時間の計算)
次にステップ3.4でプリントオーバーランを避ける処理のための計算を行なう。ステップ3.4ではステップ3.3で格納した中間データについてのレンダリング処理にかかる時間を計算し、それをバンド毎に集計することにより、バンド単位でのレンダリング時間を測定する。レンダリング時間計算については、図12で詳細に説明する。
【0034】
次にステップ3.5で、印刷データを1ページ分処理し終ったかどうかを判断し、まだページが終了していない場合は次の印刷データについてステップ3.2から処理を繰り返す。
(プリントオーバーラン回避)
印刷データを1ページ分レンダリング処理し終ったら、ステップ3.6でプリントオーバーラン回避処理を行なう。
【0035】
プリントオーバーラン回避処理は、ステップ3.4で計算したバンド毎のレンダリング時間にもとづき、プリントオーバーランが発生しないようにバンドメモリ数やその使い方のスケジュールを決め、スケジュールリスト2.10を作成する。プリントオーバーラン回避処理については図16で詳しく説明する。
(印刷出力)
そして最後にステップ3.7で実際の用紙上に印刷出力する。ここではバンドメモリをプリントオーバーラン回避処理で作成したスケジュールリストに従って使用する。詳しくは図18で説明する。
<図4(データ入力メモリ図)の説明>
図4は、印刷装置2.2の印刷データ受信時のメモリ処理について説明する図である。図の4.4〜4.7は印刷装置2.2内のRAM2.5を示している。
【0036】
ホストコンピュータ2.1から入力部2.3へ印刷データが通信転送されると、そのデータは中間データ作成部2.6で中間データに変換されてRAM2.5内の中間データ格納領域4.6へと保管される。中間データの構造については、次の図5で詳細に説明する。
【0037】
また、RAM2.2には中間データ格納領域4.6の他に2つの「バンドメモリ」と呼ばれる領域であるバンドメモリ1(4.4)、バンドメモリ2(4.5)が用意されている。この領域は通常の印刷処理で中間データをレンダリングして得られる、印刷出力すべき出力イメージをバンド単位で蓄えておく領域である。この領域については図6で説明する。
【0038】
RAM2.2の残りの部分は空きメモリ4.7である。印刷データを受信していない状態では、中間データ作成領域4.6には1つも中間データが存在しないので、RAM内にはバンドメモリ1(4.4),2(4.5)以外は全て空きメモリ4.7となっている。
【0039】
また1ページ分の中間データを中間データ格納領域4.6へ格納してもまだ空きメモリ4.7がある場合、格納し終ったページの印刷出力処理と平行して次のページの中間データを引き続き格納することにより、メモリ容量一杯まで連続した印刷データを受信することができる仕組みとなっている。
【0040】
以下に中間データ格納領域4.6内での中間データの管理構造を説明する。
<図5(中間データ構造)の説明>
図5は、印刷装置2.2による中間データの構造及び管理形式について説明した図である。本発明に基づく実施例である印刷装置は、1枚の出力ページを幾つかの小領域(バンド)で区切って、それぞれのバンドのレンダリングと印刷出力を並列して行なう。そのため本実施例では印刷データをバンド単位で管理するために、印刷データを中間データという管理しやすい形式で管理する。並列処理については、以後に図6などを用いて説明する。
【0041】
1ページの出力用紙5.1は、バンド1、バンド2…と名付けられたバンドという小領域に区切られている。各バンドは図にあるように用紙搬送方向に垂直になるように配置されている。また、それぞれのバンドは同面積を持つように区切られているため、用紙出力時の各バンドの静電潜像形成に要する時間は一定である。
【0042】
今、印刷装置が、図5に例示したように、出力用紙5.1に1つの文字「あ」と斜めの直線1本が描かれるような印刷データを受信したとすると、その中間データは以下のような構造になる。
【0043】
まず中間データは、中間データ管理テーブル5.2〜5.4につながれる。中間データ管理テーブル5.2〜5.4はバンド数分だけあり、それぞれのバンド内に描画されるべき中間データをリンク構造で保持する。
【0044】
ここで文字「あ」はバンド2内に描かれるべき文字なので、その中間データ5.5〜5.8はバンド2の中間データ管理テーブル5.3につながれている。そしてその構造は、中間データの種類を示す領域、描画位置を示す領域、その他描画に関する情報などを、それぞれの中間データの種類によって必要なだけ保持する。文字「あ」の中間データは、中間データの種類が文字であることを示すデータ種別5.5、「あ」を描画する描画位置5.6、描画する文字が「あ」であることを示す文字コード5.7、例えば大文字や袋文字、文字色など文字の修飾方法に関する修飾情報5.8からなっている。
【0045】
用紙5.1に描かれる直線については、バンド2〜バンド3にまたがって描画されるため、中間データは2つ作成され、それぞれバンド2の中間データ管理テーブル5.3とバンド3の中間データ管理テーブル5.4につながれる。
【0046】
このように管理される中間データは、印刷出力時にはそれぞれのバンド毎にレンダリングされ、印刷出力される。このデータは、バンド2については、データの種別が直線であることを示すデータ種別5.9、開始位置5.10、終了位置5.11、描画される直線が実線の太線であることなど、直線の種別や太さなどを示す線種5.12からなっている。バンド3についても同様に、データ種別5.13、開始位置5.14、終了位置5.15、線種5.16からなっている。
【0047】
<図6(バンディングメモリ)の説明>
図6は中間データ形式で格納された印刷データを実際に印刷出力するときのバンドに関する処理(バンディング)を説明した図である。
【0048】
図6(A)は、中間データを1ページ分中間データ格納領域に格納後、オーバーラン処理を終えあとのメモリマップを示している。
【0049】
バンドメモリ1,2は、中間データをレンダリングした結果の印刷出力イメージを保管するラスタメモリである。またレンダリングする中間データは、図5で説明したデータ構造で中間データ格納領域6.3へ格納されている。
【0050】
中間データを1ページ分格納後のプリントオーバーラン処理によって、バンドメモリの数が2より大きい必要があった場合、中間データ格納領域6.3の後など空きメモリを利用して一時的なバンドメモリ6.4を作成する。この図では一時的なバンドメモリを1つだけ作成している。
【0051】
図6(B)は、2つのバンドメモリ1,2及び一時的なバンドメモリ6.4を利用して印刷出力する場合のデータの流れを示している。
【0052】
中間データはレンダリング部2.7でレンダリングされ、その結果の出力ビットマップは、後で述べるプリントオーバーラン回避処理により決定されたスケジュールに従って3つのバンドメモリヘと格納され、印刷部2.8はその出力イメージを実際の用紙上へ印刷出力する。この処理は後で図18でフローチャートにより説明する。
<プリントオーバーラン回避方法>
次に本発明の主要部分であるプリントオーバーランの回避方法についてその概要を説明する。
【0053】
<図7(バンディングタイミンク)の説明>
図7は縦軸に時間経過をあらわし、レンダリング部、印刷部のそれぞれの処理内容、及びバンドメモリ1、バンドメモリ2の保持している出力イメージについての時間的変化を示したタイムチャートである。この図では第4バンドがプリントオーバーランを起こしている。以下、図を時間軸に沿って説明する。
【0054】
まず時間t0〜t1で、レンダリング部2.7は、用紙の最初に印刷出力される最上部であるバンド1のレンダリングを行ない(7.1)、その結果得られた出力イメージをハンドラスタ1へと格納する(7.8)。
【0055】
次にt1で静電ドラム1006の回転をスタートさせる(以後印刷出力開始と表現する)。
【0056】
時間t1以降では、レンダリング処理と印刷出力処理を並列に行なう。ここで各バンド面積が一定で、かつ静電ドラム1006の回転速度も一定なことより、各バンドの印刷出力時間(時間t2−t1、時間t3−t2、‥.)は一定であり、それは静電ドラム1006の回転速度によって決まる。
【0057】
時間t1〜t2では、既にバンドメモリ1へ格納されているバンド1の印刷イメージを印刷部2.8が印刷出力する処理(7.15)と、レンダリング部が中間データ格納領域に格納されているバンド2の中間データをレンダリングして(7.2)バンドメモリ2へ印刷イメージを格納する処理(7.12)を並列で行なう。
【0058】
同様に時間t2〜t3ではバンド2が印刷出力され(7.16)、バンド3がバンドメモリ1へ出力イメージ展開される(7.3,7.9)。
【0059】
以後同様の処理を繰り返し、最終的に時間t7〜t8でバンド7の印刷出力を行ない(7.21)、1ページ分の印刷を完了する。
【0060】
以上の方式により最低バンドメモリが2バンドあればよく、1ページ分の出力イメージを格納するのに必要なメモリサイズよりはるかに少ないメモリで印刷出力処理を行なうことができるようになっている。
【0061】
しかしながら、ここでバンド4のレンダリング7.4に注目してみると、このバンドのレンダリング時間は時間t4−t3より長くなっている。また、バンド4のレンダリング開始時間は、レンダリング結果をバンドメモリ2に格納するためバンド2の出力イメージを印刷出力した後、つまりt3以降でなくてはならない。そのため、実際のレンダリングはバンド4の印刷出力開始時間であるt4のタイミングでも終了しておらず、プリントオーバーランになってしまう。すなわち、印刷部2.8は、タイミングt4からバンド4の印刷出力を開始しようとするが、この時点ではバンド4のレンダリングは終了しておらず、正常に印刷を開始できない。
【0062】
そこで、このような自体を回避するために、以下に本発明のプリントオーバーランの解決方法を説明する。
<図8(プレレンダリングタイミング)の説明>
図8は、プリントオーバーランを回避する第1の方法を説明したタイムチャートである。
【0063】
まず、先に図6で説明したように、一時的なバンドメモリ用のメモリ6.4を確保し、プリントオーバーランするバンド4を印刷出力開始タイミングより前にあらかじめレンダリングしておく(8.14)。他のバンドは通常と同様にレンダリング及び印刷出力し、バンド4の印刷出力時はレンダリングは行なわず一時的バンドメモリから印刷出力のみを行なう(8.18)。
【0064】
このように一時的なバンドメモリを用意し、レンダリングタイミングを変えることでプリントオーバーランを回避することができる。この方式は、1つのバンドのレンダリング時間がいくら長くても、確実にそのバンドのプリントオーバーランを防ぐことができるという利点がある。
<図9(3バンド以上のバンディングタイミング)の説明>
またプリントオーバーランを回避する第2の方法を図9に示す。
【0065】
この方式もまた図8と同様に一時的なバンドメモリ用のメモリを確保し、今度は最初からある2つのバンドメモリと一時的なバンドメモリを合わせて3つ以上のバンドメモリを順番に使ってレンダリングと印刷出力を並列に行なう。
【0066】
バンドメモリが3つ以上になると、図のように個々のバンドメモリの使われる頻度が低下してくる。そのため各バンドのレンダリング時間はバンドメモリの数が多くなればなるほど長く取ることができ、プリントオーバーランを防ぐことができる。
【0067】
図9の場合、レンダリング時間の長いバンド4のレンダリング開始タイミングが、バンド3のレンダリング終了直後となり、バンドメモリが2つの場合に比べて早くなるため、バンド4の印刷出力タイミングt4までにレンダリングを終えることができている。
【0068】
このように順番に使いまわすバンドメモリ数をふやすことにより、プリントオーバーランを防ぐことができる。この方式は、全体的にレンダリング可能最大時間を長く取ることができるようになる特徴を持つ。例えば、バンドメモリが3つの場合には、最大2バンド分の印刷に要する時間をレンダリングのために用いることができる。
<図10(本発明バンディングタイミンク)の説明>
さらに本発明では上記2つの方法を組合せ、レンダリングのタイミングを適切にスケジューリングして、一時的なバンドメモリの確保数を最小にすることでメモリを効率よく利用する第3の方法を図10に示す。
【0069】
図10は、図8あるいは図9の方法のいずれかだけでは2バンド以上の一時的バンドメモリが必要となるケースでも、本発明の方式により、必要な一時的バンドメモリの数を1バンドに抑えた結果を示す例のタイムチャートである。この例ではバンド3,4,5,6のレンダリング時間が1バンドの印刷出力に要する時間よりも長い。
【0070】
本発明による方式では、図10のように一時的バンドメモリ6.4にはあらかじめバンド3の出力イメージレンダリングしておく。そしてバンド3の印刷出力が終ったあとはバンドメモリ1,2、及び一時的バンドメモリの3つで並列にレンダリングと印刷出力を行なっている。
【0071】
このようにバンドメモリの使用スケジュールを適切にたてることにより、1つの一時的バンドメモリを確保することで4つのバンドのプリントオーバーランを防ぐことができる。
<図11(バンドメモリ使用スケジューリング)の説明>
以上説明したような適切なバンドメモリ使用のスケジューリングの具体例を、図11を使って説明する。図11は前図とはまた別のデータについての例である。図の横軸は各バンドを示し、それぞれのレンダリング時間は縦軸で示している。図11の例では、バンド3のレンダリング時間が最も長く、次にバンド4、次にバンド5、バンド2と短くなっている。また図の3本の点線は、1つのバンドをオーバーランせずにレンダリングするためにかけられる時間を示しており、一番下の点線は、2つのバンドメモリを用いた場合、中央は3つのバンドメモリを用いた場合、一番上は4つのバンドメモリを用いた場合の時間をそれぞれ示している。
【0072】
もし本図のような特徴を持つ印刷データを2バンドのバンドメモリを用いて印刷出力した場合、バンド2〜バンド5が許容時間を越えているのでプリントオーバーランになってしまう。ここでプリントオーバーランするバンドを全て一時的バンドメモリへあらかじめレンダリングする図8のようなスケジューリングを行なうと、4バンド分の一時的バンドメモリが必要となる。
【0073】
そこで、一時的バンドメモリを2バンドだけ確保し、バンド3についてはあらかじめレンダリングしておく。バンド4以降はバンド3で使っていたバンドメモリも含めて4バンド全てを使ってレンダリングと印刷出力を並列で行なう。こうすることによりバンド4以外のバンドのレンダリング時間は、4バンドメモリを用いた場合のレンダリング許容時間以下なので、プリントオーバーランは起こさない。
【0074】
このように最適なレンダリングスケジュールを組むことにより、最小の一時的バンドメモリを用いることでプリントオーバーランを防ぐことが本発明の要点である。
<上記方法を用いた印刷処理の実現方法>
以上が本実施形態の印刷処理の流れ、メモリの使い方、プリントオーバーラン回避方法の考え方である。以下に本実施形態の印刷装置における処理手順について、フローチャートを用いて説明する。なお全体の処理の流れは図3で説明済みであるので、そのなかのポイントとなるステップS3.4のレンダリング時間計算、ステップS3.6のオーバーラン対策、ステップS3.7の印刷出力処理手順を説明する。
<図12(レンダリング時間計算)の説明>
図12は、図3のステップ3.4で行なわれる、バンド単位のレンダリング時間を計算する手順のフローチャートである。ここで求めるレンダリング時間は、図3のステップ3.6のオーバーラン対策処理で一時的バンドメモリの確保数やスケジューリングを決めるのに使われる。
【0075】
まずステップ12.1において、中間データの種類によってレンダリング時間計算方法を選択する。
【0076】
中間データの種類が、固定的にレンダリング時間が決まっているようなタイプのものである場合は、既にテーブルに保管しておいた中間データに対するレンダリング時間からレンダリング時間を求めるなどの処理を、ステップ12.2で行う。このようなタイプの処理については図13で説明する。
【0077】
また、例えばイメージビットマップのように、そのレンダリング処理は単純にメモリ内容のコピーであるようなタイプの中間データの場合、計算するレンダリング時間は中間データのサイズより決まるため、ステップ12.3でサイズより処理時間を計算する。
【0078】
また、実際にレンダリングしてみないとレンダリング時間の分らないようなタイプの中間データの場合、ステップS12.4において、時間測定のために実際にレンダリング処理を実行して時間を求める。このようなタイプの処理については図14で説明する。
【0079】
なお、これらの分岐、及び処理は、ここに示した以外の他のタイプの時間算出アルゴリズムを用いても良い。
【0080】
それら各種中間データのタイプに応じたレンダリング時間算出処理を行なった後、ステップ12.5において、算出した時間をバンド全体のレンダリング時間に加算し、バンド内にレンダリング時間が計算されていないオブジェクトがあればそれについて計算を行い、なければ処理を終える。
【0081】
<図13(固定テーブル方式によるレンダリング時間計算)の説明>
図13は図12のステップ12.2の固定的なレンダリング時間を求める処理の例を説明した図である。事前にレンダリング時間が分っている中間データについては、図のように中間データの種類とそれに対応するレンダリング時間の対応表からレンダリング時間を検索する。
【0082】
<図14(実測方式によるレンダリング時間計算)の説明>
図14は図12のステップ12.4のレンダリング時間の実測処理の例について説明したフローチャートである。ステップ14.1で印刷装置内部タイマーをスタートし、ステップ14.2で実際のレンダリングと同様に測定したい中間データをレンダリングする。そしてレンダリングが終り次第ステップ14.3でタイマーをストップし、その際かかった時間をレンダリング時間とする。
【0083】
<図15(スケジュールリスト)の説明>
以上のように各バンドのレンダリング時間を計算し、図3で示したように1ページ分の印刷データをメモリ内に格納した後、図3のステップ3.6でプリントオーバーランしないようにバンドメモリの使用スケジュールをスケジュールリスト2.10へ作成する。
【0084】
スケジュールリストの構造は図15で示すように、レンダリングするバンドの番号をバンド欄15.1に、その結果得られる出力イメージを格納するバンドメモリをバンドメモリ欄15.2にペアとして登録し、レンダリングを実行する順番にリスト構造で並べたものである。
【0085】
図15の場合、まず最初にバンド3を一時的バンド1へレンダリングし、その後バンド1をバンドメモリ1、バンド2をバンドメモリ2、バンド4をバンドメモリ1….という順番にレンダリングすることを示している。なおこの図15で示しているスケジュールは、タイミングチャート図10のスケジュールリストである。このスケジュールの決定方法については次の図16で説明する。またスケジュールに従った印刷処理については図18で説明する。
【0086】
<図16(オーバーラン対策)の説明>
図16はオーバーランが発生しないようなスケジュールリストの作成方法について説明したフローチャートである。
【0087】
まずステップ16.1では、バンドメモリ2つを使ってレンダリングと印刷出力を並列に実行する場合から検討を始める。このとき、スケジュールされたレンダリング手順に必要な最少バンドメモリ数として、初期的に2以下の数を設定しておく。
【0088】
そしてステップ16.2で実際にスケジュールを作成すると同時に、予めレンダリングしておくために追加で必要となる一時的バンドメモリ数を求める。この処理の詳細は、次の図17で詳しく説明する。
【0089】
次にステップ16.3で、ステップ16.2で求めた必要バンドメモリ数が、今まで検討したスケジュールのうち一番少ないかどうかを比較する。すなわち、最小バンドメモリ数と比較する。最小であった場合、ステップ16.4で、今まで決定してきたスケジュールのかわりに今検討したスケジュールを、現時点における最適スケジュールとする。最小でなかった場合は、検討したスケジュールは無視する。
【0090】
そしてステップ16.5で、並列して使用するバンドメモリ数を、今検討したバンドメモリ数(最初は2)より1つ多いものとする。その数が現時点の最適スケジュールで必要とされるバンドメモリ数、すなわち現時点での最少ラスタバンド数より少ないかステップ16.6で判定し、少ない場合はさらに必要バンドメモリ数が少なくてすむ可能性があるため、ステップ16.2より検討を繰り返す。一方、最少ラスタバンド数よりもこれから検討しようとするバンドメモリ数が多い、あるいは両者が等しい場合には、必要なバンドメモリ数が減少する可能性はないため、プリントオーバーランを生じないために必要な最少のバンドメモリ数が確定したものとして、現時点で最適なスケジュールを最終的なスケジュールとして決定する。
【0091】
このようにして最終的に、最もバンド数が少なくてすむスケジュールを決定する。
【0092】
<図17(スケジュール作成)の説明>
次に、図16のステップ16.2でスケジュールを作成し、必要バンド数を計算する方法について、図17で説明する。
【0093】
ここでは図12で説明した方法で求められた各バンドのレンダリング時間を使い、最初のバンドから順に指定されたバンド数でレンダリングと印刷出力を並列に実行していくスケジュールを作成する。
【0094】
処理は図のステップ17.1からステップ17.7までを、ページの最初のバンドから順番にレンダリングするとして繰り返して行なう。
【0095】
それぞれのバンドのレンダリングについて、まずステップ17.1でレンダリングした結果得られる出力イメージを格納する先のバンドメモリを決める。バンドメモリは指定された数のバンドメモリを、図7で説明したように順番に使っていく。
【0096】
次にステップ17.2でレンダリング開始、レンダリング終了のタイミングを以下のように計算する。
【0097】
レンダリング開始=前のレンダリングが終了していて、かつレンダリング先のバンドメモリが未使用になるタイミング
レンダリング終了=レンダリング開始タイミング+そのバンドのレンダリング時間
また、ここでバンドメモリの使用/未使用のタイミングは以下のように計算する。
【0098】
バンドメモリ使用開始=そのバンドメモリにレンダリングが開始されるタイミング
バンドメモリ使用終了=そのバンドメモリに格納されている出力イメージが印刷出力され終ったタイミング
バンドメモリ使用開始から使用終了までは、バンドメモリが使用中であり、使用終了から使用開始まではバンドメモリが未使用である。
【0099】
なお指定バンドが印刷出力され始めるタイミング/印刷出力し終るタイミングは、1つのバンドの印刷に要する時間(1バンド分の用紙搬送時間)は固定値であるため、バンドの印刷順序と用紙搬送速度から容易に決定できる。
【0100】
こうして求めたレンダリング開始タイミングに基づき、ステップ17.3でプリントオーバーランをチェックする。つまり、図10に示したように、与えられた数のバンドメモリを使用してバンドのレンダリング及び印刷出力を順次行とした場合のレンダリング終了タイミングが印刷出力開始タイミングより遅かった場合、そのバンドはオーバーランするということになる。
【0101】
もしステップ17.3でオーバーランしないと判断された場合、ステップ17.5でレンダリングするバンド番号とレンダリング出力先のバンドメモリ番号を、スケジュールリストの末尾へ追加する。
【0102】
一方、ステップ17.3でオーバーランする判断された場合、ステップ17.4で追加が必要なバンドメモリ数を1つ増やし、ステップ17.6で、その追加されたバンドメモリに、ステップS17.3でオーバーランすると判定されたバンドを印刷部の起動前にあらかじめレンダリング(プリレンダリング)しておくように、スケジュールリストの先頭へバンド番号とバンドメモリ番号とを登録する。
【0103】
ここで一度追加したバンドメモリは、そのバンドメモリに格納されている印刷イメージが印刷出力された後は通常のバンドメモリと同様にレンダリングと印刷出力を並列に行なうために使うようにする。こうすることにより、以後のレンダリング許容時間が増え、プリントオーバーランの発生率が低くなる。
【0104】
以上のような処理をページの先頭のバンドから順番に全てのバンドのタイミングを計算して、プリントオーバーランが起きないスケジュールを決定する。
【0105】
<図18(印刷出力処理)の説明>
このようにして作成されたスケジュールリストを使って、実際に印刷する処理について図18で説明する。この図18は図3のステップ3.7で示された印刷出力処理である。
【0106】
まずステップ18.1でスケジュールリストの最初のスケジュールを取得する。
【0107】
そしてステップ18.2で、スケジュールに記載されたレンダリング先のバンドメモリの状態を調べて、使用中でない、つまりレンダリングに使用してもよい場合は、そこにスケジュールに記載されたバンドの中間データをレンダリングする(ステップ18.3)。最初はどのバンドメモリも使われていないので、必ずレンダリングできることになる。
【0108】
そして再度ステップ18.1へ戻り、次のスケジュールをスケジュールリストから得る。次もまた同様にバンドメモリが使用中でない場合レンダリングし、ステップ18.1へ戻る。これを繰り返すことにより、印刷エンジン始動前に実行できるレンダリングスケジュールは全てレンダリングしておくことになる。従って、プリレンダリングするものとスケジュールされたバンドはスケジュールリストの先頭付近にあるため、印刷前にレンダリングされてしまう。
【0109】
もう実行できるレンダリング動作がなくなったら、ステップ18.4へと進み、印刷エンジンをスタートする。この際、スケジュールに従った順番で印刷部はバンドメモリからデータを順次読み出して印刷する。すなわち、印刷するバンドの順序は1から昇順であることは決まっているため、印刷しようとするバンドがレンダリングされているバンドメモリをスケジュールリストから確認し、そのバンドメモリから画像データを出力する。このために、印刷部2.8のコントローラにスケジュールを渡し、コントローラはそのスケジュールに従った順序でバンドメモリからデータを読み出し印刷する。あるいは、コントローラには読み出すバンドメモリを順序づけして渡し、コントローラは渡された順序でバンドメモリの内容を出力するようにしても良い。
【0110】
印刷により印刷がスタートされるとバンド1から順にレンダリング結果が実際の用紙上に印刷出力され、出力が終ると出力が済んだバンドが格納されていたバンドメモリが未使用となる。
【0111】
ステップ18.5では、スケジュールによって次にレンダリング結果を格納するべきバンドメモリが未使用になるのを待って、その後ステップ18.6でレンダリングをする。ここで、このレンダリングは必ずそのバンドのレンダリング結果を印刷開始するタイミングまでに終了することが保証されているので、プリントオーバーランは起きない。
【0112】
これをスケジュールリストにある全てのスケジュールについて繰り返し(ステップ18.7)、1ページの印刷出力処理を終える。終えたならステップ18.8で次のページのスケジュールを取得して同様の要領で印刷する。スケジュールリストのすべてのスケジュールを処理しおえたなら、印刷は終了である。
【0113】
<第1の実施形態のまとめ>
以上説明したように、本実施の形態の印刷装置では、プリントオーバーランを発生させなくする一方、レンダリングに必要なバンドメモリの必要数を最小限に抑えることでメモリ効率を良くすることができる。
【0114】
また、レンダリング時間を必要に応じて実測するため、確実にプリントオーバーランを防止できる。
【0115】
また、予めレンダリングしておくだけでも、追加のバンドメモリを利用するだけでもなく、予めレンダリングしておいたバンドが空いたならそのバンドを利用してレンダリングを印刷出力と並列に行っているため、必要なメモリを最小限に抑制することができる。
[第2の実施の形態]
次に本発明の第2の実施形態をしめす。
【0116】
本実施形態は、レンダリング時間の長いバンドについては、そのバンドをあらかじめレンダリングしたのち圧縮し、印刷出力時は伸長することによりプリントオーバランを防ぐものである。つまり、圧縮データの伸長時間は予測できるものである必要がある。
【0117】
図19は第2の実施形態の印刷装置の構成を示したブロック図である。図の19.1〜19.11は第1の実施形態のブロック図におけるブロック2.1〜2.11と同様である。
【0118】
圧縮/伸長部19.12は、出力イメージを既に知られた符号化方式により画像データを圧縮及び伸長する。
【0119】
第2実施形態の説明として、まず全体の印刷処理手順を説明し、その後本実施形態の印刷装置によるプリントオーバーラン回避のための処理についてフローチャートで説明する。
【0120】
<圧縮/伸長の使用形態>
図20は、本実施形態における1ページの印刷手順を示したフローチャートである。ステップ20.1〜ステップ20.6は第1実施形態の図3のステップ3.1〜3.6とそれぞれ同様なので説明は省く。本実施形態では、ステップ20.6のあとに、指定されたバンドをレンダリングして圧縮するステップ20.7が行なわれ、そのあとのステップ20.8で、圧縮されたバンドは伸長されてスケジュールされたバンドメモリに展開され、圧縮されていないバンドはバンドメモリ上にレンダリングされて印刷される。この処理の詳細を図21で説明する。ここで、ステップ20.4は図12の手順で行われ、ステップ20.8は、概ね図18の手順で行われる。ただし、圧縮されているバンドについては、ステップ18.6のレンダリングの代わりに伸長処理が行われる。
【0121】
図21(A)は、図20のステップ20.7で行なう圧縮処理を説明したメモリ図で、(B)は、印刷出力時に伸長する動作を説明した図である。
【0122】
まず圧縮処理では、ステップ20.6で作成されたスケジュールに従って、指定されたバンドの中間データ21.3をレンダリング部19.7でバンドメモリ21.1へレンダリングする。その後その出力イメージを圧縮伸長部19.12の圧縮機能を使って圧縮し、圧縮データ格納領域21.4へと格納する。
【0123】
印刷出力時は、スケジュールに従って圧縮されているデータについては、図21(B)のように、圧縮データ21.4を圧縮伸長部19.12の伸長機能を使ってバンドメモリヘ伸長し、それを印刷部19.8により紙面へ印刷出力する。
圧縮されていないデータはレンダリングして印刷出力する。
【0124】
<プリントオーバーラン回避>
以上のような圧縮/伸長動作を使うことでプリントオーバーランを防ぐ処理について、以下に説明する。
【0125】
図22は、図20におけるステップ20.6において、本実施形態のオーバーラン回避処理のために、どのバンドを圧縮するかどうか決める処理を説明したフローチャートである。
【0126】
ステップ22.1において、圧縮するバンドはないものと設定した場合から始めて、レンダリング時間が長いバンドから順に1つずつ圧縮した場合をステップ22.2〜ステップ22.6で検討していく。
【0127】
ステップ22.2で、第1実施形態の図17で説明した手順でスケジュールリストを作成し、同時に必要バンドメモリ数を最小になるように計算する。ここで第1の実施形態とは違い、圧縮するとされたバンドについては、タイミングの計算にレンダリング時間ではなく圧縮データの伸長時間を使う。
【0128】
そして求められた必要バンドメモリ数と圧縮指定されたバンドの圧縮データサイズの和から、ステップ22.3で必要メモリ量を計算する。
【0129】
そのメモリ量が今まで計算した必要メモリ量より小さいとステップ22.4で判断された場合、ステップ22.5で、検討中のスケジュールが現在までの最小メモリ使用率のスケジュールであるとする。
【0130】
そしてステップ22.6で次にレンダリング時間の長いバンド1つを圧縮するとして、ステップ22.7で全バンド圧縮するまで、ステップ22.2からの検討を繰り返す。
【0131】
<第2実施形態のまとめ>
このように、レンダリング時間の長いデータを必要メモリが最小になるバンド数だけ予めレンダリングしてから圧縮することにより、メモリ効率良くプリントオーバーランを防止することができるという効果がある。また、バンドを圧縮して保存するため、もっとも多くのメモリが必要とされる場合であっても、1ページ分のメモリよりも確実に少ないメモリでプリントオーバーランを防止できる。また、印刷と並行してのレンダリングも行い、レンダリング時間が1バンド分の搬送時間を越えた場合でも、3つ以上のバンドメモリを用いることでオーバーランを防止できる場合には圧縮は行わないので、メモリを最小限に抑制できる。また、レンダリング時間が1バンド分の搬送時間を越えた場合でも、予めレンダリングして圧縮することで追加のバンドメモリを用いずともオーバーランを防止できる場合には、追加のバンドメモリは用いないので、メモリを最小限に抑制できる。
【0132】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0133】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。;
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0134】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0135】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0136】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0137】
【発明の効果】
以上の説明したように、本発明による印刷装置及び画像処理方法は、少ない記憶容量でプリントオーバーランを防ぐことができるという効果がある。
【図面の簡単な説明】
【図1】本発明を適応可能な出力装置の構成を示す断面図である。
【図2】本発明の実施例におけるプリンタ制御システムの構成を説明するブロック図である。
【図3】本発明の第1の実施形態における1ページ印刷手順を示したフローチャートである。
【図4】本発明の実施形態における印刷データ受信時のメモリ処理を説明する図である。
【図5】本発明の実施形態における中間データの構造及び管理形式について説明した図である。
【図6】本発明の実施形態における中間データ形式で格納された印刷データを実際に印刷出力するときのメモリ処理を説明した図である。
【図7】本発明の実施の形態における印刷出力処理の処理タイミングを説明したタイムチャートである。
【図8】本発明の実施の形態におけるプリントオーバーランを回避するための処理における、一時的なバンドメモリにあらかじめレンダリングしておく処理について説明したタイムチャートである。
【図9】本発明の実施の形態におけるプリントオーバーランを回避するための処理における、3バンド以上のバンドメモリを用いたレンダリング、印刷出力のタイミングについて説明したタイムチャートである。
【図10】本発明の実施の形態における最小のメモリ使用率でプリントオーバーランを回避する場合の例を示したタイムチャートである。
【図11】本発明の実施の形態における最小のメモリ使用率でプリントオーバーランを回避する処理の考え方を説明した図である。
【図12】本発明の実施の形態におけるレンダリング時間計算処理手順を示したフローチャートである。
【図13】本発明の実施の形態におけるレンダリング時間計算の固定テーブル方式を説明する図である。
【図14】本発明の実施の形態におけるレンダリング時間計算の実測方式の処理手順を示したフローチャートである。
【図15】本発明の実施の形態におけるレンダリング及びバンドメモリ使用スケジュールを保管するスケジュールリストの構造について示した図である。
【図16】本発明の実施の形態におけるプリントオーバーラン対策処理手順を示したフローチャートである。
【図17】本発明の実施の形態におけるスケジュールリスト作成処理手順及び必要バンドメモリ数を求める処理手順を示したフローチャートである。
【図18】本発明の実施の形態における印刷出力手順を示したフローチャートである。
【図19】本発明の第2の実施の形態におけるプリンタ制御システムの構成を説明するブロック図である。
【図20】本発明の第2の実施の形態における1ページ印刷手順を示したフローチャートである。
【図21】本発明の第2の実施の形態における圧縮/伸長処理を示したメモリ図である。
【図22】本発明の第2の実施の形態におけるプリントオーバーラン対策処理手順を示したフローチャートである。
Claims (2)
- 所定の大きさの1つのバンドメモリへのバンド画像データのレンダリングと、もう1つのバンドメモリからのバンド画像データの出力を並列に行うバンド並列処理が可能な印刷装置であって、
1ページ分の印刷データを複数のバンドに分割し、各バンドの印刷データをバンド画像データとしてレンダリングするためのレンダリング所要時間を求める時間予測手段と、
前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして、前記時間予測手段により求められたレンダリング所要時間とレンダリングされたバンド画像データの印刷所要時間とからオーバーランすると予測されるバンドを、前記バンド並列処理前に予め一時的に確保された一時的バンドメモリにレンダリングし、当該バンドのバンド画像データの出力後に、当該一時的バンドメモリを前記バンド並列処理の並列処理用バンドメモリとして用いるスケジュールを作成するスケジュール作成手段と、
前記並列処理用バンドメモリ数Nに1を加えた数が、前記スケジュール作成手段により作成されたスケジュールで必要とされる一時的バンドメモリの数を前記スケジュール作成手段で用いたバンド並列処理で用いる並列処理用バンドメモリの数に追加した必要バンドメモリ数のうちで最小の最小バンドメモリ数よりも少ない場合に、前記並列処理用バンドメモリ数Nに1を加えた数を新たな並列処理用バンドメモリ数Nとして前記スケジュール作成手段によるスケジュール作成を繰り返す繰り返し手段と、
前記繰り返し手段による繰り返し中に、前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして作成したスケジュールで必要とされる必要バンドメモリ数と、前記最小バンドメモリ数とを比較し、前記最小バンドメモリ数が少なくなるスケジュールを現時点での最適スケジュールとして管理する管理手段と、
前記並列処理用バンドメモリ数Nに1を加えた数が、前記最小バンドメモリ数よりも少なくならない場合に、前記管理手段により管理されている現時点での最適スケジュールを最終的なスケジュールとして決定する決定手段と、
前記前記決定手段により決定されたスケジュールに従って各バンドの印刷データをバンド画像データとしてレンダリングするレンダリング手段と、
各バンドメモリのバンド画像データを前記スケジュールに従って出力する出力手段とを備え、
前記スケジュール作成手段は、各バンドについて、レンダリング先のバンドメモリに格納されている出力イメージが印刷出力されて該バンドメモリが未使用になり、当該バンドのレンダリングを開始するタイミングから前記レンダリング所要時間経過したレンダリングを終了するタイミングが、前記印刷所要時間から得られる当該バンドのバンド画像データを出力するタイミングよりも遅い場合に、当該バンドをオーバーランすると予測して前記必要とされる一時的バンドメモリの数を1つずつ追加することにより、必要とされる一時的バンドメモリの数とスケジュールを作成することを特徴とする印刷装置。 - 所定の大きさの1つのバンドメモリへのバンド画像データのレンダリングと、もう1つのバンドメモリからのバンド画像データの出力を並列に行うバンド並列処理が可能な印刷装置の制御方法であって、
1ページ分の印刷データを複数のバンドに分割し、各バンドの印刷データをバンド画像データとしてレンダリングするためのレンダリング所要時間を求める時間予測工程と、
前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして、前記時間予測工程により求められたレンダリング所要時間とレンダリングされたバンド画像データの印刷所要時間とからオーバーランすると予測されるバンドを、前記バンド並列処理前に予め一時的に確保された一時的バンドメモリにレンダリングし、当該バンドのバンド画像データの出力後に、当該一時的バンドメモリを前記バンド並列処理の並列処理用バンドメモリとして用いるスケジュールを作成するスケジュール作成工程と、
前記並列処理用バンドメモリ数Nに1を加えた数が、前記スケジュール作成工程により作成されたスケジュールで必要とされる一時的バンドメモリの数を前記スケジュール作成工程で用いたバンド並列処理で用いる並列処理用バンドメモリの数に追加した必要バンドメモリ数のうちで最小の最小バンドメモリ数よりも少ない場合に、前記並列処理用バンドメモリ数Nに1を加えた数を新たな並列処理用バンドメモリ数Nとして前記スケジュール作成工程によるスケジュール作成を繰り返す繰り返し工程と、
前記繰り返し工程による繰り返し中に、前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして作成したスケジュールで必要とされる必要バンドメモリ数と、前記最小バンドメモリ数とを比較し、前記最小バンドメモリ数が少なくなるスケジュールを現時点での最適スケジュールとして管理する管理工程と、
前記並列処理用バンドメモリ数Nに1を加えた数が、前記最小バンドメモリ数よりも少なくならない場合に、前記管理工程により管理されている現時点での最適スケジュールを最終的なスケジュールとして決定する決定工程と、
前記前記決定工程により決定されたスケジュールに従って各バンドの印刷データをバンド画像データとしてレンダリングするレンダリング工程と、
各バンドメモリのバンド画像データを前記スケジュールに従って出力する出力工程とを備え、
前記スケジュール作成工程では、各バンドについて、レンダリング先のバンドメモリに格納されている出力イメージが印刷出力されて該バンドメモリが未使用になり、当該バンドのレンダリングを開始するタイミングから前記レンダリング所要時間経過したレンダリングを終了するタイミングが、前記印刷所要時間から得られる当該バンドのバンド画像データを出力するタイミングよりも遅い場合に、当該バンドをオーバーランすると予測して前記必要とされる一時的バンドメモリの数を1つずつ追加することにより、必要とされる一時的バンドメモリの数とスケジュールを作成することを特徴とする印刷装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00262998A JP3862396B2 (ja) | 1998-01-08 | 1998-01-08 | 印刷装置及び画像処理方法 |
US09/225,474 US6369910B1 (en) | 1998-01-08 | 1999-01-06 | Printing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00262998A JP3862396B2 (ja) | 1998-01-08 | 1998-01-08 | 印刷装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11198462A JPH11198462A (ja) | 1999-07-27 |
JP3862396B2 true JP3862396B2 (ja) | 2006-12-27 |
Family
ID=11534698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00262998A Expired - Fee Related JP3862396B2 (ja) | 1998-01-08 | 1998-01-08 | 印刷装置及び画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6369910B1 (ja) |
JP (1) | JP3862396B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3284464B2 (ja) * | 1998-09-29 | 2002-05-20 | セイコーエプソン株式会社 | ページプリンタ及びページプリントシステム |
JP2000177188A (ja) * | 1998-12-17 | 2000-06-27 | Brother Ind Ltd | 複写装置および記憶媒体 |
KR100327246B1 (ko) * | 1998-12-31 | 2002-05-09 | 윤종용 | 화상형성장치 및 그 비디오데이터 전송방법 |
JP3385613B2 (ja) * | 1999-12-17 | 2003-03-10 | 日本電気株式会社 | 携帯電話用プリンタケーブル及び通信データの印刷方法 |
JP2003076583A (ja) * | 2001-09-04 | 2003-03-14 | Fujitsu Ltd | レンダリング計算処理状況監視プログラムおよび記憶媒体、装置、方法 |
CN100351857C (zh) * | 2005-01-07 | 2007-11-28 | 北京北大方正电子有限公司 | 一种能够减少打印内存需求的打印控制方法 |
EP1785838B1 (en) * | 2005-11-01 | 2017-07-05 | Kyocera Mita Corporation | Image-forming system and image-forming program |
JP2008011266A (ja) * | 2006-06-29 | 2008-01-17 | Ricoh Co Ltd | 複合画像形成方法及び複合画像形成装置 |
US8184335B2 (en) * | 2008-03-25 | 2012-05-22 | Xerox Corporation | Method for ad-hoc parallel processing in a distributed environment |
JP4956517B2 (ja) * | 2008-10-02 | 2012-06-20 | 京セラドキュメントソリュ−ションズ株式会社 | データ圧縮装置、画像読取装置 |
JP5210913B2 (ja) * | 2009-02-05 | 2013-06-12 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置及び画像形成方法 |
JP5754891B2 (ja) | 2010-03-30 | 2015-07-29 | キヤノン株式会社 | 画像処理装置及びその制御方法又はプログラム |
US8711152B2 (en) * | 2010-06-16 | 2014-04-29 | Panasonic Corporation | Animation control apparatus, animation control method, and non-transitory computer readable recording medium |
US20120013938A1 (en) * | 2010-07-14 | 2012-01-19 | Hiroshi Nogawa | Image processing device, hardware accelerator, and image processing method |
JP5942860B2 (ja) * | 2013-01-10 | 2016-06-29 | 富士ゼロックス株式会社 | 印刷データ処理システム |
JP7119744B2 (ja) * | 2018-08-10 | 2022-08-17 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1023271A (ja) * | 1996-07-05 | 1998-01-23 | Canon Inc | 画像形成方法とその装置 |
JPH10147017A (ja) * | 1996-11-18 | 1998-06-02 | Canon Inc | 印刷装置及びデータ制御方法 |
-
1998
- 1998-01-08 JP JP00262998A patent/JP3862396B2/ja not_active Expired - Fee Related
-
1999
- 1999-01-06 US US09/225,474 patent/US6369910B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6369910B1 (en) | 2002-04-09 |
JPH11198462A (ja) | 1999-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3862396B2 (ja) | 印刷装置及び画像処理方法 | |
US8422046B2 (en) | Print setting based reprinting | |
US6052200A (en) | Memory management method, printing control device and printing apparatus | |
US6734989B2 (en) | Image output apparatus and method | |
JPH10217555A (ja) | 印刷装置及び画像出力制御方法 | |
US6124943A (en) | Printing apparatus and method for managing print data in units of a band | |
JP2000313145A (ja) | 印刷制御装置、印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP4343461B2 (ja) | 印刷装置及びその制御方法 | |
JP2002016783A (ja) | 画像処理装置及び方法と画像形成装置 | |
JP2004334401A (ja) | 印刷制御装置 | |
JP3337846B2 (ja) | 画像処理装置および画像処理方法 | |
JP3957859B2 (ja) | 印刷制御装置及び印刷制御方法及びプログラム記憶媒体 | |
JP3204136B2 (ja) | 画像処理装置及び圧縮処理方法 | |
JPH1016322A (ja) | 画像形成方法とその装置 | |
JP2981400B2 (ja) | 印刷装置および印刷装置のデータ処理方法 | |
JP3170494B2 (ja) | 画像形成装置および画像形成方法 | |
JP2001171185A (ja) | 画像形成装置及び画像処理方法 | |
JPH11235849A (ja) | 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2003039744A (ja) | 印刷装置及びその制御方法 | |
JP2001146049A (ja) | プリンタシステム及びそれを用いた描画処理方法及び描画処理を行うプログラムを記録した記録媒体 | |
JP2001146047A (ja) | 印刷制御装置並びに印刷制御装置の印刷データ処理方法および記憶媒体 | |
JPH11188932A (ja) | 印刷制御装置および印刷制御装置のバンド処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2003241917A (ja) | 画像処理装置、画像処理方法、プログラム及び記憶媒体 | |
JP2000177189A (ja) | 印刷装置および印刷装置の制御方法 | |
JP2004326266A (ja) | 印刷制御方法、情報処理装置及び印刷装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060623 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060822 |
|
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: 20060912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060926 |
|
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: 20091006 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131006 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |