JPH10147017A - 印刷装置及びデータ制御方法 - Google Patents

印刷装置及びデータ制御方法

Info

Publication number
JPH10147017A
JPH10147017A JP8306563A JP30656396A JPH10147017A JP H10147017 A JPH10147017 A JP H10147017A JP 8306563 A JP8306563 A JP 8306563A JP 30656396 A JP30656396 A JP 30656396A JP H10147017 A JPH10147017 A JP H10147017A
Authority
JP
Japan
Prior art keywords
data
band
rendering
print
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.)
Withdrawn
Application number
JP8306563A
Other languages
English (en)
Inventor
Keisuke Mitani
圭介 三谷
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 JP8306563A priority Critical patent/JPH10147017A/ja
Priority to US08/968,668 priority patent/US6124943A/en
Publication of JPH10147017A publication Critical patent/JPH10147017A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/12Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0014Transforming the printer input data into internal codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【課題】 記憶装置の容量をある程度低く抑えると共に
プリントオーバーランを防ぎ、またメモリデッドロック
が起きない処理を行なうことにより、確実に全てのペー
ジの印刷ができることを保証された印刷装置を安価に実
現する。 【解決手段】 印刷データを中間データでバンド毎に管
理し(291)、バンディング出力する(297)。プ
リントオーバーランするバンドについては一時的なバン
ドラスタを確保して印刷出力実行前にレンダリングする
(292)。メモリ空き容量不足により一時的なバンド
ラスタが確保できない場合は通常バンドラスタにレンダ
リングして圧縮し、圧縮データとしてバンドを管理する
(293)。メモリデッドロック時には複数の圧縮方式
から適当な方式を選択して全バンドを圧縮する(294
〜296)。すべての状態(291,293)で全バン
ド圧縮ができるかどうかを判断し、処理不可能になる前
に全バンド圧縮処理を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、中間データから
ビットマップデータを生成して印刷するレーザビームプ
リンタ等の印刷装置及びそれら印刷装置におけるデータ
制御方法に関するものである。
【0002】
【従来の技術】従来より、ホストコンピュータなどから
印刷内容や印刷形式に関するデータ(印刷データ)を受信
して、それを元に実際に出力するビットマップを形成
(以後レンダリングとする)し、そのビットマップを例え
ば紙面上に印刷出力(以後シッピング)するタイプの印刷
装置が広く使われている。
【0003】このようなタイプの印刷装置でレンダリン
グとシッピングを同時に行なった場合、複雑な印刷デー
タや、多量の印刷データを処理する場合、レンダリング
処理にかかる時間がシッピング処理に行なうビットマッ
プデータ転送時間より長くかかってしまい、正常に印刷
出力できないという欠点があった。(以後、この現象を
プリントオーバーランと称する)。
【0004】また、このプリントオーバーラン現象を回
避するために、1ページ分の出力ビットマップをレンダ
リングしてからシッピング処理を行なうタイプの印刷装
置もあったが、この場合必ず1ページ分のビットマップ
を保持する記憶装置が必要となり、出力解像度が高い印
刷装置などでは記憶装置の容量を大きくしなければなら
ないため、装置が非常に高価なものになってしまう欠点
がある。
【0005】また、1ページをそれより小さな単位(バン
ド)で区切り、1バンド分のレンダリングを終えてからシ
ッピングし、シッピング処理と並列に次のバンドのレン
ダリングを行なう(バンディング処理)タイプの印刷装置
もあるが、この場合、並列に行なっている次のバンドの
レンダリング時間が、前のバンドのシッピング時間より
大きくなってしまう場合、やはりプリントオーバーラン
現象が起きてしまうという欠点があった。
【0006】また、レンダリングされたビットマップを
確保する記憶装置以外に1ページ分の印刷データを確保
する記憶装置が必要であるため、記憶装置の記憶容量が
不足した場合、1ページ分の印刷データを処理できない
という現象(以後メモリデッドロックと称す)が起きてし
まうという欠点もあった。
【0007】
【発明が解決しようとする課題】本発明は以上のような
従来の欠点を除去するためになされたもので、記憶装置
の容量をある程度低く抑えると共にプリントオーバーラ
ンを防ぎ、またメモリデッドロックが起きない処理を行
なうことにより、確実に全てのページの印刷ができると
いう保証を安価に実現する印刷装置及びデータ制御方法
を提供することを目的としている。
【0008】
【課題を解決するための手段】本発明の印刷装置及びデ
ータ制御方法は、 ・印刷データをバンド単位で管理する手段 ・バンド単位にレンダリングとシッピングを同時に行な
う手段 ・イメージをデータ変換して管理する手段 ・データ変換されたデータを元に復元する手段 ・データ変換されたデータを元に復元して他のイメージ
と融合する手段 ・データ変換されたデータを元に復元してシッピングを
行なう手段 ・データ変換するかどうかを判断する手段 ・印刷データのサイズの計算する手段 ・データ変換後のデータサイズを計算する手段 ・レンダリング所要時間を計算する手段 ・レンダリングタイミングを変える手段 ・レンダリングタイミングを変えるかどうか判断する手
段 を設けたものである。
【0009】また、好適には、本発明の印刷装置及びデ
ータ制御方法は、イメージのデータ変換方法が圧縮処理
であることを特徴とする。
【0010】また、好適には、本発明の印刷装置及びデ
ータ制御方法は、イメージのデータ変換方法が解像度低
下処理であることを特徴とする。
【0011】また、好適には、本発明の印刷装置及びデ
ータ制御方法は、イメージのデータ変換方法が階調低下
処理であることを特徴とする。
【0012】また好適には、本発明の印刷装置及びデー
タ制御方法は、データ変換するかどうかという判断にお
いて、複数のデータ変換方法のうちどの方法を用いるか
をも判断することを特徴とする。
【0013】また好適には、本発明の印刷装置及びデー
タ制御方法は、データ変換後のデータサイズを計算する
際に、求めるサイズを、圧縮方法に基づいた圧縮後のサ
イズを予想して計算することを特徴とする。
【0014】また好適には、本発明の印刷装置及びデー
タ制御方法は、レンダリングタイミングを変える手段
は、一時的なラスタメモリを確保して、そこにシッピン
グ前にレンダリングする方法であることを特徴とする。
【0015】また好適には、本発明の印刷装置及びデー
タ制御方法は、レンダリングのタイミングを変えるかど
うかの判断をバンド毎に行なうことを特徴とする。
【0016】また好適には、本発明の印刷装置及びデー
タ制御方法は、バンドのレンダリングのタイミングを変
えるかどうかの判断は、バンドのレンダリング時間を、
バンド高さと紙搬送速度により決定されたしきい値と比
べることによって判断することを特徴とする。
【0017】また好適には、本発明の印刷装置及びデー
タ制御方法は、バンドのレンダリングのタイミングを変
えるかどうかの判断は、バンドのレンダリング時間を、
以前のバンドをレンダリングし終ってから該当バンドを
レンダリングし始める必要が発生するまでの時間から決
定されたしきい値と比べることを特徴とする。
【0018】
【発明の実施の形態】
実施形態1 1.印刷装置の構成 まず、本発明の実施形態1を適用するのに好適なレーザ
ビームプリンタ(ページプリンタ)の構成について図1を
参照しながら説明する。なお、本発明を適用する印刷装
置は、レーザビームプリンタに限られるものではなく、
インクジェットプリンタ等の他のプリント方法の印刷装
置でも良いことはいうまでもない。
【0019】図1は本発明を適用可能な印刷装置の構成
を示す断面図であり、例えばレーザビームプリンタ(LB
P)の場合を示す。
【0020】図において、1000はLBP本体であり、外部
に接続されているホストコンピュータから供給される印
刷データ(文字コード、制御コード等からなるページ記
述言語等のプリンタ言語)やフォーム情報あるいはマク
ロ命令等を入力して記憶するとともに、それらの情報に
したがって対応する文字パターンやフォームパターン等
のビットマップデータを作成し、記録媒体である記録紙
等に像を形成する。1012は操作のためのスイッチ及びLE
D表示器等が配されている操作パネル、1001はLBP本体10
00全体の制御及びホストコンピュータから供給される印
刷データ等を解析するプリンタ制御ユニットである。
【0021】このプリンタ制御ユニット1001は、主に文
字情報(文字コード)を対応する文字パターンのビデオ信
号に変換してレーザドライバ1002に出力する。
【0022】レーザドライバ1002は半導体レーザ1003を
駆動するための回路であり、入力されたビデオ信号に応
じて半導体レーザ1003から発射されるレーザ光1004をオ
ン・オフ切り換えする。
【0023】レーザ光1004は回転多面鏡1005で左右方向
に振られて静電ドラム1006上を操作露光する。
【0024】これにより、静電ドラム1006上には文字パ
ターンの静電潜像が形成されることになる。この潜像
は、静電ドラム1006周囲に配設された現像ユニット1007
により現像された後、記録紙に転写される。ここで静電
ドラム1006の回転速度は一定である。
【0025】この記録紙にはカットシートを用い、カッ
トシート記録紙はLBP1000に装着した用紙カセット1008
に収納され、給紙ローラ1009および搬送ローラ1010と搬
送ローラ1011とにより、装置内に取り込まれて、静電ド
ラム1006に供給される。
【0026】またLBP本体1000には、図示しないカード
スロットを備え、内蔵フォントに加えてオプションフォ
ントカード、プリンタ言語系の異なる制御カード(エミ
ュレーションカード)を接続できるように構成されてい
る。
【0027】図2はレーザビームプリンタ(図1)のプリン
タ制御システムの構成を説明するブロック図である。
【0028】なお、本発明の機能が実行されるのであれ
ば、単体の機器であっても、複数の機器からなるシステ
ムであっても、LAN等のネットワークを介して処理が行
なわれるシステムであっても本発明を適用できることは
言うまでもない。
【0029】図2において、210はホストコンピュータ
で、所定のインターフェース(例えば双方向インターフ
ェース)を介して印刷装置220(図1のLBP1000に対応
する)に接続されて通信処理を実行する。
【0030】230はホストコンピュータ210との間の通信
処理を行なう入力部である。入力部230はホストコンピ
ュータ210より印刷データを受信する処理を行なう。こ
こで必要ならば印刷装置220の情報をホストコンピュー
タ210へ送信する処理を行なってもよい。
【0031】240は印刷データを、印刷装置内部で扱い
やすい形である中間データに変換する処理を行なう中間
データ作成部である。
【0032】250は本実施形態で使用する記憶装置の一
例としてのRAMを示している。RAMでは入力部230で受信
した印刷データより導き出された中間データを保持した
り、中間データをレンダリングした結果のビットマップ
を保持したり、その他処理に必要な一時的なバッファエ
リアや、各種処理ステータスを保持したりする。
【0033】260は後述する処理や、その他印刷装置220
の行なう処理プログラムを保持するROMである。
【0034】270はRAM250に格納された中間データの内
容に従って、実際に印刷出力する印刷イメージ(ビット
マップイメージ)を作成するレンダリング部である。
【0035】280はビットマップイメージを圧縮した
り、圧縮されたビットマップイメージを伸長する処理を
行なう圧縮/伸長部である。
【0036】290はレンダリング部270で作成された印刷
イメージや、圧縮/伸長部280で伸長されたイメージを例
えば実際の紙面へ印刷出力する印刷部である。
【0037】211は本発明の実施形態である印刷装置220
の印刷処理や後述するデータ処理を実際に行なうCPUで
ある。
【0038】212は本印刷装置の各部を接続する内部バ
スである。
【0039】2.印刷装置の動作 以下、ROM260に蓄えられたプログラムによってCPU211が
行なう処理について、図面を参照してで説明する。
【0040】図3は印刷装置220の、処理手順の移り変わ
りを説明した状態遷移図である。
【0041】本実施形態では、印刷装置220は、主に5つ
の状態を遷移し、これにより、プリントオーバーラン、
メモリデッドロックを完全に回避して全ての印刷データ
を出力可能にしている。
【0042】状態291は、ホストコンピュータ210から入
力部230で受信された印刷データを中間データ形式でRAM
250へ貯める処理状態を示している。1ページ分の印刷
データを受信し終った場合内部処理は状態297へと遷移
し、中間データに従って実際に紙面へ印刷出力する。状
態291の処理については図4〜図7で、また状態297の印
刷出力処理については図24で説明する。
【0043】状態291で中間データを格納するRAMが不足
(メモリデッドロック)する場合、内部処理は状態294〜2
96へと遷移する。状態294〜296ではページ全体を圧縮す
ることによりメモリを空け、デッドロックを回避する。
また状態294〜296のそれぞれは圧縮方法が異なってお
り、状態291でそれらの特徴を考慮してどの処理を行な
うべきかを判断する。この判断については図18で詳し
く説明する。
【0044】一方状態291で中間データ1ページ分格納後
プリントオーバーランの可能性をチェックし、オーバー
ランする場合はその回避処理を行なうために状態292へ
と遷移し、回避処理後状態297で印刷出力する。
【0045】オーバーランのチェックや状態292の処理
については図8以降で説明する。
【0046】状態292では、オーバーラン回避処理のた
めにメモリデッドロックが起る可能性があり、その場合
状態293へと遷移してバンド圧縮処理によりデッドロッ
クを回避する。バンド圧縮処理が完了したら状態297で
印刷出力し、回避できなかった場合は状態294以降のペ
ージ圧縮処理へと遷移する。バンド圧縮処理時の動作な
どは図10以降で説明する。
【0047】3.基本動作 本印刷装置の基本的な動作は、状態291から状態297へと
遷移する場合である。
【0048】3−1.データ入力処理の説明 図4は本発明の実施形態の印刷装置220の印刷データ受
信処理について説明する図である。
【0049】ホストコンピュータ210から入力部230へ通
信転送された印刷データは、中間データ作成部240で中
間データに変換されてRAM250内の中間データ格納領域25
1へと保管される。中間データ及び中間データ格納領域2
51の構造については、次の図5で詳細に説明する。
【0050】また、RAM250には中間データ格納領域251
の他に2つのバンドラスタと呼ばれる領域バンドラスタ2
52、253が用意されている。この領域は通常の印刷処理
で、中間データをレンダリングして得られる、印刷出力
するべき出力イメージを蓄えておく領域である。この領
域については図6で説明する。
【0051】3−2.中間データ構造の説明 図5は、本実施形態の印刷装置の中間データの構造及び
管理形式について説明した図である。
【0052】本実施形態の印刷装置は、1枚の出力ペー
ジを幾つかの小領域(バンド)で区切って、それぞれのバ
ンドのレンダリングと印刷出力を並列処理で同時に行な
う。そのため本実施形態では印刷データをバンド単位で
管理するために、印刷データを中間データという管理し
やすい形式で管理する。並列処理については、以後に図
6などを用いて説明する。
【0053】まず401は出力用紙1ページ分をあらわし、
それぞれバンド1、バンド2と名付けられたバンドに区切
られている。バンドは図にあるように用紙搬送方向に垂
直になるように配置されている。また、それぞれのバン
ドは同面積を持つように区切られているため、用紙出力
時のバンドの静電潜像形成時間は一定である。
【0054】今印刷装置が、出力用紙401にあるように1
つの文字「あ」と斜めの直線1本が描かれるような印刷
データを受信したとすると、その中間データは以下のよ
うな構造になる。
【0055】まず中間データは402〜404で示される中間
データ管理テーブルにつながれる。中間データ管理テー
ブル402〜404はバンド数分だけあり、それぞれのバンド
内に描画されるべき中間データをリンク構造で保持す
る。
【0056】ここで文字「あ」はバンド2内に描かれる
べき文字なので、その中間データ405〜408はバンド2の
中間データ管理テーブル403につながれている。そして
その構造は、中間データの種類を示す領域、描画位置を
示す領域、その他描画に関する情報などを、それぞれの
中間データの種類によって必要なだけ保持する。文字
「あ」の中間データは、中間データの種類が文字である
ことを示す405、「あ」を描画する描画位置406、描画す
る文字が「あ」であることを示す文字コード407、例え
ば太文字や袋文字、文字色など文字の修飾方法に関する
情報408からなっている。
【0057】別の例として、用紙401に描かれる直線に
ついては、バンド2〜バンド3にまたがって描画されるた
め、中間データは2つ作成され(409−412及び413−41
6)、それぞれバンド2の中間データ管理テーブル403と
バンド3の中間データ管理テーブル404につながれる。
【0058】このように管理される中間データは、印刷
出力時にはそれぞれのバンド毎にレンダリングされ、印
刷出力される。
【0059】3−3.バンディング処理の説明 図6は中間データ形式で格納された印刷データを実際に
印刷出力するときのバンドに関する処理を説明した図で
ある。
【0060】今まで述べたようにRAM250内の中間データ
格納領域251にバンド別に管理されて格納された中間デ
ータは、各バンド毎にレンダリング部270によってレン
ダリングされる。レンダリングによって得られた印刷イ
メージはバンドラスタ252とバンドラスタ253 のどちら
かに格納され、印刷部290に送られて紙面上に印刷出力
される。
【0061】これらの処理は後で図25で説明する。
【0062】3−4.バンディングタイミングの説明 印刷イメージを252と253のどちらのバンドラスタに格納
するかは、図7を用いて説明する。
【0063】図7は縦軸に時間経過をあらわし、レンダ
リング部、印刷部のそれぞれの処理内容、及びバンドラ
スタ1(252)、バンドラスタ2(253)の保持している出
力イメージについての時間的変化を示したタイムチャー
トである。
【0064】以下、図を時間軸に沿って説明する。
【0065】まず時間t0〜t1でレンダリング部は、用紙
の最初に印刷出力される最上部であるバンド1のレンダ
リングを行ない(601)、その結果得られた出力イメージ
をバンドラスタ1(252)へと格納する(608)。
【0066】次にt1で静電ドラム1006の回転をスタート
させる(以後印刷出力開始と表現する)。
【0067】時間t1以降では、レンダリング処理と印刷
出力処理を並列に行なう。
【0068】ここで各バンド面積が一定で、かつ静電ド
ラム1006の回転速度も一定なことより、各バンドの印刷
出力時間(時間t2-t1、時間t3-t2、...)は一定であり、
それは静電ドラム1006の回転速度によって決まる。
【0069】時間t1〜t2では、既にバンドラスタ1(25
2)へ格納されているバンド1の印刷イメージを印刷部が
印刷出力する処理(615)と、レンダリング部が中間デー
タ格納領域に格納されているバンド2の中間データをレ
ンダリングしバンドラスタ2(253)へ印刷イメージを格
納する処理(602、612)を並列で行なう。
【0070】同様に時間t2〜t3ではバンド2が印刷出力
され(616)、バンド3がバンドラスタ1(252)へ出力イメ
ージ展開される(603、609)。
【0071】以後それらを繰り返し(604-607、610、61
1、613、614、617-620)、最終的に時間t7〜t8でバンド
7の印刷出力を行ない(621)、1ページ分の印刷を完了す
る。
【0072】以上の方式によりバンドラスタが2バンド
あればよく、1ページ分の出力イメージを格納するのに
必要なメモリサイズよりはるかに少ないメモリで印刷出
力処理を行なうことができる。なおバンドラスタは2つ
に限るわけではなく、3つ以上であっても良いことは言
うまでもない。
【0073】ここで先に述べたように各バンドの印刷出
力時間は静電ドラム1006の回転速度に依存して一定だ
が、各バンドのレンダリングに要する時間はその中間デ
ータにより変化する。そのためあるバンドの中間データ
が非常にレンダリングに時間がかかるタイプのものであ
った場合、バンドのレンダリング時間が印刷出力時間よ
り大きくなってしまい、印刷出力処理が失敗してしまう
ことがる(プリントオーバーラン)。
【0074】そこで本発明では、次のようにその障害を
回避する。
【0075】4.オーバーラン対策 図3の状態291でオーバーラン対策をしなければならない
バンドがあると、状態292に遷移する。以下、其のよう
な場合の動作を説明する。
【0076】4−1.プレレンダリング処理の説明 図8はプリントオーバーランを回避するための処理につ
いて説明した図である。ここでは例としてバンド4のレ
ンダリング時間がバンド出力処理時間を越えているケー
スを考える。
【0077】Aは中間データを1ページ分中間データ格納
領域に格納し終ったあとのメモリマップを示している。
【0078】この時点でプリントオーバーランするバン
ドを予測し、そのバンド数分だけ一時的なバンドラスタ
を確保する。今回の例ではバンド4だけがオーバーラン
することが予測されるので、1つの一時的バンドラスタ2
54を確保する。オーバーランするバンドの予測方法につ
いては、後述する図15と図19を用いて詳細に説明す
る。
【0079】また、これらの処理方法については後で図
22で説明する。
【0080】そして図のBのように、レンダリングをバ
ンドラスタ252、バンドラスタ253、一時的バンドラスタ
254に対して適切に行ない、印刷出力もそれら3つのバン
ドラスタから行なうことによりプリントオーバーランを
回避する。
【0081】これらの処理は後で図24で詳細に説明す
る。
【0082】それぞれのバンドのレンダリング、印刷出
力タイミングとバンドラスタの使われ方については、次
図を用いて説明する。
【0083】4−2.プレレンダリングタイミングの説明 図9はプリントオーバーランを回避するための処理にお
ける、一時的なバンドラスタを用いたレンダリング、印
刷出力のタイミングについて説明したタイムチャートで
ある。
【0084】この処理では図7で説明したタイミングと
は異なり、印刷出力開始前に2つのバンドについてレン
ダリングを行なう。
【0085】まず時間t0〜t1をでプリントオーバーラン
すると予測されたバンド4の中間コードをレンダリング
し(801)、その結果得られる出力イメージを一時的バン
ドラスタへと格納する(814)。
【0086】次に通常と同じく時間t1〜t2で最初に印刷
出力されるバンドであるバンド1についてレンダリング
を行ない(802)、出力イメージをバンドラスタ1(252)
へ格納する(808)。
【0087】そして時間t2で印刷出力を開始する。
【0088】時間t2以降は先に図7で述べたタイミング
と同様に各バンドのレンダリング(803-807、809-813)
と印刷出力(815-817、819-821)を並列に処理してい
く。
【0089】そして図7でバンド4をレンダリングして
いた時間t4〜t5ではレンダリングを行なわず、バンド4
を印刷出力する時間t5〜t6では、既に一時的バンドラス
タにレンダリングしてあるバンド4の出力イメージを印
刷出力する(818)。
【0090】このように一時的なバンドラスタを用意
し、レンダリングタイミングを変えることでプリントオ
ーバーランを回避することができる。
【0091】しかし、ここでプリントオーバーランする
バンド数が多かったり印刷装置のRAM容量が少ない低価
格機種などでは、メモリ容量不足により必要とするバン
ド数分の一時的なバンドラスタを確保することができな
くなってしまう場合がある。
【0092】5.バンド圧縮 このような場合、本実施形態では図3の状態292から状態
293へと遷移し、かかるメモリデッドロックを回避す
る。以下この場合の動作を説明する。
【0093】5−1. プレレンダリング圧縮処理の説明 図10は、メモリ容量不足により一時的なバンドラスタ
を確保できない場合の処理を示す図である。
【0094】図のAでは印刷出力を開始する前に行なう
処理について示してある。
【0095】一時的なバンドラスタを確保できない場合
にはまず、プリントオーバーランすると予測されたバン
ドをバンドラスタ252、253にレンダリングする。
【0096】そして得られた出力イメージを圧縮/伸長
部280の圧縮機能を使ってイメージ圧縮し、圧縮データ2
55としてRAM250へと格納する(以後バンド圧縮処理とす
る)。
【0097】圧縮データ255の大きさは通常のバンドラ
スタより圧縮した分小さいので、RAM250の容量不足によ
りプリントオーバーランを回避できない可能性は軽減さ
れる。
【0098】これらの処理は後で図23で説明する。
【0099】そして印刷出力時には図のBのように、通
常のバンドは2つのバンドラスタを使ってレンダリン
グ、印刷出力し、圧縮データとして格納されたバンドに
ついては圧縮伸長部280の伸長機能を使って伸長しなが
ら印刷出力する。
【0100】これらの処理は後で図24で説明する。
【0101】5−2.プレレンダリング圧縮タイミングの
説明 図10で説明した処理方式に基づいてレンダリング、印
刷出力を行なうタイミングを、図11のタイムチャート
を用いて説明する。この図でも例としてバンド4がプリ
ントオーバーランすると予測されたとする。
【0102】まず印刷出力を開始する前に時間t0〜t2の
間にプリントオーバーランするバンド4をバンドラスタ1
(252)へレンダリングし(901、908)、得られた出力イメ
ージを圧縮/伸長部の圧縮機能を用いて圧縮し(917)、圧
縮データをとしてRAMへ格納する(916)。
【0103】以降図7で説明したタイミングと同様に、
時間t3〜t4で先頭のバンド1をレンダリングし(902、90
9)、印刷出力を開始する。
【0104】プリントオーバーランすると予測されたバ
ンド以外のバンドはレンダリング(903-907、909-913、91
5)、印刷出力(919-925)を並列して行なうが、オーバ
ーランすると予測されたバンド4については圧縮データ
を伸長してバンドラスタ2(253)へと格納する(918、91
4)。
【0105】以上の処理で、図8で説明した一時的なバ
ンドラスタを確保できないためにオーバーランを回避出
来ない可能性は軽減される。
【0106】しかしここでバンドの伸長処理時間(時間t
6〜t7)はバンドの印刷出力処理時間より短くなければ、
伸長処理によりプリントオーバーランしてしまう。ここ
で圧縮/伸長部は、その伸長処理時間によりプリントオ
ーバーランしないスピードを持った方式を選択しなけれ
ばならない。一般的には伸長スピードの速い圧縮方式を
使うか、伸長処理をハードウエアを使うなどして高速化
する必要がある。
【0107】また、以上の方法でも完全にプリントオー
バーランが防げるわけではなく、オーバーランするバン
ド数が多かったり圧縮データの圧縮率が悪かったりする
場合、圧縮データをRAM内に確保する容量が不足する場
合がある。本実施形態では、かかる場合には、図3の状
態293から状態294−296へと遷移する。
【0108】また、ここまでの説明ではRAM内に1ページ
分の中間コードを保管できる前提できたが、中間コード
が非常に大きい場合は、状態291において、中間コード
の保管が出来ないために印刷処理ができなくなるケース
もある。このような場合、本実施形態では、状態291か
ら状態294−296へと遷移する。
【0109】本発明ではそれらのRAM容量不足になる状
況を、以下の処理で回避する。
【0110】6. ページ圧縮 6−1.ページ圧縮処理の説明 図12はRAM容量不足により、中間データを格納出来なか
ったり、プレレンダリング回避処理で一時的なバンドラ
スタや圧縮データを格納できなかったりする場合の処理
を説明する図である。
【0111】図のAはRAM容量不足時の処理を示してい
る。
【0112】RAM容量不足時には、全てのバンドの中間
データについてバンドラスタ252(253)にレンダリング
し、圧縮/伸長部280の圧縮機能で圧縮データに変換して
圧縮データ格納領域256へ格納する(以後ページ圧縮とす
る)。ここで図にある通り、圧縮データ格納領域256と中
間データ格納領域251は同じRAM250上にあり、圧縮した
バンドの中間データを消去することにより最終的に中間
データ格納領域250のサイズは0になる。
【0113】中間データが大きすぎてRAM250容量不足に
なった場合は、圧縮処理により空いたRAM250内に再度中
間データ格納領域251を作成して中間データを管理す
る。そして再びRAM250容量が不足した時や1ページ分の
印刷データを受信し終った時には、それら中間データも
同様に圧縮する。その場合、中間データをバンドラスタ
252にレンダリングする前に圧縮伸長部280の伸長機能を
使って同じバンドの圧縮データを伸長し、その上にレン
ダリングを行なう。
【0114】また、全てのバンドを圧縮してもRAM250容
量が不足するときは、更に圧縮率の高い圧縮方式で再度
全バンドを圧縮する。
【0115】これらの処理は後で図16で説明する。
【0116】印刷出力時には図のBのように圧縮データ
として管理されているバンド毎の出力イメージを、圧縮
伸長部280の伸長機能でバンドラスタ252、253へ伸長
し、印刷出力する。
【0117】これらの処理は後で図24で説明する。
【0118】6−2.圧縮データ構造の説明 上記処理により中間データは全て圧縮データに変換され
るが、その場合の圧縮データ格納領域の管理方法につい
て図13を用いて説明する。
【0119】全ての圧縮データはバンドに1つあり、そ
れらは中間データと同様に圧縮データ管理テーブル(131
〜133)によって管理される。
【0120】各バンドの圧縮データは、その複数の圧縮
方式のどのタイプで圧縮されたかを示す圧縮タイプ13
4、136及び実際の出力イメージの圧縮イメージ135、137
からなる。
【0121】6−3.ページ圧縮タイミングの説明 次に図14を用いてページ圧縮処理における印刷出力処
理のタイミングを説明する。
【0122】ページ圧縮処理を行なった場合は、図7で
説明したものとほぼ同じタイミングで印刷出力処理を行
なう。
【0123】まず時間t0〜t1で圧縮伸長部がバンド1の
圧縮データ1301をバンドラスタ1(252)へ伸長し(1301、
1308)、その後印刷出力をスタートする。以後は圧縮さ
れたバンドの伸長(1302-1307、1309-1314)と印刷出力
(1315-1321)を並列に処理し、バンド7の印刷出力を終
えて1ページ分の処理を終える。
【0124】ここでバンドの伸長処理にかかる時間は、
既に図11を用いて説明したようにバンドの印刷出力に
かかる時間より短い伸長方式または伸長回路を使用する
ことが前提である。
【0125】ここまでの処理によって、全ての印刷デー
タをメモリデッドロック、プリントオーバーランなしに
処理することができる。
【0126】7. 1ページの印刷手順の説明 図15は、上述した本実施形態の動作を、1ページ分の
印刷データを受信してから印刷出力するまでの手順とし
て示したフローチャートである。
【0127】ステップ1401において、ホストコンピュー
タ210より転送され入力部230で受信された印刷データ
を、中間データ作成部240により中間データに変換す
る。
【0128】中間データの形式は、例えばレンダリング
部270で処理しやすい形式であったり、中間データのサ
イズが小さくなるような形式であったり、中間データの
処理が速くなるような形式であったりと、内部処理の都
合の良い形式であって良い。
【0129】(全バンド圧縮移行チェック)次にステップ
1402において、RAM250に変換された中間データを格納す
るにあたってメモリ不足でないかどうかを判断する。メ
モリ不足かどうかは、実際の空きメモリサイズが足りて
いるかどうか以外にも、次に説明するページ圧縮処理を
実行できるかどうかという判断も行なう。この判断に
は、複数の圧縮処理のうちどの処理を行なうべきかとい
う判断も含まれる。
【0130】この判断方法については図18で詳細に説
明する。
【0131】(全バンド圧縮移行)ここでメモリ不足と判
定された場合ステップ1403で、それまでに作成された全
ての中間データをレンダリングし、中間データを削除し
て、レンダリングしたビットマップイメージを指定の圧
縮方式で圧縮して圧縮データとしてRAM250に再格納する
ことにより、処理しようとしている中間データをRAM250
内に格納出来るだけの空きメモリを確保する。
【0132】この処理を行なうことによって、中間デー
タを作成する際のメモリデッドロックを起こさない保証
をすることができる。
【0133】この全ページの圧縮処理については図16
で説明する。
【0134】その後ステップ1404で、処理中の中間デー
タを実際にRAM250内に格納する。
【0135】(プレレンダリングのための計算)次にステ
ップ1405でプリントオーバーランを避ける処理のための
計算を行なう。
【0136】ステップ1405ではステップ1404で格納した
中間データのレンダリング処理にかかる時間を計算し、
それをバンド毎に集計することにより、バンド単位での
レンダリング時間を測定する。
【0137】もしメモリデッドロック回避のために1回
でもステップ1403の全ページの圧縮処理を行なった場
合、圧縮データの伸長処理時間をバンド単位のレンダリ
ング時間として計算する。
【0138】また別の方法として既にステップ1403のペ
ージ圧縮処理を行なった場合に、そのページが最終的に
中間オブジェクトを全てレンダリングし全てのバンドを
圧縮データの形式で保管するようにすると、ステップ14
03で求めるべきバンド単位の処理時間はバンド単位の圧
縮データの伸長時間であると言うことができる。
【0139】本実施形態では後者の方式をとると共に、
圧縮/伸長処理に関して伸長処理を十分高速に処理でき
る方式を採用する。こうすることにより、伸長処理によ
りプリントオーバーランになる可能性は決して有り得な
いと言える。またステップ1405のレンダリング時間計算
においては、既にステップ1403のページ圧縮処理を行な
ったページについては、その計算を行う必要はなくな
る。
【0140】レンダリング時間計算については、図19
で詳細に説明する。
【0141】次にステップ1406で、印刷データを1ペー
ジ分処理し終ったかどうかを判断し、まだページが終了
していない場合は次の印刷データについてステップ1401
から処理を繰り返す。
【0142】(全バンド圧縮後処理)印刷データを1ペー
ジ分処理し終ったら、ステップ1407において、そのペー
ジが1回でもページ圧縮処理(ステップ1403)を行なった
どうかを調べ、先に述べたように全ての印刷データを圧
縮データとして保管するためにステップ1411へと進む。
【0143】ステップ1411では、最後にページ圧縮処理
(ステップ1403)を実行した後に作成された中間データに
ついて、レンダリング及び圧縮処理を行なう。この処理
はステップ1403で行なうページ圧縮処理と同様の処理
で、図16で説明する。
【0144】そうして最終的に全てのバンドについて印
刷データが圧縮データの形式でRAM250に保管し、ステッ
プ1414の印刷出力処理へと処理を移す。
【0145】(プレレンダリング処理)一方ステップ1407
で一度もページ圧縮処理を行なわないと判断された場
合、ステップ1408でプリントオーバーラン回避処理を行
なう。
【0146】プリントオーバーラン回避処理は、ステッ
プ1405で計算したバンド毎のレンダリング時間がしきい
値を越えた場合、そのバンドを印刷出力前にレンダリン
グすることにより行なう。
【0147】ここでしきい値は、印刷処理における紙搬
送速度とバンドのサイズより、以下の式から求める。 しきい値 = 用紙搬送時間 × バンド高さ ÷ 用紙紙高
さ − オーバーヘッド ここで、 用紙搬送時間 … 印刷エンジンの特性により決まる1ペ
ージの用紙の搬送にかかる時間 用紙高さ … 印刷用紙の用紙搬送方向の長さ バンド高さ … バンドの用紙搬送方向の長さ オーバーヘッド … 1つのバンドのレンダリング処理に
かかる、レンダリング時間以外の要素 である。
【0148】本実施形態ではこのような計算でしきい値
を求めるが、例えばしきい値は しきい値 = 用紙搬送時間 × バンド高さ ÷ 用紙紙高
さ − オーバーヘッド+ ( 前のバンドのしきい値 −
前のバンドのレンダリング時間 ) としてもよい。ここで前のバンドがプリントオーバーラ
ン対策している場合は、前のバンドのレンダリング時間
は 0 であるということができる。
【0149】またしきい値を求める別の方法として、し
きい値を直前のレンダリング終了時点からそのバンドの
レンダリングを開始しなければならない時点までの時
間、としてもよい。この場合も直前のレンダリング終了
時点とは、処理しているバンド以前の、最後にプリント
オーバーラン処理していないバンドのレンダリングが終
った時点のことである。
【0150】ステップ1408ではバンド毎のレンダリング
時間がしきい値を越えた場合、そのバンドをレンダリン
グして得られるビットマップを保管するための一時的な
ラスタメモリを確保する。
【0151】これらのラスタメモリが確保できた場合、
印刷出力前にプリントオーバーランする全てのバンドの
中間データをそれぞれの一時的なラスタメモリに格納す
ることによって、全てのページにおいてプリントオーバ
ーランせずに印刷出力を行なうことができるようにな
る。このプリントオーバーラン対策処理は、図22で詳
細に説明する。
【0152】そしてステップ1408の処理においてRAM250
内に全てのプリントオーバーラン対策のためのラスタメ
モリを確保するだけ容量の空き領域があるとステップ14
09で判断された場合、ステップ1414でプリントオーバー
ランする全てのバンドについてレンダリングした後、実
際に紙面に印刷出力する。この印刷出力処理は図24で
説明する。
【0153】(プレレンダリング圧縮処理)ステップ1409
でプリントオーバーラン対策のラスタメモリが確保でき
ないと判断された場合、ステップ1410において、プリン
トオーバーランするバンドのレンダリングを行ない、得
られたビットマップイメージを圧縮し、圧縮データ形式
でRAM250内に保管する。
【0154】既に述べたように圧縮データの伸長時間は
本実施形態では紙搬送速度より十分に高速であるため、
圧縮されたバンドがプリントオーバーランを起こすこと
はない。
【0155】そしてステップ1412で、全てのプリントオ
ーバーランするバンドがRAM250内に収まったかどうかを
判断し、もしメモリ不足でないならステップ1414の印刷
出力処理を行なう。
【0156】もし圧縮してもプリントオーバーランバン
ドがRAM250内に収まらなかった場合、ステップ1413にお
いて、プリントオーバーランしないバンドも含めた全て
のバンドについて、ステップ1403やステップ1411と同様
のページ圧縮処理を行なう。この処理は図16で説明す
る。
【0157】そして1ページの印刷データが中間デー
タ、または圧縮データの形式で、プリントオーバーラン
しない保証の元にRAM250内に収まった後、ステップ1414
で実際に紙面上に印刷出力する。この処理は図24で説
明する。
【0158】8. 全バンド圧縮(ページ圧縮)の説明 図16は、図15のステップ1403、ステップ1411、ステ
ップ1413で説明した、RAM250の空き容量不足時に、全て
のバンドをレンダリングして更に圧縮して、印刷データ
を中間データの代りに圧縮データで保持するための処理
を説明したフローチャートである。
【0159】処理は全てのバンドについて行なっていく
が、各バンドは既にページ圧縮処理が行なわれている場
合はその結果得られる圧縮データと、最後にページ圧縮
処理を行なってから受信した印刷データに対する中間デ
ータの2つのデータ要素から成り立っている。もしペー
ジが一度も圧縮処理が行なわれていない場合、中間デー
タのみのである。
【0160】まずステップ1501でこの後行なう圧縮処理
の圧縮形式を、以前と同様の形式にしておく。そしてス
テップ1504〜ステップ1510までをページの先頭のバンド
から順に全てのバンドについて繰り返し処理 を行な
う。
【0161】繰り返し行なう処理はまず、ステップ1504
で処理しようとしているバンドが圧縮データを保持して
いるかどうかをチェックする。
【0162】保持していた場合ステップ1505において、
その圧縮データが圧縮されている形式に合わせて圧縮/
伸長部280で伸長する。その後元あった圧縮データを削
除してRAM250の空き領域を少しでも増やす。得られるビ
ットマップデータは、通常の印刷出力時に使われるバン
ドラスタ領域を用いる。
【0163】そしてステップ1506において、そのバンド
の中間データを上記ビットマップデータに追加してレン
ダリングする。その後それら中間データを削除して、更
にRAM250の空き領域を増やす。
【0164】最後にステップ1507において、得られたビ
ットマップデータを指定された圧縮方式で圧縮/伸長部2
80で圧縮し、RAM250へと再格納する。
【0165】図15のステップ1402のメモリ不足判定に
より、ここでRAM250の空き容量が不足することはないと
予想されているが、データによっては圧縮率が悪くメモ
リ不足になってしまう。ステップ1508でメモリ不足であ
ると判断された場合、ステップ1509で圧縮形式を更に圧
縮率の良いものに変更して処理をステップ1503からやり
直す。圧縮形式の変更については、後で図17にて説明
する。
【0166】以上の処理をページ内の全てのバンドにつ
いて行なうように、ステップ1510で全バンドを処理した
かを判断する。
【0167】9. 複数の圧縮形式の説明 図17は複数の圧縮形式を選択する方法の例について説
明した図である。
【0168】図のAは横軸は平均圧縮率を示し右に行く
ほど圧縮後のサイズが小さくなる。縦軸は圧縮処理にお
ける画質の劣化度を示していて、上に行くほど画質の劣
化が少なく、劣化なしの線以上は元の画質と変わらない
(LossLess圧縮)。
【0169】今、最初の圧縮方式を1601としてページ圧
縮を行なっていてメモリ不足状態になった場合、次に圧
縮率の高い1602の方式で再度ページ圧縮を試みる。それ
でもメモリ不足状態の場合、今度は1603の方式、それで
もダメなら1604方式、と変更していく。
【0170】最後にどうしてもメモリ不足になってしま
う場合、相当の画像劣化になるが例えば間引き処理など
確実にデータ変換後のサイズの計算できる方法でメモリ
不足を解決する。この図の場合確実にデータ変換後のサ
イズが 1/4 になる1605の方式を採用する。
【0171】もちろんこの方式は、圧縮率が 1/4 の圧
縮方式でページ圧縮した場合は全てのバンドがメモリ内
に保管できるだけのメモリがあることが前提とすること
で、全ての印刷データをメモリデッドロックすることな
しに印刷処理ができることとなる。
【0172】また別の方法として図のBは、圧縮率を上
げるために例えばバンドパスフィルタなどの画像処理を
使う方式である。この方式では、メモリ不足にならない
状態までフィルタリングを繰り返すことによって1606か
ら順次1610まで移行可能であるので、事実上メモリ不足
状態にはならない。
【0173】10. 全バンド圧縮移行判断の説明 図18は図15のステップ1402で行なう、ページ圧縮処
理に必要なメモリの空き領域が不足しているかどうかの
判断、及び実行すべき圧縮処理方法の選択方法について
説明した図である。この図は、ページ圧縮処理を行なう
際の、1バンド分の処理を示している。
【0174】図のAは、ページ圧縮処理行程におけるバ
ンドの圧縮データの伸長(図16のステップ1505)、及び
中間データのレンダリング(同図ステップ1506)処理の際
のRAM250の領域を模式的にあらわしている。
【0175】1701はRAM250の空き領域を示し、1702は処
理するバンドの圧縮データ、1703は同バンドの中間デー
タ、そして1704は他のバンドに関する印刷データを意味
する。ただしそのページに対してページ圧縮処理が初め
て行なわれる場合には、圧縮データ1702は存在しない。
【0176】ページ圧縮処理行程では、まず処理するバ
ンドの圧縮データ1702を伸長し、次に中間データ1703を
レンダリングする。それぞれの処理以後は、圧縮データ
1702、中間データ1703は不必要となるので、B のように
領域を解放することが可能である。
【0177】そしてその後そのバンドのビットマップデ
ータを再度圧縮し、空き領域1705へと格納する。格納後
の状態は C が示しており、1708は再格納した圧縮デー
タをあらわす。
【0178】ページ圧縮処理はこれら一連の処理を全て
のバンドについて行なうが、ページ圧縮処理に必要なメ
モリサイズが不足しているかどうかは、それぞれのバン
ドについて、空き領域1701及び1707のサイズを調べれば
わかる。
【0179】ここで圧縮処理は、圧縮後のサイズが圧縮
するビットマップイメージのドット分布などの要素によ
り圧縮前には計算することが現実的に不可能であり、ま
た圧縮効率が圧縮方式によって異なるので、圧縮後のサ
イズ計算は圧縮方式により想定した予想の圧縮比で計算
する。
【0180】本実施形態では、想定する圧縮比をその圧
縮方式の平均的な圧縮効率とする。もちろん他の方法で
圧縮後のサイズを想定することもできることは言うまで
もない。
【0181】次に空き領域の測定方法を同図をつかって
述べる。
【0182】或バンドにおける空き領域のサイズ1707を
Sk、そのバンドの圧縮データ1702のサイズをBk、中間
データ1703のサイズをPk、再圧縮後の予想圧縮データ
サイズ1708をAk、とすると、バンド処理前の空き領域1
701のサイズS(k-1)と処理後の空き領域1707のサイズS
kとの関係は図18より Sk = S(k-1) + Bk + Pk − Ak となる。また全てのバンドを処理する前の空き領域サイ
ズ S0 については、処理に使用できる全メモリサイズ
をM、バンド数をn、とすることより S0 = M − ( B1 + B2 + ... + Bn )− (
P1 + ... + Pn ) となる。ここで全てのバンドの Bk、Pk は全て分って
おり、Ak は予想値を使うことにより、全ての Sk が
計算でき、その最小値 MIN(Sk) がページ圧縮処理のメ
モリ空き容量の最小値となる。
【0183】図15のステップ1402におけるページ圧縮
処理可能かどうかの判断は、このMIN(Sk)の値が 0 以
上であるかどうかということよりわかる。
【0184】ここで、もしMIN(Sk)が0未満であった場
合ページ圧縮処理が不可能であるので、圧縮方式を別の
方式に切り換えて再計算する。
【0185】一般的に知られる圧縮処理の特徴として、
圧縮効率の良いものは処理スピードも遅く画像が劣化す
る度合いも大きい。その反面、効率の悪いものは処理ス
ピードが速く、画像劣化が少なく圧縮することができる
特徴を持っている(画像劣化のない圧縮方式もある)。
【0186】本実施形態は、例えばMIN(Sk)が0以上と
なる圧縮方式のうち最も画像劣化の少ない圧縮方式を使
用することにより、画像劣化や速度劣化を最も少なく抑
えた上で、事実上確実にデッドロック状態を起こさずに
ページの印刷データを保持することを可能にしている。
【0187】11. レンダリング時間計算の説明 図19は、図15のステップ1405で行なう、バンド単位
のレンダリング時間を計算する方法について述べたフロ
ーチャートである。ここで求めるレンダリング時間は、
図15のステップ1408のオーバーラン対策処理でしきい
値と比べるのに使われる。
【0188】まずステップ181において、印刷データを
メモリ内に格納する際に空きメモリ容量が不足と判断さ
れたため、図15のステップ1403でページ圧縮処理を行
なったかどうかを調べる。そのページがページ圧縮処理
を行なった場合、既に述べたようにステップ1408のオー
バーラン対策処理は行なわれない。この場合、すぐに処
理を終了する。
【0189】次にステップ182において、中間データの
種類によってレンダリング時間計算方法を選択する。
【0190】例えば中間データの種類が、固定的にレン
ダリング時間が決まっているようなタイプのものである
場合は、例えば既にテーブルに保管しておいた中間デー
タに対するレンダリング時間の対応テーブルからレンダ
リング時間を求めるなどの処理を行なうステップ183に
分岐する。このようなタイプの処理については図20で
説明する。
【0191】他の例として、例えばイメージビットマッ
プのように、そのレンダリング処理は単純にメモリ内容
のコピーであるようなタイプの中間データの場合、計算
するレンダリング時間は中間データのサイズより求める
処理であるステップ184へと分岐する。
【0192】その他例えば、実際にレンダリングしてみ
ないとレンダリング時間の分らないようなタイプの中間
データの場合、時間測定のために実際にレンダリング処
理を実行するような処理であるステップ185に分岐す
る。このようなタイプの処理については図21で説明す
る。
【0193】これらの分岐、及び処理は、ここに示した
以外の他のタイプの時間算出アルゴリズムを用いても良
いことは言うまでもない。
【0194】それら各種中間データのタイプに応じたレ
ンダリング時間算出処理を行なった後、ステップ186に
おいて算出した時間をバンド全体のレンダリング時間に
加算し、処理を終える。
【0195】12. レンダリング時間計算 - 固定テーブ
ル方式の説明 図20は図19の183の固定的なレンダリング時間を求
める処理の例を説明した図である。
【0196】事前にレンダリングが固定的に分っている
中間データについては、図のように中間データの種類A
−Cとそれに対応するレンダリング時間の対応表からレ
ンダリング時間を検索する。図20に示されるテーブル
は、予めROM260に記憶されている。
【0197】13. レンダリング時間計算 - 実測方式の
説明 図21は図19の185のレンダリング時間の実測処理の
例について説明したフローチャートである。
【0198】ステップ201で印刷装置内部タイマーをス
タートし、ステップ202で実際のレンダリングと同様に
測定したい中間データをレンダリングする。そしてレン
ダリングが終り次第ステップ203でタイマーをストップ
し、その間かかった時間をレンダリング時間とする。
【0199】14. オーバーラン対策の説明 図22は、図15のステップ1408で行なうオーバーラン
対策処理を説明したフローチャートである。
【0200】処理は既に説明したように、まずステップ
211でバンド全体のレンダリング時間と図15ステップ1
408で説明したしきい値を比較し、もしレンダリング時
間がしきい値を越えるような場合、ステップ212でプリ
ントオーバーランするバンドのカウントアップを行な
う。
【0201】そしてステップ213でページの全バンドに
ついて処理を行なうまで、ステップ211からの手順を繰
り返す。
【0202】1ページ分のカウントアップ処理を終えた
らステップ214において、現在のRAM250の空き領域にプ
リントオーバーランするバンド数分の一時的なバンドラ
スタを確保できるかどうかを調べ、その結果を処理結果
としてステップ215またはステップ216で処理を終る。
【0203】本処理がメモリ不足と判断された場合、次
に説明するバンド圧縮処理を行なう。
【0204】15.バンド圧縮処理の説明 図23は、図15のステップ1410で説明した、プリント
オーバーランバンド用の一時的なバンドラスタ領域がRA
M250の空き領域不足により確保できなかった場合の、バ
ンドの中間データを圧縮データに変換するバンド圧縮処
理を説明したフローチャートである。
【0205】まずステップ221においてオーバーランす
るバンドの1つをレンダリングする。そしてステップ222
で得られたビットマップイメージを圧縮/伸長部280の圧
縮機能を使って圧縮データに変換する。
【0206】次にステップ223で圧縮データがRAM250の
空き領域に格納出来るかどうかを調べる。もし空き領域
が不足している場合は、ステップ226でメモリ不足とし
てバンド圧縮処理を終える。
【0207】圧縮データがメモリに格納出来た場合、ス
テップ224で全てのオーバーランするバンドについて同
様の処理を行なうまで、ステップ221から処理を繰り返
す。
【0208】本処理がメモリ不足として処理を終えた場
合、既に説明した通りページ全体を圧縮する処理(図1
5のステップ1413)を行なう。
【0209】16.印刷出力処理の説明 図24は、図15のステップ1414で示された印刷出力処
理を説明したフローチャートである。
【0210】まず図22で説明したプリントオーバーラ
ン対策によって確保された、プリントオーバーランバン
ド用の一時的なバンドラスタに対して処理を行なう。
【0211】ステップ231で、プリントオーバーランバ
ンド用の一時的バンドラスタがあるかどうかを調べ、確
保されている場合は、ステップ232で対応するバンドの
中間データを一時的バンドラスタへとレンダリングす
る。
【0212】この時点ではまだ印刷エンジンはスタート
されていないため、これらのレンダリング処理に時間が
かかっても、プリントオーバーラン現象は起きない。
【0213】次にステップ233で実際に紙面に印刷出力
するために印刷エンジンをスタートさせる。
【0214】その後ステップ234において、そのバンド
の印刷データの保持形態を調べる。
【0215】印刷データが中間データであった場合はス
テップ235へと分岐し、通常のバンドラスタ領域に中間
データをレンダリングする。
【0216】このレンダリングでは、既に説明したよう
に事前にプリントオーバーランするバンドをはじいてい
るので、プリントオーバーラン現象は決して発生しな
い。
【0217】その後、ステップ236で得られた印刷イメ
ージを紙面へと印刷出力する。
【0218】ステップ234で、もしバンドの印刷データ
がステップ232で一時的なバンドラスタへ中間データが
既にレンダリングされていると判断された場合、それら
はすぐに印刷出力できる印刷イメージなので、ステップ
236で印刷出力する。
【0219】もしバンドの印刷データがバンド圧縮処理
やページ圧縮処理によって作成された圧縮データである
場合、ステップ237で圧縮データを伸長しながら印刷出
力を行なう。この場合既に述べたように、本実施形態で
は伸長処理にかかる時間はエンジンの出力スピードより
十分速いとしてあるので、プリントオーバーランが起き
ることは決してない。
【0220】最後にステップ238において、全バンドを
印刷出力処理したかどうかを判断し、まだの場合はステ
ップ234より処理を繰り返す。
【0221】以上のように本実施形態1においては、記
憶装置の容量をある程度低く抑えると共にプリントオー
バーラン現象及びメモリデッドロック現象が発生するこ
となく、確実に全てのページの印刷ができるという保証
を安価に実現することができるという効果がある。
【0222】イメージのデータ変換方式が圧縮処理であ
ることを特徴とすることにより、少ない記憶装置容量で
高解像度な印刷をすることができるという効果がある。
【0223】実施形態2 図25は本発明の他の実施形態を示すプリンタ制御シス
テムの構成を説明するブロック図である。ここでも、レ
ーザビームプリンタ(図1)を例にして説明する。
【0224】実施形態2に基づく印刷装置では、レンダ
リングした印刷イメージの容量を減らすために、解像度
/階調変換部295でデータ変換を行なう特徴を持ってい
る。
【0225】解像度/階調変換部295はレンダリングした
イメージの解像度や階調を、例えばイメージのドットを
間引くなどの方式で解像度を落したり、一般的に知られ
るディザリング処理などを使って階調を落したりする。
【0226】本実施形態では、RAM250の容量が、解像度
/階調変換部295で1ページ分の印刷イメージがデータ変
換された後のサイズ以上の大きさはあるという特徴を持
つ。
【0227】例えば600DPIでYMCKの4プレーン各8ビット
の印刷能力を持つのカラープリンタでA4用紙サイズの印
刷を行なう場合、その印刷出力イメージサイズは約128M
バイトになるが、解像度変換で印刷イメージを300DPIに
落し、また階調変換で出力ビット数を1ビットへと変換
した場合の印刷イメージは4Mバイトとなる。
【0228】ここでRAM250は、最低でもこの4Mバイト+
作業領域のサイズを持つという特徴がある。
【0229】図25のその他のセクションは、実施形態
1の図2の対応する番号と同様の働きをする。
【0230】次に、本実施形態における1ページ印刷手
順を説明する。
【0231】実施形態2の1ページの印刷手順は、図15
で説明した実施形態1のそれと流れは似ているが、デー
タ変換方式が解像度変換/階調変換であるという特徴が
ある。以下にその手順を説明する。
【0232】図26は本発明の実施形態2を示すプリン
タ制御システムの、1ページ分の印刷データを受信して
から印刷出力するまでの手順を示したフローチャートで
ある。
【0233】ステップ2501では図15のステップ1401と
同様に、ホストコンピュータ210より転送され入力部230
で受信された印刷データを、中間データ作成部240によ
り中間データに変換する。
【0234】(デグレード移行チェック)次にステップ25
02において、RAM250に変換された中間データを格納する
にあたってメモリ不足でないかどうかを判断する。メモ
リ不足かどうかは、実際の空きメモリサイズが足りてい
るかどうか以外にも、次に説明するデータ変換処理を実
行できるかどうかという判断も行なう。
【0235】この判断方法については図27で詳細に説
明する。
【0236】(デグレード移行)ここでメモリ不足と判定
された場合ステップ2503で、それまでに作成された全て
の中間データをレンダリングし、それをデータ変換(解
像度変換/階調変換)しRAM250に再格納する。その際中間
データは削除し、処理しようとしている中間データをRA
M250内に格納出来るだけの空きメモリを確保する。
【0237】既に説明した通り、RAM250はデータ変換し
た後の印刷イメージを1ページ分確保するのに十分な容
量であるので、この処理を行なうことによって中間デー
タを作成する際のメモリデッドロックを起こさない保証
をすることができる。
【0238】このデータ変換処理については図28で説
明する。
【0239】その後ステップ2504で、処理中の中間デー
タを実際にRAM250内に格納する。
【0240】(プレレンダリングのための計算 - 実施形
態1と同様)次にステップ2505でプリントオーバー
ランを避ける処理のための計算を行なう。これは実施形
態1の図15で述べた処理と同様である。
【0241】そしてステップ2506で、印刷データを1ペ
ージ分処理し終ったかどうかを判断し、まだページが終
了していない場合は次の印刷データについてステップ25
01から処理を繰り返す。
【0242】(デグレード後処理)印刷データを1ページ
分処理し終ったら、ステップ2507において、そのページ
が1回でもデータ変換処理(ステップ2503)を行なったど
うかを調べ、全ての印刷データをデータ変換するために
ステップ2511へと進む。
【0243】ステップ2511では、最後にデータ変換処理
(ステップ2503)を実行した後に作成された中間データに
ついて、レンダリング及びデータ変換処理を行なう。こ
の処理はステップ2503で行なうページ圧縮処理と同様の
処理で、図28で説明する。
【0244】そうして最終的に全てのバンドについて印
刷データがデータ変換された形式でRAM250に保管し、ス
テップ2514の印刷出力処理へと処理を移す。
【0245】(プレレンダリング処理)一方ステップ2507
で一度もページ圧縮処理を行なわないと判断された場
合、ステップ2508でプリントオーバーラン回避処理を行
なう。
【0246】これは実施形態1と同様にプリントオーバ
ーランするバンドを判断し、それぞれに一時的なバンド
ラスタを割り振る。
【0247】ステップ2508の処理においてRAM250の容量
不足が起きなかった場合、ステップ2514でプリントオー
バーランする全てのバンドについてレンダリングした
後、実際に紙面に印刷出力する。この印刷出力処理は図
29で説明する。
【0248】もしRAM250の容量が不足であった場合、ス
テップ2513において、プリントオーバーランしないバン
ドも含めた全てのバンドについて、ステップ2503やステ
ップ2511と同様のデータ変換処理を行なう。
【0249】この処理は図28で説明する。
【0250】そして1ページの印刷データが中間デー
タ、またはデータ変換済みの出力イメージの形式で、プ
リントオーバーランしない保証の元にRAM250内に収まっ
た後、ステップ2514で実際に紙面上に印刷出力する。こ
の処理は図29で説明する。
【0251】図27は図26のステップ2502で行なう、
データ変換処理に必要なメモリの空き領域が不足してい
るかどうかの判断について説明した図である。この図
は、データ変換処理を行なう際の、1バンド分の処理を
示している。
【0252】図のAは、データ変換処理の際のRAM250の
領域を模式的にあらわしている。
【0253】2601はRAM250の空き領域を示し、2602は処
理するバンドの中間データ、そして2603は他のバンドに
関する印刷データを意味する。
【0254】初めてデータ変換処理を行なう場合には、
図のBに示されるように空き領域に変換後のデータ領域2
605を確保し、中間データ2602をレンダリングし、デー
タ変換して再格納する。
【0255】本実施形態ではデータ変換方法は解像度変
換、階調変換なので、変換済みデータ領域2605のサイズ
は実際にデータ変換処理を行なわなくても求めることが
できる。
【0256】例えば解像度変換処理により解像度が600D
PIから300DPIになる場合、変換処理によりデータは 1/4
になる。同様に例えば階調変換処理により階調が8ビッ
トから1ビットになる場合、変換処理によりデータは1/8
になる。もし両方の変換方式を行なう場合、変換後のデ
ータサイズは 1/32 になる。
【0257】ここで本実施形態はデータ変換処理として
解像度変換、階調変換を行なう例を示したが、この2つ
の方式に限定するわけではなく同様の他の変換処理でも
よいことは言うまでもない。
【0258】もし既にデータ変換処理が行なわれている
場合には、新たに領域を確保しなくても、変換済みデー
タ領域2605が存在するので、その領域を利用してレンダ
リング及びデータ変換を行なう。
【0259】そしてそれ以降は中間データ2606が不要と
なるので、図のCのように空き領域2601としてデータを
解放する。もし必要ならば変換済みデータ2609を移動す
ることにより、空き領域2608と2610を連続領域にしても
良い。
【0260】データ変換処理はこれら一連の処理を全て
のバンドについて行なうが、一度でもデータ変換処理を
行なえば、2回目以降のデータ変換処理には既に変換済
みデータ領域があるので、変換処理時に空き領域不足に
なることは決してない。
【0261】一方初めてのデータ変換処理について、デ
ータ変換処理に必要なメモリサイズが不足しているかど
うかは、それぞれのバンドについて、空き領域2604のサ
イズを調べればわかる。
【0262】バンドkにおける空き領域のサイズ2604を
Sk、変換済みデータ2605のサイズをB、中間データ260
2のサイズをPk、RAM250に格納したい中間データのサイ
ズをPC、とすると、データ変換処理前の空き領域2601
のサイズS(k-1)と処理後の空き領域2608のサイズSkと
の関係は図27より Sk = S(k-1) + Pk − B − PC となる。また全てのバンドを処理する前の空き領域サイ
ズ S0 については、処理に使用できる全メモリサイズ
をM、バンド数をn、とすることより、 S0 = M − ( P1 + ... + Pn ) − B となる。但しRAM250に格納したい中間データが最初のバ
ンドのものであった場合、 S0 = M − ( P1 + ... + Pn ) − B − PC となる。ここでM、B、PC及び全てのバンドの Pk
は分っていることより、全ての Sk が計算でき、その
最小値 MIN(Sk) がデータ変換処理のメモリ空き容量の
最小値となる。
【0263】ここでもしMIN(Sk)が0未満であった場
合、格納使用としている中間データを格納するとデータ
変換処理が不可能になってしまうと判断できる。
【0264】以上のように、図26のステップ2502で格
納するとメモリ不足によりデータ変換処理を実行不可能
になるかどうかを判断してから、不足しない場合は中間
データを格納し(2504)、不足する場合はデータ変換処理
(2503)を行なってから格納処理をすることによって、全
てのデータ変換処理を必ず成功させることができ、ペー
ジをメモリデッドロックさせずに印刷データを受信する
ことができる。
【0265】図28において、メモリ不足と判断された
場合のデータ変換処理について説明する。
【0266】まずステップ2701において処理するバンド
が既にデータ変換されているかどうかを判断し、もしデ
ータ変換されていない場合はステップ2702で既に分って
いるサイズの変換データ格納領域を確保する。この領域
は既に述べたメモリ不足判断処理内で確保可能であるこ
とが保証されているので、メモリデッドロック現象は決
して起きない。
【0267】そしてその後ステップ2703において中間デ
ータをレンダリングし、解像度/階調変換部295でデータ
変換処理を行ない、バンドの印刷データを変換済みデー
タとして管理する。
【0268】最後にステップ2704で、一連のデータ処理
が全てのバンドについて行なうまで、ステップ2701へと
ループバックする。
【0269】これらの処理により、全ての印刷データが
メモリデッドロック現象にならずに印刷処理を行なうこ
とができる。
【0270】図29(印刷出力処理)の説明 最後に図26のステップ2514で行なう印刷出力処理の詳
細を、図29で説明する。
【0271】まずステップ2801〜2802でオーバーラン対
策のために一時的なバンドラスタへのレンダリングを行
なう。これは実施形態1と同様である。
【0272】次にステップ2803で実際に印刷エンジンを
スタートさせる。
【0273】シッピングが始まったら、ステップ2804で
変換済みの印刷イメージデータをそのままエンジンに印
刷出力し、ステップ2805で全バンド印刷出力されるまで
処理を2804より繰り返す。
【0274】以上のように本発明を実施形態2において
は、記憶装置の容量をある程度低く抑えると共にプリン
トオーバーラン現象及びメモリデッドロック現象が発生
することなく、確実に全てのページの印刷ができるとい
う保証を安価に実現することができるという効果があ
る。
【0275】また一般に知られるように、解像度変換処
理や階調変換処理は圧縮処理に比べて処理方法が簡単な
ことより、処理速度は速く、特別なハードウエアは不要
である。
【0276】このことより、イメージのデータ変換方式
が解像度変換、階調変換処理で、処理後のメモリには必
ず1ページ分の変換データが格納できる保証があること
特徴とすることにより、画質は劣化するが、圧縮方式に
比べて処理速度も速く、特別なハードウエアも不要なこ
とよりコストも下げることができるという本実施形態固
有の効果がある。
【0277】
【発明の効果】以上の説明から明らかなように本発明に
よれば、記憶装置の容量をある程度低く抑えると共にプ
リントオーバーラン現象及びメモリデッドロック現象が
発生することなく、確実に全てのページの印刷ができる
という保証を安価に実現することができるという効果が
ある。
【0278】また、本発明の印刷装置及びデータ制御方
式は、イメージのデータ変換方式が圧縮処理であること
を特徴とすることにより、少ない記憶装置容量で高解像
度な印刷をすることができるという効果がある。
【0279】また、本発明によれば、イメージのデータ
変換方式が解像度低下処理や階調低下処理であることに
より、高速で印刷処理を行なえるという効果がある。
【図面の簡単な説明】
【図1】本発明を適応可能な出力装置の構成を示す断面
図である。
【図2】本発明の実施形態におけるプリンタ制御システ
ムの構成を説明するブロック図である。
【図3】本発明の実施形態におけるプリンタ制御システ
ムの、内部処理の状態遷移を説明する状態遷移図であ
る。
【図4】本発明の実施形態における印刷データ受信処理
を説明する図である。
【図5】本発明の実施形態における中間データの構造及
び管理形式について説明した図である。
【図6】本発明の実施形態における中間データ形式で格
納された印刷データを実際に印刷出力するときのバンド
に関する処理を説明した図である。
【図7】本発明の実施形態における印刷出力処理の処理
タイミングを説明したタイムチャートである。
【図8】本発明の実施形態におけるプリントオーバーラ
ンを回避するための処理について説明した図である。
【図9】本発明の実施形態におけるプリントオーバーラ
ンを回避するための処理における、一時的なバンドラス
タを用いたレンダリング、印刷出力のタイミングについ
て説明したタイムチャートである。
【図10】本発明の実施形態におけるバンド圧縮を説明
する図である。
【図11】本発明の実施形態におけるバンド圧縮処理に
基づいてレンダリング、印刷出力を行なうタイミングを
説明するタイムチャートである。
【図12】本発明の実施形態におけるページ圧縮を説明
する図である。
【図13】本発明の実施形態におけるページ圧縮時の圧
縮データ管理構造を説明する図である。
【図14】本発明の実施形態におけるページ圧縮処理に
おける印刷出力処理のタイミングを説明するタイミング
チャートである。
【図15】本発明の実施形態における1ページ印刷手順
を示したフローチャートである。
【図16】本発明の実施形態におけるページ圧縮処理の
手順を示したフローチャートである。
【図18】本発明の実施形態におけるメモリ不足判定方
法を説明する図である。
【図19】本発明の実施形態におけるレンダリング時間
計算処理手順を示したフローチャートである。
【図20】本発明の実施形態におけるレンダリング時間
計算の固定テーブル方式を説明する図である。
【図21】本発明の実施形態におけるレンダリング時間
計算の実測方式の処理手順を示したフローチャートであ
る。
【図22】本発明の実施形態におけるプリントオーバー
ラン対策処理手順を示したフローチャートである。
【図23】本発明の実施形態におけるバンド圧縮処理手
順を示したフローチャートである。
【図24】本発明の実施形態における印刷出力手順を示
したフローチャートである。
【図25】本発明の実施形態2におけるプリンタ制御シ
ステムの構成を説明するブロック図である。
【図26】本発明の実施形態2における1ページ印刷手
順を示したフローチャートである。
【図27】本発明の実施形態2におけるメモリ不足判定
方法を説明する図である。
【図28】本発明の実施形態2におけるデータ変換処理
手順を示したフローチャートである。
【図29】本発明の実施形態2における印刷出力手順を
示したフローチャートである。
【符号の説明】
1000,220 印刷装置(レーザビームプリンタ、
LBP) 210 ホストコンピュータ 230 入力部 240 中間データ作成部 250 RAM 260 ROM 270 レンダリング部 280 圧縮/伸長部 295 解像度/階調変換部 290 印刷部 211 CPU 251 中間データ格納領域 252,253 バンドラスタ 254 一時的バンドラスタ 255 圧縮データ 256 圧縮データ格納領域
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年1月29日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正内容】
【図面の簡単な説明】
【図1】本発明を適応可能な出力装置の構成を示す断面
図である。
【図2】本発明の実施形態におけるプリンタ制御システ
ムの構成を説明するブロック図である。
【図3】本発明の実施形態におけるプリンタ制御システ
ムの、内部処理の状態遷移を説明する状態遷移図であ
る。
【図4】本発明の実施形態における印刷データ受信処理
を説明する図である。
【図5】本発明の実施形態における中間データの構造及
び管理形式について説明した図である。
【図6】本発明の実施形態における中間データ形式で格
納された印刷データを実際に印刷出力するときのバンド
に関する処理を説明した図である。
【図7】本発明の実施形態における印刷出力処理の処理
タイミングを説明したタイムチャートである。
【図8】本発明の実施形態におけるプリントオーバーラ
ンを回避するための処理について説明した図である。
【図9】本発明の実施形態におけるプリントオーバーラ
ンを回避するための処理における、一時的なバンドラス
タを用いたレンダリング、印刷出力のタイミングについ
て説明したタイムチャートである。
【図10】本発明の実施形態におけるバンド圧縮を説明
する図である。
【図11】本発明の実施形態におけるバンド圧縮処理に
基づいてレンダリング、印刷出力を行なうタイミングを
説明するタイムチャートである。
【図12】本発明の実施形態におけるページ圧縮を説明
する図である。
【図13】本発明の実施形態におけるページ圧縮時の圧
縮データ管理構造を説明する図である。
【図14】本発明の実施形態におけるページ圧縮処理に
おける印刷出力処理のタイミングを説明するタイミング
チャートである。
【図15】本発明の実施形態における1ページ印刷手順
を示したフローチャートである。
【図16】本発明の実施形態におけるページ圧縮処理の
手順を示したフローチャートである。
【図17】複数の圧縮形式を選択する方法の例について
説明した図である。
【図18】本発明の実施形態におけるメモリ不足判定方
法を説明する図である。
【図19】本発明の実施形態におけるレンダリング時間
計算処理手順を示したフローチャートである。
【図20】本発明の実施形態におけるレンダリング時間
計算の固定テーブル方式を説明する図である。
【図21】本発明の実施形態におけるレンダリング時間
計算の実測方式の処理手順を示したフローチャートであ
る。
【図22】本発明の実施形態におけるプリントオーバー
ラン対策処理手順を示したフローチャートである。
【図23】本発明の実施形態におけるバンド圧縮処理手
順を示したフローチャートである。
【図24】本発明の実施形態における印刷出力手順を示
したフローチャートである。
【図25】本発明の実施形態2におけるプリンタ制御シ
ステムの構成を説明するブロック図である。
【図26】本発明の実施形態2における1ページ印刷手
順を示したフローチャートである。
【図27】本発明の実施形態2におけるメモリ不足判定
方法を説明する図である。
【図28】本発明の実施形態2におけるデータ変換処理
手順を示したフローチャートである。
【図29】本発明の実施形態2における印刷出力手順を
示したフローチャートである。
【符号の説明】 1000,220 印刷装置(レーザビームプリンタ、
LBP) 210 ホストコンピュータ 230 入力部 240 中間データ作成部 250 RAM 260 ROM 270 レンダリング部 280 圧縮/伸長部 295 解像度/階調変換部 290 印刷部 211 CPU 251 中間データ格納領域 252,253 バンドラスタ 254 一時的バンドラスタ 255 圧縮データ 256 圧縮データ格納領域

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 印刷データをバンド単位で管理する手段
    と、 バンド単位にレンダリングとシッピングを同時に行なう
    手段と、 イメージをデータ変換する手段と、 データ変換されたデータを元に復元する手段と、 データ変換されたデータを元に復元して他のイメージと
    融合する手段と、 データ変換されたデータを元に復元してシッピングを行
    なう手段と、 データ変換するかどうかを判断する手段と、 印刷データのサイズの計算する手段と、 データ変換後のデータサイズを計算する手段と、 レンダリング所要時間を計算する手段と、 レンダリングタイミングを変える手段と、 レンダリングタイミングを変えるかどうか判断する手段
    と、を有することを特徴とする印刷装置。
  2. 【請求項2】 イメージのデータ変換方式が圧縮処理で
    あることを特徴とする請求項1の印刷装置。
  3. 【請求項3】 イメージのデータ変換方式が解像度低下
    処理又は階調低下処理であることを特徴とする請求項1
    の印刷装置。
  4. 【請求項4】 データ変換するかどうかという判断にお
    いて、複数のデータ変換方式のうちどの方式を用いるか
    をも判断することを特徴とする請求項1の印刷装置。
  5. 【請求項5】 データ変換後のデータサイズを計算する
    際に、求めるサイズを、圧縮方式に基づいた圧縮後のサ
    イズを予想して計算することを特徴とする請求項1の印
    刷装置。
  6. 【請求項6】 レンダリングタイミングを変える手段
    は、一時的なラスタメモリを確保して、そこにシッピン
    グ前にレンダリングする方式であることを特徴とする請
    求項1の印刷装置。
  7. 【請求項7】 レンダリングのタイミングを変えるかど
    うかの判断をバンド毎に行なうことを特徴とする請求項
    1の印刷装置。
  8. 【請求項8】 バンドのレンダリングのタイミングを変
    えるかどうかの判断は、バンドのレンダリング時間を、
    バンド高さと紙搬送速度により決定されたしきい値と比
    べることによって判断することを特徴とする請求項7の
    印刷装置。
  9. 【請求項9】 バンドのレンダリングのタイミングを変
    えるかどうかの判断は、バンドのレンダリング時間を、
    以前のバンドをレンダリングし終ってから該当バンドを
    レンダリングし始める必要が発生するまでの時間から決
    定されたしきい値と比べることを特徴とする請求項7の
    印刷装置。
  10. 【請求項10】 印刷データをバンド単位にレンダリン
    グし、1つのバンドのレンダリングと、すでにレンダリ
    ングされている他のバンドのシッピングとを並行して行
    ない得る印刷制御装置において、 バンド単位の印刷データのレンダリングを、1ページの
    イメージデータのシッピング開始前に行うかどうかを判
    断する第1判断手段と、 レンダリングにより得られるバンド単位のイメージデー
    タをデータ変換するか否かを判断する第2判断手段とバ
    ンド単位のイメージデータをデータ変換するデータ変換
    手段と、 データ変換されたイメージデータを復元する手段とを有
    し、 前記データ変換手段によりデータ変換されたバンドに対
    して、さらにレンダリングすべき印刷データがある場
    合、データ変換されたイメージデータを前記復元手段に
    より復元して、前記印刷データをレンダリングして得ら
    れたイメージデータと融合することを特徴とする印刷制
    御装置。
  11. 【請求項11】 印刷データをバンド単位で管理し、バ
    ンド単位にレンダリングとシッピングを同時に行なう印
    刷装置におけるデータ制御方法において、 イメージデータをデータ変換するかどうかを判断する工
    程、 データ変換して管理する工程、 データ変換されたデータを元に復元する工程、 データ変換されたデータを元に復元して他のイメージと
    融合する工程、 データ変換されたデータを元に復元してシッピングを行
    なう工程、 印刷データのサイズの計算する工程、 データ変換後のデータサイズを計算する工程、 レンダリング所要時間を計算する工程、 レンダリングタイミングを変える工程、 レンダリングタイミングを変えるかどうか判断する工
    程、を有することを特徴とするデータ制御方法。
  12. 【請求項12】 イメージのデータ変換方法が圧縮処理
    であることを特徴とする請求項11記載のデータ制御方
    法。
  13. 【請求項13】 イメージのデータ変換方法が解像度低
    下処理又は階調低下処理であることを特徴とする請求項
    11記載のデータ制御方法。
  14. 【請求項14】 データ変換するかどうかという判断に
    おいて、複数のデータ変換方法のうちどの方法を用いる
    かをも判断することを特徴とする請求項1記載のデータ
    制御方法。
  15. 【請求項15】 データ変換後のデータサイズを計算す
    る際に、求めるサイズを、圧縮方法に基づいた圧縮後の
    サイズを予想して計算することを特徴とする請求項11
    記載のデータ制御方法。
  16. 【請求項16】 レンダリングタイミングを変える工程
    は、一時的なラスタメモリを確保して、そこにシッピン
    グ前にレンダリングする方法であることを特徴とする請
    求項11記載のデータ制御方法。
  17. 【請求項17】 レンダリングのタイミングを変えるか
    どうかの判断をバンド毎に行なうことを特徴とする請求
    項11記載のデータ制御方法。
  18. 【請求項18】 バンドのレンダリングのタイミングを
    変えるかどうかの判断は、バンドのレンダリング時間
    を、バンド高さと紙搬送速度により決定されたしきい値
    と比べることによって判断することを特徴とする請求項
    17記載のデータ制御方法。
  19. 【請求項19】 バンドのレンダリングのタイミングを
    変えるかどうかの判断は、バンドのレンダリング時間
    を、以前のバンドをレンダリングし終ってから該当バン
    ドをレンダリングし始める必要が発生するまでの時間か
    ら決定されたしきい値と比べることを特徴とする請求項
    17記載のデータ制御方法。
JP8306563A 1996-11-18 1996-11-18 印刷装置及びデータ制御方法 Withdrawn JPH10147017A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8306563A JPH10147017A (ja) 1996-11-18 1996-11-18 印刷装置及びデータ制御方法
US08/968,668 US6124943A (en) 1996-11-18 1997-11-12 Printing apparatus and method for managing print data in units of a band

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8306563A JPH10147017A (ja) 1996-11-18 1996-11-18 印刷装置及びデータ制御方法

Publications (1)

Publication Number Publication Date
JPH10147017A true JPH10147017A (ja) 1998-06-02

Family

ID=17958568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8306563A Withdrawn JPH10147017A (ja) 1996-11-18 1996-11-18 印刷装置及びデータ制御方法

Country Status (2)

Country Link
US (1) US6124943A (ja)
JP (1) JPH10147017A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002169668A (ja) * 2000-07-28 2002-06-14 Canon Inc ページ記述のレンダリング方法及びシステム
JP2007307726A (ja) * 2006-05-16 2007-11-29 Konica Minolta Business Technologies Inc 画像形成装置、画像形成方法及びプログラム
JP2010179546A (ja) * 2009-02-05 2010-08-19 Kyocera Mita Corp 画像形成装置及び画像形成方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3862396B2 (ja) * 1998-01-08 2006-12-27 キヤノン株式会社 印刷装置及び画像処理方法
JP4323618B2 (ja) * 1999-05-31 2009-09-02 キヤノン株式会社 画像処理装置及び画像処理方法
JP3385613B2 (ja) * 1999-12-17 2003-03-10 日本電気株式会社 携帯電話用プリンタケーブル及び通信データの印刷方法
JP3406557B2 (ja) * 2000-02-18 2003-05-12 パナソニック コミュニケーションズ株式会社 複合機
JP3731718B2 (ja) * 2000-03-28 2006-01-05 ノーリツ鋼機株式会社 デジタル写真処理装置
JP4042411B2 (ja) * 2002-01-11 2008-02-06 株式会社日立製作所 データ記録装置、データ再生装置、データ記録再生方法及び撮像装置
US6621586B1 (en) * 2002-04-10 2003-09-16 Texas Instruments Incorporated Accurately scheduling rendering of bands in a printer
US7289243B2 (en) * 2002-08-07 2007-10-30 Lexmark International, Inc. Apparatus and method for data compression optimized by print head architecture
JP2004142387A (ja) * 2002-10-28 2004-05-20 Fuji Photo Film Co Ltd デジタルプリント機
US20040125385A1 (en) * 2002-12-30 2004-07-01 Mellor Douglas J. Estimating a guarantee time
JP4174476B2 (ja) * 2004-03-31 2008-10-29 キヤノン株式会社 データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム
JP2012236344A (ja) * 2011-05-12 2012-12-06 Canon Inc 印刷装置、印刷装置のデータ処理方法及びプログラム
JP6326888B2 (ja) * 2014-03-20 2018-05-23 富士ゼロックス株式会社 画像処理装置及び画像形成装置、画像処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471563A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for automatic resolution reduction

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002169668A (ja) * 2000-07-28 2002-06-14 Canon Inc ページ記述のレンダリング方法及びシステム
JP2007307726A (ja) * 2006-05-16 2007-11-29 Konica Minolta Business Technologies Inc 画像形成装置、画像形成方法及びプログラム
JP2010179546A (ja) * 2009-02-05 2010-08-19 Kyocera Mita Corp 画像形成装置及び画像形成方法
US8446628B2 (en) 2009-02-05 2013-05-21 Kyocera Document Solutions Inc. Image forming apparatus and image forming method having improved rendering

Also Published As

Publication number Publication date
US6124943A (en) 2000-09-26

Similar Documents

Publication Publication Date Title
US8422046B2 (en) Print setting based reprinting
US6449058B1 (en) Printing apparatus, information processing apparatus, data processing method for use in such an apparatus, and storage medium storing computer-readable program
US5602976A (en) Method and apparatus for saving printer memory
US5604846A (en) Printer and method for developing print data
JPH10147018A (ja) 印刷装置及びメモリ管理方式
JPH10147017A (ja) 印刷装置及びデータ制御方法
US6369910B1 (en) Printing apparatus and image processing method
US6914692B1 (en) Printing control apparatus, data processing method for printing control apparatus, and storage medium storing computer-readable program
JP3655457B2 (ja) プリンタ制御装置
JP3581470B2 (ja) ページプリンタにおけるデータ処理方法及びページプリンタ
US6246795B1 (en) Image processing apparatus and method
JP3204136B2 (ja) 画像処理装置及び圧縮処理方法
JPH09270919A (ja) ページプリンタにおけるデータ圧縮方法
JP3957859B2 (ja) 印刷制御装置及び印刷制御方法及びプログラム記憶媒体
JPH08130618A (ja) 印刷装置及び印刷方法
JPH11188932A (ja) 印刷制御装置および印刷制御装置のバンド処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH09309234A (ja) 情報処理装置並びに印刷装置並びに印刷システム並びに情報処理装置のデータ処理方法並びに印刷装置のデータ処理方法およびコンピュータで読出し可能なプログラムを格納した記憶媒体
JPH09252409A (ja) ページプリンタにおけるデータ圧縮方法
JPH09269875A (ja) ページプリンタにおけるデータ圧縮・伸長方法
JPH10147016A (ja) 画像処理装置及び方法
JPH07137355A (ja) 画像処理装置
JPH05205015A (ja) 画像処理装置
JPH09234911A (ja) ページプリンタにおけるデータ圧縮・伸長方法
JPH09248943A (ja) ページプリンタにおけるデータ圧縮方法
JP2003039744A (ja) 印刷装置及びその制御方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040203