(57)【要約】【課題】画像処理装置においてページごとに複数のファイルを用いて印刷を行う印刷形式に対応した印刷データについて外部記憶媒体から印刷を行う際に、当該外部記憶媒体に対するアクセス回数を低減することで、印刷速度を向上させる技術を提供する。【解決手段】本発明の画像処理装置は、外部記憶媒体に格納されている印刷データに含まれる各ファイルについてのサイズと当該印刷データ内における位置とを示す情報を含む構成情報を生成する。画像処理装置は、印刷データ内の各ファイルを取得する際に、取得対象のファイルとともに同一のページの印刷に用いられる他のファイルを、画像処理装置の記憶部に格納可能な容量の範囲内で、構成情報に基づいて外部メディアから一括して取得して、それらを記憶部に一時的に保存する。画像処理装置は、保存したファイルについて順に印刷のための解析を行う。【選択図】図１
2013176913.tif 000002
【特許請求の範囲】
【請求項１】
ページごとに複数のファイルを用いて印刷を行う印刷形式に対応した印刷データを格納した外部記憶媒体を接続可能な接続部を備える画像処理装置であって、
前記外部記憶媒体に格納されている前記印刷形式に対応した印刷データの構成を示し、かつ、当該印刷データに含まれる複数のファイルのそれぞれについてのサイズと当該印刷データ内における位置とを示す情報を含む構成情報を生成する生成手段と、
前記印刷データに含まれる複数のファイルのそれぞれを、前記構成情報に基づいて前記外部記憶媒体から取得するとともに、取得対象の当該ファイルとともに同一のページの印刷に用いられる他のファイルを、前記画像処理装置が備える記憶手段に格納可能な容量の範囲内で、前記構成情報に基づいて前記外部記憶媒体から一括して取得し、前記記憶手段に一時的に保存する取得手段と、
前記取得手段によって前記外部記憶媒体から取得されたファイルについて、ページごとに印刷のための解析を行う解析手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記取得手段は、
前記取得対象のファイルのサイズと、当該ファイルとともに同一のページの印刷に用いられる他のファイルのサイズとの総和を、前記構成情報に含まれるサイズを示す情報を用いて計算する手段と、
前記計算された総和が前記記憶手段に格納可能な容量を超えない範囲で、前記取得対象のファイルとともに一括して取得すべき１つ以上のファイルを決定する手段と、
前記取得対象のファイルとともに、前記決定された１つ以上のファイルを一括して取得して、当該取得したファイルを前記記憶手段に一時的に保存する手段と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記取得手段は、
各ページの解析が前記解析手段によって開始される際に、解析対象となるページの印刷に用いられるファイルを示す情報を含む特定のファイルを前記外部記憶媒体から取得し、取得した当該特定のファイルに記述されたファイルを、当該ページの印刷に用いられるファイルとして特定する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記取得手段による取得対象のファイルと、当該ファイルとともに同一のページの印刷に用いられる他のファイルとが、前記印刷データ内で連続した位置に格納されているか否かを前記構成情報に基づいて判定する判定手段を更に備え、
前記取得手段は、
前記判定手段によって、前記取得対象のファイルと前記他のファイルとが前記印刷データ内で連続した位置に格納されていると判定された場合にのみ、前記記憶手段に格納可能な容量の範囲内で、当該取得対象のファイルととともに当該他のファイルとを一括して前記外部記憶媒体から取得して、前記記憶手段に一時的に保存する
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記生成手段は、
前記外部記憶媒体に格納されている前記印刷データに含まれる複数のファイルのそれぞれの先頭位置を示すヘッダを検索するとともに、各ヘッダの位置を各ファイルの位置とし、隣り合うファイル間におけるヘッダの位置の差分を各ファイルのサイズとして、前記構成情報を生成する
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記印刷形式に対応した印刷データは、ＸＰＳ形式の印刷データであることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
ページごとに複数のファイルを用いて印刷を行う印刷形式に対応した印刷データを格納した外部記憶媒体を接続可能な接続部を備える画像処理装置の制御方法であって、
生成手段が、前記外部記憶媒体に格納されている前記印刷形式に対応した印刷データの構成を示し、かつ、当該印刷データに含まれる複数のファイルのそれぞれについてのサイズと当該印刷データ内における位置とを示す情報を含む構成情報を生成する生成工程と、
取得手段が、前記印刷データに含まれる複数のファイルのそれぞれを、前記構成情報に基づいて前記外部記憶媒体から取得するとともに、取得対象のファイルとともに同一のページの印刷に用いられる他のファイルを、前記画像処理装置が備える記憶手段に格納可能な容量の範囲内で、前記構成情報に基づいて前記外部記憶媒体から一括して取得し、前記記憶手段に一時的に保存する取得工程と、
解析手段が、前記取得工程において前記外部記憶媒体から取得されたファイルについて、ページごとに印刷のための解析を行う解析工程と
を含むことを特徴とする画像処理装置の制御方法。
【請求項８】
請求項７に記載の画像処理装置の制御方法における各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
近年、複数の種類のページ記述言語（ＰＤＬ：Page Description Language）形式に対応したプリンタ等の画像処理装置が提案されている。このような画像処理装置は、印刷（画像形成）対象の印刷データについて、何れの種類のＰＤＬが用いられているかを（即ち、ＰＤＬの種別を）判定し、その判定結果に基づいて、印刷データを適切に解釈して印刷処理を行う。
【０００３】
また、印刷データ（ＰＤＬデータ）が格納されたＵＳＢ（Universal Serial Bus）メモリ等の外部メディア（外部記憶媒体）を接続可能であり、当該外部メディア内の印刷データに基づく印刷を実行可能な画像処理装置が提案されている。このような印刷方法は、ＰＣ（Personal Computer）を介すことなく、画像処理装置に接続された外部メディアに格納された印刷データに基づいて直接印刷を実行するものであることから、「メディアダイレクトプリント」とも称される。
【０００４】
特許文献１には、外部メディアに格納された印刷データに基づいて直接印刷を実行可能な画像形成装置が提案されている。特許文献１の画像形成装置は、そのような印刷処理を実行する場合、初回の印刷時には、外部メディアに格納された印刷データを解析して得られたビットマップデータを、当該印刷データと関連付けて外部メディアに格納する。さらに、画像形成装置は、同一の印刷データに基づく２回目以降の印刷時には、印刷対象の印刷データと関連付けられたビットマップデータを外部メディアから読み取り、読み取ったビットマップデータに基づく印刷処理を実行する。これにより、同一の印刷データについての２回目以降の印刷時に、ビットマップデータを生成するための印刷データの解析処理を不要とし、印刷速度を向上させている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１８３８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、新たなＰＤＬとして、Ｍｉｃｒｏｓｏｆｔ（登録商標）社が提唱する、ＸＭＬ（Extensible Markup Language）をベースとするＸＰＳ（XML Paper Specification）に対応した印刷システムが知られている。ＸＰＳは、文書ファイルのフォーマットだけではなく、ＰＤＬのフォーマットとしても利用可能であるため、ＸＰＳ形式のデータであるＸＰＳドキュメント（文書）は、文書データであるとともに、印刷データとしての側面を有する。このため、特許文献１のように、外部メディアに格納された印刷データに基づいて直接印刷を実行可能な装置においては、外部メディアに格納されたＸＰＳ文書に基づいて直接印刷を実行することが考えられる。
【０００７】
ＸＰＳ文書は、通常、ＸＰＳ文書を構成する複数のファイルに対して、まとめてＺＩＰ形式で圧縮処理を施すことによって生成される。外部メディアに格納されているＸＰＳ文書について印刷処理を行う場合、当該外部メディア内のＸＰＳ文書を構成する各ファイルを、印刷のための解析処理に必要な順に読み出して（取得して）、解析処理を施す必要がある。ＸＰＳ文書を構成する各ファイルを外部メディアから読み出す際には、解析処理の過程で必要となったファイルを個別に読み出すことになるため、その都度、外部メディアにアクセスすることになる。ＸＰＳ文書を構成するファイルの数が多ければ多いほど、外部メディアへのアクセス回数が増加する結果、外部メディアへのアクセスに要する時間が増加する。このため、ＸＰＳ形式のように、ページごとに複数のファイルを用いて印刷を行う印刷形式に対応した印刷データについて外部メディアから印刷を実行する場合、外部メディアへのアクセス回数の増加に伴って印刷速度の低下を招くおそれがある。
【０００８】
本発明は、上述の問題に鑑みてなされたものである。本発明は、ページごとに複数のファイルを用いて印刷を行う印刷形式に対応した印刷データについて外部記憶媒体から印刷を行う際に、当該外部記憶媒体に対するアクセス回数を低減することで、印刷速度を向上させる技術を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明は、例えば、画像処理装置として実現できる。画像処理装置は、ページごとに複数のファイルを用いて印刷を行う印刷形式に対応した印刷データを格納した外部記憶媒体を接続可能な接続部を備える画像処理装置であって、外部記憶媒体に格納されている印刷形式に対応した印刷データの構成を示し、かつ、当該印刷データに含まれる複数のファイルのそれぞれについてのサイズと当該印刷データ内における位置とを示す情報を含む構成情報を生成する生成手段と、印刷データに含まれる複数のファイルのそれぞれを、構成情報に基づいて外部記憶媒体から取得するとともに、取得対象の当該ファイルとともに同一のページの印刷に用いられる他のファイルを、画像処理装置が備える記憶手段に格納可能な容量の範囲内で、構成情報に基づいて外部記憶媒体から一括して取得し、記憶手段に一時的に保存する取得手段と、取得手段によって外部記憶媒体から取得されたファイルについて、ページごとに印刷のための解析を行う解析手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像処理装置においてページごとに複数のファイルを用いて印刷を行う印刷形式に対応した印刷データについて外部記憶媒体から印刷を行う際に、当該外部記憶媒体に対するアクセス回数を低減することで、印刷速度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る画像処理装置１を備えるシステムの概略的な構成を示すブロック図である。
【図２】本発明の実施形態に係る画像処理装置１によって実行される、ファイル構成情報を生成する処理の手順を示すフローチャートである。
【図３】本発明の実施形態に係る画像処理装置１による印刷対象の印刷データ（ＸＰＳ文書）の構成と当該印刷データに対応するファイル構成情報とを示す図である。
【図４】本発明の実施形態に係る画像処理装置１によって実行される、外部メディア内の印刷データについての印刷のための解析処理の手順を示すフローチャートである。
【図５】本発明の実施形態に係るＸＰＳ文書の構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１３】
＜画像処理装置１の構成＞
まず、図１を参照して、本発明の画像処理装置の一例として、本発明の実施形態に係る画像処理装置１の構成について説明する。図１（Ａ）は、本実施形態の画像処理装置１を備えるシステムの構成を示しており、図１（Ｂ）は、本実施形態の画像処理装置１が備える制御部１１の構成を示している。
【００１４】
図１（Ａ）に示す画像処理装置１は、外部メディア接続部１３に接続された外部記憶媒体（以下、「外部メディア」と称する。）に格納されている、ＸＰＳ形式等のＰＤＬ形式の印刷データについての印刷処理を実行可能である。ここで、ＸＰＳ形式の印刷データは、上述のように、ページごとに複数のファイルを用いて印刷を行う印刷形式に対応した印刷データの一例である。画像処理装置１は、そのような印刷データを格納した外部メディアに外部メディア接続部１３を介してアクセスして、当該外部メディアから直接、当該印刷データの印刷処理を実行可能である。画像処理装置１は、ＭＦＰ（Multi Function Printer）、ＳＦＰ（Single Function Printer）、ＬＢＰ（Laser Beam Printer）のうち、何れのプリンタであってもよい。また、画像処理装置１は、ＭＦＰ、ＳＦＰ、ＬＢＰ以外のプリント方式のプリンタであってもよく、例えばインクジェットプリンタであってもよい。画像処理装置１は、イーサネット（登録商標）等のＬＡＮ（Local Area Network）３を介して、画像処理装置１に対して各種の指示を与えるホストコンピュータ（ＰＣ）２と接続されてもよい。
【００１５】
図１（Ａ）に示すように、画像処理装置１は、制御部１１、プリンタ装置１２、外部メディア接続部１３、操作部１４、及び記憶装置１５を備える。制御部１１は、画像処理装置１全体の動作を制御する。制御部１１は、外部メディア接続部１３から、記憶装置１５から、または、ＬＡＮ３を介してＰＣ２等の外部装置から、印刷データ（ＰＤＬデータ）を受信する。さらに、制御部１１は、プリンタ装置１２を制御して、受信した印刷データについての印刷処理を実行させる。
【００１６】
制御部１１は、ハードウェア資源として、ＣＰＵ（Central Processing Unit）１１１、ＲＯＭ（Read Only Memory）１１２、及び、ＲＡＭ（Random Access Memory）１１３を備える。ＣＰＵ１１１は、ＲＯＭ１１２またはＨＤＤ（図示せず）等の他の記憶媒体に格納された制御プログラムに基づいて、画像処理装置１全体の動作を制御する。この制御プログラムは、本発明の画像処理装置の制御方法を実現するためのコンピュータプログラムの一例である。ＲＡＭ１１３は、ＣＰＵ１１１の作業領域として用いられる記憶媒体である。プリンタ装置１２は、制御部１１（ＣＰＵ１１１）の指示に従って、印刷データについての印刷処理を行う。具体的には、プリンタ装置１２は、印刷データに対応する画像を記録材上に印刷（出力）し、当該画像が印刷された記録材を排紙する。
【００１７】
外部メディア接続部１３は、ＵＳＢメモリ等の外部メディアを接続可能な接続部であり、外部メディアが着脱可能に接続されうる。外部メディア接続部１３に格納されている印刷データは、当該接続部を介して制御部１１に入力されうる。操作部１４は、各種機能に関連する設定を行うための入力デバイスとして機能する。また、操作部１４は、液晶パネルを備え、各種機能に関連する表示、及び画像処理装置１の動作状況等を示す表示を行う表示デバイスとしても機能する。記憶装置１５には、制御部１１によって、印刷データが格納（保存）されうる。
【００１８】
図１（Ｂ）に示すように、制御部１１は、複数の機能部として、データ受信部１０１、ファイルアクセス制御部１０２、ＰＤＬ解析部１０４、印刷制御部１０５、及び印刷制御部１０５を備える。これらの機能部は、制御部１１のＣＰＵ１１１が、ＲＯＭ１１２または他の記憶媒体に格納された制御プログラムをＲＡＭ１１３に読み出して実行することによって、画像処理装置１上で実現される。また、ファイル情報記憶部１０３は、ハードウェア資源としてＲＡＭ１１３に対応する。なお、ファイル情報記憶部１０３は、図１（Ｂ）では制御部１１の内部に配置されているが、制御部１１の外部に配置されてもよい。その場合には、ファイル情報記憶部１０３は、ハードウェア資源として記憶装置１５に対応しうる。
【００１９】
データ受信部１０１は、外部メディア接続部１３に接続された外部メディアに格納されている印刷データを、外部メディア接続部１３を介して受信する。なお、図１（Ｂ）には、データ受信部１０１が外部メディア接続部１３から印刷データを受信する場合を示しているが、データ受信部１０１は、記憶装置１５から、またはＬＡＮ３を介して外部装置からも、印刷データを受信しうる。データ受信部１０１は、ファイルアクセス制御部１０２からの要求に応じて、外部メディア接続部１３から受信した印刷データをファイルアクセス制御部１０２に提供する。
【００２０】
ファイルアクセス制御部１０２は、外部メディア接続部１３に接続された外部メディア（に格納されている印刷データ）に対するアクセスを制御しうる。具体的には、ファイルアクセス制御部１０２は、ＰＤＬ解析部１０４からの要求に応じて、ＰＤＬ解析部１０４における解析処理に必要となるファイルを、データ受信部１０１を介して外部メディアから取得し、ＰＤＬ解析部１０４に提供する。ファイルアクセス制御部１０２は、例えば、外部メディア内のＸＰＳ形式の印刷データについて印刷処理が実行される場合、印刷対象の印刷データを構成する複数のファイルのうち、ＰＤＬ解析部１０４によって要求されたファイルを取得及び提供する。
【００２１】
ファイルアクセス制御部１０２は、更に、外部メディア内の印刷データが、ＰＤＬ形式としてＸＰＳ形式である場合には、当該印刷データについてのファイル構成情報を後述するように生成する。ファイルアクセス制御部１０２は、生成したファイル構成情報に基づいて、外部メディア内の印刷データに含まれるファイルを、上述のように取得する。なお、ファイルアクセス制御部１０２は、生成した情報をファイル情報記憶部１０３に保存する。
【００２２】
外部メディア内の印刷データに含まれるファイルを取得する際には、ファイルアクセス制御部１０２は、ファイル構成情報に基づいて、取得対象のファイルとともに、当該ファイルと同一のページの印刷に用いられる他のファイルを一括して取得しうる。ファイルアクセス制御部１０２は、取得したそれらのファイルを、ＰＤＬ解析部１０４から要求されるまでの間、ファイル情報記憶部１０３に一時的に保存する。具体的には、後述するように、ファイルアクセス制御部１０２は、ファイル情報記憶部１０３に格納可能な容量の範囲内で、ファイル構成情報に基づいて、そのようなファイルを外部メディアから一括して取得し、ファイル情報記憶部１０３に一時的に保存する。ファイルアクセス制御部１０２は、ＰＤＬ解析部１０４からファイルを要求された際に、当該ファイルを既にファイル情報記憶部１０３に保存している場合には、ファイル情報記憶部１０３内のファイルをＰＤＬ解析部１０４に提供すればよい。
【００２３】
ＰＤＬ解析部１０４は、印刷対象の印刷データについて、ページごとに印刷のための解析を行う。具体的には、ＰＤＬ解析部１０４は、印刷データのＰＤＬ形式に応じて当該印刷データを解析することで、プリンタ装置１２における印刷用のラスタ画像（ビットマップ）データを生成し、生成したデータを印刷制御部１０５に提供する。ＰＤＬ解析部１０４は、印刷データがＸＰＳ形式である場合、ページごとの解析に必要となる順に、ファイルアクセス制御部１０２に対してファイルを要求し、当該要求に応じて提供された順にファイルを解析する。
【００２４】
印刷制御部１０５は、ＰＤＬ解析部１０４から提供された画像データをプリンタ装置１２に送信することで、当該画像データを用いた印刷処理をプリンタ装置１２に実行させる。プリンタ装置１２は、受信した画像データに基づく画像を記録材上に出力（印刷）する。なお、本実施形態においてファイルアクセス制御部１０２は、生成手段、取得手段及び判定手段を実現するための一実施形態である。また、ファイル情報記憶部１０３は、記憶手段を実現するための一実施形態である。また、ＰＤＬ解析部１０４は、解析手段を実現するための一実施形態である。
【００２５】
＜ファイル構成情報の生成処理＞
次に、図２に示すフローチャートを参照して、本実施形態に係る画像処理装置１が実行する、印刷データについてのファイル構成情報の生成処理について説明する。図２に示す各ステップの処理は、制御部１１に設けられたＣＰＵ１１１が、ＲＯＭ１１２または他の記憶媒体に格納された制御プログラムをＲＡＭ１１３に読み出して実行することによって、図１（Ｂ）に示す各機能部による処理として実現される。以下で説明するように、画像処理装置１は、外部メディアに格納されている印刷データについて印刷を行い、かつ、当該印刷データがＸＰＳ形式である場合に、ファイル構成情報を生成する。
【００２６】
ファイルアクセス制御部１０２は、印刷データについての印刷処理の実行が指示されると、当該指示に基づく印刷対象の印刷データについて、図２に示すフローチャートに従った処理の実行を開始する。まず、Ｓ２０１で、ファイルアクセス制御部１０２は、印刷対象の印刷データについての印刷形態を示す情報をデータ受信部１０１から取得して、印刷形態を判断する。具体的には、ファイルアクセス制御部１０２は、データ受信部１０１から取得された情報に基づいて、外部メディア接続部１３に接続された外部メディア内の印刷データに基づく印刷処理を行う印刷形態であるか否かを判断する。
【００２７】
Ｓ２０１で、ファイルアクセス制御部１０２は、印刷形態が外部メディア内の印刷データに基づく印刷処理を行うものではないと判断した場合、処理をＳ２０６に進める。Ｓ２０６で、ファイルアクセス制御部１０２は、通常のＰＤＬ処理をＰＤＬ解析部１０４に実行させるために、ＰＤＬ解析部１０４によって要求されたファイルを、データ受信部１０１から取得して、ＰＤＬ解析部１０４に供給する。ここで、ＰＤＬ処理とは、ＰＤＬ解析部１０４が、印刷対象の印刷データのＰＤＬ形式を特定し、特定したＰＤＬ形式に応じて当該印刷データを解析することで、ラスタ画像データを生成する処理に相当する。
【００２８】
一方、Ｓ２０２で、ファイルアクセス制御部１０２は、印刷形態が外部メディア内の印刷データに基づく印刷処理を行うものであると判断した場合、処理をＳ２０２に進める。Ｓ２０２で、ファイルアクセス制御部１０２は、外部メディア内の印刷対象の印刷データが、ＸＰＳ文書であるか否かを更に判断する。ファイルアクセス制御部１０２は、印刷対象の印刷データが、ＸＰＳ文書ではないと判断した場合、処理をＳ２０６に進め、上述の処理を実行する一方で、ＸＰＳ文書であると判断した場合、処理をＳ２０３に進める。
【００２９】
Ｓ２０３〜Ｓ２０５で、ファイルアクセス制御部１０２は、外部メディア内の印刷データ（即ち、ＸＰＳ文書）について、ファイル構成情報を生成する。ファイル構成情報は、印刷データの構成を示し、かつ、当該印刷データに含まれる複数のファイルのそれぞれについてのサイズと当該印刷データ内における位置とを示す情報に相当する。
【００３０】
ここで、図３を参照して、印刷対象のＸＰＳ文書の構成（Ａ）と、当該ＸＰＳ文書に対応するファイル構成情報（Ｂ）とについて簡単に説明する。ＸＰＳ文書は、ＸＭＬ文書（ＸＭＬデータ）、画像データ等の複数のファイルによって構成される。ＸＰＳ文書は、それらの複数のファイルに対してまとめてＺＩＰ形式による圧縮処理を施すことによって生成された文書（印刷データ）である。このため、ＸＰＳ文書は、図３（Ａ）に示すように、当該ＸＰＳ文書を構成する各ファイルを圧縮処理して得られたファイルと、当該圧縮処理に関する情報を含むローカルヘッダとをセットにしたデータを単位として構成されている。ＸＰＳ文書を構成する複数のファイルのそれぞれには、先頭部分にローカルヘッダが付加されている。各ファイルに付加されたローカルヘッダは、当該ファイルの圧縮処理及びファイル名に関する情報を含み、当該ローカルヘッダの先頭部分にはシグネイチャとして「ＰＫ０３０４」という文字列が記述されている。
【００３１】
本実施形態では、ＸＰＳ文書に含まれる複数のファイルのそれぞれについてのサイズと当該ＸＰＳ文書内における位置とを示す情報を生成するために、当該ＸＰＳ文書に含まれる各ローカルヘッダを検索し、その検索結果に基づいてファイル構成情報を生成する。まず、Ｓ２０３で、ファイルアクセス制御部１０２は、外部メディア内のＸＰＳ文書について、当該ＸＰＳ文書を構成する各ファイルの先頭位置を示すローカルヘッダを検索する。具体的には、ファイルアクセス制御部１０２は、データ受信部１０１を介して外部メディア内の印刷データにアクセスし、ＸＰＳ文書に含まれる文字列「ＰＫ０３０４」を検索することで、各ファイルの先頭位置を特定する。なお、ファイルアクセス制御部１０２は、特定した位置に存在するローカルヘッダに含まれる、当該ローカルヘッダが付されたファイルのファイル名を示す情報も抽出する。
【００３２】
次に、Ｓ２０４で、ファイルアクセス制御部１０２は、ローカルヘッダの検索に基づいて得られたローカルヘッダの位置を、対応するファイルの位置とみなして、当該位置を示す情報を含むファイル構成情報を生成する。既にファイル構成情報が生成されている場合には、ローカルヘッダの位置を示す情報を新たにファイル構成情報に追加する。ファイルアクセス制御部１０２は、更に、ＸＰＳ文書内で隣り合うファイル間におけるローカルヘッダの位置の差分を計算し、計算した差分を、ＸＰＳ文書を構成する各ファイルのサイズとしてファイル構成情報に格納する。なお、ファイル構成情報には、Ｓ２０３において得られたファイル名を示す情報も格納される。
【００３３】
ファイルアクセス制御部１０２は、例えば、図３（Ａ）に示すＸＰＳ文書から、図３（Ｂ）に示すファイル構成情報を生成する。同図に示すように、ファイル構成情報には、ＸＰＳ文書を構成するファイル１〜Ｎのそれぞれに対応付けて、その位置及びサイズが格納されている。なお、ファイルアクセス制御部１０２は、生成したファイル構成情報をファイル情報記憶部１０３に保存する。
【００３４】
ファイルアクセス制御部１０２は、上述の処理を、ＸＰＳ文書を構成する各ファイルについて繰り返すことで（Ｓ２０３〜Ｓ２０５）、当該ＸＰＳ文書についてのファイル構成情報を生成及び保存しうる。Ｓ２０５で、ファイルアクセス制御部１０２は、ＸＰＳ文書に対応するデータの終端まで、ローカルヘッダの検索が終了したか否かを判定し、終了していないと判定する限り、Ｓ２０３及びＳ２０４の処理を繰り返す一方で、終了したと判定すると、処理を終了する。
【００３５】
＜印刷データについての解析処理＞
次に、図４に示すフローチャートを参照して、本実施形態に係る画像処理装置１が実行する、外部メディア内の印刷データ（ＸＰＳ文書）についての印刷のための解析処理について説明する。図４に示す各ステップの処理は、制御部１１に設けられたＣＰＵ１１１が、ＲＯＭ１１２または他の記憶媒体に格納された制御プログラムをＲＡＭ１１３に読み出して実行することによって、図１（Ｂ）に示す各機能部による処理として実現される。
【００３６】
ここで、図５は、画像処理装置１において印刷対象となるＸＰＳ文書の構成例を示している。ただし、ＸＰＳ文書５０１を構成する複数のファイルのそれぞれのファイル名を示している。図５に示すように、ＸＰＳ文書５０１は、処理開始ファイルに相当するリレーションシップ・ファイル（.rels）、ジョブ情報ファイル（FixedDocumentSequence.fdseq）、ドキュメント情報ファイル（FixedDocument.fdoc）を含む。ＸＰＳ文書５０１は、更に、各ページについて、各ページの情報を含むページ情報ファイル（1.fpage〜3.fpage）、各ページで用いられるファイル（P1-ファイルA〜P1-ファイルN等）、各ページで用いられるファイル間の関係が記述されており、かつ、ページ情報ファイルに基づく対象ページの印刷に必要となるファイルに関する情報が記述されたリレーションシップ・ファイル（1.fpage.rels〜3.fpage.rels）等を含む。
【００３７】
図４に戻り、まずＳ４０１で、ファイルアクセス制御部１０２は、印刷データであるＸＰＳ文書についての印刷のための解析処理を、ＰＤＬ解析部１０４に開始させるために必要なファイルを、データ受信部１０１を介して外部メディアから取得する。例えば、図５に示すリレーションシップ・ファイル（.rels）がその必要なファイルに相当する。ファイルアクセス制御部１０２は、取得したファイル（.rels）をＰＤＬ解析部１０４に提供する。
【００３８】
次に、Ｓ４０２で、ファイルアクセス制御部１０２は、ＰＤＬ解析部１０４からの要求に応じて、Ｓ４０１においてＰＤＬ解析部１０４に提供したファイルの次に、ＰＤＬ解析部１０４における解析処理に必要となるファイルを外部メディアから取得する。ＰＤＬ解析部１０４は、Ｓ４０１において提供されたリレーションシップ・ファイル（.rels）を参照して、ＸＰＳ文書の解析に必要となるファイルを順にファイルアクセス制御部１０２に要求する。例えば、ＰＤＬ解析部１０４は、ジョブ情報ファイル（FixedDocumentSequence.fdseq）、ドキュメント情報ファイル（FixedDocument.fdoc）、ページ情報ファイル（1.fpage）といった順に、ファイルアクセス制御部１０２に要求する。
【００３９】
Ｓ４０３で、ファイルアクセス制御部１０２は、Ｓ４０２において取得されたファイルが、ページ情報ファイル（例えば、1.fpage）であるか否かを判定する。ここで、ファイルアクセス制御部１０２は、ページ情報ファイルであると判定した場合にはＳ４０４に処理を進める一方で、ページ情報ファイルでないと判定した場合にはＳ４０５へ処理を進める。
【００４０】
Ｓ４０５で、ＰＤＬ解析部１０４は、Ｓ４０２においてファイルアクセス制御部１０２によって取得されたファイルについて、当該ファイルに記述された構文の解析処理を行い、その解析結果に基づく処理を実行する。さらに、Ｓ４０６で、ＰＤＬ解析部１０４は、Ｓ４０５における解析の結果、ＸＰＳ文書全体の解析処理が終了したか否かを判定し、終了したと判定した場合、当該ＸＰＳ文書の解析処理を終了する一方で、終了していないと判定した場合、処理をＳ４０２に戻す。
【００４１】
一方、Ｓ４０４では、ファイルアクセス制御部１０２は、Ｓ４０３で取得されたページ情報ファイルに対応する対象ページの印刷に必要となるファイルに関する情報が記述されたファイル（リレーションシップ・ファイル）を、外部メディアから取得する。例えば、ファイルアクセス制御部１０２は、対象ページが１ページ目である場合、印刷対象のＸＰＳ文書５０１に含まれる１ページ目のページ情報ファイル（1.fpage）に対応するリレーションシップ・ファイル５０２（1.fpage.rels）を、外部メディアから取得する。本実施形態で、リレーションシップ・ファイル５０２は、各ページの解析がＰＤＬ解析部１０４によって開始される際に、解析対象となるページの印刷に用いられるファイルを示す情報を含む特定のファイルの一例である。
【００４２】
ファイルアクセス制御部１０２は、Ｓ４０４で取得したリレーションシップ・ファイルに基づき、当該リレーションシップ・ファイルに記述されたファイルを、対象ページの印刷に用いられるファイルとして特定する。例えば、ファイルアクセス制御部１０２は、リレーションシップ・ファイル５０２に記述されているファイル（P1-ファイルA〜P-1ファイルN）を、１ページ目の印刷に必要なファイルとして特定する。
【００４３】
次に、Ｓ４０７で、ファイルアクセス制御部１０２は、Ｓ４０４で取得されたリレーションシップ・ファイルに記述されている、対象ページの印刷に用いるファイルの数が１以下（０または１）であるか否かを判定する。ここで、当該ファイル数が１以下である場合には、対象ページについて別のファイルを外部メディアから取得する必要がないため、ファイルアクセス制御部１０２は、Ｓ４０５に処理を進める。一方で、当該ファイル数が１以下ではない（２以上である）場合には、処理をＳ４０８に進める。
【００４４】
Ｓ４０８で、ファイルアクセス制御部１０２は、対象ページの印刷に用いるいずれかのファイルを取得対象ファイルとして、当該取得対象ファイルの位置及びサイズを示す情報を、ファイル構成情報から抽出する。ファイルアクセス制御部１０２は、対象ページのリレーションシップ・ファイルに記述されたファイルのうち、未取得のファイルを順に取得対象ファイルとして特定する。例えば、ファイルアクセス制御部１０２は、最初に、リレーションシップ・ファイルに記述されている「P1-ファイルA」というファイルの、ＸＰＳ文書５０１内における位置及びサイズを示す情報を、ファイル情報記憶部１０３内のファイル構成情報から抽出する。更に、Ｓ４０９で、ファイルアクセス制御部１０２は、Ｓ４０８で抽出した情報が示す取得対象ファイルのサイズが、ファイル情報記憶部１０３の記憶容量よりも少ないか否かを判定する。ここで、ファイルアクセス制御部１０２は、取得対象ファイルのサイズが、ファイル情報記憶部１０３の記憶容量よりも少ないと判定した場合にはＳ４１０に処理を進める一方で、少なくないと判定した場合にはＳ４１５に処理を進める。
【００４５】
Ｓ４１５で、ファイルアクセス制御部１０２は、Ｓ４０８で抽出された情報が示す、外部メディアに格納されたＸＰＳ文書５０１内の位置から、取得対象ファイルを取得する。この場合、ファイルアクセス制御部１０２は、取得したファイルをファイル情報記憶部１０３に一時的に保存することなく、ＰＤＬ解析部１０４に提供する。これにより、ＰＤＬ解析部１０４は、Ｓ４１６で、ファイルアクセス制御部１０２から提供されたファイルについてのＰＤＬ解析処理を実行するとともに、処理をＳ４０８に戻す。
【００４６】
一方、Ｓ４１０では、ファイルアクセス制御部１０２は、取得対象ファイルの次に取得すべきファイルについて、ＸＰＳ文書５０１内における位置及びサイズを示す情報を、ファイル情報記憶部１０３内のファイル構成情報から抽出する。具体的には、ファイルアクセス制御部１０２、リレーションシップ・ファイルに記述されたファイルのうち、取得対象ファイルの次に取得すべきファイルについての位置及びサイズを示す情報を、ファイル構成情報から抽出する。例えば、１ページ目において「P1-ファイルA」の次には「P1-ファイルB」の位置及びサイズを示す情報がファイル構成情報から抽出される。
【００４７】
その後、Ｓ４１１で、ファイルアクセス制御部１０２は、Ｓ４０８及びＳ４１０でファイル構成情報から抽出したファイルサイズの総和を計算し、当該総和がファイル情報記憶部１０３の記憶容量よりも少ないか否かを判定する。ここでは、取得対象ファイルと、当該ファイルとともに同一のページの印刷に用いられる他のファイルとを一括して外部メディアから取得して、それらをファイル情報記憶部１０３に一時的に保存することが可能か否かが判定される。ファイルアクセス制御部１０２は、計算した総和が、ファイル情報記憶部１０３の記憶容量よりも少ないと判定した場合には処理をＳ４１２に進める一方で、少なくないと判定した場合にはＳ４１５に処理を進める。尚、ここで、ファイル情報記憶部１０３の記憶容量とは、必ずしもファイル情報記憶部１０３の全記憶容量とは限らない。即ち、全記憶容量のうちの、ファイル記憶用に割り当てられた記憶容量が、Ｓ４０９（又は後述のＳ４１１）での判断において使用される容量であり、その値はユーザや管理者によって任意に変更できるようにしても構わない。
【００４８】
Ｓ４１２で、ファイルアクセス制御部１０２は、対象ページの全ファイル、即ち、対象ファイルのリレーションシップ・ファイルに記述された全ファイルについて、Ｓ４０８〜Ｓ４１１における処理が完了したか否かを判定する。ここで、ファイルアクセス制御部１０２は、対象ページの全ファイルについて処理が、完了したと判定した場合には処理をＳ４１３に進める一方で、完了していないと判定した場合にはＳ４１０に処理を戻す。
【００４９】
Ｓ４１０では、ファイルアクセス制御部１０２は、前回、位置及びサイズを示す情報の抽出の対象となったファイルの次に、外部メディア内のＸＰＳ文書５０１から取得すべきファイルについて、その位置及びサイズを示す情報をファイル構成情報から抽出する。例えば、前回のファイルが「P1-ファイルB」であった場合、「P1-ファイルC」の位置及びサイズを示す情報が、ファイル構成情報から抽出される。更に、Ｓ４１１で、ファイルアクセス制御部１０２は、前回計算した総和を、Ｓ４１０で抽出したファイルサイズを加えることで更新し、更新後の総和をファイル情報記憶部１０３の記憶容量と比較する。これにより、当該更新後の総和についての計算の対象となったそれらのファイルを、外部メディアから一括して取得して、ファイル情報記憶部１０３に一時的に保存することが可能か否かが判定される。
【００５０】
このようにして、ファイルアクセス制御部１０２は、Ｓ４１１で計算した総和がファイル情報記憶部１０３に格納可能な容量を超えない範囲内で、Ｓ４０８における取得対象ファイルとともに一括して取得すべき１つ以上のファイルを決定する。対象ページの全ファイルについて処理が完了し、Ｓ４１３に処理を進めた場合、ファイルアクセス制御部１０２は、一括して取得すべきファイルとして決定した複数のファイルを、外部メディアから一括して取得して、ファイル情報記憶部１０３に一時的に保存する。その際、ファイルアクセス制御部１０２は、ファイル構成情報から抽出した情報が示す、ＸＰＳ文書５０１内の位置から、各ファイルを取得する。その後、ファイルアクセス制御部１０２は、対象ページの解析に必要となる順に、ＰＤＬ解析部１０４から要求されたファイルをＰＤＬ解析部１０４に提供する。ＰＤＬ解析部１０４は、Ｓ４１４で、ファイルアクセス制御部１０２から提供されたファイルに対して順に、印刷のための解析を行う。ＰＤＬ解析部１０４は、対象ページの印刷に用いる全ファイルについて解析処理が終了すると、処理をＳ４０２に戻す。
【００５１】
また、ファイルアクセス制御部１０２は、処理をＳ４０９からＳ４１５に進めた場合、Ｓ４１５で、取得対象ファイルを外部メディアから取得し、ＰＤＬ解析部１０４にそれを提供する。その際、ファイルアクセス制御部１０２は、ファイル構成情報から抽出した情報が示す、ＸＰＳ文書５０１内の位置から、当該ファイルを取得する。
【００５２】
一方、ファイルアクセス制御部１０２は、処理をＳ４１１からＳ４１５に進めた場合、次の処理を実行する。ファイルアクセス制御部１０２は、Ｓ４１５で、ファイル情報記憶部１０３に格納可能な容量の範囲内で、取得対象ファイルとともに一括して取得すべきファイルとして決定した１つ以上のファイルを、外部メディアから一括して取得する。その際、ファイルアクセス制御部１０２は、ファイル構成情報から抽出した情報が示す、ＸＰＳ文書５０１内の位置から、各ファイルを取得する。更に、ファイルアクセス制御部１０２は、取得したファイルをファイル情報記憶部１０３に一時的に保存する。ファイルアクセス制御部１０２は、ファイル情報記憶部１０３に一時的に保存した各ファイルを、ＰＤＬ解析部１０４からの要求に応じてＰＤＬ解析部１０４に提供する。
【００５３】
ＰＤＬ解析部１０４は、Ｓ４１６で、Ｓ４１４と同様、ファイルアクセス制御部１０２から提供されたファイルに対して順に、印刷のための解析を行う。ＰＤＬ解析部１０４は、ファイル情報記憶部１０３に一時的に保存されている全ファイルについて解析処理が終了すると、処理をＳ４０８に戻す。
【００５４】
以上説明したように、本実施形態に係る画像処理装置は、ページごとに複数のファイルを用いて印刷を行う印刷形式に対応した、ＸＰＳ形式等の印刷データを、外部メディアから取得して、ページごとに印刷のための解析を行う。具体的には、画像処理装置は、外部メディアに格納されている印刷データに含まれる各ファイルについてのサイズと当該印刷データ内における位置とを示す情報を含む構成情報を生成する。更に、画像処理装置は、印刷データ内の各ファイルを取得する際に、取得対象のファイルとともに同一のページの印刷に用いられる他のファイルを、画像処理装置の記憶部に格納可能な容量の範囲内で、構成情報に基づいて外部メディアから一括して取得する。画像処理装置は、一括して取得したファイルを記憶部に一時的に保存し、各ファイルを順に解析する。
【００５５】
このように、取得対象のファイルとともに同一のページについて使用する他のファイルを、記憶部に格納可能な容量の範囲内で一括して外部メディアから取得することで、一度のアクセスで複数のファイルを効率よく取得することができる。即ち、ＸＰＳ形式等の印刷データが格納された外部メディアから各ファイルを取得する際に、各ファイルを個別に取得することがないので、外部メディアに対するアクセス回数を低減することができる。その結果、当該印刷データに基づく印刷速度を向上させることが可能になる。
【００５６】
なお、印刷データがＸＰＳ文書の場合、ＸＰＳ文書を構成する複数のファイルが、ＸＰＳ文書内で連続した（まとまった）位置に格納されている場合と、分散した位置に格納されている場合とがありうる。印刷データに含まれる複数のファイルが、当該印刷データ内で連続した位置に格納されている場合には、複数のファイルを一括して取得する際に、より効率的に外部メディアからファイルを取得することが可能である。
【００５７】
そこで、上述の実施形態において、更に、ファイルアクセス制御部１０２は、各ページについて、外部メディアからの取得対象のファイルと、当該ファイルとともに同一のページの印刷に用いられるファイルとの位置の連続性を判定してもよい。即ち、それらのファイルが、印刷データ内で連続した位置に格納されているか否かを判定してもよい。その結果、ファイルアクセス制御部１０２は、それらのファイルが連続した位置に格納されていると判定した場合にのみ、ファイル情報記憶部１０３に格納可能な容量の範囲内で、それらのファイルを一括して外部メディアから取得して、一時的に保存してもよい。一方、それらのファイルが印刷データ内で分散した位置に格納されている場合には、それらのファイルを一括して取得する際に、外部メディアへの複数のアクセスが結果的に必要となりうる。このため、その場合にはそれらのファイルを一括して外部メディアから取得しなくてもよい。
【００５８】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013176913.tif 000003
【図２】
2013176913.tif 000004
【図３】
2013176913.tif 000005
【図４】
2013176913.tif 000006
【図５】
2013176913.tif 000007