(57)【要約】【課題】  メモリなどのリソースを節約するとともに印刷データの処理速度を高くする。【解決手段】  データ受信部３１は、ホスト装置などから印刷データを受信する。データ解析部３２は、印刷データをブロックごとに解析し、印刷データに含まれる印刷設定情報に基づいて、印刷設定情報により印刷対象に指定されていないページのブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列する。印刷画像生成部（描画データ処理部３３および描画部３４）は、データ解析部によりブロックを再配列して生成された印刷データに基づいて、印刷画像データを生成する。【選択図】  図２
2011235515.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを受信するデータ受信部と、
前記印刷データをブロックごとに解析し、前記印刷データに含まれる印刷設定情報に基づいて、前記印刷設定情報により印刷対象に指定されていないページのブロックを削除するとともに、前記印刷データに基づき印刷されるページの順序で、前記印刷データにおける前記ブロックを再配列するデータ解析部と、
前記データ解析部により前記ブロックを再配列して生成された前記印刷データに基づいて、印刷画像データを生成する印刷画像生成部と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記データ受信部は、受信した前記印刷データのブロックをメモリに格納し、
前記データ解析部は、前記印刷データに含まれるすべての前記印刷設定情報を取得した時点で、前記印刷設定情報により印刷対象に指定されていないページのブロックを特定し、前記印刷設定情報により印刷対象に指定されていないページのブロックを前記メモリから削除すること
を特徴とする請求項１記載の画像形成装置。
【請求項３】
前記データ解析部は、前記印刷データをブロックごとに解析し、前記印刷データに含まれるデータ構造情報および印刷設定情報に基づいて、前記印刷データに基づく印刷に使用しないブロック、前記印刷設定情報により印刷対象に指定されていないページのブロック、および前記データ構造情報のブロックを削除するとともに、前記印刷データに基づき印刷されるページの順序で、前記印刷データにおける前記ブロックを再配列し、
前記印刷画像生成部は、前記データ解析部による解析で得られた前記データ構造情報を所定のパラメータの値として取得し、その所定のパラメータの値、および前記データ解析部により前記ブロックを再配列して生成された前記印刷データに基づいて、印刷画像データを生成すること、
を特徴とする請求項１記載の画像形成装置。
【請求項４】
前記データ受信部は、受信した前記印刷データのブロックをメモリに格納し、
前記データ解析部は、前記印刷データに含まれるすべての前記データ構造情報を取得した時点で、前記データ構造情報に基づいて、前記印刷に使用しないブロックを特定し、前記印刷に使用しないブロックおよび前記データ構造情報のブロックを前記メモリから削除し、前記データ構造情報を前記所定のパラメータの値として前記メモリに保持し、また、前記印刷データに含まれるすべての前記印刷設定情報を取得した時点で、前記印刷設定情報に基づいて、前記印刷設定情報により印刷対象に指定されていないページのブロックを特定し、前記印刷設定情報により印刷対象に指定されていないページのブロックを前記メモリから削除し、前記ブロックを再配列して生成された前記印刷データをストレージに格納し、
前記印刷画像生成部は、前記データ構造情報を前記メモリから読み出し、前記ブロックを再配列して生成された前記印刷データをストレージから読み出すこと、
を特徴とする請求項３記載の画像形成装置。
【請求項５】
前記データ解析部は、前記印刷データに含まれるすべての前記データ構造情報を取得した後に受信されたブロックについて、前記データ構造情報に基づいて、前記印刷に使用するか否かを特定し、前記印刷に使用しないブロックを前記メモリに格納せずに削除することを特徴とする請求項４記載の画像形成装置。
【請求項６】
前記データ解析部は、前記印刷データに含まれるすべての前記印刷設定情報を取得した後に受信されたブロックについて、前記印刷設定情報により印刷対象に指定されていないページのブロックであるか否かを判定し、前記印刷設定情報により印刷対象に指定されていないページのブロックを前記メモリに格納せずに削除することを特徴とする請求項２または請求項４記載の画像形成装置。
【請求項７】
前記データ構造情報は、前記印刷データに含まれるドキュメント、および各ドキュメントに含まれるページを示す情報であることを特徴とする請求項１から請求項６のいずれか１項記載の画像形成装置。
【請求項８】
前記印刷データは、ＸＰＳデータであり、前記ブロックは、前記ＸＰＳデータ内のファイルであることを特徴とする請求項１から請求項７のうちのいずれか１項記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関するものである。
【背景技術】
【０００２】
プリンタなどの画像形成装置で印刷を行う場合、パーソナルコンピュータなどのホスト装置から印刷データを画像形成装置へ送信し、画像形成装置で印刷を実行させる。
【０００３】
ホスト装置は、印刷データを一旦スプールし、順次プリンタへ送信する。第１の技術では、ホスト装置は、データサイズの大きい印刷データを分割し、分割データのうち、印刷が完了したものを順次削除していく（例えば特許文献１参照）。これにより、ホスト装置におけるリソース（メモリなど）が有効に使用される。
【０００４】
また、第２の技術では、ホスト装置は、印刷処理に使用する印刷データを保存しておき、後に再印刷を行う際に、再印刷の要求に従ってその印刷データを再構成し、再構成した印刷データをプリンタへ送信する（例えば特許文献２参照）。これにより、再印刷時におけるホスト装置での処理時間が短くなる。
【０００５】
また、第３の技術では、プリンタが、印刷データを含むアーカイブファイルを受信してスプールし、アーカイブファイル内の複数の圧縮ファイルのうち、印刷処理に必要なファイルを順番に展開していく。これにより、一度にすべてのファイルが展開されないため、展開後のデータ保存に必要なメモリ量を低減することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２４３０２８号公報
【特許文献２】特開２００５−３４６３５７号公報
【特許文献３】特開２０１０−００９１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の第１および第２の技術では、ホスト装置で印刷データを分割したり再構成する。このため、画像形成装置側では、通常どおり印刷データを受信し、印刷データを処理して印刷を行うため、画像形成装置内での処理時間の短縮、リソースの節約などにはあまり貢献しない。
【０００８】
また、仮に、上述の第１の技術を、画像形成装置内で受信した印刷データに適用した場合、画像形成装置内で印刷データを先頭から最後尾まで順番にデータが処理されていくのであれば使用リソースが節約されるが、印刷データがディレクトリ構造などの構造化されており、かつ印刷データ内のデータ配列順序が処理順序と一致しない場合には、分割データが削除可能になるタイミングが遅くなるため、リソース節約の効果が低減するとともに、分割データの管理（生成および削除）が煩雑になり、結果的に、画像形成装置内での処理時間が長くなる可能性もある。
【０００９】
また、仮に、上述の第２の技術を、画像形成装置内で受信した印刷データに適用した場合、１回目の印刷では、受信した印刷データをそのまま使用して印刷を行うので、１回目の印刷について、処理速度の短縮、リソース節約などの効果は得られない。
【００１０】
また、上述の第３の技術では、印刷データ展開時のメモリ消費量は低減できるものの、受信したアーカイブファイルをすべてスプールしてしまう。このため、アーカイブファイル内のファイルのうち、印刷に使用されないファイルまでスプールされてしまい、メモリが無駄に消費されてしまう。
【００１１】
本発明は、上記の問題に鑑みてなされたものであり、メモリなどのリソースを節約するとともに印刷データの処理速度を高くすることができる画像形成装置を得ることを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明では以下のようにした。
【００１３】
本発明に係る画像形成装置は、印刷データを受信するデータ受信部と、印刷データをブロックごとに解析し、印刷データに含まれる印刷設定情報に基づいて、印刷設定情報により印刷対象に指定されていないページのブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列するデータ解析部と、データ解析部によりブロックを再配列して生成された印刷データに基づいて、印刷画像データを生成する印刷画像生成部とを備える。
【００１４】
これにより、印刷に不要なデータブロックを前処理で削除し後続のデータ処理に適した順序でデータブロックが再配列されるため、メモリなどのリソースを節約するとともに印刷データの処理速度を高くすることができる。
【００１５】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ受信部は、受信した印刷データのブロックをメモリに格納する。そして、データ解析部は、印刷データに含まれるすべての印刷設定情報を取得した時点で、印刷設定情報により印刷対象に指定されていないページのブロックを特定し、印刷設定情報により印刷対象に指定されていないページのブロックをメモリから削除する。
【００１６】
これにより、メモリなどのリソースをさらに節約することできる。
【００１７】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ解析部は、印刷データをブロックごとに解析し、印刷データに含まれるデータ構造情報および印刷設定情報に基づいて、印刷データに基づく印刷に使用しないブロック、印刷設定情報により印刷対象に指定されていないページのブロック、およびデータ構造情報のブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列する。そして、印刷画像生成部は、データ解析部による解析で得られたデータ構造情報を所定のパラメータの値として取得し、その所定のパラメータの値、およびデータ解析部によりブロックを再配列して生成された印刷データに基づいて、印刷画像データを生成する。
【００１８】
これにより、データ構造情報をパラメータの値として印刷画像生成部へ渡すため、印刷画像生成部が解析により印刷データからデータ構造情報を取得せずに済み、印刷データの処理速度を高くすることができる。
【００１９】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ受信部は、受信した印刷データのブロックをメモリに格納する。データ解析部は、印刷データに含まれるすべてのデータ構造情報を取得した時点で、データ構造情報に基づいて、印刷に使用しないブロックを特定し、印刷に使用しないブロックおよびデータ構造情報のブロックをメモリから削除し、データ構造情報を所定のパラメータの値としてメモリに保持し、また、印刷データに含まれるすべての印刷設定情報を取得した時点で、印刷設定情報により印刷対象に指定されていないページのブロックを特定し、印刷設定情報により印刷対象に指定されていないページのブロックをメモリから削除し、ブロックを再配列して生成された印刷データをストレージに格納する。そして、印刷画像生成部は、データ構造情報をメモリから読み出し、ブロックを再配列して生成された印刷データをストレージから読み出す。
【００２０】
これにより、メモリなどのリソースをさらに節約することできる。
【００２１】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ解析部は、印刷データに含まれるすべてのデータ構造情報を取得した後に受信されたブロックについて、データ構造情報に基づいて、印刷に使用するか否かを特定し、印刷に使用しないブロックをメモリに格納せずに削除する。
【００２２】
これにより、メモリなどのリソースをさらに節約することできる。
【００２３】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ解析部は、印刷データに含まれるすべての印刷設定情報を取得した後に受信されたブロックについて、印刷設定情報に基づいて、印刷設定情報により印刷対象に指定されていないページのブロックであるか否かを判定し、印刷設定情報により印刷対象に指定されていないページのブロックをメモリに格納せずに削除する。
【００２４】
これにより、メモリなどのリソースをさらに節約することできる。
【００２５】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ構造情報は、印刷データに含まれるドキュメント、および各ドキュメントに含まれるページを示す情報である。
【００２６】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、印刷データは、ＸＰＳデータであり、上述のブロックはＸＰＳデータ内のファイルである。
【発明の効果】
【００２７】
本発明によれば、メモリなどのリソースを節約するとともに印刷データの処理速度を高くすることができる。
【図面の簡単な説明】
【００２８】
【図１】図１は、本発明の実施の形態に係る画像形成装置の構成を示すブロック図である。
【図２】図２は、図１の画像形成装置において画像処理プログラムにより実現される処理部の構成を示すブロック図である。
【図３】図３は、図１に示す画像形成装置におけるデータ解析部の動作を説明するフローチャートである。
【図４】図４は、図１に示す画像形成装置により受信された印刷データのデータ構成の一例を示す図である。
【図５】図５は、図４に示す印刷データを再構成した後の印刷データのデータ構成の一例を示す図である。
【図６】図６は、図１に示す画像形成装置により受信されたＸＰＳ印刷データのデータ構成の一例を示す図である。
【図７】図７は、図６に示す印刷データを再構成した後のＸＰＳ印刷データのデータ構成の一例を示す図である。
【発明を実施するための形態】
【００２９】
以下、図に基づいて本発明の実施の形態を説明する。
【００３０】
図１は、本発明の実施の形態に係る画像形成装置の構成を示すブロック図である。
【００３１】
図１において、演算処理装置１は、プログラムに従って処理を実行するコンピュータである。データ格納装置２は、プログラム、データなどが記録された記録媒体を有するストレージデバイスである。データ格納装置２としては、フラッシュメモリ、ハードディスク駆動装置などが使用される。データ格納装置２は、演算処理装置１により処理されるデータをスプールする際にも使用される。通信インタフェース３は、他の装置との間でデータ通信を行う装置である。通信インタフェース３としては、周辺機器インタフェース、ネットワークインタフェースなどが使用される。出力装置４は、プリンタ、ディスプレイなどといった、画像を出力する装置である。
【００３２】
演算処理装置１は、バスやコントローラを介して互いにデータ通信可能な、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、ＶＲＡＭ（Video RAM）１４、およびインタフェース１５〜１７を有する。
【００３３】
ＣＰＵ１１は、データ格納装置２またはＲＯＭ１２に格納されているプログラムをＲＡＭ１３にロードして実行し、プログラムに記述された処理を実行する演算処理装置である。また、ＲＯＭ１２は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、ＲＡＭ１３は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。
【００３４】
ＶＲＡＭ１４は、出力装置４に対応する描画領域における各画素の色値を格納するメモリである。
【００３５】
また、インタフェース１５は、データ格納装置２を接続可能なインタフェース回路である。インタフェース１６は、通信インタフェース３を接続可能なインタフェース回路である。インタフェース１７は、出力装置４を接続可能なインタフェース回路である。
【００３６】
演算処理装置１により、ＲＯＭ１２や図示せぬ別の記録媒体に記憶されている画像処理プログラムが実行されると、各種処理部が実現される。図２は、図１の装置において、画像処理プログラムにより実現される処理部の構成を示すブロック図である。
【００３７】
図２において、データ受信部３１は、通信インタフェース３を介して、ホストコンピュータなどの装置との間でデータ通信を行う処理部である。
【００３８】
また、データ解析部３２は、受信されたデータを解析し描画命令などを抽出する処理部である。この実施の形態では、データ解析部３２は、印刷データをブロックごとに解析し、印刷データに含まれるデータ構造情報および印刷設定情報に基づいて、印刷データに基づく印刷に使用しないブロック、印刷設定情報により印刷対象に指定されていないページのブロック、およびデータ構造情報のブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列する。
【００３９】
この実施の形態では、データ構造情報は、印刷データに含まれるドキュメント、および各ドキュメントに含まれるページを示す情報である。印刷データがＸＰＳ（XML Paper Specification）データである場合、データ構造情報は、［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌおよび＿ｒｅｌｓ￥．ｒｅｌｓを少なくとも含み、さらに、［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌおよび＿ｒｅｌｓ￥．ｒｅｌｓにおいて指定される他のファイル（例えばＦｉｘｅｄＤｏｃＳｅｑ．ｆｄｓｅｑなど）を含む。また、印刷データは、印刷設定情報を含む。印刷データがＸＰＳデータである場合、プリントチケットに印刷設定情報が含まれる。印刷設定情報により、印刷部数、用紙サイズ、印刷対象ページのページ番号などが指定される。
【００４０】
また、描画データ処理部３３は、データ解析部３２により抽出された描画命令に対応する描画処理を描画部３４に実行させる処理部である。描画部３４は、描画データ処理部３３により生成されたディスプレイリストに基づくビットマップをＶＲＡＭ１４に書き込む処理部である。これらの描画データ処理部３３および描画部３４は、データ解析部３２により処理された印刷データに基づいて印刷画像データ（ビットマップデータ）を生成する印刷画像生成部として機能する。この印刷画像生成部は、データ解析部３２による解析で得られたデータ構造情報を所定のパラメータの値として取得し、その所定のパラメータの値、およびデータ解析部３２によりブロックを再配列して生成された印刷データに基づいて、印刷画像データを生成する。例えば、所定のパラメータは、データ構造情報のデータブロック内で記述されている設定項目である。データブロックがＸＭＬで記述されている場合には、そのＸＭＬ要素におけるタグからパラメータ名が特定され、ＸＭＬ要素の値からパラメータの値が特定される。
【００４１】
また、出力部３５は、ＶＲＡＭ１４におけるビットマップを出力装置４に供給し、出力装置４に画像出力（印刷等）を実行させる処理部である。
【００４２】
また、メモリ管理部３６は、演算処理装置１内のメモリを管理する処理部である。システム制御部３７は、演算処理装置１内の各部の制御を行う処理部である。
【００４３】
次に、上記画像形成装置（主にデータ解析部３２）の動作について説明する。
【００４４】
図３は、図１に示す画像形成装置におけるデータ解析部３２の動作を説明するフローチャートである。
【００４５】
データ受信部３１が、通信インタフェース３で印刷データにおけるデータブロックを受信すると（ステップＳ１）、データ解析部３２は、そのデータブロックがデータ構造情報または印刷設定情報のブロックであるか否かを判定する（ステップＳ２）。
【００４６】
このとき、印刷データがＸＰＳデータである場合、ＸＰＳデータは１つのＺＩＰアーカイブとなっており、複数のデータブロックとして複数のファイルを含む。それらのファイルのうち、［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌ、ＦｉｘｅｄＤｏｃＳｅｑ．ｆｄｓｅｑ、ＦｉｘｅｄＤｏｃ．ｆｄｏｃ、１．ｆｐａｇｅ．ｒｅｌｓなどの所定のファイルがデータ構造情報のブロックであると判定される。また、〜ＰＴ．ｘｍｌという名称の所定のファイルが印刷設定情報のブロックであると判定される。
【００４７】
受信されたデータブロックがデータ構造情報および印刷設定情報のいずれのブロックでもない場合、データ解析部３２は、この印刷データについてのすべてのデータ構造情報が受信されているか否かを判定する（ステップＳ３）。
【００４８】
この印刷データについて受信されていないデータ構造情報がある場合、データ解析部３２は、受信されたデータブロックをデータ格納装置２にスプールし、ＲＡＭ１３におけるデータブロックリストに追加する（ステップＳ４）。つまり、この時点では、すべてのデータ構造情報が明らかになっていないため、受信されたデータブロックが印刷に必要か否か、およびデータブロックの最適な配置位置が不明であるため、受信されたデータブロックは、一旦ＲＡＭ１３にスプールされる。
【００４９】
一方、データ解析部３２は、受信されたデータブロックがデータ構造情報または印刷設定情報のブロックである場合（ステップＳ２）、そのデータブロックを解析し、そのデータブロックから得られたデータ構造情報または印刷設定情報を、描画データ処理部３３および／または描画部３４での処理で使用される所定のパラメータの値として、既に受信済みのデータ構造情報および印刷設定情報とともにＲＡＭ１３で保持し、そのデータブロック自体は削除する（ステップＳ５）。そして、データ解析部３２は、この印刷データについてのすべてのデータ構造情報が受信されたか否かを判定する（ステップＳ６）。
【００５０】
そして、データ解析部３２は、この印刷データについてのすべてのデータ構造情報が受信された場合、そのデータ構造情報に基づいて、この時点でＲＡＭ１３にスプールされているデータブロックのうち、この印刷データに基づく印刷に使用されないデータブロックを特定しＲＡＭ１３から削除する（ステップＳ７）。さらに、データ解析部３２は、この時点ですべての印刷設定情報が受信されたか否かを判定する（ステップＳ８）。そして、データ解析部３２は、すべての印刷設定情報が受信された場合、その印刷設定情報に基づいて、この時点でＲＡＭ１３にスプールされているデータブロックのうち、この印刷設定情報により印刷対象として指定されていないページのデータブロックを特定しＲＡＭ１３から削除する（ステップＳ９）。データ解析部３２は、この印刷データについて受信されていないデータ構造情報がある場合、ステップＳ７〜Ｓ９の処理を行わない。つまり、この印刷データについてのすべてのデータ構造情報が明らかになった時点で、不要なデータブロックが削除される。また、すべてのデータ構造情報が受信された後に、すべての印刷設定情報の受信が完了した場合は、その時点で、ＲＡＭ１３にスプールされているデータブロックのうち、この印刷設定情報により印刷対象として指定されていないページのデータブロックがＲＡＭ１３から削除される。
【００５１】
また、データ解析部３２は、データ構造情報および印刷設定情報以外のブロックが受信されたときに、既にすべてのデータ構造情報のデータブロックが受信されている場合には、そのデータ構造情報に基づいて、受信されたそのデータブロックが、この印刷データに基づく印刷に使用されないデータブロックであるか否かを判定する（ステップＳ１０）。受信されたそのデータブロックが、この印刷データに基づく印刷に使用されるブロックではない場合には、データ解析部３２は、そのデータブロックを削除する。
【００５２】
受信されたそのデータブロックが、この印刷データに基づく印刷に使用されるブロックである場合には、データ解析部３２は、すべての印刷設定情報のデータブロックの受信が完了していなければ（ステップＳ１１）、そのデータブロックをＲＡＭ１３にスプールし、ＲＡＭ１３におけるデータブロックリストに追加する（ステップＳ４）。一方、すべての印刷設定情報のデータブロックが受信されていれば（ステップＳ１１）、データ解析部３２は、受信されたデータブロックが、その印刷設定情報により印刷対象に指定されているページのデータブロックであるか否かを判定する（ステップＳ１２）。受信されたデータブロックが、その印刷設定情報により印刷対象に指定されているページのデータブロックである場合、データ解析部３２は、そのデータブロックをＲＡＭ１３にスプールし、ＲＡＭ１３におけるデータブロックリストに追加する（ステップＳ４）。一方、受信されたデータブロックが、その印刷設定情報により印刷対象に指定されているページのデータブロックではない場合、データ解析部３２は、そのデータブロックを削除する。
【００５３】
このようにして、印刷データのデータブロックごとにステップＳ１〜Ｓ１２の処理が実行される。そして、データ受信部３１およびデータ解析部３２は、印刷データのすべてのデータブロックが受信されたか否かを判定し（ステップＳ１３）、次のデータブロックについてステップＳ１〜Ｓ１２の処理を実行する。
【００５４】
そして、印刷データのすべてのデータブロックが受信されると、データ解析部３２は、受信されたデータ構造情報に基づいて、データブロックの配列順序が後続の処理に対して最適になるように、データ構造情報の内容を更新し（ステップＳ１４）、データブロックを再配列する（ステップＳ１５）。このとき、データ解析部３２は、再配列後のデータ構造情報の内容をパラメータの値（つまり、バイナリデータ）としてＲＡＭ１３で保持し、再配列後のデータブロックで構成される印刷データをデータ格納装置２で保持する。データブロック再配列後の印刷データには、データ構造情報は含まれない。つまり、データブロック再配列後の印刷データからは、データ構造情報のデータブロックは削除された状態となっている。また、データ解析部３２は、印刷設定情報の内容をパラメータの値（つまり、バイナリデータ）としてＲＡＭ１３で保持する。したがって、データブロック再配列後の印刷データには、印刷設定情報は含まれない。
【００５５】
図４は、図１に示す画像形成装置により受信された印刷データのデータ構成の一例を示す図である。図５は、図４に示す印刷データを再構成した後の印刷データのデータ構成の一例を示す図である。
【００５６】
図４に示す印刷データでは、データブロックは、ページごとに纏まって配列されていないとともに、印刷に不要なデータを含んでいる。なお、この形式の印刷データでは、データ構造情報が、印刷データに含まれるデータブロックを指定しているため、データブロックの配列順序は任意である。また、図４に示す印刷データでは、データ構造情報が印刷データ全体についてのデータ構造情報と各ページのデータ構造情報とからなる階層構造を有する。このような図４に示す印刷データについて上述の処理を実行することで、図５に示すように、印刷に不要なデータブロックおよび印刷対象に指定されていないページのデータブロックが削除されるとともに、ページごとに連続するようにデータブロックが再配列される。図５では、第１ページのデータブロックの次に、第ｎページのデータブロックが配列される。第２ページが印刷対象に指定されていれば、ｎ＝２となり、第２ページが印刷対象に指定されておらず第３ページが印刷対象に指定されている場合には、ｎ＝３となる。
【００５７】
図６は、図１に示す画像形成装置により受信されたＸＰＳ印刷データのデータ構成の一例を示す図である。図７は、図６に示す印刷データを再構成した後のＸＰＳ印刷データのデータ構成の一例を示す図である。
【００５８】
図６に示すＸＰＳ印刷データでは、[Content_Types].xml、FixedDocSeq.fdseq、FixedDoc.fdoc、および各ページのi.fpage.rels（ｉはページ番号、ｉ＝１，・・・）がデータ構造情報となる。[Content_Types].xmlは、データブロックのファイル拡張子の定義を含むファイルである。FixedDocSeq.fdseqは、印刷データに含まれる１または複数のドキュメントのリストを含むファイルである（ここでは、FixedDoc.fdocがドキュメントとして含まれる）。FixedDoc.fdocは、このドキュメントに含まれるページのリストを含むファイルである。i.fpage.relsは、ページｉで使用するフォント、画像ファイルなどを指定するファイルである。また、データ構造情報以外のデータブロックとして、図６に示すＸＰＳ印刷データは、次のものを有する。i.fpageは、ページｉの内容をＸＭＬ（Extensible Markup Language）で記述したファイルである。また、1.jpegは、第１ページで使用される画像データファイルである。また、font.odttfは、第１ページで使用するフォントを指定するファイルである。また、thumbnail.jpgは、第１ページのサムネイルファイルであり、印刷には使用されない。なお、上述の各ファイルのＸＰＳ印刷データ（ＺＩＰファイル）内でのパスは、\[Content_Types].xml、\FixedDocSeq.fdseq、\Documents\j\FixedDoc.fdoc（ｊ番目のドキュメント）、\Documents\j\Pages\_rels\i.fpage.rels（ｊ番目のドキュメントのｉ番目のページ）、\Documents\j\Pages\i.fpage（ｊ番目のドキュメントのｉ番目のページ）、\Resources\font.odttf、および\docProps\thumbnail.jpgである。このような図６に示す印刷データについて上述の処理を実行することで、図７に示すように、印刷に不要なサムネイル画像のデータブロックおよび印刷対象に指定されていないページのデータブロックが削除されるとともに、ページごとに連続するようにデータブロックが再配列される。そして、再配列後の印刷データにはデータ構造情報のデータブロック（[Content_Types].xml、FixedDocSeq.fdseq、FixedDoc.fdoc、およびi.fpage.rels）は含まれない。
【００５９】
そして、描画データ処理部３３および描画部３４は、ＲＡＭ１３に保持されているデータ構造情報（パラメータ値）を参照しつつ、データブロックを再配列された印刷データから、印刷画像データを生成し、その印刷画像データに基づいて出力部３５は、出力装置４を制御して画像出力（印刷等）を行う。
【００６０】
以上のように、上記実施の形態によれば、データ解析部３２は、印刷データをブロックごとに解析し、印刷データに含まれる印刷設定情報に基づいて、印刷設定情報により印刷対象に指定されていないページのブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列する。印刷画像生成部（描画データ処理部３３および描画部３４）は、データ解析部によりブロックを再配列して生成された印刷データに基づいて、印刷画像データを生成する。
【００６１】
これにより、スプール時に前処理で、印刷対象に指定されていないページのデータブロックを削除し後続のデータ処理に適した順書でデータブロックが再配列されるため、メモリなどのリソースを節約するとともに、後続のデータ処理速度を高くすることができる。
【００６２】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００６３】
例えば、上記各実施の形態において、印刷データはＸＰＳデータ以外の形式でもよい。
【００６４】
また、上記各実施の形態において、再配列前においても、データ構造情報を含まないデータブロックを、ＲＡＭ１３ではなくデータ格納装置２にスプールするようにしてもよい。
【産業上の利用可能性】
【００６５】
本発明は、例えば、プリンタなどの画像形成装置に適用可能である。
【符号の説明】
【００６６】
２  データ格納装置（ストレージの一例）
１３  ＲＡＭ（メモリの一例）
３１  データ受信部
３２  データ解析部
３３  描画データ処理部（印刷画像生成部の一例）
３４  描画部（印刷画像生成部の一例）
【図１】
2011235515.tif 000003
【図２】
2011235515.tif 000004
【図３】
2011235515.tif 000005
【図４】
2011235515.tif 000006
【図５】
2011235515.tif 000007
【図６】
2011235515.tif 000008
【図７】
2011235515.tif 000009