(57)【要約】      （修正有）【課題】マルチコアＣＰＵにおいて、ＰＤＬデータのページ数にかかわらず最適な並列処理を実行することで、ＰＤＬデータを高速に処理する画像形成装置を提供する。【解決手段】マルチコアＣＰＵにおいて、処理するページを判定し、１ページ目の場合は、オブジェクト単位のＰＤＬ並列処理に切り替え、２ページ目以降はページ単位のＰＤＬ並列処理に切り替える。さらに、ページ処理が１ページのみになった場合は、オブジェクト単位のＰＤＬ並列処理に切り替えることにより、単ページデータでも複数ページデータでも最適なパフォーマンス向上効果が得られる。【選択図】図２
2015022685.tif 000002
【特許請求の範囲】
【請求項１】
ＰＤＬ（Ｐａｇｅ  Ｄｅｓｐｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データに対し、複数のＰＤＬ処理により、複数のページを並列に処理するページ並列処理手段（４０２，４０３）と、ページ内のオブジェクトを並列に処理するオブジェクト並列処理手段（４０４、４０５）と
前記並列処理手段を複数のＣＰＵ（２０４）で実行する画像形成装置（１０１）において
ＰＤＬデータを解析し、ページを判定するページ判定手段（２１３）と、
前記ページ並列処理手段により実行する複数のＰＤＬ処理のページ処理状況を管理するステータス管理手段（５０１、５０２）と、
前記ページ判定手段とステータス管理手段に応じて、前記、オブジェクト並列処理手段を実行するかどうかを切り替える処理切り替え手段（Ｓ１００３、Ｓ１０２２、Ｓ１１０３）と、前記ステータス管理手段により管理された処理状況に応じて、前記ページ並列処理のページ処理実行を切り替えるページ処理制御手段（Ｓ１０３１、Ｓ１０１３）を有することを特徴とする画像形成装置。
【請求項２】
前記オブジェクト並列処理手段は、オブジェクト単位でＰＤＬ解析とＤＬ（Ｄｉｓｐｌａｙ  Ｌｉｓｔ）生成をパイプラインで並列処理することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記処理切り替え手段は、前記ページ判定手段で判定したページが最初のページであると判定した場合、前記オブジェクト並列処理手段でページのＰＤＬ処理をすることを特徴とする請求項１の画像形成装置。
【請求項４】
前記処理切り替え手段は、前記ステータス管理手段で管理された複数のＰＤＬ処理のステータスから、いずれかのＰＤＬ処理が終了したかを判定する終了判定手段と、前記終了判定手段により、終了したＰＤＬ処理と終了していないＰＤＬ処理があった場合、終了していないＰＤＬ処理を前記オブジェクト並列処理手段に切り替えて処理することを特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記ページ処理制御手段は、前記ステータス管理手段で管理された複数のＰＤＬ処理のステータスから、最初のページが処理中であると判定した場合、次のページ以降のＰＤＬ処理を最初のページのＰＤＬ処理が終了するまで待つように制御することを特徴とする請求項１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関する。印刷装置等の画像形成装置において、ページ記述言語（ＰＤＬ）のデータを複数のプロセッサにより処理する手段を備えた画像形成装置に関するものである。
【背景技術】
【０００２】
近年、ハードウェア技術の向上により、マルチコアのＣＰＵが開発され、ＰＣ等では、複数のアプリケーションを同時実行可能となっている。
【０００３】
マルチファンクションプリンタ（ＭＦＰ）においても、コピー、プリント等の複数の機能をストレスなく並列実行するために、マルチコアのＣＰＵが搭載されるようになっている。ＭＦＰにおいて、ＰＤＬデータの印刷処理はＣＰＵの使用率が非常に高く、マルチコアのＣＰＵを使って、各ページをそれぞれ並列に処理（ページ並列処理）し、より高速に印刷できる方法が提案されている（特許文献１参照）。
【０００４】
また、ＰＤＬデータ内のコマンドの並べ替えをしてから、各コマンドをそれぞれのＣＰＵでオブジェクト単位の並列処理（オブジェクト並列処理）を実行し、効率よくマルチコアのＣＰＵで処理する方法も提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０５−２０１０７７号公報
【特許文献２】特開２００９−２５９２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、前述したＰＤＬのページ並列処理では、複数ページのデータにおいては、効率は良くマルチコアＣＰＵを活かすことができるが、単ページデータにおいては効果がない。また、前述したＰＤＬのオブジェクト並列処理では、単ページデータにおいて効果はあるが、オブジェクト単位でスレッド間のシステムコールが発生し、複数ページのデータにおいてはページ並列処理より効果が低くなる。
【０００７】
そこで、本発明はマルチコアＣＰＵにおいて、ＰＤＬデータのページ数にかかわらず最適な並列処理を実行することで、ＰＤＬデータを高速に処理する画像形成装置を提供するものである。
【課題を解決するための手段】
【０００８】
上述した問題を解決するために、
ＰＤＬデータに対し、複数のＰＤＬ処理により、複数のページを並列に処理するページ並列処理手段（４０２，４０３）と、ページ内のオブジェクトを並列に処理するオブジェクト並列処理手段（４０４、４０５）と
前記並列処理手段を複数のＣＰＵ（２０４）で実行する画像形成装置（１０１）において
ＰＤＬデータを解析し、ページを判定するページ判定手段（２１３）と、
前記ページ並列処理手段により実行する複数のＰＤＬ処理のページ処理状況を管理するステータス管理手段（５０１、５０２）と、
前記ページ判定手段とステータス管理手段に応じて、前記、オブジェクト並列処理手段を実行するかどうかを切り替える処理切り替え手段（Ｓ１００３、Ｓ１０２２、Ｓ１１０３）と、前記ステータス管理手段により管理された処理状況に応じて、前記ページ並列処理のページ処理実行を切り替えるページ処理制御手段（Ｓ１０３１、Ｓ１０１３）を有することを特徴とし、
前記オブジェクト並列処理手段は、オブジェクト単位でＰＤＬ解析とＤＬ（Ｄｉｓｐｌａｙ  Ｌｉｓｔ）生成をパイプラインで並列処理することを特徴とし、
前記処理切り替え手段は、前記ページ判定手段で判定したページが最初のページであると判定した場合、前記オブジェクト並列処理手段でページのＰＤＬ処理をすることを特徴とし、
さらに、前記処理切り替え手段は、前記ステータス管理手段で管理された複数のＰＤＬ処理のステータスから、いずれかのＰＤＬ処理が終了したかを判定する終了判定手段と、前記終了判定手段により、終了したＰＤＬ処理と終了していないＰＤＬ処理があった場合、終了していないＰＤＬ処理を前記オブジェクト並列処理手段に切り替えて処理することを特徴とし、
前記ページ処理制御手段は、前記ステータス管理手段で管理された複数のＰＤＬ処理のステータスから、最初のページが処理中であると判定した場合、次のページ以降のＰＤＬ処理を最初のページのＰＤＬ処理が終了するまで待つように制御することを特徴とする。
【発明の効果】
【０００９】
マルチコアＣＰＵにおいて、処理するページを判定し、１ページ目の場合は、オブジェクト単位のＰＤＬ並列処理に切り替え、２ページ目以降はページ単位のＰＤＬ並列処理に切り替える。さらに、ページ処理が１ページのみになった場合は、オブジェクト単位のＰＤＬ並列処理に切り替えることにより、単ページデータでも複数ページデータでも最適なパフォーマンス向上効果が得られる。
【図面の簡単な説明】
【００１０】
【図１】本発明における画像形成装置１０１のシステム構成の一例を示す図
【図２】本発明におけるＰＤＬ処理のモジュール構成の一例を示す図
【図３】本発明におけるＰＤＬ処理のタスク構成の一例を示す図
【図４】実施例１におけるＰＤＬ制御タスク４０１のＰＤＬ制御部２１２のフローチャートを示す図
【図５（ａ）】実施例１におけるＰＤＬ制御部２１２で管理するＰＤＬタスク実行情報の一例を示す図
【図５（ｂ）】実施例１におけるＰＤＬ制御部２１２で管理するＰＤＬタスク実行情報の一例を示す図
【図５（ｃ）】実施例１におけるＰＤＬ制御部２１２で管理するＰＤＬタスク実行情報の一例を示す図
【図５（ｄ）】実施例１におけるＰＤＬ制御部２１２で管理するＰＤＬタスク実行情報の一例を示す図
【図５（ｅ）】実施例１におけるＰＤＬ制御部２１２で管理するＰＤＬタスク実行情報の一例を示す図
【図６】実施例１におけるＰＤＬタスク１（４０２）、ＰＤＬタスク２（４０３）で実行する処理のフローチャートを示す図
【図７】実施例１におけるＳ１１０４のパイプライン処理のフローチャートを示す図
【図８】実施例１におけるパイプラインタスクで実行する処理のフローチャートを示す図
【図９】実施例１におけるステップＳ１１０５の通常処理のフローチャートを示す図
【発明を実施するための形態】
【００１１】
図１は、本発明における画像形成装置１０１のシステム構成の一例を示す図である。
【００１２】
１０１は画像形成装置であり、２０１は、画像形成装置１０１におけるＣＰＵ２０４の制御コードを格納するＲＯＭである。ＲＯＭ２０１は、受信部２１１、ＰＤＬ制御部２１２、ＰＤＬ解析部２１３、ＤＬ生成部２１４、パイプライン処理部２１５、展開処理部２１６からなる。２０２は様々な情報を一時格納するＲＡＭである。ＲＡＭ２０２は、受信バッファ２２１、ワークメモリ２２２、フレームバッファ２２３、ラスタメモリ２２４からなる。２０３は外部デバイスと情報の入出力を行うためのネットワークＩ／Ｆであり、外部デバイスから送信された印刷データを受信する。
【００１３】
２１１は、ネットワークＩ／Ｆ２０３で受信したＰＤＬデータを受信バッファ２２１に格納する受信部である。２１２は、ＰＤＬ解析部２１３、ＤＬ生成部２１４、パイプライン処理部２１５の処理実行の制御や処理状況の管理を行うＰＤＬ制御部である。また、ＰＤＬ制御部２１２は、ＰＤＬ解析部２１３の要求に応じて、受信バッファ２２１に格納されたＰＤＬデータを読出し、ＰＤＬ解析部２１３に渡す。２１３は、ＰＤＬ制御２１２から渡されたＰＤＬデータのコマンドを解析し、ＤＬ生成情報を生成するＰＤＬ解析部である。
【００１４】
２１４は、解析部２１３において解析して生成されたＤＬ生成情報から描画を行なうための内部情報であるＤＬ（Ｄｉｓｐｌａｙ  Ｌｉｓｔ（中間コード））を生成し、フレームバッファ２２３に格納するＤＬ生成部である。２１５は、ＰＤＬ解析部２１３でコマンド解析して生成されたＤＬ生成情報をワークメモリ２２２に一旦スプールし、非同期にスプールしたＤＬ生成情報を読出し、ＤＬ生成部２１４に渡すパイプライン処理部である。２１６は、フレームバッファ２２３に格納されたＤＬを展開し、ビットマップをラスタメモリ２２４に格納する展開処理部である。
【００１５】
受信バッファ２２１は、ネットワークＩ／Ｆ２０３を介して受信した印刷データを格納するメモリである。２２２は、ＰＤＬデータからＤＬ生成情報を生成するとき、ＤＬ生成情報を格納するときなど、一時的に使用するワークメモリである。２２３は、ＤＬ生成部２１４で生成されたＤＬを格納するフレームバッファである。２２４は、フレームバッファ２２３に格納されたＤＬから展開処理部２１５により展開されたラスタイメージを格納するラスタメモリである。
【００１６】
２０４は、画像形成装置１０１の演算処理や制御などを並列で行うことができるマルチコアの中央演算処理装置（ＣＰＵ）である。２０５は、プリンタエンジン２０６との信号の入出力を行うエンジンＩ／Ｆである。２０６は、イメージデータに基づいて、周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写して定着し印字を行うプリンタエンジンである。
【００１７】
図２は、本発明におけるＰＤＬ処理のモジュール構成を示す図である。
【００１８】
ＰＤＬ処理は、ＰＤＬ制御部２１２、ＰＤＬ解析部２１３、ＤＬ生成部２１４、パイプライン処理部２１５から構成され、ＰＤＬ解析部２１３、ＤＬ生成部２１４は複数のタスクから実行され、複数のページを並列で実行することができる。ＰＤＬ制御部２１２は、受信部２１１からＰＤＬデータの受信の通知を受けると、ＰＤＬ解析部２１３へ処理を依頼する。ＰＤＬ解析部２１３は、ＰＤＬ制御部２１２の指示に従い、ＤＬ生成部２１４またはパイプライン処理部２１５を切り替え、ＰＤＬ解析して作成したＤＬ生成情報を渡す。
【００１９】
パイプライン処理部２１５は、ＤＬ生成情報を格納するスプーラ３０１、ＤＬ生成情報の格納先であるスプール３０２、スプール３０２に格納されたＤＬ生成情報を読み出すデスプーラ３０３からなる。スプーラ３０１とデスプーラ３０３を別タスクで実行することで、ＰＤＬ解析部２１３のＰＤＬ解析とＤＬ生成部２１４のＤＬ生成をマルチコアのＣＰＵ２０４を使ってパイプラインの並列処理が可能になる。
【００２０】
図３は、本発明におけるＰＤＬ処理のタスク構成を示す図である。
【００２１】
４０１は、ＰＤＬ制御部２１２を実行するＰＤＬ制御タスクである。ＰＤＬ制御タスク４０１は、ネットワークＩ／Ｆ２０３からＰＤＬデータを受信すると起動され、起動後ＰＤＬタスク４０２、４０３を生成、メッセージ通信を相互に行い、ＰＤＬデータの処理の制御と処理状況を管理する。４０２、４０３は、ＰＤＬ制御部２１２からＰＤＬ処理依頼メッセージを受け、ＰＤＬ解析部２１３とＤＬ生成部２１４、または、ＰＤＬ解析部２１３とスプーラ３０２を切り替えて実行するＰＤＬタスク１，２である。ＰＤＬタスク４０２、４０３は、ＰＤＬのページ処理指示依頼、ページ終了、ジョブ終了のメッセージをＰＤＬ制御タスク４０１に送信する。
【００２２】
４０４、４０５は、ＰＤＬタスク４０２、４０３により生成され、デスプーラ３０３、ＤＬ生成部２１４を実行するパイプラインタスク１，２である。なお、ＰＤＬタスク、パイプラインタスクはＣＰＵの数に応じて生成する個数を変更することが可能である。
【００２３】
［実施例１］
図４は、本実施例におけるＣＰＵ２０４上で動作するＰＤＬ制御タスク４０１のＰＤＬ制御部２１２のフローチャートを示す図である。
【００２４】
ステップＳ１００１で、ページ番号を管理するＰａｇｅＣｏｕｎｔの初期化（１を設定）とタスク実行情報の初期化をする。ステップＳ１００２で、ＰＤＬタスク１、２を起動し、ＰＤＬタスク１，２からのメッセージ受信待ちになる。メッセージ受信すると、ステップＳ１００３で、ページ処理指示依頼かを判定する。ページ処理指示依頼のメッセージである場合、ステップＳ１００４で、ＰａｇｅＣｏｕｎｔが１かを判定する。ＰａｇｅＣｏｕｎｔが１の場合、ステップＳ１００５で、メッセージ送信元のタスクにＰａｇｅＣｏｕｎｔのページとパイプライン処理依頼のメッセージを送信する。
【００２５】
ステップＳ１０４２で、ＰＤＬタスク実行情報にＰａｇｅＣｏｕｎｔと処理実行中を示す“Ｅｘｅｃ”を設定する。ステップＳ１０４３で、ＰａｇｅＣｏｕｎｔをインクリメントし、メッセージ受信待ちとなる（ステップＳ１００２）。一方、ＰａｇｅＣｏｕｎｔが１以外の場合は、さらにステップＳ１０３１で、ＰａｇｅＣｏｕｎｔが２かを判定する。ＰａｇｅＣｏｕｎｔが２の場合、ステップＳ１０３２で、ＰＤＬタスク実行情報にＰａｇｅＣｏｕｎｔと処理待ち状態を示す“Ｗａｉｔ”を設定し、メッセージ受信待ちとなる（ステップＳ１００２）。
【００２６】
これにより、１ページ目の処理のために、複数のＣＰＵを使ってパイプライン処理によるオブジェクト並列実行することができ、１ページ目の印刷時間を短縮することができる。ＰａｇｅＣｏｕｎｔが１でも２でもない場合は、ステップＳ１０４１で、メッセージ送信元のタスクにＰａｇｅＣｏｕｎｔのページと通常処理依頼のメッセージを送信する。ステップＳ１０４２で、ＰＤＬタスク実行情報にＰａｇｅＣｏｕｎｔと処理実行中を示す“Ｅｘｅｃ”を設定する。ステップＳ１０４３で、ＰａｇｅＣｏｕｎｔをインクリメントし、メッセージ受信待ちとなる（ステップＳ１００２）。
【００２７】
受信したメッセージが、ページ処理指示依頼でない場合、ステップＳ１０１１で、ページ終了通知かを判定する。ページ処理通知である場合、ステップＳ１０１２で、ＰＤＬタスク実行情報に処理終了を示す“Ｅｎｄ”を設定する。ステップＳ１０１３で、ＰＤＬタスク実行情報に“Ｗａｉｔ”状態のタスクがあるかを判定する。“Ｗａｉｔ”状態のタスクがある場合、ステップＳ１０４１で、メッセージ送信元のタスクにＰａｇｅＣｏｕｎｔのページと通常処理依頼のメッセージを送信する。ステップＳ１０４２で、ＰＤＬタスク実行情報にＰａｇｅＣｏｕｎｔと処理実行中を示す“Ｅｘｅｃ”を設定する。
【００２８】
ステップＳ１０４３で、ＰａｇｅＣｏｕｎｔをインクリメントし、メッセージ受信待ちとなる（ステップＳ１００２）。一方、“Ｗａｉｔ”状態のタスクがない場合、メッセージ受信待ちとなる（ステップＳ１００２）。
【００２９】
受信したメッセージが、ページ処理通知でない場合、ステップＳ１０２１で、ジョブ終了通知かを判定する。ジョブ処理通知である場合、ステップＳ１０２２で、ＰＤＬタスク実行情報に“Ｅｘｅｃ”状態のタスクがあるかを判定する。“Ｅｘｅｃ”状態のタスクがある場合、ステップＳ１０２３で、メッセージ送信元のタスクにパイプライン処理への変更依頼のメッセージを送信する。これにより、空いているＣＰＵをパイプライン処理によるオブジェクト並列の実行に使うことができ、残っている未処理のページの処理時間を短縮することができる。一方、“Ｅｘｅｃ”状態のタスクがない場合、ステップＳ１０２４で、ＰＤＬ１タスクとＰＤＬ２タスクの停止をし、ＰＤＬ制御部の処理を終了する。
【００３０】
図５は、本実施例におけるＰＤＬ制御部２１２で管理するＰＤＬタスク実行情報の一例を示す図である。
【００３１】
図５（ａ）は、ＰＤＬタスク実行情報の構成である。ＰＤＬタスク実行情報は、ページ番号５０１とタスクステータス５０２からなる。ページ番号５０１は、各ＰＤＬタスクの処理まち、処理中、処理終了のページの番号である。タスクステータス５０２は、各ＰＤＬタスクの処理状態を示しており、処理待ち“Ｗａｉｔ”、処理実行中“Ｅｘｅｃ”、処理終了“Ｅｎｄ”の３つの状態がある。
【００３２】
図５（ｂ）は、ＰＤＬタスク起動時のＰＤＬタスク実行情報を示している。ＰＤＬタスク１、ＰＤＬタスク２ともに、ページ番号を０、タスクステータスを“Ｅｎｄ”に初期化する。
【００３３】
図５（ｃ）は、１ページ目開始時のＰＤＬタスク実行情報を示している。ＰＤＬタスク１からのページ処理指示依頼を受信し、ＰＤＬタスク１のページ番号を１、タスクステータスを“Ｅｘｅｃ”に変更する。
【００３４】
図５（ｄ）は、２ページ目開始時のＰＤＬタスク実行情報を示している。ＰＤＬタスク２からのページ処理指示依頼を受信し、ＰＤＬタスク１が１ページ目を処理実行中“Ｅｘｅｃ”であるため、ＰＤＬタスク２のページ番号を２、タスクステータスを“Ｗａｉｔ”に変更する。
【００３５】
図５（ｅ）は、１ページ目終了時のＰＤＬタスク実行情報を示している。ＰＤＬタスク１からのページ処理終了通知を受信し、ＰＤＬタスク１のタスクステータスを“Ｅｎｄ”に変更する。また、ＰＤＬタスク２が２ページ目の処理待ち“Ｗａｉｔ”であるため、ＰＤＬタスク２に処理依頼をするとともに、ＰＤＬタスク１のタスクステータスを処理実行中“Ｅｘｅｃ”に変更する。
【００３６】
図６は、本実施例におけるＰＤＬタスク１（４０２）、ＰＤＬタスク２（４０３）がＣＰＵ２０４で実行する処理のフローチャートを示す図である。
【００３７】
ＰＤＬタスク１、２が、ＰＤＬ制御タスク４０１のステップＳ１００２で起動されると、ステップＳ１１０１で、受信部２１１から渡されたＰＤＬデータをワークメモリ２２２から読み出し、ＰＤＬ制御タスク４０１にページ処理指示依頼のメッセージを送信し、ＰＤＬ制御タスク４０１からのメッセージ受信待ちになる。処理依頼のメッセージを受信すると、ステップＳ１１０２で、受信したメッセージがパイプライン処理依頼かを判定する。パイプライン処理依頼の場合、ステップＳ１１０３で、パイプラインタスクを起動し、ステップＳ１１０４で、パイプライン処理を実行する。
【００３８】
パイプライン処理のページの処理が終了すると、ステップＳ１１０５で、パイプラインタスクを停止する。一方、受信したメッセージが通常処理依頼の場合、ステップＳ１１０６で、通常処理を実行する。ステップＳ１１０４、ステップＳ１１０５でジョブ終了になるまで、Ｓ１１０１〜Ｓ１１０７を繰り返し実行する。
【００３９】
図７は、本実施例におけるＣＰＵ２０４で実行するステップＳ１１０４のパイプライン処理のフローチャートを示す図である。
【００４０】
ステップＳ１２０１で、ＰＤＬ解析部２１３においてＰＤＬデータを解析すると、ステップＳ１２０２で、ページ終了かを判定する。ページ終了の場合、ステップＳ１２０３で、ＰＤＬ制御タスク４０１に、ページ処理終了通知のメッセージを送信する。ページ終了でない場合、ステップＳ１２１１で、ジョブ終了かを判定する。ジョブ終了の場合、ステップＳ１２１２で、ＰＤＬ制御タスク４０１に、ジョブ終了通知のメッセージを送信する。ジョブ終了でない場合、ステップＳ１２２１で、ＤＬ生成情報を生成し、ステップＳ１２２２で、スプーラ３０１を介して、ＤＬ生成情報をスプール３０２に格納する。
【００４１】
ステップＳ１２２３で、パイプラインタスクへＤＬ生成依頼のメッセージを送信し、再び、Ｓ１２０１のＰＤＬデータの解析を実行する。
【００４２】
図８は、本実施例におけるパイプラインタスクがＣＰＵ２０４で実行する処理のフローチャートを示す図である。
【００４３】
パイプラインタスクが、ＰＤＬタスク１あるいはＰＤＬタスク２のステップＳ１１０３で起動されると、ステップＳ１３０１で、ＰＤＬタスクからのＤＬ生成依頼のメッセージ受信待ちとなる。ＤＬ生成依頼のメッセージを受信すると、ステップＳ１３０２で、デスプーラ３０３を介して、スプーラ３０２に格納されたＤＬ生成情報を読出し、ステップＳ１３０３で、ＤＬ生成部２１４においてＤＬ生成する。ステップＳ１３０４で、ＤＬ生成情報をスプーラ３０２から削除し、ステップＳ１３０１のメッセージ受信待ちに戻る。
【００４４】
図９は、本実施例におけるＣＰＵ２０４で実行するステップＳ１１０５の通常処理のフローチャートを示す図である。
【００４５】
ステップＳ１４０１で、ＰＤＬ解析部２１３においてＰＤＬデータを解析すると、ステップＳ１４０２で、ページ終了かを判定する。ページ終了の場合、ステップＳ１４０３で、ＰＤＬ制御タスク４０１に、ページ処理終了通知のメッセージを送信する。ページ終了でない場合、ステップＳ１４１１で、ジョブ終了かを判定する。ジョブ終了の場合、ステップＳ１４１２で、ＰＤＬ制御タスク４０１に、ジョブ終了通知のメッセージを送信する。ジョブ終了でない場合、ステップＳ１４２１で、ＤＬ生成情報を生成し、ステップＳ１４２２で、ＤＬ生成部２１４においてＤＬ生成し、再び、Ｓ１２０１のＰＤＬデータの解析を実行する。
【符号の説明】
【００４６】
１０１  画像形成装置
２１２  ＰＤＬ制御部
２１３  ＰＤＬ解析部
２１４  ＤＬ生成部
２１５  パイプライン処理部
２１６  展開処理部
２０４  ＣＰＵ
２０６  プリンタエンジン
【図１】
2015022685.tif 000003
【図２】
2015022685.tif 000004
【図３】
2015022685.tif 000005
【図４】
2015022685.tif 000006
【図５（ａ）】
2015022685.tif 000007
【図５（ｂ）】
2015022685.tif 000008
【図５（ｃ）】
2015022685.tif 000009
【図５（ｄ）】
2015022685.tif 000010
【図５（ｅ）】
2015022685.tif 000011
【図６】
2015022685.tif 000012
【図７】
2015022685.tif 000013
【図８】
2015022685.tif 000014
【図９】
2015022685.tif 000015