JPH10825A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JPH10825A
JPH10825A JP19126896A JP19126896A JPH10825A JP H10825 A JPH10825 A JP H10825A JP 19126896 A JP19126896 A JP 19126896A JP 19126896 A JP19126896 A JP 19126896A JP H10825 A JPH10825 A JP H10825A
Authority
JP
Japan
Prior art keywords
intermediate code
image data
band
code image
rendering
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.)
Granted
Application number
JP19126896A
Other languages
English (en)
Other versions
JP2894286B2 (ja
Inventor
Hiroshi Okubo
宏 大久保
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP19126896A priority Critical patent/JP2894286B2/ja
Publication of JPH10825A publication Critical patent/JPH10825A/ja
Application granted granted Critical
Publication of JP2894286B2 publication Critical patent/JP2894286B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【課題】 ジョブ単位での処理速度を高めることがで
き、限られたメモリ容量内で中間コード画像データを作
成でき、白抜けを防止できるようにする。 【解決手段】 メモリ管理部4は、中間コード画像デー
タ変換部3による中間コード画像データの作成過程にお
いて、中間コード画像データを保持するための中間コー
ド保持ブロックが足りなくなると、マージ処理部6によ
るマージ処理、システムメモリ上への中間コード保持ブ
ロックの確保、さらに、単一ページのジョブの場合に
は、間引き処理部8による間引き処理、複数ページの単
一ジョブや複数ジョブの場合には、処理済みの中間コー
ド画像データのレンダリングの順に、中間コード保持ブ
ロックの回収を試み、中間コード画像データの作成処理
を続行させる。また、レンダリング時には、レンダリン
グ時間予測部11またはレンダリング時間計測部12に
より、レンダリング時間を予測/実測し、該予測結果に
応じてマージ処理やバンドバッファ割当てを実行し白抜
けを防止する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、入力される画像
データから中間コード画像データを作成した後、ラスタ
データに変換する画像処理装置に関する。
【0002】
【従来の技術】近年、コンピュータ等の画像編集装置
は、編集された画像(文字を含む)をカラープリンタ等
でプリントアウトする際、再現性や精度等を向上させる
ために、上記画像を、1ページ分の画像を構成する各描
画オブジェクト(テキスト、グラフィックス、イメー
ジ)を表現するページ記述言語によって記述されたコー
ド画像データ(PDL:ポストスクリプト言語)として
出力する。このとき、カラープリンタ等の画像処理装置
では、メモリを節約するために、入力されるページ記述
言語で記載されたコード画像データを一度にラスタデー
タに変換するのではなく、一旦、所定のブロック毎(例
えば、主走査線毎)に、中間コード画像データを作成し
てメモリの所定領域に記憶した後、該中間コード画像デ
ータに基づいて、順次、上記ブロック毎にラスタデータ
を作成し、印刷・描画するようになっている。
【0003】例えば、特開平3−114856号公報で
は、中間データへの編集時、各バンド毎に中間データが
発生すると、中間データ保持メモリにおいて、まず、そ
のバンドのデータ管理上必要な最小容量の基本ブロック
に中間データを保持する。さらに、基本ブロックの容量
を越えて、そのバンドに中間データが発生すると、ある
程度の容量のデータを保持可能な拡張ブロックを、上記
バンドに対して中間保持メモリに確保し、その拡張ブロ
ックに中間データを保持するとともに、中間データ保持
メモリで使用されているブロックをバンドと対応付ける
中間データ管理テーブルを設ける。また、複数の文書に
対応付けるために、文書管理テーブルを設けるようにな
っている。
【0004】また、例えば、特開平3−114857号
公報では、中間管理データ保持メモリに空きエリアがな
くなると、中間データへの展開を中止し、印字待ちの文
書数が連続印字出力すべき文書数以上の場合には、印字
装置を起動し、印字出力することにより、中間データ保
持メモリに空きエリアが確保できるのを待つようになっ
ている。
【0005】また、特開平5−208540号公報で
は、バンドバッファを3個使用し、印字装置の起動前に
各バンドの全ての表示コマンドのラスタ化実行時間(R
ET)を決定し、選択されたバンドについて、そのラス
タ化実行時間が、バンド当たりの印字スキャン時間(P
SRT)と少なくとも前のバンドについての空きバンド
ラスタ化実行時間(ISRT)とを合計したものを越え
ているか否かを判定する。そして、越えている場合に
は、その選択されたバンドを予めラスタ化して第1の待
ち行列に入れ、越えていない場合には、ラスタ化するこ
となく第2の待ち行列に入れる。全てのバンドに対して
同様のチェックが行われる。そして、第2の待ち行列に
入っているバンドに対しては、印字装置の起動後にラス
タ化を行うようになっている。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た特開平3−114856号公報による画像処理装置で
は、各バンドの中間データの有無にかかわらず、必ず基
本ブロックを必要とし、また、複数の文書(=ページ)
に対する処理においても、事前にサポートする文書数を
決めておき、文書(×分割バンド数の)毎に基本ブロッ
クを持たなくてはならないので、処理可能な文書の数に
制限が生じるという問題があった。また、基本ブロック
と拡張ブロックのそれぞれとバンドを中間データ管理テ
ーブルによって対応付けているため、拡張ブロックは不
足しているが、システムメモリは余っているという状況
に対し、中間データ保持メモリを拡張することにより、
処理を継続するといったことが困難になるという問題が
あった。また、複数のジョブに対する処理に関しては言
及していないが、複数のジョブをサポートするために
は、事前にサポートするジョブ数を決めておき、ジョブ
数に対応した(ジョブ毎にページ数×分割バンド数の)
基本ブロックを中間データ保持メモリに確保しなければ
ならず、さらに、ジョブと文書管理テーブルを対応付け
る管理テーブルを必要とし、柔軟性、拡張性に問題があ
った。
【0007】ところで、上述した特開平3−11485
7号公報においては、印字処理全体を見た場合、印字装
置が起動され停止するまでの時間が、通常1ページ分の
コード画像データを解釈して中間コード画像データに変
換し、さらに、ラスタデータに変換するまでの時間と比
較して非常に大きい。したがって、一度、印字装置を起
動した場合には、印字装置を止めることなく、連続的に
出力した方が高速化につながる。すなわち、できる限り
ページの処理途中で印字装置を起動することは避けなけ
ればならず、中間管理データ保持メモリの空きエリアが
なくなった場合においても、すぐに印字出力により空き
エリアを確保するといった処理をすべきではない。しか
しながら、上述した特開平3−114857号公報で
は、その都度、印字装置を起動しているため、全体のパ
フォーマンスが低下するという問題がある。また、総ペ
ージ数が奇数ページの文書に対し、降順両面印字(大き
いページから両面印字)を行う場合、中間管理データ保
持メモリに空きエリアがなくなると、印字装置を起動
し、印字出力するため、ページ順が不正確になるという
問題があり、さらに、中間管理データ保持メモリの空き
エリアがなく、印字待ちの文書数が連続印字出力すべき
文書数以下の場合には、デッドロック状態になるという
問題があった。
【0008】また、特開平5−208540号公報で
は、ポストスクリプトのようないくらでも重ね書きが可
能なページ記述言語を入力として、CMYK面順次で出
力する場合、あるバンドのKのレンダリング処理が間に
合わないと判定された場合、同一のバンドのY,M,C
も同様に間に合わないことになる。これにより、間に合
わないバンドが1つでも存在すると、結局、4つのバン
ドを予めラスタデータで保持しなければならず、メモリ
使用量が大となるという問題がある。また、ラスタデー
タの展開に使用されたメモリ領域の再利用が行われおら
ず、メモリ領域を効率的に利用できないという問題があ
った。さらに、2つの待ち行列で各バンドのレンダリン
グ処理を管理するため、処理が複雑になるという問題が
あった。
【0009】この発明は上述した事情に鑑みてなされた
もので、ジョブ単位での処理速度を高めることができ、
限られたメモリ容量内で中間コード画像データを作成で
き、印字処理での白抜けを防止できる画像処理装置を提
供することを目的としている。
【0010】
【課題を解決するための手段】上述した問題点を解決す
るために、請求項1記載の発明では、ページ記述言語で
記載されたコード画像データを解釈し、所定のバンド単
位で分割した中間コード画像データに変換する変換手段
と、少なくとも、システム領域および中間コード保持領
域からなる記憶手段と、前記変換手段によって中間コー
ド画像データに変換された時点で、前記中間コード保持
領域に中間コード保持ブロックを確保し、該中間コード
保持ブロックに、対応する中間コード画像データを記憶
する記憶手段管理手段と、前記変換手段による中間コー
ド画像データ作成時に、前記中間コード保持領域に中間
コード保持ブロックが確保できない場合、前記中間コー
ド画像データに対してマージ処理を施し、マージ処理が
施された中間コード保持ブロックを解放するマージ処理
手段とを具備することを特徴とする。
【0011】また、請求項12記載の発明では、ページ
記述言語で記載されたコード画像データを解釈し、所定
のバンド単位で分割した中間コード画像データに変換す
る変換手段と、少なくとも、システム領域および中間コ
ード保持領域からなる記憶手段と、前記変換手段によっ
て中間コード画像データに変換された時点で、前記中間
コード保持領域に中間コード保持ブロックを確保し、該
中間コード保持ブロックに、対応する中間コード画像デ
ータを記憶する記憶手段管理手段と、前記中間コード保
持領域に記憶されている中間コード画像データに対し、
バンド単位で、所定のパラメータに基づいてレンダリン
グ時間を予測する予測手段と、前記予測手段による予測
結果に基づいて、前記中間コード保持領域に記憶されて
いる中間コード画像データに対してマージ処理を施し、
マージ処理が施された中間コード保持ブロックを解放す
るマージ処理手段とを具備することを特徴とする。
【0012】また、請求項21記載の発明では、ページ
記述言語で記載されたコード画像データを解釈し、所定
のバンド単位で分割した中間コード画像データに変換す
る変換手段と、少なくとも、システム領域および中間コ
ード保持領域からなる記憶手段と、前記変換手段によっ
て中間コード画像データに変換された時点で、前記中間
コード保持領域に中間コード保持ブロックを確保し、該
中間コード保持ブロックに、対応する中間コード画像デ
ータを記憶する記憶手段管理手段と、前記中間コード保
持領域に記憶されている中間コード画像データに基づい
て、バンド単位で、レンダリング時間を予め実測する実
測手段と、前記実測手段による実測結果に基づいて、前
記中間コード保持領域に記憶されている中間コード画像
データに対してマージ処理を施し、マージ処理が施され
た中間コード保持ブロックを解放するマージ処理手段と
を具備することを特徴とする。
【0013】請求項1記載の発明によれば、入力される
コード画像データは、変換手段によって、所定のバンド
単位で分割した中間コード画像データに変換される。記
憶手段管理手段は、変換手段によって中間コード画像デ
ータに変換された時点で、記憶手段の中間コード保持領
域に中間コード保持ブロックを確保し、該中間コード保
持ブロックに、対応する中間コード画像データを記憶す
る。マージ処理手段は、中間コード保持領域に中間コー
ド保持ブロックが確保できない場合、中間コード画像デ
ータに対してマージ処理を施し、マージ処理が施された
中間コード保持ブロックを解放する。したがって、限ら
れたメモリ容量内で中間コード画像データを連続して作
成できるので、印字装置の起動を度々行う必要がなく、
ジョブ単位での処理速度を高めることが可能となる。
【0014】また、請求項12記載の発明によれば、入
力されるコード画像データは、変換手段によって、所定
のバンド単位で分割した中間コード画像データに変換さ
れる。記憶手段管理手段は、変換手段によって中間コー
ド画像データに変換された時点で、記憶手段の中間コー
ド保持領域に中間コード保持ブロックを確保し、該中間
コード保持ブロックに、対応する中間コード画像データ
を記憶する。予測手段は、中間コード保持領域に記憶さ
れている中間コード画像データに対し、バンド単位で、
所定のパラメータに基づいてレンダリング時間を予測す
る。マージ処理手段は、予測手段による予測結果に基づ
いて、中間コード保持領域に記憶されている中間コード
画像データに対してマージ処理を施し、重ね書きをなく
すことにより、プリンティングにおける白抜けを防止す
ることが可能となる。
【0015】また、請求項21記載の発明によれば、入
力されるコード画像データは、変換手段によって、所定
のバンド単位で分割した中間コード画像データに変換さ
れる。記憶手段管理手段は、変換手段によって中間コー
ド画像データに変換された時点で、記憶手段の中間コー
ド保持領域に中間コード保持ブロックを確保し、該中間
コード保持ブロックに、対応する中間コード画像データ
を記憶する。実測手段は、中間コード保持領域に記憶さ
れている中間コード画像データに基づいて、バンド単位
で、予めレンダリング時間を実測する。マージ処理手段
は、実測手段による実測結果に基づいて、中間コード保
持領域に記憶されている中間コード画像データに対して
マージ処理を施し、重ね書きをなくすことにより、より
正確なレンダリング時間が取得できるので、プリンティ
ングにおける白抜けを防止することが可能となる。
【0016】
【発明の実施の形態】次に図面を参照してこの発明の実
施形態について説明する。
【0017】A.実施形態の構成 図1は本発明の一実施形態による画像処理装置の構成を
示すブロック図である。図において、1は、コンピュー
タ等から供給されるページ記述言語で記載されたコード
画像データを解釈し、所定の印刷機構により画像を描画
して出力する画像処理装置であり、コード画像データ解
釈部2、中間コード画像データ変換部3、メモリ管理部
4、マージ判定部5、マージ処理部6、間引き判定部
7、間引き処理部8、ジョブ管理部9、中間コード管理
部10、レンダリング時間予測部11、レンダリング時
間計測部12、出力判定部13、出力部14、圧縮部1
5および伸長部16から構成されている。
【0018】コード画像データ解釈部2は、入力される
コード画像データ(PDL:ポストスクリプト言語)を
解釈し、中間コード画像データ変換部3に供給する。中
間コード画像データ変換部3は、コード画像データが描
画オブジェクト(グラフィックス、フォント、イメージ
データ等)である場合には、バンド単位に分割された中
間コード画像データを作成し、メモリ管理部4を介して
中間コード管理部10から得た中間コード保持メモリ
(後述)に格納するとともに、バンド毎に対応したバン
ド情報を保持するバンド情報テーブル(後述)に、作成
された中間コード画像データに関する情報をセットす
る。中間コード画像データとしては、例えば、ディスプ
レイリスト、ランレングスリストなどが挙げられる。
【0019】次に、メモリ管理部4は、上述した中間コ
ード画像データを作成・記憶するためのメモリ領域を、
全メモリM内に確保するとともに、該メモリ領域の使用
可能残量を管理する。メモリ管理部4は、処理効率を考
慮し、中間コード画像データ用のメモリ領域をブロック
単位で確保し、バンド情報テーブル12の先頭の中間コ
ード画像データブロックへのポインタフィールドでリス
ト状に管理する。なお、使用可能残量としては、上述し
た中間コード画像データ作成用に確保されたメモリ領域
の使用可能残量以外にも、システムのメモリM全体にお
ける使用可能残量であってもよい。
【0020】また、該メモリ管理部4は、ネットあるい
はスプールディスクから供給されるページ記述言語で記
述されたコード画像データを解釈し、中間コード画像デ
ータに変換する処理を繰り返している間に未使用の中間
コード保持ブロックが「0」になると、マージ判定部5
を起動する。ここで、未使用の中間コード保持ブロック
が「0」であるかどうかは、中間コード保持メモリ制御
テーブル21のフリーリストフィールドの値がNULL
で、かつカレントポイントフィールドの値が中間コード
保持メモリ20の最後を指していることで判定される。
また、該メモリ管理部4は、後述するマージ処理部6に
よるマージ処理(後述)において、マージ処理を行った
にもかかわらず、中間データ画像データを作成するため
のメモリ領域の使用可能残量が回復しない場合には、処
理中または処理済みのジョブの文書形態に応じて、間引
き判定部7(間引き処理)または出力部14(レンダリ
ング処理)を起動する。
【0021】ここで、図2は、メモリM上の上記中間コ
ード保持メモリ、バンド情報テーブル、中間コード保持
メモリ制御テーブルの構成例を示す概念図である。図に
おいて、中間コード保持メモリ20および中間コード保
持メモリ制御テーブル21は、中間コード管理部10に
よって管理される。中間コード保持メモリ20は、中間
コード保持ブロック1〜nに分割されており、各ブロッ
クに、バンド単位の中間コード画像データが保持され
る。各中間コード保持ブロックは、図3に示すように、
ヘッダ部およびボディ部から構成されており、ヘッダ部
は、前のブロックへのポインタ、後ろのブロックへのポ
インタ、および識別ID/拡張ID/フリーリストフラ
グからなり、ボディ部は、中間コード画像データ保持領
域からなる。
【0022】上記前のブロックへのポインタは、最初の
バンドに対して獲得した中間コード保持ブロックの場合
には、対応するバンド情報テーブルの中間コード保持ブ
ロックへのポインタを保持するフィールドに、その中間
コード保持ブロックへのポインタをセットし、それ以外
は対応するバンドの一つ前の中間コード保持ブロックへ
のポインタを保持する。
【0023】上記後ろのブロックへのポインタは、現在
使用中の中間データ保持ブロックにおいては、NULL
がセットされ、既に中間コード画像データで満杯の中間
コード保持ブロックにおいては、新たに獲得した中間コ
ード保持ブロックへのポインタを保持する。識別ID/
拡張ID/フリーリストフラグは、中間コード管理部に
よりセットされ、識別IDは、ジョブID、ページID
およびバンドIDからなり、バンドIDは、中間コード
保持ブロックの要求時に、対応するバンドがバンドID
をメモリ管理部4を介して中間コード管理部10へ通知
し、ジョブIDおよびページIDは、メモリ管理部4を
介してジョブ管理部9から得られる。ここで、識別ID
は、前のブロックへのポインタがセットされている場合
(双方向リスト)には必要なく、セットされていない場
合、中間コード保持ブロックを使用しているバンドのバ
ンド情報22にアクセスしたい場合に必要となる。拡張
IDは、中間コード保持メモリ20の領域を拡張するこ
とにより得られた拡張中間コード保持ブロックに対して
セットされ、フリーリストフラグは、マージ処理や間引
き処理を行うことによって、回収された中間コード保持
ブロックに対してセットされる。中間コード画像データ
保持領域は、作成された中間コード画像データを保持す
る領域である。
【0024】バンド情報テーブル22は、バンド毎の情
報を保持し、メモリ管理部4あるいはジョブ管理部9で
管理される。なお、図示の例は、メモリ管理部9で管理
された場合である。バンド情報テーブル22は、その他
の情報、レンダリング情報、先頭の中間コード保持ブロ
ックへのポインタ、現在使用中の中間コード保持ブロッ
クへのポインタ、CMYK毎の次のバンド情報へのポイ
ンタからなる。その他の情報は、図4に示すように、中
間コード画像データの総バイト数、CMYKのランレン
グス、マージフラグ、間引きフラグからなる。
【0025】まず、中間コード画像データの総バイト数
フィールドは、バンド内の中間コード画像データの総バ
イト数の値を保持しており、中間コード画像データから
ラスタデータを作成するレンダリング処理において、中
間コード画像データの読み出し時間を予測するために用
いられる。CMYK毎のランレングス(色情報が「=
0」および「≠0」)の総数フィールドは、CMYK毎
の色情報が「0」と「0」以外のランレングスの総数の
値を保持しており、レンダリング処理において、ラスタ
データの書き込み時間を予測するために用いられる。
【0026】次に、マージフラグフィールドは、マージ
処理を行った場合にセットされ、その後、新たに中間コ
ード画像データが作成された場合にはリセットされる。
該マージフラグフィールドが「オン」の場合には、ラス
タデータの書き込み時間予測においては、色情報が「≠
0」であるランレングスの総数のみを用いて予測し、ま
た、ラスタデータの書き込み処理においては、色情報が
「≠0」であるラスタデータの書き込みを行う。一方、
マージフラグフィールドが「オフ」の場合には、ラスタ
データの書き込み時間予測においては、色情報が「=
0」と「≠0」(すなわち、全て)であるランレングス
の総数を用いて予測し、また、ラスタデータの書き込み
処理においては、色情報が「=0」と「≠0」のラスタ
データ、すなわち全てのラスタデータの書き込みを行
う。
【0027】次に、間引きフラグフィールドは、間引き
処理を行った場合にセットされる。該間引きフラグフィ
ールドが「オン」の場合には、レンダリング処理を間引
き用にし、「オフ」の場合には、通常のレンダリング処
理を行う。ここで、複数の間引き処理を行う場合には、
次のような値をセットする。
【0028】 0:間引き処理を行っていない 1:色間引き処理済み 2:副走査線間引き(1/2)処理済み 3:色間引き処理と副走査線間引き(1/2)処理済み 4:副走査線間引き(1/4)処理済み 5:色間引き処理と副走査線間引き(1/4)処理済み
【0029】次に、レンダリング情報は、レンダリング
処理に必要なバンド数、バンド幅/高さや、ジョブ管理
部からのジョブ情報(出力用紙サイズ、出力トレイ、片
面印刷/両面印刷、昇順/降順、総ページ数などの印刷
モードなど)を保持する。該レンダリング情報は、複数
ページあるいは複数ジョブを処理する場合、処理済みの
ページ情報は、現在処理中のページ情報で上書きされて
しまうので、次のページの処理に移行する前に保持する
必要がある。また、ジョブ管理部9からのジョブ情報に
関しては、各バンド毎に持たせる必要はなく、先頭バン
ドのバンド情報あるいはより上位のページ情報に持たせ
るようにしてもよい。また、レンダリング処理が間に合
わないと判定された場合、色成分毎のラスタデータ展開
済みフラグおよびその展開を行ったバンドバッファへの
ポインタを保持する。これにより、本発明においては、
各バンドのレンダリング処理の管理を1つの待ち行列の
みで行うことが可能である。
【0030】先頭の中間コード保持ブロックへのポイン
タは、最初に獲得した中間コード画像データ保持ブロッ
クへのポインタを保持する。NULLの場合には、中間
コード画像データ保持ブロックを1つも使用しておら
ず、ゆえにそのバンドに対する描画が行われていないこ
とを示す。現在使用中の中間コード保持ブロックへのポ
インタは、現在使用中の中間コード保持ブロックを高速
にアクセスするためのものであり、現在使用中の中間コ
ード保持ブロックへのポインタを保持し、新たに中間コ
ード保持ブロックを獲得した場合には更新される。次の
バンド情報へのポインタは、次のバンド情報へのポイン
タを保持し、NULLの場合には、最後にレンダリング
されるバンドを示す。
【0031】中間コード保持メモリ制御テーブル21
は、中間コード保持メモリへのポインタ、中間コード保
持メモリサイズ、拡張ブロックへのポインタ、拡張ブロ
ック数、フリーリスト、カレントポイントおよびデフォ
ルトサイズからなる。中間コード保持メモリ20へのポ
インタは、先頭の中間コード保持ブロックを指示するポ
インタを保持する。中間コード保持メモリサイズは、中
間コード保持メモリ20のサイズ(中間コード保持ブロ
ックの総サイズ)を保持する。該中間コード保持メモリ
サイズは、メモリ管理部4からのシステムメモリの不足
によるメモリ要求により中間コード保持メモリの一部を
メモリ管理部4へ与えた場合に更新され、現在処理中の
ジョブが完了した場合には、中間コード保持メモリ制御
テーブル21のデフォルトサイズフィールドの値により
元の値にリセットされる。
【0032】拡張ブロックへのポインタは、中間コード
保持メモリ20を拡張した場合に得られた拡張領域にお
ける先頭の中間コード保持ブロックを指示するポインタ
である。NULLの場合には、中間コード保持メモリの
拡張が行われていないことを示す。次に、拡張ブロック
数は、中間コード保持メモリ20の領域を拡張した場合
に得られた、拡張された中間コード保持ブロックの総数
を示す。フリーリストは、一度、中間コード画像データ
を保持し、マージ処理、間引き処理あるいは中間コード
保持ブロックの不足により処理済みのページあるいはジ
ョブのレンダリングを行ったことにより、解放された中
間コード保持ブロックを示す。NULLの場合には、中
間コード保持メモリ制御テーブル21のカレントポイン
トフィールドで示される中間コード保持ブロックが要求
先のバンドに渡され、NULLでない場合には、フリー
リストで示される中間コード保持ブロックが要求先のバ
ンドに渡される。
【0033】カレントポイントは、中間コード保持メモ
リ内の未使用の中間コード保持ブロックへのポインタを
保持する。また、デフォルトサイズは、デフォルト値と
して「0」を保持し、中間コード保持メモリ20が解放
された場合には、デフォルトの中間コード保持メモリ2
0のサイズ(中間コード保持ブロックの総サイズ)を保
持する。
【0034】マージ判定部5は、上述したように、中間
コード画像データ作成時において、中間コード画像デー
タを保持するための中間コード保持ブロックが「0」に
なったときに、新たな中間コード保持ブロックの要求が
あった場合に起動され、各バンドのバンド情報テーブル
22のマージフラグフィールドの値をチェックし、「オ
フ」の場合にはマージ処理部6を起動する。
【0035】マージ処理部6は、対象となっているバン
ドのそれぞれの中間コード画像データの重なりをなくす
マージ処理を実行する。なお、マージ処理は、効率を考
えた場合、マージフラグがオフのバンドで、CMYKの
ランレングスを合計した値が大きいものから行う。すな
わち、もし重なっている中間コード画像データが存在す
る場合には、その重なりをなくし、この結果、重なって
いた部分のCMYK毎のランレングス(色情報が「=
0」と「≠0」)の値が削除されるので、バンド情報テ
ーブル22のCMYK毎のランレングス(色情報が「=
0」と「≠0」)の総数フィールドを更新する。一方、
一部でも重なる場合(ランレングス以外なら完全に重な
る場合)には、先に描画した描画オブジェクトの中間コ
ード画像データは不要になるので、言い換えると、他の
描画オブジェクトに上書きされてしまうので、中間コー
ド画像データ量が削減され、不用になった中間コード保
持ブロックを解放する。
【0036】上述したマージ処理においては、重なり具
合に応じて、最上層に描画される画像の中間コード画像
データを有効にするだけであるので、画質の劣化は生じ
ない。該マージ処理は、中間コード保持メモリの使用可
能残量が「0」のときに、新たに中間コード保持ブロッ
クの要求があった場合にのみ、対象となったバンド内の
全ての中間コード画像データに対して行われ、最後に、
バンド情報テーブル22のマージフラグフィールドを
「オン」にし、未使用の中間コード保持ブロックを確保
する。これにより、常に、全ての中間コード画像データ
に対してマージ処理を行う必要がなくなり、処理速度を
向上させることができる。
【0037】単一ページでの全てのバンド、あるいは複
数ページの処理中においては、処理済みのページの全て
のバンドおよび現在処理中のページの全てのバンド、あ
るいは複数のジョブの処理中においては、処理済みのジ
ョブの各ページの全てのバンドおよび現在処理中のジョ
ブのページの全てのバンドに対してマージ処理を行った
にもかかわらず、未使用の中間コード保持ブロックを確
保できない場合には、現在処理を行っているジョブの内
容に応じた処理を行う。
【0038】単一ジョブの単一ページの場合には、間引
き処理を行うが、間引き処理前に、メモリ管理部にシス
テムメモリに余裕があるか否かを問い、余裕がある場合
には、中間コード保持ブロックの獲得を行う。但し、こ
の処理とマージ処理との順番を変えてもよい。出力形態
が両面印刷において、第2ページ目(裏面)の処理中に
中間コード保持ブロックが不足し、マージ処理を行って
も、未使用の中間コード保持ブロックが確保できなかっ
た場合には、間引き判定部7を起動する。
【0039】間引き判定部7は、上述したように、上記
マージ処理部6による全てのバンドに対してマージ処理
を行ったにもかかわらず、中間コード画像データを保持
するための中間コード保持ブロックが確保できない場合
に起動され、各バンドのバンド情報テーブル22の間引
きフラグフィールドの値をチェックし、「オフ」の場合
には間引き処理を行うための間引き処理部7を起動す
る。
【0040】間引き処理部8は、1種類の間引き処理も
しくは複数の間引き処理により、全てのバンドに対し
て、各バンド内の所定のスキャンラインにおける中間コ
ード画像データを間引く(削除)することにより、中間
コード画像データを作成するためのメモリ領域の使用可
能残量を確保する。なお、複数の間引き処理を行う場合
には、前述したように、各間引き処理に対して付けられ
た数値により、バンド情報テーブル22の間引きフラグ
フィールドの値を判別し、所定の間引き処理を実行す
る。以下に、2種類の間引き処理を用いた場合の例につ
いて説明する。
【0041】(a)色間引き処理 色間引き処理は、それぞれの中間コード画像データが有
するCMYKの色情報に関し、隣接する中間コード画像
データ間のC,M,Y,Kのそれぞれの値をチェック
し、色が近い場合には、1つの中間コード画像データに
変換する。1つにまとめた色情報は、それぞれの中間コ
ード画像データの色情報の平均値か、あるいはどちらか
一方の値を選択することで決定される。これにより、バ
ンド情報テーブル22のCMYK毎のランレングス(色
情報が「=0」と「≠0」)の総数フィールドの値が変
化するので、該フィールド値を更新し、バンド情報テー
ブル22の間引きフラグフィールドに「1」をセットし
(複数の間引き処理を用いる場合には論理和をとり)、
不要になった中間コード画像データのメモリ領域を解放
する。
【0042】(b)副走査線間引き処理 副走査線間引き処理は、副走査線方向で、偶数ラインあ
るいは奇数ラインの中間コード画像データを削除し、残
ったラインの中間コード画像データに基づいて、中間コ
ード画像データを削除したラインを補間する。これによ
り、バンド情報テーブル22のCMYK毎のランレング
ス(色情報が「=0」と「≠0」)の総数フィールドの
値が変化するので、その更新を行う。例えば、「1/
2」の場合(偶数ラインあるいは奇数ラインのいずれか
を間引く場合)には、バンド情報テーブル22の間引き
フラグフィールドに「2」をセットし、1/4の場合
(さらに残ったラインの中で偶数ラインあるいは奇数ラ
インのいずれかを間引く場合)には、「4」をセット
し、不要になった中間コード画像データのメモリ領域を
解放する。なお、複数の間引き処理を用いている場合に
は、バンド情報テーブル22の間引きフラグフィールド
には、論理和を演算した結果をセットする。
【0043】ここで、前述したマージ処理では、未使用
の中間コード保持ブロックが確保できた場合には、全て
のバンドに対して処理を施す必要がなかったが、間引き
処理の場合には、画質の不均一を防止するために、全て
のバンドに対して行うことが望ましい。また、1つの間
引き処理後に中間コード保持ブロックが確保できた場合
には、間引き判定部7は起動されないようになってい
る。但し、再度、未使用の中間コード保持ブロックが
「0」になったときに、新たに中間コード保持ブロック
の要求があった場合には、間引き判定部7が再度メモリ
管理部4によって起動され、該間引き判定部7によっ
て、バンド情報テーブル22の間引きフラグフィールド
の値が参照され、他の間引き処理が行われる。全ての間
引き処理を行ったにもかかわらず、未使用の中間コード
保持ブロックを確保できない場合には、図示しないエラ
ー通知部を起動して処理を終了する。
【0044】次に、レンダリング時間予測部11は、全
てのコード画像データに対する中間コード画像データの
作成処理が終了すると、全てのバンドに対して、バンド
当たりの出力装置(図示略)のスキャン時間とレンダリ
ング時間とに基づいて、バンド当たりの出力装置スキャ
ン時間>(中間コード画像データ読み出し時間+ラスタ
データ作成時間+バンドバッファクリア時間+ラスタデ
ータ書き込み時間)という不等式を満足するか否かを判
断し、全てのバンドにおいて上記不等式が満足すると、
出力判定部13を起動する。上記不等式は、2つのバン
ドバッファを持つ場合において、1つ前のバンドに対す
るラスタデータが出力装置により描画されている間に、
次のバンドに対する中間コード画像データをラスタデー
タに変換できるか否かを表している。
【0045】ここで、上記不等式の各項目を説明する。
まず、中間コード画像データ読み出し時間は、 バンド
情報テーブル22の中間コード画像データの総バイト数
フィールドの値に画像処理装置1のメモリ読み出し効率
(時間/バイト)を積算した値である。ここで、メモリ
読み出し効率(時間/バイト)は、レンダリング時間計
測部12が保持するレンダリング予測情報に保持されて
いる(図13を参照)。次に、ラスタデータ作成時間
は、読み出された全ての中間コード画像データからラス
タデータを作成するのに要する時間であり、中間コード
画像データがディスプレイリストの場合には、複数のデ
ィスプレイリストが存在し、それぞれのラスタデータの
作成容易度が異なるので、無視できない項目である。但
し、中間コード画像データがランレングスリストの場合
には、ラスタデータの作成は容易であるので、ラスタデ
ータ作成時間を中間コード画像データ読み出し時間に含
めてもよい。
【0046】次に、バンドバッファクリア時間は、バン
ド毎にラスタデータが書き込まれるバンドバッファをク
リアする時間であり、ここでは、副走査線方向の大きさ
は、1色分のフレームバッファを16分割した値にな
り、主走査先方向の大きさは、出力される用紙サイズに
依存した値になるので、バンドバッファサイズの値は定
数となり、バンドバッファクリア時間も定数となる。ま
た、本実施形態では、バンドバッファとして、少なくと
も2つのバンドに対するラスタデータを記憶するだけの
容量が確保されている。
【0047】また、ラスタデータ書き込み時間は、バン
ド情報テーブル22におけるCMYK毎のランレングス
(色情報が「=0」と「≠0」)の総数フィールドの値
に画像処理装置1のメモリ書き込み効率(時間/バイ
ト)を積算した値である。ここで、バンド情報テーブル
22のマージフラグフィールドの値が「オン」の場合に
は、バンド情報テーブル22におけるCMYK毎のラン
レングス(色情報が「=0」と「≠0」)の総数フィー
ルドの値としては、色情報が「≠0」であるランレング
スの総数の値で評価する。また、副走査線間引き処理を
行った場合には、バンド情報テーブル22におけるCM
YK毎のランレングス(色情報が「=0」と「≠0」)
の総数フィールドの値に画像処理装置1のメモリ書き込
み効率(時間/バイト)を積算した値に、さらに、間引
きされたスキャンラインの情報を補間するためのコピー
時間を加味する必要がある。ここで、メモリ書き込み効
率(時間/バイト)およびコピー効率(時間/バイト)
は、レンダリング時間計測部12のレンダリング情報に
保持されている。
【0048】また、実際のシステムでは、メモリ読み出
し効率やメモリ書き込み効率は、所定の幅(誤差/ばら
つき)を有するために、バンド当たりの出力装置スキャ
ン時間とレンダリング時間とがほぼ同一値になった場合
には、上記不等式の判定が困難になるので、このような
場合には、レンダリング時間予測部11は、レンダリン
グ時間計測部12を起動する。
【0049】レンダリング時間計測部12は、レンダリ
ング予測部11によって予測したレンダリング時間と印
字装置スキャン時間との差が所定値以下である場合、す
なわち、前述した不等式による判定が困難である場合
に、対象となっているバンドに対して、そのバンドの中
間コード画像データを実際にレンダリングし、その実測
値をレンダリング時間予測部11に通知する。レンダリ
ング時間予測部11は、上記実測値に基づいて判定を下
す。
【0050】また、別の方法としては、中間コード画像
データのフォーマットが各色成分で共通の場合(図17
を参照)、CMYKのいずれか1色に対してレンダリン
グ時間計測部12によって各バンドのレンダリング時間
を予め測定することにより、より正確な印字装置スキャ
ン時間に間に合うか否かを判定することが可能である。
また、この場合、レンダリング時間計測部12を起動す
るかどうかを決定する所定値を設けることにより、高速
に白抜けのチェックを行うことができる。所定値の内容
としては、各バンドのバンド情報が持つ中間コード画像
データの総バイト数や各色成分のランレングスの値に対
するリミッタ値が挙げられる。なお、上記不等式が成立
しないと、ラスタデータへの変換が間に合わず、白抜け
が生じてしまう。
【0051】出力判定部13は、上述したように、全て
のバンドにおいて上記不等式が満足し、レンダリング時
間予測部11によって起動されると、全てのバンドにお
けるバンド情報テーブル22の各CMYのランレングス
(色情報が「≠0」)の総数のフィールドの値をチェッ
クし、全て「0」の場合には、出力部14に対して、カ
ラープリンタの起動コマンドとして「白黒モード」を通
知し、それ以外の場合には、「カラーモード」であるこ
とを通知する。これにより、実際のレンダリング処理を
行う前において、容易にカラープリンタの起動コマンド
を決定することができる。
【0052】出力部14は、後述するレンダリングスケ
ジュールテーブルに従って、バンド毎に、中間コード画
像データをラスタデータに変換し、バンドバッファを2
個使用する場合には、システムによって2つのバンド分
確保されているバンドバッファに交互に書き込む。この
とき、1番目のバンドの中間コード画像データをラスタ
データに変換した際には、出力判定部13から通知され
るカラープリンタの起動コマンドを、図示しない印字装
置に送信することにより、該印字装置を起動する。その
後、1番目のバンドのラスタデータを印字装置に転送し
つつ、2番目以降のバンドの中間コード画像データをラ
スタデータに変換するレンダリング処理を行う。印字装
置は、上記バンドバッファに書き込まれたラスタデータ
を所定の方式に従って描画し、1ページ分の描画が終了
すると用紙等に出力する。バンド毎のレンダリングは、
バンド情報のレンダリング情報フィールド内のラスタデ
ータ展開済みフラグ、マージフラグフィールドおよび間
引きフラグフィールドの値に従って行われる。また、こ
のとき、レンダリング時間計測部12によって計測され
た、バンド毎のレンダリング処理時間は、ログに書き込
まれ、出力部14に保持される。
【0053】ここで、上記出力部14において、バンド
情報テーブル22のマージフラグフィールドおよび間引
きフラグフィールドの値に基づいて行われるレンダリン
グ処理について説明する。
【0054】(a)ラスタデータ展開済みフラグがオン 既にバンドバッファにラスタデータを展開済みであるの
で、次のバンドのレンダリング処理を行う。以下の場合
は、全てラスタデータ展開済みフラグはオフである。 (b)マージフラグおよび間引きフラグが共に「オフ」 中間コード画像データを全てラスタデータに変換し、バ
ンドバッファに書き込む。
【0055】(c)マージフラグが「オン」で、間引き
フラグが「オフ」 中間コード画像データのうち、色情報が「0」でないも
のをラスタデータに変換し、バンドバッファに書き込
む。
【0056】(d)マージフラグが「オフ」で、間引き
フラグが「オン」 色間引き処理に関しては、マージフラグおよび間引きフ
ラグが共に「オフ」の場合と同様に、レンダリング処理
に影響はなく、副走査線間引き処理に関しては、間引か
れていないスキャンラインの中間コード画像データをラ
スタデータに変換し、バンドバッファに書き込み、間引
かれたスキャンラインの対応するバンドバッファ領域へ
そのラスタデータをコピーするという処理を交互に行
う。
【0057】(d)マージフラグおよび間引きフラグが
ともに「オン」 色間引き処理に関しては、マージフラグおよび間引きフ
ラグが共に「オフ」の場合と同様に、レンダリング処理
に影響はなく、副走査線間引き処理に関しては、間引か
れていないスキャンラインの中間コード画像データをラ
スタデータに変換し、バンドバッファに書き込み、間引
かれたスキャンラインの対応するバンドバッファ領域へ
そのラスタデータをコピーするという処理を交互に行
う。ここで、間引かれていないスキャンラインの中間コ
ード画像データのうち、色情報が「0」でないものをラ
スタデータに変換し、バンドバッファに書き込む。
【0058】次に、圧縮部15は、処理済みの中間コー
ド保持ブロックをページ単位あるいはジョブ単位で、外
部記憶装置17に保持する際、中間コード保持メモリ領
域の内容を周知の方式で圧縮し、外部記憶装置17に転
送する。また、伸長部16は、外部記憶装置17に圧縮
して格納されている中間コード保持メモリ領域の内容を
伸長し、メモリ管理部4を介してメモリMの中間コード
保持メモリ領域に展開する。外部記憶装置17は、大容
量記憶媒体を有する、例えば、ハードディスクや光磁気
ディスクなどである。
【0059】B.実施形態の動作 次に、本実施形態の動作を説明する。ここで、図5〜図
11は、上述した画像処理装置の動作を示すフローチャ
ートである。
【0060】(a)中間コード画像データの作成処理 まず、画像処理装置は、ステップS1で、コード画像デ
ータがあるか否かを判断し、コード画像データがある場
合には、ステップS2において、コード画像データ解釈
部2でコード画像データを解釈する。次に、ステップS
3において、コード画像データが描画データであるか否
かを判断し、描画データでない場合、例えば、コマンド
等の場合には、ステップS1に戻る。なお、描画データ
でない場合には、単に無視するのではなく、ステップS
1に戻る前に、対応する処理を実行してもよい。
【0061】一方、コード画像データが描画データであ
る場合には、ステップS4において、中間コード画像デ
ータ変換部3で中間コード画像データを作成する。次
に、ステップS5において、中間コード画像データを保
持するための中間コード保持ブロックが存在するか否か
をメモリ管理部4によって判断し、保持領域が存在する
場合には、ステップS9に進む。ステップS9では、上
記中間コード画像データを中間コード保持ブロックにセ
ットし、ステップS10で、バンド情報テーブル22の
各フィールドに値をセットする。
【0062】一方、ステップS5において、保持領域が
ない場合には、ステップS6に進み、未使用の中間コー
ド保持ブロックが存在するか否かを判断する。そして、
未使用領域がある場合には、ステップS7に進み、中間
コード保持ブロックを獲得し、ステップS8で、バンド
情報テーブル22にポインタをセットする。以下、上述
したステップS9で、中間コード画像データを中間コー
ド保持ブロックにセットし、ステップS10で、バンド
情報テーブル22の各フィールドに値をセットする。
【0063】いずれの場合も、ステップS10における
処理が終了すると、ステップS1に戻り、次のコード画
像データに対して、上述したステップS1〜S10を繰
り返し実行し、中間コード画像データの作成処理を行
う。そして、入力されるコード画像データから中間コー
ド画像データを作成している過程において、中間コード
画像データを保持するための中間コード保持ブロックが
なくなると、ステップS6における判断結果が「NO」
となり、図5に示すステップS11に進む。
【0064】(b)マージ判定処理 ステップS11では、バンド情報テーブル22のマージ
フラグをチェックした後、ステップS12において、マ
ージフラグが「オン」であるか否か、すなわち、マージ
処理が行われたか否かを判断し、既にマージフラグが
「オン」である場合には、ステップS13に進む。ステ
ップS13では、次のバンドがあるか否かを判断し、次
のバンドがある場合には、ステップS11に戻り、次の
バンドに対して、同様の処理を繰り返す。上記ステップ
S11〜S13において、マージフラグをチェックする
マージ判定処理は、バンド情報テーブル22の最上段か
ら順次下方にバンドを変えながら行われる。
【0065】(c)マージ処理 そして、上記マージフラグのチェックの過程において、
いずれかのバンドで、マージフラグが「オフ」である
と、すなわち、マージ処理が行われていないバンドがあ
ると、ステップS12における判断結果が「NO」とな
り、ステップS14に進む。ステップS14では、前述
したように、一部が重なっている中間コード画像データ
が存在する場合には、その重なりをなくすために、重な
っていた部分のCMYK毎のランレングス(色情報が
「=0」と「≠0」)値を削除した後、バンド情報テー
ブル22のCMYK毎のランレングスの総数フィールド
を更新する。一方、一部でも重なる場合(ランレングス
以外では完全に重なっている場合)には、先に描画した
描画オブジェクトの中間コード画像データを削除し、不
用になった中間コード保持ブロックを確保する。
【0066】次に、ステップS15において、対応する
バンドに対して、上記ステップS14でマージ処理を実
行したことを示すために、バンド情報テーブル22のマ
ージフラグを「オン」にセットする。そして、ステップ
S16において、未使用の中間コード保持ブロックが存
在するか否かを判断し、上記マージ処理により中間コー
ド保持ブロックが確保された場合には、図5に示すステ
ップS7に戻り、引き続き、確保された中間コード保持
ブロックに、中間コード画像データを保持していく。
【0067】一方、現在のバンドに対してマージ処理を
行ったにもかかわらず、中間コード画像データ保持ブロ
ックが確保できなかった場合には、ステップS16にお
ける判断結果が「NO」となるので、上述したステップ
S13に戻り、次のバンドがあるか否かを判断し、次の
バンドがある場合には、ステップS11に戻る。以下、
同様の処理を繰り返すことにより、中間コード画像デー
タを保持するための中間コード保持ブロックが確保でき
るまで、バンド情報テーブル12の最上段から下方に順
次バンドを変えながら、上記ステップS11〜S13に
よるマージ判定処理とステップS14〜S16によるマ
ージ処理を繰り返し行う。
【0068】一方、上述したマージ処理を全てのバンド
に対して行ったにもかかわらず、中間コード画像データ
保持ブロックが確保できない場合には、ステップS13
における判断結果が「NO」となり、ステップS17に
進む。ステップS17では、処理済みのジョブまたはペ
ージがあるか否かを判断し、処理済みのジョブまたはペ
ージがある場合には、ステップS11に戻り、処理済み
のジョブまたはページに対して、上記ステップS11〜
S13によるマージ判定処理とステップS14〜S16
によるマージ処理を繰り返し行うことにより、中間コー
ド保持ブロックを確保する。
【0069】一方、上述したマージ処理を全てのジョブ
またはページに対して行ったにもかかわらず、中間コー
ド保持ブロックが確保できない場合には、ステップS1
7における判断結果が「NO」となり、ステップS18
に進む。ステップS18では、メモリ管理部4にシステ
ムメモリに余裕(空き)があるか否かを問い、余裕があ
れば、ステップS19で、図12に示すように、拡張中
間コード保持ブロックを獲得し、ステップS20で、獲
得した拡張中間コード保持ブロックのうち、最初の拡張
中間コード保持ブロックへのポインタを、中間コード保
持メモリ制御テーブルの拡張ブロックへのポインタフィ
ールドにセットするとともに、獲得した拡張中間コード
保持ブロック数を拡張ブロック数フィールドに加算す
る。
【0070】また、中間コード保持ブロックのヘッダ部
の拡張IDには、中間コード保持メモリ以外の領域(シ
ステムメモリ)に確保した拡張中間コード保持ブロック
であることを示す拡張フラグをセットする。そして、図
5に示すステップS7に戻り、引き続き、確保された拡
張中間コード保持ブロックに中間コード画像データを保
持していく。一方、システムメモリに余裕がなく、拡張
中間コード保持ブロックが確保できない場合には、ステ
ップS18における判断結果が「NO」となり、図6に
示すステップS21に進む。以下、現在処理中のジョブ
内容に応じた処理を行う。
【0071】(1)単一ジョブで単一ページの場合 単一ジョブの単一ページの場合、ステップS21、ステ
ップS22を経て、ステップS24〜S31において、
後述する間引き判定処理および間引き処理を実行する。
【0072】(2)両面印刷の第2ページ目(裏面)の
処理中 両面印刷において、第2ページ目(裏面)の処理中の場
合、ステップS21、ステップS22、ステップS23
を経て、ステップS24〜S31において、後述する間
引き判定処理および間引き処理を実行する。
【0073】以下に、間引き判定処理および間引き処理
を説明する。 (a)間引き判定処理 ステップS24では、バンド情報テーブル22の間引き
フラグをチェックした後、ステップS25において、間
引きフラグが「オン」であるか否か、すなわち、間引き
処理が行われたか否かを判断し、既に間引きフラグが
「オン」である場合には、ステップS28に進む。ステ
ップS28では、次のバンドがあるか否かを判断し、次
のバンドがある場合には、ステップS24に戻り、次の
バンドに対して、同様の処理を繰り返す。上記ステップ
S24〜S28において、間引きフラグをチェックする
間引き判定処理は、バンド情報テーブル22の最上段か
ら下方に順次バンドを変えながら行われる。
【0074】(b)間引き処理 そして、上記間引きフラグのチェックの過程において、
いずれかのバンドで、間引きフラグが「オフ」である
と、すなわち、間引き処理が行われていないバンドがあ
ると、ステップS25における判断結果が「NO」とな
り、ステップS26に進む。ステップS26では、前述
した手法により中間コード画像データを削除する間引き
処理を実行した後、ステップS27で、対応するバンド
に対して間引き処理を実行したことを示すために、バン
ド情報テーブル22の間引きフラグに「オン」をセット
する。
【0075】次に、上述したステップS28において、
次のバンドがあるか否かを判断し、次のバンドがある場
合には、ステップS24に戻り、次のバンドに対して、
同様の処理を繰り返す。以下、ステップS24〜S28
を繰り返し実行し、間引き処理が施されていない全ての
バンドに対して間引き処理を実行する。このように、間
引き処理は、間引き処理の途中でメモリ領域に使用可能
残量が確保されたか否かにかかわらず、まだ、間引き処
理されていない全てのバンドに対して実行される。これ
により、画質の一致が得られる。
【0076】そして、まだ、間引き処理が実行されてい
ない全てのバンドに対しての間引き処理が終了すると、
ステップS28における判断結果が「NO」となり、ス
テップS29に進む。ステップS29では、未使用の中
間コード保持ブロックが確保されたか否かを判断し、上
記間引き処理により中間コード保持ブロックが確保され
た場合には、図5に示すステップS7に戻り、引き続
き、確保された中間コード保持ブロックに中間コード画
像データを保持していく。
【0077】一方、まだ、間引き処理が実行されていな
い全てのバンドに対して間引き処理を行ったにもかかわ
らず、中間コード保持ブロックが確保できなかった場合
には、ステップS29における判断結果が「NO」とな
るので、上述したステップS30に進む。ステップS3
0では、別の間引き処理が設定されているか否かを判断
し、前述したように、他の間引き処理が設定されている
場合には、ステップS24に戻る。以下、ステップS2
4〜ステップS28を繰り返し実行することにより、当
該他の間引き処理が実行されていない全てのバンドに対
して他の間引き処理を実行する。
【0078】そして、上記他の間引き処理を全てのバン
ドに対して施した結果、中間コード保持ブロックが確保
された場合には、図5に示す中間コード画像データの作
成処理に戻る。他の間引き処理が複数設定されている場
合には、中間コード保持ブロックが確保されるまで、順
次、他の間引き処理を繰り返し実行する。通常は、上述
した間引き処理により中間コード保持ブロックが確保さ
れるが、全ての間引き処理を実行したにもかかわらず、
中間コード保持ブロックが確保できない場合には、ステ
ップS30における判断結果が「NO」となり、ステッ
プS31に進む。ステップS31では、中間コード画像
データを保持するための中間コード保持ブロックがなく
なった旨をオペレータに知らせるエラー通知処理を実行
し、当該処理を終了する。
【0079】(3)単一ジョブで複数ページの場合 ジョブ管理部9から現在実行中のジョブの出力形態(片
面/両面印刷)を取得し、片面印刷の場合には、処理済
みのページの全てを、また両面印刷の場合には、さらに
昇順から降順かの情報と、降順の場合には総ページ数の
情報を取得し、これらの情報に基づいて、全てあるいは
一部の処理済みページに対し、後述するレンダリング処
理を行うことにより、中間コード画像データをラスタデ
ータに変換し、中間コード保持ブロックを確保する。
【0080】(4)複数ジョブの場合 ジョブ管理部から処理済みのそれぞれのジョブの出力形
態(片面/両面印刷)を取得し、この情報に基づいて、
全ての処理済みのジョブに対し、後述するレンダリング
処理を行うことにより、中間コード画像データをラスタ
データに変換し、中間コード保持ブロックを確保する。
【0081】(c)レンダリング時間予測処理 上述した処理において、全てのコード画像データに対す
る中間コード画像データの作成処理が終了すると、ステ
ップS1における判断結果が「NO」となり、図8に示
すステップS32に進む。ステップS32では、レンダ
リング時間予測部11により、バンド情報テーブル2
2、中間コード画像データの所定のフィールドの値に基
づいて、最初のバンドにおけるレンダリング時間を予測
する。次に、ステップS33において、上記予測したレ
ンダリング時間に基づいて白抜けを予測可能であるか否
か、すなわち、前述した不等式に従って比較可能である
か否かを判断する。この判断は、前述したように、レン
ダリング時間予測部11によって予測したレンダリング
時間と印字装置スキャン時間とがほぼ同一となった場合
には、不等式による判定が困難になるためである。そし
て、双方の差分が十分に大きく、白抜けの予測が可能で
ある場合には、そのままステップS33に進む。一方、
双方がほぼ同一となり、白抜けの予測が不可能である場
合には、ステップS32に進み、レンダリング時間計測
部を起動した後、予測ができないバンドを実際にレンダ
リングし、レンダリング時間計測部によりレンダリング
時間を実測した後、ステップS37に進む。
【0082】また、別の方法として、前述したように、
中間コード画像データのフォーマットが各色成分で共通
の場合には、CMYKのいずれかの1色に対してレンダ
リング時間計測部12により、各バンドのレンダリング
時間を予め測定しておき、所定値と比較することで、白
抜けが生じるか否かのチェックを行う場合には、全ての
コード画像データに対する中間コード画像データの作成
処理が終了すると、図8に示すステップS35に進む。
ステップS35では、上述した予め測定したレンダリン
グ時間が所定値以上であるか否かを判断し、所定値より
小さければ、そのままステップS37に進む。一方、所
定値以上であれば、ステップS36に進み、レンダリン
グ時間計測部12を起動した後、予測ができないバンド
を実際にレンダリングし、レンダリング時間計測部12
によりレンダリング時間を実測した後、ステップS37
に進む。
【0083】ステップS37では、バンド単位でレンダ
リング処理が印字装置スキャン時間に間に合うか判定
し、間に合わない場合には、予めバンドバッファにレン
ダリングするとともに、必要に応じて中間コード保持メ
モリまたはシステムメモリ上にバンドバッファを確保す
るレンダリングスケジューリング処理(後述)を実行す
る。すなわち、ステップS37を終了した段階では、レ
ンダリング処理が印字装置スキャン時間に待ち合わない
バンドの中間コード画像データは、予めラスタデータに
変換され、バンドバッファに保持されることになる。次
に、ステップS38において、次のバンドがあるか否か
を判断し、次のバンドがある場合には、ステップS30
(S35)に戻る。以下、ステップS30(S35)〜
S38において、各バンド毎にレンダリング時間を予測
もしくは実測して求め、レンダリングのスケジューリン
グを行う。
【0084】そして、全てのバンドに対するレンダリン
グのスケジューリングが終了すると、ステップS38か
らステップS40に進む。ステップS40では、現在実
行中のジョブの出力形態(片面/両面印刷、昇順/降
順、総ページ数)をジョブ管理部9から得て、印刷モー
ドをセットする。次に、ステップS41で、印字装置起
動コマンドが白黒モードであるか否かを判断する。な
お、起動コマンドがカラーモードであるか、白黒モード
であるかは、全てのバンドにおけるバンド情報テーブル
12の各CMYのランレングス(色情報が「≠0」)の
総数のフィールドの値をチェックすることで判別する。
【0085】そして、バンド情報テーブル12の各CM
Yのランレングス(色情報が「≠0」)の総数のフィー
ルドに1つでも「0」以外の値がある場合には、「カラ
ーモード」であるので、ステップS42でカラーモード
にセットする。一方、バンド情報テーブル12の各CM
Yのランレングス(色情報が「≠0」)の総数のフィー
ルドが全て「0」の場合には、「白黒モード」であるの
で、ステップS43で、白黒モードにセットする。これ
により、レンダリング処理に先だって、容易に印字装置
の起動コマンドの決定が行える。また、両面印刷で降順
の場合には、処理中のジョブの総ページ数により、印刷
モードが異なり、奇数の場合には、最初の印字は片面印
刷を行う必要があり、印字装置への起動コマンドの発行
前に、印刷モードのチェックおよびセットが行われる。
【0086】(d)レンダリング処理 印字装置起動コマンドのセットが終了すると、ステップ
S44に進む。なお、ステップS44以降におけるレン
ダリング処理は、先頭のバンドから順に、バンド毎に行
われる。なお、レンダリング処理は、図14〜図16に
示すレンダリングスケジュールテーブルに従って開始さ
れる。ここで、図14は、単一ページに対するレンダリ
ング時に用いるレンダリングスケジュールテーブル(待
ち行列)を示す概念図である。また、図15は、複数ペ
ージ/複数ジョブに対するレンダリング時に用いるレン
ダリングスケジュールテーブル(待ち行列)を示す概念
図である。さらに、図16は、単一ページに対し、予め
バンドバッファへラスタデータを展開しているバンド
(バンド2の色成分K)が存在する場合のレンダリング
時に用いるレンダリングスケジュールテーブル(待ち行
列)を示す概念図である。
【0087】まず、ステップS44で、現在注目してい
るバンドに対応するバンド情報テーブルのマージフラグ
および間引きフラグをチェックし、ステップS45でタ
イマをスタートし、ステップS46で、フラグの値に応
じたレンダリング処理に振り分ける。すなわち、ラスタ
データ展開済みフラグが「オン」の場合には、既にラス
タデータに展開済みであるので、そのままステップS5
1に進み、タイマを停止し、ステップS52で、タイマ
値をログに保持する。
【0088】また、ラスタデータ展開済みフラグが「オ
フ」、マージフラグが「オフ」、間引きフラグが「オ
フ」の場合には、マージ処理も間引き処理も実行されて
いないので、ステップS47に進み、中間コード画像デ
ータを全てラスタデータに変換し、バンドバッファに書
き込む。その後、ステップS51に進み、タイマを停止
し、ステップS52で、タイマ時をログに保持する。
【0089】また、ラスタデータ展開済みフラグが「オ
フ」、マージフラグが「オン」、間引きフラグが「オ
フ」の場合には、マージ処理のみが実行されているの
で、ステップS48に進み、中間コード画像データのう
ち、色情報が「0」でないものをラスタデータに変換
し、バンドバッファに書き込む。その後、ステップS5
1に進み、タイマを停止し、ステップS52で、タイマ
時をログに保持する。
【0090】また、ラスタデータ展開済みフラグが「オ
フ」、マージフラグが「オフ」、間引きフラグが「オ
ン」の場合には、間引き処理のみが実行されているの
で、ステップS49に進み、間引かれていないスキャン
ラインの中間コード画像データをラスタデータに変換し
てバンドバッファに書き込む一方、そのラスタデータを
間引かれたスキャンラインの対応するバンドバッファ領
域へコピーする。その後、ステップS51に進み、タイ
マを停止し、ステップS52で、タイマ時をログに保持
する。
【0091】また、ラスタデータ展開済みフラグが「オ
フ」、マージフラグおよび間引きフラグがともに「オ
ン」の場合には、マージ処理および間引き処理の双方が
実行されているので、ステップS50に進み、間引かれ
ていないスキャンラインの中間コード画像データのう
ち、色情報が「0」でないものをラスタデータに変換し
てバンドバッファに書き込む一方、そのラスタデータを
間引かれたスキャンラインの対応するバンドバッファ領
域へコピーする。その後、ステップS51に進み、タイ
マを停止し、ステップS52で、タイマ時をログに保持
する。
【0092】現在注目しているバンド内に対して、中間
コード画像データからラスタデータへの変換が終了する
と、図11に示すステップS53に進む。ステップS5
3では、上記ラスタデータに変換したバンドが印字装置
の起動開始のバンド(1番目のバンド)であるか否かを
判断し、印字装置の起動開始のバンドであった場合に
は、ステップS54で、上記ステップS40においてセ
ットした印刷モード、ステップS42またはS43でセ
ットした印字装置起動コマンドで印字装置を起動する。
印字装置は、起動されると、バンドバッファに書き込ま
れたラスタデータに従って画像の描画を開始する。
【0093】次に、ステップS56において、次のバン
ドがあるか否かを判断し、次のバンドがある場合には、
図9に示すステップS44に戻り、ステップS44〜S
56で、次のバンド(カラーモードの場合には、CMY
Kの全てのバンド、白黒モードの場合には、Kのバンド
のみ)に対してレンダリング処理を実行する。以下、最
後のバンドに到達するまで、ステップS44〜S56を
繰り返し実行し、バンドバッファにラスタデータを順次
書き込む。印字装置は、バンドバッファに書き込まれた
ラスタデータを順次画像として描画していく。言い換え
ると、ラスタデータを印字装置に転送しつつ以降のバン
ドのレンダリングが行われる。そして、当該レンダリン
グ処理において、最後のバンドに到達すると、ステップ
S56における判断結果が「NO」となり、ステップS
57に進む。
【0094】ステップS57では、プリントエラーが発
生したか否かを判断し、何らかのプリントエラーが発生
した場合には、ステップS58において、白抜けが発生
したか否かを判断する。そして、プリントエラーが白抜
けでない場合には、ステップS60において、エラーリ
カバリを待ち、ステップS44に戻り、ステップS44
〜S56で、最初のバンド(カラーモードの場合には、
CMYKの全てのバンド、白黒モードの場合には、Kの
バンドのみ)からレンダリング処理を実行する。一方、
プリントエラーが白抜けの場合には、ステップS61に
おいて、レンダリング時間の予測あるいは実測に使用す
るパラメータを修正する。
【0095】ここで、パラメータの修正ついて説明す
る。パラメータの修正には、以下に述べる2つの例が考
えられる。まず、レンダリング時間の予測に使用するパ
ラメータとしては、中間コード画像データ読み出し時間
を算出する際に用いたメモリ読み出し効率(時間/バイ
ト)、およびラスタデータ書き込み時間を算出する際に
用いたメモリ書き込み効率(時間/バイト)を修正す
る。出力部14が各バンドのレンダリング時間のログを
保持しているので、その結果に基づいて、それぞれのパ
ラメータを修正する。
【0096】次に、実測しきい値に関しては、予測した
レンダリング時間と描画スキャン時間との差が所定値以
下の場合には、対応するバンドのレンダリング時間を実
測するという機能を起動するか否かを決める判定値を修
正する。あるいは、レンダリング時間予測部11を起動
せずに、レンダリング処理を行った場合には、レンダリ
ング時間計測部12を起動するか否かを決める所定値を
修正する。
【0097】そして、ステップS32(S35)に戻
り、以下同様の処理を行う。したがって、更新(修正)
されたパラメータに基づいて、再度、レンダリング時間
の予測、あるいは実測を行うので、レンダリング時間の
予測あるいは実測がより正確に行われることになる。
【0098】次に、プリントエラーが発生しない場合に
は、ステップS62に進み、処理済みのページがあるか
否かを判断し、処理済みのページがある場合には、ステ
ップS63に進む。ステップS63では、両面印刷で処
理済みの残りページ数が1ページであるか否かを判断す
る。そして、両面印刷で処理済みの残りページ数が1ペ
ージである場合には、ステップS64で、処理途中のジ
ョブがあるか否かを判断し、処理途中のジョブがある場
合には、前述したステップS7に戻り、処理途中のジョ
ブに対して、中間コード画像データの作成、中間コード
保持ブロックへの保持を続ける。一方、処理途中のジョ
ブがない場合には、ステップS65に進み、処理待ちの
ジョブがあるか否かを判断し、処理待ちのジョブがある
場合には、ステップS1に戻り、処理待ちのジョブに対
して、中間コード画像データの作成、中間コード保持ブ
ロックへの保持を行う。
【0099】一方、ステップS63で、処理済みのペー
ジが、両面印刷で処理済みの残りページ数が1ページで
ない場合、あるいは両面印刷で処理済みの残りページ数
が1ページであっても、処理途中のジョブも処理待ちの
ジョブもない場合には、ステップS66に進む。ステッ
プS66では、処理済みのページの印刷モードが現在設
定されている印刷モードと同じであるか否かを判断す
る。そして、現在設定されている印刷モードと同じであ
る場合には、ステップS41に戻り、以下、ステップS
41以降を繰り返し実行する。したがって、印字装置を
停止させることなく、全てのページを連続して処理でき
る。一方、現在設定されている印刷モードと同じでない
場合には、ステップS40に戻り、印刷モードをセット
し直した後、ステップS41以降を繰り返し実行する。
したがって、再度、ステップS54で印字装置を起動し
た際には、新たにセットした内容で印字装置が起動され
ることになる。
【0100】次に、処理済みのジョブがない場合には、
ステップS67からステップS68に進む。ステップS
68では、処理途中のジョブがあるか否かを判断し、処
理途中のジョブがある場合には、前述したステップS7
に戻り、処理途中のジョブに対して、中間コード画像デ
ータの作成、中間コード保持ブロックへの保持を続け
る。一方、処理途中のジョブがない場合には、ステップ
S69に進み、処理待ちのジョブがあるか否かを判断
し、処理待ちのジョブがある場合には、処理済みのペー
ジあるいはジョブをレンダリングしたことにより未使用
の中間コード保持ブロックが確保されているので、ステ
ップS1に戻り、処理待ちのジョブに対して、中間コー
ド画像データの作成、中間コード保持ブロックへの保持
を行う。これに対して、処理済みのページ、処理済みの
ジョブ、処理途中のジョブ、あるいは処理待ちのジョブ
もない場合には、当該処理を終了する。
【0101】(e)レンダリングスケジューリング処理 次に、上述したレンダリングスケジューリング処理につ
いて説明する。ここで、図18〜図22はレンダリング
スケジューリング処理の動作を説明するためのフローチ
ャートである。上述したレンダリング処理を効率よく行
うには、ラスタデータが展開されたバンドバッファから
印字装置へラスタデータが途切れることなく転送され、
バンドバッファへのラスタデータの展開が休みなく行わ
れることが望ましい。そのためには、バンドバッファは
3つ以上必要であることは明かである。
【0102】そこで、本実施形態では、以下のアルゴリ
ズムに従って、前述しように、バンド単位でレンダリン
グ処理が印字装置スキャン時間に間に合うか判定し、間
に合わない場合には、予めレンダリングしてバンドバッ
ファに格納しておき、必要に応じて中間コード保持メモ
リ20またはシステムメモリ上にバンドバッファを確保
する。なお、上記印字装置としては、例えば、周知の電
子写真法により記録用紙上にトナー像(Y,M,C,
K)を形成する画像出力装置を用いる。アルゴリズムに
使用する計算式は次の通りである。
【0103】バンドnの処理余裕時間=バンド当たりの
印字装置スキャン時間−バンドnのレンダリング時間
【0104】総処理余裕時間=(総バンドバッファ数−
1)個分前のバンドからの処理余裕時間の合計
【0105】バンドnの限界レンダリング時間=バンド
当たりの印字装置スキャン時間+総処理余裕時間
【0106】ここで、KYMCの順に面順次で印字装置
にラスタデータが送信され、またバンドの分割数が1色
当たりN分割されるものとすると、バンドnのnは、バ
ンド1のKのバンドがn=1で、バンド1のYのバンド
がn=N+1となる。
【0107】まず、ステップS70において、上式に従
って総処理余裕時間を求める。ここで、ステップS71
において、印字装置へのラスタデータ転送完了の仮想バ
ンド(総バンドバッファ数分前のバンド)が予めラスタ
データに展開されていたか否かを判断し、展開されてい
た場合には、ステップS72において、利用可能バンド
バッファ数を「1」だけインクリメントする。
【0108】次に、ステップS73において、上記総処
理余裕時間からバンドnの限界レンダリング時間を求め
る。そして、ステップS74で、予測あるいは実測によ
り求められたバンドnのレンダリング時間が限界レンダ
リング時間より大であるか否かを判断する。限界レンダ
リング時間が大の場合には、バンドnのレンダリング処
理は間に合うので、ステップS75に進み、バンド当た
りの印字装置スキャン時間からレンダリング時間を減算
することにより、バンドnの処理余裕時間を算出する。
次に、ステップS76で、nを「1」だけインクリメン
トし、対象となるバンドを1つ進める。そして、ステッ
プS77で、レンダリングスケジュールテーブルにバン
ドnのバンド情報テーブル22をセットし、当該処理を
終了する。したがって、次回当該処理が実行されたとき
には、次のバンドに対して同様な処理が行われる。
【0109】一方、限界レンダリング時間が小さい場合
には、ステップS78に進み、nが利用可能バンドバッ
ファ数以下であるか否かを判断する。そして、nが利用
可能バンドバッファ数以下である場合には、ステップS
79に進む。ステップS79では、印字装置起動開始バ
ンドをn+1とし、ステップS80で、バンドnの処理
余裕時間を「0」とし、ステップS81で、nを「1」
だけインクリメントし、対象となるバンドを1つ進め
る。そして、ステップS82で、レンダリングスケジュ
ールテーブルにバンドnのバンド情報テーブル22をセ
ットし、当該処理を終了する。したがって、次回当該処
理が実行されたときには、次のバンドに対して同様な処
理が行われる。
【0110】すなわち、この場合、バンドnに対するレ
ンダリング処理は間に合わないことになるが、現在のバ
ンドnが利用可能バンドバッファ(=総バンドバッファ
数)に達していない場合には、印字装置が起動されてい
ないので、レンダリング処理時間の長さは問題にならな
い。そこで、バンドnの処理余裕時間=0とし、また、
印字装置起動開始バンド数(初期値=2)をn+1と
し、次のバンドに対し同様な処理を行う。
【0111】一方、nが利用可能バンドバッファ数より
大きい場合、すなわち、総バンドバッファ数より大きい
バンドnの場合には、レンダリング処理が間に合わない
ので、ステップS83に進み、バンドバッファに対して
ラスタデータの展開を行い、バンド情報のレンダリング
情報フィールドの対応する色成分のラスタデータ展開済
みフラグを「オン」にするとともに、その展開を行った
バンドバッファへのポインタを保持した後、利用可能バ
ンドバッファ数を「1」だけデクリメントする。次に、
ステップS84で、利用可能バンドバッファ数が「0」
になったか否かを判断し、利用可能バンドバッファ数が
「0」でない場合には、ステップS85に進み、バンド
nの処理余裕時間を、バンド当たりの印字装置スキャン
時間とする。次に、ステップS86で、nを「1」だけ
インクリメントし、対象となるバンドを1つ進める。そ
して、ステップS87で、レンダリングスケジュールテ
ーブルにバンドnのバンド情報テーブル22をセット
し、当該処理を終了する。
【0112】一方、利用可能バンドバッファ数が「0」
となり、スケジューリングが不可能になった場合には、
図21に示すステップS88に進み、バンドnに対する
バンド情報テーブルのマージフラグをチェックし、ステ
ップS89で、マージフラグが「オン」であるか否か、
すなわち、既にマージ処理が行われたか否かを判断す
る。そして、マージ処理が行われていない場合には、ス
テップS90に進み、前述したマージ処理を実行する。
したがって、対象となるバンドnに対しては、レンダリ
ング時間の予測/実測から処理をやり直すことになる。
【0113】一方、既にマージ処理が行われている場合
には、ステップS91に進み、(総バンドバッファ数−
1)個分前からのバンドに対するバンド情報テーブルの
マージフラグをチェックし、ステップS92で、マージ
フラグが「オン」であるか否かを判断する。そして、マ
ージ処理が行われていない場合には、ステップS93に
進み、前述したマージ処理を実行し、ステップS98
で、nを「1」とし当該処理を終了する。したがって、
この場合、バンド1から処理をやり直すことになる。
【0114】また、(総バンドバッファ数−1)個分前
からのバンドが全てマージ処理済みの場合には、ステッ
プS94に進み、システムメモリに追加バンドバッファ
領域があるか否か、言い換えると、メモリ管理部に対
し、システムメモリにバンドバッファのサイズ分の余裕
があるか否かを問う。そして、システムメモリに余裕が
ある場合には、ステップS97に進み、使用可能バンド
バッファ数を、追加バンドバッファ数だけ増加するとと
もに、総バンドバッファ数を追加バンドバッファ数だけ
増加し、前述したステップS98で、nを「1」とし当
該処理を終了する。したがって、この場合、バンド1か
ら処理をやり直すことになる。
【0115】一方、システムメモリに余裕がない場合に
は、ステップS95に進み、後述する例外処理を実行
し、可能であるならば、システムメモリの一部を解放す
る。そして、ステップS96で、システムメモリに追加
バンドバッファを確保できる余裕があるか否かを判断
し、追加バンドバッファを確保できる場合には、前述し
たステップS97に進み、使用可能バンドバッファ数、
総バンドバッファ数を更新し、ステップS98で、nを
「1」とし当該処理を終了する。したがって、この場合
も同様に、バンド1から処理をやり直すことになる。
【0116】一方、システムメモリに追加バンドバッフ
ァを確保できない場合には、ステップS99に進み、全
ての間引き処理を実行済みであるか否かを判断し、ま
だ、実行していない間引き処理がある場合には、ステッ
プS100で、全てのバンドに対して、前述した間引き
処理を実行する。そして、前述したステップS98で、
nを「1」とし当該処理を終了する。したがって、この
場合も同様に、バンド1から処理をやり直すことにな
る。一方、全ての間引き処理を行ったにもかかわらず、
空き領域を確保できない場合、すなわちスケジューリン
グが不可能な場合には、ステップS101で、エラー通
知処理を実行し、当該処理を終了する。
【0117】なお、ステップS97における追加バンド
バッファ数に関しては、通常、レンダリング処理以降に
おいては、新たなメモリ確保は行わないので、確保でき
る限りのバンドバッファを取得する。
【0118】ここで、図23(a)は、本実施形態の画
像処理装置のメモリマップを示す概念図であり、図23
(b)は、中間コード保持メモリの一部およびワーキン
グ領域の一部をバンドバッファとして確保した場合のメ
モリマップを示す概念図である。このように、本実施形
態においては、予めラスタデータの展開に用いた領域が
印字装置へのラスタデータの転送が完了した後に、再
度、バンドバッファ領域として使用可能となる。上述し
た処理を全てのバンドに対して行い、バンド単位のレン
ダリング処理が印字装置のスキャン速度に間に合うか否
かを判定し、判定結果に基づいて、バンドバッファを設
定する。そして、前述したレンダリング処理へ移行す
る。
【0119】レンダリング処理に移行せずに、引き続き
次のページあるいは次のジョブの処理を行う場合には、
処理が完了したページの情報がクリアされてしまうの
で、特に、レンダリング処理に必要な情報は、バンド情
報のレンダリング情報フィールドに保持する。また、複
数のジョブをレンダリングする場合には、それぞれのジ
ョブのバンドのレンダリング情報から出力用紙サイズ、
出力トレイおよび片面印刷/両面印刷、昇順/降順など
の印刷モードを調べ、同一の出力形態のジョブを1つに
まとめる。
【0120】(f)例外処理 次に、本実施形態による例外処理について説明する。図
24は、本実施形態による例外処理の動作を説明するた
めのフローチャートである。例外処理は、未使用の中間
コード保持ブロックは存在するが、システムメモリの不
足が発生した場合、あるいは前述したレンダリングスケ
ジューリング処理において、システムメモリに追加バン
ドバッファを確保できない場合に、メモリ管理部からの
要求により中間コード管理部により実行される処理であ
る。
【0121】まず、ステップS110において、未使用
の中間コード保持ブロックの総量がメモリ管理部4から
の要求量より大きいか否かを判断し、要求量より大きい
場合には、ステップS111に進み、中間コード保持ブ
ロックの回収が行われているか否か、すなわち中間コー
ド保持ブロックの中間コード画像データに対してマージ
処理や間引き処理を既に行ったか否かを判断する。
【0122】そして、マージ処理や間引き処理が既に行
われた場合には、未使用の中間コード保持ブロックは、
中間コード保持メモリに点在することになるので、ステ
ップS112に進み、中間コード保持メモリ内の中間コ
ード保持ブロックを並び換え、未使用の中間コード保持
ブロックを連続させる。そして、ステップS113で、
メモリ管理部4からの要求量に応じて、中間コード保持
メモリ20の一部を解放し、メモリ管理部4に委ねる。
そして、ステップS114で、中間コード保持メモリ制
御テーブル21へ値をセットする。以下に具体的な処理
を説明する。
【0123】ここで、図25は、マージ処理や間引き処
理が既に行われた場合の中間コード保持メモリの状態を
示す概念図である。図示の場合は、中間コード保持メモ
リ内で未使用の中間コード保持ブロックと使用中の中間
コード保持ブロックが混在している状態であり、未使用
の中間コード保持ブロックの総量がメモリ管理部4から
のメモリ要求量を満足していても、メモリ上で連続して
いないので、メモリ管理部4に解放する前に連続領域に
編成する必要がある。そこで、中間コード保持メモリ制
御テーブル21のカレントポインタフィールドで示され
る1つ手前の中間コード保持ブロックから順にヘッダ部
のフリーリストフラグのチェックを行う。
【0124】フリーリストフラグがセットされている場
合には、この中間コード保持ブロックは現在未使用であ
るのでフリーリストから外し、また、中間コード保持メ
モリ制御テーブル21のカレントポインタフィールド
に、この中間コード保持ブロックへのポインタをセット
し、また、フリーリストフラグがセットされていない場
合には、この中間コード保持ブロックは使用中であるの
で、フリーリストで示される未使用の中間コード保持ブ
ロックと交換し、中間コード保持ブロックの内容を全て
コピーする。次いで、中間コード保持ブロックのヘッダ
部の前のブロックフィールドのポインタで示される中間
コード保持ブロックのヘッダ部の後ろのブロックへのポ
インタフィールドの値、あるいはバンド情報の先頭の中
間コードブロックへのポインタフィールドの値をフリー
リストで示されていた中間コード保持ブロックへのポイ
ンタで更新する。また、中間コード保持ブロックのヘッ
ダ部の後ろのブロックへのポインタフィールドの値がN
ULLでない場合には、そのポインタで示される中間コ
ード保持ブロックのヘッダ部の前のブロックへのポイン
タフィールドの値をフリーリストで示されていた中間コ
ード保持ブロックへのポインタで更新する。
【0125】これにより、少なくとも、この中間コード
保持ブロックから中間コード保持メモリ20の最後尾ま
では、連続した未使用領域となり、同様に、メモリ管理
部からの要求量に達するか、あるいはフリーリストがN
ULLになるまで、上記処理を繰り返すことにより、中
間コード保持メモリ20の後ろの部分に連続領域ができ
る。そして、メモリ管理部の要求量に対応できる場合に
は、中間コード保持メモリ制御テーブルの中間コード保
持メモリサイズフィールドの値を更新し、中間コード保
持メモリの一部(メモリ管理部からのメモリ要求量)を
解放する。
【0126】これに対して、マージ処理や間引き処理が
行われていない場合には、ステップS113へ直接進
み、メモリ管理部4からの要求量に応じて、中間コード
保持メモリ20の一部を解放し、メモリ管理部4に委ね
る。そして、ステップS114で、中間コード保持メモ
リ制御テーブル21へ値をセットする。以下に具体的な
処理を説明する。
【0127】図26は、マージ処理や間引き処理が行わ
れていない場合の中間コード保持メモリの状態を示す概
念図である。図において、中間コード保持ブロックの確
保(回収)が一度も行われていないので、中間コード保
持メモリ制御テーブル21のフリーリストフィールドの
値はNULLであり、カレントポイントフィールドで示
される中間コード保持ブロック以降の全ての中間コード
保持ブロックが未使用ということになり、その総量とメ
モリ管理部4からのメモリ要求量との比較で、対応でき
る場合には、中間コード保持メモリ制御テーブル21の
中間コード保持メモリサイズフィールドの値を更新し、
中間コード保持メモリ20の一部(メモリ管理部からの
メモリ要求量)を解放する。中間コード保持メモリ制御
テーブル21のデフォルトサイズフィールドが「0」の
場合には、デフォルトの中間コード保持メモリ20のサ
イズをセットする。
【0128】また、ステップS110で未使用の中間コ
ード保持ブロックの総量がメモリ管理部4からの要求量
以下の場合には、ステップS115に進み、中間コード
保持メモリ20にマージ処理されていないバンドがある
か否かを判断する。そして、まだ、マージ処理されてい
ないバンドがある場合には、ステップS116に進み、
既に処理済みのページあるいはジョブ、おうび現在処理
中のページのバンドに対してマージ処理を実行すること
により、未使用の中間コード保持ブロックを確保し、ス
テップS117で、バンド情報テーブル22のマージフ
ラグをセットした後、ステップS110に戻る。
【0129】それでも、メモリ管理部4からの要求量に
満たない場合には、ステップS115からステップS1
18へ進み、メモリ管理部4に中間コード保持メモリ2
0の解放が不可能であることを通知し、当該処理を終了
する。
【0130】ここで、システムメモリの不足に対して、
中間コード保持メモリ20の一部を解放してメモリ管理
部4に委ねた場合には、現在処理中のページに対する処
理が終了後、前述したレンダリング処理へ移行する。ま
た、中間コード保持メモリ20の一部を解放しているか
否かの判定は、中間コード保持メモリ制御テーブル21
のデフォルトサイズフィールドの値をチェックすればよ
く、「0」でない場合には、中間コード保持メモリ20
の一部を解放していることになる。そして、上記レンダ
リング処理完了後、メモリ管理部4へ委ねたメモリ領域
は、中間コード管理部に返却される。これにより、中間
コード保持メモリ20内は、常にメモリ上で連続性が保
たれる。
【0131】(g)外部記憶装置への格納処理 本実施形態では、より高速に印字を行うために、処理済
みの中間コード保持ブロックをページ単位あるいはジョ
ブ単位で、外部記憶装置17に保持するようになってい
る。ここで、図27(a)または図27(b)は、外部
記憶装置17に記憶するためのファイルのフォーマット
を示す概念図である。各フィールドの内容は、以下の通
りである。
【0132】外部記憶装置固有ファイル情報は、外部記
憶装置17にファイルを作成した場合に自動的に作成さ
れるフィールドである。次に、ジョブ数/ページ数は、
外部記憶装置17に保持する中間コード保持ブロックの
ジョブ数あるいはページ数を保持するフィールドであ
る。バンド情報を管理するメモリ管理部4あるいはジョ
ブ管理部9より得られる。各ジョブ/ページに対するレ
ンダリング情報は、バンド情報のコピーで、ジョブ数/
ページ数フィールドで示されるジョブ/ページに対応す
る分の情報を保持するフィールドである。全てのポイン
タをファイル内でのバイトオフセットに変更する。そし
て、中間コード保持メモリのコピーは、中間コード保持
メモリ20のコピーである。
【0133】但し、各中間コード保持ブロックのヘッダ
部のポインタ情報は、図28(a)に示すように、シス
テムメモリ内でのアドレスにより、全ての各中間コード
保持ブロックの前のブロックへのポインタフィールドの
値を、後ろのブロックへのポインタフィールドから得ら
れる次の中間コード保持ブロックへのシステムメモリ内
でのアドレスからファイル内でのバイトオフセットへ変
換する必要があるので、それぞれ変換して前のブロック
へのポインタフィールドに保持する。
【0134】また、図28(b)に示すように、フォン
トあるいはイメージの中間コード画像データのフォーマ
ットにおいては、実体(フォント/イメージ)をシステ
ムメモリ上の別の領域に持つ場合には、それぞれの実体
のコピーも必要なので、中間コード画像データのコピー
の後ろにコピーし、さらに、フォントあるいはイメージ
の中間コード画像データのそれぞれの実体を示すポイン
タを同様にファイル内でのバイトオフセットに変更す
る。
【0135】ここで、全てのシステムメモリ上のポイン
タ値のファイル内でのバイトオフセットへの書き換え作
業は、中間コード保持メモリ上で行うことができるの
で、大量のジョブの中間コード保持ブロックを外部記憶
装置に保持する場合には、書き換え作業完了後、中間コ
ード保持メモリ領域の内容を圧縮部15で圧縮すること
により、より多くのジョブの中間コード保持ブロックを
外部記憶装置17に保持することが可能となる。
【0136】このように、本実施形態では、ページ記述
言語で記載されたコード画像データを解釈して、バンド
単位に分割した中間コード画像データに変換する際に、
中間画像データ作成用のメモリ領域を確保するととも
に、該メモリ域における使用可能残量がなくなった場合
にのみ、バンド単位で、上記中間コード画像データに対
してマージ処理を行うことにより、使用可能領域を確保
するようにしたので、限られたメモリ量内で中間コード
画像データの作成を続行することができるので、マージ
処理を少なくすることにより、処理速度を向上させるこ
とができる。
【0137】また、マージ処理を行ったにもかかわら
ず、使用可能領域が確保できない場合には、さらに、シ
ステムメモリの空き領域に中間コード保持ブロックを確
保し、中間コード画像データの作成を続行させることが
できる。
【0138】また、システムメモリに拡張中間コード保
持ブロックが確保できない場合には、さらに、上記中間
コード画像データを間引く間引き処理を行うことによ
り、使用可能領域を確保するようにしたので、少ないメ
モリ容量で中間コード画像データを作成することができ
る。
【0139】但し、間引き処理により生じる画質劣化を
避けなければならないジョブに対しては、処理済みのペ
ージ、またはジョブを先にレンダリングしてしまうこと
により、未使用の中間コード保持ブロックを確保し、処
理中の中間コード画像データの作成を続行することがで
きる。
【0140】また、変換された中間コード画像データに
基づいてレンダリング時間を予測し、該レンダリング時
間が印字装置におけるスキャニング時間より大となる場
合には、さらに、マージ処理または間引き処理を実行す
るようにしたので、印字装置における白抜けを防止でき
る。
【0141】また、マージ処理で用いるバンド情報テー
ブル12のCMY毎のランレングスの総数フィールドの
値をチェックすることで、出力画像がカラーであるか白
黒であるかを自動的に判別できるので、特別な処理を施
すことなく、出力装置に対して画像に応じた出力モード
を指定することができる。
【0142】なお、上述した実施形態では、ラスタデー
タに従って画像を描画する出力装置として、周知の電子
写真法により記録用紙上にトナー像(Y,M,C,K)
を形成する装置を用いたが、これに限定されることな
く、熱転写方式、インクジェット方式、昇華方式等のカ
ラー画像を出力装置であってもよい。また、出力装置
は、当該画像処理装置に内蔵されても、あるいは外部接
続される構成であってもよい。また、ページ記述言語
は、ポストスクリプト言語以外のものでもよい。また、
コード画像データは、他の画像処理装置(コンピュー
タ)から直接供給されても、ネットワーク上に接続され
た他の画像処理装置からネットワークを介して供給され
てもよい。
【0143】また、上述した中間コード画像データ変換
部2、メモリ管理部3、マージ判定部4、マージ処理
部、間引き判定部6、間引き処理部7、レンダリング時
間予測部8、レンダリング時間計測部9、出力判定部1
0および出力部11は、ハードウエアによって実現して
も、ソフトウエアによって実現してもよい。ソフトウエ
アによって実現する場合には、請求項に記載された各手
段は、それぞれの機能を実現するプログラムとする。し
たがって、上記プログラムを記憶した記憶媒体も本発明
の概念として把握することができる。
【0144】
【発明の効果】以上、説明したように、請求項1記載の
発明によれば、入力されるコード画像データを、変換手
段によって所定のバンド単位で分割した中間コード画像
データに変換し、該中間コード画像データに変換された
時点で、記憶手段管理手段によって、記憶手段の中間コ
ード保持領域に中間コード保持ブロックを確保し、該中
間コード保持ブロックに、対応する中間コード画像デー
タを記憶する際、中間コード保持領域に中間コード保持
ブロックが確保できない場合、マージ処理手段によっ
て、中間コード画像データに対してマージ処理を施し、
マージ処理が施された中間コード保持ブロックを解放す
るようにしたので、限られたメモリ容量内で中間コード
画像データを連続して作成できるので、印字装置の起動
を度々行う必要がなく、ジョブ単位での処理速度を高め
ることができるという利点が得られる。
【0145】また、請求項12記載の発明によれば、入
力されるコード画像データを、変換手段によって所定の
バンド単位で分割した中間コード画像データに変換し、
該中間コード画像データに変換された時点で、記憶手段
管理手段によって、記憶手段の中間コード保持領域に中
間コード保持ブロックを確保し、該中間コード保持ブロ
ックに、対応する中間コード画像データを記憶し、該記
憶した中間コード画像データをレンダリングする際、中
間コード保持領域に記憶されている中間コード画像デー
タに対し、予測手段によって、バンド単位で、所定のパ
ラメータに基づいてレンダリング時間を予測し、予測手
段による予測結果に基づいて、マージ処理手段によっ
て、中間コード保持領域に記憶されている中間コード画
像データに対してマージ処理を施し、マージ処理が施さ
れた中間コード保持ブロックを解放するようにしたの
で、プリンティングにおける白抜けを防止することが可
能となる。
【0146】また、請求項21記載の発明によれば、入
力されるコード画像データを、変換手段によって所定の
バンド単位で分割した中間コード画像データに変換し、
該中間コード画像データに変換された時点で、記憶手段
管理手段によって、記憶手段の中間コード保持領域に中
間コード保持ブロックを確保し、該中間コード保持ブロ
ックに、対応する中間コード画像データを記憶し、該記
憶した中間コード画像データをレンダリングする際、中
間コード保持領域に記憶されている中間コード画像デー
タに基づいて、実測手段によって、バンド単位で、予め
レンダリング時間を実測し、実測手段による実測結果に
基づいて、マージ処理手段によって、中間コード保持領
域に記憶されている中間コード画像データに対してマー
ジ処理を施し、重ね書きをなくすようにしたので、より
正確なレンダリング時間を取得することが可能となり、
プリンティングにおける白抜けを防止することが可能と
なる。
【図面の簡単な説明】
【図1】 本発明の一実施形態による画像処理装置の構
成を示すブロック図である。
【図2】 本実施形態による画像処理装置のメモリM上
の中間コード保持メモリ、バンド情報テーブル、中間コ
ード保持メモリ制御テーブルの構成例を示す概念図であ
る。
【図3】 中間コード保持ブロックの構成を示す概念図
である。
【図4】 バンド情報テーブルのその他の情報における
構成を示す概念図である。
【図5】 本実施形態による画像処理装置の動作を示す
フローチャートである。
【図6】 本実施形態による画像処理装置の動作を示す
フローチャートである。
【図7】 本実施形態による画像処理装置の動作を示す
フローチャートである。
【図8】 本実施形態による画像処理装置の動作を示す
フローチャートである。
【図9】 本実施形態による画像処理装置の動作を示す
フローチャートである。
【図10】 本実施形態による画像処理装置の動作を示
すフローチャートである。
【図11】 本実施形態による画像処理装置の動作を示
すフローチャートである。
【図12】 中間コード保持ブロックの拡張を行った前
後の中間コード保持メモリ制御テーブルと中間コード保
持メモリの関係を示す概念図である。
【図13】 レンダリング時間予測部が予測に用いるパ
ラメータを保持する管理テーブルを示す概念図である。
【図14】 単一ページに対するレンダリング時に用い
るレンダリングスケジュールテーブル(待ち行列)を示
す概念図である。
【図15】 複数ページ/複数ジョブに対するレンダリ
ング時に用いるレンダリングスケジュールテーブル(待
ち行列)を示す概念図である。
【図16】 単一ページに対し、予めバンドバッファへ
ラスタデータを展開しているバンド(バンド2の色成分
K)が存在する場合のレンダリング時に用いるレンダリ
ングスケジュールテーブル(待ち行列)を示す概念図で
ある。
【図17】 実測可能な中間コード画像データフォーマ
ットを示す概念図である。
【図18】 レンダリングスケジューリング処理の動作
を説明するためのフローチャートである。
【図19】 レンダリングスケジューリング処理の動作
を説明するためのフローチャートである。
【図20】 レンダリングスケジューリング処理の動作
を説明するためのフローチャートである。
【図21】 レンダリングスケジューリング処理の動作
を説明するためのフローチャートである。
【図22】 レンダリングスケジューリング処理の動作
を説明するためのフローチャートである。
【図23】 メモリマップを示す概念図、および中間コ
ード保持メモリの一部およびワーキング領域の一部をバ
ンドバッファとして確保した場合のメモリマップを示す
概念図である。
【図24】 例外処理の動作を説明するためのフローチ
ャートである。
【図25】 マージ処理や間引き処理が行われた場合の
中間コード保持メモリの状態を示す概念図である。
【図26】 マージ処理や間引き処理が行われていない
場合の中間コード保持メモリの状態を示す概念図であ
る。
【図27】 外部記憶装置へ中間コード保持ブロックを
格納する際のファイルフォーマットを示す概念図であ
る。
【図28】 外部記憶装置へ中間コード保持ブロックを
格納する際の中間コード保持ブロックおよび中間コード
画像データのファイルフォーマット変換を説明するため
の概念図である。
【符号の説明】
1 画像処理装置 2 コード画像データ解釈部(変換手段) 3 中間コード画像データ変換部(変換手段) 4 メモリ管理部(記憶手段管理手段) 5 マージ判定部(マージ判定手段) 6 マージ処理部(マージ処理手段) 7 間引き判定部(間引き判定手段) 8 間引き処理部(間引き処理手段) 11 レンダリング時間予測部(予測手段) 12 レンダリング時間計測部(計測手段) 13 出力判定部(出力判定手段) 14 出力部(レンダリング手段) 15 圧縮部(圧縮手段) 16 伸長部(伸長手段) 17 外部記憶装置 20 中間コード保持メモリ 21 中間コード保持メモリ制御テーブル 22 バンド情報テーブル M メモリ(記憶手段)

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 ページ記述言語で記載されたコード画像
    データを解釈し、所定のバンド単位で分割した中間コー
    ド画像データに変換する変換手段と、 少なくとも、システム領域および中間コード保持領域か
    らなる記憶手段と、 前記変換手段によって中間コード画像データに変換され
    た時点で、前記中間コード保持領域に中間コード保持ブ
    ロックを確保し、該中間コード保持ブロックに、対応す
    る中間コード画像データを記憶する記憶手段管理手段
    と、 前記変換手段による中間コード画像データ作成時に、前
    記中間コード保持領域に中間コード保持ブロックが確保
    できない場合、前記中間コード画像データに対してマー
    ジ処理を施し、描画オブジェクトの重なりをなくす処理
    が施された中間コード保持ブロックを解放するマージ処
    理手段とを具備することを特徴とする画像処理装置。
  2. 【請求項2】 前記マージ処理手段によってマージ処理
    を施した結果、未使用の中間コード保持ブロックが確保
    できたか否かを判別する中間コード管理手段を具備し、 前記中間コード管理手段によって確保できなかったと判
    別された場合、システム領域に拡張した中間コード保持
    ブロックを獲得することを特徴とする請求項1記載の画
    像処理装置。
  3. 【請求項3】 前記システム領域に中間コード保持ブロ
    ックを獲得できない場合、現在処理中もしくは処理済み
    の文書形態に応じて、前記中間コード保持ブロックの中
    間コード画像データに対して間引き処理を施すか否かを
    判定する間引き判定手段と、 前記間引き判定手段による判定結果に基づいて、既に中
    間コード保持ブロックに記憶した処理済みの中間コード
    画像データに対して間引き処理を施す間引き処理手段と
    を具備することを特徴とする請求項1記載の画像処理装
    置。
  4. 【請求項4】 前記間引き判定手段は、現在処理中のジ
    ョブが単一ページまたは両面印刷の第2ページ目(裏
    面)の処理中である場合、間引き処理を施すと判定する
    ことを特徴とする請求項3記載の画像処理装置。
  5. 【請求項5】 前記システム領域に余裕がなく、中間コ
    ード保持ブロックが確保できない場合であって、さら
    に、現在処理中のジョブが単一ジョブの場合、処理中の
    ジョブの出力形態に基づいて、処理済みのページの中間
    コード画像データをレンダリングするレンダリング処理
    部を具備することを特徴とする請求項2記載の画像処理
    装置。
  6. 【請求項6】 前記システム領域に余裕がなく、中間コ
    ード保持ブロックが確保できない場合であって、さら
    に、現在、複数のジョブを処理している場合、処理済み
    のジョブの出力形態に基づいて、処理済みのジョブの中
    間コード画像データをレンダリングするレンダリング処
    理部を具備することを特徴とする請求項2記載の画像処
    理装置。
  7. 【請求項7】 前記システム領域で本来の使用目的のた
    めの領域が不足すると、前記中間コード保持領域に存在
    する未使用の中間コード保持ブロックを前記システム領
    域として提供する中間コード管理手段を具備することを
    特徴とする請求項1記載の画像処理装置。
  8. 【請求項8】 前記システム領域として提供した領域
    は、現在実行中のページあるいはジョブに対する処理が
    完了した時点で、前記中間コード管理手段に対して解放
    されることを特徴とする請求項7記載の画像処理装置。
  9. 【請求項9】 処理済みのジョブの出力形態が異なる場
    合、同一の出力形態毎に、レンダリングするジョブの順
    序をスケジューリングするレンダリング順序管理手段
    と、 前記レンダリング順序管理手段によって作成されたスケ
    ジューリングに従ってジョブの中間コード画像データを
    レンダリングするレンダリング手段とを具備することを
    特徴とする請求項1記載の画像処理装置。
  10. 【請求項10】 中間コード画像データに記憶されてい
    る処理済みの中間コード画像データを、ページ単位また
    はジョブ単位で外部記憶装置に保持する保持手段を具備
    することを特徴とする請求項1または2記載の画像処理
    装置。
  11. 【請求項11】 前記保持手段は、中間コード画像デー
    タに記憶されている処理済みの中間コード画像データ
    を、ページ単位またはジョブ単位で外部記憶装置に保持
    する際に、前記中間コード画像データを圧縮する圧縮手
    段を具備することを特徴とする請求項10記載の画像処
    理装置。
  12. 【請求項12】 ページ記述言語で記載されたコード画
    像データを解釈し、所定のバンド単位で分割した中間コ
    ード画像データに変換する変換手段と、 少なくとも、システム領域および中間コード保持領域か
    らなる記憶手段と、 前記変換手段によって中間コード画像データに変換され
    た時点で、前記中間コード保持領域に中間コード保持ブ
    ロックを確保し、該中間コード保持ブロックに、対応す
    る中間コード画像データを記憶する記憶手段管理手段
    と、 前記中間コード保持領域に記憶されている中間コード画
    像データに対し、バンド単位で、所定のパラメータに基
    づいてレンダリング時間を予測する予測手段と、 前記予測手段による予測結果に基づいて、前記中間コー
    ド保持領域に記憶されている中間コード画像データに対
    してマージ処理を施し、マージ処理が施された中間コー
    ド保持ブロックを解放するマージ処理手段とを具備する
    ことを特徴とする画像処理装置。
  13. 【請求項13】 前記中間コード保持領域の中間コード
    画像データをレンダリングし、印字装置に送出する際
    に、該印字装置で白抜けが発生した場合、前記予測手段
    によってレンダリング時間を予測する際に用いる前記パ
    ラメータを補正する補正手段を具備することを特徴とす
    る請求項12記載の画像処理装置。
  14. 【請求項14】 前記予測手段は、白抜け発生によって
    エラーが生じた場合には、次以降の中間コード画像デー
    タに対し、前記補正手段によって補正されたパラメータ
    に基づいて、バンド単位でレンダリング時間を予測する
    ことを特徴とする請求項13記載の画像処理装置。
  15. 【請求項15】 前記予測手段によって予測したレンダ
    リング時間と印字装置のスキャン時間との差が所定値以
    下である場合には、対応するバンドの中間コード画像デ
    ータに対して実際にレンダリング処理を施すことによ
    り、レンダリング時間を実測し、その結果を前記予測手
    段に通知する計測手段を具備することを特徴とする請求
    項12記載の画像処理装置。
  16. 【請求項16】 前記計測手段によって計測された実際
    のレンダリング時間を、各バンド毎にログに保存する履
    歴管理手段を具備することを特徴とする請求項15記載
    の画像処理装置。
  17. 【請求項17】 処理済みの中間コード画像データをバ
    ンド単位でレンダリングする際、レンダリング時間が印
    字装置スキャン時間に間に合わない場合には、未使用の
    中間コード保持ブロックを追加のバンドバッファとして
    使用するバンドバッファ割当手段を具備することを特徴
    とする請求項1または12記載の画像処理装置。
  18. 【請求項18】 処理済みの中間コード画像データをバ
    ンド単位でレンダリングする際、レンダリング時間が印
    字装置スキャン時間に間に合わない場合には、前記シス
    テム領域の未使用領域を追加のバンドバッファとして使
    用するバンドバッファ割当手段を具備することを特徴と
    する請求項1または12記載の画像処理装置。
  19. 【請求項19】 処理済みの中間コード画像データをバ
    ンド単位でレンダリングする際、レンダリング時間が印
    字装置スキャン時間に間に合わない場合には、対応する
    バンドの中間コード画像データを、1つのバンドバッフ
    ァに予め展開しておき、該バンドバッファのラスタデー
    タが印字装置に送出された後は、該バンドバッファを解
    放し、次のレンダリングで用いるバンドバッファ割当手
    段を具備することを特徴とする請求項1または12記載
    の画像処理装置。
  20. 【請求項20】 各バンドのレンダリング処理の管理を
    1つの待ち行列を用いて行うバンドバッファ割当手段を
    具備することを特徴とする請求項19記載の画像処理装
    置。
  21. 【請求項21】 ページ記述言語で記載されたコード画
    像データを解釈し、所定のバンド単位で分割した中間コ
    ード画像データに変換する変換手段と、 少なくとも、システム領域および中間コード保持領域か
    らなる記憶手段と、 前記変換手段によって中間コード画像データに変換され
    た時点で、前記中間コード保持領域に中間コード保持ブ
    ロックを確保し、該中間コード保持ブロックに、対応す
    る中間コード画像データを記憶する記憶手段管理手段
    と、 前記中間コード保持領域に記憶されている中間コード画
    像データに基づいて、バンド単位で、レンダリング時間
    を予め実測する実測手段と、 前記実測手段による実測結果に基づいて、前記中間コー
    ド保持領域に記憶されている中間コード画像データに対
    してマージ処理を施し、マージ処理が施された中間コー
    ド保持ブロックを解放するマージ処理手段とを具備する
    ことを特徴とする画像処理装置。
  22. 【請求項22】 前記実測手段は、さらに、前記マージ
    処理手段によってマージ処理された中間コード画像デー
    タに基づいて、バンド単位で、レンダリング時間を実測
    し、 前記実測手段による実測結果に基づいて、前記中間コー
    ド画像データに対して間引き処理を施すか否かを判定す
    る間引き判定手段と、 前記間引き判定手段による判定結果に基づいて前記中間
    コード保持領域に記憶されている中間コード画像データ
    に対して間引き処理を施す間引き処理手段とを具備する
    ことを特徴とする請求項21記載の画像処理装置。
  23. 【請求項23】 前記実測手段は、前記中間コード保持
    領域に記憶されている中間コード画像データに基づい
    て、1色についてのみ、バンド単位でレンダリング時間
    を予め実測することを特徴とする請求項21または22
    記載の画像処理装置。
  24. 【請求項24】 前記実測手段は、バンド毎の所定値を
    越えた場合においてのみ起動されることを特徴とする請
    求項21または22記載の画像処理装置。
JP19126896A 1996-04-19 1996-07-19 画像処理装置 Expired - Fee Related JP2894286B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19126896A JP2894286B2 (ja) 1996-04-19 1996-07-19 画像処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-98572 1996-04-19
JP9857296 1996-04-19
JP19126896A JP2894286B2 (ja) 1996-04-19 1996-07-19 画像処理装置

Publications (2)

Publication Number Publication Date
JPH10825A true JPH10825A (ja) 1998-01-06
JP2894286B2 JP2894286B2 (ja) 1999-05-24

Family

ID=26439713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19126896A Expired - Fee Related JP2894286B2 (ja) 1996-04-19 1996-07-19 画像処理装置

Country Status (1)

Country Link
JP (1) JP2894286B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999041704A1 (en) * 1998-02-17 1999-08-19 Sun Microsystems, Inc. Estimating graphics system performance for polygons
JP2006270767A (ja) * 2005-03-25 2006-10-05 Fuji Xerox Co Ltd 画像処理装置、画像処理方法及び画像処理プログラム
JP2007193808A (ja) * 2006-01-17 2007-08-02 Ricoh Co Ltd 電子文書の最適化印刷
JP2011056850A (ja) * 2009-09-11 2011-03-24 Fuji Xerox Co Ltd 印刷制御装置、画像形成装置、及び印刷制御プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999041704A1 (en) * 1998-02-17 1999-08-19 Sun Microsystems, Inc. Estimating graphics system performance for polygons
JP2006270767A (ja) * 2005-03-25 2006-10-05 Fuji Xerox Co Ltd 画像処理装置、画像処理方法及び画像処理プログラム
JP4609141B2 (ja) * 2005-03-25 2011-01-12 富士ゼロックス株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP2007193808A (ja) * 2006-01-17 2007-08-02 Ricoh Co Ltd 電子文書の最適化印刷
JP2011056850A (ja) * 2009-09-11 2011-03-24 Fuji Xerox Co Ltd 印刷制御装置、画像形成装置、及び印刷制御プログラム

Also Published As

Publication number Publication date
JP2894286B2 (ja) 1999-05-24

Similar Documents

Publication Publication Date Title
JP3630943B2 (ja) 情報処理装置および印刷制御方法および印刷制御システムおよび印刷制御プログラムを格納した記憶媒体
US7142730B2 (en) Image processing apparatus
JP4795138B2 (ja) 画像処理装置及びプログラム
JP3711435B2 (ja) 印刷データのプレビュー方法および装置、記録媒体
US7315387B2 (en) Print control method and apparatus, and print system
JP4343461B2 (ja) 印刷装置及びその制御方法
JP4120874B2 (ja) 画像処理装置
JP2894286B2 (ja) 画像処理装置
US20070247466A1 (en) Image processing apparatus and program
US7061654B2 (en) Image processor, image processing method and storage medium
JP3728076B2 (ja) 画像入出力装置及び方法
JPH10222319A (ja) 印刷装置及び印刷制御方法
JP2000203104A (ja) プリンタ及びプリンタ制御装置
EP0977143B1 (en) Band rasterization of print data
JP3221249B2 (ja) 出力装置およびジョブ管理装置
US6166824A (en) Print data processing and compression apparatus
US8582153B2 (en) Image forming apparatus and method
JP2000311071A (ja) 出力制御装置および出力制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3526255B2 (ja) 情報処理装置および印刷制御方法および印刷制御システム及び記憶媒体
CN107544761B (zh) 图像形成装置及信息处理方法
JP6485699B2 (ja) 画像形成装置、画像形成システム
JP4144574B2 (ja) 印刷データのプレビュー方法および装置、記録媒体
JP3257136B2 (ja) 画像処理装置
JP3711609B2 (ja) 印刷方法、印刷システム、及びプリンタ
JP3583879B2 (ja) プリンタ制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees