JP3862396B2 - Printing apparatus and image processing method - Google Patents

Printing apparatus and image processing method Download PDF

Info

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
Application number
JP00262998A
Other languages
Japanese (ja)
Other versions
JPH11198462A (en
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP00262998A priority Critical patent/JP3862396B2/en
Priority to US09/225,474 priority patent/US6369910B1/en
Publication of JPH11198462A publication Critical patent/JPH11198462A/en
Application granted granted Critical
Publication of JP3862396B2 publication Critical patent/JP3862396B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1863Generation 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

【0001】
【発明の属する技術分野】
この発明は、中間データからビットマップデータを生成して印刷するレーザビームプリンタ等の印刷装置及び画像処理方法に関するものである。
【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.内の中間データ格納領域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の実施の形態におけるプリントオーバーラン対策処理手順を示したフローチャートである。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a printing apparatus such as a laser beam printer that prints by generating bitmap data from intermediate data and an image processing method.
[0002]
[Prior art]
Conventionally, data related to print contents and print format (print data) is received from a host computer, etc., and a bitmap that is actually output is formed (hereinafter referred to as rendering). Printing apparatuses of the type that print out (hereinafter referred to as shipping) are widely used.
[0003]
These types of printing devices render and display Tsu When pinging is performed at the same time, when processing complex print data or a large amount of print data, the rendering process takes longer than the bitmap data transfer time for the shipping process, and it cannot be printed normally. was there. (Hereafter, this phenomenon is referred to as print overrun).
[0004]
In order to avoid this print overrun phenomenon, the output bitmap for one page is rendered and then displayed. Tsu There is also a type of printing device that performs ping processing. In this case, however, a storage device that always holds a bitmap for one page is necessary, and in a printing device with high output resolution, the capacity of the storage device must be increased. There are disadvantages that the memory efficiency is poor and the device becomes very expensive.
[0005]
Also, one page is divided into smaller units (bands), and after one band has been rendered, Tsu There is also a type of printing device that performs rendering of the next band in parallel with the ping processing (banding processing), but in this case, the rendering time of the next band performed in parallel becomes longer than the shipping time of the previous band. In such a case, the print overrun phenomenon still occurs.
[0006]
[Problems to be solved by the invention]
The present invention has been made to eliminate the above-described conventional drawbacks, and an object of the present invention is to provide a printing apparatus and an image processing method which can suppress the capacity of a storage device and prevent a print overrun.
[0007]
[Means for Solving the Problems]
The present invention has been made in view of the above conventional example, and has the following configuration. That is, a printing apparatus capable of band parallel processing that performs parallel rendering of rendering of band image data to one band memory of a predetermined size and output of band image data from another band memory. A time predicting unit for dividing the print data for a plurality of bands into a plurality of bands and obtaining a rendering time required for rendering the print data of each band as band image data, and used in the band parallel processing For parallel processing The time required for rendering obtained by the time predicting unit and the time required for printing the rendered band image data, where N is the number of band memories When Predicted to overrun Ru Band , Rendering to a temporary band memory temporarily reserved in advance before the band parallel processing, and after outputting the band image data of the band, the temporary band memory is subjected to the band parallel processing. For parallel processing A schedule creating means for creating a schedule to be used as a band memory; For parallel processing The number obtained by adding 1 to the number of band memories N is the number of temporary band memories required in the schedule created by the schedule creation means. Ba Used in parallel processing For parallel processing Number of required band memories added to the number of band memories The smallest minimum number of band memories Less than For parallel processing 1 is added to the number of band memories N Number for new parallel processing Schedule creation by the schedule creation means as the number of band memories N The Repeating means, and During the repetition by the repetition means, the required number of band memories required in the schedule created with N as the number of band memories for parallel processing used in the band parallel processing is compared with the minimum number of band memories, and the minimum band A management means for managing a schedule with less memory as an optimal schedule at the present time; Said For parallel processing The number obtained by adding 1 to the number N of band memories is Minimum number of band memories Less than Then If not The current optimal schedule managed by the management means is finalized. Schedule As Determining means for determining; rendering means for rendering print data of each band as band image data according to the schedule determined by the determining means; and output means for outputting the band image data of each band memory according to the schedule. The schedule creating means prints out the output image stored in the rendering destination band memory for each band. The band memory Unused , Start rendering the band timing To rendering time Passed Finish rendering timing Is predicted to overrun the band when it is later than the output timing of the band image data of the band obtained from the required printing time. And adding the required number of temporary band memories one by one to create the number and schedule of temporary band memories required .
[0010]
DETAILED DESCRIPTION OF THE INVENTION
[First Embodiment]
<Description of FIG. 1 (Description of Device)>
First, the configuration of a laser beam printer (page printer) suitable as a printing apparatus of this embodiment will be described with reference to FIG.
[0011]
Needless to say, the printing apparatus to which the present embodiment is applied is not limited to a laser beam printer, and may be a printing apparatus of another printing method such as an ink jet printer.
[0012]
FIG. 1 is a cross-sectional view showing a configuration of a printing apparatus to which the present invention can be applied. For example, a laser beam printer (LBP) is shown.
[0013]
In the figure, the LBP main body 1000 inputs print data (printer language such as a page description language consisting of character codes, control codes, etc.), form information, macro instructions, etc. supplied from a host computer connected to the outside. In addition to storing, bitmap data such as a corresponding character pattern and form pattern is created according to the information, and an image is formed on a recording sheet or the like as a recording medium. The operation panel 1012 is provided with switches for operation, an LED display, and the like. The printer control unit 1001 controls the entire LBP main body 1000 and analyzes print data supplied from the host computer.
[0014]
The printer control unit 1001 mainly converts character information (character code) into a video signal having a corresponding character pattern and outputs the video signal to the laser driver 1002.
[0015]
The laser driver 1002 is a circuit for driving the semiconductor laser 1003, and switches on / off the laser light 1004 emitted from the semiconductor laser 1003 in accordance with the input video signal.
[0016]
The laser beam 1004 is shaken in the left-right direction by the rotary polygon mirror 1005 to perform operation exposure on the electrostatic drum 1006.
[0017]
As a result, an electrostatic latent image of a character pattern is formed on the electrostatic drum 1006. This latent image is developed by a developing unit 1007 disposed around the electrostatic drum 1006 and then transferred to a recording sheet. Here, the rotational speed of the electrostatic drum 1006 is constant.
[0018]
A cut sheet is used as the recording paper, and the cut sheet recording paper is stored in a paper cassette 1008 mounted on the LBP 1000 and is taken into the apparatus by a paper feed roller 1009, a transport roller 1010, and a transport roller 1011. The drum 1006 is supplied.
[0019]
The LBP main body 1000 is provided with a card slot (not shown) so that an optional font card and a control card (emulation card) having a different printer language system can be connected in addition to a built-in font.
[0020]
<Description of FIG. 2 (Configuration Block Diagram)>
FIG. 2 is a block diagram illustrating the configuration of the control system of the printing apparatus according to the present embodiment. Here, a laser beam printer (FIG. 1) will be described as an example.
[0021]
As long as the function of the present invention is executed, the present invention can be used for a single device, a system composed of a plurality of devices, or a system in which processing is performed via a network such as a LAN. The invention can be applied.
[0022]
In the figure, a host computer 2.1 is connected to a printing apparatus 2.2 via a predetermined interface (for example, a bidirectional interface) and executes communication processing.
[0023]
The input unit 2.3 performs communication processing with the host computer 2.1. The input unit 2.3 performs processing for receiving print data from the host computer 2.1.
If necessary, processing for transmitting information of the printing apparatus 2.2 to the host computer 2.1 may be performed.
[0024]
The intermediate data creation unit 2.4 performs processing for converting the print data into intermediate data that is easy to handle inside the printing apparatus.
[0025]
The RAM 2.5 is a storage device used in the present invention. The RAM 2.5 holds intermediate data derived from the print data received by the input unit 2.3, holds a bitmap resulting from rendering the intermediate data, and other temporary buffer areas necessary for processing. And hold various processing statuses.
[0026]
The ROM 2.6 holds processing described in the present invention and other processing programs executed by the printing apparatus 2.2.
[0027]
The rendering unit 2.7 creates a print image that is actually printed out according to the contents of the intermediate data stored in the RAM 2.5.
[0028]
The printing unit 2.8 is an output unit that prints out the print image created by the rendering unit 2.7, for example, on an actual paper surface.
[0029]
The CPU 2.9 actually performs printing processing of the printing apparatus 2.2 which is an embodiment of the present invention and data processing described later.
[0030]
The schedule list 2.10 holds a band memory use schedule described in FIG.
[0031]
An internal bus 2.11 connects each part of the printing apparatus.
[0032]
From here, the process which CPU2.10 performs by the program stored in ROM2.6 is demonstrated. First, a rough flow from print data reception to print output of the printing apparatus according to the embodiment of the present invention and a mechanism of band processing will be described, and then a mechanism for avoiding print overrun will be described using a time chart. Then, an actual implementation example will be described using a flowchart.
<Rough flow of print processing of this embodiment and mechanism of band processing>
First, the overall flow of the printing process will be described with a flowchart, and then the mechanism of the band processing will be described focusing on how to use the memory.
[0033]
<Description of FIG. 3 (Printing Procedure for One Page)>
FIG. 3 is a flowchart showing a procedure from reception of print data for one page by the printing apparatus 2.2 to printout.
(Data reception)
In step 3.1, print data is received by the input unit 2.3 from the host computer 2.1. The print data received in step 3.2 is sent to the intermediate data creation unit 2.4 to be converted into intermediate data, and stored in the RAM 2.5 in step 3.3. The format of the intermediate data is, for example, a format that can be easily processed by the rendering unit 2.7, a format that reduces the size of the intermediate data, or a format that speeds up the processing of the intermediate data. It can be a convenient format for internal processing.
(Rendering time calculation)
Next, in step 3.4, calculation for avoiding print overrun is performed. In step 3.4, the time required for the rendering process for the intermediate data stored in step 3.3 is calculated, and this is aggregated for each band, thereby measuring the rendering time for each band. The rendering time calculation will be described in detail with reference to FIG.
[0034]
Next, in step 3.5, it is determined whether or not the print data has been processed for one page. If the page has not been completed, the processing is repeated from step 3.2 for the next print data.
(Print overrun avoidance)
When the print data has been rendered for one page, a print overrun avoidance process is performed in step 3.6.
[0035]
In the print overrun avoidance processing, the number of band memories and the usage schedule are determined so as not to cause print overrun based on the rendering time for each band calculated in step 3.4, and a schedule list 2.10 is created. The print overrun avoidance process will be described in detail with reference to FIG.
(Print output)
Finally, in step 3.7, printing is performed on actual paper. Here, the band memory is used according to the schedule list created by the print overrun avoidance process. Details will be described with reference to FIG.
<Description of FIG. 4 (Data Input Memory Diagram)>
FIG. 4 is a diagram for explaining memory processing when the printing apparatus 2.2 receives print data. 4.4 to 4.7 in the figure show the RAM 2.5 in the printing apparatus 2.2.
[0036]
When print data is communicated and transferred from the host computer 2.1 to the input unit 2.3, the data is converted into intermediate data by the intermediate data creation unit 2.6 and the RAM2. 5 In the intermediate data storage area 4.6. The structure of the intermediate data will be described in detail with reference to FIG.
[0037]
In addition, in the RAM 2.2, in addition to the intermediate data storage area 4.6, band memory 1 (4.4) and band memory 2 (4.5), which are areas called “band memories”, are prepared. . This area is an area for storing an output image to be printed and output obtained by rendering intermediate data in a normal printing process in band units. This area will be described with reference to FIG.
[0038]
The remaining portion of RAM 2.2 is free memory 4.7. When no print data has been received, there is no intermediate data in the intermediate data creation area 4.6. Therefore, all but the band memories 1 (4.4) and 2 (4.5) are stored in the RAM. The free memory is 4.7.
[0039]
In addition, when the intermediate data for one page is stored in the intermediate data storage area 4.6 and there is still free memory 4.7, the intermediate data of the next page is stored in parallel with the print output processing of the page that has been stored. By storing it continuously, it is possible to receive continuous print data until the memory capacity is full.
[0040]
The intermediate data management structure in the intermediate data storage area 4.6 will be described below.
<Description of FIG. 5 (Intermediate Data Structure)>
FIG. 5 is a diagram illustrating the structure and management format of intermediate data by the printing apparatus 2.2. The printing apparatus according to the embodiment of the present invention divides one output page into several small areas (bands), and performs rendering of each band and print output in parallel. Therefore, in this embodiment, in order to manage the print data in band units, the print data is managed in an easily manageable format called intermediate data. The parallel processing will be described later with reference to FIG.
[0041]
A page of output paper 5.1 is divided into small areas called bands 1, 2, and so on. Each band is arranged so as to be perpendicular to the paper transport direction as shown in the figure. Since each band is divided so as to have the same area, the time required for forming the electrostatic latent image of each band at the time of paper output is constant.
[0042]
Assuming that the printing apparatus receives print data in which one character “A” and one diagonal straight line are drawn on the output sheet 5.1 as illustrated in FIG. 5, the intermediate data is as follows. It becomes the structure like this.
[0043]
First, the intermediate data is connected to the intermediate data management tables 5.2 to 5.4. There are as many intermediate data management tables 5.2 to 5.4 as the number of bands, and the intermediate data to be drawn in each band is held in a link structure.
[0044]
Here, since the character “A” is a character to be drawn in the band 2, the intermediate data 5.5 to 5.8 is connected to the intermediate data management table 5.3 of the band 2. The structure holds an area indicating the type of intermediate data, an area indicating the drawing position, and other information relating to drawing as much as necessary depending on the type of the intermediate data. The intermediate data of the character “A” indicates a data type 5.5 indicating that the type of the intermediate data is a character, a drawing position 5.6 for drawing “A”, and a character to be drawn “A”. The character code 5.7 includes modification information 5.8 relating to a character modification method such as capital letters, bag characters, and character colors.
[0045]
Since the straight line drawn on the paper 5.1 is drawn across the band 2 to the band 3, two intermediate data are created, and the intermediate data management table 5.3 for the band 2 and the intermediate data management for the band 3, respectively. Connected to table 5.4.
[0046]
The intermediate data managed in this way is rendered for each band at the time of printing and printed out. As for this data, for band 2, the data type 5.9 indicating that the data type is a straight line, the start position 5.10, the end position 5.11, the drawn straight line is a solid thick line, etc. The line type 5.12 indicates the type and thickness of the straight line. Similarly, the band 3 includes a data type 5.13, a start position 5.14, an end position 5.15, and a line type 5.16.
[0047]
<Description of FIG. 6 (banding memory)>
FIG. 6 is a diagram for explaining a band-related process (banding) when the print data stored in the intermediate data format is actually printed out.
[0048]
FIG. 6A shows a memory map after the overrun processing is finished after the intermediate data is stored in the intermediate data storage area for one page.
[0049]
The band memories 1 and 2 are raster memories that store a print output image as a result of rendering intermediate data. The intermediate data to be rendered is stored in the intermediate data storage area 6.3 with the data structure described with reference to FIG.
[0050]
If the number of band memories needs to be larger than 2 by the print overrun process after storing intermediate data for one page, a temporary band memory is used by using free memory such as after the intermediate data storage area 6.3. Create 6.4. In this figure, only one temporary band memory is created.
[0051]
FIG. 6B shows the flow of data when printing out using the two band memories 1 and 2 and the temporary band memory 6.4.
[0052]
The intermediate data is rendered by the rendering unit 2.7, and the resulting output bitmap is stored in the three band memories according to the schedule determined by the print overrun avoidance process described later. The printing unit 2.8 Print the output image on the actual paper. This process will be described later with reference to a flowchart in FIG.
<Print overrun avoidance method>
Next, an outline of a method for avoiding print overrun, which is a main part of the present invention, will be described.
[0053]
<Explanation of Fig. 7 (banding timing)>
FIG. 7 is a time chart showing the passage of time on the vertical axis and the temporal changes in the processing contents of the rendering unit and the printing unit and the output images held in the band memory 1 and the band memory 2. In this figure, the fourth band causes a print overrun. Hereinafter, the drawings will be described along the time axis.
[0054]
First, at time t0 to t1, the rendering unit 2.7 renders band 1, which is the uppermost portion printed and output at the beginning of the sheet (7.1), and outputs the resulting output image to the handler star 1. (7.8).
[0055]
Next, at t1, rotation of the electrostatic drum 1006 is started (hereinafter referred to as print output start).
[0056]
After time t1, rendering processing and print output processing are performed in parallel. Here, since each band area is constant and the rotation speed of the electrostatic drum 1006 is also constant, the print output time (time t2-t1, time t3-t2,...) Of each band is constant. It depends on the rotational speed of the electric drum 1006.
[0057]
From time t1 to t2, the printing unit 2.8 prints out the print image of band 1 already stored in the band memory 1 (7.15), and the rendering unit is stored in the intermediate data storage area. The processing (7.12) of rendering the intermediate data of band 2 (7.2) and storing the print image in band memory 2 is performed in parallel.
[0058]
Similarly, at time t2 to t3, band 2 is printed out (7.16), and band 3 is output to the band memory 1 (7.3, 7.9).
[0059]
Thereafter, similar processing is repeated, and finally, print output of band 7 is performed at time t7 to t8 (7.21), and printing for one page is completed.
[0060]
According to the above method, it is sufficient that the minimum band memory is two bands, and print output processing can be performed with a memory far smaller than the memory size necessary for storing the output image for one page.
[0061]
However, focusing attention on the rendering 7.4 of band 4 here, the rendering time of this band is longer than the time t4-t3. In addition, the rendering start time of the band 4 must be after the output image of the band 2 is printed out in order to store the rendering result in the band memory 2, that is, after t3. For this reason, the actual rendering is not finished at the timing of t4, which is the print output start time of band 4, and a print overrun occurs. That is, the printing unit 2.8 tries to start print output of the band 4 from the timing t4, but the rendering of the band 4 is not finished at this time, and printing cannot be started normally.
[0062]
In order to avoid such a problem, a print overrun solution according to the present invention will be described below.
<Description of FIG. 8 (Pre-Rendering Timing)>
FIG. 8 is a time chart illustrating a first method for avoiding print overrun.
[0063]
First, as described above with reference to FIG. 6, a memory 6.4 for a temporary band memory is secured, and the band 4 to be printed overrun is rendered in advance before the print output start timing (8.14). ). The other bands are rendered and printed out in the same manner as usual. When the band 4 is printed out, rendering is not performed, but only printing out from the temporary band memory (8.18).
[0064]
By preparing a temporary band memory and changing the rendering timing in this way, print overrun can be avoided. This method has an advantage that print overrun of the band can be surely prevented no matter how long the rendering time of one band is.
<Explanation of Fig. 9 (banding timing of 3 bands or more)>
FIG. 9 shows a second method for avoiding print overrun.
[0065]
This method also secures a memory for a temporary band memory as in FIG. 8, and this time using two or more band memories and a temporary band memory from the beginning, and using three or more band memories in order. Rendering and printout are performed in parallel.
[0066]
When there are three or more band memories, the frequency of use of each band memory decreases as shown in the figure. Therefore, the rendering time of each band can be increased as the number of band memories increases, and print overrun can be prevented.
[0067]
In the case of FIG. 9, the rendering start timing of band 4 with a long rendering time is immediately after the end of rendering of band 3 and is earlier than the case of two band memories. Is able to.
[0068]
By increasing the number of band memories that are used sequentially in this way, print overrun can be prevented. This method has a feature that the maximum renderable time can be increased as a whole. For example, when there are three band memories, the time required for printing for a maximum of two bands can be used for rendering.
<Description of FIG. 10 (Invention Banding Timing]>
Furthermore, in the present invention, FIG. 10 shows a third method for efficiently using the memory by combining the above two methods, appropriately scheduling the rendering timing, and minimizing the number of temporarily allocated band memories. .
[0069]
FIG. 10 shows that even if only one of the methods of FIG. 8 or FIG. 9 requires a temporary band memory of two or more bands, the number of necessary temporary band memories is suppressed to one band by the method of the present invention. It is a time chart of the example which shows the result. In this example, the rendering time for bands 3, 4, 5, and 6 is longer than the time required for printing output for one band.
[0070]
In the system according to the present invention, the output image of band 3 is previously rendered in the temporary band memory 6.4 as shown in FIG. After the print output of band 3 is finished, rendering and print output are performed in parallel in the band memories 1 and 2 and the temporary band memory.
[0071]
By appropriately setting the band memory use schedule in this way, it is possible to prevent a print overrun of four bands by securing one temporary band memory.
<Description of FIG. 11 (Band Memory Use Scheduling)>
A specific example of scheduling for using appropriate band memory as described above will be described with reference to FIG. FIG. 11 shows an example of data different from the previous figure. In the figure, the horizontal axis indicates each band, and the respective rendering times are indicated by the vertical axis. In the example of FIG. 11, the rendering time of the band 3 is the longest, and then the band 4, the band 5, and the band 2 are the shortest. In addition, the three dotted lines in the figure indicate the time taken to render one band without overrunning, and the bottom dotted line shows three bands in the center when two band memories are used. When a memory is used, the top shows the time when four band memories are used.
[0072]
If print data having the characteristics as shown in this figure is printed out using a two-band band memory, a print overrun occurs because bands 2 to 5 exceed the allowable time. Here, if the scheduling as shown in FIG. 8 is performed in which all the bands to be printed overrun are pre-rendered in the temporary band memory, temporary band memories for four bands are required.
[0073]
Therefore, only two temporary band memories are secured, and band 3 is rendered in advance. For band 4 and later, rendering and print output are performed in parallel using all four bands including the band memory used in band 3. By doing so, the rendering time of the bands other than the band 4 is equal to or shorter than the rendering allowable time when the 4-band memory is used, so that the print overrun does not occur.
[0074]
The gist of the present invention is to prevent a print overrun by using the minimum temporary band memory by setting an optimal rendering schedule in this way.
<Method for Realizing Print Processing Using the above Method>
The above is the flow of the printing process, how to use the memory, and the way of avoiding the print overrun according to this embodiment. A processing procedure in the printing apparatus according to the present embodiment will be described below using a flowchart. Since the overall processing flow has already been described with reference to FIG. 3, the rendering time calculation in step S3.4, the overrun countermeasure in step S3.6, and the print output processing procedure in step S3.7, which are the points in the flow, are described. explain.
<Description of FIG. 12 (Rendering Time Calculation)>
FIG. 12 is a flowchart of a procedure for calculating the rendering time for each band, which is performed in step 3.4 of FIG. The rendering time obtained here is used to determine the number of temporary band memories to be secured and the scheduling in the overrun countermeasure process in step 3.6 of FIG.
[0075]
First, in step 12.1, a rendering time calculation method is selected according to the type of intermediate data.
[0076]
If the type of intermediate data is of a type in which the rendering time is fixedly determined, processing such as obtaining the rendering time from the rendering time for the intermediate data already stored in the table is performed in step 12. Perform in step 2. This type of processing will be described with reference to FIG.
[0077]
Also, in the case of intermediate data of a type in which the rendering process is simply a copy of the memory contents, such as an image bitmap, for example, the rendering time to be calculated is determined by the size of the intermediate data. More processing time is calculated.
[0078]
Further, in the case of intermediate data of a type in which the rendering time cannot be known unless it is actually rendered, in step S12.4, the rendering process is actually executed to measure the time. This type of processing will be described with reference to FIG.
[0079]
Note that these types of branching and processing may use other types of time calculation algorithms other than those shown here.
[0080]
After performing rendering time calculation processing according to these types of intermediate data, in step 12.5, the calculated time is added to the rendering time of the entire band, and there is an object whose rendering time is not calculated in the band. If so, the calculation is performed. If not, the process is terminated.
[0081]
<Description of FIG. 13 (Rendering Time Calculation by Fixed Table Method)>
FIG. 13 is a diagram for explaining an example of processing for obtaining a fixed rendering time in step 12.2 in FIG. For intermediate data for which the rendering time is known in advance, the rendering time is searched from the correspondence table between the types of intermediate data and the corresponding rendering times as shown in the figure.
[0082]
<Description of FIG. 14 (Rendering Time Calculation by Actual Measurement Method)>
FIG. 14 is a flowchart illustrating an example of the rendering time measurement process in step 12.4 of FIG. In step 14.1, the printer internal timer is started, and in step 14.2, the intermediate data to be measured is rendered in the same manner as the actual rendering. When the rendering is finished, the timer is stopped at step 14.3. When The time taken is the rendering time.
[0083]
<Description of FIG. 15 (Schedule List)>
As described above, the rendering time of each band is calculated, and after one page of print data is stored in the memory as shown in FIG. 3, the band memory is set so as not to cause a print overrun in step 3.6 of FIG. Is created in the schedule list 2.10.
[0084]
As shown in FIG. 15, the schedule list structure is registered as a pair with the band number to be rendered in the band column 15.1 and the band memory for storing the output image obtained as a result in the band memory column 15.2. Are arranged in a list structure in the order of execution.
[0085]
In the case of FIG. 15, first, band 3 is rendered into temporary band 1, then band 1 is band memory 1, band 2 is band memory 2, band 4 is band memory 1,. It is shown that it renders in the order. The schedule shown in FIG. 15 is the schedule list in FIG. This schedule determination method will be described with reference to FIG. The printing process according to the schedule will be described with reference to FIG.
[0086]
<Description of FIG. 16 (Overrun Countermeasures)>
FIG. 16 is a flowchart illustrating a method of creating a schedule list that does not cause overrun.
[0087]
First, in step 16.1, the study starts from the case where rendering and print output are executed in parallel using two band memories. At this time, a number of 2 or less is initially set as the minimum number of band memories necessary for the scheduled rendering procedure.
[0088]
In step 16.2, the schedule is actually created, and at the same time, the number of temporary band memories that are additionally required for rendering in advance is obtained. Details of this processing will be described in detail with reference to FIG.
[0089]
Next, in step 16.3, it is compared whether or not the necessary number of band memories obtained in step 16.2 is the smallest among the schedules examined so far. That is, minimum Compare with the number of band memories. If it is the minimum, in step 16.4, the schedule just examined is used as the optimum schedule at the present time instead of the schedule decided so far. If not, ignore the considered schedule.
[0090]
In step 16.5, the number of band memories used in parallel is assumed to be one more than the number of band memories currently examined (initially 2). In step 16.6, it is determined whether the number is less than the number of band memories required in the current optimum schedule, that is, the minimum number of raster bands at the present time. If the number is smaller, the number of required band memories may be further reduced. Therefore, the examination is repeated from step 16.2. On the other hand, if the number of band memories to be examined is larger than the minimum number of raster bands, or if both are equal, it is not possible to reduce the number of required band memories, so this is necessary to prevent print overruns. Assuming that the minimum number of band memories has been determined, the optimal schedule at the present time is determined as the final schedule.
[0091]
In this way, the schedule that requires the smallest number of bands is finally determined.
[0092]
<Description of FIG. 17 (Schedule Creation)>
Next, a method for creating a schedule in step 16.2 in FIG. 16 and calculating the required number of bands will be described with reference to FIG.
[0093]
Here, the rendering time of each band obtained by the method described in FIG. 12 is used, and a schedule for executing rendering and print output in parallel with the designated number of bands in order from the first band is created.
[0094]
The processing is repeated by rendering step 17.1 to step 17.7 in the figure as rendering in order from the first band of the page.
[0095]
For the rendering of each band, first the band memory to store the output image obtained as a result of rendering in step 17.1 is determined. The band memory uses a specified number of band memories in order as described with reference to FIG.
[0096]
Next, in step 17.2, the rendering start and rendering end timings are calculated as follows.
[0097]
Rendering start = timing when previous rendering has been completed and rendering destination band memory is unused
Render end = Render start timing + Render time of the band
Here, the use / unuse timing of the band memory is calculated as follows.
[0098]
Band memory use start = Rendering start timing in the band memory
End of use of band memory = Timing when output image stored in the band memory is printed out
The band memory is in use from the start of use of the band memory to the end of use, and the band memory is not used from the end of use to the start of use.
[0099]
It should be noted that the timing at which the designated band starts to be printed / the timing at which printing ends is the time required for printing one band (paper transport time for one band) is a fixed value. Easy to determine.
[0100]
Based on the rendering start timing thus obtained, a print overrun is checked in step 17.3. That is, as shown in FIG. 10, when the rendering end timing when the band rendering and the print output are sequentially performed using the given number of band memories is later than the print output start timing, the band is It will be overrun.
[0101]
If it is determined in step 17.3 that the overrun will not occur, the band number to be rendered and the band memory number of the rendering output destination are added to the end of the schedule list in step 17.5.
[0102]
On the other hand, if it is determined in step 17.3 that an overrun occurs, the number of band memories that need to be added is increased by 1 in step 17.4, and in step 17.6, the added band memory is added to step S17.3. The band number and the band memory number are registered at the head of the schedule list so that the band determined to be overrun is rendered in advance (pre-rendering) before starting the printing unit.
[0103]
The band memory once added here is used to perform rendering and print output in parallel in the same manner as a normal band memory after the print image stored in the band memory is printed out. By doing this, the subsequent rendering allowance time is increased, and the occurrence rate of print overrun is reduced.
[0104]
The above processing is performed to calculate the timing of all the bands in order from the top band of the page, and the schedule in which the print overrun does not occur is determined.
[0105]
<Description of FIG. 18 (Print Output Processing)>
A process of actually printing using the schedule list created in this way will be described with reference to FIG. FIG. 18 shows the print output process shown in step 3.7 of FIG.
[0106]
First, in step 18.1, the first schedule in the schedule list is acquired.
[0107]
In step 18.2, the state of the band memory of the rendering destination described in the schedule is checked, and if it is not in use, that is, it may be used for rendering, intermediate data of the band described in the schedule is stored there. Render (step 18.3). Initially no band memory is used, so you can always render.
[0108]
And it returns to step 18.1 again and gets the next schedule from a schedule list. Next, similarly, if the band memory is not in use, rendering is performed, and the process returns to step 18.1. By repeating this, all rendering schedules that can be executed before starting the print engine are rendered. Accordingly, the band scheduled to be pre-rendered is near the top of the schedule list, and is therefore rendered before printing.
[0109]
When there are no more rendering operations that can be performed, the process proceeds to step 18.4 to start the print engine. At this time, the printing unit sequentially reads and prints data from the band memory in the order according to the schedule. That is, since the band order to be printed is determined to be ascending from 1, the band memory in which the band to be printed is rendered is confirmed from the schedule list, and image data is output from the band memory. For this purpose, a schedule is transferred to the controller of the printing unit 2.8, and the controller reads out the data from the band memory and prints it in the order according to the schedule. Alternatively, the band memory to be read may be ordered and passed to the controller, and the controller may output the contents of the band memory in the order of delivery.
[0110]
When printing is started by printing, rendering results are printed out on an actual sheet in order from band 1, and when output is completed, the band memory in which the band that has been output is stored is unused.
[0111]
In step 18.5, the process waits until the band memory to store the next rendering result becomes unused according to the schedule, and then renders in step 18.6. Here, since this rendering is guaranteed to be finished by the timing when printing of the rendering result of the band is surely performed, a print overrun does not occur.
[0112]
This is repeated for all schedules in the schedule list (step 18.7), and the print output process for one page is completed. When finished, the next page schedule is obtained in step 18.8 and printed in the same manner. When all the schedules in the schedule list have been processed, printing is finished.
[0113]
<Summary of First Embodiment>
As described above, in the printing apparatus according to the present embodiment, it is possible to improve memory efficiency by preventing the occurrence of print overrun and minimizing the necessary number of band memories necessary for rendering.
[0114]
In addition, since the rendering time is measured as necessary, print overrun can be reliably prevented.
[0115]
In addition, not only using pre-rendering but also using additional band memory, and if there is a pre-rendered band available, rendering is performed in parallel with the print output using that band. Necessary memory can be minimized.
[Second Embodiment]
Next, a second embodiment of the present invention will be shown.
[0116]
In the present embodiment, for a band having a long rendering time, the band is rendered in advance and then compressed, and is expanded at the time of print output to prevent print overrun. That is, the decompression time of the compressed data needs to be predictable.
[0117]
FIG. 19 is a block diagram illustrating a configuration of a printing apparatus according to the second embodiment. 19.1 to 19.11 in the figure are the same as blocks 2.1 to 2.11 in the block diagram of the first embodiment.
[0118]
The compression / decompression unit 19.12 compresses and decompresses the image data by an already known encoding method.
[0119]
As an explanation of the second embodiment, the entire print processing procedure will be described first, and then a process for avoiding a print overrun by the printing apparatus of the present embodiment will be described with a flowchart.
[0120]
<Usage of compression / decompression>
FIG. 20 is a flowchart showing a printing procedure for one page in the present embodiment. Steps 20.1 to 20.6 are the same as steps 3.1 to 3.6 in FIG. 3 of the first embodiment, and thus description thereof is omitted. In this embodiment, step 20.6 is followed by step 20.7, which renders and compresses the specified band, and in step 20.8, the compressed band is decompressed and scheduled. The uncompressed band which is expanded in the band memory is rendered and printed on the band memory. Details of this processing will be described with reference to FIG. Here, step 20.4 is performed by the procedure of FIG. 12, and step 20.8 is generally performed by the procedure of FIG. However, for the compressed band, decompression processing is performed instead of rendering in step 18.6.
[0121]
FIG. 21A is a memory diagram for explaining the compression processing performed in step 20.7 of FIG. 20, and FIG. 21B is a diagram for explaining an operation for decompressing at the time of print output.
[0122]
First, in the compression process, the rendering unit 19.7 renders the specified band intermediate data 21.3 to the band memory 21.1 in accordance with the schedule created in step 20.6. Thereafter, the output image is compressed using the compression function of the compression / decompression unit 19.12 and stored in the compressed data storage area 21.4.
[0123]
At the time of print output, for data compressed according to the schedule, as shown in FIG. 21B, the compressed data 21.4 is decompressed to the band memory using the decompression function of the compression / decompression unit 19.12. The printing unit 19.8 prints out the paper.
Uncompressed data is rendered and printed out.
[0124]
<Print overrun avoidance>
Processing for preventing print overrun by using the compression / decompression operation as described above will be described below.
[0125]
FIG. 22 is a flowchart illustrating the process of determining which band to compress in step 20.6 in FIG. 20 for the overrun avoidance process of the present embodiment.
[0126]
Starting from the case where it is set that there is no band to be compressed in Step 22.1, the case where compression is performed one by one from the band having the longest rendering time will be examined in Step 22.2 to Step 22.6.
[0127]
In step 22.2, a schedule list is created by the procedure described with reference to FIG. 17 of the first embodiment, and at the same time, the required number of band memories is calculated to be minimized. Here, unlike the first embodiment, for a band that is compressed, the decompression time of the compressed data is used instead of the rendering time for timing calculation.
[0128]
Then, in step 22.3, the required memory amount is calculated from the sum of the required number of required band memories and the compressed data size of the band designated for compression.
[0129]
If it is determined in step 22.4 that the amount of memory is smaller than the required memory amount calculated so far, in step 22.5, the schedule under consideration is the schedule for the minimum memory usage rate to date.
[0130]
Then, considering that one band having the next long rendering time is compressed in step 22.6, the examination from step 22.2 is repeated until all bands are compressed in step 22.7.
[0131]
<Summary of Second Embodiment>
As described above, by rendering before rendering the data having a long rendering time by the number of bands that minimizes the required memory and then compressing the data, there is an effect that the print overrun can be prevented efficiently. Further, since the band is compressed and stored, even if the most memory is required, it is possible to prevent print overrun with a surely smaller memory than the memory for one page. Also, rendering is performed in parallel with printing, and even if the rendering time exceeds the transport time for one band, compression is not performed if overrun can be prevented by using three or more band memories. , Memory can be minimized. Even if the rendering time exceeds the transport time for one band, if the overrun can be prevented by rendering and compressing in advance without using the additional band memory, the additional band memory is not used. , Memory can be minimized.
[0132]
[Other Embodiments]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device. You may apply to.
[0133]
In addition, an object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus stores the storage medium. This can also be achieved by reading and executing the program code stored in. ;
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0134]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0135]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. A case where part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.
[0136]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. This includes a case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0137]
【The invention's effect】
As described above, the printing apparatus and the image processing method according to the present invention have an effect that a print overrun can be prevented with a small storage capacity.
[Brief description of the drawings]
FIG. 1 is a cross-sectional view showing a configuration of an output device to which the present invention can be applied.
FIG. 2 is a block diagram illustrating a configuration of a printer control system according to an embodiment of the present invention.
FIG. 3 is a flowchart showing a one-page printing procedure according to the first embodiment of the present invention.
FIG. 4 is a diagram illustrating memory processing when print data is received according to the embodiment of the present invention.
FIG. 5 is a diagram illustrating the structure and management format of intermediate data in the embodiment of the present invention.
FIG. 6 is a diagram illustrating memory processing when print data actually stored in an intermediate data format according to an embodiment of the present invention is printed out.
FIG. 7 is a time chart illustrating processing timing of print output processing according to the embodiment of the present invention.
FIG. 8 is a time chart illustrating a process of rendering in advance in a temporary band memory in a process for avoiding a print overrun according to the embodiment of the present invention.
FIG. 9 is a time chart illustrating the timing of rendering and print output using a band memory of three or more bands in the process for avoiding print overrun according to the embodiment of the present invention.
FIG. 10 is a time chart showing an example of avoiding a print overrun with a minimum memory usage rate in the embodiment of the present invention.
FIG. 11 is a diagram for explaining the concept of processing for avoiding a print overrun with a minimum memory usage rate in the embodiment of the present invention;
FIG. 12 is a flowchart showing a rendering time calculation processing procedure according to the embodiment of the present invention.
FIG. 13 is a diagram illustrating a fixed table method for rendering time calculation according to the embodiment of the present invention.
FIG. 14 is a flowchart showing a processing procedure of an actual measurement method of rendering time calculation in the embodiment of the present invention.
FIG. 15 is a diagram showing a structure of a schedule list for storing rendering and band memory use schedules in the embodiment of the present invention.
FIG. 16 is a flowchart illustrating a print overrun countermeasure processing procedure according to the embodiment of the present invention.
FIG. 17 is a flowchart showing a schedule list creation processing procedure and a processing procedure for obtaining the required number of band memories in the embodiment of the present invention.
FIG. 18 is a flowchart illustrating a print output procedure according to the embodiment of the present invention.
FIG. 19 is a block diagram illustrating a configuration of a printer control system according to a second embodiment of the present invention.
FIG. 20 is a flowchart showing a one-page printing procedure in the second embodiment of the invention.
FIG. 21 is a memory diagram showing compression / decompression processing in the second embodiment of the present invention;
FIG. 22 is a flowchart showing a print overrun countermeasure processing procedure in the second embodiment of the present invention;

Claims (2)

所定の大きさの1つのバンドメモリへのバンド画像データのレンダリングと、もう1つのバンドメモリからのバンド画像データの出力を並列に行うバンド並列処理が可能な印刷装置であって、
1ページ分の印刷データを複数のバンドに分割し、各バンドの印刷データをバンド画像データとしてレンダリングするためのレンダリング所要時間を求める時間予測手段と、
前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして、前記時間予測手段により求められたレンダリング所要時間とレンダリングされたバンド画像データの印刷所要時間からオーバーランすると予測されバンドを前記バンド並列処理前に予め一時的に確保された一時的バンドメモリにレンダリングし、当該バンドのバンド画像データの出力後に、当該一時的バンドメモリを前記バンド並列処理の並列処理用バンドメモリとして用いるスケジュールを作成するスケジュール作成手段と、
前記並列処理用バンドメモリ数Nに1を加えた数が、前記スケジュール作成手段により作成されたスケジュールで必要とされる一時的バンドメモリの数を前記スケジュール作成手段で用いたンド並列処理で用いる並列処理用バンドメモリの数に追加した必要バンドメモリ数のうちで最小の最小バンドメモリ数よりも少ない場合に、前記並列処理用バンドメモリ数Nに1を加えた数を新たな並列処理用バンドメモリ数Nとして前記スケジュール作成手段によるスケジュール作成繰り返す繰り返し手段と、
前記繰り返し手段による繰り返し中に、前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして作成したスケジュールで必要とされる必要バンドメモリ数と、前記最小バンドメモリ数とを比較し、前記最小バンドメモリ数が少なくなるスケジュールを現時点での最適スケジュールとして管理する管理手段と、
前記並列処理用バンドメモリ数Nに1を加えた数が、前記最小バンドメモリ数よりも少なくならない場合に、前記管理手段により管理されている現時点での最適スケジュールを最終的なスケジュールとして決定する決定手段と、
前記前記決定手段により決定されたスケジュールに従って各バンドの印刷データをバンド画像データとしてレンダリングするレンダリング手段と、
各バンドメモリのバンド画像データを前記スケジュールに従って出力する出力手段とを備え、
前記スケジュール作成手段は、各バンドについて、レンダリング先のバンドメモリに格納されている出力イメージが印刷出力されて該バンドメモリが未使用になり当該バンドのレンダリングを開始するタイミングから前記レンダリング所要時間経過したレンダリングを終了するタイミングが、前記印刷所要時間から得られる当該バンドのバンド画像データを出力するタイミングよりも遅い場合に、当該バンドをオーバーランすると予測して前記必要とされる一時的バンドメモリの数を1つずつ追加することにより、必要とされる一時的バンドメモリの数とスケジュールを作成することを特徴とする印刷装置。
A printing apparatus capable of band parallel processing for rendering band image data to one band memory of a predetermined size and outputting band image data from another band memory in parallel,
A time predicting unit that divides print data for one page into a plurality of bands and obtains a time required for rendering to print the print data of each band as band image data;
The band number of bands memory for parallel processing using parallel processing as N, a band and a rendering required time and rendered printing turnaround time of the band image data Ru predicted to overrun determined by the time predicting means, wherein Rendering to a temporary band memory temporarily reserved before the band parallel processing, and after outputting the band image data of the band, a schedule to use the temporary band memory as a band memory for parallel processing of the band parallel processing A schedule creation means to create;
The number obtained by adding 1 to the parallel processing band memory number N is used the number of temporary band memory required by the schedule created by the schedule creating means by bands parallel processing used in the scheduling means When the number of required band memories added to the number of parallel processing band memories is smaller than the minimum minimum number of band memories, the number obtained by adding 1 to the number N of parallel processing band memories is a new parallel processing band. Repeating means for repeating schedule creation by the schedule creation means as the number of memories N;
During the repetition by the repetition means, the required number of band memories required in the schedule created with N as the number of band memories for parallel processing used in the band parallel processing is compared with the minimum number of band memories, and the minimum band A management means for managing a schedule with less memory as an optimal schedule at the present time;
When the number obtained by adding 1 to the number N of parallel processing band memories does not become smaller than the minimum number of band memories , the current optimal schedule managed by the management unit is determined as a final schedule. A determination means;
Rendering means for rendering print data of each band as band image data according to the schedule determined by the determination means;
Output means for outputting the band image data of each band memory according to the schedule,
The schedule creation means prints out an output image stored in a band memory of a rendering destination for each band, the band memory becomes unused, and the time required for rendering elapses from the timing of starting rendering of the band. If the timing of finishing the rendering is later than the timing of outputting the band image data of the band obtained from the time required for printing, it is predicted that the band will be overrun, and the required temporary band memory is stored. A printing apparatus characterized in that the number of temporary band memories required and a schedule are created by adding numbers one by one .
所定の大きさの1つのバンドメモリへのバンド画像データのレンダリングと、もう1つのバンドメモリからのバンド画像データの出力を並列に行うバンド並列処理が可能な印刷装置の制御方法であって、
1ページ分の印刷データを複数のバンドに分割し、各バンドの印刷データをバンド画像データとしてレンダリングするためのレンダリング所要時間を求める時間予測工程と、
前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして、前記時間予測工程により求められたレンダリング所要時間とレンダリングされたバンド画像データの印刷所要時間からオーバーランすると予測されバンドを前記バンド並列処理前に予め一時的に確保された一時的バンドメモリにレンダリングし、当該バンドのバンド画像データの出力後に、当該一時的バンドメモリを前記バンド並列処理の並列処理用バンドメモリとして用いるスケジュールを作成するスケジュール作成工程と、
前記並列処理用バンドメモリ数Nに1を加えた数が、前記スケジュール作成工程により作成されたスケジュールで必要とされる一時的バンドメモリの数を前記スケジュール作成工程で用いたンド並列処理で用いる並列処理用バンドメモリの数に追加した必要バンドメモリ数のうちで最小の最小バンドメモリ数よりも少ない場合に、前記並列処理用バンドメモリ数Nに1を加えた数を新たな並列処理用バンドメモリ数Nとして前記スケジュール作成工程によるスケジュール作成繰り返す繰り返し工程と、
前記繰り返し工程による繰り返し中に、前記バンド並列処理で用いる並列処理用バンドメモリ数をNとして作成したスケジュールで必要とされる必要バンドメモリ数と、前記最小バンドメモリ数とを比較し、前記最小バンドメモリ数が少なくなるスケジュールを現時点での最適スケジュールとして管理する管理工程と、
前記並列処理用バンドメモリ数Nに1を加えた数が、前記最小バンドメモリ数よりも少なくならない場合に、前記管理工程により管理されている現時点での最適スケジュールを最終的なスケジュールとして決定する決定工程と、
前記前記決定工程により決定されたスケジュールに従って各バンドの印刷データをバンド画像データとしてレンダリングするレンダリング工程と、
各バンドメモリのバンド画像データを前記スケジュールに従って出力する出力工程とを備え、
前記スケジュール作成工程では、各バンドについて、レンダリング先のバンドメモリに格納されている出力イメージが印刷出力されて該バンドメモリが未使用になり当該バンドのレンダリングを開始するタイミングから前記レンダリング所要時間経過したレンダリングを終了するタイミングが、前記印刷所要時間から得られる当該バンドのバンド画像データを出力するタイミングよりも遅い場合に、当該バンドをオーバーランすると予測して前記必要とされる一時的バンドメモリの数を1つずつ追加することにより、必要とされる一時的バンドメモリの数とスケジュールを作成することを特徴とする印刷装置の制御方法。
A control method for a printing apparatus capable of performing band parallel processing for rendering band image data to one band memory of a predetermined size and outputting band image data from another band memory in parallel,
A time prediction step of dividing print data for one page into a plurality of bands, and obtaining a rendering time for rendering the print data of each band as band image data;
The band number of bands memory for parallel processing using parallel processing as N, the time predicted rendering required time obtained by the process and rendered expected Ru band to overrun the printing turnaround time and the band image data, the Rendering to a temporary band memory temporarily reserved before the band parallel processing, and after outputting the band image data of the band, a schedule to use the temporary band memory as a band memory for parallel processing of the band parallel processing Schedule creation process to create,
The number obtained by adding 1 to the parallel processing band memory number N is used the number of temporary band memory required by the schedule created by the scheduling process by bands parallel processing used in the scheduling process When the number of required band memories added to the number of parallel processing band memories is smaller than the minimum minimum number of band memories, the number obtained by adding 1 to the number N of parallel processing band memories is a new parallel processing band. a repeating step of repeating scheduling by said scheduling step as a memory number N,
During the repetition of the repetition process, the required number of band memories required in the schedule created by setting the number of parallel processing band memories used in the band parallel processing as N is compared with the minimum number of band memories, and the minimum band A management process for managing a schedule with less memory as an optimal schedule at the present time;
When the number obtained by adding 1 to the number N of parallel processing band memories does not become smaller than the minimum number of band memories , the current optimal schedule managed by the management process is determined as a final schedule. A decision process;
A rendering step of rendering print data of each band as band image data according to the schedule determined by the determination step;
An output step of outputting band image data of each band memory according to the schedule,
In the scheduling process, for each band, the output image stored in the band memory of the rendering destination is printed output becomes the band memory is unused, the rendering required time elapses from timing to start the rendering of the band If the timing of finishing the rendering is later than the timing of outputting the band image data of the band obtained from the time required for printing, it is predicted that the band will be overrun, and the required temporary band memory is stored. A method for controlling a printing apparatus, wherein the number of temporary band memories required and a schedule are created by adding the numbers one by one .
JP00262998A 1998-01-08 1998-01-08 Printing apparatus and image processing method Expired - Fee Related JP3862396B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00262998A JP3862396B2 (en) 1998-01-08 1998-01-08 Printing apparatus and image processing method
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 (en) 1998-01-08 1998-01-08 Printing apparatus and image processing method

Publications (2)

Publication Number Publication Date
JPH11198462A JPH11198462A (en) 1999-07-27
JP3862396B2 true JP3862396B2 (en) 2006-12-27

Family

ID=11534698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00262998A Expired - Fee Related JP3862396B2 (en) 1998-01-08 1998-01-08 Printing apparatus and image processing method

Country Status (2)

Country Link
US (1) US6369910B1 (en)
JP (1) JP3862396B2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3284464B2 (en) * 1998-09-29 2002-05-20 セイコーエプソン株式会社 Page printer and page print system
JP2000177188A (en) * 1998-12-17 2000-06-27 Brother Ind Ltd Duplicator and memory medium
KR100327246B1 (en) * 1998-12-31 2002-05-09 윤종용 Image forming apparatus and video data transmission method
JP3385613B2 (en) * 1999-12-17 2003-03-10 日本電気株式会社 Printer cable for mobile phone and communication data printing method
JP2003076583A (en) * 2001-09-04 2003-03-14 Fujitsu Ltd Rendering calculation processing condition monitoring program and storage medium, device and method
CN100351857C (en) * 2005-01-07 2007-11-28 北京北大方正电子有限公司 Printing control method capable of reducing print memory requirement
EP1785838B1 (en) * 2005-11-01 2017-07-05 Kyocera Mita Corporation Image-forming system and image-forming program
JP2008011266A (en) * 2006-06-29 2008-01-17 Ricoh Co Ltd Method and apparatus for forming composite image
US8184335B2 (en) * 2008-03-25 2012-05-22 Xerox Corporation Method for ad-hoc parallel processing in a distributed environment
JP4956517B2 (en) * 2008-10-02 2012-06-20 京セラドキュメントソリュ−ションズ株式会社 Data compression device, image reading device
JP5210913B2 (en) * 2009-02-05 2013-06-12 京セラドキュメントソリューションズ株式会社 Image forming apparatus and image forming method
JP5754891B2 (en) * 2010-03-30 2015-07-29 キヤノン株式会社 Image processing apparatus and control method or program thereof
JP5750103B2 (en) * 2010-06-16 2015-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Animation control apparatus, animation control method, and animation control program
US20120013938A1 (en) * 2010-07-14 2012-01-19 Hiroshi Nogawa Image processing device, hardware accelerator, and image processing method
JP5942860B2 (en) * 2013-01-10 2016-06-29 富士ゼロックス株式会社 Print data processing system
JP7119744B2 (en) * 2018-08-10 2022-08-17 京セラドキュメントソリューションズ株式会社 image forming device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1023271A (en) * 1996-07-05 1998-01-23 Canon Inc Image-forming method and its device
JPH10147017A (en) * 1996-11-18 1998-06-02 Canon Inc Printing device and data control method

Also Published As

Publication number Publication date
US6369910B1 (en) 2002-04-09
JPH11198462A (en) 1999-07-27

Similar Documents

Publication Publication Date Title
JP3862396B2 (en) Printing apparatus and image processing method
US8422046B2 (en) Print setting based reprinting
US7256908B2 (en) Printing control apparatus, data processing method for printing control apparatus, and storage medium storing computer-readable program
US6052200A (en) Memory management method, printing control device and printing apparatus
US6734989B2 (en) Image output apparatus and method
JPH10217555A (en) Printer and method for controlling image output
US6124943A (en) Printing apparatus and method for managing print data in units of a band
JP4343461B2 (en) Printing apparatus and control method thereof
JP2002016783A (en) Image processing unit and its method and image forming device
JP2004334401A (en) Printing controller
JP3337846B2 (en) Image processing apparatus and image processing method
JP3957859B2 (en) Print control apparatus, print control method, and program storage medium
JP3204136B2 (en) Image processing apparatus and compression processing method
JP2981400B2 (en) Printing apparatus and data processing method for printing apparatus
JP3170494B2 (en) Image forming apparatus and image forming method
JP2001171185A (en) Image-forming apparatus and method for processing image
JPH11235849A (en) Image processing device, data processing method thereof, and storage medium storing program readable by computer
JP2003039744A (en) Printer and method of controlling the same
JP2001146049A (en) Printer system, drawing processing method using the same and recording medium having program performing drawing processing recorded thereon
JP2001146047A (en) Printing control device, printing data processing method thereof and memory medium
JPH11188932A (en) Print controller, band processing method therefor and storage medium storing computer readable program
JP2003241917A (en) Image processor, image processing method, program and recording medium
JP2000177189A (en) Printer and control method therefor
JP2004326266A (en) Print control method, information processing device, and printer
JPH11198489A (en) Printing processing apparatus

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