(57)【要約】【課題】複数のページ記述言語を起動させて少ないワークメモリ容量によりページ記述言語を切り替えながら印刷できるようにする。【解決手段】ＣＰＵ２４は、ＰＤＬ起動時に使用可能な全てのＰＤＬのワークメモリをＲＡＭ２１に確保する。最初にＰＤＬ１を起動させると、ワークメモリの中でＰＤＬ１用ワーク領域が確保され、これを用いて印刷用データを作成し、ＰＤＬ１の印刷をプリンタエンジン４０により開始する。割り込み印刷要求があると、ＣＰＵ２４は、ＰＤＬ２を起動させると、ワークメモリの中でＰＤＬ２用ワーク領域を確保し、これを用いて印刷用データを作成し、ＰＤＬ２の印刷をプリンタエンジン４０により開始する。【選択図】        図１
2009220457.tif 000002
【特許請求の範囲】
【請求項１】
複数のページ記述言語を起動することが可能な起動手段と、
使用可能な全てのページ記述言語のワークメモリを起動時に確保するワークメモリ確保手段と、
確保したワークメモリのうち起動したページ記述言語毎のワーク領域に分配するワーク領域分配手段と、
起動したページ記述言語を使い分配されたワーク領域を利用して印刷データを作成する印刷データ作成手段と、
印刷データを出力する出力手段と、
を備えたことを特徴とする画像形成装置。
【請求項２】
前記ワーク領域分配手段は、前記ワーク領域を分配する際に、ワークメモリ内のデータを保存する保存領域を作成する保存領域作成手段をさらに備え、
前記出力手段で印刷中に他のページ記述言語を起動して作成した印刷データによる割り込み印刷があった場合は、割り込まれたページ記述言語のワーク領域内のデータを圧縮して保存領域に移動させることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
割り込まれたページ記述言語を使って印刷を再開する場合は、前記保存領域に圧縮されたデータをワークメモリ上に展開することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記保存領域に圧縮されたデータをワークメモリ上に展開するタイミングは、割り込んだページ記述言語の印刷終了時であることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
一時的にワークメモリ内のデータを待避させる不揮発性記憶媒体をさらに備え、
前記ワークメモリ確保手段は、前記複数のページ記述言語のうち一つのページ記述言語が必要なワークメモリのみを確保し、これと異なるページ記述言語を使って割り込む場合は、ワークメモリのデータを前記不揮発性記憶媒体に保存させた後、当該ワークメモリを使うことを特徴とする請求項１〜４のいずれか一つに記載の画像形成装置。
【請求項６】
前記不揮発性記憶媒体に保存されたワークメモリ内のデータは、割り込まれたページ記述言語の印刷を再開するときにワークメモリ上に展開し直すことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記複数のページ記述言語のうち一つのページ記述言語が必要なワークメモリのみを確保して印刷を行い、印刷終了後にこれと異なるページ記述言語に切り替える場合は、ワークメモリ内のデータを前記不揮発性記憶媒体に保存させてから当該ワークメモリを使い、切り替え前のページ記述言語に復帰する場合は、前記不揮発性記憶媒体に記憶させたデータをワークメモリ上に展開することを特徴とする請求項５に記載の画像形成装置。
【請求項８】
前記ワークメモリ確保手段で確保したワークメモリを前記ワーク領域分配手段により使用するページ記述言語毎のワーク領域に分配する際に、前記複数のページ記述言語のうち一つのページ記述言語が必要なワーク領域と、そのワーク領域内のデータを保存する保存領域とを確保して印刷を行い、印刷終了後にこれと異なるページ記述言語に切り替える場合は、ワーク領域内のデータを前記保存領域に保存させてから当該ワーク領域を使い、切り替え前のページ記述言語に復帰する場合は、前記保存領域に保存したデータをワーク領域上に展開することを特徴とする請求項２に記載の画像形成装置。
【請求項９】
前記不揮発性記憶媒体に保存されるデータは、フォントデータあるいは複数のページ記述言語の情報を含むことを特徴とする請求項７に記載の画像形成装置。
【請求項１０】
前記保存領域に保存されるデータは、フォントデータあるいは複数のページ記述言語の情報を含むことを特徴とする請求項８に記載の画像形成装置。
【請求項１１】
複数のページ記述言語を起動させる起動ステップと、
使用可能な全てのページ記述言語のワークメモリを起動時に確保するワークメモリ確保ステップと、
確保したワークメモリのうち起動したページ記述言語毎のワーク領域に分配するワーク領域分配ステップと、
起動したページ記述言語を使い分配されたワーク領域を利用して印刷データを作成する印刷データ作成ステップと、
作成された印刷データを用いて印刷を行う印刷ステップと、
を含むことを特徴とする画像形成方法。
【請求項１２】
請求項１１に記載の画像形成方法の各ステップをコンピュータに実行させることを特徴とするコンピュータが実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像形成装置、画像形成方法、プログラムに関し、複数のページ記述言語を起動し確保したワークメモリを用いてページ記述言語により印刷データを作成する画像形成装置、画像形成方法、およびその方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
近年、例えば特許文献１に見られるように、プリンタで印刷出力中にスキャナから割込み要求が行われると、印刷出力中の印刷ジョブの画像データをメモリの消費率に応じて割込み処理をするための使用可能容量を算出し、割り込みジョブがメモリに展開できない場合は、印刷ジョブの画像データをスキャナのＨＤＤ等の記憶媒体に一時的に待避させ、割り込みジョブ終了後に待避させた画像データをメモリに展開して印刷出力する画像形成システムおよび割り込み処理方法および印刷装置が提案されている。
【０００３】
【特許文献１】特開２００７−３０２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１にあっては、プリンタで印刷出力中にスキャナからの割り込みが発生した場合に、画像データを記憶するプリンタメモリの容量に余裕がないと割り込み印刷を行うことができない。このため、割り込まれた側のジョブデータを一時的に別のメモリに待避させ、割り込み終了後に復帰させるといったプリンタメモリ内における画像データの管理方法に関する発明である。
【０００５】
これに対し、複数のページ記述言語を起動させ、これらのページ記述言語の中から所望のページ記述言語を使って印刷データを作成するには、作業領域であるワークメモリ、およびそのワークメモリ上にダウンロードされたフォント情報などを待避させるためのワークメモリ用のデータ管理が必要になってくる。
【０００６】
本発明は、上記に鑑みてなされたものであって、複数のページ記述言語を起動させて、少ないワークメモリ容量によりページ記述言語を切り替えながら印刷することのできる画像形成装置、画像形成方法、およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、複数のページ記述言語を起動することが可能な起動手段と、使用可能な全てのページ記述言語のワークメモリを起動時に確保するワークメモリ確保手段と、確保したワークメモリのうち起動したページ記述言語毎のワーク領域に分配するワーク領域分配手段と、起動したページ記述言語を使い分配されたワーク領域を利用して印刷データを作成する印刷データ作成手段と、印刷データを出力する出力手段と、を備えたことを特徴とする。
【０００８】
また、請求項２にかかる発明は、請求項１に記載の画像形成装置であって、前記ワーク領域分配手段は、前記ワーク領域を分配する際に、ワークメモリ内のデータを保存する保存領域を作成する保存領域作成手段をさらに備え、前記出力手段で出力中に他のページ記述言語を起動して作成した印刷データによる割り込み印刷があった場合は、割り込まれたページ記述言語のワーク領域内のデータを圧縮して保存領域に移動させることを特徴とする。
【０００９】
また、請求項３にかかる発明は、請求項２に記載の画像形成装置であって、割り込まれたページ記述言語を使って印刷を再開する場合は、前記保存領域に圧縮されたデータをワークメモリ上に展開することを特徴とする。
【００１０】
また、請求項４にかかる発明は、請求項３に記載の画像形成装置であって、前記保存領域に圧縮されたデータをワークメモリ上に展開するタイミングは、割り込んだページ記述言語の印刷終了時であることを特徴とする。
【００１１】
また、請求項５にかかる発明は、１〜４のいずれか一つに記載の画像形成装置であって、一時的にワークメモリ内のデータを待避させる不揮発性記憶媒体をさらに備え、前記ワークメモリ確保手段は、前記複数のページ記述言語のうち一つのページ記述言語が必要なワークメモリのみを確保し、これと異なるページ記述言語を使って割り込む場合は、ワークメモリ内のデータを前記不揮発性記憶媒体に保存させた後、当該ワークメモリを使うことを特徴とする。
【００１２】
また、請求項６にかかる発明は、請求項５に記載の画像形成装置であって、前記不揮発性記憶媒体に保存されたワークメモリ内のデータは、割り込まれたページ記述言語の印刷を再開するときにワークメモリ上に展開し直すことを特徴とする。
【００１３】
また、請求項７にかかる発明は、請求項５に記載の画像形成装置であって、前記複数のページ記述言語のうち一つのページ記述言語が必要なワークメモリのみを確保して印刷を行い、印刷終了後にこれと異なるページ記述言語に切り替える場合は、ワークメモリ内のデータを前記不揮発性記憶媒体に保存させてから当該ワークメモリを使い、切り替え前のページ記述言語に復帰する場合は、前記不揮発性記憶媒体に記憶させたデータをワークメモリ上に展開することを特徴とする。
【００１４】
また、請求項８にかかる発明は、請求項２に記載の画像形成装置であって、前記ワークメモリ確保手段で確保したワークメモリを前記ワーク領域分配手段により使用するページ記述言語毎のワーク領域に分配する際に、前記複数のページ記述言語のうち一つのページ記述言語が必要なワーク領域と、そのワーク領域内のデータを保存する保存領域とを確保して印刷を行い、印刷終了後にこれと異なるページ記述言語に切り替える場合は、ワーク領域内のデータを前記保存領域に保存させてから当該ワーク領域を使い、切り替え前のページ記述言語に復帰する場合は、前記保存領域に保存したデータをワーク領域上に展開することを特徴とする。
【００１５】
また、請求項９にかかる発明は、請求項７に記載の画像形成装置であって、前記不揮発性記憶媒体に保存されるデータは、フォントデータあるいは複数のページ記述言語の情報を含むことを特徴とする。
【００１６】
また、請求項１０にかかる発明は、請求項８に記載の画像形成装置であって、前記保存領域に保存されるデータは、フォントデータあるいは複数のページ記述言語の情報を含むことを特徴とする。
【００１７】
上述した課題を解決し、目的を達成するために、請求項１１にかかる発明は、複数のページ記述言語を起動させる起動ステップと、使用可能な全てのページ記述言語のワークメモリを起動時に確保するワークメモリ確保ステップと、確保したワークメモリのうち起動したページ記述言語毎のワーク領域に分配するワーク領域分配ステップと、起動したページ記述言語を使い分配されたワーク領域を利用して印刷データを作成する印刷データ作成ステップと、作成された印刷データを用いて印刷を行う印刷ステップと、を含むことを特徴とする。
【００１８】
上述した課題を解決し、目的を達成するために、請求項１２にかかる発明は、請求項１１に記載の画像形成方法の各ステップをコンピュータに実行させることを特徴とするコンピュータが実行するためのプログラムである。
【発明の効果】
【００１９】
本発明によれば、起動手段により複数のページ記述言語を起動させ、起動時にワークメモリ確保手段により使用可能な全てのページ記述言語のワークメモリを確保し、ワーク領域分配手段により確保したワークメモリのうち起動したページ記述言語毎のワーク領域に分配し、印刷データ作成手段により起動したページ記述言語を使って分配されたワーク領域を利用して印刷データを作成し、出力手段により印刷データを出力する。このように、複数のページ記述言語の起動が可能な場合は、使用可能な全てのページ記述言語のワークメモリを確保し、その確保したワークメモリのうち起動したページ記述言語毎のワーク領域に分配されるため、全てのページ記述言語のワークメモリ領域が確保されていることから、複数のページ記述言語を同時に起動することも可能であり、また、ページ記述言語を切り替えながら使用する際のオーバーヘッドも削減できるという効果を奏する。また、使用可能な全てのページ記述言語のワークメモリを確保することから、複数のページ記述言語を使用する場合の必要最低限度のワークメモリ容量とすることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、この発明にかかる画像形成装置、画像形成方法、およびその方法をコンピュータに実行させるプログラムの最良な実施の形態を詳細に説明する。なお、この画像形成装置としては、複写機、プリンタ、ファクシミリ装置の単体、あるいはそれらにスキャナ機能を複合したデジタル複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などを用いることができる。
【００２１】
図１は、本発明の実施の形態にかかる画像形成装置の概略構成を説明するブロック図である。図１に示す画像形成装置は、プリンタ１０であり、このプリンタ１０とホストコンピュータ（ホストＰＣ）７０とがネットワーク８０を介して接続されている。プリンタ１０のハードウェア構成は、コントローラ２０、プリンタエンジン４０、ＳＤＩ／Ｆ５０、カードＩ／Ｆ６０などを備えている。また、コントローラ２０は、ＲＡＭ２１、ＲＯＭ２２、フォントＲＯＭ２３、ＣＰＵ２４、ＡＳＩＣ２５、エンジンＩ／Ｆ２６、ホストＩ／Ｆ２７、ＨＤＤ２８、ＮＩＣ２９、タイマ３０などにより構成されている。
【００２２】
コントローラ２０は、実際のページ記述言語により変換された印刷デ−タを、本体もしくはドライバなどにより設定された印刷補正モ−ドの条件下で、ビデオデ−タに変換してプリンタエンジン４０へ出力する装置の総称であり、以下のようなモジュ−ル構成を持っている。
【００２３】
ＲＡＭ２１は、ＣＰＵ２４が処理を行う際のワークメモリである。また、ホストＰＣ７０からのデ−タをページ単位で管理して一時的に記憶するバッファ、あるいはバッファに記憶されたデータを実際の印字パタ−ンに変換した、ビデオデータを記憶するビットマップメモリとしても使用されている。
【００２４】
ＲＯＭ２２は、プログラムデータなどが格納されている。また、フォントＲＯＭ２３は、実際に使われるさまざまなフォントデータが格納されている。
【００２５】
ＣＰＵ２４は、ＲＯＭ２２内のプログラムデータにしたがってコントローラ２０全体を制御するものである。ＡＳＩＣ２５は、バスを介してホストＰＣ７０から印字データなどを送受信する。ＣＰＵ２４は、この印字データの処理にあたって、ページ記述言語（ＰＤＬ）を起動させる起動手段と、その起動時にＲＡＭ２１内に使用可能な全てのＰＤＬのワークメモリを確保するワークメモリ確保手段と、確保したワークメモリを使用するＰＤＬ毎の領域に分配するワーク領域分配手段と、起動したページ記述言語を使い分配されたワーク領域を利用して印刷データを作成する印刷データ作成手段とを備えている。また、ワーク領域分配手段は、ワーク領域を分配する際に、ワークメモリ内のデータを保存しておく保存領域を作成する保存領域作成手段をさらに備えている。
【００２６】
エンジンＩ／Ｆ２６は、コントローラ２０からプリンタエンジン４０に対して制御信号を送ったり、プリンタエンジン４０からコントローラ２０に対してエンジンステータス信号を送ったりする際のインタフェースである。
【００２７】
ホストＩ／Ｆ２７は、プリンタ１０からホストＰＣ７０に対してステ−タス信号やデータを送ったり、ホストＰＣ７０からプリンタ１０に対してデ−タを送ったりする際のインタフェースである。
【００２８】
ＨＤＤ２８は、文書データ情報、文書データ、印刷データ等を保存する大容量記憶装置である。ここでは、一時的にワークメモリ内のデータを待避させるための不揮発性記憶媒体を構成している。
【００２９】
ＮＩＣ（ネットワーク・インタフェース・カード）２９は、ネットワーク接続用のインタフェースである。例えば、ホストＰＣ７０からのプリント命令、あるいはホストＰＣ７０から受け取ったデータが１ページを超えた場合に、コントローラ２０は中間コードをビデオデータに変換した後、エンジンＩ／Ｆ２６を介して、プリンタエンジン４０に対してプリント開始命令を出力する。この操作を繰り返すことによって、実際にホストＰＣ７０からのデ−タがプリンタエンジン４０を通して印字される。
【００３０】
タイマ３０は、現在時間を計測する装置である。
【００３１】
プリンタエンジン４０は、コントローラ２０からのビデオ信号および制御信号により感光体上に静電潜像を作って現像を行い、給紙部より給紙される転写紙へ転写および定着処理を行うことで画像を形成する。なお、出力手段としてのプリンタエンジン４０は、図１ではプリンタ１０の内部のものを使用したが、本発明はこれに限定されず、外部のプリンタエンジンを使用して画像形成を行っても良い。
【００３２】
ＳＤＩ／Ｆ５０は、着脱可能な外部記録メディアへのインタフェースまたは挿入スロットである。このスロットにＳＤカードを挿入した際、電圧の変化等を検出してカードが挿入されているかどうかを認識することができる。
【００３３】
カードＩ／Ｆ６０は、外部課金装置を接続するためのインタフェース、あるいは認証カードの挿入スロットである。
【００３４】
図１に示すプリンタ１０は、上記のように構成されており、以下このプリンタ１０を用いたデータ処理の概要について説明する。
【００３５】
〔受信処理〕
まず、ホストＰＣ７０からプリンタ１０に送られてきた印刷データは、ＣＰＵ２４がＲＯＭ２２上のデータ解析プログラムを用いて解析を行い、印字データおよび印字制御データ（ＳＰ  ＣＲ  ＬＦ  ＨＴ、ＶＴ…等）とその他のデータとに分けられる。そして、印字データおよび印字制御データは、ＲＡＭ２１上の受信バッファに一旦記憶される。
【００３６】
〔描画処理〕
そして、ＲＡＭ２１上に一旦記憶された受信データは、ＲＯＭ２２上の制御プログラムによって一つずつ取り出されて処理が行われる。例えば、取り出したデータが文字コードであれば、印字位置、印字サイズ、文字コード、フォント情報等を備えた中間コードを作成し、ＲＡＭ２１上に設けられた中間バッファに収納する。制御コードやエスケープシーケンス等のコマンドの場合は、それらに予め定義された処理が行われる。例えば、印字位置の指定であれば、次に来た文字コードの位置を指定された位置にしたり、フォントの変更であれば、次に来た文字コードのフォント情報を指定されたフォントにしたりといった具合に処理が行われる。このように、ホストＰＣ７０からのプリント命令の処理を行うか、処理を行ったデータが１ページ分を超えていたら、中間バッファ（ＲＡＭ２１）に貯えられた中間コードをＲＯＭ２２の制御プログラムにしたがってビデオデータに変換する処理が行われる。
【００３７】
〔出力処理〕
ビデオデータへ変換終了後、コントローラ２０は、エンジンＩ／Ｆ２６を介してプリンタエンジン４０へプリントスタートの命令を出し、それと同期してビデオデータを転送する。このような一連の処理により、ホストＰＣ７０からの印字データがプリンタエンジン４０を介して印字出力される。
【００３８】
以下、本発明を各実施の形態に基づいて説明する。
（第１の実施の形態）
図２は、第１の実施の形態にかかるワークメモリの構成例を示す図であり、図３は、第１の実施の形態にかかる動作を説明するフローチャートである。
【００３９】
第１の実施の形態における特徴は、複数のページ記述言語（以下、ＰＤＬという）を起動することが可能であり、使用可能な全てのＰＤＬのワークメモリを起動時に確保しておく点にある。確保されたワークメモリのうち起動されたＰＤＬ（ここでは、ＰＤＬ１とする）毎のワーク領域に分配する。また、他のＰＤＬ（ＰＤＬ２）が起動されると、確保されたワークメモリのうち起動されたＰＤＬ２のワーク領域を分配する。このように、割り込み印刷が発生したとしても、現在印刷中のページ記述言語（ＰＤＬ１）用のワーク領域はそのまま残しておき、割り込み側のページ記述言語（ＰＤＬ２）のワーク領域を取得することができる。割り込み側のページ記述言語（ＰＤＬ２）の印刷が終了すると、その割り込み側のページ記述言語（ＰＤＬ２）のワーク領域を開放し、割り込まれた側のページ記述言語（ＰＤＬ１）を再開するよう構成されている。
【００４０】
第１の実施の形態にかかるＰＤＬのワークメモリ構成は、図２に示すように、使用可能な全てのＰＤＬのワークメモリ９０を起動時に確保される。そして、確保されたワークメモリ９０のうち、ＰＤＬ１が起動されるとＰＤＬ１用ワーク領域９１を分配する。続いて、他のＰＤＬ２が起動されると、ＰＤＬ２用ワーク領域９２を分配される。その他のＰＤＬが起動される可能性がある場合は、その他ワーク領域９３として確保されている。このように、第１の実施の形態では、使用可能な全てのＰＤＬのワークメモリが最初の起動時に確保されているため、途中から割り込みがあっても割り込まれたＰＤＬのワーク領域のデータは待避させずに残しておくことができる。
【００４１】
第１の実施の形態にかかる動作を図３のフローチャートを用いて説明する。まず、起動時にＣＰＵ２４は、このプリンタ１０で使用可能な全てのＰＤＬ、ここでは使用できるＰＤＬが複数ある場合は、複数のＰＤＬを起動させた時に必要となる容量を計算し、ワークメモリ９０を確保する（ステップＳ１００）。そして、ＣＰＵ２４は、最初にＰＤＬ１を起動させると（ステップＳ１０１）、確保したワークメモリ９０のうちＰＤＬ１用ワーク領域９１が分配される（ステップＳ１０２）。このように、ＰＤＬ１用ワーク領域９１が確保されると（ステップＳ１０２でＹＥＳ）、これを用いて印刷用データが作成され、ＰＤＬ１の印刷がプリンタエンジン４０により開始される（ステップＳ１０３）。
【００４２】
このＰＤＬ１の印刷中に他のＰＤＬ２が起動され、割り込み印刷が開始されると（ステップＳ１０４）、ＣＰＵ２４は、ＰＤＬ２を起動させると（ステップＳ１０５）確保したワークメモリ９０のうちＰＤＬ２用ワーク領域９２が分配される（ステップＳ１０６）。このように、ＰＤＬ２用ワーク領域９２が確保されると（ステップＳ１０６でＹＥＳ）、これを用いて印刷用データが作成され、ＰＤＬ２の印刷がプリンタエンジン４０により開始される（ステップＳ１０７）。
【００４３】
このように、第１の実施の形態によれば、最初の起動時に使用可能な全てのＰＤＬのワークメモリが確保されているため、各ＰＤＬが起動される度に該当するワーク領域を分配してもワーク領域不足となる心配がない。このため、ＰＤＬ１の印刷中にＰＤＬ２の割り込み印刷があっても、ＰＤＬ１用ワーク領域９１のデータはそのまま保持しておき、ＰＤＬ２の印刷終了後にＰＤＬ１用ワーク領域９１のデータを使って印刷処理を継続することができる。
【００４４】
なお、図３のフローチャートは、ステップＳ１０７のＰＤＬ２印刷開始までであるが、ＰＤＬ２の印刷終了後は、図２のＰＤＬ２用ワーク領域９２を開放し、ＰＤＬ１用ワーク領域９１を用いて、割り込み前のＰＤＬ１の印刷を開始する。
【００４５】
（第２の実施の形態）
上記第１の実施の形態では、起動時に全ＰＤＬ分のワークメモリを確保し、ＰＤＬ毎にワーク領域を分配しているので、割り込み印刷が発生すると、割り込む側と割り込まれる側の両方のＰＤＬのワーク領域が使用され、通常の倍のメモリ容量が必要となる。このため、容量の少ないメモリ搭載機種では、割り込み印刷を提供することができなくなる可能性がある。そこで、割り込まれる側のＰＤＬのワークメモリは、割り込む側のＰＤＬが動作している間は使用されていないため、その領域を適切に管理することができれば、メモリ容量の少ない機種であっても割り込み印刷機能を提供することが可能となる。第２の実施の形態以下では、そのようなメモリ管理を行う画像形成装置例について説明する。
【００４６】
図４は、第２の実施の形態にかかるワークメモリの構成例を示す図であり、図５は、第２の実施の形態にかかる動作を説明するフローチャートである。
【００４７】
第２の実施の形態の特徴は、図４に示すように、確保したワークメモリ１００のうち、少なくとも動作中のＰＤＬが使用するＰＤＬ用ワーク領域１０１と、割り込み発生により動作していないＰＤＬのワークメモリ内のデータを圧縮して保存しておくＰＤＬワーク保存用領域１０２とに分配した点にある。なお、このＰＤＬワーク保存用領域１０２には、ＰＤＬ用ワーク領域１０１に格納されていた情報を圧縮してから移動させる。このため、圧縮サイズの変動に応じて保存用領域のサイズも可変できるようにしている。なお、ワークメモリ１００には、その他のワーク領域１０３が確保されていても良い。
【００４８】
第２の実施の形態にかかる動作を図５のフローチャートを用いて説明する。まず、起動時に使用可能な全てのＰＤＬのワークメモリ１００が確保される（ステップＳ１１０）。そして、ＣＰＵ２４は、最初にＰＤＬ１を起動させると（ステップＳ１１１）、確保したワークメモリ１００のうち動作中のＰＤＬが使用するためのＰＤＬ用ワーク領域１０１が分配される（ステップＳ１１２）。このように、ＰＤＬ用ワーク領域１０１が確保されると（ステップＳ１１２でＹＥＳ）、これを用いて印刷用データが作成され、ＰＤＬ１の印刷がプリンタエンジン４０により開始される（ステップＳ１１３）。
【００４９】
このＰＤＬ１の印刷中に他のＰＤＬ２が起動され、割り込み印刷が開始されると（ステップＳ１１４）、ＣＰＵ２４は、ＰＤＬ１が使用していたＰＤＬ用ワーク領域１０１内のデータを圧縮して、図４に示すＰＤＬワーク保存用領域１０２に移動させ（ステップＳ１１５）、ＰＤＬ１で使っていたＰＤＬ用ワーク領域１０１を開放する（ステップＳ１１６）。
【００５０】
続いて、ＣＰＵ２４は、ＰＤＬ２を起動させ（ステップＳ１１７）、確保したワークメモリ１００のうち開放されたＰＤＬ用ワーク領域１０１を確保する（ステップＳ１１８）。このように、ＰＤＬ２がＰＤＬ用ワーク領域１０１を確保すると（ステップＳ１１８でＹＥＳ）、これを用いて印刷用データが作成され、ＰＤＬ２の印刷がプリンタエンジン４０により開始される（ステップＳ１１９）。
【００５１】
このように、第２の実施の形態によれば、動作中のＰＤＬが使用するワーク領域が一つで足りる場合は、ＰＤＬ用ワーク領域１０１を確保し、割り込み発生によって動作していないＰＤＬのワークメモリ内のデータを圧縮して保存するためのＰＤＬワーク保存用領域１０２を確保するだけで済むため、容量の少ないワークメモリが搭載された画像形成装置であっても割り込み印刷機能を提供することができる。
【００５２】
（第３の実施の形態）
第３の実施の形態の特徴は、第２の実施の形態において、ＰＤＬワーク保存用領域１０２に圧縮して保存されたＰＤＬ１のデータを、割り込んだＰＤＬ２の印刷終了後に通常のＰＤＬ用ワーク領域１０１に展開する点にある。
【００５３】
図６は、第３の実施の形態における動作を説明するフローチャートであり、ＰＤＬのワークメモリ構成は、図４と同様である。図６に示すように、割り込みを行ったＰＤＬ２の印刷が終了した後（ステップＳ１２０）、ＰＤＬ２が使っていた図４のＰＤＬ用ワーク領域１０１を開放し（ステップＳ１２１）、ＰＤＬワーク保存用領域１０２に保存されている圧縮データをＰＤＬ用ワーク領域１０１に展開する（ステップＳ１２２）。ここで展開が成功した場合は（ステップＳ１２３）、ＰＤＬ１の印刷が再開される（ステップＳ１２４）。
【００５４】
なお、ステップＳ１２１において、ＰＤＬ用ワーク領域１０１が開放されなかった場合、およびステップＳ１２３において、圧縮データをＰＤＬ用ワーク領域１０１に展開できなかった場合は、処理が終了する。
【００５５】
このように、第３の実施の形態によれば、割り込みを行ったＰＤＬ２の印刷終了時に、割り込まれたＰＤＬ１の待避データをＰＤＬ用ワーク領域１０１に展開するようにしたため、割り込みを行ったＰＤＬ２の印刷終了によりＰＤＬ用ワーク領域１０１が開放されると同時に、ＰＤＬ１の待避データを展開することが可能となり、ＰＤＬ用ワーク領域１０１を効率良く利用することができる。
【００５６】
（第４の実施の形態）
第４の実施の形態の特徴は、上記第３の実施の形態のように、割り込まれたＰＤＬ１のワークメモリ内のデータをＰＤＬワーク保存用領域（ＲＡＭ）１０２に圧縮して保存するのではなく、プリンタ１０内のＨＤＤ２８、あるいはＳＤＩ／Ｆ５０に介してＳＤカードなどの不揮発性記憶媒体に待避させるようにした点にある。
【００５７】
図７は、第４の実施の形態にかかるワークメモリの構成例を示す図であり、図８は、第４の実施の形態にかかる動作を説明するフローチャートである。
【００５８】
図７に示すように、第４の実施の形態にかかるワークメモリ構成は、ワークメモリ１１０のうち、少なくとも動作中のＰＤＬが使用するＰＤＬ用ワーク領域１１１と、割り込み発生により動作していないＰＤＬのワークメモリ内のデータを保存する不揮発性記憶媒体１１３とが確保されている。なお、この不揮発性記憶媒体１１３にワークメモリ内のデータを保存する場合、媒体の容量に余裕があれば非圧縮で保存し、余裕がなければ圧縮して保存するようにする。不揮発性記憶媒体１１３としては、上記したようにＨＤＤ２８やＳＤカードなどを一例としてあげたが、これに限定されない。また、不揮発性記憶媒体１１３に保存されたワークメモリ内のデータをＰＤＬ用ワーク領域１１１に復元する場合、不揮発性記憶媒体１１３が変わると読み出し元も変わり、圧縮の有無によってそのまま読み出すか展開するかが変わってくる。
【００５９】
第４の実施の形態にかかる動作を図８のフローチャートを用いて説明する。まず、起動時に使用可能な全てのＰＤＬのワークメモリ１００が確保される（ステップＳ１３０）。そして、ＣＰＵ２４は、最初にＰＤＬ１を起動させると（ステップＳ１３１）、確保したワークメモリ１１０のうち動作中のＰＤＬが使用するためのＰＤＬ用ワーク領域１１１が分配される（ステップＳ１３２）。このように、ＰＤＬ用ワーク領域１１１が確保されると（ステップＳ１３２でＹＥＳ）、これを用いて印刷用データが作成され、ＰＤＬ１の印刷がプリンタエンジン４０により開始される（ステップＳ１３３）。
【００６０】
このＰＤＬ１の印刷中に割り込み印刷が開始されると（ステップＳ１３４）、ＣＰＵ２４は、ＰＤＬ１が使用していたＰＤＬ用ワーク領域１１１内のデータを不揮発性記憶媒体１１３に移動し（ステップＳ１３５）、ＰＤＬ１で使っていたＰＤＬ用ワーク領域１１１を開放する（ステップＳ１３６）。
【００６１】
続いて、ＣＰＵ２４は、ＰＤＬ２を起動させ（ステップＳ１３７）、確保したワークメモリ１１０のうち開放されたＰＤＬ用ワーク領域１１１を確保する（ステップＳ１３８）。このように、ＰＤＬ２がＰＤＬ用ワーク領域１１１を確保すると（ステップＳ１３８でＹＥＳ）、これを用いて印刷用データが作成され、ＰＤＬ２の印刷がプリンタエンジン４０により開始される（ステップＳ１３９）。
【００６２】
このように、第４の実施の形態によれば、動作中のＰＤＬが使用するワーク領域が一つで足りる場合は、ＰＤＬ用ワーク領域１１１を確保し、割り込み発生によって動作していないＰＤＬのワークメモリ内のデータは既存の不揮発性記憶媒体１１３を利用して保存するだけで済むため、容量の少ないワークメモリが搭載された画像形成装置であっても割り込み印刷機能を提供することができる。
【００６３】
（第５の実施の形態）
第５の実施の形態の特徴は、第４の実施の形態において、不揮発性記憶媒体１１３に保存されたＰＤＬ１のデータを、割り込んだＰＤＬ２の印刷終了後に通常のＰＤＬ用ワーク領域１１１に展開する点にある。
【００６４】
図９は、図８のフローチャートからの一連のワークメモリ構成の状態遷移を示す図であり、図１０は、第５の実施の形態における動作を説明するフローチャートである。なお、ＰＤＬの基本的なワークメモリ構成は、図７と同様である。図１０に示すように、割り込みを行ったＰＤＬ２の印刷が終了した後（ステップＳ１４０）、ＰＤＬ２が使っていた図７のＰＤＬ用ワーク領域１１１を開放し（ステップＳ１４１）、不揮発性記憶媒体１１３に保存されているＰＤＬ１のワークメモリ内のデータを読み出して、ＰＤＬ用ワーク領域１１１に展開する（ステップＳ１４２）。展開が成功した場合は（ステップＳ１４３）、ＰＤＬ１の印刷を再開する（ステップＳ１４４）。
【００６５】
なお、ステップＳ１４１において、ＰＤＬ用ワーク領域１１１が開放されなかった場合、およびステップＳ１４３において、圧縮データなどをＰＤＬ用ワーク領域１１１に展開できなかった場合は、処理が終了する。
【００６６】
また、図９では、図８と図１０のフローチャートにおける一連のシーケンスにおいて、ＰＤＬ用ワーク領域１２１〜１２３を使用するワークメモリ内のデータの遷移を示している。まず、図９の左側から順に説明すると、図８のステップＳ１３１において、ＰＤＬ１が起動されると、ＰＤＬ用ワーク領域１２１が確保され（ステップＳ１３２）、この領域をＰＤＬ１が使用する。続いて、図８のステップＳ１３７において、割り込みによりＰＤＬ２が起動されると、ＰＤＬ用ワーク領域１２２が確保され（ステップＳ１３８）、この領域をＰＤＬ２が使用する。そして、図１０のステップＳ１４０において、ＰＤＬ２の印刷終了後ＰＤＬ用ワーク領域が開放されると（ステップＳ１４１）、このＰＤＬ用ワーク領域１２３に不揮発性記憶媒体１１３に保存していたＰＤＬ１のデータを展開して、ＰＤＬ１の印刷を再開する。このように、ワークメモリにおけるＰＤＬ用ワーク領域には、割り込みなどにより利用するＰＤＬが切り替わると、それに伴ってワークメモリ内のデータも切り替える。割り込みのように一時的な利用の場合は、割り込まれた側のＰＤＬのワークメモリ内のデータは、不揮発性記憶媒体１１３に待避させ、割り込み終了後に復活させるようにしている。
【００６７】
本第５の実施の形態によれば、割り込みを行ったＰＤＬ２の印刷終了時に、割り込まれたＰＤＬ１の待避データをＰＤＬ用ワーク領域１０１に展開するようにしたため、割り込みを行ったＰＤＬ２の印刷終了によりＰＤＬ用ワーク領域１０１が開放されると同時に、ＰＤＬ１の待避データを展開することが可能となり、ＰＤＬ用ワーク領域１０１を効率良く利用することができる。
【００６８】
（第６の実施の形態）
上記第１〜第５の実施の形態の場合は、割り込み印刷時に、割り込まれた側のＰＤＬのワークメモリ内のデータを退避させ、割り込み印刷終了後にワークメモリ内のデータを復元する機能について説明してきたが、この機能は、割り込み印刷以外にも応用することができる。第６の実施の形態では、本発明を割り込み印刷以外でＰＤＬを切り替えながら利用する場合について説明する。
【００６９】
図１１は、第６の実施の形態においてＰＤＬの切り替え発生時にワークメモリ内のデータを待避させる動作を説明するフローチャートであり、図１２は、第６の実施の形態におけるワークメモリ構成の状態遷移図であり、図１３は、第６の実施の形態において切り替え前のＰＤＬに戻るときにワークメモリ内のデータを復元する動作を説明するフローチャートである。
【００７０】
通常、ワークメモリの内のデータは、ＰＤＬが切り替わると破棄されてしまい、同じＰＤＬが起動されたときには、再度データの取得と収集を行う必要があった。そのワークメモリ上に展開するために取得と収集を行う必要のあるデータとしては、ホストＰＣ７０からダウンロードするフォントデータなどがある。
【００７１】
第６の実施の形態にかかる動作を図１１および図１３のフローチャートを用いて説明する。まず、図１１に示すように、ＰＤＬ１が起動されると（ステップＳ１５０）、ＣＰＵ２４がＰＤＬ用ワーク領域を確保する（ステップＳ１５１）。これを図１２で見ると、ＰＤＬ用ワーク領域１３１がＰＤＬ１用に設定される。そして、ＰＤＬ用ワーク領域１３１には、ホストＰＣ７０からフォントデータ等必要なデータがダウンロードされる（ステップＳ１５２）。ＣＰＵ２４は、これらのデータとＰＤＬ１とを用いて印刷データを作成し、ＰＤＬ１の印刷が開始される（ステップＳ１５３）。
【００７２】
ＰＤＬ１の印刷終了後（ステップＳ１５４）、異なるＰＤＬ２による印刷開始要求があると（ステップＳ１５５）、ＣＰＵ２４は、ＰＤＬ１が使用していたＰＤＬ用ワーク領域１３１（図１２参照）内のデータを不揮発性記憶媒体１１３（図７参照）に保存し（ステップＳ１５６）、ＰＤＬ用ワーク領域１３１を開放する（ステップＳ１５７）。
【００７３】
続いて、ＣＰＵ２４は、印刷開始要求のあったＰＤＬ２を起動して（ステップＳ１５８）、ＰＤＬ用ワーク領域を確保する（ステップＳ１５９）。これを図１２で見ると、ＰＤＬ用ワーク領域１３２がＰＤＬ２用に設定される。そして、ＰＤＬ用ワーク領域１３２を使って必要なデータをダウンロードし、これらのデータとＰＤＬ２とを用いて印刷データを作成して、ＰＤＬ２の印刷が開始される（ステップＳ１６０）。
【００７４】
続いて、ＰＤＬ２の印刷終了後、再度ＰＤＬ１の印刷を実行する場合について、図１３のフローチャートを用いて説明する。図１３に示すように、ＰＤＬ２の印刷終了後（ステップＳ１７０）、ＰＤＬ１の印刷開始要求があると、ＰＤＬ２が使っていたＰＤＬ用ワーク領域を開放し（ステップＳ１７２）、以前ステップＳ１５６で不揮発性記憶媒体１１３に待避させていたＰＤＬ１のワークメモリ内のデータをＰＤＬ用ワーク領域１３１（図１２参照）に展開する（ステップＳ１７３）。
【００７５】
そして、ＰＤＬ用ワーク領域１３１への展開が成功すると（ステップＳ１７４）、ＣＰＵ２４は、ＰＤＬ１を起動させ（ステップＳ１７５）、ＰＤＬ用ワーク領域１３１をＰＤＬ１用のワークメモリとして確保し（ステップＳ１７６）、ＰＤＬ用ワーク領域１３１のデータとＰＤＬ１とを用いて印刷データを作成し、ＰＤＬ１の印刷を行う（ステップＳ１７７）。
【００７６】
このように、第６の実施の形態によれば、割り込み印刷要求がある場合に限らず、異なるページ記述言語（ＰＤＬ）を切り替えて使用する場合にも適用することができる。その際、これまではフォントデータ等をホストＰＣ７０などから再送する必要があったが、不揮発性記憶媒体１１３に保存したデータを再活用できるため、以前の環境と同様の状態で印刷を行うことができる。
【００７７】
なお、ワークメモリ内のデータの保存先として、ここでは不揮発性記憶媒体１１３を用いて説明したが、これに限定されず、図４に示すようにワークメモリ上に専用のＰＤＬワーク保存用領域を設けて保存してもよい。
【００７８】
また、ここではＰＤＬ１とＰＤＬ２の２つのページ記述言語（ＰＤＬ）間で切り替えを行った場合について説明したが、これに限定されず、３種類以上のページ記述言語（ＰＤＬ）間の情報を保持させ、適宜切り替えて使用するようにしても良い。このように、複数のページ記述言語（ＰＤＬ）が使用可能な画像形成装置の場合、ＰＤＬを切り替えて使用すると、ワークメモリ内のデータに関するオーバーヘッドが問題となっていたが、この第６実施の形態を適用すれば、このオーバーヘッドを削減することができる。
【００７９】
なお、上記各実施の形態にかかる画像形成装置で実行されるプログラムは、図１に示すＲＯＭ１４等に予め組み込まれて提供される。
【００８０】
本実施の形態にかかる画像形成装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００８１】
さらに、本実施の形態にかかる画像形成装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態にかかる画像処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００８２】
本実施の形態にかかる画像形成装置で実行されるプログラムは、上述した各部（起動手段、ワークメモリ確保手段、ワーク領域分配手段、印刷データ作成手段、出力手段、保存領域作成手段等）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）２４が上記ＲＯＭ２２からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、起動手段、ワークメモリ確保手段、ワーク領域分配手段、印刷データ作成手段、出力手段、保存領域作成手段等が主記憶装置上に生成されるようになっている。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施の形態にかかる画像形成装置の概略構成を説明するブロック図である。
【図２】第１の実施の形態にかかるワークメモリの構成例を示す図である。
【図３】第１の実施の形態にかかる動作を説明するフローチャートである。
【図４】第２の実施の形態にかかるワークメモリの構成例を示す図である。
【図５】第２の実施の形態にかかる動作を説明するフローチャートである。
【図６】第３の実施の形態における動作を説明するフローチャートである。
【図７】第４の実施の形態にかかるワークメモリの構成例を示す図である。
【図８】第４の実施の形態にかかる動作を説明するフローチャートである。
【図９】図８のフローチャートからの一連のワークメモリ構成の状態遷移を示す図である。
【図１０】第５の実施の形態における動作を説明するフローチャートである。
【図１１】第６の実施の形態においてＰＤＬの切り替え発生時にワークメモリ内のデータを待避させる動作を説明するフローチャートである。
【図１２】第６の実施の形態におけるワークメモリ構成の状態遷移図である。
【図１３】第６の実施の形態において切り替え前のＰＤＬに戻るときにワークメモリ内のデータを復元する動作を説明するフローチャートである。
【符号の説明】
【００８４】
１０  プリンタ
２０  コントローラ
２１  ＲＡＭ
２２  ＲＯＭ
２３  フォントＲＯＭ
２４  ＣＰＵ
２５  ＡＳＩＣ
２６  エンジンＩ／Ｆ
２７  ホストＩ／Ｆ
２８  ＨＤＤ
２９  ＮＩＣ
３０  タイマ
４０  プリンタエンジン
５０  ＳＤＩ／Ｆ
６０  カードＩ／Ｆ
７０  ホストＰＣ
８０  ネットワーク
９０  ワークメモリ
９１  ＰＤＬ１用ワーク領域
９２  ＰＤＬ２用ワーク領域
９３  その他ワーク領域
１００  ワークメモリ
１０１  ＰＤＬ用ワーク領域
１０２  ＰＤＬワーク保存用領域
１０３  その他ワーク領域
１１０  ワークメモリ
１１１  ＰＤＬ用ワーク領域
１１２  その他ワーク領域
１１３  不揮発性記憶媒体
１２０  ワークメモリ
１２１，１２２，１２３  ＰＤＬ用ワーク領域
１２４，１２５，１２６  その他ワーク領域
１３０  ワークメモリ
１３１，１３２  ＰＤＬ用ワーク領域
１３３，１３４  その他ワーク領域
【図１】
2009220457.tif 000003
【図２】
2009220457.tif 000004
【図３】
2009220457.tif 000005
【図４】
2009220457.tif 000006
【図５】
2009220457.tif 000007
【図６】
2009220457.tif 000008
【図７】
2009220457.tif 000009
【図８】
2009220457.tif 000010
【図９】
2009220457.tif 000011
【図１０】
2009220457.tif 000012
【図１１】
2009220457.tif 000013
【図１２】
2009220457.tif 000014
【図１３】
2009220457.tif 000015