(57)【要約】【課題】用紙に印刷されるページ数の増大による印刷速度の低下を抑える印刷ジョブ処理装置を提供する。【解決手段】複数枚分のページデータおよび印刷設定を含む印刷ジョブを入力する印刷ジョブ入力手段と、入力された印刷設定に割付印刷が設定されている場合、用紙に割り付けられる前記複数のページを並行して処理する演算手段と、を有する。【選択図】図６
2012126024.tif 000002
【特許請求の範囲】
【請求項１】
複数枚分のページデータおよび印刷設定を含む印刷ジョブを入力する印刷ジョブ入力手段と、
入力された印刷設定に割付印刷が設定されている場合、用紙に割り付けられる前記複数のページを並行して処理する演算手段と、
を有することを特徴とする印刷ジョブ処理装置。
【請求項２】
前記演算手段は、複数のページを並行して中間言語に変換することを特徴とする請求項１に記載の印刷ジョブ処理装置。
【請求項３】
前記演算手段は、異なる演算処理を並行処理できるＣＰＵコアを複数含むＣＰＵであり、
複数の前記ＣＰＵコアは、それぞれ並行して異なるページを処理することを特徴とする請求項１または請求項２に記載の印刷ジョブ処理装置。
【請求項４】
用紙に割り付けられるページが、前記ＣＰＵコアの数よりも多い場合、まず、ＣＰＵコアにページが１対１で割り当てられ、処理の済んだＣＰＵコアに順次未処理のページが割り当てられ処理されることを特徴とする請求項３に記載の印刷ジョブ処理装置。
【請求項５】
前記印刷ジョブ処理装置は、前記印刷ジョブに基づいて画像を形成する画像形成装置に備えられることを特徴とする請求項１〜４のいずれか一項に記載の印刷ジョブ処理装置。
【請求項６】
前記演算手段をなす各演算部にはＬＳスレーブが割り当てられ、前記ＬＳスレーブが割り当てられた前記演算部のいずれか一つには前記ＬＳスレーブとともにＬＳマスターが割り当てられ、
前記ＬＳスレーブは、割り当てられた前記演算部に前記ページを処理させ、前記ＬＳマスターは、割り当てられた前記演算部に、各演算部による前記ページの処理の状態を管理させることを特徴とする請求項１〜５のいずれか一項に記載の印刷ジョブ処理装置。
【請求項７】
前記ＬＳマスターが割り当てられる前記演算部は、印刷ジョブの処理中に必要に応じて変更されることを特徴とする請求項６に記載の印刷ジョブ処理装置。
【請求項８】
複数枚分のページデータおよび印刷設定を含む印刷ジョブの前記印刷設定に割付印刷が設定されているかどうかを判断する手順（ａ）と、
前記印刷設定判断手順で、前記割付印刷が設定されていると判断した場合、用紙に割り付けられる前記複数のページを並行して処理する手順（ｂ）と、
を印刷ジョブ処理装置に実行させることを特徴とするプログラム。
【請求項９】
前記手順（ｂ）は、複数のページを並行して中間言語に変換することを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記手順（ｂ）は、異なる演算処理を並行処理できるＣＰＵコアを複数含むＣＰＵの前記ＣＰＵコアでそれぞれ並行して異なるページを処理することを特徴とする請求項８または請求項９に記載のプログラム。
【請求項１１】
前記手順（ｂ）は、用紙に割り付けられるページが、前記ＣＰＵコアの数よりも多い場合、まず、ＣＰＵコアにページが１対１で割り当てられ、処理の済んだＣＰＵコアに順次未処理のページが割り当てられて処理されることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記印刷ジョブ処理装置は、前記印刷ジョブに基づいて画像を形成する画像形成装置に備えられることを特徴とする請求項８〜１１のいずれか一項に記載のプログラム。
【請求項１３】
前記印刷ジョブ処理装置の前記手順（ｂ）を実行する各演算部に割り当てられるＬＳスレーブと、前記ＬＳスレーブが割り当てられた前記演算部のいずれか一つに割り当てられるＬＳマスターとを有し、
前記ＬＳスレーブは、割り当てられた前記演算部に前記ページを処理させ、前記ＬＳマスターは、割り当てられた前記演算部に、各演算部による前記ページの処理の状態を管理させることを特徴とする請求項８〜１２のいずれか一項に記載のプログラム。
【請求項１４】
前記ＬＳマスターが割り当てられる前記演算部は、印刷ジョブの処理中に必要に応じて変更されることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
請求項８〜１４のいずれか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１６】
複数枚分のページデータおよび印刷設定を含む印刷ジョブの前記印刷設定に割付印刷が設定されているかどうかを判断する印刷設定判断段階と、
前記印刷設定判断段階で、前記割付印刷が設定されていると判断した場合、用紙に割り付けられる前記複数のページを並行して処理する演算段階と、
を有することを特徴とする印刷ジョブ処理方法。
【請求項１７】
前記演算段階は、複数のページを並行して中間言語に変換することを特徴とする請求項１６に記載の印刷ジョブ処理方法。
【請求項１８】
前記演算段階は、異なる演算処理を並行処理できるＣＰＵコアを複数含む印刷ジョブ処理装置のＣＰＵの前記ＣＰＵコアでそれぞれ並行して異なるページを処理することを特徴とする請求項１６または請求項１７に記載の印刷ジョブ処理方法。
【請求項１９】
前記演算段階は、用紙に割り付けられるページが、前記ＣＰＵコアの数よりも多い場合、まず、ＣＰＵコアにページを１対１で割り当て、処理の済んだＣＰＵコアに順次未処理のページを割り当てて処理させることを特徴とする請求項１８に記載の印刷ジョブ処理方法。
【請求項２０】
前記方法は、前記印刷ジョブに基づいて画像を形成する画像形成装置で実施されることを特徴とする請求項１６〜１９のいずれか一項に記載の印刷ジョブ処理方法。
【請求項２１】
前記演算段階は、印刷ジョブ処理装置の演算部で実施され、
各演算部にはＬＳスレーブが割り当てられ、前記ＬＳスレーブが割り当てられた前記演算部のいずれか一つには前記ＬＳスレーブとともにＬＳマスターが割り当てられ、
前記ＬＳスレーブは、割り当てられた前記演算部に前記ページを処理させ、前記ＬＳマスターは、割り当てられた前記演算部に、各演算部による前記ページの処理の状態を管理させることを特徴とする請求項１６〜２０のいずれか一項に記載の印刷ジョブ処理方法。
【請求項２２】
前記ＬＳマスターが割り当てられる前記ＣＰＵコアを、印刷ジョブの処理中に必要に応じて変更することを特徴とする請求項２１に記載の印刷ジョブ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブ処理装置、印刷ジョブ処理装置用プログラム、および印刷ジョブ処理方法に関する。
【背景技術】
【０００２】
近年、複数のＣＰＵコアを搭載したマルチコアＣＰＵの普及により、印刷処理の高速化のための印刷ジョブの並列処理技術の重要性が増している。
【０００３】
従来、印刷ジョブの並列処理技術としては、印刷ジョブを文字、図形等のオブジェクト単位で複数のＣＰＵにより並行処理することで対応するビットマップデータを作成し、合成して１ページのビットマップデータを作成する画像形成装置が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２０８０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、オンデマンド印刷や商業印刷等で製本する際に利用されているインポジション指定（割付印刷指定）を利用した印刷においては、印刷ジョブに複数枚分のページデータが含まれている。そのため、従来の技術によれば、例えば各ページデータのオブジェクト相互間に依存性がある場合や、オブジェクト毎の処理時間の差が大きくなる場合は、オブジェクト毎のデータ管理が複雑になり、処理待ち時間が増大する。その結果、用紙に印刷されるページ数が増大することにより印刷速度が低下するという問題がある。
【０００６】
本発明は、このような問題を解決するためになされたものであり、印刷ジョブにインポジション指定が含まれている場合に、印刷ジョブに含まれる複数のページデータをページデータ単位で並行処理することで、用紙に印刷されるページ数の増大による印刷速度の低下を抑えることができる。
【課題を解決するための手段】
【０００７】
本発明の上記課題は、以下の手段によって解決される。
【０００８】
（１）複数枚分のページデータおよび印刷設定を含む印刷ジョブを入力する印刷ジョブ入力手段と、入力された印刷設定に割付印刷が設定されている場合、用紙に割り付けられる前記複数のページを並行して処理する演算手段と、を有することを特徴とする印刷ジョブ処理装置。
【０００９】
（２）前記演算手段は、複数のページを並行して中間言語に変換することを特徴とする上記（１）に記載の印刷ジョブ処理装置。
【００１０】
（３）前記演算手段は、異なる演算処理を並行処理できるＣＰＵコアを複数含むＣＰＵであり、複数の前記ＣＰＵコアは、それぞれ並行して異なるページを処理することを特徴とする上記（１）または（２）に記載の印刷ジョブ処理装置。
【００１１】
（４）用紙に割り付けられるページが、前記ＣＰＵコアの数よりも多い場合、まず、ＣＰＵコアにページが１対１で割り当てられ、処理の済んだＣＰＵコアに順次未処理のページが割り当てられ処理されることを特徴とする上記（３）に記載の印刷ジョブ処理装置。
【００１２】
（５）前記印刷ジョブ処理装置は、前記印刷ジョブに基づいて画像を形成する画像形成装置に備えられることを特徴とする上記（１）〜（４）のいずれか一項に記載の印刷ジョブ処理装置。
【００１３】
（６）前記演算手段をなす各演算部にはＬＳスレーブが割り当てられ、前記ＬＳスレーブが割り当てられた前記演算部のいずれか一つには前記ＬＳスレーブとともにＬＳマスターが割り当てられ、前記ＬＳスレーブは、割り当てられた前記演算部に前記ページを処理させ、前記ＬＳマスターは、割り当てられた前記演算部に、各演算部による前記ページの処理の状態を管理させることを特徴とする上記（１）〜（５）のいずれか一項に記載の印刷ジョブ処理装置。
【００１４】
（７）前記ＬＳマスターが割り当てられる前記演算部は、印刷ジョブの処理中に必要に応じて変更されることを特徴とする上記（６）に記載の印刷ジョブ処理装置。
【００１５】
（８）複数枚分のページデータおよび印刷設定を含む印刷ジョブの前記印刷設定に割付印刷が設定されているかどうかを判断する手順（ａ）と、前記印刷設定判断手順で、前記割付印刷が設定されていると判断した場合、用紙に割り付けられる前記複数のページを並行して処理する手順（ｂ）と、を印刷ジョブ処理装置に実行させることを特徴とするプログラム。
【００１６】
（９）前記手順（ｂ）は、複数のページを並行して中間言語に変換することを特徴とする上記（８）に記載のプログラム。
【００１７】
（１０）前記手順（ｂ）は、異なる演算処理を並行処理できるＣＰＵコアを複数含むＣＰＵの前記ＣＰＵコアでそれぞれ並行して異なるページを処理することを特徴とする上記（８）または（９）に記載のプログラム。
【００１８】
（１１）前記手順（ｂ）は、用紙に割り付けられるページが、前記ＣＰＵコアの数よりも多い場合、まず、ＣＰＵコアにページが１対１で割り当てられ、処理の済んだＣＰＵコアに順次未処理のページが割り当てられて処理されることを特徴とする上記（１０）に記載のプログラム。
【００１９】
（１２）前記印刷ジョブ処理装置は、前記印刷ジョブに基づいて画像を形成する画像形成装置に備えられることを特徴とする上記（８）〜（１１）のいずれか一項に記載のプログラム。
【００２０】
（１３）前記印刷ジョブ処理装置の前記手順（ｂ）を実行する各演算部に割り当てられるＬＳスレーブと、前記ＬＳスレーブが割り当てられた前記演算部のいずれか一つに割り当てられるＬＳマスターとを有し、前記ＬＳスレーブは、割り当てられた前記演算部に前記ページを処理させ、前記ＬＳマスターは、割り当てられた前記演算部に、各演算部による前記ページの処理の状態を管理させることを特徴とする前記（８）〜（１２）のいずれか一項に記載のプログラム。
【００２１】
（１４）前記ＬＳマスターが割り当てられる前記演算部は、印刷ジョブの処理中に必要に応じて変更されることを特徴とする上記（１３）に記載のプログラム。
【００２２】
（１５）上記（８）〜（１４）のいずれか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００２３】
（１６）複数枚分のページデータおよび印刷設定を含む印刷ジョブの前記印刷設定に割付印刷が設定されているかどうかを判断する印刷設定判断段階と、前記印刷設定判断段階で、前記割付印刷が設定されていると判断した場合、用紙に割り付けられる前記複数のページを並行して処理する演算段階と、を有することを特徴とする印刷ジョブ処理方法。
【００２４】
（１７）前記演算段階は、複数のページを並行して中間言語に変換することを特徴とする前記（１６）に記載の印刷ジョブ処理方法。
【００２５】
（１８）前記演算段階は、異なる演算処理を並行処理できるＣＰＵコアを複数含む印刷ジョブ処理装置のＣＰＵの前記ＣＰＵコアでそれぞれ並行して異なるページを処理することを特徴とする上記（１６）または（１７）に記載の印刷ジョブ処理方法。
【００２６】
（１９）前記演算段階は、用紙に割り付けられるページが、前記ＣＰＵコアの数よりも多い場合、まず、ＣＰＵコアにページを１対１で割り当て、処理の済んだＣＰＵコアに順次未処理のページを割り当てて処理させることを特徴とする上記（１８）に記載の印刷ジョブ処理方法。
【００２７】
（２０）前記方法は、前記印刷ジョブに基づいて画像を形成する画像形成装置で実施されることを特徴とする上記（１６）〜（１９）のいずれか一項に記載の印刷ジョブ処理方法。
【００２８】
（２１）前記演算段階は、印刷ジョブ処理装置の演算部で実施され、各演算部にはＬＳスレーブが割り当てられ、前記ＬＳスレーブが割り当てられた前記演算部のいずれか一つには前記ＬＳスレーブとともにＬＳマスターが割り当てられ、前記ＬＳスレーブは、割り当てられた前記演算部に前記ページを処理させ、前記ＬＳマスターは、割り当てられた前記演算部に、各演算部による前記ページの処理の状態を管理させることを特徴とする上記（１６）〜（２０）のいずれか一項に記載の印刷ジョブ処理方法。
【００２９】
（２２）前記ＬＳマスターが割り当てられる前記ＣＰＵコアを、印刷ジョブの処理中に必要に応じて変更することを特徴とする上記（２１）に記載の印刷ジョブ処理方法。
【発明の効果】
【００３０】
印刷ジョブにインポジション指定が含まれている場合に、印刷ジョブに含まれる複数のページデータをページデータ単位で並行処理することで、用紙に印刷されるページ数が増大しても印刷速度の低下を抑制することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態に係る印刷ジョブ処理装置を有する画像形成装置とクライアントＰＣとからなる印刷システムの全体構成を示すブロック図である。
【図２】図１に示されるＰＣの構成を示すブロック図である。
【図３】本発明の実施形態に係る印刷ジョブ処理装置を含む画像形成装置の構成を示すブロック図である。
【図４】本発明の実施形態に係る印刷ジョブ処理装置を備える画像形成装置の印刷ジョブの処理に関する説明図である。
【図５】本発明の実施形態に係る印刷ジョブ処理方法のフローチャートを示す図である。
【図６】図５のフローチャートにおける解析処理のサブルーチンフローチャートを示す図である。
【図７】インポジション指定の概念を示す説明図である。
【図８】ページ状態監視テーブルを示す図である。
【図９】各ページの解析処理を各ＬＳスレーブに割り当てた状態に更新されたページ状態監視テーブルを示す図である。
【図１０】複数ページの解析処理を複数のＣＰＵコアで並行して行なう状態を示す説明図である。
【図１１】図６のフローチャートのＬＳスレーブの実行のサブルーチンフローチャートを示す図である。
【図１２】ＬＳスレーブにより解析処理が完了したページの状態に更新されたページ状態監視テーブルを示す図である。
【図１３】未処理のページに対して使用されていないＬＳスレーブが割り当てられたページの状態に更新されたページ状態監視テーブルを示す図である。
【図１４】ラスタライズ処理のフローチャートを示す図である。
【図１５】印刷処理のフローチャートを示す図である。
【発明を実施するための形態】
【００３２】
以下、図面を参照して、本発明の実施形態に係る印刷ジョブ処理装置、印刷ジョブ処理装置用プログラム、および印刷ジョブ処理方法について詳細に説明する。
【００３３】
図１は、本発明の実施形態に係る印刷ジョブ処理装置２０を有する画像形成装置２とクライアントＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１とからなる印刷システムの全体構成を示すブロック図である。画像形成装置２はＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）により構成することができる。
【００３４】
図１に示すように、画像形成装置２は、クライアントＰＣ１とネットワーク３を介して相互に通信可能に接続される。ネットワーク３は、イーサネット（登録商標）、トークンリング、ＦＤＤＩなどの規格によりコンピュータやネットワーク機器同士を接続したＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、あるいは、ＬＡＮ同士を専用線で接続したＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）により構成し得る。
【００３５】
図２は、図１に示されるＰＣ１の構成を示すブロック図である。
【００３６】
クライアントＰＣ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、記憶部１２、表示部１３、入力部１４およびネットワークインタフェース１５を備えており、これらは信号をやり取りするためのバス１６を介して相互に接続される。
【００３７】
ＣＰＵ１１はプログラムにしたがって上記各部の制御や各種の演算処理を行なう。
【００３８】
記憶部１２は、例えば、あらかじめ各種プログラムや各種データを格納しておくＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、作業領域として一時的にプログラムやデータを記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、オペレーティングシステムを含む各種プログラムや各種データを格納するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を有する。
【００３９】
表示部１３は、たとえば液晶ディスプレイであり、各種の情報を表示する。
【００４０】
入力部１４は、たとえばマウスといったポインティングデバイスやキーボードを含み、各種の入力を行うために使用される。
【００４１】
ネットワークインタフェース１５は、外部機器と通信するためのインタフェースであり、イーサネット、トークンリング、ＦＤＤＩ等の規格によるネットワークインタフェース、ＵＳＢ、ＩＥＥＥ１３９４等のシリアルインタフェース、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＩＥＥＥ１２８４等のパラレルインタフェース、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＩＥＥＥ８０２．１１、ＨｏｍｅＲＦ（Ｈｏｍｅ  Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）等の無線通信インタフェース、電話回線に接続するための電話回線インタフェース等を利用することができる。
【００４２】
ユーザは、ＰＣ１からネットワーク３を介して印刷ジョブを画像形成装置２に送信することで、画像形成装置２から印刷を行なうことができる。なお、ＰＣ１において印刷ジョブを処理し、得られた画像データ（例えば、ビットマップデータ）を画像形成装置２に送信し、画像形成装置２から印刷してもよい。
【００４３】
図３は、本実施形態に係る印刷ジョブ処理装置を含む画像形成装置の構成を示すブロック図である。
【００４４】
図３に示すように、画像形成装置２は、ＣＰＵ２１、記憶部２２、操作部２３、画像読み取り部２４、画像印刷部２５および通信インタフェース２６を備えており、これらは信号をやり取りするためのバス２７を介して相互に接続されている。
【００４５】
本実施形態に係る印刷ジョブ処理装置２０は、ＣＰＵ（演算手段、演算部）２１、記憶部（入力手段）２２、通信インタフェース（入力手段）２６により構成することができる。
【００４６】
ＣＰＵ２１は、プログラムに従って上記各部の制御や各種の演算処理等を行う。すなわち、ＣＰＵ２１は、画像形成装置２を構成する各種機能ブロックと連携をとりながら、画像形成に関する制御全般を行なう。
【００４７】
本実施形態においては、ＣＰＵ２１は、ＣＰＵコア（演算手段、演算部）２１０を複数含むマルチコアＣＰＵにより構成する。ただし、ＣＰＵ２１は単体のＣＰＵを複数用いて構成してもよい。ここで、マルチコアＣＰＵとは、１つのプロセッサ・パッケージ内にプロセッサコアが２つ以上あるＣＰＵをいう。
【００４８】
ＣＰＵ２１は、印刷ジョブ処理装置用プログラムに従って、ＰＣ１から通信インタフェース２６を通じて受信した印刷ジョブを解析する。印刷ジョブの印刷設定にインポジション指定が設定されている場合は、各ＣＰＵコア２１０に、印刷ジョブに含まれるページデータが１ページ単位で割り当てられる。ＣＰＵ２１は、複数のＣＰＵコア２１０によりページデータを並列処理する。なお、ＣＰＵ２１が単体のＣＰＵを複数用いて構成される場合は、ＣＰＵ２１を構成する各ＣＰＵによりページデータを並列処理することができる。
【００４９】
印刷ジョブには、印刷設定のデータと１枚または複数枚のページデータとが含まれる。印刷設定のデータは、例えばＰＪＬ（Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）で記述され、ページデータは、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述されることができる。
【００５０】
ＣＰＵコア２１０が行なう処理には、印刷ジョブのＰＤＬを解析処理して中間言語であるディスプレイリストを作成することが含まれる。また、前記処理には、印刷ジョブのＰＤＬを解析処理して画像データ（例えば、ビットマップ）を作成することが含まれ得る。すなわち、ＣＰＵコア２１０は、印刷のためのデータ処理を広く行なうことができる。
【００５１】
記憶部２２は、あらかじめ各種プログラムやフォントデータ等各種データを格納しておくＲＯＭ、作業領域として一時的にプログラムや印刷データ等各種データを記憶するＲＡＭ、各種プログラムや追加フォント等各種データを格納し、または印刷ジョブのデータ、ＣＰＵ２１の処理により得られたディスプレイリスト、画像データを保存するために使用されるＨＤＤ等から構成される。
【００５２】
操作部２３は、各種情報を表示し、または各種設定入力を行うタッチパネル、コピー枚数等を設定するテンキー、動作の開始を指示するスタートキー、動作の停止を指示するストップキー、各種設定条件を初期化するリセットキー等の各種固定キー、表示ランプ等から構成される。
【００５３】
画像読み取り部２４は、原稿台の所定の読み取り位置にセットされた原稿またはＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ  自動原稿搬送装置）により所定の読み取り位置に搬送された原稿に蛍光ランプ等の光源で光を当て、その反射光をＣＣＤイメージセンサ等の撮像装置で光電変換して、その電気信号から画像データを生成する。また、画像読み取り部２４は、生成した画像データを画像印刷部２５に転送する。
【００５４】
画像印刷部２５は、画像データに基づく画像を、電子写真方式により帯電、露光、現像、転写および定着の各工程を経て、用紙に印刷して排出する。すなわち、画像印刷部２５は、画像読み取り部２４から受信した画像データ、もしくは、ＰＣ１からネットワーク３経由で通信インタフェース２６により受信した印刷ジョブに基づく画像データを、現像材を用いて画像形成し用紙に印刷することができる。
【００５５】
通信インタフェース２６は、画像形成装置２と外部機器との間で通信を行うためのインタフェースであり、イーサネット、トークンリング、ＦＤＤＩ等の規格によるネットワークインタフェースや、ＵＳＢ、ＩＥＥＥ１３９４等のシリアルインタフェース、ＳＣＳＩ、ＩＥＥＥ１２８４等のパラレルインタフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１、ＨｏｍｅＲＦ、ＩｒＤＡ等の無線通信インタフェース等の各種ローカル接続インタフェース、電話回線に接続するための電話回線インタフェース等が用いられる。
【００５６】
本実施形態においては、外部機器には、ＰＣ１、ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）サーバが含まれ得る。
【００５７】
画像形成装置２は、上記構成により、外部機器から受信した印刷ジョブに基づき画像を印刷出力するプリンタとしての機能、原稿画像を読み取って得た画像データに基づく画像を印刷出力する複写機としての機能、原稿画像を読み取って得た画像データを外部機器に送信するスキャナとしての機能、および画像データを電話回線を介して送受信するファクシミリとしての機能を兼ね備えることができる。
【００５８】
図４は、本実施形態に係る印刷ジョブ処理装置を備える画像形成装置の印刷ジョブの処理に関する説明図である。
【００５９】
画像形成装置２は、印刷ジョブに含まれるページデータをデータ受信部２６０で受信し、ＨＤＤにＰＤＬのファイルとして保存する。データ受信部は通信インタフェース２６で構成され、ＨＤＤ２２１は記憶部２２の一部で構成される。
【００６０】
解析処理部２１１は、ＨＤＤ２２１に保存されたＰＤＬのファイルを読み込み、解析し、ページデータの複数のページをページ単位で並行処理してディスプレイリストを作成し、ＲＡＭ２２２に保存する。解析処理部２１１は、ＣＰＵ２１により構成され、ＲＡＭ２２２は記憶部２２の一部で構成される。
【００６１】
ラスタライズ部２１２は、用紙１枚分のディスプレイリストが完成した時点で、ＲＡＭ２２２からディスプレイリストを読み込み、ラスタライズしてバンド単位に分割したビットマップデータを作成し、ＲＡＭ２２２に保存する。
【００６２】
印刷部２５０は、用紙１枚分の画像データが完成した時点で、バンド単位で順次ビットマップデータをＲＡＭ２２２から読み込んで用紙に印刷する。印刷部２５０は、画像印刷部２５で構成される。
【００６３】
図５は、本実施形態に係る印刷ジョブ処理方法のフローチャートを示す図である。
【００６４】
本実施形態は、本発明に係る印刷ジョブ処理用プログラム（以下、単に「プログラム」と称する）により画像形成装置２で実施することができるがこれに限定されない。すなわち、本実施形態は、プログラムによりＰＣ１で実施してもよく、外部装置であるＲＩＰサーバで行なってもよい。
【００６５】
また、本実施形態は、その一部または全部をソフトウェアに換えてハードウェアにより実施することができる。
【００６６】
画像形成装置２は、ＰＣ１から通信インタフェース２６により印刷ジョブを受信する（Ｓ５００）。印刷ジョブは記憶部２２に一時的に記憶される。
【００６７】
ＣＰＵ２１は印刷ジョブを解析処理（処理）する（Ｓ５０１）。
【００６８】
図６は、図５のフローチャートにおける解析処理のサブルーチンフローチャートを示す図である。
【００６９】
解析処理は、プログラムに従いＣＰＵ２１が行なう。プログラムには、解析処理を管理する解析タスクであるＬＳマスターが一つと、ＬＳマスターに管理されて解析処理を行うＬＳスレーブが複数含まれる。
【００７０】
具体的には、ＬＳマスターは、１枚の用紙に割り付けられた全ページを管理し、各ページの解析処理を各ＬＳスレーブに割り当て、各ＬＳスレーブの解析処理状況を管理する。ＬＳスレーブは、ＬＳマスターから指示を受けて、割り当てられたページの解析処理を行い、ディスプレイリストを作成する。
【００７１】
ＣＰＵ２１の各ＣＰＵコア２１０にはＬＳスレーブが１つずつ割り当てられ、ＬＳスレーブが割り当てられたＣＰＵコア２１０のいずれか１つに、さらにＬＳマスターが割り当てられる。ＬＳマスターはＬＳスレーブに比べて演算処理量が少ないため、可能な限りＬＳスレーブにＣＰＵコア２１０を割り当て、ＬＳマスターのみに１つのＣＰＵコア２１０を割り当てないようにすることで、印刷ジョブのページ数が多い場合でもＣＰＵ２１の解析処理効率を向上させることができる。
【００７２】
また、ＬＳマスターが割り当てられるＣＰＵコア２１０は必要に応じて変更してもよい。例えば、ページの解析処理が行なわれていないＣＰＵコア２１０が存在する場合は、ＬＳマスターは当該ＣＰＵコア２１０に優先的に割り当てられるようにしてもよい。これにより、ＣＰＵコア２１０の非動作期間を削減することができるため、印刷速度を向上させることができる。
【００７３】
以下の説明においては、便宜上、ＣＰＵ２１が有するＣＰＵコア２１０の数を４つとし、各ＣＰＵコア２１０を、ＣＰＵコア１〜４と称する。また、ＬＳスレーブの数をＣＰＵコア２１０の数と同じとし、各ＬＳスレーブをＬＳスレーブ１〜４と称する。ただし、ＣＰＵコアの数とＬＳスレーブの数が異なってもよいことは勿論である。
【００７４】
ＣＰＵ２１は、記憶部２２のＨＤＤにファイルとして保存された印刷ジョブのＰＪＬファイルおよびＰＤＬファイルを読み込み（Ｓ６００）、ＰＪＬファイルで設定されている印刷設定を解析する（Ｓ６０１）。
【００７５】
印刷設定にインポジション指定（割付印刷設定）があるかないかを判定する（Ｓ６０２）。ここで、インポジション指定とは、用紙へ複数のページの割付印刷を行なう旨の指定であり、例えば、Ｎｉｎ１、両面印刷がある。
【００７６】
図７は、インポジション指定の概念を示す説明図である。
【００７７】
図７には、印刷ジョブには８枚分のページデータが含まれ、印刷設定には、１ページ目から８ページ目を１枚の用紙に割り付け、１ページ目から４ページ目までを表面に、５ページ目から８ページ目までを裏面に割り付ける旨のインポジション指定が含まれている場合の例を示している。
【００７８】
インポジション指定がない場合は（Ｓ６０２、ＮＯ）、１枚の用紙に印刷するページの数は１ページのみのため、ＣＰＵコア１に割り当てられたＬＳスレーブ１にＰＤＬファイルの１ページ目の解析処理を割り当て（Ｓ６０３）、ＬＳスレーブ１による解析処理を実行する（Ｓ６０４）。ＬＳスレーブの処理が完了すると、ＬＳマスターも処理を完了する。
【００７９】
インポジション指定がある場合は（Ｓ６０２、ＹＥＳ）、ＬＳマスターは、ページ状態監視テーブルを作成する（Ｓ６０５）。
【００８０】
図８はページ状態監視テーブルを示す図である。ページ監視テーブルでは、各ページの状態（ディスプレイリストの作成状況）、面（用紙の表面、裏面のどちらにページを割り付けるか）、行（Ｎｉｎ１の際に、何行目にページを配置するか）、列（Ｎｉｎ１の際に、何列目にページを配置するか）を管理する。ページ監視テーブルはインポジション指定の内容で初期化される。
【００８１】
ＬＳマスターは、印刷ジョブに含まれる各ページの解析処理を各ＬＳスレーブに割り当て、これに対応したページの状態になるように状態監視テーブルを更新する（Ｓ６０６）。
【００８２】
図９は、各ページの解析処理を各ＬＳスレーブに割り当てた状態に更新されたページ状態監視テーブルを示す図である。図９に示すように、印刷ジョブに含まれる先頭のページから順番にＬＳスレーブを割り当て、ＬＳスレーブを割り当てたページの状態を「ＬＳスレーブＸに割り当て」（ＸはＬＳスレーブを特定する自然数）に変更して、ページ状態監視テーブルを更新する。
【００８３】
その後、ＬＳマスターは、更新したページ状態監視テーブルに従って各ＣＰＵコア２１０にＬＳスレーブを実行させる（Ｓ６０７）。
【００８４】
図１０は、複数ページの解析処理を複数のＣＰＵコアで並行して行なう状態を示す説明図である。
【００８５】
図１０に示すように、ＣＰＵコア１〜４には、まず、それぞれページ１〜４の解析処理を行なわせ、ページ１〜４の解析処理が終了すると、次にページ５〜８の解析処理を行なわせる。
【００８６】
すなわち、本実施形態においては、印刷ジョブにインポジション指定がある場合、ページ単位で、複数のＣＰＵコア２１０に解析処理を並行に行なわせる。これにより、ＣＰＵコア２１０の個数分のページについては、並列処理することで１ページ分の処理時間と同等になるため、解析処理時間を短縮することができる。さらに、ページ単位で並列処理することで、各ページデータのオブジェクト相互間に依存性がある場合や、オブジェクト毎の処理時間の差が大きくなる場合であっても、その影響を小さくできる。このため、オブジェクト毎のデータ管理の複雑化や、処理待ち時間の増大を防止することで、用紙に印刷されるページ数が増大しても印刷速度の低下を抑えることができる。
【００８７】
図１１は、図６のフローチャートのＬＳスレーブの実行のサブルーチンフローチャートを示す図である。
【００８８】
図１１に示すように、ＬＳスレーブは、ＬＳマスターにより割り当てられたページのＰＤＬデータを読み込み、ＰＤＬデータに記述されたオブジェクト単位で解析処理を行ないディスプレイリストに変換する（Ｓ１１００）。そして、解析処理中のページのすべてのオブジェクトの解析処理が完了するまで解析処理を繰り返し（Ｓ１１０１、ＮＯ）、すべてのオブジェクトの解析処理が完了するとＬＳスレーブの実行を完了する（Ｓ１１０１、ＹＥＳ）。
【００８９】
各ＬＳスレーブによるページの解析処理の実行の結果作成されたディスプレイリストは、用紙中に割り付けられた位置に関連づけられて（Ｓ６０８）、ページ状態監視テーブルで管理される。
【００９０】
図１２は、ＬＳスレーブにより解析処理が完了したページの状態に更新されたページ状態監視テーブルを示す図である。
【００９１】
図１２に示すように、ページ状態監視テーブルは、ＬＳスレーブによるページの解析処理の実行が完了される度に更新され（Ｓ６０９）、ディスプレイリストの作成が完了したページの状態は、「ディスプレイリスト作成完了」に変更される。
【００９２】
ＬＳマスターは、１枚の用紙に割り当てられた全ページのディスプレイリストの作成が完了したかどうかを判定し、全ページのディスプレイリストの作成が完了した場合は（Ｓ６１０、ＹＥＳ）、記憶部２２のＨＤＤからＰＤＬファイルを削除して（Ｓ６１１）、ＬＳマスターによる解析処理を終了する。
【００９３】
全ページのディスプレイリストの作成が完了していない場合は（Ｓ６１０、ＮＯ）、ページ状態監視テーブルを確認し、解析処理が行なわれていないページに対してその時点で使用されていないＬＳスレーブを割り当て、ページ状態監視テーブルを更新する（Ｓ６０６）。そして、ＬＳスレーブは、当該ページの解析処理を行ないディスプレイリストの作成を実行する。
【００９４】
図１３は、未処理のページに対して使用されていないＬＳスレーブが割り当てられたページの状態に更新されたページ状態監視テーブルを示す図である。
【００９５】
本実施形態においては、用紙に割り付けられるページがＣＰＵコア２１０の数より多い場合、まず、ＣＰＵコア２１０にページを１対１で割り当て、解析処理が終了したＣＰＵコア２１０に順次未処理のページを割り当てる。これにより、ＣＰＵコア２１０の非動作期間を削減することができるため、印刷速度を向上させることができる。
【００９６】
用紙１枚分のページの解析処理は、全ページのディスプレイリストの作成が完了するまで継続される（Ｓ６１０）。
【００９７】
用紙１枚分の解析処理が完了した後、ラスタライズが行なわれる（Ｓ５０２）。
【００９８】
図１４は、ラスタライズ処理のフローチャートを示す図である。
【００９９】
ラスタライズは、１ページを複数に等分割したバンド単位で行なう。ここで、ラスタライズにおける１ページとは各用紙の１面分であり、各用紙の表面または裏面を意味する。すなわち、用紙１枚に対する解析処理において、４ページ分が１面に割り付けられていたとしても、ラスタライズではその４ページ分が割り付けられている状態の該１面を１ページとして処理する。
【０１００】
図１４に示すように、ＣＰＵ２１０は、記憶部２２のＲＡＭからバンド単位でディスプレイリストを読み込んで、対応するビットマップを作成し（Ｓ１４００）、作成したビットマップをＲＡＭに保存する（Ｓ１４０１）。
【０１０１】
１ページの全バンドの処理が完了したかどうかを判定し、全バンドの処理が完了した場合は（Ｓ１４０２、ＹＥＳ）、当該ページのディスプレイリストをＲＡＭから削除し（Ｓ１４０３）、ラスタライズ処理を終了する。
【０１０２】
全バンドの処理が完了していない場合は（Ｓ１４０２、ＮＯ）、全バンドの処理が完了するまで、次のバンドに対応するディスプレイリストを読み込み、ビットマップの作成および保存を繰り返す（Ｓ１４００、１４０１）。
【０１０３】
１ページのラスタライズ処理が完了した後は、印刷処理が行なわれる（Ｓ５０３）。
【０１０４】
図１５は印刷処理のフローチャートを示す図である。
【０１０５】
ＣＰＵ２１は、記憶部２２のＲＡＭから、バンド単位でビットマップを読み出し、エンジンにビデオ転送する（Ｓ１５００）。１ページの全バンドのビデオ転送が完了するまで繰り返し（Ｓ１５０１、ＮＯ）、全バンドのビデオ転送が完了したときは（Ｓ１５０１、ＹＥＳ）当該ページのビットマップをＲＡＭから削除する（Ｓ１５０２）。
【０１０６】
以上、本発明の実施形態に係る印刷ジョブ処理装置、印刷ジョブ処理装置用プログラム、および印刷ジョブ処理方法について説明したが、本実施形態は以下の効果を奏する。
【０１０７】
印刷ジョブにインポジション指定が含まれている場合に、印刷ジョブに含まれる複数のページデータをページデータ単位で並行処理することで、用紙に印刷されるページ数が増大しても印刷速度の低下を抑制することができる。
【０１０８】
用紙に割り付けられるページがＣＰＵコアの数より多い場合、ＣＰＵコアにページを１対１で割り当て、解析処理が終了したＣＰＵコアに順次未処理のページを割り当てることで、ＣＰＵコアの非動作期間を削減し、印刷速度を向上させることができる。
【０１０９】
ＣＰＵコアにはＬＳスレーブとともにＬＳマスターを割り当てることで、印刷ジョブのページ数が多い場合でもＣＰＵの解析処理効率を向上させることができる。
【０１１０】
ＬＳマスターが割り当てられるＣＰＵコアを必要に応じて変更することで、ＣＰＵコアの非動作期間を削減することができるため、印刷速度を向上させることができる。
【０１１１】
以上、本発明を実施形態により説明したが、本発明は上述した実施形態に限定されるものではない。
【０１１２】
例えば、上述した実施形態においては、複数のＣＰＵコアにより複数のページを並行して処理して中間言語に変換しているが、複数のＣＰＵコアにより複数のページを並行して処理してビットマップに変換してもよい。
【符号の説明】
【０１１３】
１    ＰＣ、
２    ＭＦＰ、
３    ネットワーク、
１１    ＣＰＵ、
１２    記憶部、
１３    表示部、
１４    入力部、
１５    ネットワークインタフェース、
２１    ＣＰＵ、
２２    記憶部、
２３    操作部、
２４    画像読み取り部、
２５    画像印刷部、
２６    通信インタフェース。
【図１】
2012126024.tif 000003
【図２】
2012126024.tif 000004
【図３】
2012126024.tif 000005
【図４】
2012126024.tif 000006
【図５】
2012126024.tif 000007
【図６】
2012126024.tif 000008
【図７】
2012126024.tif 000009
【図８】
2012126024.tif 000010
【図９】
2012126024.tif 000011
【図１１】
2012126024.tif 000012
【図１２】
2012126024.tif 000013
【図１３】
2012126024.tif 000014
【図１４】
2012126024.tif 000015
【図１５】
2012126024.tif 000016
【図１０】
2012126024.tif 000017