(57)【要約】【課題】印刷に利用されるリソースデータについて割り込み印刷が実行される際の取り扱いを適切に行うことのできる画像形成装置の提供を目的とする。【解決手段】印刷コマンドに応じてリソースデータをダウンロードして記憶装置の所定の参照先に保存するリソースデータ取得手段と、印刷コマンドに応じて、所定の参照先に保存されているリソースデータを用いて印刷画像を生成する第一の描画手段と、割り込み印刷の印刷コマンドに応じて、所定の参照先に保存されているリソースデータを用いて印刷画像を生成する第二の描画手段とを有し、第一の描画手段は、割り込まれた印刷コマンドに係るリソースデータを記憶装置における所定の参照先とは異なる位置に退避し、割り込み印刷の終了に応じ、退避されているリソースデータを所定の参照先に復帰させ、割り込まれた印刷コマンドに関する処理を再開することにより上記課題を解決する。【選択図】図６
2008195041.tif 000002
【特許請求の範囲】
【請求項１】
割り込み印刷を実行可能な画像形成装置であって、
印刷コマンドに応じてリソースデータをダウンロードして記憶装置の所定の参照先に保存するリソースデータ取得手段と、
前記印刷コマンドに応じて、前記所定の参照先に保存されているリソースデータを用いて印刷画像を生成する第一の描画手段と、
前記割り込み印刷の印刷コマンドに応じて、前記所定の参照先に保存されているリソースデータを用いて印刷画像を生成する第二の描画手段とを有し、
前記第一の描画手段は、前記リソースデータ取得手段によって前記割り込み印刷の印刷コマンドに応じた第一のリソースデータが前記所定の参照先に保存される前に、割り込まれた印刷コマンドに係る第二のリソースデータを前記記憶装置における前記所定の参照先とは異なる位置に退避し、前記割り込み印刷の終了に応じ、退避されている前記第二のリソースデータを前記所定の参照先に復帰させ、前記割り込まれた印刷コマンドに関する処理を再開することを特徴とする画像形成装置。
【請求項２】
前記第二の描画手段は、前記第二のリソースデータが退避された後に前記リソースデータ取得手段によって前記所定の参照先に保存された前記第一のリソースデータを用いて前記印刷画像を生成することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記第一の描画手段は、前記割り込み印刷の終了に応じて前記第二のリソースデータを復帰させる前に、前記第一のリソースデータを前記記憶装置における前記所定の参照先とは異なる位置に退避し、割り込まれた印刷コマンドに関する処理が終了した後に、退避されている前記第一のリソースデータを前記所定の参照先に復帰させることを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
割り込み印刷を実行可能な画像形成装置であって、
プロセスとして起動され、印刷コマンドに含まれている第一のリソースデータを当該プロセスのプロセス空間内に格納し、複数の印刷コマンドのそれぞれに対して前記第一のリソースデータを共用して印刷画像を生成する第一の描画手段と、
前記割り込み印刷に対するプロセスとして起動され、前記割り込み印刷の印刷コマンドに応じて印刷画像を生成する第二の描画手段とを有し、
前記第一の描画手段は、前記第一のリソースデータをファイルとして記憶装置に保存し、
前記第二の描画手段は、前記ファイルを当該プロセス空間に読み込むことにより、前記ファイルに格納されている前記第一のリソースデータを用いて前記印刷画像を生成することを特徴とする画像形成装置。
【請求項５】
前記第二の描画手段は、前記割り込み印刷の印刷コマンドに含まれている第二のリソースデータを当該プロセスのプロセス空間に格納し、前記第二のリソースデータをも用いて前記印刷画像をすることを特徴とする請求項４記載の画像形成装置。
【請求項６】
前記第二の描画手段は、前記第二のリソースデータをファイルとして前記記憶装置に保存し、
前記第二の描画手段は、割り込まれた印刷コマンドに対する処理の終了後、前記第二のリソースデータを前記ファイルより読み込み、当該プロセス空間に格納することを特徴とする請求項５記載の画像形成装置。
【請求項７】
割り込み印刷を実行可能な画像形成装置が実行する情報処理方法であって、
印刷コマンドに応じてリソースデータをダウンロードして記憶装置の所定の参照先に保存するリソースデータ取得手順と、
前記印刷コマンドに応じて、前記所定の参照先に保存されているリソースデータを用いて印刷画像を生成する第一の描画手順と、
前記割り込み印刷の印刷コマンドに応じて、前記所定の参照先に保存されているリソースデータを用いて印刷画像を生成する第二の描画手順とを有し、
前記第一の描画手順は、前記リソースデータ取得手順によって前記割り込み印刷の印刷コマンドに応じた第一のリソースデータが前記所定の参照先に保存される前に、割り込まれた印刷コマンドに係る第二のリソースデータを前記記憶装置における前記所定の参照先とは異なる位置に退避し、前記割り込み印刷の終了に応じ、退避されている前記第二のリソースデータを前記所定の参照先に復帰させ、前記割り込まれた印刷コマンドに関する処理を再開することを特徴とする情報処理方法。
【請求項８】
割り込み印刷を実行可能な画像形成装置が実行する情報処理方法であって、
プロセスとして起動され、印刷コマンドに含まれている第一のリソースデータを第一のプロセスのプロセス空間内に格納し、複数の印刷コマンドのそれぞれに対して前記第一のリソースデータを共用して印刷画像を生成する第一の描画手順と、
前記割り込み印刷に対するプロセスとして起動され、前記割り込み印刷の印刷コマンドに応じて印刷画像を生成する第二の描画手順とを有し、
前記第一の描画手順は、前記第一のリソースデータをファイルとして記憶装置に保存し、
前記第二の描画手順は、前記ファイルを当該プロセス空間に読み込むことにより、前記ファイルに格納されている前記第一のリソースデータを用いて前記印刷画像を生成することを特徴とする情報処理方法。
【請求項９】
請求項７記載の情報処理方法を画像形成装置に実行させるための情報処理プログラム。
【請求項１０】
請求項８記載の情報処理方法を画像形成装置に実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理方法、情報処理プログラムに関し、特に割り込み印刷を実行可能な画像形成装置、情報処理方法、情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、割り込み印刷に関する発明が開示されている。割り込み印刷機能によれば、大量のページ数からなる文書に係る印刷ジョブの実行中であっても、その印刷の完了まで待つことなく緊急度の高い文書の印刷ジョブを先に実行させることができる。
【０００３】
ところで、プリンタがＰＤＬ（Page Description Language）等の印刷コマンドに基づいて描画処理を実行する際、フォントデータ等各種のリソースデータが利用される。リソースデータは、複数のジョブに対して共通的に利用可能である。例えば、同一フォントを利用する印刷ジョブに関しては、同じフォントデータを利用することができる。したがって、リソースデータを印刷ジョブが発生するたびにその都度ダウンロードするのは効率的ではない。一度ダウンロードされたリソースデータは、プリンタ内の記憶装置（ＲＡＭやＨＤＤ（Hard Disk Drive）等）内に保存しておき、以降の印刷ジョブについては既にダウンロードされているリソースデータを利用するのが効率的である。
【０００４】
但し、プリンタは、汎用的なコンピュータに比べて記憶装置の容量が小さい。したがって、リソースデータは、必要最小限の分だけダウンロードされ保存されていることが好ましい。斯かる事情より、プリンタのＨＤＤ内にファイルとして保持されるリソースデータの場合、当該リソースデータの保存領域は予め決められた所定の領域内（以下「リソースデータ領域」という。）に限られていた。したがって、以前の印刷ジョブと同一の識別名（例えば、ファイル名）のリソースデータ（例えば、フォント）を用いて印刷ジョブを実行する場合、リソースデータ領域内における既存のリソースデータは新たにダウンロードされたリソースデータによって上書きされていた。
【特許文献１】特開２００５−２６７１７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、割り込み印刷を考慮した場合、割り込まれた方の印刷ジョブ（以下「元ジョブ」という。）の途中で、割り込んだ方の印刷ジョブ（以下「割り込みジョブ」という。）が利用するリソースデータによってリソースデータ領域内のリソースデータが更新されてしまう。その結果、割り込みジョブの完了後、元ジョブが復帰したときは、割り込まれる前とは内容が異なるリソースデータが利用され、例えば、途中のページから異なるフォントによって印刷が行われてしまう可能性がある。割り込みジョブによって、リソースデータの内容が更新されている可能性があるからである。
【０００６】
他方において、印刷ジョブを処理するプロセスのプロセス空間内において保持されるリソースデータもある。順番に処理される印刷ジョブについては、同一プロセスによって処理されるため、プロセス空間内における同じリソースデータを共用することができる。しかし、割り込みジョブは元ジョブと異なるプロセスとして起動されるため、元ジョブのプロセス空間内におけるリソースデータを利用することができない。すなわち、元ジョブのプロセス空間内において保持されるリソースデータについては、既にプリンタ側にダウンロードされているにも拘わらず、割り込みジョブは当該リソースデータを利用することができないという問題がある。
【０００７】
本発明は、上記の点に鑑みてなされたものであって、印刷に利用されるリソースデータについて割り込み印刷が実行される際の取り扱いを適切に行うことのできる画像形成装置、情報処理方法、及び情報処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、本発明は、割り込み印刷を実行可能な画像形成装置であって、印刷コマンドに応じてリソースデータをダウンロードして記憶装置の所定の参照先に保存するリソースデータ取得手段と、前記印刷コマンドに応じて、前記所定の参照先に保存されているリソースデータを用いて印刷画像を生成する第一の描画手段と、前記割り込み印刷の印刷コマンドに応じて、前記所定の参照先に保存されているリソースデータを用いて印刷画像を生成する第二の描画手段とを有し、前記第一の描画手段は、前記リソースデータ取得手段によって前記割り込み印刷の印刷コマンドに応じた第一のリソースデータが前記所定の参照先に保存される前に、割り込まれた印刷コマンドに係る第二のリソースデータを前記記憶装置における前記所定の参照先とは異なる位置に退避し、前記割り込み印刷の終了に応じ、退避されている前記第二のリソースデータを前記所定の参照先に復帰させ、前記割り込まれた印刷コマンドに関する処理を再開することを特徴とする。
【０００９】
また、上記課題を解決するため、本発明は、割り込み印刷を実行可能な画像形成装置であって、プロセスとして起動され、印刷コマンドに含まれている第一のリソースデータを当該プロセスのプロセス空間内に格納し、複数の印刷コマンドのそれぞれに対して前記第一のリソースデータを共用して印刷画像を生成する第一の描画手段と、前記割り込み印刷に対するプロセスとして起動され、前記割り込み印刷の印刷コマンドに応じて印刷画像を生成する第二の描画手段とを有し、前記第一の描画手段は、前記第一のリソースデータをファイルとして記憶装置に保存し、前記第二の描画手段は、前記ファイルを当該プロセス空間に読み込むことにより、前記ファイルに格納されている前記第一のリソースデータを用いて前記印刷画像を生成することを特徴とする。
【００１０】
このような画像形成装置では、印刷に利用されるリソースデータについて割り込み印刷が実行される際の取り扱いを適切に行うことができる。
【発明の効果】
【００１１】
本発明によれば、印刷に利用されるリソースデータについて割り込み印刷が実行される際の取り扱いを適切に行うことのできる画像形成装置、情報処理方法、及び情報処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１において画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、ネットワークインタフェース１５、及び操作パネル１６等のハードウェアを有する。
【００１３】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、及びＨＤＤ１１４等より構成される。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、後述される機能を実現する。ＨＤＤ１１４は、各種のデータの保存領域やプログラムの仮想メモリ（記憶）領域として用いられる。
【００１４】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、画像データ（印刷画像）を印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース１５は、ＬＡＮ（Local Area Network）等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。操作パネル１６は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
【００１５】
図２は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図２において、画像形成装置１０は、コントロールサービス１１０と、当該コントロールサービス１１０を利用して動作する各種のアプリケーションと等より構成される。
【００１６】
コントロールサービス１１０は、アプリケーションがそれぞれの機能を実現するために共通的に必要とされるサービスを提供するプログラムである。コントロールサービス１１０は、例えば、ネットワーク通信の仲介、ハードウェアの制御、メモリ（ＲＡＭ１１２、ＲＯＭ１１３）やＨＤＤ１１４の制御、操作パネル１６の制御、及びユーザ情報の管理等を行う。
【００１７】
図２には、各種のアプリケーションとして、プリンタアプリ１２０、ＦＡＸアプリ１３０、及びコピーアプリ１４０が示されている。プリンタアプリ１２０は、画像形成装置１０をプリンタとして機能させるためのアプリケーションである。ＦＡＸアプリ１３０は、画像形成装置１０をファクシミリとして機能させるためのアプリケーションである。コピーアプリ１４０は、画像形成装置１０をコピー機として機能させるためのアプリケーションである。
【００１８】
なお、コントロールサービス１１０、プリンタアプリ１２０、ＦＡＸアプリ１３０、コピーアプリ１４０は、ＯＳ（Operating System）１５０上においてそれぞれ異なるプロセスとして動作する。
【００１９】
プリンタアプリ１２０について更に詳しく説明する。プリンタアプリ１２０は、ＰＣ（Personal Computer）等のホストコンピュータより転送される印刷データ（印刷コマンド）に基づいて、印刷ジョブを実行する。
【００２０】
図３は、一つの印刷ジョブ係る印刷データのデータ構造の例を示す図である。図３において、印刷データ５０は、ジョブ制御コマンド部５１及び５３と、描画コマンド部５２とより構成される。
【００２１】
ジョブ制御コマンド部５１は、印刷ジョブを制御するためのコマンド（ジョブ制御コマンド）群が記載された部分である。ジョブ制御コマンドとしては、例えば、用紙サイズの指定、給紙トレイの指定、排紙トレイの指定、フィニッシャー機能（パンチ、ステープル、ソート等）に関する指定等が含まれる。また、ジョブ制御コマンド部５１には、リソースデータダウンロードコマンド５１１も含まれ得る。リソースデータダウンロードコマンド５１１には、リソースデータと、当該リソースデータの取り出しを指示するコマンドが含まれている。ジョブ制御コマンド部５１は、例えば、ＰＪＬ（Printer Job Language）によって記述される。
【００２２】
描画コマンド部５２は、印刷対象とされる画像（印刷画像）を描画（レンダリング）するためのコマンド（描画コマンド）群が記載された部分である。例えば、描画コマンドとしては、描画要素ごとに、色、座標、及び形状等を特定するためのコマンドが含まれる。また、描画コマンド部５２には、リソースデータ５２１（リソースデータの実体）も含まれ得る。描画コマンド部５２は、ＰＣＬ（Printer Control Language）、又はＰＳ（Post Script）等のプリンタ言語によって記載される。なお、本実施の形態においてプリンタ言語とは、印刷画像を描画させるためのコマンドを記述するための言語一般をいう。
【００２３】
ジョブ制御コマンド部５３は、印刷ジョブの終了を示すコマンドが記載された部分であり、例えば、ＰＪＬによって記述される。
【００２４】
このような印刷データ５０を処理すべく、プリンタアプリ１２０は、ジョブ制御部１２１、描画処理部１２２、及びプリンタシステム１２３等より構成される。
【００２５】
ジョブ制御部１２１は、印刷データ５０のうち、ジョブ制御コマンド部５１及び５３におけるジョブ制御コマンドを解釈し、ジョブ制御コマンドに応じた処理を実行する。すなわち、ジョブ制御部１２１は、印刷ジョブを制御する。なお、ジョブ制御コマンド部５１にリソースデータダウンロードコマンド５１１が含まれている場合、ジョブ制御部１２１は、指定されたリソースデータを取得し、ＨＤＤ１１４に所定のファイル名のファイルとして保存する（すなわち、ＨＤＤ１１４の所定の参照先に保存する）。
【００２６】
描画処理部１２２は、印刷データ５０のうち、描画コマンド部５２における描画コマンドを解釈し、描画コマンドに応じた処理を実行する。すなわち、描画処理部１２２は、印刷画像をメモリ上に生成（描画）する。なお、描画コマンド部５２にリソースデータ５２１が含まれている場合、描画処理部１２２は、描画処理部１２２が動作するプロセス空間（仮想記憶領域において描画処理部１２２のプロセスに割り当てられた記憶領域）内の所定の領域にリソースデータ５２１を格納する。
【００２７】
プリンタシステム１２３は、ジョブ制御部１２１及び描画処理部１２２の動作を制御する。なお、ジョブ制御部１２１、描画処理部１２２、及びプリンタシステム１２３は、それぞれ異なるプロセスとして起動される。
【００２８】
以下、画像形成装置１０の処理手順について説明する。まず、通常印刷時（割り込み印刷が行われないとき）の画像形成装置の処理手順について説明する。
【００２９】
図４は、通常印刷時の画像形成装置の印刷処理を説明するためのフローチャートである。
【００３０】
ホストコンピュータ２０のプリンタドライバにおいて生成された印刷データ５０がネットワークを介して画像形成装置１０に転送されると（Ｓ１０１）、プリンタシステム１２３は、ジョブ制御部１２１に対して印刷データ５０を出力し、印刷ジョブの実行を指示する（Ｓ１０２）。
【００３１】
ジョブ制御部１２１は、印刷データ５０におけるジョブ制御コマンド部５１を解釈し、ジョブ制御コマンドに応じた処理を実行する（Ｓ１０３）。ジョブ制御コマンド５１にリソースデータダウンロードコマンド５１１が含まれている場合、ジョブ制御部１２１は、ダウンロードコマンド５１１に含まれているリソースデータ（印刷データ５０と共にダウンロードされたリソースデータ）をＨＤＤ１１４にファイル（リソースファイル）として保存する（Ｓ１０５）。
【００３２】
ジョブ制御部１２１の処理が終了すると（Ｓ１０６）、プリンタシステム１２３は、描画処理部１２２に対して印刷データ５０を出力し、描画処理の実行を指示する（Ｓ１０７）。描画処理部１２２は、印刷データ５０における描画コマンド部５２を解釈し、描画コマンドに応じた処理を実行する。描画コマンド部５２にリソースデータ５２１が含まれている場合、描画処理部１２２は、リソースデータ５２１を取得し、描画処理部１２２のプロセス空間内の所定の領域に格納（コピー）する（Ｓ１０８）。続いて、描画処理部１２２は、ＨＤＤ１１４にダウンロードされているリソースファイルや、プロセス空間内に格納されているリソースデータを用いて描画処理（レンダリング）を実行する（Ｓ１０９）。なお、当該リソースファイルや当該リソースデータ内に含まれている全てのデータが利用される訳ではない。描画コマンドにおいてＩＤ（識別情報）によって指定されているデータが当該リソースファイル又はリソースデータより検索され利用される。
【００３３】
描画処理によって、ＲＡＭ１１２に、印刷対画像が生成される。印刷画像の生成に応じ、プリンタ１３は当該印刷画像を印刷する。描画処理が完了すると、描画処理部１２２は、処理の完了をプリンタシステム１２３に通知する（Ｓ１１０）。
【００３４】
その後、新たな印刷ジョブに係る印刷データ５０が受信されると、当該印刷データ５０について、上述したステップＳ１０１からＳ１１０の処理が実行される。新たに受信された印刷データ５０にリソースデータダウンロードコマンド５１１が含まれていない場合、描画処理においては、既にＨＤＤ１１４に生成されているリソースファイルが利用される。一方、新たに受信された印刷データ５０にリソースデータダウンロードコマンド５１１が含まれている場合、ジョブ制御部１２１は、新たにリソースデータを取り出し（Ｓ１０３）、当該リソースデータをＨＤＤ１１４にファイルとして保存する（Ｓ１０５）。この際、ジョブ制御部１２１は、既存のリソースファイルと同一ファイル名に係るリソースデータが取り出された場合は、既存のリソースファイルと同じファイル名で新たなリソースファイルを生成する。すなわち、ＨＤＤ１１４に保存されている既存のリソースデータは、新たにダウンロードされたリソースデータによって上書きされる。こうすることにより、ＨＤＤ１１４の消費量を節約することができる。但し、リソースデータの上書きは、新たな印刷ジョブの開始後（すなわち、前の印刷ジョブが完了した後）に行われるため、前の印刷ジョブの出力結果に影響が及ぶことはない。
【００３５】
なお、描画処理部１２２は、新たな印刷ジョブについても同一プロセスのものが処理を行う（すなわち、複数の印刷ジョブに対して同一プロセスが処理を行う）ため、プロセス空間内に保存されているリソースデータは、新たな印刷ジョブについても利用（共用）され得る。
【００３６】
次に、割り込み印刷が行われるときの画像形成装置の処理手順について説明する。図５は、割り込み印刷発生時の画像形成装置の印刷処理を説明するためのフローチャートである。図５中、図４と同一部分には同一符号を付し、その説明は適宜省略する。なお、割り込み印刷については、特開２００５−２６７１７６号公報に詳しい。
【００３７】
例えば、一つの印刷ジョブについて描画処理を実行中に（Ｓ１０９）、ホストコンピュータ２０より割り込み印刷要求に係る印刷データ５０（以下「割り込み印刷データ５０ａ」という。）が転送されると（Ｓ２０１）、プリンタシステム１２３は、現在処理を実行中の描画処理部１２２に対して割り込み要求を行う（Ｓ２０２）。描画処理部１２２は、処理を中断可能な場合は処理を中断し、プリンタシステム１２３に対して割り込み許可を通知する（Ｓ２０３）。なお、割り込み印刷データ５０ａのデータ構造は、通常の印刷データ５０と同様である。
【００３８】
描画処理部１２２によって割り込みが許可されると、プリンタシステム１２３は、ジョブ制御部１２１に対して割り込み印刷データ５０ａを出力し、割り込み印刷データ５０ａに係る印刷ジョブ（割り込みジョブ）の実行を指示する（Ｓ２０４）。但し、ジョブ制御部１２１において当該印刷ジョブが割り込みジョブであるか否かの認識はない。
【００３９】
ジョブ制御部１２１は、割り込み印刷データ５０ａにおけるジョブ制御コマンド部５１を解釈し、ジョブ制御コマンドに応じた処理を実行する（Ｓ２０５）。ジョブ制御コマンド５１にリソースデータダウンロードコマンド５１１が含まれている場合、ジョブ制御部１２１は、ダウンロードコマンド５１１に含まれているリソースデータをＨＤＤ１１４にファイル（リソースファイル）として保存する（Ｓ２０７）。上述したように、ジョブ制御部１２１は、異なる印刷ジョブであっても、同一ファイル名に係るリソースデータについては、同一のファイル名によってリソースファイルを生成する。したがって、この場合、割り込まれた印刷ジョブ（すなわち、描画処理部１２２において処理が中断中の割り込みジョブ。以下「元ジョブ」という。）についてステップＳ１０５において生成されたリソースファイルは、割り込みジョブについてステップＳ２０７において生成されるリソースファイルによって上書きされる。
【００４０】
ジョブ制御部１２１の処理が終了すると（Ｓ２０８）、プリンタシステム１２３は、割り込みジョブ用の描画処理部１２２のプロセス（以下「割り込み描画処理部１２２ａ」という。）を起動する（Ｓ２０９）。すなわち、割り込み描画処理部１２２ａは、描画処理部１２２とは異なるプロセス空間において動作する。
【００４１】
続いて、プリンタシステム１２３は、割り込み描画処理部１２２ａに対して割り込み印刷データ５０ａを出力し、描画処理の実行を指示する（Ｓ２１０）。割り込み描画処理部１２２ａは、割り込み印刷データ５０ａにおける描画コマンド部５２を解釈し、描画コマンドに応じた処理を実行する。すなわち、割り込み印刷データ５０ａの描画コマンド部５２にリソースデータ５２１が含まれている場合、割り込み描画処理部１２２ａは、リソースデータ５２１を割り込み描画処理部１２２ａのプロセス空間内の所定の領域に格納（コピー）する（Ｓ２１１）。
【００４２】
続いて、割り込み描画処理部１２２ａは、ＨＤＤ１１４にダウンロードされているリソースファイルや、プロセス空間内に格納されているリソースデータを用いて描画処理（レンダリング）を実行する（Ｓ２１２）。描画処理によって、ＲＡＭ１１２に、印刷画像が生成される。印刷画像の生成に応じ、プリンタ１３は当該印刷画像を印刷する。すなわち、割り込みジョブの印刷結果が元ジョブに対して割り込む形で出力される。描画処理が完了すると、割り込み描画処理部１２２ａは、処理の完了をプリンタシステム１２３に通知する（Ｓ２１３）。
【００４３】
割り込み描画処理部１２２ａの処理が完了すると、プリンタシステム１２３は、元ジョブに係る描画処理部１２２に対して割り込み完了通知を行う（Ｓ２１４）。なお、割り込み完了通知と前後して、プリンタシステム１２３は、割り込み描画処理部１２２ａに係るプロセスを終了させてもよい。
【００４４】
割り込み完了通知に応じ、描画処理部１２２は、中断されていた描画処理を再開する（Ｓ２１５）。但し、この際、ＨＤＤ１１４に保存されているリソースファイルは、割り込みジョブに係るリソースファイルによって上書きされてしまっている場合がある。したがって、そのままでは、元ジョブの印刷結果に影響を及ぼす可能性がある。例えば、元ジョブと割り込みジョブとが同一ファイル名に係るフォントデータを利用する場合、元ジョブの描画処理に対して割り込みジョブのフォントデータが利用されてしまう。なお、同一ファイル名のリソースデータであっても、その内容は必ずしも一致するとは限らない。ジョブ内の処理によって更新される可能性があるからである。そこで、本実施の形態における画像形成装置１０は、図４及び図５においては便宜上省略されている以下の処理を実行することにより、斯かる問題を解決する。
【００４５】
図６は、割り込みジョブのリソースファイルの上書きによる不都合の回避処理を説明するためのフローチャートである。また、図７は、割り込みジョブのリソースファイルの上書きによる不都合の回避処理に応じたＨＤＤ内の状態の変化を示す図である。図７において、各矩形は、ＨＤＤ１１４の記憶領域を示す。また、各矩形の左に記されている括弧内の符号は、図６において対応するステップ番号を示す
元ジョブに係る描画処理部１２２は、割り込み要求を受け付けると（Ｓ３０１、図５のステップＳ２０２）、ＨＤＤ１１４に保存されている元ジョブのリソースファイル（元ジョブリソースファイル）を退避する（Ｓ３０２）。例えば、元ジョブリソースファイルのファイル名を変更したり、又は元ジョブリソースファイルをファイルシステム上の他のディレクトリ（フォルダ）にコピー又は移動したりする。図７の（Ｓ３０２）では、元ジョブリソースファイルが、ＨＤＤ１１４上の領域Ａから領域Ｂにコピーされる様子が示されている。なお、図７では、領域Ａが利用対象となるリソースデータの保存位置を示す。すなわち、ＨＤＤ１１４上のリソースファイルは、常に領域Ａにおけるものが参照される。
【００４６】
その後、描画処理部１２２からの割り込み許可に応じ、割り込みジョブが実行される（Ｓ３０３）。この際、図５のステップＳ２０７において、ジョブ制御部１２１によって割り込みジョブのリソースファイル（割り込みジョブリソースファイル）がＨＤＤ１１４に保存される。図７の（Ｓ３０３）では、領域Ａにおける元ジョブリソースファイルが割り込みジョブリソースファイルによって上書きされている様子が示されている。
【００４７】
続いて、描画処理部１２２は、割り込み完了通知を受け付けると（Ｓ３０４、図５のＳ２１４）、割り込みジョブリソースを元ジョブリソースファイルの退避位置とは異なる位置に退避する（Ｓ３０５）。図７の（Ｓ３０５）では、割り込みジョブリソースファイルが領域Ａから領域Ｃに移動されている様子が示されている。
【００４８】
続いて、描画処理部１２２は、退避されていた元ジョブリソースファイルを利用対象として復帰させる（Ｓ３０６）。具体的には、元ジョブリソースファイルが、利用対象のリソースファイルが保存されるディレクトリに、利用対象のリソースファイルであることを示す所定のファイル名で復元される。図７の（Ｓ３０６）では、領域Ｂに退避されていた元ジョブリソースファイルが領域Ａに移動されている様子が示されている。
【００４９】
続いて、描画処理部１２２は、中断されていた元ジョブの処理を再開する（Ｓ３０７、図５のＳ２１５）。この際、割り込みジョブの実行後であるが、利用対象として参照されるリソースファイルは、元ジョブのリソースファイルとされている。したがって、元ジョブに対応したリソースファイルによって適切に描画処理が実行される。
【００５０】
元ジョブの描画処理が完了すると、描画処理部１２２は、退避されていた割り込みジョブを復帰させる（Ｓ３０８）。図７の（Ｓ３０８）では、領域Ｃに退避されていた割り込みジョブリソースファイルが領域Ａに移動されている様子が示されている。この処理は、本実施の形態における画像形成装置１０では、以降に実行される印刷ジョブにおいてリソースファイルがダウンロードされない場合は、最後に実行要求がされた印刷ジョブのリソースファイルが以降のジョブにおいても利用可能であるということを、ユーザは期待するであろうという考えに基づくものである。但し、元ジョブのリソースファイルが領域Ａに残されるようにしておいてもよい。その場合、ステップＳ３０８では、領域Ｃの割り込みジョブリソースファイルを削除すればよい。
【００５１】
ところで、印刷データ５０の描画コマンド部５２におけるリソースデータ５２１は、描画処理部１２２のプロセスのプロセス空間内に保持される。したがって、通常に実行される印刷ジョブであれば、前に実行された印刷ジョブの際に保持されているリソースデータを共用することができる。しかし、割り込み印刷の場合、割り込み描画処理部１２２ａは、新たなプロセスとして起動されるため、元ジョブのプロセスとリソースデータを共用することができない。斯かる状況は、ユーザにとっての利便性の観点から好ましくない。すなわち、ユーザは、既に画像形成装置１０に転送されているリソースデータであれば、以降の印刷ジョブでも利用可能であるという期待のもとに印刷要求を行うところ、割り込みジョブの場合は以前の印刷ジョブのリソースデータは利用できないというのは、ユーザにとって納得しがたいからである。そこで、本実施の形態における画像形成装置１０は、図４及び図５においては便宜上省略されている以下の処理を実行することにより、斯かる問題を解決する。
【００５２】
図８は、プロセス空間内に保持されるリソースデータを割り込みジョブに共用させるための処理を説明するためのフローチャートである。また、図９は、プロセス空間内に保持されるリソースデータを割り込みジョブに共用させるための処理に応じたプロセス空間及びＨＤＤの状態の変化を示す図である。図９において、符号１１２１、１１２２、１１４で示される矩形は、それぞれ描画処理部１２２のプロセス空間、割り込み描画処理部１２２ａのプロセス空間、ＨＤＤ１１４の記憶領域を示す。また、括弧内の符号は、図８において対応するステップ番号を示す
元ジョブに係る描画処理部１２２は、割り込み要求を受け付けると（Ｓ４０１、図５のステップＳ２０２）、描画処理部１２２のプロセス空間１１２１に保持されている元ジョブのリソースデータ（元ジョブリソースデータ）をＨＤＤ１１４にファイルとして保存する（Ｓ４０２）。図９の（Ｓ４０２）では、プロセス空間１１２１における元ジョブリソースデータがＨＤＤ１１４にコピーされている様子が示されている。
【００５３】
なお、描画処理部１２２は、次のような情報によってＨＤＤ１１４に保存されたリソースデータを管理する。
【００５４】
図１０は、リソースデータ管理テーブルの例を示す図である。図１０において、リソースデータ管理テーブルは、プロセス空間１１２１からＨＤＤ１１４に保存されたリソースデータごとに、ファイル番号及びリソースデータＩＤを管理する。ファイル番号は、保存される順番に応じて割り当てられる番号である。ファイル番号はそのままファイル名として用いられる。したがって、ファイル番号によって、リソースデータのファイル名を特定することができる。リソースデータＩＤは、各リソースデータを識別するために、リソースデータごとに付与されたＩＤである。すなわち、リソースデータＩＤによって、各リソースデータの異同が識別される。リソースデータ管理テーブルは、例えば、ＨＤＤ１１４に作成される。なお、図１０は、ステップＳ４０２が実行された直後の状態が示されている。
【００５５】
続いて、割り込み描画処理部１２２ａは、プロセスとして起動された後（図５のＳ２０９の後）、リソースデータ管理テーブルを参照してＨＤＤ１１４に保存されている元ジョブリソースデータを割り込み描画処理部１２２ａのプロセス空間１１２２に読み込む（Ｓ４０３）。図９の（Ｓ４０３）では、ＨＤＤ１１４よりプロセス空間１１２２に元ジョブリソースデータが読み込まれている様子が示されている。
【００５６】
続いて、割り込み描画処理部１２２ａは、割り込み印刷データ５０ａの描画コマンド部５２のリソースデータ５２１（割り込みジョブリソースデータ）を取得し、プロセス空間１１２２内に格納する（Ｓ４０４、図５のＳ２１１）。図９の（Ｓ４０４）では、プロセス空間１１２２に新たに割り込みジョブリソースデータが追加された様子が示されている。
【００５７】
続いて、割り込み描画処理部１２２ａは、描画処理（レンダリング）を実行する（Ｓ４０５、図５のＳ２１２）。この際、割り込み描画処理部１２２ａのプロセス空間１１２２には、元ジョブリソースデータも格納されている。したがって、割り込み描画処理部１２２ａは、通常の印刷ジョブと同様、以前の印刷ジョブにおいて取得されたリソースデータをも利用して描画処理を実行することができる。
【００５８】
描画処理が終了すると、割り込み描画処理部１２２ａは、割り込みジョブリソースデータをＨＤＤ１１４に保存する（Ｓ４０６）。図９の（Ｓ４０６）では、プロセス空間１１２２における割り込みジョブリソースデータがＨＤＤ１１４において元ジョブリソースデータとは異なる領域にコピーされている様子が示されている。なお、割り込みジョブリソースデータの保存に際し、割り込み描画処理部１２２ａは、保存された割り込みジョブリソースデータに対応するレコードをリソースデータ管理テーブルに追加する。
【００５９】
続いて、元ジョブの描画処理部１２２は、割り込み完了通知を受け付けると（Ｓ４０７、図５のＳ２１４）、中断されていた元ジョブの描画処理を再開する（Ｓ４０８、図５のＳ２１５）。この際、元ジョブの描画処理部１２２のプロセス空間１１２１には、元ジョブリソースデータしか格納されていない。したがって、元ジョブの描画処理においては、割り込みジョブによる影響を受けることはない。
【００６０】
続いて、描画処理部１２２は、リソースデータ管理テーブルを参照して、ＨＤＤ１１４に保存されている割り込みジョブリソースデータをプロセス空間１１２１に読み込む（Ｓ４０９）。図９の（Ｓ４０９）では、割り込みジョブリソースデータがＨＤＤ１１４からプロセス空間１１２１に読み込まれる様子が示されている。これにより、以降の印刷ジョブについては、元ジョブ及び割り込みジョブのリソースデータを利用することができる。すなわち、割り込みジョブリソースデータについても以降の印刷ジョブにおいて共用することができる。
【００６１】
次に、図８のステップＳ４０６における、割り込みジョブリソースデータのＨＤＤ１１４への保存処理の詳細について説明する。図１１は、割り込み描画処理部による割り込みジョブリソースデータのＨＤＤへの保存処理を説明するためのフローチャートである。
【００６２】
まず、ＨＤＤ１１４内に元ジョブリソースデータが保存されているか否かを確認する（Ｓ５０１）。当該確認は、リソースデータ管理テーブルに基づいて行えばよい。すなわち、リソースデータ管理テーブルにレコードが登録されている場合、ＨＤＤ１１４内に元ジョブリソースデータが保存されているということになる。
【００６３】
ＨＤＤ１１４内に、元ジョブリソースデータが保存されている場合（Ｓ５０１でＹｅｓ）、ステップＳ５０２〜Ｓ５０５の処理によって、プロセス空間１１２２内における割り込みジョブリソースデータのうち、元ジョブリソースデータと重複しないリソースデータのみをＨＤＤ１１４に保存する。
【００６４】
すなわち、プロセス空間１１２２内における割り込みリソースデータのうちの一つを処理対象（カレントリソースデータ）とし、カレントリソースデータとリソースデータＩＤが一致するリソースデータ（以下「同一ＩＤリソースデータ」という。）がリソースデータ管理テーブルに登録されているか否かを確認する（Ｓ５０２）。登録されていない場合（Ｓ５０２でＮｏ）、カレントリソースデータと重複するリソースデータはＨＤＤ１１４内に存在しないため、カレントリソースデータをファイルとしてＨＤＤ１１４に保存する（Ｓ５０４）。この際、リソースデータ管理テーブルにカレントリソースデータに対応するレコードを追加する。
【００６５】
一方、同一ＩＤリソースデータが登録されている場合（Ｓ５０２でＹｅｓ）、カレントリソースデータと、ＨＤＤ１１４にファイルとして保存されている同一ＩＤリソースデータとの内容が同じか否かを判定する（Ｓ５０３）。すなわち、同一ＩＤリソースデータについては、印刷ジョブの描画処理の過程においてリソースデータの内容が更新されている可能性があるからである。
【００６６】
内容が異なる場合（Ｓ５０３でＹｅｓ）、カレントリソースデータをＨＤＤ１１４にファイルとして保存する（Ｓ５０４）。内容が同じ場合、カレントリソースデータの保存は行わない。ステップＳ５０２〜Ｓ５０４までの処理を割り込みジョブリソースデータに含まれている全てのリソースデータについて行うと（Ｓ５０５でＮｏ）、処理を終了する。
【００６７】
なお、ＨＤＤ１１４内に、元ジョブリソースデータが保存されていない場合（Ｓ５０１でＮｏ）、割り込みジョブリソースデータの全てをＨＤＤ１１４に保存する。
【００６８】
上述したように、本実施の形態における画像形成装置１０によれば、印刷に利用されるリソースデータについて割り込み印刷が実行される際の取り扱いを適切に行うことができる。なお、リソースデータには、フォントデータの他、マクロ、ユーザによってデザインされたパターンデータ等、各種のデータが含まれ得る。
【００６９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。
【図３】一つの印刷ジョブ係る印刷データのデータ構造の例を示す図である。
【図４】通常印刷時の画像形成装置の印刷処理を説明するためのフローチャートである。
【図５】割り込み印刷発生時の画像形成装置の印刷処理を説明するためのフローチャートである。
【図６】割り込みジョブのリソースファイルの上書きによる不都合の回避処理を説明するためのフローチャートである。
【図７】割り込みジョブのリソースファイルの上書きによる不都合の回避処理に応じたＨＤＤ内の状態の変化を示す図である。
【図８】プロセス空間に保持されるリソースデータを割り込みジョブに共用させるための処理を説明するためのフローチャートである。
【図９】プロセス空間に保持されるリソースデータを割り込みジョブに共用させるための処理に応じたプロセス空間及びＨＤＤの状態の変化を示す図である。
【図１０】リソースデータ管理テーブルの例を示す図である。
【図１１】割り込み描画処理部による割り込みジョブリソースデータのＨＤＤへの保存処理を説明するためのフローチャートである。
【符号の説明】
【００７１】
１０        画像形成装置
１１        コントローラ
１２        スキャナ
１３        プリンタ
１４        モデム
１５        ネットワークインタフェース
１６        操作パネル
１１０      コントロールサービス
１１１      ＣＰＵ
１１２      ＲＡＭ
１１３      ＲＯＭ
１１４      ＨＤＤ
１２０      プリンタアプリ
１２１      ジョブ制御部
１２２      描画処理部
１２２ａ    割り込み描画処理部
１２３      プリンタシステム
１３０      ＦＡＸアプリ
１４０      コピーアプリ
【図１】
2008195041.tif 000003
【図２】
2008195041.tif 000004
【図３】
2008195041.tif 000005
【図４】
2008195041.tif 000006
【図５】
2008195041.tif 000007
【図６】
2008195041.tif 000008
【図７】
2008195041.tif 000009
【図８】
2008195041.tif 000010
【図９】
2008195041.tif 000011
【図１０】
2008195041.tif 000012
【図１１】
2008195041.tif 000013