(57)【要約】【課題】  画像形成装置において、入力画像データから自動的に入力画像データのデータ形式を特定する場合、入力画像データのデータ形式を正確に特定して入力画像データを正確に解釈する。【解決手段】  データ形式判定部１２は、複数のデータ形式のうちの１つのデータ形式の既定の先頭コードに一致する場合、データ形式に対応するデータ解析部１３−ｉに、入力画像データの解釈を実行させ、データ解析部１３−ｉまたは描画処理部１４において入力画像データの処理中にフォーマットエラーが発生した場合、複数のデータ解析部１３−１〜１３−Ｎにおける別のデータ解析部１３−ｊに、入力画像データの解釈を実行させる。【選択図】  図１
2011068010.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ形式の画像データをそれぞれ解釈する複数のデータ解析部と、
前記データ解析部による解釈結果に従って描画処理を行う描画処理部と、
外部より入力される入力画像データを参照してその入力画像データのデータ形式を判定し、前記入力画像データのデータ形式に対応する前記データ解析部で前記入力画像データの解釈を実行させるデータ形式判定部とを備え、
前記データ形式判定部は、前記判定の結果、前記入力画像データが前記複数のデータ形式のうちの１つのデータ形式の既定の先頭コードに一致する場合、前記データ形式に対応する前記データ解析部に、前記入力画像データの解釈を実行させ、前記データ解析部または前記描画処理部による前記入力画像データの処理中にフォーマットエラーが発生した場合、前記複数のデータ解析部のうち別のデータ解析部に、前記入力画像データの解釈を実行させること、
を特徴とする画像形成装置。
【請求項２】
前記入力画像データを受信し通信バッファに一時的に記憶する通信装置と、
前記入力画像データを記憶する記憶装置とを備え、
前記複数のデータ解析部のうち、最初に前記入力画像データの解釈を実行するデータ解析部は、前記通信バッファから前記入力画像データを読み出し、読み出した前記入力画像データの解釈を実行するとともに、読み出した前記入力画像データを前記記憶装置に記憶し、
前記複数のデータ解析部のうち、２回目以降に前記入力画像データの解釈を実行するデータ解析部は、前記記憶装置から前記入力画像データを読み出し、読み出した前記入力画像データの解釈を実行すること、
を特徴とする請求項１記載の画像形成装置。
【請求項３】
前記複数のデータ解析部のうち、最初に前記入力画像データの解釈を実行するデータ解析部は、前記通信バッファから前記入力画像データを読み出し、前記入力画像データの解釈を実行している途中でフォーマットエラーが発生した場合、前記入力画像データの解釈を中止し、前記通信バッファに記憶された残りの前記入力画像データを読み出して前記記憶装置に記憶することを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記複数のデータ解析部は、ＸＰＳ形式の画像データを解釈するデータ解析部を含むことを特徴とする請求項１から請求項３のいずれか１項記載の画像形成装置。
【請求項５】
ＸＰＳ形式の画像データを解釈する前記データ解析部は、前記入力画像データにおけるシグネチャを読み出し、前記シグネチャの値に基づいてブロックのサイズを特定し、そのサイズだけデータ読み出し位置を進める処理を、エンド・オブ・セントラルディレクトリレコードを示すシグネチャが読み出されるまで繰り返し実行していき、前記シグネチャの値が既定のシグネチャ値のいずれにも一致しない場合、フォーマットエラーが発生したと判定することを特徴とする請求項４記載の画像形成装置。
【請求項６】
前記データ形式判定部は、フォーマットエラーが発生しないで前記入力画像データの解釈が完了するか、前記複数のデータ解析部のすべてに前記入力画像データの解釈を実行させるまで、前記データ解析部を切り換えて前記入力画像データの解釈を実行させることを特徴とする請求項１記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関するものである。
【背景技術】
【０００２】
プリンタ、複合機などの印刷機能を有する画像形成装置が解釈可能な画像データ（印刷データ）のデータ形式として、ＰＤＬ：Page Description Language、例えば、ポストスクリプト（PostScript）、およびＰＣＬ（Printer Control Language）などが、従来から主に使用されている。
【０００３】
近年、上記データ形式に加えて、電子文書フォーマットであるＰＤＦ（Portable Document Format）やＸＰＳ（XML Paper Specification）、マークアップ言語であるＨＴＭＬ（HyperText Markup Language）、ＸＭＬ（Extensible Markup Language）なども入力画像データ（印刷データ）のデータ形式として使用可能な画像形成装置が増えつつある（例えば特許文献１，２参照）。
【０００４】
このように多数の画像データが使用可能な装置では、画像データのＰＤＬを指定するために、ベンダ固有の制御コードを画像データに埋め込んだり、装置のコンソールを操作してユーザが指定したりする。
【０００５】
その他、装置が、受信した入力画像データのヘッダを解析して、その入力画像データのＰＤＬを特定する技術も存在する（例えば特許文献３参照）。
【０００６】
図８は、ＸＰＳ形式、ＴＩＦＦ（Tagged Image File Format）形式、およびＰＳ（PostScript）形式のいずれかとして、入力画像データのデータ形式を特定する方法の一例を説明するフローチャートである。
【０００７】
図８に示すように、まず、入力画像データの先頭部分は読み出される（ステップＳ１０１）。そして、その先頭部分が、0x504B0304（ＡＳＣＩＩでは、「PK..」）であれば（ステップＳ１０２）、入力画像データは、ＸＰＳ形式として解釈される（ステップＳ１０３）。また、その先頭部分が、0x4D4D002A（ＡＳＣＩＩでは、「MM..」）または0x49492A00（ＡＳＣＩＩでは、「II..」）であれば（ステップＳ１０４）、入力画像データは、ＴＩＦＦ形式として解釈される（ステップＳ１０５）。また、その先頭部分が、「%!PS」であれば（ステップＳ１０６）、入力画像データは、PostScript形式として解釈される（ステップＳ１０７）。なお、その先頭部分が上述の識別コードのいずれでもない場合には、データ形式が特定できないため、エラー処理が行われる（ステップＳ１０８）。そして、特定されたデータ形式として入力画像データが解釈され、その解釈に従って
描画処理が行われて（ステップＳ１０９）、印刷用のラスタデータが生成される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２３４１１９号公報
【特許文献２】特開２００８−２３４５０６号公報
【特許文献３】特開２００５−１９６７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述のようにして、入力画像データの先頭部分のみから自動的に入力画像データのデータ形式を特定する場合、入力画像データのヘッダ部分が正しく記述されていなかったり、通信途中でヘッダ部分が破損してしまったりすると、解釈時にエラーが発生して、入力画像データが本来のデータ形式として解釈されないことがある。
【００１０】
また、装置が対応していないテキストデータやバイナリデータ（つまり入力画像データとなり得ないデータ）の先頭部分が、装置が対応している入力画像データの先頭部分と偶然に一致する場合、そのようなデータが入力画像データとして解釈されてしまう。その結果、意味のない大量のページが印刷されてしまったり、予期せぬ不具合が発生する可能性がある。
【００１１】
本発明は、上記の問題に鑑みてなされたものであり、入力画像データのデータ形式を正確に特定して入力画像データを正確に解釈することができる画像形成装置を得ることを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明では以下のようにした。
【００１３】
本発明に係る画像形成装置は、複数のデータ形式の画像データをそれぞれ解釈する複数のデータ解析部と、データ解析部による解釈結果に従って描画処理を行う描画処理部と、外部より入力される入力画像データを参照してその入力画像データのデータ形式を判定し、入力画像データのデータ形式に対応するデータ解析部に入力画像データの解釈を実行させるデータ形式判定部とを備える。そして、データ形式判定部は、前記判定の結果、前記入力画像データが複数のデータ形式のうちの１つのデータ形式の既定の先頭コードに一致する場合、データ形式に対応するデータ解析部に、入力画像データの解釈を実行させ、データ解析部または描画処理部による入力画像データの処理中にフォーマットエラーが発生した場合、複数のデータ解析部のうち別のデータ解析部に、入力画像データの解釈を実行させる。
【００１４】
これにより、入力画像データから自動的に入力画像データのデータ形式を特定する場合、入力画像データのヘッダ部分が正しく記述されていなかったり、通信途中でヘッダ部分が破損していたりしても、複数のデータ解析部によりデータ解釈が実行されるため、入力画像データのデータ形式を正確に特定して入力画像データを正確に解釈することができる。更に、装置が対応していないテキストデータやバイナリデータ（つまり入力画像データとなり得ないデータ）の先頭部分が、装置が対応している入力画像データの先頭部分と偶然に一致する場合でも、そのようなデータが入力画像データとして解釈されない。その結果、意味のない大量のページが印刷されてしまったり、予期せぬ不具合が発生することを防止することができる。
【００１５】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、画像形成装置は、さらに、入力画像データを受信し通信バッファに一時的に記憶する通信装置と、前記入力画像データを記憶する記憶装置とを備える。そして、複数のデータ解析部のうち、最初に入力画像データの解釈を実行するデータ解析部は、通信バッファから入力画像データを読み出し、読み出した入力画像データの解釈を実行するとともに、読み出した入力画像データを記憶装置に記憶する。複数のデータ解析部のうち、２回目以降に入力画像データの解釈を実行するデータ解析部は、記憶装置から入力画像データを読み出し、読み出した入力画像データの解釈を実行する。
【００１６】
これにより、複数回のデータ解釈を実行する場合でも、入力画像データが通信バッファに滞留しないようにすることができる。
【００１７】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、複数のデータ解析部のうち、最初に入力画像データの解釈を実行するデータ解析部は、通信バッファから入力画像データを読み出し、入力画像データの途中でフォーマットエラーが発生した場合、入力画像データの解釈を中止し、通信バッファに記憶された残りの入力画像データを読み出して記憶装置に記憶する。
【００１８】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、複数のデータ解析部は、ＸＰＳ形式の画像データを解釈するデータ解析部を含む。
【００１９】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、ＸＰＳ形式の画像データを解釈するデータ解析部は、入力画像データにおけるシグネチャを読み出し、シグネチャの値に基づいてブロックのサイズを特定し、そのサイズだけデータ読み出し位置を進める処理を、エンド・オブ・セントラルディレクトリレコードを示すシグネチャが読み出されるまで繰り返し実行していき、シグネチャの値が既定のシグネチャ値のいずれにも一致しない場合、フォーマットエラーが発生したと判定する。
【００２０】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ形式判定部は、フォーマットエラーが発生しないで入力画像データの解釈が完了するか、複数のデータ解析部のすべてに入力画像データの解釈を実行させるまで、データ解析部を切り換えて入力画像データの解釈を実行させる。
【発明の効果】
【００２１】
本発明によれば、画像形成装置において、入力画像データのデータ形式を正確に特定して入力画像データを正確に解釈することができる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本発明の実施の形態に係る画像形成装置の構成を示すブロック図である。
【図２】図２は、図１に示す画像形成装置の動作について説明するフローチャートである。
【図３】図３は、図１に示す画像形成装置における、ＸＰＳ用のデータ解析部の動作について説明するフローチャートである。
【図４】図４は、ＺＩＰ形式のデータ構造を示す図である。
【図５】図５は、図１に示す画像形成装置における、ＰＤＦ用のデータ解析部の動作について説明するフローチャートである。
【図６】図６は、図１に示す画像形成装置における、ＴＩＦＦ用のデータ解析部の動作、および描画処理部によるＴＩＦＦデータの描画処理について説明するフローチャートである。
【図７】図７は、図１に示す画像形成装置における、ＪＰＥＧ用のデータ解析部の動作について説明するフローチャートである。
【図８】図８は、入力画像データのデータ形式を特定する方法の一例を説明するフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図に基づいて本発明の実施の形態を説明する。
【００２４】
図１は、本発明の実施の形態に係る画像形成装置の構成を示すブロック図である。図１に示すように、この画像形成装置は、演算処理装置１、通信装置２、メモリ３、記憶装置４およびプリントエンジン５を有する。演算処理装置１、通信装置２、メモリ３、記憶装置４およびプリントエンジン５は、バスなどを介して互いにデータ通信可能である。
【００２５】
通信装置２は、パーソナルコンピュータなどのホスト装置に接続され、ＵＳＢ（Universal Serial Bus）、パラレルインタフェースなどといった周辺機器インタフェースで入力画像データを受信する。メモリ３は、ＲＡＭ（Random Access Memory）などであり、各種データを記憶する。メモリ３の一部の記憶領域は、通信装置２により受信されたデータを一時的に記憶するための通信バッファ３ａとして使用される。記憶装置４は、ハードディスクドライブ、フラッシュメモリなどの不揮発性の大容量記憶装置である。プリントエンジン５は、演算処理装置１により入力画像データから生成された描画データ（ラスタデータ）に基づいて印刷用紙に画像を印刷する装置である。
【００２６】
演算処理装置１は、図示せぬＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭなどを有し、ＲＡＭにプログラムをロードしＣＰＵで実行する装置である。なお、このＲＡＭとしてメモリ３を使用してもよい。演算処理装置１は、プログラムをＣＰＵで実行することにより、データ取得部１１、データ形式判定部１２、複数のデータ解析部１３−１〜１３−Ｎおよび描画処理部１４として機能する。
【００２７】
データ取得部１１は、データ形式判定部１２またはデータ解析部１３−１〜１３−Ｎに制御されて、通信バッファ３ａまたは記憶装置４から入力画像データを読み出す。
【００２８】
データ形式判定部１２は、入力画像データを参照してその入力画像データのデータ形式を判定し、入力画像データのデータ形式に対応するデータ解析部１３−ｉ（ｉ＝１，・・・，Ｎ）で入力画像データの解釈を実行させる。
【００２９】
データ形式判定部１２は、入力データ画像が複数のデータ形式のうちの１つのデータ形式の既定の先頭コードに一致する場合、データ形式に対応するデータ解析部１３−ｉに、入力画像データの解釈を実行させる。更に、データ形式判定部１２は、データ解析部１３−ｉまたは描画処理部１４による入力画像データの処理中にフォーマットエラーが発生した場合、複数のデータ解析部１３−１〜１３−Ｎにおける別のデータ解析部１３−ｊ（ｊ＝１，・・・，Ｎ且つｊ≠ｉ）に、入力画像データの解釈を実行させる。データ形式判定部１２は、データ形跡部１３−ｊによる入力画像データの処理中にフォーマットエラーが発生した場合、複数のデータ解析部１３−１〜１３−Ｎにおける、また別のデータ解析部１３−ｋ（ｋ＝１，・・・，Ｎ且つｋ≠i, j）に入力画像データの解釈を実行させる。
【００３０】
このように、データ形式判定部１２は、フォーマットエラーが発生しないで入力画像データの解釈が正常に最後まで完了するか、複数のデータ解析部１３−１〜１３−Ｎのすべてに入力画像データの解釈を実行させるまで、データ解析部１３−ｉを次々と切り換えて入力画像データの解釈を実行させる。なお、フォーマットエラーとは、そのデータ形式の構文上の誤りをいう。
【００３１】
データ解析部１３−１〜１３−Ｎは、複数のデータ形式の画像データをそれぞれ解釈する処理部である。例えば、この実施の形態では、ＸＰＳ形式、ＰＤＦ形式、ＴＩＦＦ形式およびＪＰＥＧ（Joint Photographic Experts Group）形式に対応するデータ解析部１３−１〜１３−４（Ｎ＝４）が設けられている。
【００３２】
描画処理部１４は、データ解析部１３−ｉ（ｉ＝１，・・・，Ｎ）による解釈結果に従って描画処理を行う処理部である。描画処理では、印刷用のラスタデータが生成される。
【００３３】
次に、上記装置の動作について説明する。図２は、図１に示す画像形成装置の動作について説明するフローチャートである。
【００３４】
通信装置２は、入力画像データを受信すると、通信バッファ３ａに記憶する。次いで、データ形式判定部１２は、データ取得部１１を使用して、その入力画像データの先頭部分を通信バッファ３ａから取得する（ステップＳ１）。
【００３５】
データ形式判定部１２は、取得されたデータの先頭が0x504B0304（ＡＳＣＩＩでは、「PK..」）であるか否かを判定する（ステップＳ２）。取得されたデータの先頭が0x504B0304（ＡＳＣＩＩでは、「PK..」）であると判定された場合、データ形式判定部１２は、入力画像データのデータ形式をＸＰＳと特定する（ステップＳ３）。
【００３６】
一方、取得されたデータの先頭が0x504B0304（ＡＳＣＩＩでは、「PK..」）ではないと判定された場合、データ形式判定部１２は、取得されたデータの先頭が「%PDF」であるか否かを判定する（ステップＳ４）。取得されたデータの先頭が「%PDF」であると判定された場合には、データ形式判定部１２は、入力画像データのデータ形式をＰＤＦと特定する（ステップＳ５）。
【００３７】
一方、取得されたデータの先頭が「%PDF」ではないと判定された場合、データ形式判定部１２は、取得されたデータの先頭が0x4D4D002A（ＡＳＣＩＩでは、「MM..」）または0x49492A00（ＡＳＣＩＩでは、「II..」）であるか否かを判定する（ステップＳ６）。取得されたデータの先頭が0x4D4D002A（ＡＳＣＩＩでは、「MM..」）または0x49492A00（ＡＳＣＩＩでは、「II..」）であると判定された場合には、データ形式判定部１２は、入力画像データのデータ形式をＴＩＦＦと特定する（ステップＳ７）。
【００３８】
一方、取得されたデータの先頭が0x4D4D002A（ＡＳＣＩＩでは、「MM..」）または0x49492A00（ＡＳＣＩＩでは、「II..」）ではないと判定された場合、データ形式判定部１２は、取得されたデータの先頭が0xFFD8であるか否かを判定する（ステップＳ８）。取得されたデータの先頭が0xFFD8であると判定された場合には、データ形式判定部１２は、入力画像データのデータ形式をＪＰＥＧと特定する（ステップＳ９）。
【００３９】
一方、取得されたデータの先頭が0xFFD8ではないと判定された場合、データ形式判定部１２は、取得されたデータの先頭が上述の識別コードのいずれでもないため、入力画像データのデータ形式として、デフォルトのデータ形式を指定する（ステップＳ１０）。デフォルトのデータ形式は、この装置で使用可能なデータ形式の中から設定される（例えばＸＰＳ形式）。例えば、データ形式判定部１２が入力画像データの処理履歴を記憶装置４に記憶しておき、その履歴を解析して前回受信した入力画像データのデータ形式、または過去に受信した入力画像データの中で最も多いデータ形式を設定すればよい。また、システム管理者がデフォルトデータ形式を予め画像形成装置に設定してもよい。
【００４０】
このようにして、データ形式判定部１２は、受信された入力画像データのデータ形式を特定し、特定したデータ形式に対応するデータ解析部１３−ｉを呼び出して、受信された入力画像データの解釈を実行させる（ステップＳ１１）。
【００４１】
そして、データ解析部１３−ｉによるデータ解釈の処理が終了すると、データ形式判定部１２は、そのデータ解釈処理中にフォーマットエラーが発生したか否かを判定する（ステップＳ１２）。データ解釈処理中にフォーマットエラーが発生した場合、データ解析部１３−ｉは、フォーマットエラー発生ログを生成する。データ形式判定部１２は、フォーマットエラー発生ログの有無に基づいて、データ解釈処理中にフォーマットエラーが発生したか否かを判定する。
【００４２】
データ形式判定部１２は、データ解析部１３−iによるデータ解釈処理中にフォーマットエラーが発生しなかったと判定した場合、そのデータ解釈に基づいて描画処理を描画処理部１４に実行させる（ステップＳ１３）。
【００４３】
そして、描画処理部１４による描画処理が終了すると、データ形式判定部１２は、その描画処理中にフォーマットエラーが発生したか否かを判定する（ステップＳ１４）。例えばＴＩＦＦの場合のように、入力画像データが、ビットマップ画像データを含む場合には、データ解析部１３−ｉでは、データ本体を解釈する必要がないため、主に、描画処理においてフォーマットエラーが発生したか否かが判定される。
【００４４】
データ解釈処理中および描画処理中のいずれにおいてもフォーマットエラーが発生していない場合には、印刷用のラスタ画像データが正常に生成されているため、処理を終了する。
【００４５】
一方、データ解釈処理中および描画処理中のいずれかにおいてフォーマットエラーが発生したと判定された場合には（ステップＳ１２，Ｓ１４）、データ形式判定部１２は、まず、すべてのデータ解析部１３−１〜１３−Ｎが、入力画像データの解釈を既に実行したか否かを判定する（ステップＳ１５）。判定の結果、いずれかのデータ解析部１３−ｊが、入力画像データの解釈をまだ実行していない場合には、データ形式判定部１２は、データ解析部１３−ｊで、入力画像データの解釈を実行させる（ステップＳ１６）。データ解析部１３−ｊによるデータ解釈処理が終了すると、データ形式判定部１２は、上述のデータ解析部１３−ｉによるデータ解釈処理終了後と同様の処理（つまり、ステップＳ１２以降の処理）を行う。したがって、フォーマットエラーが再度発生した場合には、入力画像データをまだ解釈していないさらに別のデータ解析部１３−ｋによるデータ解釈処理が実行される。
【００４６】
また、ステップＳ１５において、すべてのデータ解析部１３−１〜１３−Ｎで、入力画像データの解釈を既に実行されていると判定した場合には、データ形式判定部１２は、受信された入力画像データを正常に解釈できるデータ解析部が存在しないため、エラー処理（エラーメッセージの表示など）を実行して（ステップＳ１７）、処理を終了する。
【００４７】
このようにして、入力画像データのデータ形式に適合するデータ解析部１３−ｉによって、入力画像データが解釈される。
【００４８】
次に、各データ解析部１３−１〜１３−Ｎの動作について説明する。
【００４９】
（Ａ）ＸＰＳ用のデータ解析部１３−１
【００５０】
図３は、図１に示す画像形成装置における、ＸＰＳ用のデータ解析部１３−１の動作について説明するフローチャートである。
【００５１】
まず、データ解析部１３−１は、ＸＰＳインタプリタを起動し（ステップＳ２１）、入力画像データにおける各ブロックを順番に解釈させる。
【００５２】
ここで、ＸＰＳ形式の入力画像データについて説明する。
【００５３】
ＸＰＳ形式の入力画像データは、ＺＩＰ形式で圧縮されたデータである。図４は、ＺＩＰ形式のデータ構造を示す図である。図４に示すように、ＺＩＰ形式のデータには、１組または複数組のローカルファイルヘッダ（Local File Header）、ファイルデータ（File Data）およびデータデスクリプタ（Data Descriptor）、セントラルディレクトリ（Central Directory）、並びにエンド・オブ・セントラルディレクトリレコード（End Of Central Directory Record）が含まれている。エンド・オブ・セントラルディレクトリレコードは、ＺＩＰデータの終端に位置する。
【００５４】
セントラルディレクトリは、１または複数のファイルヘッダおよびデジタルシグネチャを有する。ローカルファイルヘッダ、セントラルディレクトリにおけるファイルヘッダおよびデジタルシグネチャ、並びにエンド・オブ・セントラルディレクトリレコードは、それらの先頭に、シグネチャを有する。シグネチャは、４バイトのデータであり、フィールドの種別に固有の値を有する。ローカルファイルヘッダのシグネチャの値は、０ｘ０４０３４ｂ５０である。セントラルディレクトリにおけるファイルヘッダのシグネチャの値は、０ｘ０２０１４ｂ５０である。セントラルディレクトリにおけるデジタルシグネチャのシグネチャの値は、０ｘ０５０５４ｂ５０である。エンド・オブ・セントラルディレクトリレコードのシグネチャの値は、０ｘ０６０５４ｂ５０である。
【００５５】
また、これらのブロックは、固定長である。ただし、ファイルデータは、可変長であり、そのサイズは、ローカルファイルヘッダに含まれている。
【００５６】
したがって、データ解析部１３−１は、データ取得部１１を使用して、これらのブロックを１ブロックずつ読み出す。データ解析部１３−１は、入力画像データの各ブロックにおけるシグネチャを読み出し、シグネチャの値に基づいてブロックのサイズを特定する。データ解析部１３−１は、特定されたサイズだけデータ読み出し位置を進める処理を、エンド・オブ・セントラルディレクトリレコードを示すシグネチャが読み出されるまで繰り返し実行していく。
【００５７】
このとき、データ解析部１３−１は、入力画像データが既に記憶装置４に記憶されているか否かを判定する（ステップＳ２２）。入力画像データが既に記憶装置４に記憶されていなければ、データ解析部１３−１は、データ取得部１１を使用して、通信バッファ３ａから１ブロック分のデータを読み出して記憶装置４に記憶する（ステップＳ２３）。入力画像データが既に記憶装置４に記憶されていれば、データ解析部１３−１は、データ取得部１１を使用して、記憶装置４から１ブロック分のデータを読み出す（ステップＳ２４）。その後、データ解析部１３−１は、読み出したブロックにおけるシグネチャの値が既定のシグネチャ値のいずれかに一致するか否かを判定する（ステップＳ２５）。
【００５８】
読み出されたブロックにおけるシグネチャの値が既定のシグネチャ値のいずれかに一致すると判定された場合には、データ解析部１３−１は、そのブロックでフォーマットエラーが発生していないと判定し、そのブロックの解釈を実行する（ステップＳ２６）。
【００５９】
そして、解釈が実行されたブロックが入力画像データの終端であれば、すなわちステップＳ２３またはＳ２４においてエンド・オブ・セントラルディレクトリレコードを示すシグネチャが読み出されなかった場合（ステップＳ２７）、データ解析部１３−１は、次のブロックを、通信バッファ３ａまたは記憶装置４から読み出し（ステップＳ２３またはＳ２４）、そのブロックについてステップＳ２５以降の処理を実行する。
【００６０】
そして、フォーマットエラーが一度も発生せずに、入力画像データの最後のブロックまで解釈が完了すると、すなわちステップＳ２３またはＳ２４においてエンド・オブ・セントラルディレクトリレコードを示すシグネチャが読み出された場合（ステップＳ２７）、データ解釈処理が終了する。
【００６１】
一方、ステップＳ２５において、読み出されたブロックにおけるシグネチャの値が既定のシグネチャ値のいずれにも一致しないと判定された場合、データ解析部１３−１は、フォーマットエラーが発生したと判定し、入力画像データが既に記憶装置４に記憶されているか否かを判定する（ステップＳ２８）。入力画像データが既に記憶装置４に記憶されていなければ、データ解析部１３−１は、通信バッファ３ａから残りのブロックのデータを読み出して記憶装置４に記憶する（ステップＳ２９）。更に、データ解析部１３−１は、フォーマットエラー発生ログを生成し、記憶装置４またはメモリ３に記憶する（ステップＳ３０）。フォーマットエラー発生ログには、フォーマットエラーが発生したデータ解析部１３−ｉが担当するデータ形式の種別が含まれる。フォーマットエラーが発生すると、フォーマットエラー発生ログの記録後に、データ解釈処理は終了する。
【００６２】
このようにして、ＸＰＳ形式の入力画像データの解釈処理が行われる。
【００６３】
（Ｂ）ＰＤＦ用のデータ解析部１３−２
【００６４】
図５は、図１に示す画像形成装置における、ＰＤＦ用のデータ解析部１３−２の動作について説明するフローチャートである。
【００６５】
データ解析部１３−２は、ＰＤＦインタプリタを起動し（ステップＳ３１）、入力画像データを解釈させる。まず、データ解析部１３−２は、入力画像データが通信バッファ３ａに記憶されているか否かを判定する（ステップＳ３２）。入力画像データが通信バッファ３ａに記憶されていれば、データ解析部１３−２は、データ取得部１１を使用して、通信バッファ３ａから入力画像データを読み出して記憶装置４に記憶する（ステップＳ３３）。
【００６６】
そして、データ解析部１３−２は、その入力画像データの解釈を開始し（ステップＳ３４）、入力画像データの解釈が終了するまで（ステップＳ３６）、フォーマットエラーの有無を監視する（ステップＳ３５）。フォーマットエラーが一度も発生せずに、入力画像データの最後まで解釈が完了すると、データ解釈処理が終了する。
【００６７】
一方、フォーマットエラーが発生すると、データ解析部１３−２は、フォーマットエラー発生ログを生成し、記憶装置４またはメモリ３に記憶する（ステップＳ３７）。フォーマットエラーが発生すると、フォーマットエラー発生ログの記録後に、データ解釈処理は終了する。
【００６８】
このようにして、ＰＤＦ形式の入力画像データの解釈処理が行われる。
【００６９】
（Ｃ）ＴＩＦＦ用のデータ解析部１３−３
【００７０】
図６は、図１に示す画像形成装置における、ＴＩＦＦ用のデータ解析部１３−３の動作および描画処理部１４によるＴＩＦＦの描画処理について説明するフローチャートである。
【００７１】
図６（Ａ）に示すように、データ解析部１３−３は、ＴＩＦＦインタプリタを起動し（ステップＳ４１）、入力画像データを解釈させる。まず、データ解析部１３−３は、入力画像データが通信バッファ３ａに記憶されているか否かを判定する（ステップＳ４２）。入力画像データが通信バッファ３ａに記憶されていれば、データ解析部１３−３は、データ取得部１１を使用して、通信バッファ３ａから入力画像データを読み出して記憶装置４に記憶する（ステップＳ４３）。
【００７２】
そして、図６（Ｂ）に示すように、描画処理部１４は、ＴＩＦＦ形式のデータに基づいて描画処理を開始し（ステップＳ５１）、入力画像データのビットマップデータに基づく描画処理が終了するまで（ステップＳ５３）、フォーマットエラーの有無を監視する（ステップＳ５２）。
【００７３】
描画処理時にフォーマットエラーが発生すると、描画処理部１４は、第１ページにおいてフォーマットエラーが発生したか否かを判定する（ステップＳ５４）。第１ページでフォーマットエラーが発生した場合、描画処理部１４は、フォーマットエラー発生ログを生成し、記憶装置４またはメモリ３に記憶する（ステップＳ５５）。一方、第２ページ以降でフォーマットエラーが発生した場合、描画処理部１４は、描画処理を継続する。ＴＩＦＦ形式のデータには、複数ページの画像データを含めることができるため、第１ページでフォーマットエラーが発生した場合のみ、データ形式の誤認識と判断し、データ形式を切り換えて入力画像データを処理する。
【００７４】
したがって、第１ページでフォーマットエラーが発生しなければ、入力画像データの最後まで描画処理が完了すると、描画処理が終了する。
【００７５】
このようにして、ＴＩＦＦ形式の入力画像データの解釈処理および描画処理が行われる。
【００７６】
（Ｄ）ＪＰＥＧ用のデータ解析部１３−４
【００７７】
図７は、図１に示す画像形成装置における、ＪＰＥＧ用のデータ解析部１３−４の動作について説明するフローチャートである。
【００７８】
データ解析部１３−４は、ＪＰＥＧインタプリタを起動し（ステップＳ６１）、入力画像データを解釈させる。まず、データ解析部１３−４は、入力画像データが通信バッファ３ａに記憶されているか否かを判定する（ステップＳ６２）。入力画像データが通信バッファ３ａに記憶されていれば、データ解析部１３−４は、データ取得部１１を使用して、通信バッファ３ａから入力画像データを読み出して記憶装置４に記憶する（ステップＳ６３）。
【００７９】
そして、データ解析部１３−４は、その入力画像データの解釈を開始し（ステップＳ６４）、入力画像データの解釈が終了するまで（ステップＳ６６）、フォーマットエラーの有無を監視する（ステップＳ６５）。フォーマットエラーが一度も発生せずに、入力画像データの最後まで解釈が完了すると、データ解釈処理が終了する。
【００８０】
一方、フォーマットエラーが発生すると、データ解析部１３−４は、フォーマットエラー発生ログを生成し、記憶装置４またはメモリ３に記憶する（ステップＳ６７）。フォーマットエラーが発生すると、フォーマットエラー発生ログの記録後に、データ解釈処理は終了する。
【００８１】
このようにして、ＪＰＥＧ形式の入力画像データの解釈処理が行われる。
【００８２】
以上のように、上記実施の形態によれば、データ形式判定部１２は、複数のデータ形式のうちの１つのデータ形式の既定の先頭コードに一致する場合、データ形式に対応するデータ解析部１３−ｉに、入力画像データの解釈を実行させる。データ形式判定部１２は、更に、データ解析部１３−ｉまたは描画処理部１４において入力画像データの処理中にフォーマットエラーが発生した場合、複数のデータ解析部１３−１〜１３−Ｎにおける別のデータ解析部１３−ｊに、入力画像データの解釈を実行させる。
【００８３】
これにより、入力画像データから自動的に入力画像データのデータ形式を特定する場合、入力画像データのヘッダ部分が正しく記述されていなかったり、通信途中でヘッダ部分が破損してしまったりしていても、複数のデータ解析部１３−ｉ，１３−ｊ，・・・によりデータ解釈が実行される。このため、入力画像データのデータ形式を正確に特定して入力画像データを正確に解釈することができる。
【００８４】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００８５】
例えば、上記実施の形態では、４種類のデータ形式の入力画像データが使用可能であるが、２種類、３種類、５種類以上のデータ形式の入力画像データが使用可能であってもよい。また、上述の４種類のデータ形式以外のデータ形式の入力画像データが使用可能であってもよい。
また、上記実施の形態では、図２のステップＳ１０において、データ形式判定部１２は、入力画像データのデータ形式として、デフォルトのデータ形式を指定するものとしたが、処理を終了しても良い。
【産業上の利用可能性】
【００８６】
本発明は、例えば、複数のデータ形式の入力画像データに対応可能な画像形成装置に適用可能である。
【符号の説明】
【００８７】
２  通信装置
３ａ  通信バッファ
４  記憶装置
１２  データ形式判定部
１３−１〜１３−Ｎ  データ解析部
１４  描画処理部
【図１】
2011068010.tif 000003
【図２】
2011068010.tif 000004
【図３】
2011068010.tif 000005
【図４】
2011068010.tif 000006
【図５】
2011068010.tif 000007
【図６】
2011068010.tif 000008
【図７】
2011068010.tif 000009
【図８】
2011068010.tif 000010