(57)【要約】【課題】  大域再利用オブジェクトの生存期間を削減して、各ファイル間で共通に利用されるオブジェクトがメモリを占める占有率を低下させることである。【解決手段】    印刷ジョブからジョブチケットを生成し、当該ジョブチケットからサブセットフィニッシング設定数の上限値がＭＦＰに設定されている上限値を超えていると判断した場合、ジョブ分割部１９１が上限値を元にファイルを分割する（Ｓ１１０６）。そして、分割されたファイルのレコードに基づいて各ファイルで共通して利用される大域再用オブジェクトを再定義する（Ｓ１１０９）。そして、分割されたファイルを大域再用オブジェクトの出現順序で入れ替える（Ｓ１１０８）。そして、入れ替えられたファイルを印刷した後、管理されるテーブルを参照して、大域再用オブジェクトを削除する（Ｓ１１１２）ことを特徴とする。【選択図】  図１３
2010165018.tif 000002
【特許請求の範囲】
【請求項１】
ページ毎に後段処理を指定可能な印刷ジョブを受信して処理する画像形成装置であって、
前記印刷ジョブに対して設定された後段処理の設定数を取得する取得手段と、
前記取得手段が取得した前記設定数に基づいて前記印刷ジョブを複数のデータに分割する分割手段と、
前記分割手段により分割された各データにおいて利用されるオブジェクトを、前記各データから利用可能な再利用オブジェクトとして定義する定義手段と、
前記定義手段により定義された再利用オブジェクトの生存期間を記憶する記憶手段と、
印刷ジョブに基づく印刷が完了した後、前記記憶手段に記憶された生存期間に基づいて、再利用オブジェクトを削除する削除手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記分割手段により分割した前記再利用オブジェクトの出現順序に応じて、前記分割手段により分割されたデータの印刷順序を入れ替える入替手段をさらに備える請求項１に記載の画像形成装置。
【請求項３】
前記分割手段は、
前記画像形成装置が記憶可能な前記後段処理で設定可能な上限値を取得する上限値取得手段と、
前記上限値取得手段が取得した上限値に基づき前記分割手段が分割するデータに含めることが可能なレコード数を決定するレコード数決定手段とを備え、
前記分割手段は、レコード数決定手段により決定されたレコード数に従い前記印刷ジョブを複数のデータに分割することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記入替手段は、
前記定義手段により定義された大域再利用オブジェクトが各データより参照される回数を取得する回数取得手段と、
前記取得手段により取得された大域再利用オブジェクトの参照回数が一番少ないデータを基準点に決定する基準点決定手段とを備え、
前記入替手段は、前記基準点決定手段により決定された基準点のデータを印刷順序の先頭に入れ替えることを特徴とする請求項２に記載の画像形成装置。
【請求項５】
前記印刷ジョブを、前記印刷ジョブに含まれる再利用するオブジェクトの出現順序に応じて複数のデータに分割する分割手段と、
前記分割手段により分割された各データにおいて利用されるオブジェクトを再利用オブジェクトとして定義する定義手段と、
を備えることを特徴とする請求項１に記載の画像形成装置。
【請求項６】
前記分割手段により分割したファイルを前記大域再利用オブジェクトの出現順序に応じて、ファイル印刷順序を入れ替える入替手段をさらに有する請求項４に記載の画像形成装置。
【請求項７】
前記分割手段は、
前記印刷ジョブを複数に分割するためのレコードを決定する決定手段と、
前記決定手段により決定されたレコードが使用しているレコード間で共通に使用される再利用オブジェクトを管理する管理手段と、
前記管理手段により管理されているオブジェクトを使用しているレコードを抽出する抽出手段と、
を有することを特徴とする請求項５に記載の画像形成装置。
【請求項８】
前記入替手段は、
前記定義手段により定義された大域再利用オブジェクトが各ファイルより参照される回数を取得する回数取得手段と、
前記回数取得手段により取得された大域再利用オブジェクトの参照回数が一番少ないファイルを基準点に決定する基準点決定手段とを備え、
前記入替手段は、前記基準点決定手段により決定された基準点に対応するファイルを印刷順序の先頭に入れ替えることを特徴とする請求項４に記載の画像形成装置。
【請求項９】
前記記憶手段では、大域再利用オブジェクトがファイルで利用される始点、終点、利用区間を記憶することを特徴とする請求項１又は４に記載の画像形成装置。
【請求項１０】
前記入替手段は、
レコード間で共通に利用されるオブジェクトのレコードから参照される回数を取得する回数取得手段と、
前記回数取得手段により取得された参照回数の一番少ないオブジェクトを基準点として決定する基準点決定手段と、
前記基準点決定手段により決定されたオブジェクトを使用しているレコードを抽出する抽出手段と、
前記抽出手段により抽出された順序に従ってレコードの印刷順序を指定する指定手段とを有することを特徴とする請求項４に記載の画像形成装置。
【請求項１１】
ページ毎に後段処理を指定可能な印刷ジョブを受信して処理する画像形成装置におけるジョブ処理方法であって、
前記印刷ジョブに対して設定された後段処理の設定数を取得する取得ステップと、
前記取得ステップが取得した前記設定数に基づいて前記印刷ジョブを複数のデータに分割する分割ステップと、
前記分割ステップにより分割された各データにおいて利用されるオブジェクトを、前記各データから利用可能な再利用オブジェクトとして定義する定義ステップと、
前記定義ステップにより定義された再利用オブジェクトの生存期間を記憶手段に記憶する記憶ステップと、
印刷ジョブに基づく印刷が完了した後、前記記憶手段に記憶された生存期間に基づいて、再利用オブジェクトを削除する削除ステップと、
を備えることを特徴とするジョブ処理方法。
【請求項１２】
前記分割ステップにより分割した前記再利用オブジェクトの出現順序に応じて、前記分割ステップにより分割されたデータの印刷順序を入れ替える入替ステップをさらに備える請求項１１に記載のジョブ処理方法。
【請求項１３】
前記分割ステップは、
前記画像形成装置が記憶可能な前記後段処理で設定可能な上限値を取得する上限値取得ステップと、
前記上限値取得ステップが取得した上限値に基づき前記分割ステップが分割するデータに含めることが可能なレコード数を決定するレコード数決定ステップとを備え、
前記分割ステップは、レコード数決定ステップにより決定されたレコード数に従い前記印刷ジョブを複数のデータに分割することを特徴とする請求項１１に記載のジョブ処理方法。
【請求項１４】
前記入替ステップは、
前記定義ステップにより定義された大域再利用オブジェクトが各データより参照される回数を取得する回数取得ステップと、
前記取得ステップにより取得された大域再利用オブジェクトの参照回数が一番少ないデータを基準点に決定する基準点決定ステップとを備え、
前記入替ステップは、前記基準点決定ステップにより決定された基準点のデータを印刷順序の先頭に入れ替えることを特徴とする請求項１２に記載のジョブ処理方法。
【請求項１５】
前記印刷ジョブを、前記印刷ジョブに含まれる再利用するオブジェクトの出現順序に応じて複数のデータに分割する分割ステップと、
前記分割ステップにより分割された各データにおいて利用されるオブジェクトを再利用オブジェクトとして定義する定義ステップと、
を備えることを特徴とする請求項１１に記載のジョブ処理方法。
【請求項１６】
前記分割ステップにより分割したファイルを前記大域再利用オブジェクトの出現順序に応じて、ファイル印刷順序を入れ替える入替ステップをさらに有する請求項１４に記載のジョブ処理方法。
【請求項１７】
前記分割ステップは、
前記印刷ジョブを複数に分割するためのレコードを決定する決定ステップと、
前記決定ステップにより決定されたレコードが使用しているレコード間で共通に使用される再利用オブジェクトを管理する管理ステップと、
前記管理ステップにより管理されているオブジェクトを使用しているレコードを抽出する抽出ステップと、
を有することを特徴とする請求項１５に記載のジョブ処理方法。
【請求項１８】
前記入替ステップは、
前記定義ステップにより定義された大域再利用オブジェクトが各ファイルより参照される回数を取得する回数取得ステップと、
前記回数取得ステップにより取得された大域再利用オブジェクトの参照回数が一番少ないファイルを基準点に決定する基準点決定ステップとを備え、
前記入替ステップは、前記基準点決定ステップにより決定された基準点に対応するファイルを印刷順序の先頭に入れ替えることを特徴とする請求項１４に記載のジョブ処理方法。
【請求項１９】
前記記憶手段では、大域再利用オブジェクトがファイルで利用される始点、終点、利用区間を記憶することを特徴とする請求項１１又は１４に記載のジョブ処理方法。
【請求項２０】
前記入替ステップは、
レコード間で共通に利用されるオブジェクトのレコードから参照される回数を取得する回数取得ステップと、
前記回数取得ステップにより取得された参照回数の一番少ないオブジェクトを基準点として決定する基準点決定ステップと、
前記基準点決定ステップにより決定されたオブジェクトを使用しているレコードを抽出する抽出ステップと、
前記抽出ステップにより抽出された順序に従ってレコードの印刷順序を指定する指定ステップとを有することを特徴とする請求項１４に記載のジョブ処理方法。
【請求項２１】
請求項１１乃至２０のいずれか１項に記載のジョブ処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２２】
請求項１１乃至２０のいずれか１項に記載のジョブ処理方法をコンピュータに実行させるためのプログラを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ毎に後段処理を指定可能な印刷ジョブを受信して処理する画像形成装置に関するものである。
【背景技術】
【０００２】
請求書やダイレクトメールなど、顧客毎に異なる個人情報や利用データ、愛好に応じて印刷するコンテンツを切り替える印刷手法の１つにＶＤＰ(Variable Data Printing)がある。ここで、上記印刷手法を満たす技術の一つにＰＰＭＬ(Personalized Print Markup Language)がある。ＰＰＭＬはＸＭＬ(eXtensible Markup Language)の一種であり、ＰＯＤｉという組織が主導で仕様を取り決めているオープンな規格である。
【０００３】
ＰＰＭＬはページ上にオブジェクトを配置するための領域を定義した上で、当該定義された領域にＰＳやＰＤＦ、ＪＰＥＧなどで与えられたオブジェクトを描画して、ページ上の所定の位置に配置するといった指示を、非常に簡単に記述できる。
【０００４】
つまりＰＳやＰＤＦ、ＪＰＥＧは紙面に配置されるオブジェクトを描画するが、ＰＰＭＬはそのオブジェクトが描画され、それらを紙面に配置する配置エンジンをＰＰＭＬが制御する、といった構造になっている。
【０００５】
その中でＰＰＭＬでは、使い回されるオブジェクトの名前を定義し、名前を定義したオブジェクトに関しては、以降その名前でオブジェクトを参照する仕様（Ｒｅｕｓａｂｌｅ  Ｏｂｊｅｃｔ：再利用オブジェクト）を備えている。この仕様は、使い回されるオブジェクトの描画を予め済ませておくことで、描画エンジンが同じオブジェクトを何度も再描画しないようにするために導入されている。
【０００６】
更にＰＰＭＬには、ある印刷ジョブで定義し名前をつけたオブジェクトを別の印刷ジョブから参照するように、当該オブジェクトを定義する仕様（Ｇｌｏｂａｌ  Ｒｅｕｓａｂｌｅ  Ｏｂｊｅｃｔ：大域再利用オブジェクト）も具有している。
【０００７】
各ページに印字される画像は、オブジェクトの配置領域を定めたテンプレートデータと、データベースなどに登録された印字オブジェクト情報をもとに描画を行う。
【０００８】
上記ＶＤＰでは前述した通り、ユーザは、ページごとに印字するオブジェクトを切り替えることが可能である。VDPでは、ユーザは、ページ毎に後段処理を指定することも可能である。１ドキュメント中において複数設定可能な後段処理の設定は、サブセットフィニッシングと呼ばれている。
【０００９】
しかしこのような１ドキュメント中で複数の後段処理を指定可能なサブセットフィニッシングにおいては、記憶領域が無限に存在しない限り、オペレータより要求された設定を記憶しておくことは不可能である。そのため、設定可能なサブネットフィニッシングの設定数には上限値が存在する。
【００１０】
例えば請求書やパンフレットの印刷には、何千、何万といった顧客数の設定も可能である。そのため例として画像形成装置側の設定として４００というサブセットフィニッシング上限値が設けられていた場合、オペレータより要求された全てのサブセットフィニッシング設定を記憶しておくことができない場合がある。
【００１１】
そのため従来は、画像形成装置側に送信する１つの印刷ジョブに対して、複数ファイルにサブセットフィニッシングの設定上限値に基づき分割するといった回避策が取られている。分割されたファイル毎にサブセットフィニッシング設定を適用することで、画像形成装置側のサブセットフィニッシング記憶域の上限を超えることなく印刷することが可能である。
【００１２】
だが問題点として、１ジョブの中で何度も利用される再利用オブジェクトを、分割されたファイル毎に再度定義しなければならないという問題がある。
【００１３】
例として１ファイル目ではオブジェクトＡを再利用オブジェクトとして定義するが、２ファイル目でも同様にしてオブジェクトＡが再利用オブジェクトして利用される場合がある。
【００１４】
その場合既に１ファイル目を印刷する際ラスタデータ化されたオブジェクトＡを、２ファイル目を印刷する際再び定義してＲＩＰしなおさなければならない。
【００１５】
再利用オブジェクトは分割されたファイル間をまたがって利用することはできないため、１ファイル目で再利用オブジェクトの削除を行い、２ファイル目で再び生成処理（ＲＩＰ処理）を行うことにより、無駄な処理が加えられる。
【００１６】
そのため従来の技術では同じオブジェクトの再生成処理を行ってしまいパフォーマンスの低下という問題が発生していた。
【００１７】
そこで従来技術では１つのジョブを複数のファイルに分割する際、各ページで利用される再利用オブジェクトの利用頻度に応じてファイル分割を行っている（特許文献１）。
【００１８】
更に分割したファイルを複数の画像形成装置に転送することで、パフォーマンス向上を図っている。
【特許文献１】特開２００７−２２６４６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかし、１つのジョブを複数のファイルに分割する際、再利用オブジェクトの利用頻度に応じて分割した場合においても、分割されたファイル間で再利用オブジェクトが使用される場合がある。
【００２０】
例えば、１ジョブ中に１０レコードが存在し、２ファイルに分割して画像形成装置に転送する場合を考える。
【００２１】
この場合、１０個のレコード中で再利用オブジェクトＢが、１〜１０レコードまでの全レコードで使用される場合、１ファイル目、２ファイル目ともに再利用オブジェクトＢを定義しなければならない。
【００２２】
そのため、分割後のファイル間でも再利用オブジェクトが使用される場合は、再利用オブジェクトの削除及び生成を行わなければならず無駄な処理が発生してしまうという事態を招いていた。
【００２３】
本発明は、上記の課題の少なくとも一つを解決するためになされたものである。本発明の目的のひとつは、印刷ジョブを分割して得たデータを処理する場合に、複数のデータ間で共通して利用される再利用オブジェクトのに関わる処理を軽減できる仕組みを提供することである。
【課題を解決するための手段】
【００２４】
上記目的を達成する本発明の画像形成装置は以下に示す構成を備える。
【００２５】
ページ毎に後段処理を指定可能な印刷ジョブを受信して処理する画像形成装置であって、前記印刷ジョブを解析して、前記後段処理の設定数を取得する取得手段と、前記取得手段が取得した前記設定数に基づいて前記印刷ジョブを複数のファイルに分割する分割手段と、前記分割手段により分割された各ファイルにおいて共通して利用されるオブジェクトを大域再利用オブジェクトとして定義する定義手段と、前記分割手段により分割したファイルを前記大域再利用オブジェクトの出現順序に応じて、ファイル印刷順序を入れ替える入替手段と、前記定義手段により定義された大域再利用オブジェクトの生存期間を記憶する記憶手段と、前記入替手段により入れ替えられたファイルを印刷する印刷手段と、前記印刷手段により印刷が完了した後、前記記憶手段に記憶された生存期間に基づいて、使用されない大域再利用オブジェクトを削除する削除手段と、を備えることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、再利用オブジェクトの出現順序に応じてファイル印刷順序を入れ替えることにより、大域再利用オブジェクトの生存期間が削減し、当該オブジェクトがメモリを占める占有率を低下させることができる。
【００２７】
また、再利用オブジェクトの出現順序に応じてレコードの印刷順序を入れ替えることにより、大域再利用オブジェクトの個数を削減し、当該オブジェクトがメモリを占める占有率を低下させることができる。
【００２８】
さらに、レコードの印刷順序の入れ替え処理を施し再利用オブジェクトの生存期間を削減することで、当該オブジェクトがメモリを占める占有率を低下させることができる。
【発明を実施するための最良の形態】
【００２９】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００３０】
＜システム構成の説明＞
〔第１実施形態〕
まず、本発明の実施の形態を適用可能な画像形成装置の一例としてレーザビームプリンタの構成例を説明する。
【００３１】
なお、本実施形態は、レーザビームプリンタのみならず、例えばインクジェットプリンタ、イメージセッター、オフセット画像形成装置など、即ち可視化可能な画像処理にかかる装置に適用可能である。以下、これらのレーザビームプリンタに代表される画像形成装置を、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅ：多機能印刷機）と呼ぶ。ここで、ＭＦＰは、自装置内部に複数のジョブのデータを記憶可能なハードディスク等のメモリを具備している。そして、スキャナから出力されたジョブデータに対し該メモリを介してプリンタ部でプリント可能にするコピー機能を備える。さらに、コンピュータ等の外部装置から出力されたジョブデータに対し該メモリを介してプリント部でプリント可能にするプリント機能等の複数の機能を備えている。
【００３２】
ＭＦＰには、フルカラー機器とモノクロ機器があり、色処理や内部データなどを除いて、基本的な部分において、フルカラー機器がモノクロ機器の構成を包含することが多い。このため、ここではフルカラー機器を主に説明し、必要に応じて随時モノクロ機器の説明を加えることとする。
【００３３】
又、本システムの構成に関し、上記の如く、複数の機能を具備した複合機能型の画像形成装置を有すると共に、プリント機能のみを具備した単一機能型の画像形成装置等のＳＦＰ（Single Function Peripheral:単一機能周辺機器）を具備する構成でも良い。さらに、いずれか一方のタイプの画像形成装置のみを具備する構成でも良い。又、何れのタイプの画像形成装置であっても、複数台具備する構成でも良い。いずれにしても、本形態の制御が実現可能な構成であればよい。
【００３４】
図１は、本実施形態を示す画像形成装置を含む画像形成システムの一例を示す図である。
【００３５】
図１において、ＭＦＰ１は、ネットワーク３を介して２ａ及び２ｂであるホストコンピュータ（以下ホストコンピュータを２とする。但し、これに限定されずホストコンピュータは多数存在するものである。）と接続される。ネットワーク３はホストコンピュータ２から、カラーＭＦＰ（以下、単にＭＦＰとする）１へのデータ送信や、命令を交換することを可能にする。
【００３６】
以下、ＭＦＰ１が備える機能について説明する。
【００３７】
以下は、各機能とそれぞれの機能が実行された場合に、データが各部においてどのような順序で転送されるかを示している。  
複写機能 ：入力画像処理部→出力画像処理部→プリンタ部
ＦＡＸ送信機能 ：入力画像処理部→ＦＡＸ部
ＦＡＸ受信機能 ：ＦＡＸ部→出力画像処理部→プリンタ部
ネットワークスキャン ：入力画像処理部→ＮＩＣ部
ネットワークプリント ：ＮＩＣ部→ＲＩＰ部→出力画像処理部→プリンタ部
外部装置へのスキャン ：入力画像処理部→専用Ｉ／Ｆ部
外部装置からのプリント ：専用Ｉ／Ｆ部→出力画像処理部→プリンタ部
外部メモリへのスキャン ：入力画像処理部→ＵＳＢ Ｉ／Ｆ部
外部メモリからのプリント：ＵＳＢ Ｉ／Ｆ部→ＲＩＰ部→出力画像処理部→プリンタ部
ボックススキャン機能 ：入力画像処理部→出力画像処理部→文書管理部
ボックスプリント機能 ：文書管理部→プリンタ部
ボックス受信機能 ：ＮＩＣ部→ＲＩＰ部→出力画像処理部→文書管理部
ボックス送信機能 ：文書管理部→ＮＩＣ部
プレビュー機能 ：文書管理部→操作部
上記以外にも、Ｅ−ｍａｉｌサービスやＷｅｂサーバ機能を初めとして、様々な機能との組み合わせが考えられるが、ここでは割愛する。
【００３８】
［ＭＦＰの構成］
図２は、図１に示したＭＦＰ１の構成を説明するブロック図である。
【００３９】
図２において、入力画像処理部１２は、原稿画像などをスキャナ１１で読み取った画像データ（以下「スキャン画像」と呼ぶ）を画像処理する。
【００４０】
ネットワークインタフェースカード（ＮＩＣ）１３は、ネットワーク３を介して入力される画像データを画像処理／ＲＩＰ部１７に渡す。また、ＮＩＣ１３は、ＭＦＰ１内の画像データや装置情報を、ネットワーク３を経由して外部の装置に送信する。
【００４１】
ＭＦＰ制御部１５ａは、スキャン画像やネットワーク画像などＭＦＰ１に入力された画像をそのままメモリ１６ａに蓄えておくための制御を行う。
【００４２】
画像処理／ＲＩＰ部１７は、スキャン画像の傾き補正、孤立点の除去（ごみ取り）など、メモリ内の画像に比較的時間がかかるソフトウェア的な画像処理を行う。また、画像処理／ＲＩＰ部１７は、ネットワーク３から入力されたＰＤＬデータのコードを解読し、ＲＩＰを行ってラスタデータを生成する。
【００４３】
ＭＦＰ制御部１５ｂは、画像処理／ＲＩＰ部１７から出力される画像データ（ラスタデータ）をメモリ１６ｂに蓄えておくための制御を行う。なお、同じジョブにおいては、メモリ１６ａに蓄えられるジョブＡと、メモリ１６ｂに蓄えられるジョブＢは関連付けされ、互いに、すぐに呼び出せる関係になっている。
【００４４】
また、必要に応じて、ユーザは操作部１４を操作し、または、ネットワーク３経由で指示を入力することで、メモリ１６ａまたはメモリ１６ｂに蓄積されたジョブを呼び出すことが可能である。
【００４５】
出力画像処理部２０は、ＭＦＰ制御部１５ｂから入力される画像データにプリント用の画像処理を施す。
【００４６】
プリンタ２１は、記録紙を供給し、出力画像処理部２０から出力される画像データが表す画像を記録紙に順次印刷する。後処理部２２は、印刷が終了した記録紙に、仕分け処理や仕上げ処理（後段処理）を施す。ここで、後段処理は、受信する印刷ジョブでページ毎に指定可能に構成されている。
【００４７】
操作部１４は、上記の様々なフローや機能を選択する指示するためにユーザが操作するものである。しかし、操作部１４が備えるＬＣＤなどの表示装置の高解像度化に伴い、メモリ１６ａやメモリ１６ｂに蓄積した画像をプレビューして確認後、印刷してよければプリントを指示するといった使い方もできる。
【００４８】
なお、ＭＦＰ制御部１５ａとＭＦＰ制御部１５ｂは、それらの機能を分けて説明するため、図２には異なる構成のように記載した。
【００４９】
しかし、ＭＦＰ制御部１５ａとＭＦＰ制御部１５ｂは通常は一体に構成するので、以下では、これらを分けずにＭＦＰ制御部１５として説明する場合がある。
【００５０】
同様に、メモリ１６ａとメモリ１６ｂは、それらの機能を分けて説明するため、図２には異なる構成のように記載した。
【００５１】
しかし、メモリ１６ａとメモリ１６ｂを、例えば、一つのハードディスクに割り当てることができるし、異なるハードディスクに割り当てることもできるので、以下では、単にメモリ１６と呼ぶ場合もある。
【００５２】
図３は、図２に示したＭＦＰ制御部１５ａの構成を説明するブロック図である。
【００５３】
図３において、入力ジョブ管理部１５１は、入力ジョブを管理し、メモリ１６ａに対するジョブの読み書きと、その処理順序を制御する。また、ジョブを入力するデバイスに応じた制御も行う。
【００５４】
入力ジョブ制御部１５２は、プロトコル解釈部１５３とジョブ生成部１５４から構成される。入力ジョブ管理部１５１から入力ジョブ制御部１５２に入力される一連の操作要求は、コマンド（プロトコル）と呼ばれる命令信号として受信される。
【００５５】
プロトコル解釈部１５３は、操作要求の概要を解釈し、ＭＦＰ１内で理解できる操作手順に変換する。
【００５６】
一方、ジョブ生成部１５４は、プリントジョブ、スキャンジョブ、ＰＤＬレンダリングジョブ、ファックス受信ジョブなど様々なジョブを生成する。このようにして生成されたジョブには、ＭＦＰ１内でどのような処理を施して、どこに送るかといった作業を表すシナリオ（スクリプト）が付加されている。従って、ジョブは、そのシナリオに従いＭＦＰ１内を流れる。
【００５７】
圧縮伸長部１５５は、必要に応じてジョブをデータ圧縮してメモリ１６ａに格納する。また、データ圧縮したジョブがメモリ１６ａから読み出された場合は伸長する。なお、メモリ１６ａから読み出されたジョブは、入力ジョブ管理部１５１によって出力される。
【００５８】
［ＭＦＰ制御部１５ｂ］
図４は、図２に示したＭＦＰ制御部１５ｂの構成例を示すブロック図である。
【００５９】
図４において、出力ジョブ管理部１８１は、メモリ１６ａおよびメモリ１６ｂから読み出されるジョブを管理し、メモリ１６ｂに対するジョブの読み書きと、ジョブの処理順序を制御する。
【００６０】
出力ジョブ制御部１８２は、ジョブ解析部１８３、バインダ解析部１８４、ドキュメント解析部１８５およびページ解析部１８６から構成され、ジョブの設定情報（所謂ジョブチケット）と画像情報を作成する。
【００６１】
ジョブ解析部１８３は、印刷する文書名や印刷部数、出力先である排紙トレイの指定、複数バインダで構成されるジョブのバインダ順など、ジョブ全体に関わる設定情報の詳細を解析し、ジョブ設定情報１８３ａを作成する。
【００６２】
バインダ解析部１８４は、製本方式の設定やステイプルの位置、複数ドキュメントで構成されるバインダのドキュメント順など、バインダ全体に関わる設定情報の詳細を解析し、バインダ情報１８４ａを作成する。
【００６３】
ドキュメント解析部１８５は、複数頁で構成されるドキュメントの頁順、両面印刷の指定、表紙や台紙の付加など、ドキュメント全体に関わる設定情報の詳細を解析し、ドキュメント設定情報１８５ａを作成する。
【００６４】
ページ解析部１８６は、画像の解像度、画像の向き（ランドスケープ／ポートレイト）など、ページ全体に関する設定情報の詳細を解析し、ページ設定情報１８６ａを作成する。
【００６５】
ジョブ分割部１９１は、入力されたジョブの印刷設定数（サブセットフィニッシング設定数）がＭＦＰ１における記憶上限値を超えていた際、ジョブをファイルに分割する分割処理を行う。
【００６６】
なお、この出力ジョブ管理部１８１は、本実施形態ではＭＦＰ１における処理として説明したがホストコンピュータ２で処理を行っても良い。またホストコンピュータ２とＭＦＰ間でのネットワーク３上に、ジョブの管理を行うプリントサーバを設け、該プリントサーバで上記ジョブ管理処理を行ってもよい。
【００６７】
ジョブ再生成部１９２は、ジョブ分割部１９１で分割された各データから利用可能なオブジェクトを、大域再利用オブジェクト（global  object）として再定義を行う。
【００６８】
また、ジョブ再生成部１９２は、再定義を行った大域利用オブジェクトが分割された何ファイル目〜何ファイル目まで利用されるかを記述した大域再利用オブジェクトのための生存期間テーブルを作成する。
【００６９】
オブジェクト管理部１９３は、ジョブ再生成部１９２より作成されたオブジェクトの生存期間を示した生存期間テーブルを記憶する。また、オブジェクト管理部１９３は、印刷後のファイルにおいて、上記生存期間テーブルに基づいて、以降のファイルにて使用されないオブジェクトをメモリ１６ｂより廃棄処理を行う。
【００７０】
画像情報の生成に当たり、スキャン画像の場合はスキャン画像用の画像処理を施し、ＰＤＬデータの場合は画像処理／ＲＩＰ部１７を呼び出してレンダリングし、ページ画像情報１７ａを生成する。ページ画像情報は、圧縮伸長部１８７によりデータ圧縮された後、シナリオおよび設定情報と関連付けられ、メモリ１６ｂに格納される。
【００７１】
デバイス管理部１８８は、デバイス割当部１８９とデバイス制御部１９０から構成される。メモリ１６ｂから関連付けられたシナリオおよび設定情報と一緒に読み出されるページ画像情報は圧縮伸長部１８７によって伸長され、シナリオ、設定情報およびページ画像情報は一組としてデバイス管理部１８８に入力される。
【００７２】
デバイス割当部１８９は、シナリオに基づきデバイスを割り当てる際に、複数のジョブが同時に処理を進めると発生するデバイスの競い合う状態を調停する役割を果たす。デバイス制御部１９０は、プリンタ２１や後処理部２２など、どのデバイスをどのタイミングで利用するかをスケジュールする。
【００７３】
［メモリ］
ここで、データを格納する三つの格納方式を定義する。
【００７４】
一つ目は、一時的な格納方式で、ジョブが終了した時点、メモリ１６（メモリとハードディスクの両方の場合がある）の使用量が予め決めた値を超えた時点、および、装置の電源をオフした時点などに保管したデータが消える方式である。つまり、ある限られた期間において有効な格納方式で「ホールドジョブ」と呼ぶ。
【００７５】
二つ目は、ユーザが意図的にＭＦＰ内のハードディスクにデータを格納し、ユーザの意思で格納後のデータを消去したり、保存期間あるいはセキュリティパスワードなどを設定したりすることができる方式で「ボックスジョブ」と呼ぶ。
【００７６】
三つ目は、ＭＦＰ外のリムーバブルメディアやファイルサーバに設定情報（ジョブチケット）と画像情報を一緒に格納する方式で「アーカイブジョブ」と呼ぶ。
【００７７】
図５は、図２に示したメモリ１６の管理構造を示す概念図である。本例は、上記の何れの格納方式の場合も、概ね、以下で説明する同様な方式で管理することができる。
【００７８】
図５において、メモリ１６は、フォルダ管理に関する設定情報を格納する一つまたは複数のフォルダ管理部３１ａ〜３１ｎを有する。フォルダ管理部３１は、ジョブ設定情報を格納する一つまたは複数のジョブ管理部３２ａ〜３２ｎを有する。
【００７９】
ジョブ管理部３２ａ〜３２ｎは、バインダ設定情報を格納する一つまたは複数のバインダ管理部３３ａ〜３３ｎを有する。また、バインダ管理部３３ａ〜３３ｎは、ドキュメント設定情報を格納する一つまたは複数のドキュメント管理部３４ａ〜３４ｎを有する。
【００８０】
ドキュメント管理部３４ａ〜３４ｎは、ページ設定情報を格納する一つまたは複数のページ管理部３５ａ〜３５ｎを有する。ページ管理部３５ａ〜３５ｎは各頁のページ画像情報３６ａ〜３６ｎを格納する。
【００８１】
上記のジョブ設定情報、バインダ設定情報、ドキュメント設定情報およびページ設定情報は、図４に示す各設定情報（ジョブチケット）であり、ジョブを処理するために必要な様々な属性値（パラメータ）などの情報が記録されている。
【００８２】
また、ページ管理部３５ａ〜３５ｎに格納された各ページ画像情報３６ａ〜３６ｎは、スキャナ１１で読み込んだ一頁分の画像データ、装置外から受信したＰＤＬデータをラスタライズした一頁分の画像データを意味する。あるいは、各ページ画像情報３６ａ〜３６ｎは、ファクシミリ受信した一頁分の画像データなどを意味する。各ページ画像情報３６ａ〜３６ｎは圧縮伸長部１５５、１８７において圧縮された画像データでも、非圧縮の画像データでも構わない。
【００８３】
［画像処理／ＲＩＰ部］
図６は、図２に示した画像処理／ＲＩＰ部１７の構成例を示すブロック図である。なお、ＲＩＰは、ＰＤＬなどの記述言語で記述された文字、線画、図形などのベクトル情報、ビットマップ情報などを、同時に頁として再現するために、各オブジェクト情報をメモリ１６上にラスタ画像としてラスタライズする処理である。
【００８４】
従来はハードウェアとして装置に搭載される場合が多かったが、現在は、ＣＰＵの高速化によってソフトウェアで実現されることが多い。
【００８５】
画像処理／ＲＩＰ部１７は、一般に、インタプリタ４１とレンダリング部４２の二つの部分から構成される。
【００８６】
図６において、インタプリタ４１は、ＰＤＬデータを解析するＰＤＬ解析部４３、および、解析されたＰＤＬデータからディスプレイリストと呼ぶ中間ファイルを生成するディスプレイリスト（ＤＬ）生成部４４から構成される。
【００８７】
ＰＤＬ解析部４３は、入力される様々な種類のＰＤＬデータを解析する。ＰＤＬデータのフォーマットとしては、Ａｄｏｂｅ社のＰｏｓｔＳｃｒｉｐｔ（Ｒ）言語やＨＰ社のＰＣＬ言語などが有名である。これらは、頁単位の画像を作成するためのプリンタ制御コードで記述され、単純な文字コードのほか、図形描画コードや写真画像コードなども含まれる。
【００８８】
また、ＰＤＦというＡｄｏｂｅ社が開発した文書用のファイル形式も様々な業界で多用され、ＰＤＬデータに書き換えず（ドライバを使用せず）に直接ＭＦＰ１に入力されたＰＤＦもＰＤＬ解析部４３の処理対象である。
【００８９】
その他、ＰＰＭＬなどのＶＤＰ向けフォーマット、JPEG (Joint Photographic Experts Group)やTIFF (Tagged Image File Format)などの画像圧縮フォーマットにも対応する。
【００９０】
レンダリング部４２は、ディスプレイリストに対してカラーマッチングを行うカラーマッチングモジュール（ＣＭＭ）４５、および、ディスプレイリストをビットマップデータ（ラスタ画像）にレンダリングするＤＬレンダリング部４６から構成される。
【００９１】
ＣＭＭ４５は、グレイスケール、ＲＧＢ、ＣＭＹＫなど様々な画像データの入力が可能で、その他の色空間の場合は、一旦、ＣＲＤ（Color Rendering Dictionary)によりＣＭＹＫ空間に変換した後、カラーマッチングを施す。ＣＭＭ４５は、ＩＣＣプロファイルによる色調整を行う。
【００９２】
ここで、ＩＣＣプロファイルには、ソースプロファイル４５ａとプリンタプロファイル４５ｂがある。ソースプロファイル４５ａは、ＲＧＢ（またはＣＭＹＫ）データを一旦規格化されたＣＩＥＬＡＢ空間に変換し、そのＬ＊ａ＊ｂ＊データをターゲットであるプリンタに適したＣＭＹＫ空間に変換する。
【００９３】
ソースプロファイル４５ａは、ＲＧＢプロファイルとＣＭＹＫプロファイルから構成され、入力画像がＲＧＢ系画像の場合はＲＧＢプロファイルを選択し、ＣＭＹＫ系画像の場合はＣＭＹＫプロファイルを選択する。
【００９４】
また、プリンタプロファイル４５ｂは、各プリンタの色特性に合わせて作られ、ＲＧＢ系画像の場合は色味優先（Ｐｅｒｃｅｐｔｕａｌ）や鮮やかさ優先（Ｓａｔｕｒａｔｉｏｎ）を選択するのが好ましく、ＣＭＹＫ系画像の場合は色差最小を選ぶことが多い。
【００９５】
ＩＣＣプロファイルは、一般にＬＵＴ形式であり、ソースプロファイル４５ａはＲＧＢデータが入力されると、一意にＬ＊ａ＊ｂ＊データを出力する。また、プリンタプロファイル４５ｂは入力Ｌ＊ａ＊ｂ＊データに対してプリンタ２１にマッチしたＣＭＹＫデータを一意に出力する。
【００９６】
なお、カラーマッチングを必要としないＲＧＢデータはデフォルトの色変換によりＣＭＹＫデータに変換して出力し、カラーマッチングを必要としないＣＭＹＫデータはそのまま出力する。
【００９７】
［プリンタ］
図７は、本実施形態を示す画像形成装置のエンジン構成を説明する断面図である。本例は、４ドラム（４Ｄ）カラー系のプリンタ２１の構成例である。
【００９８】
図７において、４Ｄカラー系のプリンタ２１は、スキャナ１１、レーザ露光部７１、感光ドラム７２、作像部７３、定着部７４、給紙／搬送部７５、および、これらを制御する不図示のプリンタ制御部から構成される。
【００９９】
スキャナ１１は、原稿台に置かれた原稿に照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する。
【０１００】
レーザ露光部は、画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー）に入射し、回転多面鏡の反射光を走査光として感光ドラムに照射する。
【０１０１】
作像部７３は、感光ドラム７２を回転駆動し、帯電器によって帯電させ、レーザ露光部によって感光ドラム７２上に形成された潜像をトナーによって現像し、そのトナー像をシートに転写する。
【０１０２】
さらに、転写時に転写されずに感光ドラム７２上に残った微小トナーを回収する、といった一連の電子写真プロセスの現像ユニット（現像ステーション）を四連もつことで、作像を実現する。
【０１０３】
シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の順に並んだ四連の現像ユニットは、シアンステーションの作像開始から所定時間経過後に、マゼンタ、イエロー、ブラックの作像動作を順次実行する。このタイミング制御によって、シート上に色ずれがないフルカラートナー像が転写される。
【０１０４】
定着部７４は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、作像部によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶融し、シートに定着する。
【０１０５】
給紙／搬送部７５は、シートカセットやペーパデッキに代表されるシート収納庫７６を一つ以上有し、プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートから一枚を分離し、作像部７３、定着部７４へ搬送する。
【０１０６】
搬送されるシートには、前述した現像ユニットによって、各色のトナー像が転写され、最終的にフルカラートナー像がシート上に形成される。
【０１０７】
シートの両面に画像を形成する場合は、定着部を通過したシートを、再度、作像部へ搬送する両面搬送経路７８に導く。
【０１０８】
プリンタ制御部は、ＭＦＰ全体を制御するＭＦＰ制御部と通信し、その指示に応じて制御を実行するとともに、前述したスキャナ、レーザ露光、作像、定着、給紙／搬送の各部の状態を管理しながら、全体が調和を保って円滑に動作するよう制御を行う。
【０１０９】
次に、装置の電源オフ状態から動作が開始可能な状態に至るまでの各部の動作概要を説明する。
【０１１０】
装置の電源が投入されると、プリンタ制御部は、スキャナ１１、レーザ露光部７１、作像部７３、定着部７４、給紙／搬送部７５の各部に対して準備動作の開始を指示するとともに、ＭＦＰ全体を管理するＭＦＰ制御部との通信が開始されるのを待つ。
【０１１１】
ＭＦＰ制御部との通信が確立すると、お互いの機器仕様のやり取りを行い、その後、各部の準備動作が終了し画像形成動作が可能になると、動作可能状態であることをＭＦＰ制御部に通知する。
【０１１２】
プリンタ制御部は、ＭＦＰ制御部に対して、各部の機器状態を通知するが、その一例を挙げる。給紙／搬送部７５については、シート収納庫に格納されたシートのサイズ、シートの残量（積載量）、駆動部の動作状態（動作可能か故障中か）を検知して、これらの情報を通知する。また、作像部については、トナー収容器のトナー残量を通知する。
【０１１３】
次に、動作が開始可能な状態になり、ＭＦＰ制御部から動作指示が通知されて、一連のプリント動作を実行し終了するまでの各部の動作概要を説明する。
【０１１４】
ＭＦＰ制御部は、動作開始コマンドをプリンタ制御部へ通知する。動作開始コマンドを受信したプリンタ制御部は、レーザ露光、作像、給紙搬送、定着の各部にプリント動作の開始を指示する。
【０１１５】
レーザ露光部７１はポリゴンミラー７１Ｍを駆動するモータ（ポリゴンモータ）の回転を開始し、作像部は感光ドラムを回転駆動して感光ドラムを帯電する。定着部７４は定着ヒータをオンして、定着温度をトナーがシートに定着可能な温度に上昇させ、給紙／搬送部は駆動モータを搬送可能な状態にする。
【０１１６】
各部の動作準備が整うと、プリンタ制御部は、ＭＦＰ制御部に準備完了を通知する。準備完了通知を受信したＭＦＰ制御部は、頁単位でプリント動作を指示する。
【０１１７】
ＭＦＰ制御部は、例えば１０頁、２０部のプリントジョブであれば２００頁のプリント動作を指示する。プリント動作の指示を受信したプリント制御部は、給紙／搬送部７５に給紙を指示する。
【０１１８】
給紙／搬送部７５は、シートが供給可能であれば、シートを一枚供給、搬送して、シートが所定位置に到達するとプリント制御部にその旨を通知する。
【０１１９】
もし、シート収納庫７６にシートがない場合などは、給紙不可能の旨をプリント制御部へ通知する。また、搬送経路上にシートが重なった状態（重送状態）で搬送されていることを検知する重送検知センサや、シートの厚みを検知する厚さ検知センサなどを給紙／搬送部７５が有すことがある。
【０１２０】
これらのセンサが重送状態や異常を検知すると、給紙／搬送部７５は、給紙動作、搬送動作を中断し、プリント制御部へ異常を通知する。異常の通知を受けたプリント制御部は、ＭＦＰ制御部へ動作中断の理由、装置内に残留しているシートの位置などを通知する。
【０１２１】
シートが正常に搬送され、所定位置に到達した旨の通知を受けたプリント制御部は、その通知に応じて作像部７３に作像の開始を指示する。このタイミング制御によって、シート上にトナー像が転写される。一方、定着部７４は、定着温度を監視し、適切な温度になるよう制御するが、シートに奪われる熱量が大きい場合、定着温度が低下する場合がある。
【０１２２】
この場合、定着部７４は、定着温度の低下をプリント制御部へ通知する。この通知を受けたプリント制御部は、シートの搬送間隔を空け、定着温度がこれ以上低下しないようにする。それでも定着部の温度が復帰しない場合、プリント制御部は、一旦動作を中断し、定着温度が適切な温度に復帰後、動作を再開する。
【０１２３】
プリント制御部は、すべてのシートの排出が完了すると、動作停止を各部へ指示し、各部からの動作停止通知を受け、ＭＦＰ制御部へ動作終了を通知する。
【０１２４】
［後処理部］
図８は、図２に示した後処理部２２（インラインフィニッシャ）の構成例を示す図である。
【０１２５】
図８において、プリンタ２１の定着部から排出されたシートは、インラインフィニッシャが接続されている場合はインラインフィニッシャに入る。インラインフィニッシャは、サンプルトレイ８１およびスタックトレイ８２を有し、ジョブの種類や排出されるシートの枚数に応じて、排出先のトレイを切り替える。
【０１２６】
ソート方式には二通りあり、シートを複数のビンに振り分けるビンソート方式と、電子ソート機能およびビン（またはトレイ）を奥手前方向にシフトする動作を行う。これにより、ジョブごとに出力シートを振り分けるシフトソート方式によるソーティングを行うことができる。
【０１２７】
電子ソート機能はコレートと呼ばれる。ＭＦＰ制御部が大容量のメモリ１６をもつ場合、それをバッファに利用して、バッファリングした頁順と排出順を変更する、所謂コレート機能を用いて電子ソート機能をサポートする。
【０１２８】
次に、グループ機能は、ソーティングがジョブごとにシートを振り分けるのに対して、頁ごとに仕分ける機能である。
【０１２９】
さらに、出力すべきジョブに対してステイプルモードが設定されている場合、スタックトレイ８２に排出するが、シートをスタックトレイ８２に排出する前にシートをジョブごとにフィニッシャ内の処理トレイに順次蓄える。処理トレイ上ではステイプラによりバインドし、その後、シートの束をスタックトレイへ排出する。
【０１３０】
その他、上記二つのトレイに至るまでに、シートをＺ字状に折り畳むＺ折り機、ファイル用に二（または三）穴を開けるパンチャがあり、ジョブの種類に応じてそれぞれの処理を行う。
【０１３１】
例えば、ユーザが操作部１４を操作してＺ折り処理を設定したジョブの場合、そのジョブのシートに対して、Ｚ折り機による折り畳み処理を実行する。その上で、インラインフィニッシャ内を通過させて、スタックトレイ８２およびサンプルトレイ８１などの排紙トレイに排出する制御を行う。
【０１３２】
また、例えば、パンチ処理が設定されたジョブの場合、そのジョブのシートに対してパンチャによるパンチ処理を実行し、その上で、インラインフィニッシャ内を通過させて、排紙トレイに排出する制御を行う。
【０１３３】
サドルステッチャは、シートの中央部分を二ヶ所バインドした後、シートの中央部分をローラに噛ませてシートを半折りし、パンフレットのようなブックレットを作成する処理（製本処理）を行う。サドルステッチャ８３で製本されたシートは、ブックレットトレイ８４に排出される。サドルステッチャ８３による製本処理など、シート処理の実行可否も、上述したように、出力すべきジョブに対してユーザが設定したシート処理設定に基づく。
【０１３４】
インサータ８５は、インサートトレイ８６にセットされたシートを、プリンタ２１を通さずにスタックトレイ８２およびサンプルトレイ８１などの排紙トレイの何れかに送る。これにより、インラインフィニッシャに送り込まれるシート（プリンタ２１で印刷されたシート）間に、インサータ８５にセットされたシートをインサート（中差し）することができる。インサートトレイ８６に載置するシートは、フェイスアップ状態でセットされるものとし、ピックアップローラにより最上部のシートから順に給送する。従って、インサータ８５からのシートは、そのままスタックトレイ８２またはサンプルトレイ８１へ搬送することによりフェイスダウン状態で排出される。
【０１３５】
また、サドルステッチャ８３へ送るときは、一旦、パンチャ側へ送り込んだ後、スイッチバックさせて送り込むことにより、フェイスの向きを合わせる。なお、インサータ８５によるシートのインサート処理の実行可否も、上述したように、出力すべきジョブに対してユーザが設定したシート処理設定に基づく。
【０１３６】
トリマ（裁断機）８７は、サドルステッチャ８３に形成されたブックレット（中綴じの小冊子）を入力する。その際、ブックレットは、ローラで予め決められた長さ分だけ送られ、カッタ部８８において、予め決められた長さだけ裁断される。
【０１３７】
従って、ブックレットの複数頁間で端部にずれがあるとしても裁断により端部が切り揃えられる。そして、ブックレットホールド部に格納される。なお、トリマによる裁断処理の実行可否も、上述したように、出力すべきジョブに対してユーザが設定したシート処理設定に基づく。
【０１３８】
以上、本実施形態にかかる画像形成装置の動作を説明したが、次にページ毎にオブジェクトや後処理を指定することが可能な技術の一つとして、ＰＰＭＬについて説明する。
【０１３９】
上述したとおりに、ＰＰＭＬとは、ページ上にオブジェクトを配置するための領域を定義した上で、当該領域にＰＳやＰＤＦなどで与えられたオブジェクトを描画して、ページ上の所定の位置に配置するといった指示を行う。
【０１４０】
よって、ＰＰＭＬでは、個々人向けに調整された請求書やダイレクトメールなど、顧客ごとに異なるページの印刷を行うことが可能となる。
【０１４１】
以下、図９を参照して、ＰＰＭＬジョブを用いた印刷例について説明する。
【０１４２】
図９は、本実施形態を示す画像形成装置におけるバリアブル印刷処理の一例を示す図である。本例は、顧客データを用いて、請求書を印刷する例である。
【０１４３】
図９に示すように請求書印刷では、顧客ＤＢ９１に登録された顧客情報や今月の使用履歴をもとに、顧客ごとに異なるページデータの印刷を行う。そのため印刷出力されるページデータは、予めオブジェクトを配置する領域を定義したテンプレートデータ９２に、顧客ＤＢ９１に登録された顧客毎のデータを挿入する。
【０１４４】
例として顧客ＤＢ９１の名前フィールドに定義された顧客Ａさん、顧客Ｂさん、顧客Ｃさんをテンプレートデータ９２の予め登録されている名前領域に配置することによって、顧客ごとに異なるページデータの生成を行う。
【０１４５】
電話番号フィールドは顧客ＤＢ９１に登録されているが、テンプレートデータ９２には電話番号挿入領域が設けられていないため、印刷出力するページデータには含まれない。このようにＤＢ中のレコード単位で生成されたページデータは下図にある３枚のページデータ９３ａ、９３ｂ、９３ｃとなる。
【０１４６】
ここでテンプレートデータ９２には、固定領域と可変領域が存在する。可変領域には顧客ＤＢ９１に登録された顧客ごとに異なるデータ、例では名前や住所、金額フィールドが可変領域となり、顧客ＤＢ９１で指定されたオブジェクトを挿入する。
【０１４７】
一方、固定領域は、背景やレコード毎には変化しないオブジェクトを指定することが可能である。このような固定オブジェクトは、異なったレコードから複数回呼び出されるため、再利用オブジェクトとして定義される。
【０１４８】
従来技術ではこのような顧客ごとに異なる設定を適用したプリントを行う際に、ＭＦＰ１にはサブセットフィニッシング（後段処理）に上限が設けられている。このため、ファイル分割を行いサブセットフィニッシングの設定数を上限値以内に収めなければならなかった。
【０１４９】
例として図１０を用いて、本発明が解決すべき課題について説明する。なお、図１０に示す例では、バインダ数は、１レコードに設定されている。具体的には、表紙、Ａ４カラー、Ａ４ＢＷ、Ａ５Ｚ折り、Ａ４カラー、Ａ４ＢＷ、裏表紙、さらに、それらのページを全てパンチするの計８バインダ（設定数）で構成されている例である。
【０１５０】
図１０は１レコードで設定されたサブセットフィニッシングの設定数を示している。１レコード目に設定されているＡさんの請求書印刷には、合計で８つのサブセットフィニッシングが設定されている。続いてＢさん以降の印刷も同様に８つ設定されている。
【０１５１】
その為、ＭＦＰ１のサブセットフィニッシングの上限値が「４００」までの場合、従来はＭＦＰ１の上限に従い５０レコードずつにファイル分割を行っていた。
【０１５２】
しかし、図１１に示すように、受信した印刷ジョブを複数のファイルに分割した場合、分割後のファイルをまたがってオブジェクトを保持しておくことができない。このため、１度生成したオブジェクトを他ファイルで使用する際、オブジェクトの削除及び再生成を行わなければならない。
【０１５３】
例として分割後のファイル１とファイル２では共通に利用されるオブジェクトとしてオブジェクトＡ及びＢが存在するが、ファイル１の印刷が終了した際、記憶手段に保持されているオブジェクトＡ，Ｂの削除処理を行う。
【０１５４】
そのためファイル２を印刷する際にはオブジェクトＡ，Ｂのデータは残っておらず、再びオブジェクトＡ、Ｂのラスタデータ化を行わなければならない。その為、オブジェクトの削除及び再生成という無駄な処理が必ず加わることによりパフォーマンスの低下という問題が存在した。
【０１５５】
そこで、本実施形態では上記のようにファイル分割を行うことによりオブジェクトの削除及び再生成処理が加わり、パフォーマンスの低下することを防止するため、画像形成装置は、以下の特徴的な構成を備える。
【０１５６】
図１２は、本実施形態を示す画像形成装置が処理するジョブの構造を説明する図である。以下、本実施形態では、ＰＰＭＬジョブ構造例について説明する。
【０１５７】
図１２において、ＰＰＭＬジョブでははじめに、複数回使いまわされるオブジェクトに名前を定義し、名前を定義したオブジェクトに関しては以降その名前でオブジェクトを参照できるよう、再利用オブジェクトの宣言を行う。
【０１５８】
ここで、再利用オブジェクトは、参照するオブジェクト名、ファイルフォーマット形式、オブジェクトを描画する幅と高さ、再利用オブジェクトを定義するスコープなどを指定することが可能である。
【０１５９】
はじめの宣言部１２０１において、再利用オブジェクトの定義を行うことで、後に記述される各レコードから再利用オブジェクトの参照が可能となる。
【０１６０】
ＰＰＭＬジョブ内の各レコードは、上述したとおり再利用オブジェクトを使用する場合は、ここで参照の定義を行う。また、他レコードでは使用されない、レコード内でのみ使用されるオブジェクトの定義を行う。
【０１６１】
次に、ＰＰＭＬジョブが送信された際のＭＦＰの処理について図１３及び図１４を用いて説明する。
【０１６２】
図１３は、本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。本例は、ＰＰＭＬジョブ投入における処理例である。なお、Ｓ１１０１〜Ｓ１１１３は各ステップを示す。また、各ステップは、ホストコンピュータ２上で稼動するドライバやサブミットツールによってＰＰＭＬジョブが投入された場合に、ＭＦＰ制御部１５が実行する処理である。なお、ＭＦＰ制御部１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ等のハードウエア資源と、ソフトウエア資源を備える。
【０１６３】
図１４は、図４に示したジョブ再生成部１９２により作成される大域再利用オブジェクト生存期間テーブルの一例を示す図である。以下、図１４を参照しつつ、本実施形態におけるジョブ処理について詳述する。
【０１６４】
図１４に示す大域再利用オブジェクト生存期間テーブルでは、大域再利用オブジェクトＡ、Ｂはファイル１〜ファイル３まで利用され、大域再利用オブジェクトＤ、Ｆはファイル１〜ファイル２まで利用される。大域再利用オブジェクトＣは、ファイル１と、ファイル３で利用される。また、本例では、大域再利用オブジェクトのための生存期間テーブルは、大域再利用オブジェクトがファイルで利用される始点、終点、利用区間を記憶する例を示している。
【０１６５】
Ｓ１１０１で、図３に示した入力ジョブ管理部１５１は、ホストコンピュータ２よりＰＰＭＬジョブを受信し、Ｓ１１０２で、受信したＰＰＭＬジョブからジョブ生成部１５４がジョブチケットを生成してメモリ１６ａに格納する。
【０１６６】
そして、Ｓ１１０３で、出力ジョブ管理部１８１は、ＭＦＰにおけるデバイスのサブセットフィニッシング設定数の上限値を取得する上限値取得する処理を行う。そして、Ｓ１１０４で、出力ジョブ制御部１８２は、ジョブ解析部１８３、バインダ解析部１８４、ドキュメント解析部１８５、ページ解析部１８６の各解析部にて解析された、ジョブチケットに記載された設定情報の総数を抽出する。図１０に示す例でいうと、設定情報の総数はジョブチケットに記載されたサブセットフィニッシングの総数であり、１レコード辺り８つのサブセットフィニッシングの設定が行われている。
【０１６７】
次に、Ｓ１１０５で、ジョブ分割部１９１は、ジョブチケットの設定情報の総数がＭＦＰ１のサブセットフィニッシングの設定可能な上限を超えているか否かを判断する。ここで、ジョブ分割部１９１が上限を超えていると判断した場合は、Ｓ１１０６で、ジョブ分割部１９１がジョブの分割処理を行う。
【０１６８】
一方、Ｓ１１０５で、ジョブに設定されている後段処理の設定数がＭＦＰの上限値を超えていないとジョブ分割部１９１が判断した場合は、Ｓ１１１０へ進む。
【０１６９】
そして、Ｓ１１１０で、ファイルへの分割処理は必要ではない為、画像処理／ＲＩＰ部１７はジョブに含まれるオブジェクトを印刷可能なラスタデータ形式に変換（ＲＩＰ）を行う。そして、変換されたラスタデータはページの画像情報と共にメモリ１６ｂに保持され、デバイス管理部１８８は印刷のタイミングをスケジューリングすることによりプリンタ２１から印刷する。
【０１７０】
一方、Ｓ１１０５で上限値を超えているとジョブ分割部１９１が判断した場合は、Ｓ１１０６へ進む。そして、Ｓ１１０６で、ジョブ分割部１９１は、分割後の各ファイル内のサブセットフィニッシング上限数がＭＦＰの上限値以内収まるレコード数を決定するレコード数決定処理を行う。そして、ジョブ分割部１９１は、決定されたレコード数に従い１ジョブを複数のファイルへ分割処理を行う。
【０１７１】
例としてＭＦＰ１の上記上限値として「１０」が設定され、１レコード目で後段処理の設定数が３個、２レコード目は２個、３レコード目は３個、４レコード目は３個とデータが存在した場合を想定する。この場合、ジョブ分割部１９１は、１〜３レコード目までを１つのファイルとし分割を行う。このように、本例では、ジョブチケットの解析により得られる後段処理の設定数に基づいて、印刷ジョブを複数のファイルに分割する。
【０１７２】
次に、Ｓ１１０７で、ジョブ再生成部１９２は、各分割されたファイル間で共通に利用される再利用オブジェクトを大域再利用オブジェクトとして定義する。そして、Ｓ１１０８で、大域再利用オブジェクトの出現順序に応じて各ファイルの印刷順序の入替処理を行う。なお、Ｓ１１０８の印刷順序の入れ替え処理の詳細に関しては後述する。
【０１７３】
次に、Ｓ１１０９で、ジョブ再生成部１９２は大域再利用オブジェクトが使用されるのは何ファイル目〜何ファイル目までであるかを記述した、大域再利用オブジェクトのための生存期間テーブルを作成する。また、オブジェクト管理部１９３は、作成された大域再利用オブジェクトのための生存期間テーブルの管理を行う。ここで、大域再利用オブジェクトための生存期間テーブルは、メモリ１６で記憶して管理される。
【０１７４】
そして、Ｓ１１１０で、ジョブ再生成部１９２にて生成された各ファイルは、画像処理／ＲＩＰ部１７にて印刷可能なラスタデータ形式に変換（ＲＩＰ）され、ページの画像情報と共にメモリ１６ｂに保持される。メモリ１６ｂに保持されたラスタデータは、デバイス管理部１８８にて印刷のタイミングをスケジューリングされプリンタ２１に出力される。
【０１７５】
次に、Ｓ１１１１で、オブジェクト管理部１９３は、図１４に示した大域再利用オブジェクトのための生存期間テーブルを参照し、該ファイルで利用した大域再利用オブジェクトが以降のファイルにて使用するかどうかを判断する。ここで、以降のファイルにて大域再利用オブジェクトが使用されないとオブジェクト管理部１９３が判断した場合、Ｓ１１１２へ進む。
【０１７６】
そして、Ｓ１１１２で、オブジェクト管理部１９３は、使用されない大域再利用オブジェクトをメモリ１６ｂから削除する。
【０１７７】
一方、Ｓ１１１１で、大域再利用オブジェクトが以降のファイルでも使用されるとオブジェクト管理部１９３が判断した場合は、Ｓ１１１３へ進む。これにより、メモリ１６ｂからの削除を行わず以降のファイルを印刷する際にも大域再利用オブジェクトを利用する。
【０１７８】
なお、削除処理では、メモリ１６ｂに記憶保持されている大域再利用オブジェクトのラスタデータを削除する。そのためＭＦＰ制御部１５ｂは、出力ジョブ管理部１８１から出力された分割済みファイルの印刷処理終了を受信した後、オブジェクト管理部１９３に印刷の終了を通知する。
【０１７９】
オブジェクト管理部１９３は、図１４に示したような生存期間テーブルを管理しているため、印刷終了したファイル中のオブジェクトが以降のファイルで利用されるか否かを判断することができる。
【０１８０】
一例として図１４では、２ファイル目まで印刷した段階では大域再利用オブジェクトＤは、以降に印刷される３ファイル目では利用されない。そのため２ファイル目の印刷が完了した時点で大域再利用オブジェクトＤの削除を行うことが可能となる。
【０１８１】
また、オブジェクト管理部１９３は、削除対象のオブジェクトであるラスタデータをメモリ１６ｂから削除する。ここで削除処理とは、ラスタデータを記憶しているメモリ１６ｂ中の、オブジェクトのラスタデータサイズで確保されているメモリ領域を解放することを意味している。
【０１８２】
そして、Ｓ１１１３で、ＭＦＰ制御部１５が分割されたファイルの印刷が終了しているかどうかを判断する。ここで、ＭＦＰ制御部１５が終了していると判断した場合は、本処理を終了し、終了していないと判断した場合は、Ｓ１１１０へ戻り、分割されたファイルの印刷が終了するまで繰り返すことにより、印刷処理を行う。
【０１８３】
次に図１５乃至図１７を用いて、Ｓ１１０８で行われた大域再利用オブジェクトの出現順序によって分割された各ファイルの印刷順序を入れ替える処理について説明する。
【０１８４】
図１５は、本実施形態を示す画像形成装置におけるファイルの印刷順序を入れ替える処理を説明する図である。本例は、各レコードで使用される再利用オブジェクトの対応表と、サブセットフィニッシング上限値を、この場合は５レコード分と設定して分割した例である。
【０１８５】
なお、図１５の矢印よりも左側の状態がファイルの順番の入替処理を行わずにファイル分割出力を行った例である。
【０１８６】
本例によれば、ジョブ分割部１９１により分割が行われ、ジョブ再生成部１９２で再定義された大域再利用オブジェクトＣは、ファイル１及びファイル３のみでしか使用されないが、ファイル２においても生存している。そのため、大域再利用オブジェクトＣを使用しないファイル２の印刷時にもオブジェクトがメモリ１６上に存在しているため、メモリ１６を無駄に占有してしまっている。そこで、ＭＦＰ制御部１５ｂは、有効的な印刷順序の変更処理を行う。以下、図１６及び図１７を用いて、本実施形態におけるファイル印刷順序入れ替え処理を説明する。
【０１８７】
図１６は、図４に示したジョブ再生成部１９２の構成を説明するブロック図である。
【０１８８】
図１６において、ジョブ再生成部１９２は、取得部１５０１、入替部１５０２、抽出部１５０３、挿入部１５０４を備える。各部の役割としては、取得部１５０１は、オブジェクト管理部１９３が管理している大域再利用オブジェクトが、各レコードから参照されている回数を取得する。
【０１８９】
入替部１５０２は、ファイルの印刷順序の入れ替えを行う。抽出部１５０３は、受信したジョブの中から分割後のファイルに含めるオブジェクトを、条件を元に抽出する。
【０１９０】
挿入部１５０４は、抽出部１５０３にて抽出された再利用オブジェクトを分割後のファイルに挿入する処理を行っている。
【０１９１】
図１７は、本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。本例は、入替部１５０２が図１３に示したＳ１１０８で印刷順序を入れ替える処理の詳細手順に対応する。なお、Ｓ１４０１〜Ｓ１４０５は各ステップを示す。また、各ステップは、ＭＦＰ制御部１５が実行する処理である。
【０１９２】
なお、ＭＦＰ制御部１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ等のハードウエア資源と、ソフトウエア資源を備える。
【０１９３】
まず、Ｓ１４０１で、はじめにジョブ再生成部１９２の取得部１５０１は、大域再利用オブジェクトが各ファイルから参照される回数を計測する。
【０１９４】
本例では大域再利用オブジェクトＡ，Ｂは１ファイル目〜３ファイル目まで参照されるため３回、大域再利用オブジェクトＣ，Ｄは２回である。次に、Ｓ１４０２で、取得部１５０１は、計測された参照回数を取得し、その中で一番参照回数が少ないもの再利用オブジェクトを基準とする。本例では大域再利用オブジェクトＣが基準点となる。なお、Ｓ１４０２が回数取得処理に対応するステップである。
【０１９５】
続いて、Ｓ１４０３で、入替部１５０２は、基準となった大域再利用オブジェクトを使用しているファイルを先頭に移動する入れ替えを行う。
【０１９６】
これにより、大域再利用オブジェクトＣを利用するファイル１及びファイル３を先頭に入れ替える。
【０１９７】
したがって、入れ替え処理終了後、ファイル１→３→２（もしくはファイル３→１→２）の印刷順序となる。
【０１９８】
次に、Ｓ１４０４で、入替部１５０２は、ファイル１とファイル３の印刷は必ず連続して行われるため、ファイルの組み合わせを上記ファイル１→３→２とするかファイル３→１→２とするかのいずれかを確定する。
【０１９９】
そして、Ｓ１４０５で、入替部１５０２は、入れ替えるべきファイルがあるかどうかに基づいて、ファイルの入り替えが終了したかどうかを判断して、終了していないと入替部１５０２が判断した場合は、Ｓ１４０３へ戻る。
【０２００】
一方、Ｓ１４０５で、ファイルの入り替えが終了したと入替部１５０２が判断した場合は、本処理を終了する。
【０２０１】
図１４に示すファイル例を図１７に基づいて処理すると、取得部１５０１は次の基準点を定めるため、２番目に参照回数が少ない大域再利用オブジェクトを基準点とする（Ｓ１４０２）。
【０２０２】
本例では大域再利用オブジェクトＤが２回と少ないため、基準点となる。大域再利用オブジェクトＤは、図１４に示すようにファイル１及びファイル２で利用されるため、先ほど決定されたファイル印刷順序１→３→２がファイル１と２が隣り合う順序に設定する（Ｓ１４０３）。そのためファイルの印刷順序は、ファイル３→１→２と確定される。
【０２０３】
また、他の大域再利用オブジェクトは、全ファイルで利用されるため印刷順序は変更しない。この入れ替え処理により、生成された大域再利用オブジェクト生存期間テーブルにより、図１５に示す矢印の左側と比較して右側では、大域再利用オブジェクトＣが不必要なファイル２で生存していない。そのため、ファイル１の印刷出力が終了した時点で、オブジェクト管理部１９３により削除されたことが分かる。
【０２０４】
本実施形態によれば、大域再利用オブジェクトの出現順序に応じてファイル印刷順序を入れ替えることにより、大域再利用オブジェクトの生存期間が削減し、メモリの占有率の低下とパフォーマンスの向上を図ることが可能となる。
【０２０５】
〔第２実施形態〕
第１実施形態では、印刷ジョブをファイルに分割した後に大域再利用オブジェクトの出現順序に応じて、ファイル印刷順序を入れ替える手法を示した。以下、第２実施形態では再利用オブジェクトの出現順序に応じて大域再利用オブジェクトを再設定し、レコード印刷順序を入れ替える手法について説明する。
【０２０６】
図１８は、本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。なお、Ｓ１６０１〜Ｓ１６１３はホストコンピュータ２上で稼動するドライバやサブミットツールによってＰＰＭＬジョブが投入された場合に、ＭＦＰ制御部が実行する処理例である。また、ＭＦＰ制御部１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ等のハードウエア資源と、ソフトウエア資源を備える。
【０２０７】
まず、Ｓ１６０１で、入力ジョブ管理部１５１は、ホストコンピュータ２よりＰＰＭＬジョブを受信し、Ｓ１６０２で、受信したＰＰＭＬジョブからジョブ生成部１５４がジョブチケットを生成してメモリ１６ａに格納する。
【０２０８】
そして、Ｓ１６０３で、出力ジョブ管理部１８１はＭＦＰ１に設定されているサブセットフィニッシング設定数の上限値を取得する。ここで、上限値は、メモリ１６にあらかじめ記憶されている。
【０２０９】
次に、Ｓ１６０４で、出力ジョブ制御部１８２は、ジョブ解析部１８３、バインダ解析部１８４、ドキュメント解析部１８５、ページ解析部１８６の各解析部にて生成されたジョブチケットを解析し、ジョブチケットに記載された設定情報の総数を抽出する。
【０２１０】
次に、Ｓ１６０５で、ジョブ分割部１９１は、ジョブチケットの設定情報の総数がＭＦＰ１のサブセットフィニッシングの設定可能な上限を超えているか否かの判断を行う。ここで、上限値を超えているとジョブ分割部１９１が判断した場合は、Ｓ１６０６へ進む。
【０２１１】
そして、Ｓ１６０６で、ジョブ分割部１９１は、ＭＦＰ１の設定上限数、及び再利用オブジェクトの出現順序に従いジョブのファイルの分割処理を行う。そして、Ｓ１６０７で、ジョブ再生成部１９２は、各分割されたファイル間で共通に利用される再利用オブジェクトを大域再利用オブジェクトとして定義する。そして、Ｓ１６０８で、大域再利用オブジェクトの出現順序に応じて各ファイルの印刷順序の入替処理を行う。
【０２１２】
次に、Ｓ１６０９で、ジョブ再生成部１９２は大域再利用オブジェクトが使用されるのは何ファイル目〜何ファイル目までであるかを記述した、図１４に示す大域再利用オブジェクトのための生存期間テーブルを作成する。ここで、オブジェクト管理部１９３は、メモリ１６を用いて作成された大域再利用オブジェクトのための生存期間テーブルの管理を行う。
【０２１３】
次に、Ｓ１６１０で、ジョブ再生成部１９２にて生成された各ファイルは、画像処理／ＲＩＰ部１７にて印刷可能なラスタデータ形式に変換（ＲＩＰ）され、ページの画像情報と共にメモリ１６ｂに保持される。メモリ１６ｂに保持されたラスタデータは、デバイス管理部１８８にて印刷のタイミングをスケジューリングされプリンタ２１で出力される。
【０２１４】
次に、Ｓ１６１１で、オブジェクト管理部１９３は、作成された大域再利用オブジェクト生存期間テーブルを参照し、該ファイルで利用した大域再利用オブジェクトが以降のファイルにて使用されるか否かを判断する。ここで、使用されないとオブジェクト管理部１９３が判断した場合、Ｓ１６１２で、オブジェクト管理部１９３は、使用されないとオブジェクトをメモリ１６ｂから削除する処理を行う。
【０２１５】
そして、Ｓ１６１３で、分割されたファイルの印刷が終了したかどうかを判断する。ここで、分割されたファイルの印刷が終了していると判断した場合は、本処理を終了し、終了していないと判断した場合は、Ｓ１６１０へ戻り、印刷処理を行う。
【０２１６】
一方、１６０５で、ジョブの設定数がＭＦＰの上限値を超えていなとジョブ分割部１９１が判断した場合は、Ｓ１６１０へ進む。そして、ファイルへの分割処理は必要ではない為、画像処理／ＲＩＰ部１７はジョブに含まれるオブジェクトを印刷可能なラスタデータ形式に変換を行う。ここで、画像処理／ＲＩＰ部１７が変換したラスタデータはページの画像情報と共にメモリ１６ｂに保持され、デバイス管理部１８８は印刷のタイミングをスケジューリングすることによりプリンタ２１で出力される。なお、Ｓ１６０６でのジョブ分割処理の詳細については、後述する。
【０２１７】
図１９は、本実施形態を示す画像形成装置における印刷ジョブの入れ替え処理を説明する図である。本例は、第１実施形態とは異なり、Ｓ１６０８で行われた再利用オブジェクトの出現順序によってレコードの印刷順序を入れ替える処理例である。
【０２１８】
特に、図１９に示す例は、各レコードで使用される再利用オブジェクトの対応テーブルと、サブセットフィニッシング上限値を、この場合５レコード分と設定して分割した例である。
【０２１９】
図１９において、矢印の左側がレコードの印刷順序の入替を行わずに出力を行った例であり、再利用オブジェクトＡ〜Ｆのうち大域再利用オブジェクトをＡ〜Ｄの４個と設定している。
【０２２０】
このため、ファイル間を跨って利用される大域再利用オブジェクトの設定数が多くなり、メモリの占有率が高くなっている。また、大域再利用オブジェクトＣはファイル１及びファイル３のみでしか使用されないが、ファイル２においても生存している。そのためメモリが無駄に占有している。
【０２２１】
そこで、本実施形態では、画像形成装置が備えるメモリ資源を有効的に活用するため、以下に示す印刷順序の変更処理を行う。
【０２２２】
図２０は、本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。本例は、ジョブ分割部１９１、ジョブ再生成部１９２によるファイル印刷順序入れ替え処理例である。
【０２２３】
なお、Ｓ１８０１〜Ｓ１８０５はホストコンピュータ２上で稼動するドライバやサブミットツールによってＰＰＭＬジョブが投入された場合に、ＭＦＰ制御部１５が実行する処理例である。また、ＭＦＰ制御部１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ等のハードウエア資源と、ソフトウエア資源を備える。
【０２２４】
まず、Ｓ１８０１で、ジョブ分割部１９１は、分割処理の基準点となるレコードを決定する基準点決定処理を行う。本実施形態では、図１９に示すように、基準点を再利用オブジェクトＡ、レコード１として説明する。
【０２２５】
続いて、Ｓ１８０２で、ジョブ再生成部１９２は、決定された基準点レコードをファイルに追加し、図１９に示すレコード１を分割済ファイルとし、メモリ１６ｂに記憶する。
【０２２６】
次に、Ｓ１８０３で、オブジェクト管理部１９３は、基準点レコードで用いられている再利用オブジェクトはＡ及びＦであることをジョブ再生成部１９２より取得する。そして、オブジェクト管理部１９３は、取得した再利用オブジェクトを各ファイルで用いる再利用オブジェクトとしてメモリ１６ｂ上で記憶して管理する。これにより、追加されたレコード間で共通に仕様される再利用オブジェクトを管理することができる。
【０２２７】
続いて、Ｓ１８０４で、入替部１５０２は抽出されたレコード数が、入力されたＰＰＭＬジョブのレコード数（本実施形態では、「５」）に達しているか判断を行う。ここで、レコード数が５に達していると入替部１５０２が判断した場合は、レコードのファイルへの分割が終了していたため、分割処理を終了となる。
【０２２８】
一方、レコード数がＰＰＭＬジョブの全レコード数に達していなと入替部１５０２が判断した場合は、Ｓ１８０５へ進む。そして、Ｓ１８０５で、ジョブ再生成部１９２が詳細は図２１に示す検索処理を行いファイルに挿入するレコードを決定する。
【０２２９】
図２１は、本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。本例は、図２０に示したＳ１８０５のレコード検索処理の詳細手順例である。なお、Ｓ１９０１〜Ｓ１９１０はホストコンピュータ２上で稼動するドライバやサブミットツールによってＰＰＭＬジョブが投入された場合に、ＭＦＰ制御部１５が制御するジョブ再生成部１９２が実行する処理例である。また、ＭＦＰ制御部１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ等のハードウエア資源と、これらを制御するソフトウエア資源を備える。これらの資源の元で、以下を実行する。
【０２３０】
まず、Ｓ１９０１で、取得部１５０１は現在抽出されているオブジェクトの個数Ｎをオブジェクト管理部１９３より取得する。現段階では、図１９に示すように、再利用オブジェクトＡ及びＦが抽出済みオブジェクトであるため、個数Ｎ＝２となる。ここで、抽出済みオブジェクトの個数Ｎは「０」より大きい数であるため、Ｓ１９０２で、抽出部１５０３によるオブジェクトの個数Ｎが「０」であるかどうかの判断は、ＮＯとなり、Ｓ１９０３へ進む。
【０２３１】
そして、Ｓ１９０３で、抽出部１５０３は、抽出された再利用オブジェクトＡ及びＦの内、該オブジェクト２つのみを使用するレコードがあるか否かを検索する。ここで、条件に合うレコードを抽出部１５０３が検出したと判断した場合は、Ｓ１９０４に遷移し、挿入部１５０４が該レコードをファイルに追加する。
【０２３２】
なお、基準のレコードをレコード１とした場合、図１９に示すレコード例では、条件に合うレコードは検出できないと判断され、Ｓ１９０７へ進む。
【０２３３】
一方、Ｓ１９０３で、条件に合うレコードを抽出部１５０３が検出できないと判断した場合は、Ｓ１９０７へ進み、抽出部１５０３は、抽出済みオブジェクトの個数Ｎを「１」減じて「１」とし、Ｓ１９０２へ戻る。
【０２３４】
そして、Ｓ１９０５で、抽出部１５０３は、ファイルに追加後、該ファイルに含まれる全レコードのサブセットフィニッシング総数がＭＦＰ１に設定されている上限値を超えているか否か判断する。ここで、上限数を超えていると抽出部１５０３が判断した場合は、Ｓ１９０６へ進む。
【０２３５】
そして、Ｓ１９０６で、ジョブ再生成部１９２は、新しくファイル（ここでは、次のファイル２）を作成し、Ｓ１９０７で、抽出部１５０３が抽出済みオブジェクトの個数Ｎから「１」を差し引いて、Ｓ１９０２へ戻る。
【０２３６】
一方、Ｓ１９０５で、上限数を超えていないと抽出部１５０３が判断した場合は、Ｓ１９０７へ進む。そして、Ｓ１９０７で、抽出部１５０３は、抽出済みオブジェクトの個数Ｎを「１」減じて「１」とし、Ｓ１９０２へ戻って、再度ファイルに含める事が可能なオブジェクトの検索処理に遷移する。
【０２３７】
これにより、抽出部１５０３は、抽出済みオブジェクトの個数Ｎが現在、「１」のためＳ１９０３に遷移し、抽出済みオブジェクトＡ及びＦのうち、該オブジェクトの内１つだけを使用するレコードを検索する。ここで抽出部１５０３は、条件に合うレコードは検出できなかったためＳ１９０７に遷移し、抽出済みオブジェクトの個数Ｎ＝０とする。
【０２３８】
このためＳ１９０２において、抽出部１５０３は、抽出済みオブジェクトの個数がＮ＝０に達したと判断して、Ｓ１９０８に遷移する。
【０２３９】
ここで、抽出済みオブジェクトの個数Ｎが「０」となった場合は、抽出済みオブジェクトのみを含むレコードを全て抽出したことを示す。そして、Ｓ１９０８以降において、今度は抽出済みオブジェクトを含むレコードの抽出処理を行う。
【０２４０】
そこで、Ｓ１９０８で、抽出部１５０３は、抽出済みオブジェクトＡ及びＦのうち１つでも含むレコードを検出できたかどうかを判断する。本実施形態では、図１９に示すように、レコード４が抽出済みオブジェクトＡを含んでいる。このため、Ｓ１９０８で、抽出部１５０３は、抽出済みオブジェクトＡ及びＦのうち１つでも含むレコードを検出できたと判断して、Ｓ１９０９へ進む。
【０２４１】
そして、Ｓ１９０９で、抽出部１５０３は、検出できたレコード４を新たな基準点として、本処理を終了して、図２０に示すＳ１８０２へ戻る。
【０２４２】
一方、Ｓ１９０８で、抽出部１５０３は、抽出済みオブジェクトＡ及びＦのうち１つでも含むレコードを検出できないと判断した場合は、Ｓ１９１０へ進む。
【０２４３】
そして、Ｓ１９１０で、挿入部１５０４は、新しく基準点レコードとして、本処理を終了し、Ｓ１８０２へ戻る。
【０２４４】
本例では、図２０に示すＳ１８０２で、登録されたレコード４を新たにファイルに追加する。そして、Ｓ１８０３で、オブジェクト管理部１９３は、レコード４で使用されている再利用オブジェクトＡ及びＣを該ファイルで利用される再利用オブジェクトとして記憶して管理する。
【０２４５】
この時点でオブジェクト管理部１９３により管理されているファイル１で分割されたレコード及び再利用オブジェクトは、レコードはレコード１及びレコード４である。したがって、再利用オブジェクトは、図１９の矢印の右側に示す１ファイル目のように、Ａ及びＦ及びＣの抽出が為された状態となる。
【０２４６】
同様にして図２０及び図２１に示されたレコード単位での入れ替えを伴うファイル分割処理を実現することにより、図１９の矢印の右側に示したようなファイル分割結果が得られる。つまり、１ファイル目は、１レコード、４レコード、１２レコード、５レコード、１１レコードの５レコードを含むファイルに分割される。同様に、２ファイル目は、９レコード、３レコード、６レコード、１０レコード、１３レコードの５レコードを含むファイルに分割される。
【０２４７】
同様に、３ファイル目は、１４レコード、１５レコード、２レコード、７レコード、８レコードの５レコードを含むファイルに分割される。
【０２４８】
また、ここで分割処理が行われたファイル及び大域再利用オブジェクトに対して、第１実施形態で説明した大域再利用オブジェクトの出現順序に応じて印刷順序を入れ替える処理を行う。しかしながら、第２実施形態に示す場合は、入れ替え結果に変更は発生しない。
【０２４９】
上記第１実施形態では、再利用オブジェクトの出現順序に応じて分割を行わなかったため、分割後のファイル間で利用する大域再利用オブジェクトの個数を考慮していなかった。そのため、大域再利用オブジェクトとして設定・保持するオブジェクトがメモリを余分に占有してしまっていた。
【０２５０】
しかしながら、第２実施形態に示すように、再利用オブジェクトの出現順序に応じてファイル分割を行うことにより、第１実施形態では大域再利用オブジェクトをＡ、Ｂ、Ｃ、Ｄと４個のオブジェクトを設定していた。しかし、第２実施形態の構成を採用することで、大域再利用オブジェクトＡ、Ｂ、Ｆのみを指定することにより印刷することが可能となる。
【０２５１】
したがって、本実施形態によれば、再利用オブジェクトの出現順序に応じてレコードの印刷順序を入れ替えることにより、大域再利用オブジェクトの個数を削減し、メモリの占有率の低下させるとともに、パフォーマンスを向上できる。
【０２５２】
〔第３実施形態〕
上記第１、第２実施形態では共にＰＰＭＬジョブに設定された後段処理の設定値がＭＦＰのサブセットフィニッシングの上限値が超えていた場合に分割処理を行う場合について説明した。さらに、この際、第１、第２実施形態では再利用オブジェクトを大域再利用オブジェクトとして定義し直し、更に印刷順序の入れ替えを行うことで、画像形成装置において印刷処理のパフォーマンスを向上できる例を説明した。
【０２５３】
しかし、ファイル分割処理に関わらず再利用オブジェクトの出現順序に応じてレコードの印刷順序の入替を行うことで、再利用オブジェクトのメモリ占有期間を短くしパフォーマンスの向上を行うように構成してもよい。以下、その実施形態について説明する。以下、図２２及び図２３を用いてレコードの印刷順序の入れ替え処理について説明する。
【０２５４】
図２２は、本実施形態を示す画像形成装置におけるジョブ処理時のメモリ状態を説明する図である。本例は、各レコードで使用される再利用オブジェクトの対応テーブルと、各再利用オブジェクトのメモリ占有期間を示した例である。
【０２５５】
図２２において、矢印に対して左側がレコードの印刷順序の入れ替えを行わずに出力を行った例であり、再利用オブジェクトＡは、レコード１からレコード１３まで使用される。このため、レコード１３が印刷出力されるまでメモリ１６ｂに該オブジェクトを記憶しておかなければならない。
【０２５６】
また、再利用オブジェクトＢはレコード２からレコード１５まで使用されるため、レコード１５が印刷出力されるまでメモリ１６ｂに該オブジェクトを記憶しておかなければならない。
【０２５７】
ここで、再利用オブジェクトはＰＰＭＬジョブにおいて、図１２のＰＰＭＬジョブ構造に示したようにはじめに宣言される。
【０２５８】
ＭＦＰはＰＰＭＬジョブを受け取った際、はじめに宣言が行われた再利用オブジェクトのＲＩＰ処理を行う。
【０２５９】
従って、ジョブ再生成部１９２の取得部１５０１が各再利用オブジェクトの生存期間を計算した結果、各再利用オブジェクトはレコード１よりＲＩＰ画像がすでに生成されている。
【０２６０】
そのため、生存期間を考慮せずにオブジェクトを印刷する場合は、再利用オブジェクトＡは１３期間、Ｂは１５期間、Ｃは１２期間、Ｄは１０期間、Ｅは８期間、Ｆは２期間のため、生存期間の合計は６０期間となる。
【０２６１】
以下、本実施形態におけるレコード入れ替え処理について図２３を用いて説明する。
【０２６２】
図２３は、本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。本例は、ジョブ再生成部１９２によるレコード入れ替え処理手順例である。なお、Ｓ２１０１〜Ｓ２１０６はホストコンピュータ２上で稼動するドライバやサブミットツールによってＰＰＭＬジョブが投入された場合に、ＭＦＰ制御部１５が制御するジョブ再生成部１９２が実行する処理例である。また、ＭＦＰ制御部１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ等のハードウエア資源と、ソフトウエア資源を備える。
【０２６３】
まず、Ｓ２１０１で、ジョブ再生成部１９の取得部１５０１は、各再利用オブジェクトが、いくつのレコードで呼び出されるか、参照回数を取得する。本実施形態の場合、図２２に示すように再利用オブジェクトＡはレコード１、４、９、１２、１３で呼び出されるため、参照回数は５回である。他の再利用オブジェクトも同様にして、再利用オブジェクトＢは５回、Ｃは４回、Ｄは４回、Ｅは２回、Ｆは２回である。
【０２６４】
次に、Ｓ２１０２で、取得部１５０１は、再利用オブジェクトの中から参照回数の一番少ないものを基準点として１つ抽出する。ここでは、再利用オブジェクトＥ及びＦは参照回数が２回であり最小のため、再利用オブジェクトＥまたはＦのどちらでもかまわないが、今回は再利用オブジェクトＥを基準点として決定する。
【０２６５】
続いて、Ｓ２１０３で、抽出部１５０３は、基準点である再利用オブジェクトＥだけを含むレコードを抽出する。図２２に示す例では、この結果、レコード８が抽出される。
【０２６６】
次に、Ｓ２１０４で、抽出部１５０３は、再利用オブジェクトＥを含むレコードを抽出する。図２２に示す例では、この結果、レコード７が抽出される。
【０２６７】
この場合、レコード７では他に再利用オブジェクトＢを使用しているため、Ｓ２１０５で、抽出部１５０３は、抽出済みオブジェクトにオブジェクトＢを加える。
【０２６８】
そして、Ｓ２１０６で、抽出部１５０３は、全てのレコードを処理したかどうかを判断し、レコードを処理していると抽出部１５０３が判断した場合は、本処理を終了する。
【０２６９】
一方、Ｓ２１０６で、レコードを処理していないと抽出部１５０３が判断した場合は、Ｓ２１０３へ戻る。
【０２７０】
そして、Ｓ２１０３で、抽出されたオブジェクトＢのみを含むレコード、今回はレコード１４、１５が抽出される。続いて、Ｓ２１０４で、抽出部１５０３は、再利用オブジェクトＢを含むレコードであるレコード２及び１３を抽出する。
【０２７１】
この場合、レコード２では他に再利用オブジェクトＦを使用しているため、Ｓ２１０５で、抽出部１５０３は抽出済みオブジェクトにＦを加え、Ｆを使用しているレコード１を抽出する。
【０２７２】
このようにして、レコード入れ替えフローを行うと、図２２の矢印の右側に示すように、印刷順序が決定される。この例では、再利用オブジェクトの生存期間は、再利用オブジェクトＡは１０期間、Ｂは６期間、Ｃは１２期間、Ｄは１５期間、Ｅは２期間、Ｆは７期間となり、合計５２期間となる。
【０２７３】
本実施形態によれば、レコードの入れ替え処理を行う前は、再利用オブジェクトが生存期間の合計が６０期間占めていたが、再利用オブジェクトの生存期間を合計５２期間と、８期間分削減することが可能となる。
【０２７４】
以下、図２４に示すメモリマップを参照して本発明に係る画像形成装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０２７５】
図２４は、本発明に係る画像形成装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０２７６】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２７７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２７８】
本実施形態におけるフローチャートに示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２７９】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２８０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２８１】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０２８２】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０２８３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータ読み取り可能な記憶媒体は本発明を構成することになる。
【０２８４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０２８５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２８６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２８７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２８８】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【０２８９】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０２９０】
【図１】本実施形態を示す画像形成装置を含む画像形成システムの一例を示す図である。
【図２】図１に示したＭＦＰ１の構成を説明するブロック図である。
【図３】図２に示したＭＦＰ制御部１５ａの構成を説明するブロック図である。
【図４】図２に示したＭＦＰ制御部１５ｂの構成例を示すブロック図である。
【図５】図２に示したメモリ１６の管理構造を示す概念図である。
【図６】図２に示した画像処理／ＲＩＰ部１７の構成例を示すブロック図である。
【図７】本実施形態を示す画像形成装置のエンジン構成を説明する断面図である。
【図８】図２に示した後処理部２２（インラインフィニッシャ）の構成例を示す図である。
【図９】本実施形態を示す画像形成装置におけるバリアブル印刷処理の一例を示す図である。
【図１０】本実施形態を示す画像形成装置におけるジョブに設定されるサブセットフィニッシングの設定例を示す図である。
【図１１】本実施形態を示す画像形成装置におけるファイル分割後のファイル間で共通に利用されるオブジェクトを示す図である。
【図１２】本実施形態を示す画像形成装置が処理するジョブの構造を説明する図である。
【図１３】本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。
【図１４】図４に示したジョブ再生成部１９２により作成される大域再利用オブジェクト生存期間テーブルの一例を示す図である。
【図１５】本実施形態を示す画像形成装置におけるファイルの印刷順序を入れ替える処理を説明する図である。
【図１６】図４に示したジョブ再生成部１９２の構成を説明するブロック図である。
【図１７】本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。
【図１８】本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。
【図１９】本実施形態を示す画像形成装置における印刷ジョブの入れ替え処理を説明する図である。
【図２０】本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。
【図２１】本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。
【図２２】本実施形態を示す画像形成装置におけるジョブ処理時のメモリ状態を説明する図である。
【図２３】本実施形態を示す画像形成装置におけるジョブ処理手順の一例を示すフローチャートである。
【図２４】本発明に係る画像形成装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０２９１】
１  ＭＦＰ
１５ａ、１５ｂ  ＭＦＰ制御部
１６ａ、１６ｂ  メモリ
１９１  ジョブ分割部
１９２  ジョブ再生成部
１９３  オブジェクト管理部
【図１】
2010165018.tif 000003
【図２】
2010165018.tif 000004
【図３】
2010165018.tif 000005
【図４】
2010165018.tif 000006
【図５】
2010165018.tif 000007
【図６】
2010165018.tif 000008
【図７】
2010165018.tif 000009
【図８】
2010165018.tif 000010
【図９】
2010165018.tif 000011
【図１０】
2010165018.tif 000012
【図１１】
2010165018.tif 000013
【図１２】
2010165018.tif 000014
【図１３】
2010165018.tif 000015
【図１４】
2010165018.tif 000016
【図１５】
2010165018.tif 000017
【図１６】
2010165018.tif 000018
【図１７】
2010165018.tif 000019
【図１８】
2010165018.tif 000020
【図１９】
2010165018.tif 000021
【図２０】
2010165018.tif 000022
【図２１】
2010165018.tif 000023
【図２２】
2010165018.tif 000024
【図２３】
2010165018.tif 000025
【図２４】
2010165018.tif 000026