(57)【要約】【課題】管理情報中の誤った情報を用いて記憶メディアから画像ファイルを読み出して印刷してしまうことを防ぐ。【解決手段】  プリンタは、記憶メディアから管理情報を読出し、該管理情報を解析することにより画像ファイルリストを作成し、画像ファイルリストにリストアップした画像ファイルが記憶されている複数の記憶領域を管理情報から特定し、特定された複数の記憶領域から画像ファイルを読出して印刷する。プリンタは、画像ファイルリスト作成の際に、管理情報に記録されている各記憶領域ＩＤの正当性を判断し、画像ファイルが記憶されている複数の記憶領域にそれぞれ対応した複数の記憶領域ＩＤの全てが正当の場合には、該画像ファイルに関する情報を画像ファイルリストに記録し、該複数の記憶領域ＩＤの一つでも不当の場合には、該画像ファイルに関する情報を画像ファイルリストに記録しない。【選択図】図１
2007245602.tif 000002
【特許請求の範囲】
【請求項１】
記憶メディアに記録されている管理情報に基づいて管理されている記憶領域から画像ファイルを読み出して印刷するプリンタであって、
前記管理情報では、各画像ファイルについて、画像ファイルを特定するための情報と、該画像ファイルが記憶されている記憶領域のＩＤとが記録されており、
前記記憶メディアから管理情報を読出し、該管理情報を解析することにより、前記記憶メディア内の画像ファイルに関する情報のリストである画像ファイルリストを作成するリスト作成手段と、
前記作成された画像ファイルリストに記録されている情報に対応した印刷対象の画像ファイルが記憶されている複数の記憶領域を前記管理情報から特定し、特定された該複数の記憶領域から該印刷対象の画像ファイルを読出し、読み出された該画像ファイル内の画像を印刷する印刷手段と
を備え、
前記リスト作成手段が、前記管理情報の解析の際に、該管理情報に記録されている各記憶領域ＩＤの正当性を判断し、画像ファイルが記憶されている複数の記憶領域にそれぞれ対応した複数の記憶領域ＩＤの全てが正当の場合には、該画像ファイルに関する情報を前記画像ファイルリストに記録し、該複数の記憶領域ＩＤの一つでも不当の場合には、該画像ファイルに関する情報を前記画像ファイルリストに記録しない、
ことを特徴とするプリンタ。
【請求項２】
記憶メディアに記録されている管理情報に基づいて管理されている記憶領域から画像ファイルを読み出して印刷するプリンタであって、
前記管理情報では、各画像ファイルについて、画像ファイルを特定するための情報と、該画像ファイルが記憶されている記憶領域のＩＤとが記録されており、
前記記憶メディアから管理情報を読出し、該管理情報を解析することにより、前記記憶メディア内の画像ファイルに関する情報のリストである画像ファイルリストを作成するリスト作成手段と、
前記作成された画像ファイルリストに記録されている情報に対応した印刷対象の画像ファイルが記憶されている複数の記憶領域を前記管理情報から特定し、特定された該複数の記憶領域から該印刷対象の画像ファイルを読出し、読み出された該画像ファイル内の画像を印刷する印刷手段と
を備え、
前記印刷手段が、印刷指示を受けて、該印刷指示に従う印刷対象の画像ファイルを読み出す前に、該管理情報に記録されている、該印刷対象の画像ファイルを記憶している複数の記憶領域にそれぞれ対応した複数の記憶領域ＩＤの正当性を判断し、該複数の記憶領域ＩＤの全てが正当の場合には、該画像ファイルを完全に読出し、該複数の記憶領域ＩＤの一つでも不当の場合には、該画像ファイルを完全には読出さない、
ことを特徴とするプリンタ。
【請求項３】
前記記憶メディアには、データを記憶する記憶領域で構成された第一の記憶領域群と、それ以外の記憶領域で構成された第二の記憶領域群とがあり、
前記記憶メディアの前記第二の記憶領域群に記録されている情報から、前記第一の記憶領域群を構成する総記憶領域数を算出する総記憶領域数算出手段を更に備え、
前記正当性の判断では、前記算出された総記憶領域数から適切な記憶領域ＩＤを示していた場合に、該記憶領域ＩＤを正当と判断する、
請求項１又は２記載のプリンタ。
【請求項４】
前記記憶メディアに記録されている情報から前記記憶メディアで利用されている管理式を識別する管理方式識別手段を更に備え、
前記正当性の判断では、前記識別された管理方式から適切な記憶領域ＩＤを示していた場合に、該記憶領域ＩＤを正当と判断する、
請求項１又は２記載のプリンタ。
【請求項５】
前記記憶メディアには、データを記憶する記憶領域で構成された第一の記憶領域群と、それ以外の記憶領域で構成された第二の記憶領域群とがあり、
前記記憶メディアの前記第二の記憶領域群に記録されている情報から、前記第一の記憶領域群を構成する総記憶領域数を算出する総記憶領域数算出手段と、
前記記憶メディアに記録されている情報から前記記憶メディアで利用されている管理方式を識別する管理方式識別手段と
を更に備え、
前記正当性の判断では、前記算出された総記憶領域数と前記識別された管理方式の両方から適切な記憶領域ＩＤを示していた場合に、該記憶領域ＩＤを正当と判断する、
請求項１又は２記載のプリンタ。
【請求項６】
前記管理情報には、ディレクトリ又は画像ファイルが存在する一以上の記憶領域のうちの先頭記憶領域のＩＤと、記憶領域ＩＤの参照手順とが表されており、先頭記憶領域ＩＤと該参照手順に従って、ディレクトリ又は画像ファイルを構成するデータを読み出していくようになっており、
前記管理情報に記録されている記憶領域ＩＤの記憶領域からデータを読み出す場合に、該記憶領域ＩＤをアクセス履歴として記憶域に記録する履歴記録手段を更に備え、
前記正当性の判断では、前記管理情報に記録されている次のアクセス先記憶領域の記憶領域ＩＤと同一の記憶領域ＩＤが前記アクセス履歴に存在するか否かを判断し、存在しなければ、その記憶領域ＩＤが正当であると判断し、存在すれば、その記憶領域ＩＤが不当であると判断し、
前記履歴記録手段は、その記憶領域ＩＤが正当であると判断された場合に、その記憶領域ＩＤを前記アクセス履歴に追加する、
請求項１乃至５のうちのいずれか１項に記載のプリンタ。
【請求項７】
前記正当性の判断では、前記管理情報に記録されている次のアクセス先記憶領域の記憶領域ＩＤの正当性を判断し、不当な記憶領域ＩＤではないと判断した場合に、該記憶領域ＩＤと同一の記憶領域ＩＤが前記アクセス履歴に存在するか否かの判断を行う、
請求項６記載のプリンタ。
【請求項８】
前記管理情報には、画像ファイルのサイズも記録されており、
前記管理情報に記録されている、前記印刷対象の画像ファイルのファイルサイズから、該画像ファイルを記憶する記憶領域の総数であるファイル記憶領域数を算出するファイル記憶領域数算出手段と、
前記印刷対象の画像ファイルを構成するデータが読み出されたときに、その読出しのためのアクセス先となった記憶領域の数をカウントするカウント手段と
を更に備え、
前記正当性の判断では、更に、前記算出されたファイル記憶領域数を基に、前記カウント手段によるカウント値が不正な値か否かを判断し、前記カウント値が不正であると判断された場合に、画像ファイルの読出しを中止する、
請求項２記載のプリンタ。
【請求項９】
前記正当性の判断では、更に、前記記憶メディアへのアクセスのための処理が開始されてからの経過時間を計測し、該処理が終了する前に該経過時間が所定の閾値を超えたか否かを判断し、前記経過時間が前記所定の閾値を超えたと判断された場合に、前記記憶メディアへのアクセスを中止し、
前記閾値は、前記記憶メディアの記憶容量及び前記プリンタの処理能力の少なくとも一方に基づいて設定された値である、
請求項１乃至８のうちのいずれか１項に記載のプリンタ。
【請求項１０】
前記管理情報は、ディレクトリエントリ及びＦＡＴテーブルを含んだＦＡＴ情報であり、
前記正当性の判断では、前記ディレクトリエントリに記録されている先頭クラスタ番号、及び、前記ＦＡＴテーブルに記録されている次のアクセス先クラスタ番号のうちの少なくとも一方のクラスタ番号の正当性を判断する、
請求項１乃至９のうちのいずれか１項に記載のプリンタ。
【請求項１１】
記憶メディアに記録されている管理情報に基づいて管理されている記憶領域から画像ファイルを読み出して印刷するプリンタで実行されるコンピュータプログラムあって、
前記管理情報では、各画像ファイルについて、画像ファイルを特定するための画像ファイル情報と、該画像ファイルが記憶されている記憶領域のＩＤとが記録されており、
前記記憶メディアから管理情報を読出すステップと、
該管理情報を解析することにより、前記記憶メディア内の画像ファイルに関する情報のリストである画像ファイルリストを作成するステップと
を前記プリンタに実行させ、
前記作成するステップにおいて、前記管理情報の解析の際に、該管理情報に記録されている各記憶領域ＩＤの正当性を判断し、画像ファイルが記憶されている複数の記憶領域にそれぞれ対応した複数の記憶領域ＩＤの全てが正当の場合には、該画像ファイルに関する情報を前記画像ファイルリストに記録し、該複数の記憶領域ＩＤの一つでも不当の場合には、該画像ファイルに関する情報を前記画像ファイルリストに記録しない、
ことを特徴とするコンピュータプログラム。
【請求項１２】
記憶メディアに記録されている管理情報に基づいて管理されている記憶領域から画像ファイルを読み出して印刷するプリンタで実行されるコンピュータプログラムであって、
前記管理情報では、各画像ファイルについて、画像ファイルを特定するための画像ファイル情報と、該画像ファイルが記憶されている記憶領域のＩＤとが記録されており、
前記記憶メディアから管理情報を読出すステップと、
該管理情報を解析することにより、前記記憶メディア内の画像ファイルに関する情報のリストである画像ファイルリストを作成するステップと、
前記作成された画像ファイルリストに記録されている情報に対応した印刷対象の画像ファイルが記憶されている複数の記憶領域を前記管理情報から特定し、特定された該複数の記憶領域から該印刷対象の画像ファイルを読出すステップと
を前記プリンタに実行させ、読み出された該画像ファイル内の画像が前記プリンタにより印刷されるようになっており、
前記読み出すステップにおいて、印刷指示を受けて、該印刷指示に従う前記印刷対象の画像ファイルを読み出す前に、該管理情報に記録されている、該印刷対象の画像ファイルを記憶している複数の記憶領域にそれぞれ対応した複数の記憶領域ＩＤの正当性を判断し、該複数の記憶領域ＩＤの全てが正当の場合には、該画像ファイルを完全に読出し、該複数の記憶領域ＩＤの一つでも不当の場合には、該画像ファイルを完全には読出さない、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶メディアから画像ファイルを読み出して印刷するプリンタに関する。
【背景技術】
【０００２】
記憶メディアに記録されている管理情報に基づいて記憶領域からデータを読み出す技術が知られている。管理情報としては、例えば、ファイルを管理するためのファイル管理情報があり、ファイル管理情報として、ディレクトリエントリ及びＦＡＴテーブル（単にＦＡＴ（File Allocation Tables）と呼ばれることもある）を含んだＦＡＴ情報がある。
【０００３】
例えば、従来より、メモリーカード内のＦＡＴを用いてメモリーカード内のデータにアクセスする技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開平６−３５６２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、記憶メディアのＦＡＴ情報に基づいて画像ファイルを読出し、読出した画像ファイル内の画像を印刷するプリンタがある。そのようなプリンタでは、一般に、記憶メディアに格納されているディレクトリエントリとＦＡＴテーブルの両方に書かれているクラスタ番号を参照して、画像ファイルの読出しが行われる。
【０００５】
その際、ディレクトリエントリ及びＦＡＴテーブルの少なくとも一方（以下、ＦＡＴ情報）に誤った情報が記録されていて、その誤った情報を用いて画像ファイルの読出しを行うと、画像ファイルの読み出しを正常に終了できず、それによって、プリンタがハングアップしてしまうおそれがある。具体的には、例えば、ＦＡＴテーブルに、「2→3→4→5→0」とクラスタ番号を辿ることでファイルの読出しが終了するようにクラスタ番号が記録されるべきところ、「0」の代わりに、既に登場した「3」が誤って記録されてしまっているために、「2→3→4→5→3→4→5→3→4→3→4→5…」のようないわゆる無限ループが生じてしまうことによりハングアップが生じてしまうおそれがある。
【０００６】
上記のような無限ループが生じなくても、不正なクラスタ番号を用いた読出しでは、正常に画像ファイルを読み出せないおそれがある。
【０００７】
上述のような問題点は、ＦＡＴ情報に限らず、他種の管理情報を用いて画像ファイルを記憶メディアから読み出す場合にも生じ得る。
【０００８】
従って、本発明の目的は、管理情報中の誤った情報を用いて記憶メディアから画像ファイルを読み出して印刷が行われてしまうことを防ぐことにある。
【課題を解決するための手段】
【０００９】
本発明の第一の側面に従うプリンタは、記憶メディアに記録されている管理情報に基づいて管理されている記憶領域から画像ファイルを読み出して印刷するプリンタである。前記管理情報では、各画像ファイルについて、画像ファイルを特定するための情報と、該画像ファイルが記憶されている記憶領域のＩＤとが記録されている。このプリンタは、前記記憶メディアから管理情報を読出し、該管理情報を解析することにより、前記記憶メディア内の画像ファイルに関する情報のリストである画像ファイルリストを作成するリスト作成手段と、前記作成された画像ファイルリストに記録されている情報に対応した印刷対象の画像ファイルが記憶されている複数の記憶領域を前記管理情報から特定し、特定された該複数の記憶領域から該印刷対象の画像ファイルを読出し、読み出された該画像ファイル内の画像を印刷する印刷手段とを備える。前記リスト作成手段が、前記管理情報の解析の際に、該管理情報に記録されている各記憶領域ＩＤの正当性を判断し、画像ファイルが記憶されている複数の記憶領域にそれぞれ対応した複数の記憶領域ＩＤの全てが正当の場合には、該画像ファイルに関する情報を前記画像ファイルリストに記録し、該複数の記憶領域ＩＤの一つでも不当の場合には、該画像ファイルに関する情報を前記画像ファイルリストに記録しない。
【００１０】
このプリンタによれば、不正な画像ファイルに関する情報が画像ファイルリストに記録されないので、不正な画像ファイルが読み出されて印刷されてしまうことを未然に防ぐことができる。
【００１１】
本発明の第二の側面に従うプリンタは、記憶メディアに記録されている管理情報に基づいて管理されている記憶領域から画像ファイルを読み出して印刷するプリンタである。前記管理情報では、各画像ファイルについて、画像ファイルを特定するための情報と、該画像ファイルが記憶されている記憶領域のＩＤとが記録されている。このプリンタは、前記記憶メディアから管理情報を読出し、該管理情報を解析することにより、前記記憶メディア内の画像ファイルに関する情報のリストである画像ファイルリストを作成するリスト作成手段と、前記作成された画像ファイルリストに記録されている情報に対応した印刷対象の画像ファイルが記憶されている複数の記憶領域を前記管理情報から特定し、特定された該複数の記憶領域から該印刷対象の画像ファイルを読出し、読み出された該画像ファイル内の画像を印刷する印刷手段とを備える。前記印刷手段が、印刷指示を受けて、該印刷指示に従う印刷対象の画像ファイルを読み出す前に、該管理情報に記録されている、該印刷対象の画像ファイルを記憶している複数の記憶領域にそれぞれ対応した複数の記憶領域ＩＤの正当性を判断し、該複数の記憶領域ＩＤの全てが正当の場合には、該画像ファイルを完全に読出し、該複数の記憶領域ＩＤの一つでも不当の場合には、該画像ファイルを完全には読出さない。
【００１２】
このプリンタによれば、印刷指示を受けて、印刷指示に従う印刷対象の画像ファイルを読み出す前に、該画像ファイルが記憶されている場所を表す記憶領域ＩＤの正当性が判断され、不当と判断された場合には、該画像ファイルが読み出されないので、不正な画像ファイルが読み出されて印刷されてしまうことを未然に防ぐことができる。
【００１３】
いずれのプリンタの第一の好適な実施態様では、前記記憶メディアには、データを記憶する記憶領域で構成された第一の記憶領域群と、それ以外の記憶領域で構成された第二の記憶領域群とがあり、前記記憶メディアの前記第二の記憶領域群に記録されている情報から、前記第一の記憶領域群を構成する総記憶領域数を算出する総記憶領域数算出手段が更に備えられ、前記正当性の判断では、前記算出された総記憶領域数から適切な記憶領域ＩＤを示していた場合に、該記憶領域ＩＤを正当と判断する。
【００１４】
この実施形態によれば、第一の記憶領域群の記憶領域の総数（総記憶領域数）が算出され、算出された総記憶領域数から、不正な記憶領域ＩＤがある場合にはそれを検出することができる。
【００１５】
なお、この実施形態では、総記憶領域数の算出を、前記管理情報に記録されている記憶領域ＩＤの記憶領域に初めてアクセスされる前に行い、初めて記憶領域にアクセスする場合から、算出された総記憶領域数を基に、アクセス先の記憶領域の記憶領域ＩＤの正当性を判断することができる。
【００１６】
いずれのプリンタの第二の好適な実施態様では、前記記憶メディアに記録されている情報から前記記憶メディアで利用されている管理式を識別する管理方式識別手段が更に備えられ、前記正当性の判断では、前記識別された管理方式から適切な記憶領域ＩＤを示していた場合に、該記憶領域ＩＤを正当と判断する。
【００１７】
この実施形態によれば、記憶メディアで利用されている管理方式が識別され、識別された管理方式から、不正な記憶領域ＩＤがある場合にはそれを検出することができる。
【００１８】
なお、この実施形態では、管理方式の識別を、前記管理情報に記録されている記憶領域ＩＤの記憶領域に初めてアクセスされる前に行い、初めて記憶領域にアクセスする場合から、識別された管理方式を基に、アクセス先の記憶領域の記憶領域ＩＤの正当性を判断することができる。
【００１９】
いずれのプリンタの第三の好適な実施形態では、前記記憶メディアには、データを記憶する記憶領域で構成された第一の記憶領域群と、それ以外の記憶領域で構成された第二の記憶領域群とがあり、前記記憶メディアの前記第二の記憶領域群に記録されている情報から、前記第一の記憶領域群を構成する総記憶領域数を算出する総記憶領域数算出手段と、前記記憶メディアに記録されている情報から前記記憶メディアで利用されている管理方式を識別する管理方式識別手段とが更に備えられ、前記正当性の判断では、前記算出された総記憶領域数と前記識別された管理方式の両方から適切な記憶領域ＩＤを示していた場合に、該記憶領域ＩＤを正当と判断する。
【００２０】
この実施形態によれば、算出された総記憶領域数と識別された管理方式との両方を用いて記憶領域ＩＤの正当性が判断されるので、不正な記憶領域ＩＤの検出精度を高めることができる。
【００２１】
なお、この実施形態では、総記憶領域数の算出及び管理方式の識別を、前記管理情報に記録されている記憶領域ＩＤの記憶領域に初めてアクセスされる前に行い、初めて記憶領域にアクセスする場合から、総記憶領域数及び管理方式の両方を基に、アクセス先の記憶領域の記憶領域ＩＤの正当性を判断することができる。
【００２２】
いずれのプリンタの第四の好適な実施態様では、前記管理情報には、ディレクトリ又は画像ファイルが存在する一以上の記憶領域のうちの先頭記憶領域のＩＤと、記憶領域ＩＤの参照手順とが表されており、先頭記憶領域ＩＤと該参照手順に従って、ディレクトリ又は画像ファイルを構成するデータを読み出していくようになっており、前記管理情報に記録されている記憶領域ＩＤの記憶領域からデータを読み出す場合に、該記憶領域ＩＤをアクセス履歴として記憶域に記録する履歴記録手段が更に備えられ、前記正当性の判断では、前記管理情報に記録されている次のアクセス先記憶領域の記憶領域ＩＤと同一の記憶領域ＩＤが前記アクセス履歴に存在するか否かを判断し、存在しなければ、その記憶領域ＩＤが正当であると判断し、存在すれば、その記憶領域ＩＤが不当であると判断する。前記履歴記録手段は、その記憶領域ＩＤが正当であると判断された場合に、その記憶領域ＩＤを前記アクセス履歴に追加する。
【００２３】
この実施形態によれば、一度アクセスした記憶領域に再度アクセスしてしまうことにより生じる、アクセスのいわゆる無限ループを防ぐことができる。
【００２４】
いずれのプリンタの第五の好適な実施態様では、前記第四の好適な実施形態において、前記正当性の判断では、前記管理情報に記録されている次のアクセス先記憶領域の記憶領域ＩＤの正当性を判断し、不当な記憶領域ＩＤではないと判断した場合に、該記憶領域ＩＤと同一の記憶領域ＩＤが前記アクセス履歴に存在するか否かの判断を行う。
【００２５】
この実施形態によれば、不正な記憶領域ＩＤがある場合にはそれを検出し、その不正な記憶領域ＩＤを用いてアクセス履歴を参照する上記判断を無駄に行ってしまうことを防ぐことができる。
【００２６】
第二の側面に従うプリンタの第六の好適な実施形態では、前記管理情報には、画像ファイルのサイズも記録されており、前記管理情報に記録されている、前記印刷対象の画像ファイルのファイルサイズから、該画像ファイルを記憶する記憶領域の総数であるファイル記憶領域数を算出するファイル記憶領域数算出手段と、前記印刷対象の画像ファイルを構成するデータが読み出されたときに、その読出しのためのアクセス先となった記憶領域の数をカウントするカウント手段とが更に備えられ、前記正当性の判断では、更に、前記算出されたファイル記憶領域数を基に、前記カウント手段によるカウント値が不正な値か否かを判断し、前記カウント値が不正であると判断された場合に、画像ファイルの読出しを中止する。
【００２７】
この実施形態によれば、管理情報に記録されているファイルサイズに誤りがある場合にそれを検出して画像ファイルの読出しが中止されるので、管理情報の不正な記憶メディアからの画像ファイルの読出しを防ぐことができる。
【００２８】
いずれのプリンタの第七の好適な実施形態では、前記正当性の判断では、更に、前記記憶メディアへのアクセスのための処理が開始されてからの経過時間を計測し、該処理が終了する前に該経過時間が所定の閾値を超えたか否かを判断し、前記経過時間が前記所定の閾値を超えたと判断された場合に、前記記憶メディアへのアクセスを中止する。前記閾値は、前記記憶メディアの記憶容量及び前記プリンタの処理能力の少なくとも一方に基づいて設定された値である。
【００２９】
この実施形態によれば、前記記憶メディアへのアクセスのための処理に必要以上に長い時間がかかってしまっている場合には前記記憶メディアへのアクセスを中止することができる。
【００３０】
いずれのプリンタの第八の好適な実施形態では、前記管理情報は、ディレクトリエントリ及びＦＡＴテーブルを含んだＦＡＴ情報であり、前記正当性の判断では、前記ディレクトリエントリに記録されている先頭クラスタ番号、及び、前記ＦＡＴテーブルに記録されている次のアクセス先クラスタ番号のうちの少なくとも一方のクラスタ番号の正当性を判断する。
【００３１】
上述した「画像」とは、写真画像に限らず、文字、図形、線画などの様々な画像であっても良く、また、画像ファイルは、そのような画像が表されたファイルであればどのようなファイルでも良い。また、どの画像ファイルがどの記憶領域に記憶されているかは、例えば、指定された画像ファイルのパスに対応する、画像ファイルを特定するための情報を、管理情報から探し、探し出された情報に対応する記憶領域ＩＤから、特定することができる
【００３２】
また、上述した各手段は、ＣＰＵによって読み込まれて実行されるコンピュータプログラムにより実現することができる。コンピュータプログラムは、コンピュータマシンに備えられる記憶資源（例えばメモリ）から読み込むことができる。その記憶資源には、ＣＤ−ＲＯＭやＤＶＤ（Digital Versatile Disk）等の記録媒体を介してインストールすることもできるし、インターネットやＬＡＮ等の通信ネットワークを介してダウンロードすることもできる。
【発明を実施するための最良の形態】
【００３３】
図１は、本発明の一実施形態に係るプリンタの構成を示す機能ブロック図である。
【００３４】
プリンタ１は、外部に接続されているホスト装置からの印刷要求に従って印刷を実行するプリンタであってもよいし、ホスト装置に接続しなくとも単独で印刷実行可能なスタンドアロンタイプのプリンタであってもよい。プリンタ１には、例えば、記憶メディア（例えば、コンパクトフラッシュ（登録商標）やＳＤカード）２０が挿される記憶メディアスロット１５や、記憶メディアスロット１５に挿された記憶メディア２０から画像ファイルを読み出すコントローラ６０や、コントローラ６０によって読み出された画像ファイル内の画像などの情報が表示される表示部４０が備えられる。なお、記憶メディア２０としては、どのような種類のメディアでも採用可能である。例えば、内蔵されていても外付けされても良いし、可搬型であっても非可搬型であっても良いし、接触式であっても非接触式であっても良い。より具体的には、例えば、記憶メディア２０は、ハードディスクドライブ、ＣＤドライブ、ＤＶＤ（Digital Versatile Disk）ドライブ、ＵＳＢメモリ、記憶装置及び表示部を備え該記憶装置内の画像ファイル（静止画と動画のどちらであっても良い）内の画像を表示部に表示する再生装置（例えば、iPOD（登録商標）、フォトビューワ（登録商標））のいずれであってもよい。ここで、記憶メディア２０には、例えば、サムネイル画像ファイル、本画像ファイルの２種類の画像ファイルが対応付けられて格納されていてもよい。なお、本画像ファイルとは、デジタルカメラで被写体が撮像されることにより得られる高解像度の画像ファイルのことである。サムネイル画像ファイルとは、本画像ファイルを間引くことにより得られる低解像度の画像ファイルのことである。
【００３５】
コントローラ６０には、例えば、ＣＰＵ５０と、メモリ５２と、Ｉ／Ｏインタフェース部８０とが備えられる。メモリ５２には、プリンタ１のファームウェア７０や、アプリケーションプログラム（以下、アプリケーション）５４等の種々のコンピュータプログラムが記憶されている。ＣＰＵ５０は、メモリ５２からファームウェア７０やアプリケーション５４等のコンピュータプログラムを読み込んで実行することができる。
【００３６】
Ｉ／Ｏインタフェース部８０は、記憶メディア２０や表示部４０に対するＣＰＵ５０のインタフェースとして機能する。また、Ｉ／Ｏインタフェース部８０は、記憶メディアスロット１５に記憶メディア２０が挿されたか否かを監視することができる。例えば、Ｉ／Ｏインタフェース部８０は、例えば、信号電圧の変化、或いは、機械式スイッチのオン／オフにより、記憶メディア２０の挿抜を検出することができる。Ｉ／Ｏインタフェース部８０は、記憶メディア２０が挿されたことを検出した場合、ファームウェア７０にそのことを通知することができる。
【００３７】
ファームウェア７０は、任意のタイミング（例えば、記憶メディア２０が挿されたことの通知を受けたときに）、記憶メディア２０にアクセスし、記憶メディア２０に格納されているディレクトリエントリやＦＡＴテーブルを用いて、画像ファイルリストを生成したり、記憶メディア２０からデータを読み出したりすることができる。具体的には、例えば、ファームウェア７０は、記憶メディア２０に記録されているディレクトリテーブル及びＦＡＴテーブルのうちの少なくともディレクトリテーブルを参照することにより、画像データの属性（ファイル名、ファイルパス、データサイズ等）を把握し、把握した属性に基づいて、図示しない画像ファイルリスト生成部により、画像データを管理するための画像ファイルリストＴ１を生成し、その画像ファイルリストＴ１をメモリ５２に記憶させることができる。図５に、画像ファイルリストＴ１の構成例を示す。画像ファイルリストＴ１は、記憶メディア２０に格納されている画像ファイルをプリンタ１が管理するための画像管理情報である。画像ファイルリストＴ１は、識別コード（ＩＤ）と、各識別コードに対応付けられた画像ファイル情報とから構成される。記憶メディア２０に格納されている各画像ファイル毎に、その記憶メディア２０内で一意に定まる識別コードが対応付けられる。各画像ファイル情報は、各画像ファイルにそれぞれ対応する。各画像ファイル情報は、それぞれ画像情報構造体Ｔ１１から構成される。画像情報構造体Ｔ１１は、画像ファイルの各種属性情報を配列した小テーブルである。画像情報構造体Ｔ１１は、例えば、画像ファイルのファイル名と、記憶メディア２０内の画像ファイルにアクセスするためのフルパスファイル名と、記録の日付及び時刻と、ファイルアトリビュートと、その他付属情報とから構成される。従って、識別コードを検索キーとして画像ファイルリストＴ１を検索すれば、その識別コードに対応する画像情報構造体Ｔ１１を呼び出すことができ、この画像情報構造体Ｔ１１を参照することにより、所望の画像ファイルのファイル名や格納場所等を把握することができる。なお、前述した画像ファイルリストＴ１及び画像情報構造体Ｔ１１は、一例であり、他の構成が採用されても良い。また、画像ファイルリストＴ１が生成されるタイミングは、どのようなタイミングであっても良い（すなわち、記憶メディア２０が挿されたことが検出されたタイミングに代えて又は加えて、他のタイミングであっても良い）。
【００３８】
ファームウェア７０は、例えば、時間計測部７１、総クラスタ数算出部７２、ＦＡＴ方式チェック部７３、クラスタ番号チェック部７４、クラスタ番号履歴チェック部７５、及び読込クラスタ数比較部７６といったプログラムモジュール（換言すれば機能）を有する。
【００３９】
時間計測部７１は、ファームウェア７０によって記憶メディア２０へのアクセスのための所定の処理が開始されてからの時間を計測し、計測された時間が所定の閾値を超えた場合、タイムアップとすることができる。
【００４０】
総クラスタ数算出部７２は、記憶メディア２０のシステム領域に書き込まれている情報から、記憶メディア２０の総クラスタ数を算出する。総クラスタ数とは、データが記憶されているクラスタの総数である。本実施形態の説明において、「データ」とは、クラスタに格納されものであり、故に、ディレクトリエントリに記録される先頭クラスタ番号の値や、ＦＡＴテーブルに記録される次のアクセス先クラスタ番号の値に影響するものである（例えば、クラスタに新たにデータが書かれることにより、ＦＡＴテーブルが更新される）。総クラスタ数は、データが格納されている総セクタ数を、一クラスタを構成するセクタ数で除算することにより算出することができる。データが格納されている総セクタ数及び総クラスタ数は、記憶メディア２０のシステム領域（例えばブートセクタ等）に書かれている情報を用いて算出することができる。
【００４１】
ＦＡＴ方式チェック部７３は、記憶メディア２０で利用されているＦＡＴ方式、具体的には、ＦＡＴ１２、ＦＡＴ１６或いはＦＡＴ３２のいずれが利用されているかをチェックする。ＦＡＴ方式チェック部７３は、例えば、ＦＡＴテーブルに記録されているクラスタ番号が何ビットで表されているのかをチェックすることにより、記憶メディア２０でのＦＡＴ方式をチェックすることができる。具体的には、例えば、クラスタ番号が１６ビットで表されている場合は、ＦＡＴ方式はＦＡＴ１６となり、クラスタ番号が３２ビットで表されている場合は、ＦＡＴ方式はＦＡＴ３２となる。
【００４２】
クラスタ番号チェック部７４は、総クラスタ数算出部７２で算出された総クラスタ数や、ＦＡＴ方式チェック部７３でチェックされたＦＡＴ方式に基づいて、ディレクトリエントリやＦＡＴテーブルに記録されているクラスタ番号の正当性をチェックする。クラスタ番号チェック部７４は、例えば、算出された総クラスタ数を超えた数のクラスタの位置を示すクラスタ番号になっていた場合、そのクラスタ番号は不正であると判断する。また、クラスタ番号チェック部７４は、例えば、
【００４３】
ＦＡＴ３２の場合…FFFFFF8〜FFFFFFFE
【００４４】
ＦＡＴ１６の場合…FFF8〜FFFE
【００４５】
ＦＡＴ１２の場合…FF8〜FFE
のようなクラスタ番号であった時には、ＦＡＴ方式に従う規格上存在し得ないクラスタ番号であるため、クラスタ番号が不正であると判断する。クラスタ番号が不正であると判断された場合には、記憶メディア２０へのアクセスが中止される。
【００４６】
クラスタ番号履歴チェック部７５は、データの読み出しのためにアクセスされたクラスタのクラスタ番号を特定の記憶領域（例えば、メモリ５２、又はＣＰＵ５０内のレジスタ）に記憶させることで、クラスタ番号のアクセス履歴を残し、かつ、アクセス先のクラスタ番号が決定した場合、アクセス履歴内にそれと同一のクラスタ番号が記憶されているか否かをチェックする。同一のクラスタ番号が記憶されていた場合には、アクセスが中止される。読み出しのいわゆる無限ループを防ぐためである。
【００４７】
読込みクラスタ数比較部７６は、ディレクトリエントリに記録されているファイルサイズから、そのファイルサイズに対応した画像ファイルのデータ（つまり画像ファイルの実体）を記憶したクラスタの総数（以下、ファイルクラスタ数）を算出したり、画像ファイルの実体のあるクラスタにアクセスされる都度に、アクセス先となったクラスタの数をカウントしたり、そのカウント値と、算出されたファイルクラスタ数とを比較したりすることができる。比較の結果、例えば、画像ファイルの読出しが終了する前にカウント値がファイルクラスタ数と一致した場合、或いは、カウント値がファイルクラスタ数に達する前に画像ファイルの読出しが終了してしまった場合には、エラーと判断することができる。
【００４８】
次に、図２と図３を参照して、画像ファイル「EPSN0001.JPG」を記憶メディア２０からサーチする際にファームウェア７０が行う処理を説明する。なお、以下の説明では、ＦＡＴ方式が「ＦＡＴ３２」であるとする。また、以下の説明では、図２の上縁付近に記載したファイル構成、すなわち、ルートディレクトリの直下に、ディレクトリ「EPSNDIR1」、ディレクトリ「EPSNDIR2」、…、ディレクトリ「EPSNDIR8」があり、ディレクトリ「EPSNDIR8」の中に、画像ファイル「EPSN0001.JPG」が存在することを、上位のプログラムであるアプリケーション５４が事前に把握しているものとする。さらに、記憶メディア２０の総クラスタ数の算出やＦＡＴ方式のチェックは、事前に行われているものとする。
【００４９】
ファームウェア７０は、アプリケーション５４からファイルサーチ要求を受ける（Ｓ１）。このファイルサーチ要求では、画像ファイル「EPSN0001.JPG」のパス（例えば、\\EPSNDIR8\EPSN0001.JPG）が指定されている。
【００５０】
ステップＳ１のファイルサーチ要求に応答して、ファームウェア７０は、記憶メディア２０のシステム領域で指定されているクラスタ番号（例えば0002）のクラスタからデータを読み出す（Ｓ２）。ここで読み出されたデータには、ルートディレクトリのディレクトリエントリの一又は複数の行に記録されている情報が含まれている。各行には、ファイル名（ディレクトリ名）、先頭クラスタ番号及びファイルサイズ等が記録されている。なお、ここでの説明は、ＦＡＴ３２を例に採っているが、ＦＡＴ１２やＦＡＴ１６では、ルートディレクトリのディレクトリエントリは、クラスタからではなくシステム領域から読み出される。
【００５１】
ファームウェア７０は、クラスタ番号チェック部７４により、事前に算出されている総クラスタ数（この段階で算出しても良い）と、事前に識別されているＦＡＴ方式（この段階で識別されても良い）とに基づいて、ステップＳ２で読み出されたデータに記録されている先頭クラスタ番号（図２の例では0050、0070等）の正当性をチェックする（Ｓ３）。ファームウェア７０は、その先頭クラスタ番号が、総クラスタ数及びＦＡＴ方式の少なくとも一方から、在り得ないクラスタ番号である場合には（つまり、不正なクラスタ番号である場合には）、エラーと判断し、サーチ動作を終了する（つまり、記憶メディア２０へのアクセスを中止する）。これにより、不正な先頭クラスタ番号を用いて記憶メディアからデータが読み出されてしまうことを防ぐことができる。
【００５２】
Ｓ３のチェックの結果、エラーと判断されなければ、ファームウェア７０は、ステップＳ２で読み込んだデータに、「EPSNDIR8」というファイル名があるかどうかを解析する（Ｓ３）。
【００５３】
ステップＳ３において「EPSNDIR8」というファイル名が存在しないと判断した場合、ファームウェア７０は、ＦＡＴテーブル１００から、ステップＳ２でアクセスしたクラスタ番号の次のクラスタ番号を取得する（Ｓ５）。ここでは、（0002）の次のクラスタ番号として（0003）を取得する。
【００５４】
次に、ファームウェア７０は、クラスタ番号チェック部７４により、事前にわかっている総クラスタ数やＦＡＴ方式に基づいて、ステップＳ５で取得したクラスタ番号（0003）の正当性をチェックする（Ｓ６）。ファームウェア７０は、そのクラスタ番号が、不正なクラスタ番号を指し示している場合は、エラーと判断し、サーチ動作を終了する。これにより、不正な先頭クラスタ番号を用いて記憶メディアからデータが読み出されてしまうことを防ぐことができる。
【００５５】
ステップＳ６で、正当なクラスタ番号であると判断された場合は、ファームウェア７０は、クラスタ番号履歴チェック部７５により、ステップＳ５で取得したクラスタ番号（つまり、一度アクセスしたクラスタ番号）がアクセス履歴内に存在するか否かを判断する（Ｓ７）。ファームウェア７０は、そのクラスタ番号がアクセス履歴に存在する場合には、ステップＳ５で取得されたクラスタ番号は不正であるため、エラーと判断し、サーチ動作を終了する。これにより、読出しのいわゆる無限ループが生じてしまうのを防ぐことができる。なお、エラーと判断されなければ、ステップＳ５で取得したクラスタ番号をアクセス履歴に追加する。
【００５６】
ステップＳ６及びステップＳ７のチェックで、ステップＳ５で取得されたクラスタ番号に不正がなければ、ファームウェア７０は、ステップＳ５で取得したクラスタ番号のクラスタからデータを読み出す（Ｓ８）。ファームウェア７０は、ディレクトリ名「EPSNDIR8」を見つけるまで、ステップＳ３〜ステップＳ８の動作を繰り返し実行する。
【００５７】
ファームウェア７０は、読み込んだデータの解析により、ディレクトリ名「EPSNDIR8」を検出したならば（Ｓ９）、そのデータにおける先頭クラスタ番号（0030）のクラスタからデータを読み出す（Ｓ１０）。ここで読み出されたデータは、ディレクトリ「EPSNDIR8」のディレクトリエントリの行に記録されている情報を含んでいる。
【００５８】
ファームウェア７０は、ステップＳ１０で取得したデータを解析し、ファイル名「EPSN0001.JPG」を発見する（Ｓ１１）。これにより、一連のサーチ動作が終了する。
【００５９】
なお、格別図示していないが、ステップＳ１１において、クラスタ番号チェック部７４により、ステップＳ１０で取得したデータにおける先頭クラスタ番号の正当性をチェックし、その先頭クラスタ番号が不正であった場合には、画像ファイル「EPSN0001.JPG」を発見しても（あるいは、ファイル名を発見するためのデータの解析を行うことなく）、サーチ動作を終了することができる。
【００６０】
また、ファームウェア７０は、時間計測部７１により、ファイルサーチ要求を受けた時からの経過時間の計測を開始し、以降、計測された経過時間が所定の閾値を超えたか否かのチェック（つまりタイムアウトチェック）を行う（Ｓ１２）。画像ファイル「EPSN0001.JPG」を発見する前にタイムアップしてしまった場合には、ステップＳ４、ステップＳ６、及びステップＳ７での各種チェックの結果に係わらず、ファームウェア７０は、サーチ動作を終了する。なお、その閾値は、記憶メディア２０の記憶容量やプリンタ１の処理能力（例えば、プリンタ１に搭載のＣＰＵ５０の処理能力）の少なくとも一方に基づいて設定された値である。これにより、ファイルサーチの際に必要以上に長い時間がかかってしまった場合には、記憶メディア２０へのアクセスを中止することができる。
【００６１】
次に、図２と図４を参照して、画像ファイル「EPSN0001.JPG」を読み込む際にファームウェア７０によって行われる処理の流れを説明する。なお、本説明は、図３で示した、ファイルサーチ時の動作のステップＳ１１以降の説明とする。
【００６２】
ファームウェア７０は、アプリケーション５４から、画像ファイル「EPSN0001.JPG」のファイルリード要求を受ける（Ｓ２０）。なお、このとき、ファームウェア７０は、図４のステップＳ１０で取得したデータに記録されている、ファイル名「EPSN0001.JPG」に対応したファイルサイズに基づいて、画像ファイル「EPSN0001.JPG」のファイルクラスタ数を、読込みクラスタ数比較部７６により算出しておく。
【００６３】
ステップＳ２０で受けたファイルリード要求に応答して、ファームウェア７０は、クラスタ番号チェック部７４により、事前にわかっている総クラスタ数とＦＡＴ方式に基づいて、ステップＳ１０で取得したデータに書かれている先頭クラスタ番号の正当性をチェックする（Ｓ２１）。ファームウェア７０は、先頭クラスタ番号が、総クラスタ数及びＦＡＴバージョンの少なくとも一方から、あり得ないクラスタ番号である場合には、エラーと判断し、読み込み動作を終了する。なお、このＳ２１の処理は、図３の段階で行われていれば、行なわれなくても良い。
【００６４】
ステップＳ２１でエラーと判断されなかった場合、ファームウェア７０は、ステップＳ１０で取得したデータに書かれている先頭クラスタ番号のクラスタから、画像ファイル「EPSN0001.JPG」を構成するデータ（断片データ）を読み込む（Ｓ２２）。その際、読込みクラスタ数比較部７６により、アクセスしたクラスタの数を示すカウント値を更新する。
【００６５】
次に、ファームウェア７０は、ＦＡＴテーブル１００から、ステップＳ２２でアクセスしたクラスタ番号の次のクラスタ番号を取得する（Ｓ２３）。ここでは、（0080）の次のクラスタ番号として（0081）を取得する。
【００６６】
次に、ファームウェア７０は、クラスタ番号チェック部７４により、事前にわかっている総クラスタ数とＦＡＴ方式に基づいて、ステップＳ２３で取得したクラスタ番号（0081）の正当性をチェックする（Ｓ２４）。ファームウェア７０は、そのクラスタ番号が、不正なクラスタ番号を指し示している場合は、エラーと判断し、読み込み動作を終了する。
【００６７】
ステップＳ２４で、エラーと判断されなかった場合は、ファームウェア７０は、クラスタ番号履歴チェック部７５により、ステップＳ２３で取得したクラスタ番号（つまり、一度アクセスしたクラスタ番号）と同一のクラスタ番号がアクセス履歴に存在するか否かを判断する（Ｓ２５）。ファームウェア７０は、同一のクラスタ番号がアクセス履歴に存在する場合には、ステップＳ２３で取得されたクラスタ番号は不正であるため、エラーと判断し、読み込み動作を終了する。そうでない場合には、そのクラスタ番号をアクセス履歴に追加する。
【００６８】
ステップＳ２５で、同一のクラスタ番号がアクセス履歴に存在しないと判断された場合は、ファームウェア７０は、読込クラスタ数比較部７６により、事前に算出してある画像ファイル「EPSN0001.JPG」のファイルクラスタ数と、上記カウント値（すなわち、画像ファイルを読むためのアクセス先となったクラスタの数）とを比較する（Ｓ２６）。ファームウェア７０は、画像ファイル「EPSN0001.JPG」の読出しが終了していないにも関わらず、上記カウント値がファイルクラスタ数に達している場合には、エラーと判断し、読み込み動作を終了する。これにより、不正なファイルサイズが書かれているディレクトリエントリを用いて今後データの読み出しが行われてしまうことを防ぐことができる。
【００６９】
次に、ステップＳ２４、Ｓ２５及びＳ２６のチェックの結果、エラーと判断されなければ、ファームウェア７０は、ステップＳ２３でＦＡＴテーブル１００から取得した、次のクラスタ番号（0081）が指すクラスタから、画像ファイル「EPSN0001.JPG」のデータを読み出す（Ｓ２７）。
【００７０】
ファームウェア７０は、画像ファイル「EPSN0001.JPG」のデータを全て取得するまで（つまり、ＦＡＴテーブル１００から、次のクラスタ番号として最終を意味する番号（例えばFFFF）を取得するまで）、ステップＳ２２からステップＳ２７までの動作を繰り返し実行し、上述した各種チェックでエラーと判断されることなく、画像ファイル「EPSN0001.JPG」のデータを全て読出した場合に（Ｓ２８）、一連の読み込み動作が終了する。
【００７１】
また、ファームウェア７０は、時間計測部７１により、ファイルリード要求を受けた時からの経過時間の計測を開始し、以降、タイムアウトチェックを行う（Ｓ２９）。画像ファイル「EPSN0001.JPG」のデータを全て読み出す前にタイムアップになってしまった場合には、ステップＳ２４、Ｓ２５及びＳ２６での各種チェックの結果に係わらず、読出し動作を終了する。なお、このタイムアウトチェックにより使用される閾値は、ファイルサーチの際に使用される閾値と同じ値であっても良いし異なる値であっても良い。
【００７２】
さて、図３及び図４の説明は、前述したように、アプリケーション５４が既にファイル構成を知っていることが前提になっている。ファイル構成を知らしめるための方法としては、本実施形態では、記憶メディア２０が挿されたことが検出された場合に、ファームウェア７０が、記憶メディア２０内の全てのディレクトリエントリを参照しながら（或いは、それに加えて、適宜ＦＡＴテーブルを参照しながら）、前述した画像ファイルリストＴ１を生成していき、完成した画像ファイルリストＴ１を、アプリケーション５４に提供する方法が考えられる。
【００７３】
ここで、ファームウェア７０は、以下の第一と第二の処理を実行することができる。
【００７４】
＜第一の処理＞
【００７５】
ファームウェア７０は、例えば、画像ファイルリストＴ１を作成する前に、総クラスタ数の算出や、ＦＡＴ方式の識別を行っておく。そして、ファームウェア７０は、画像ファイルリストＴ１の生成中に、図３及び図４を参照して説明した少なくとも一つのチェック（すなわち、ディレクトリエントリのクラスタ番号の正当性のチェック、ＦＡＴテーブルのクラスタ番号の正当性のチェック、アクセス履歴のチェック、アクセスカウント値のチェック、及びタイムアウトチェックのうちの少なくとも一つ）を行う。その際、ファームウェア７０は、不正なチェック結果が得られた画像ファイル（例えば、先頭クラスタ番号が不正な画像ファイル、ＦＡＴテーブル上でのクラスタ番号が不正な画像ファイル、或いは同じクラスタにアクセスしてしまうことになる画像ファイル）の画像ファイル情報を、画像ファイルリストＴ１にリストアップせず、正当なチェック結果が得られた画像ファイルの画像ファイル情報のみ、画像ファイルリストＴ１にリストアップする。プリンタ１は、画像ファイルリストＴ１に基づいて印刷を行うよう構成されている。従って、プリンタ１は、画像ファイルリストＴ１にリストアップされた画像ファイル情報が表す画像のみ印刷し（例えば、そのような画像のみ選択可能に表示部４０に表示し）、画像ファイルリストＴ１にリストアップされなかった、チェック結果が不正であった画像ファイルの画像ファイル情報が表す画像については、印刷を行わない（例えば、不正な画像の選択をユーザから受付けない、或いは、そのような画像が選択されても、印刷を行わない）。これにより、読出しを正常に行えない可能性の高い不正な画像、換言すれば、印刷に失敗する可能性の高い不正な画像の印刷を行わないようにすることができ、以って、着色剤（例えばインク或いはトナー）や印刷メディア（例えば紙）を無駄に消費してしまうことを防ぐことができる。
【００７６】
＜第二の処理＞
【００７７】
ファームウェア７０は、第一の処理と違って、画像ファイルリストＴ１の生成中では、図３及び図４を参照して説明したどのチェックも行わず、故に、全ての画像ファイルの画像ファイル情報を画像ファイルリストＴ１にリストアップする。プリンタ１は、例えば、画像ファイルリストＴ１にリストアップされた画像ファイル情報を選択可能に受け付けることにより、ユーザからの印刷指示を待つことができる。その後、印刷指示を受けて、印刷指示された画像の画像ファイルを構成する各データを記憶メディア２０から読み出す前に、ファームウェア７０は、図４を参照して説明した処理を実行する（すなわち、ディレクトリエントリのクラスタ番号の正当性のチェック、ＦＡＴテーブルのクラスタ番号の正当性のチェック、アクセス履歴のチェック、アクセスカウント値のチェック、及びタイムアウトチェックのうちの少なくとも一つを行う）。その結果、ファームウェア７０は、不正なチェック結果が得られた場合には、印刷指示された画像ファイルの読出しを中止する。これにより、不正な画像ファイルを読み出して印刷してしまうことを防ぐことができ、以って、着色剤（例えばインク或いはトナー）や印刷メディア（例えば紙）を無駄に消費してしまうことを防ぐことができる。
【００７８】
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態に係るプリンタの構成を示す機能ブロック図である。
【図２】ディレクトリエントリ及びＦＡＴテーブルの構成例を示す。
【図３】ファイルをサーチする際に行われる処理のフローチャートである。
【図４】ファイルを読み込む際に行われる処理のフローチャートである。
【図５】画像ファイルリストの構成例を示す。
【符号の説明】
【００８０】
１…プリンタ、１５…記憶メディアスロット、２０…記憶メディア、４０…表示部、５０…ＣＰＵ、５２…メモリ、５４…アプリケーションプログラム、６０…コントローラ、７０…ファームウェア、７１…時間計測部、７２…総クラスタ数算出部、７３…ＦＡＴバージョンチェック部、７４…クラスタ番号チェック部、７５…クラスタ番号履歴チェック部、７６…読込クラスタ数比較部、８０…Ｉ／Ｏインタフェース部、１００…ＦＡＴテーブル、Ｔ１…画像ファイルリスト
【図１】
2007245602.tif 000003
【図２】
2007245602.tif 000004
【図３】
2007245602.tif 000005
【図４】
2007245602.tif 000006
【図５】
2007245602.tif 000007