JP3373476B2 - 画像処理装置およびその制御方法 - Google Patents
画像処理装置およびその制御方法Info
- Publication number
- JP3373476B2 JP3373476B2 JP2000041749A JP2000041749A JP3373476B2 JP 3373476 B2 JP3373476 B2 JP 3373476B2 JP 2000041749 A JP2000041749 A JP 2000041749A JP 2000041749 A JP2000041749 A JP 2000041749A JP 3373476 B2 JP3373476 B2 JP 3373476B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- memory
- interpretation
- task
- interpreting means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Record Information Processing For Printing (AREA)
Description
信した複数のページ記述言語の印刷データを解釈し、印
刷を行う画像処理装置およびその制御方法に関する。
う場合には、ホストコンピュータから送信されるページ
記述言語の印刷データを印刷装置のインタプリタ部を中
間言語(以下、「ディスプレイリスト(DLデータ)」
という)に翻訳する。このDLデータを印刷装置のラス
タライズ部で画素データに変換する。このとき、ラスタ
ライズ部は、印刷処理の高速化を図るため、DLデータ
を所定のバンド毎に画素データ(以下、「バンドデー
タ」という)に変換する。このバンドデータは、メモリ
に割り当てられたバンドメモリ領域に格納される。プリ
ンタエンジンは、バンドメモリ領域にバンドデータが格
納される毎に順次印刷を行う。
ラでは、通常、印刷制御を複雑にすることなく複数のペ
ージ記述言語に対応するために、インタプリタ部および
ラスタライズ部(以下、言語・タスクという)を複数個
設けている。
設けられたページプリンタのプリンタコントローラで
は、印刷ジョブを受信するとそのページ記述言語に対応
する言語・タスクが呼び出される。言語・タスクは、メ
モリ管理部に対してメインメモリ上のグローバルメモリ
領域内に、DL格納メモリ領域、ワークバンド、フォン
トキャッシュ領域等の必要なメモリ領域の割り当てを要
求する。言語・タスクは、割り当てられたメモリ領域を
使って処理を実行するので、印刷ジョブの完了まで割り
当てられたメモリ領域のほとんどを占有することにな
る。
語・タスクが、グローバルメモリ領域の一部を占有して
いる状態で、プリンタコントローラが次の印刷ジョブを
受信したとき、この印刷ジョブのページ記述言語が現在
の印刷ジョブと同じ場合は、現在ジョブのDLデータを
格納する分の領域を必要とするだけなのでメモリフルが
すぐに発生する可能性は低いが、現在ジョブの言語が異
なる場合は、グローバルメモリ領域の空き領域に新たな
言語用のフォントキャッシュ領域等のワーク領域を最初
に確保する必要があるためメモリフルが発生しやすくな
る。
ータに翻訳しメモリに格納している最中にメモリの空き
領域がなくなると、いわゆる分割印刷などの所定のメモ
リ不足対応の処理を実行するようになっている。上述の
ように、グローバルメモリ領域を複数の言語・タスクが
併用する際、例えば、次の印刷ジョブを処理する上記他
の言語・タスクがフリー領域にワークデータまたはDL
データを格納している最中にグローバルメモリ領域が一
杯になることがある。この場合、他の言語・タスクは、
グローバルメモリ領域を前の言語・タスクが占有してい
るのか、自分が占有しているのかに関わらず、メモリ不
足対応の処理を実行してしまう。このため、もし前の言
語・タスクがグローバルメモリ領域を占有しているので
なければ正常に印刷できるデータにも関わらず、他の言
語・タスクは印刷不可と判断するので、前の言語・タス
クから他の言語・タスクに処理が切り替わるときとそう
でないときとで、同一の印刷データの処理結果が異なっ
てしまうという不都合が生じる。プリンタでは、同一の
印刷データは同一の処理結果になることが設計上重要で
ある。よって、このような現象が発生することはプリン
タ設計上好ましくない。
ンタの動作を制御するためのプログラム(エミュレー
タ)を複数備えたプリンタにおいて、上位装置からのプ
ログラム指令命令により新たなプログラムが指定された
場合、その時動作中のプログラムが使用しているメモリ
エリアを開放した後、前記指定されたプログラムを動作
させると共に前記解放されたメモリエリアを前記指定さ
れたプログラムで使用することを特徴とするプログラム
方式が開示されている。このプログラム方式は、プログ
ラム切替時のメモリ不足を解消するものである。しか
し、このプログラム方式では、前ジョブの処理が完了す
るまで、現ジョブを行うエミュレータは、ホストコンピ
ュータからのデータの受信とデータの解釈を始めること
ができない。この結果、メモリ不足は解消するものの印
刷に長時間を要するという不都合がある。
する複数の言語・タスクが一つのメモリ領域を共用する
場合であっても、メモリ領域を有効に利用し、処理を短
時間で行うことができる画像処理装置およびその制御方
法を提供することを目的とする。
解決するために、同一のメモリ領域内に描画ワークエリ
アを夫々展開する、相異なるページ記述言語を解釈して
画素データを生成する複数の解釈手段とを備えた画像処
理装置において、一の解釈手段が解釈中に前記メモリ領
域内の空き領域が不足したならば他の解釈手段がメモリ
を使用しているか否かを判定し、使用していれば他の解
釈手段がメモリを解放した後で空き領域の確保を行い、
他の解釈手段がメモリを使用していなくて一の解釈手段
による前ページの排紙が終了していない場合は前ページ
の排紙終了後に一の解釈手段による空き領域の確保を行
い、他の解釈手段がメモリを使用していなくて一の解釈
手段による前ページの排紙が終了している場合は前記メ
モリ領域に格納するデータを圧縮して一の解釈手段によ
る空き領域の確保を行い、これによっても空き領域が確
保できなかった場合は分割印刷を行うこととした。
リ不足が発生した場合に他の解釈手段が描画ワークエリ
アを解放して空き領域が拡大するまで一の解釈手段によ
るページ記述言語の解釈を延期するので、他の解釈手段
がメモリ領域の一部を占有しているタイミングで一の解
釈手段が解釈を開始しても正常に印刷することができ
る。従って、同一の印刷データがホスト装置からの指示
のタイミングによって異なる処理結果となるのを防止す
ることができる。
手段がページ記述言語を解釈して画素データを生成する
にあたり、ジョブ情報、ページ情報、描画情報等の、印
刷の完了(例えば、排紙完了、ジョブ完了)まで保存さ
れ、その後削除されるような中間的または一時的なデー
タを格納する領域をいう。
理装置は、同一のメモリ領域内に描画ワークエリアを夫
々展開する、相異なるページ記述言語を解釈して画素デ
ータを生成する複数の解釈手段とを備えた画像処理装置
において、一の解釈手段が解釈中に前記メモリ領域内の
空き領域が不足したならば他の解釈手段がメモリを使用
しているか否かを判定し、使用していれば他の解釈手段
がメモリを解放した後で空き領域の確保を行い、他の解
釈手段がメモリを使用していなくて一の解釈手段による
前ページの排紙が終了していない場合は前ページの排紙
終了後に一の解釈手段による空き領域の確保を行い、他
の解釈手段がメモリを使用していなくて一の解釈手段に
よる前ページの排紙が終了している場合は前記メモリ領
域に格納するデータを圧縮して一の解釈手段による空き
領域の確保を行い、これによっても空き領域が確保でき
なかった場合は分割印刷を行うこととした。
きに、他の解釈手段によるメモリの使用があるかどう
か、なければ自身の解釈手段による排紙が未終了である
かどうか、未終了でもなければ格納データを圧縮すれば
メモリを確保できるかどうかという順番にメモリの確保
を試み、最終的に確保できない場合に分割印刷を行うの
で、メモリの使用状況から分割印刷するしかない最終的
なメモリ不足と普通に印刷できる一時的なメモリ不足と
を区別して良好な印刷処理を行うことができる。
は、同一のメモリ領域内に描画ワークエリアを夫々展開
する、相異なるページ記述言語を解釈して画素データを
生成する複数の解釈手段とを備えた画像処理装置であっ
て、一の解釈手段が解釈中にデータを格納するに際して
描画ワークエリアに十分な空き領域がない場合、他の解
釈手段に対して前記描画ワークエリアとしてメモリ領域
の一部を占有しているか否か問合せ、前記他の解釈手段
から前記メモリ領域の一部を占有している旨の回答を得
た場合は所定時間後に一の解釈手段による空き領域の確
保を行い、占有していない旨の回答を得たうえで一の解
釈手段による前ページの排紙が終了していない場合は排
紙終了後に一の解釈手段による空き領域の確保を行い、
占有していない旨の回答を得たうえで一の解釈手段によ
る前ページの排紙が終了している場合は前記格納するデ
ータを圧縮して一の解釈手段による空き領域の確保を行
い、これによっても空き領域が確保できなかった場合は
分割印刷を行うこととした。
きに、他の解釈手段によるメモリの使用があるかどう
か、なければ自身の解釈手段による排紙が未終了である
かどうか、未終了でもなければ格納データを圧縮すれば
メモリを確保できるかどうかという順番にメモリの確保
を試み、最終的に確保できない場合に分割印刷を行うの
で、メモリの使用状況から分割印刷するしかない最終的
なメモリ不足と普通に印刷できる一時的なメモリ不足と
を区別して良好な印刷処理を行うことができる。また、
他の解釈手段に直接問合せて回答を得ることで他の解釈
手段によるメモリの使用の有無を明確に知ることができ
る。
は、同一のメモリ領域内に描画ワークエリアを夫々展開
する、相異なるページ記述言語を解釈して画素データを
生成する複数の解釈手段とを備えた画像処理装置であっ
て、一の解釈手段が解釈中にデータを格納するに際して
描画ワークエリアに十分な空き領域がない場合、他の解
釈手段に対して前記描画ワークエリアとしてメモリ領域
の一部を占有しているか否か判定し、前記他の解釈手段
が前記メモリ領域の一部を占有している場合前記他の解
釈手段が前記描画ワークエリアを解放し得るような前記
解釈手段のステータス変化を検知したときに一の解釈手
段による空き領域の確保を行い、占有していなくて一の
解釈手段による前ページの排紙が終了していない場合は
排紙終了後に一の解釈手段による空き領域の確保を行
い、占有していなくて一の解釈手段による前ページの排
紙が終了している場合は前記格納するデータを圧縮して
一の解釈手段による空き領域の確保を行い、これによっ
ても空き領域が確保できなかった場合に分割印刷を行う
こととした。
きに、他の解釈手段によるメモリの使用があるかどう
か、なければ自身の解釈手段による排紙が未終了である
かどうか、未終了でもなければ格納データを圧縮すれば
メモリを確保できるかどうかという順番にメモリの確保
を試み、最終的に確保できない場合に分割印刷を行うの
で、メモリの使用状況から分割印刷するしかない最終的
なメモリ不足と普通に印刷できる一時的なメモリ不足と
を区別して良好な印刷処理を行うことができる。また、
ステータス変化を検知することで容易に他の解釈手段に
よるメモリの解放を知ることができる。本発明の第4の
態様は、第1から第3の態様に係る画像処理装置におい
て、解釈手段は、ページ記述言語を中間言語に翻訳する
翻訳手段と、前記中間言語を画素データに変換する画素
変換手段とで構成され、前記翻訳手段は、前記中間言語
を前記描画ワークエリアに蓄積し、前記中間言語が不要
になった後前記中間言語を削除して前記描画ワークエリ
アを解放することとした。この構成により、中間言語に
よってメモリ領域が一杯になっても、一の解釈手段の翻
訳手段は、例えば、印刷手段による印刷が完了して中間
言語が不要になった後他の解釈手段が中間言語を削除し
て描画ワークエリアを解放して空き領域が拡大した後、
翻訳を再開するので、他の解釈手段の中間言語がメモリ
領域の一部を占有しているタイミングで一の解釈手段が
解釈を開始しても正常に処理することができる。
項4のいずれかに係る画像処理装置を搭載した印刷装置
である。
制御方法は、同一のメモリ領域内に描画ワークエリアを
夫々展開する、相異なるページ記述言語を解釈して画素
データを生成する複数の解釈手段とを備えた画像処理装
置の制御方法であって、一の解釈手段が解釈中に前記メ
モリ領域内の空き領域が不足したならば、他の解釈手段
がメモリを使用しているか否かを判定し、使用していれ
ば他の解釈手段がメモリを解放した後で空き領域の確保
を行い、他の解釈手段がメモリを使用していなくて一の
解釈手段による前ページの排紙が終了していない場合は
前ページの排紙終了後に一の解釈手段による空き領域の
確保を行い、他の解釈手段がメモリを使用していなくて
一の解釈手段による前ページの排紙が終了している場合
は前記メモリ領域に格納するデータを圧縮して一の解釈
手段による空き領域の確保を行い、これによっても空き
領域が確保できなかった場合は分割印刷を行うこととし
た。
きに、他の解釈手段によるメモリの使用があるかどう
か、なければ自身の解釈手段による排紙が未終了である
かどうか、未終了でもなければ格納データを圧縮すれば
メモリを確保できるかどうかという順番にメモリの確保
を試み、最終的に確保できない場合に分割印刷を行うの
で、メモリの使用状況から分割印刷するしかない最終的
なメモリ不足と普通に印刷できる一時的なメモリ不足と
を区別して良好な印刷処理を行うことができる。
制御方法は、同一のメモリ領域内に描画ワークエリアを
夫々展開する、相異なるページ記述言語を解釈して画素
データを生成する複数の解釈手段とを備えた画像処理装
置の制御方法であって、一の解釈手段が解釈中にデータ
を格納するに際して描画ワークエリアに十分な空き領域
がない場合、他の解釈手段に対して前記描画ワークエリ
アとしてメモリ領域の一部を占有しているか否か問合
せ、前記他の解釈手段から前記メモリ領域の一部を占有
している旨の回答を得た場合は所定時間後に一の解釈手
段による空き領域の確保を行い、占有していない旨の回
答を得たうえで一の解釈手段による前ページの排紙が終
了していない場合は排紙終了後に一の解釈手段による空
き領域の確保を行い、占有していない旨の回答を得たう
えで一の解釈手段による前ページの排紙が終了している
場合は前記格納するデータを圧縮して一の解釈手段によ
る空き領域の確保を行い、これによっても空き領域が確
保できなかった場合は分割印刷を行うこととした。
きに、他の解釈手段によるメモリの使用があるかどう
か、なければ自身の解釈手段による排紙が未終了である
かどうか、未終了でもなければ格納データを圧縮すれば
メモリを確保できるかどうかという順番にメモリの確保
を試み、最終的に確保できない場合に分割印刷を行うの
で、メモリの使用状況から分割印刷するしかない最終的
なメモリ不足と普通に印刷できる一時的なメモリ不足と
を区別して良好な印刷処理を行うことができる。また、
他の解釈手段に直接問合せて回答を得ることで他の解釈
手段によるメモリの使用の有無を明確に知ることができ
る。
制御方法は、同一のメモリ領域内に描画ワークエリアを
夫々展開する、相異なるページ記述言語を解釈して画素
データを生成する複数の解釈手段とを備えた画像処理装
置の制御方法であって、一の解釈手段が解釈中にデータ
を格納するに際して描画ワークエリアに十分な空き領域
がない場合、他の解釈手段に対して前記描画ワークエリ
アとしてメモリ領域の一部を占有しているか否か判定
し、前記他の解釈手段が前記メモリ領域の一部を占有し
ている場合前記他の解釈手段が前記描画ワークエリアを
解放し得るような前記解釈手段のステータス変化を検知
したときに一の解釈手段による空き領域の確保を行い、
占有していなくて一の解釈手段による前ページの排紙が
終了していない場合は排紙終了後に一の解釈手段による
空き領域の確保を行い、占有していなくて一の解釈手段
による前ページの排紙が終了している場合は前記格納す
るデータを圧縮して一の解釈手段による空き領域の確保
を行い、これによっても空き領域が確保できなかった場
合に分割印刷を行うこととした。
きに、他の解釈手段によるメモリの使用があるかどう
か、なければ自身の解釈手段による排紙が未終了である
かどうか、未終了でもなければ格納データを圧縮すれば
メモリを確保できるかどうかという順番にメモリの確保
を試み、最終的に確保できない場合に分割印刷を行うの
で、メモリの使用状況から分割印刷するしかない最終的
なメモリ不足と普通に印刷できる一時的なメモリ不足と
を区別して良好な印刷処理を行うことができる。また、
ステータス変化を検知することで容易に他の解釈手段に
よるメモリの解放を知ることができる。
内に描画ワークエリアを夫々展開する、相異なるページ
記述言語を解釈して画素データを生成する複数の解釈手
段とを備えた画像処理装置のプログラムであって、一の
解釈手段が解釈中に前記メモリ領域内の空き領域が不足
したならば、他の解釈手段がメモリを使用しているか否
かを判定し、使用していれば他の解釈手段がメモリを解
放した後で空き領域の確保を行い、他の解釈手段がメモ
リを使用していなくて一の解釈手段による前ページの排
紙が終了していない場合は前ページの排紙終了後に一の
解釈手段による空き領域の確保を行い、他の解釈手段が
メモリを使用していなくて一の解釈手段による前ページ
の排紙が終了している場合は前記メモリ領域に格納する
データを圧縮して一の解釈手段による空き領域の確保を
行い、これによっても空き領域が確保できなかった場合
は分割印刷を行うプログラムを記録したコンピュータ読
み取り可能な記憶媒体である。
域内に描画ワークエリアを夫々展開する、相異なるペー
ジ記述言語を解釈して画素データを生成する複数の解釈
手段とを備えた画像処理装置のプログラムであって、一
の解釈手段が解釈中にデータを格納するに際して描画ワ
ークエリアに十分な空き領域がない場合、他の解釈手段
に対して前記描画ワークエリアとしてメモリ領域の一部
を占有しているか否か問合せ、前記他の解釈手段から前
記メモリ領域の一部を占有している旨の回答を得た場合
は所定時間後に一の解釈手段による空き領域の確保を行
い、占有していない旨の回答を得たうえで一の解釈手段
による前ページの排紙が終了していない場合は排紙終了
後に一の解釈手段による空き領域の確保を行い、占有し
ていない旨の回答を得たうえで一の解釈手段による前ペ
ージの排紙が終了している場合は前記格納するデータを
圧縮して一の解釈手段による空き領域の確保を行い、こ
れによっても空き領域が確保できなかった場合は分割印
刷を行うプログラムを記録したコンピュータ読み取り可
能な記憶媒体である。
域内に描画ワークエリアを夫々展開する、相異なるペー
ジ記述言語を解釈して画素データを生成する複数の解釈
手段とを備えた画像処理装置のプログラムであって、一
の解釈手段が解釈中にデータを格納するに際して描画ワ
ークエリアに十分な空き領域がない場合、他の解釈手段
に対して前記描画ワークエリアとしてメモリ領域の一部
を占有しているか否か判定し、前記他の解釈手段が前記
メモリ領域の一部を占有している場合前記他の解釈手段
が前記描画ワークエリアを解放し得るような前記解釈手
段のステータス変化を検知したときに一の解釈手段によ
る空き領域の確保を行い、占有していなくて一の解釈手
段による前ページの排紙が終了していない場合は排紙終
了後に一の解釈手段による空き領域の確保を行い、占有
していなくて一の解釈手段による前ページの排紙が終了
している場合は前記格納するデータを圧縮して一の解釈
手段による空き領域の確保を行い、これによっても空き
領域が確保できなかった場合に分割印刷を行うプログラ
ムを記録したコンピュータ読み取り可能な記憶媒体であ
る。
て、図面を参照して詳細に説明する。
形態1に係る印刷装置としてのレーザビームプリンタが
動作するネットワークを示す概略図である。レーザビー
ムプリンタ1は、複数の、相異なる伝送路を介して複数
のホスト装置に接続されている。すなわち、レーザビー
ムプリンタ1は、パラレルケーブル2を介してパーソナ
ルコンピュータ(以下、PCという)3に接続されてい
る。また、IEEE1394等のシリアルケーブル4を
介して分離型コピア(スキャナ)5に接続されている。
また、LAN、インタネット等のコンピュータネットワ
ーク6を介してPC7,8が接続されている。また、I
rDAに準拠した赤外線通信路(以下、IrDAとい
う)9などの無線通信路を介してモバイルPC10が接
続されている。さらに、アナログ・デジタル公衆電話回
線網(PSTN/ISDN)11を介してFAX12が
接続されている。
ムプリンタの内部構造図である。レーザビームプリンタ
1には、給紙カセット101が底部に設置されている。
給紙カセット101内の記録紙束102から最上面の記
録紙がピックアップローラ103によって取り出され
る。給紙カセット101から取り出された記録紙は、レ
ジストローラ104へ渡される。レジストローラ104
の先には、転写ユニット105が設置されている。
られる転写フィルム106と廃トナーのクリーニング装
置107とを有し、それらがカバー108で覆われてい
る。転写フィルム106が記録紙に接触する部分に転写
フィルム搬送ローラ109が配置されている。この転写
フィルム搬送ローラ109に転写ローラ110が対向し
て設置されている。
側には、廃トナーボックス111が格納されている。廃
トナーボックス111は、クリーニング装置107と図
示しないパイプを介して接続されている。クリーニング
装置107が転写フィルム106から除去した廃トナー
がこのパイプを通って廃トナーボックス111に収納さ
れるようになっている。
05に隣接して設置されている。プロセスユニット11
3は、4色のプロセスカートリッジ114を備える。レ
ーザ駆動装置、ポリゴンミラー等で構成されるLSU1
15によって、カートリッジ毎に設けられた感光体11
6に静電潜像が形成される。感光体116に形成された
静電潜像は、転写フィルム106の同一位置に重ねられ
て画像が形成される。転写フィルム106に形成された
画像は、転写フィルム搬送ローラ109と転写ローラ1
10との間を通過する際、記録紙に転写される。
着ユニット117が設けられている。定着ユニット11
7は、定着ローラ118および加圧ローラ119と、定
着ローラ118に残留したトナーの剥離性を高めるオイ
ルを塗布するクリーニングローラ120とを備えてい
る。定着ユニット117の出口に排出ローラ121が設
けられている。排出ローラ121の近傍に排出センサ1
22が設けられている。排出センサ122は、記録紙の
排出が完了したか検出する。
ムプリンタのプリンタコントローラを示すブロック図で
ある。
OM201は、フォントデータ、制御プログラムコード
および初期設定パラメータなどを記憶する。RAM20
2は、送受信データを格納する送受信バッファ領域、言
語データを解釈して得られるDLデータを格納するDL
格納メモリ領域、DLデータをバンド毎にラスタライズ
して得られるバンドデータを格納するバンドメモリ領
域、環境変数データベース(DB)などを有する。
ANインタフェース203、パラレルインタフェース2
04、IEEE1394インタフェース205およびI
rDAインタフェース206の各種外部I/Oインタフ
ェースを備えている。さらに、プリンタコントローラ2
00は、FAXユニット207のようなオプションボー
ドを内部接続するためのオプションインタフェース20
8を備えている。
2に示す給紙機構、搬送機構、感光・現像機構、排紙機
構などのプリンタエンジン209を接続するためのプリ
ンタエンジンインタフェース210を備えている。ま
た、プリンタコントローラ200には、ディスプレイ、
ボタン、キーを備えた操作パネル211が接続されてい
る。
12を介して接続され、プリンタコントローラ200
は、これらの各構成要素を制御するCPU220を備え
ている。
ームプリンタの主要なソフトウエア構成を示すブロック
図である。上記実施の形態1に係るレーザビームプリン
タは、2つのページ記述言語を解釈し、印刷することが
できるものとする。
置との間で双方向通信を行う。すなわち、ホスト装置か
らレーザビームプリンタ1へは、印刷データとしてホス
ト装置のプリンタドライバが生成したPDLデータおよ
びジョブ制御/ステータス管理言語データが送信され、
レーザビームプリンタ1の設定値(システムパラメー
タ)の更新要求、現在設定値の問合せ要求、レーザビー
ムプリンタ1のステータス要求などとしてジョブ制御/
ステータス管理言語データが送信される。これらのデー
タをフォワードデータと呼ぶ。
装置へは、レーザビームプリンタ1のステータス(ジャ
ム発生、トナー残量状況等)や、現在設定値や装置プロ
ファイル(モデル名、カセット段数、オプション設備
等)などの問合せ応答としてのジョブ制御/ステータス
管理言語データが送信される。これらのデータをリバー
スデータまたは装置状態データと呼ぶ。ステータスに
は、印刷異常を示すエラー情報、印刷が正常に完了した
ことを示すコンプリート情報、現在印刷が進行中である
ことやレーザビームプリンタ1が待機であることなどを
示すカレントステータス情報などが含まれる。
スクという)301は、フォワードデータの受信および
リバースデータ送信を制御する。
ース203〜206のそれぞれについて用意された各種
インタフェースドライバを管理する複数の下位タスクを
含んでいる。下位タスクは、例えば、ネットワークタス
ク、パラレル・タスク、IEEE1394タスクおよび
IrDAタスクなどである。
(以下、JS・タスクという)302は、フォワード方
向としては、受信した印刷データの中からジョブ制御/
ステータス管理言語データを解釈する一方で、PDLデ
ータを抽出し、PDL言語が何かを判定し、該当するP
DL・タスク303に渡す。JS・タスク302は、印
刷データ中でPDLデータの上に付加された、印刷ジョ
ブ制御情報(部数、解像度、ジョブ名称など)を取得
し、取得した印刷ジョブ制御情報を環境変数として、後
述するメイン・タスク304の環境変数データベース3
06に保存する。
ータベース306から読み出した環境変数および後述の
プリンタ・タスク305からのステータスをジョブ制御
/ステータス管理言語データとしてI/F・タスク30
1へ渡す。
ば、ヒューレッドパッカード社のPrinter Jo
b Language (PJL)や、国際標準のSi
mple Network Management P
rotocol(SNMP)である。
ームプリンタにおける、各タスクとメモリ管理部との関
係を示したブロック図である。
302から渡された言語1からなるPDLデータをペー
ジ毎に解釈、ラスタライズをする。言語1・タスク30
3Aは、言語1データを解釈してDLデータを生成する
インタプリタ(IT)・タスク401Aと、DLデータ
をバンドデータに変換するラスタライズ(RAS)・タ
スク402Aとで構成されている。インタプリタ・タス
ク401Aにより生成されたDLデータは、RAM20
2のDL格納メモリ領域に一時的に格納された後、ラス
タライズ・タスク402Aにより読み出される。ラスタ
ライズ・タスク402AがDLデータを変換したバンド
データは、RAM202のバンドメモリ領域に格納され
る。言語2・タスク303Bも言語1・タスク303A
と同様の機能を有するインタプリタ・タスク401Bお
よびラスタライズ・タスク402Bを備え、JS・タス
ク302から渡された言語2データを解釈する。
リンタ1全体の動作を決定すると共に、環境変数/装置
設定の管理、オンライン/オフラインの指示、プリント
出力制御等を行う。
データベース306を備え、この環境変数データベース
306は、JS・タスク302が取得した環境変数やパ
ネル入力された環境変数を管理する。
303A、303Bのラスタライズ・タスク402A、
Bが変換したバンドデータをバンドメモリ領域から読み
出し、プリンタエンジン209を制御して印刷を行う。
また、プリンタ・タスク305は、JS・タスク302
からのステータス要求に応答して、または、ステータス
に変化があったときに随時、現在のプリンタエンジン2
09各部のステータスを取得し、JS・タスク302へ
応答する。
01、JS・タスク302、および、メイン・タスク3
04からの制御命令に従って、RAM202内に送受信
バッファ領域、DL格納メモリ領域、バンドメモリ領
域、フォントキャッシュ用の領域などの各種領域を確保
する。
/ステータス管理言語データ+PDLデータ)が来る
と、JS・タスク302は、このうちジョブ制御/ステ
ータス管理言語データを解析する。解析した結果をジョ
ブ情報(ドキュメント名、部数、言語種別など)として
記憶するためメモリ管理部307にメモリの取得を要求
する。この要求は、図5中に示すようにメモリ管理部3
07の<Create_Job>関数を呼び出すことにより行わ
れる。JS・タスク302は、メモリ管理部307から
獲得したメモリにジョブ情報を格納する。その後、JS
・タスク302は、抽出したPDLデータを該当する方
の言語・タスク303A、303Bに渡す。ここでは、
言語は言語2であり、言語2・タスク303Bに渡した
と仮定して説明する。
3Bは、新しいジョブの開始をメイン・タスク304に
通知する。この後、言語・タスク303B内では、1ペ
ージごとに、インタプリタ・タスク401BでのPDL
データの解釈とラスタライザタスクでのバンド生成を繰
り返す。生成されたバンドデータはメイン・タスク30
4を経由してプリンタ・タスク305から記録される。
PDLデータを解釈して、1ページ分の情報(用紙サイ
ズ、給紙カセット指定など)をメモリ管理部307から
獲得したメモリにページ情報として格納する。また、必
要に応じて描画情報(DL、パレット、キャッシュされ
たフォントなど)をメモリ管理部307から取得したメ
モリに格納する。描画情報は、DL群などの1ページの
印刷が完了すれば消去しても良いデータ(以下、描画情
報タイプAという)と、パレット、ダウンロードフォン
ト、キャッシュされたフォント、ワークバンドなどの、
複数のページにわたって使用され、ジョブが完了するま
で保存しておくデータ(以下、描画情報タイプBとい
う)に大別される。インタプリタ・タスク401Bは、
図5中、で示すように、メモリ管理部307の<Crea
te_Page>関数を呼び出して、ページ情報を格納するメ
モリを取得する。一方、−a、−bで示すように、
<Create_DrawWorK>関数を呼び出して描画情報を格納
するメモリを呼び出し、このとき、タイプAであればa
を、タイプBであればbをそれぞれ引数とすることで、
描画情報を格納するためのメモリを区別している。
(図5中)を受けた言語2・タスク303Bは、1ペ
ージ分のページ情報と描画情報タイプAを削除するため
に、メモリ管理部307にそれぞれ削除を指示する。こ
の指示は、図5中−a、−bで示すように、<Dele
te_Page>関数および<Delete_DrawWork>関数(引数
a)を呼び出すことにより行われる。
のものであると判断すると、言語2・タスク303Bは
エンドジョブ通知(図中)をメイン・タスク304に
送信するとともに、描画情報タイプBの削除をメモリ管
理部に削除指示する。この削除指示は、<Delete_DrawW
ork>関数(引数b)を呼び出すことにより行われる(図
中)。
スク304は、メモリ管理部307に対して、ジョブ情
報の削除指示するために、<Delete_Job>関数(図5中
)を呼び出す。
タスク303A、Bおよびメイン・タスク304は、一
つのグローバルメモリ領域内から必要なメモリを取得
し、必要がなくなればこれを解放している。
理について、インタプリタ・タスクのレベルで見ると、
インタプリタ・タスク401A、Bは、PDLコマンド
を解釈したときに、ページ情報や描画情報をメモリに書
き込む必要が生じた場合、描画情報を格納するためのエ
リア(以下、情報格納エリアという)を取得することを
メモリ管理部307に要求する。この要求はメモリ取得
関数を用いて行われる。メモリ取得関数には、引数とし
て必要なメモリサイズが付加されている。
スク401A、Bに要求された情報格納エリアをRAM
202のグローバルメモリ領域603中の空きから取得
することを試みる。メモリ管理部307は、この試みの
結果について、インタプリタ・タスク401A,Bに対
して応答する。応答は、完了コードにOKまたはNGを
セットし、これを返す。完了コードOKの場合には情報
格納エリアのポインタ(開始アドレス)が付加される。
定を行う。前ジョブ判定とは、グローバルメモリ領域6
03に別言語の前ジョブがあるか否かの判定である。こ
の判定は、例えば、JS・タスク302がメモリに格納
したジョブ情報の中にある言語種別フラグを調べること
により実現することができる。
ームプリンタにおけるメインメモリのメモリマップを示
す図である。レーザビームプリンタ1は、起動時にメイ
ン・タスク304がROM201に格納されたヘッダフ
ァイルに記述された設定値に基いて、図6に示すよう
に、RAM202上に、システム管理領域601、プロ
グラム領域602、グローバルメモリ領域603、送受
信バッファ604、バンドメモリ605、OSワーク領
域606および内部フォント領域607を夫々割り当て
る。言語1・タスク303Aおよび言語2・タスク30
3Bは、グローバルメモリ領域603に必要なメモリを
随時取得および解放しながら、共用している。
するレーザビームプリンタ1がホスト装置から送信され
た印刷ジョブを処理するフローについて説明する。
ームプリンタのインタプリタ・タスクの解釈処理手順を
示すフロー図である。図8は、上記実施の形態1に係る
レーザビームプリンタのメモリ管理部でのメモリ取得手
順を示すフロー図である。まず、言語1・タスク303
Aが言語1の前ジョブの最終ページを処理中に、言語2
の印刷データを受信し、言語2・タスク303Bが現ジ
ョブを処理する場合であって、言語1・タスク303A
が格納した描画情報等でグローバルメモリ領域603の
一部が占有されているが言語2・タスク303Bが起動
するのに十分な空き領域がある場合について説明する。
Bのインタプリタ・タスク401Bは、PDLデータの
コマンドを1つ解釈する(ST701)。次に、コマン
ドが改ページコマンドまたはジョブ完了コマンドか否か
判定する(ST702)。改ページコマンドまたはジョ
ブ完了コマンドでなければ、情報格納エリアをグローバ
ルメモリ領域603に取得する必要があるか否か判定す
る(ST703)。ここで、情報格納エリアの取得が不
要である場合(例えば、用紙サイズコマンドや給紙カセ
ット指定コマンドなど)、ST701に戻って次のPD
Lコマンドの解釈を行う。
場合、インタプリタ・タスク401Bは、メモリ管理部
307のメモリ取得関数を呼び出し(ST704)、メ
モリ管理部307の戻り値を見る(ST705)。
は、呼び出しに応答して、メモリ取得関数の引数で指定
されたサイズの情報格納エリアの取得を試みる(ST8
01)。次いで、取得に成功するか否か判定する(ST
802)。
バルメモリ領域603に十分な空き領域があるので、メ
モリ管理部307はメモリ取得に成功する。そこで、メ
モリ管理部307は、インタプリタ・タスク401B
に、戻り値として、完了コード=OK、および、取得し
た情報格納エリアのポインタをセットし、これを返す
(ST803)。
01Bは、メモリ管理部307から戻り値を受け取る
と、完了コードがOKか否か判定する(ST705)。
ここでは、完了コードはOKであるので、情報格納エリ
アにページ情報や描画情報などの解釈の結果を格納する
(ST706)。そして、ST701に戻って、次のP
DLコマンドの解釈を開始する。
を繰り返し、PDLコマンドの解釈およびメモリへの格
納を行っていくが、ある時点でメモリフルが発生する。
以下その場合について説明する。
307は、グローバルメモリ領域603に必要なメモリ
サイズの空きがないので、情報格納エリアの取得に失敗
する。この場合、メモリ管理部307の前ジョブ判定に
より、別言語の前ジョブの描画情報がグローバルメモリ
領域603内にあるか否か判定する(ST804)。こ
の例では、言語1・タスク303Aがグローバルメモリ
領域603を占有しているので、メモリ管理部307が
前ジョブの完了を検知するまで、メモリ管理部307は
待機する(ST805)。
5に示す<Delete_DrawWork-b>関数あるいは<Del
ete_Job>関数の呼び出し、または、最終ページについ
ての−a<Delete_Page>あるいは−b<Delete_Dr
awWork-a>関数の呼び出しがあった場合である。
して、情報格納エリアの取得を再度試みる(ST80
1)。前ジョブが完了すれば言語1・タスク303Aは
占有していたメモリを解放し、グローバルメモリ領域6
03の空き領域は拡大しているので、情報格納エリアの
取得は成功し、ST803において、完了コードOKを
インタプリタ・タスク401Bに返す。
モリフルが発生した場合、前ジョブが完了するまでイン
タプリタ・タスク401Bへの応答を遅延させる。この
結果、インタプリタ・タスク401Bは、描画情報のメ
モリへの格納を前ジョブの完了まで待機することにな
る。
タスク401Bは、ST703で改ページコマンドまた
はジョブ完了コマンドがあるまで、PDLコマンドの解
釈(ST701〜ST706)を繰り返す。改ページコ
マンドまたはジョブ完了コマンドがあったならば、ラス
タライズ・タスク402Bに対してラスタライズを指示
する(ST707)。ラスタライズ・タスク402Bは
描画情報中のDLデータを画素データに変換する。その
後、インタプリタ・タスク402Bは、コマンドがジョ
ブ完了コマンドか否か判定する(ST708)。ジョブ
完了コマンドでない(改ページコマンドである)なら
ば、ST701に戻り、PDコマンドの解釈を続行す
る。一方、ジョブ完了コマンドであるならば、エンドジ
ョブフラグを立てる(ST709)。
いて排紙が完了するたびにグローバルメモリ領域603
の当該ページのページ情報および描画情報タイプAが占
有するメモリ領域を解放する。図9は、上記実施の形態
1に係るレーザビームプリンタにおける言語・タスクの
メモリ解放手順を示すフロー図である。言語2・タスク
303Bは、図5中で示す排紙完了通知をメイン・タ
スク304から受信すると(ST901)、メモリ管理
部307の<Delete_Page>関数、<Delete_DrawWork-a
>関数を順次呼び出す(ST902、ST903)。次
に、言語2・タスク303Bは、エンドジョブフラグが
ONか否か判定する(ST904)。エンドジョブフラ
グがONでなければ処理を完了するが、エンドジョブフ
ラグがONであれば、図5中で示すように、メイン・
タスク304にエンドジョブ通知を出し(ST90
5)、また、図中で示すように、メモリ管理部307
の<Delete_DrawWork-b>関数を呼び出す(ST90
6)。これにより、メモリ管理部307は、各ページの
排紙完了後に当該ページのページ情報および描画情報タ
イプAをメモリから削除する。また、ジョブが完了した
ときにジョブ情報、描画情報タイプBをメモリから削除
する。言語1・タスク303Aも同様のメモリ解放手順
を行っている。
を処理していないときに、メモリフルが発生した場合に
ついて説明する。この場合、図8中ST802で情報格
納エリアの取得に失敗し、さらに、ST804で前ジョ
ブ判定が別言語の前ジョブがないと判定するので、メモ
リ管理部307はインタプリタ・タスク401に対し
て、完了コード=NGをセットし、これを返す(ST8
06)。
プリタ・タスク401Bは、完了コード=OKでないと
判定し、異常対応動作へ移行する(ST710)。異常
対応動作としては、例えば、現在のページよりも前のペ
ージのDLデータがグローバルメモリ領域603に残っ
ている場合には、このページの印刷および排紙が完了し
た後、メモリの取得を再度試みる。また、現在のページ
のDLデータ中に画像データが含まれている場合には、
この画像データを例えば低解像度化したりより圧縮率の
高い画像フォーマットに変換するなどしてDLデータを
圧縮し、この圧縮後にメモリの取得を再度試みる。この
ような対処を行ってもメモリの取得が不可能であった場
合分割印刷を行う。分割印刷とは、メモリフルが発生す
るまでにDLデータへの翻訳が完了した描画単位につい
てのみラスタライズを行い、印刷を行う。印刷完了後D
Lデータ(描画情報タイプA)を消去して空き領域を確
保して、残りの描画単位を翻訳し、印刷を行う。このよ
うにして、メモリフルが発生しなければ1枚で印刷でき
た印刷データを、複数枚にわたって印刷することにな
る。
3Aが前ジョブを処理し、言語2・タスク303Bが現
ジョブを処理している場合について例示したが、反対
に、言語2・タスク303Bが前ジョブを処理し、言語
1・タスク303Aが現在タスクを処理している場合に
ついても全く同様である。
係るレーザビームプリンタ1における印刷処理におい
て、インタプリタ・タスクの翻訳処理中にメモリフルが
発生した場合、メモリ管理部307は、現ジョブと異な
る言語の前ジョブが存在したならば、前ジョブのエンド
ジョブを検知するまで応答を延期する。これにより、イ
ンタプリタ・タスクは、メモリフルが発生するとPDL
コマンドの解釈を待機し、前ジョブを処理する言語・タ
スクが占有する情報格納エリアを解放し、空き領域が拡
大した後翻訳処理を続行することになる。従来、現ジョ
ブを処理する言語・タスクは、メモリフルが発生した
際、異なる言語の前ジョブを処理する他の言語・タスク
がグローバルメモリ領域603を占有しているか、また
は当該言語・タスクが処理する印刷データが大きくグロ
ーバルメモリ領域603を占有しているかの区別をする
ことなく、異常対応処理を実行している。この場合に
は、同じ印刷データであっても現ジョブを実行するタイ
ミング(前ジョブの有無)によって異なる結果を生じ
る。しかしながら、上記実施の形態1によれば、前ジョ
ブが存在する場合には前ジョブが完了するまで現ジョブ
のPDLコマンドの解釈を待機し、他の言語・タスクが
グローバルメモリ領域603を解放した後解釈を続行す
るので、他の言語・タスクがグローバルメモリ領域60
3を占有している場合であっても、そうでいない場合で
あっても、同じ印刷データであれば印刷結果は同じにな
る。言い換えれば、1ページ分のページ情報および描画
情報でグローバルメモリ領域603が一杯にならない印
刷データであれば、いかなるタイミングでホスト装置か
ら印刷指示があっても、常に正常に印刷することが可能
になる。また、グローバルメモリ領域603に十分な空
き領域があれば、前ジョブの完了まで待機することなく
印刷を実行することができる。
タスクが切り替わる場合にメモリフルが発生するのを防
止する手段として、前ジョブの最終ページの排紙が完了
するまで、現ジョブの処理を開始するのを延期すること
(以下、比較例という)も考えられる。しかし、上記実
施の形態1は、この比較例に比べて、レーザビームプリ
ンタ1の全体の印刷速度が向上することができる。この
効果について、図10および図11を参照して説明す
る。図10(a)は上記実施の形態1における処理時間
およびメモリ占有量との関係を示す図であり、図10
(b)は比較例における処理経過とメモリ占有量との関
係を示す図である。図11(a)〜(e)は、上記実施
の形態1における図10(a)に示す各処理時間におけ
るメモリマップ図である。図11には、説明の便宜上、
DL群(描画情報タイプA)およびキャッシュフォント
(描画情報タイプB)だけを示す。
(a)に示すように、図10(a)に示す処理時間t1
0でグローバルメモリ領域603の75%を、言語1・
タスク303Aのフォントキャッシュ1001および前
ジョブの最終ページのDL群1002が占有している。
この状態で、言語2・タスク303Bが、グローバルメ
モリ領域603の空き領域1003を使って、現ジョブ
の1ページ目の解釈を開始する。そして、図11(b)
に示すように、処理時間t15で、言語2・タスク30
3Bのフォントキャッシュ1004およびDL群100
5が空き領域1003を全て占有し、メモリフルが発生
する。ここで、言語2・タスク303Bは解釈を待機さ
せる。処理時間t20において、前ジョブの排紙が完了
すると言語1・タスク303Aがフォントキャッシュ1
001およびDL群1002を削除し、グローバルメモ
リ領域603を解放し、図11(c)に示すように、7
5%の空き領域1003が生じる。ここで、言語2・タ
スク303Bが現ジョブの解釈を再開し、処理時間t2
5で解釈を完了すると、図11(d)に示すように、言
語2・タスク303Bのフォントキャッシュ1004お
よびDL群1005は、グローバルメモリ領域603の
50%を占有する。この後、図11(e)に示すよう
に、処理時間t35で排紙が完了すると、フォントキャ
ッシュ1004およびDL群1005を削除し、グロー
バルメモリ領域603を解放する。
(b)に示すように、処理時間t10でグローバルメモ
リ領域603を、言語1・タスク303Aのフォントキ
ャッシュ1001および前ジョブの最終ページのDL群
1002が占有している場合、言語2・タスク303B
は現ジョブの解釈を開始せずに待機している。そして、
処理時間t20で前ジョブの排紙が完了し言語1・タス
ク303Aがグローバルメモリ領域603を解放して初
めて、言語2・タスク303Bが現ジョブの解釈を開始
する。その後、言語2・タスク303Bは、処理時間t
30で現ジョブの解釈を完了し、処理時間t40で排紙
が完了すると、フォントキャッシュ1004およびDL
群1005を削除し、グローバルメモリ領域603を解
放する。このように、比較例では処理時間t40まで係
る印刷を、上記実施の形態1によれば、処理時間t15
で言語1・タスク303Aがグローバルメモリ領域60
3の一部を占有していても、言語2・タスク303Bが
現ジョブの解釈を開始するので、印刷完了を処理時間t
35まで短縮することができる。
レーザビームプリンタ1においてグローバルメモリ領域
603を効率良く使用すると共に、印刷の総所要時間を
短縮し、さらにレーザビームプリンタ1の信頼性を向上
することができる。
部307の内部処理により、言語2・タスク303Bの
インタプリタ・タスク401Bによる現ジョブの解釈
を、前ジョブの排紙完了まで待機している。これによ
り、現ジョブを処理する言語2・タスク303A(呼び
元)が前ジョブの言語が何であるかを調べたり、前ジョ
ブの情報を保持する必要がない。言語・タスクは、各ペ
ージ記述言語の開発元が配給することが多くプリンタメ
ーカーがこの中身を変更することは難しいことが多いの
で、言語・タスクを変更する必要がない点で、上記実施
の形態1は好適である。
05において、メモリ管理部307は、前ジョブのエン
ドジョブまで待機し、これにより、言語2・タスク30
3Bのインタプリタ・タスク401BのPDLコマンド
の解釈を遅延させている。しかしながら、言語1・タス
ク303Aがグローバルメモリ領域603を占有してい
るために、言語2・タスク303Bの処理中にメモリフ
ルが発生するケースは、上述のケースに限られない。例
えば、言語1・タスク303Aが、最終ページだけでな
く、それ以前のページのページ情報および描画情報タイ
プAをメモリに残している場合が考えられる。このよう
な場合、前ジョブのエンドジョブまで待たずに排紙完了
(<Delete_Page>関数および/または<Delete_DrawWo
rk-a>関数の呼び出し)があればインタプリタ401B
の解釈を再開するようにしても良い。
よりも前のジョブのジョブ情報、ページ情報および描画
情報をもメモリに残している場合も考えられる。この場
合、前ジョブのエンドジョブまで待たずに、それ以前の
ジョブのエンドジョブ(<Delete_Job>関数および/ま
たは<Delete_DrawWork-b>関数の呼び出し)があれば
インタプリタ401Bの解釈を再開するようにしても良
い。
がPDLコマンドの解釈中にメモリフルが発生したなら
ば、他の言語・タスクにおける前ジョブのエンドジョ
ブ、前ジョブの排紙完了、前ジョブ以前のジョブのエン
ドジョブなどのように他の言語・タスクがメモリを解放
するまで解釈を待機し、解放された空き領域を使って解
釈を再開することを主題の一つとするものである。
メモリ管理部307の内部処理により、言語2・タスク
303Bによる解釈を、前ジョブの排紙完了まで待機し
ている。本実施の形態2では、言語・タスク間で問合せ
を行い、現ジョブの解釈を前ジョブの排紙完了まで待機
させる場合について説明する。
ンタは、上記実施の形態1に係るレーザビームプリンタ
と実質的に同一のネットワーク構成、内部構造、ハード
ウエア構成、ソフトウエア構成からなる。よって、図1
〜図4を参照し、説明を省略する。
ーザビームプリンタ1における、主要なソフトウエア構
成のブロック図のうち、特に、メイン・タスク304お
よび言語・タスク303A、303Bに含まれる下位タ
スクを具体的に示したブロック図である。
態1と同様の構成については、同一の番号を付し、説明
を省略する。
1101を備えている。問合せタスク1101は、言語
1・タスク303Aに設けられた回答タスク1102に
対して、現在処理中のジョブがあるか否かを問い合わせ
る。問合せタスク1101は回答タスク1102から回
答があるまで問合せを行う。回答タスク1102は、言
語1・タスク303Aがエンドジョブを検知したならば
問合せタスク1101に対してジョブの完了を通知す
る。
するレーザビームプリンタ1がホスト装置から送信され
た印刷ジョブを処理するフローについて説明する。図1
3は、上記実施の形態2に係るレーザビームプリンタの
インタプリタ・タスクの印刷処理手順を示すフロー図で
ある。
401Bも、上記実施の形態1と同様に、ST701〜
ST706の手順を繰り返し、PDLコマンドを1つづ
つ解釈する。メモリフルが発生し、ST705において
メモリ管理部307から応答が完了コード=NGであっ
た場合、問合せタスク1101に、言語1・タスク30
3Aの回答タスク1102に対して問合せを行わせる
(ST1201)。次に、回答タスク1102からの回
答に基いて言語1・タスク303Aが前ジョブを処理中
か否か判定する(ST1202)。
ブの処理中であると判定した場合、インタプリタ・タス
ク401Bは、一定時間待機し(ST1203)、再び
言語1・タスク303Aに問合せを行い、言語1・タス
ク303Aが前ジョブを処理中か否か判定する(ST1
201、ST1202)。このようにして、インタプリ
タ・タスク401Bは、言語1・タスク303Aが前ジ
ョブを完了するまで、言い換えれば前ジョブの最終ペー
ジの排紙が完了する(エンドジョブ)まで待機する。
したならば、インタプリタ・タスク401Bは、メモリ
取得関数を再び呼び出す(ST704)。次に、メモリ
管理部307は、完了コードがOKか否か判定する(S
T705)。ここで、言語1・タスク303Aが前ジョ
ブの処理を完了し、描画情報エリアを解放しているの
で、メモリフルを発生することなく、メモリ管理部30
7は、言語2・タスク303Bのための描画情報エリア
を取得することができる。従って、メモリ管理部307
からの応答は完了コード=OKであるので、インタプリ
タ・タスク401Bは、ST706に進み、描画情報を
メモリに格納する。
を処理していないときに、メモリフルが発生した場合に
ついて説明する。この場合、ST705において、メモ
リ管理部307からの完了コードはNGであるので、S
T1201に進み、問合せタスク1101に言語1・タ
スク303Aに対して問合せを行わせる。しかし、言語
1・タスク303Aは処理中でないので、問合せタスク
1101は、回答タスク1102からジョブ処理中でな
い旨の回答を受信する。この場合、言語2・タスク30
3Bは、現在処理中の印刷データが大きいためにグロー
バルメモリ領域603を自ら占有しているので、インタ
プリタ・タスク401Bは待機していてもメモリに空き
は生じない。そこで、インタプリタ・タスク401B
は、ST1204に進み、異常対応処理を実行する。
3Aが前ジョブを処理し、言語2・タスク303Bが現
ジョブを処理している場合について例示したが、反対
に、言語2・タスク303Bが前ジョブを処理し、言語
1・タスク303Aが現在タスクを処理している場合に
ついても全く同様である。すなわち、言語1・タスク3
03Aおよび言語2・タスク303Bは、問合せタスク
1101および回答タスク1102の両方を備え、相互
に問合せおよび回答を行うようになっている。
係るレーザビームプリンタ1における印刷処理におい
て、言語2・タスク303Bのインタプリタ・タスク4
01Bは、メモリ管理部307が完了コード=NGを返
してきた場合、すなわち、メモリフルが発生した場合、
言語1・タスク303Aに問合せを行い、言語1・タス
ク303Aが前ジョブを処理中か否かを調べ、言語1・
タスク303Aが前ジョブを処理中であるならば処理が
完了するまで描画情報のメモリへの格納を遅らせる。こ
れにより、インタプリタ・タスク401Bは、メモリフ
ルが発生するとPDLコマンドの解釈を待機し、前ジョ
ブを処理する言語1・タスク303Aが占有する描画情
報エリアを解放し空き領域が拡大した後、解釈を続行す
ることになる。この結果、異なる言語の前ジョブを処理
する他の言語・タスクがグローバルメモリ領域603を
占有している場合であっても占有していない場合であっ
ても、同じ印刷データを正常に印刷することができる。
また、グローバルメモリ領域603に十分な空き領域が
あれば、前ジョブの完了まで待機することなく印刷を実
行することができる。
実施の形態1と同様に、レーザビームプリンタ1におい
てグローバルメモリ領域603を効率良く使用すると共
に、印刷の総所要時間を短縮し、さらにレーザビームプ
リンタ1の信頼性を向上することができる。
スク303A、言語2・タスク303Bの間で問合せ/
回答を行うことで、言語2・タスク303Bのインタプ
リタ・タスク401Bによる現ジョブの解釈を、前ジョ
ブの完了まで待機している。これにより、メモリ管理部
307は変更する必要がないので従来と同様の仕様で済
む。
03Bは言語1・タスク303Aに問合せを行い、言語
1・タスク303Bから前ジョブを完了した旨の回答を
受けたならば、言語2・タスク303BはPDLコマン
ドの解釈を再開している。しかし、本発明はこれに限定
されるものではなく、例えば、実施の形態1で説明した
ように、排紙完了のように1ページの印刷が完了したこ
と、2つ以上前のジョブが完了したこと等を、言語1・
タスク303Aへ問合せ、その回答があったならば解釈
を再開するようにしても良い。さらに、言語1・タスク
303Aへメモリ使用量を問合せ、その値が減少したな
らば解釈を再開するようにしても良い。
がPDLコマンドの解釈中にメモリフルが発生したなら
ば、他の言語・タスクとの間で問合せおよび回答を行
い、他の言語・タスクでのメモリを解放し得るステータ
ス変化を検知し、解放された空き領域を使って解釈を再
開することを主題の一つとするものである。このよう
に、一の言語・タスクは、他の言語・タスクがメモリを
解放したことを必ずしも直接的に検知する必要はなく、
メモリを解放し得るステータス変化があれば良い。しか
し、他の言語・タスクがメモリを解放したことを直接的
に検知することも本発明の範囲内であることは言うまで
もない。
れるものではなく、本発明の要旨を逸脱しない範囲内に
おいて種々変更を加え得ることとができる。例えば、上
記実施の形態1、2では、一の言語・タスクは、メモリ
フルが発生したならば1ページの印刷完了またはジョブ
の印刷完了で他の言語・タスクがメモリを解放するまで
解釈を待機している。しかし、他の言語・タスクは、例
えばマクロのように複数のジョブにわたって使用するデ
ータをメモリに格納している場合がある。このデータは
他の言語・タスクによる指示があるまで削除されず、メ
モリを占有している。そこで、一の言語・タスクがPD
Lデータの解釈中にメモリフルが発生した場合、他の言
語・タスクに対してこのようなメモリの解放を要求し、
他の言語・タスクがメモリを解放するまで解釈を待機す
るようにすることができる。この場合、必ずしも他の言
語・タスクがジョブの処理中でなくても良い。
は、レーザビームプリンタを例に挙げて説明している
が、本発明は、ページプリンタ一般に適用することがで
きる。また、本発明は、複写機、ファクシミリ装置、イ
ンターネットファクシミリ装置、複合機などのように、
画像形成装置を搭載した各種機器に適用することができ
る。
に、上記実施の形態に記載した技術に従ってプログラム
された一般的な市販のデジタルコンピュータおよびマイ
クロプロセッサを使って実施することができる。また、
当業者に明らかなように、本発明は、上記実施の形態に
記載した技術に基いて当業者により作成されるソフトウ
エアを包含する。
ログラムするために使用できる命令を含む記憶媒体であ
るコンピュータプログラム製品が本発明の範囲に含まれ
る。この記憶媒体は、フロッピーディスク、光ディス
ク、CDROMおよび磁気ディスク等のディスク、RO
M、RAM、EPROM、EEPROM、磁気又は光カ
ード等であるが、特にこれらに限定されるものではな
い。
ってメモリ領域を占有している場合であってもページ記
述言語の解釈を行い、メモリ領域に空き領域が不足した
ならば他の解釈手段がメモリ領域を解放するまで解釈を
待機するので、同一の印刷データがホスト装置からの指
示のタイミングによって異なる印刷結果となるのを防止
することができ、この結果、画像処理装置においてメモ
リを効率良く使用すると共に、処理時間を短縮し、さら
に画像処理装置の信頼性を向上できるという効果を奏す
る。
ンタが動作するネットワークを示す概略図
の内部構造図
のプリンタコントローラを示すブロック図
1のソフトウエア構成を示すブロック図
における、各タスクとメモリ管理部との関係を示したブ
ロック図
におけるメインメモリのメモリマップを示す図
のインタプリタ・タスクの解釈処理手順を示すフロー図
のメモリ管理部でのメモリ取得手順を示すフロー図
における言語・タスクのメモリ解放手順を示すフロー図
およびメモリ占有量との関係を示す図、(b)は比較例
における処理経過とメモリ占有量との関係を示す図
レーザビームプリンタにおける各処理時間でのメモリマ
ップ図
リンタにおけるソフトウエア構成のブロック図
タのインタプリタ・タスクの印刷処理手順を示すフロー
図
Claims (11)
- 【請求項1】 同一のメモリ領域内に描画ワークエリア
を夫々展開する、相異なるページ記述言語を解釈して画
素データを生成する複数の解釈手段とを備えた画像処理
装置であって、一の解釈手段が解釈中に前記メモリ領域
内の空き領域が不足したならば、他の解釈手段がメモリ
を使用しているか否かを判定し、使用していれば他の解
釈手段がメモリを解放した後で空き領域の確保を行い、
他の解釈手段がメモリを使用していなくて一の解釈手段
による前ページの排紙が終了していない場合は前ページ
の排紙終了後に一の解釈手段による空き領域の確保を行
い、他の解釈手段がメモリを使用していなくて一の解釈
手段による前ページの排紙が終了している場合は前記メ
モリ領域に格納するデータを圧縮して一の解釈手段によ
る空き領域の確保を行い、これによっても空き領域が確
保できなかった場合は分割印刷を行うことを特徴とする
画像処理装置。 - 【請求項2】 同一のメモリ領域内に描画ワークエリア
を夫々展開する、相異なるページ記述言語を解釈して画
素データを生成する複数の解釈手段とを備えた画像処理
装置であって、一の解釈手段が解釈中にデータを格納す
るに際して描画ワークエリアに十分な空き領域がない場
合、他の解釈手段に対して前記描画ワークエリアとして
メモリ領域の一部を占有しているか否か問合せ、前記他
の解釈手段から前記メモリ領域の一部を占有している旨
の回答を得た場合は所定時間後に一の解釈手段による空
き領域の確保を行い、占有していない旨の回答を得たう
えで一の解釈手段による前ページの排紙が終了していな
い場合は排紙終了後に一の解釈手段による空き領域の確
保を行い、占有していない旨の回答を得たうえで一の解
釈手段による前ページの排紙が終了している場合は前記
格納するデータを圧縮して一の解釈手段による空き領域
の確保を行い、これによっても空き領域が確保できなか
った場合は分割印刷を行うことを特徴とする画像処理装
置。 - 【請求項3】 同一のメモリ領域内に描画ワークエリア
を夫々展開する、相異なるページ記述言語を解釈して画
素データを生成する複数の解釈手段とを備えた画像処理
装置であって、一の解釈手段が解釈中にデータを格納す
るに際して描画ワークエリアに十分な空き領域がない場
合、他の解釈手段に対して前記描画ワークエリアとして
メモリ領域の一部を占有しているか否か判定し、前記他
の解釈手段が前記メモリ領域の一部を占有している場合
前記他の解釈手段が前記描画ワークエリアを解放し得る
ような前記解釈手段のステータス変化を検知したときに
一の解釈手段による空き領域の確保を行い、占有してい
なくて一の解釈手段による前ページの排紙が終了してい
ない場合は排紙終了後に一の解釈手段による空き領域の
確保を行い、占有していなくて一の解釈手段による前ペ
ージの排紙が終了している場合は前記格納するデータを
圧縮して一の解釈手段による空き領域の確保を行い、こ
れによっても空き領域が確保できなかった場合に分割印
刷を行うことを特徴とする画像処理装置。 - 【請求項4】 解釈手段は、ページ記述言語を中間言語
に翻訳する翻訳手段と、前記中間言語を画素データに変
換する画素変換手段とで構成され、前記翻訳手段は、前
記中間言語を前記描画ワークエリアに蓄積し、前記中間
言語が不要になった後前記中間言語を削除して前記描画
ワークエリアを解放することを特徴とする請求項1から
請求項3のいずれかに記載の画像処理装置。 - 【請求項5】 請求項1から請求項4のいずれかに記載
の画像処理装置を搭載した印刷装置。 - 【請求項6】 同一のメモリ領域内に描画ワークエリア
を夫々展開する、相異なるページ記述言語を解釈して画
素データを生成する複数の解釈手段とを備えた画像処理
装置の制御方法であって、一の解釈手段が解釈中に前記
メモリ領域内の空き領域が不足したならば、他の解釈手
段がメモリを使用しているか否かを判定し、使用してい
れば他の解釈手段がメモリを解放した後で空き領域の確
保を行い、他の解釈手段がメモリを使用していなくて一
の解釈手段による前ページの排紙が終了していない場合
は前ページの排紙終了後に一の解釈手段による空き領域
の確保を行い、他の解釈手段がメモリを使用していなく
て一の解釈手段による前ページの排紙が終了している場
合は前記メモリ領域に格納するデータを圧縮して一の解
釈手段による空き領域の確保を行い、これによっても空
き領域が確保できなかった場合は分割印刷を行うことを
特徴とする画像処理装置の制御方法。 - 【請求項7】 同一のメモリ領域内に描画ワークエリア
を夫々展開する、相異なるページ記述言語を解釈して画
素データを生成する複数の解釈手段とを備えた画像処理
装置の制御方法であって、一の解釈手段が解釈中にデー
タを格納するに際して描画ワークエリアに十分な空き領
域がない場合、他の解釈手段に対して前記描画ワークエ
リアとしてメモリ領域の一部を占有しているか否か問合
せ、前記他の解釈手段から前記メモリ領域の一部を占有
している旨の回答を得た場合は所定時間後に一の解釈手
段による空き領域の確保を行い、占有していない旨の回
答を得たうえで一の解釈手段による前ページの排紙が終
了していない場合は排紙終了後に一の解釈手段による空
き領域の確保を行い、占有していない旨の回答を得たう
えで一の解釈手段による前ページの排紙が終了している
場合は前記格納するデータを圧縮して一の解釈手段によ
る空き領域の確保を行い、これによっても空き領域が確
保できなかった場合は分割印刷を行うことを特徴とする
画像処理装置の制御方法。 - 【請求項8】 同一のメモリ領域内に描画ワークエリア
を夫々展開する、相異なるページ記述言語を解釈して画
素データを生成する複数の解釈手段とを備えた画像処理
装置の制御方法であって、一の解釈手段が解釈中にデー
タを格納するに際して描画ワークエリアに十分な空き領
域がない場合、他の解釈手段に対して前記描画ワークエ
リアとしてメモリ領域の一部を占有しているか否か判定
し、前記他の解釈手段が前記メモリ領域の一部を占有し
ている場合前記他の解釈手段が前記描画ワークエリアを
解放し得るような前記解釈手段のステータス変化を検知
したときに一の解釈手段による空き領域の確保を行い、
占有していなくて一の解釈手段による前ページの排紙が
終了していない場合は排紙終了後に一の解釈手段による
空き領域の確保を行い、占有していなくて一の解釈手段
による前ページの排紙が終了している場合は前記格納す
るデータを圧縮して一の解釈手段による空き領域の確保
を行い、これによっても空き領域が確保できなかった場
合に分割印刷を行うことを特徴とする画像処理装置の制
御方法。 - 【請求項9】 同一のメモリ領域内に描画ワークエリア
を夫々展開する、相異なるページ記述言語を解釈して画
素データを生成する複数の解釈手段とを備えた画像処理
装置のプログラムであって、一の解釈手段が解釈中に前
記メモリ領域内の空き領域が不足したならば、他の解釈
手段がメモリを使用しているか否かを判定し、使用して
いれば他の解釈手段がメモリを解放した後で空き領域の
確保を行い、他の解釈手段がメモリを使用していなくて
一の解釈手段による前ページの 排紙が終了していない場
合は前ページの排紙終了後に一の解釈手段による空き領
域の確保を行い、他の解釈手段がメモリを使用していな
くて一の解釈手段による前ページの排紙が終了している
場合は前記メモリ領域に格納するデータを圧縮して一の
解釈手段による空き領域の確保を行い、これによっても
空き領域が確保できなかった場合は分割印刷を行うプロ
グラムを記録したコンピュータ読み取り可能な記憶媒
体。 - 【請求項10】 同一のメモリ領域内に描画ワークエリ
アを夫々展開する、相異なるページ記述言語を解釈して
画素データを生成する複数の解釈手段とを備えた画像処
理装置のプログラムであって、一の解釈手段が解釈中に
データを格納するに際して描画ワークエリアに十分な空
き領域がない場合、他の解釈手段に対して前記描画ワー
クエリアとしてメモリ領域の一部を占有しているか否か
問合せ、前記他の解釈手段から前記メモリ領域の一部を
占有している旨の回答を得た場合は所定時間後に一の解
釈手段による空き領域の確保を行い、占有していない旨
の回答を得たうえで一の解釈手段による前ページの排紙
が終了していない場合は排紙終了後に一の解釈手段によ
る空き領域の確保を行い、占有していない旨の回答を得
たうえで一の解釈手段による前ページの排紙が終了して
いる場合は前記格納するデータを圧縮して一の解釈手段
による空き領域の確保を行い、これによっても空き領域
が確保できなかった場合は分割印刷を行うプログラムを
記録したコンピュータ読み取り可能な記憶媒体。 - 【請求項11】 同一のメモリ領域内に描画ワークエリ
アを夫々展開する、相異なるページ記述言語を解釈して
画素データを生成する複数の解釈手段とを備えた画像処
理装置のプログラムであって、一の解釈手段が解釈中に
データを格納するに際して描画ワークエリアに十分な空
き領域がない場合、他の解釈手段に対して前記描画ワー
クエリアとしてメモリ領域の一部を占有しているか否か
判定し、前記他の解釈手段が前記メモリ領域の一部を占
有している場合前記他の解釈手段が前記描画ワークエリ
アを解放し得るような前記解釈手段のステータス変化を
検知したときに一の解釈手段による空き領域の確保を行
い、占有していなくて一の解釈手段による前ページの排
紙が終了していない場合は排紙終了後に一の解釈手段に
よる空き領域の確保を行い、占有していなくて一の解釈
手段による前ペー ジの排紙が終了している場合は前記格
納するデータを圧縮して一の解釈手段による空き領域の
確保を行い、これによっても空き領域が確保できなかっ
た場合に分割印刷を行うプログラムを記録したコンピュ
ータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000041749A JP3373476B2 (ja) | 2000-02-18 | 2000-02-18 | 画像処理装置およびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000041749A JP3373476B2 (ja) | 2000-02-18 | 2000-02-18 | 画像処理装置およびその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001228991A JP2001228991A (ja) | 2001-08-24 |
JP3373476B2 true JP3373476B2 (ja) | 2003-02-04 |
Family
ID=18564927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000041749A Expired - Fee Related JP3373476B2 (ja) | 2000-02-18 | 2000-02-18 | 画像処理装置およびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3373476B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005545A (ja) | 2002-04-12 | 2004-01-08 | Canon Inc | ジョブ管理装置、ジョブ管理方法、制御プログラム、及びジョブ管理システム |
JP4371128B2 (ja) | 2006-07-24 | 2009-11-25 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置、画像形成方法及びプログラム |
JP4942179B2 (ja) * | 2006-12-11 | 2012-05-30 | キヤノン株式会社 | 印刷制御装置及びその制御方法及びデバイスドライバ |
JP4500326B2 (ja) * | 2007-05-28 | 2010-07-14 | 株式会社リコー | プロセス間通信プログラムおよび画像情報処理装置 |
JP4957816B2 (ja) * | 2010-02-03 | 2012-06-20 | ブラザー工業株式会社 | Pdlデータ処理装置とpdlデータ処理プログラム |
JP5392153B2 (ja) * | 2010-03-11 | 2014-01-22 | コニカミノルタ株式会社 | 画像処理装置、画像処理方法及びプログラム |
-
2000
- 2000-02-18 JP JP2000041749A patent/JP3373476B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001228991A (ja) | 2001-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4817474B2 (ja) | データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体 | |
US7158243B2 (en) | Printing apparatus and printing system, control method, storage medium and program | |
JP5839845B2 (ja) | 印刷装置、印刷方法及びプログラム | |
JP3265573B2 (ja) | 印刷システム及びプリンタ | |
US20060028678A1 (en) | Image processing apparatus and its control method | |
JP3903024B2 (ja) | 出力管理方法及び情報処理装置 | |
US20050286078A1 (en) | Print control device and method for automatically resuming a printing operation of remaining pages | |
US20110255126A1 (en) | Printing apparatus, print processing method, and program | |
JP3452247B2 (ja) | プリンタ、プリンタの制御方法およびプログラムを記録した記録媒体 | |
JP3757847B2 (ja) | スプールファイル加工装置、プログラム及び記録媒体 | |
JP4543945B2 (ja) | 印刷システムおよびその制御方法および印刷管理プログラム | |
JP3373476B2 (ja) | 画像処理装置およびその制御方法 | |
US6226095B1 (en) | Image processing apparatus, method, and system | |
US7099021B2 (en) | Multifunction printer | |
JPH09311770A (ja) | 情報処理装置、印刷装置およびその印刷制御方法 | |
JP4770949B2 (ja) | 画像形成システム、情報処理装置、プリントサーバ、画像形成装置、画像形成補助プログラム、および印字制御方法 | |
JP2000224414A (ja) | 情報処理システム及びその制御方法、情報処理装置及びその制御方法、コンピュータ可読メモリ | |
US20070288667A1 (en) | Removable Media Device and Data Control Method | |
US7061639B2 (en) | Apparatus and method for scanning a copy job when a print path is not available | |
JP2001159961A (ja) | 印刷制御装置、方法および印刷システム | |
JP3951114B2 (ja) | 計算機,プリントサーバ,プリンタ及びそれらを用いた印刷システム。 | |
US6701384B1 (en) | Image output method and system with a function to change a received print condition | |
JP3406556B2 (ja) | バンド処理装置及び印刷装置 | |
JP3575265B2 (ja) | 印刷用紙の給排紙制御方法及び印刷システム | |
JP2005174225A (ja) | 情報処理装置、印刷システム、情報処理方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071122 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081122 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091122 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091122 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091122 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101122 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111122 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |