(57)【特許請求の範囲】
【請求項１】
外部装置に記憶されたファイルのパスに関する情報と、前記ファイルに対応するオブジェクトのハンドルとの対応付けを含むオブジェクト情報を外部装置から受信する第１の受信手段と、
出力の対象となるファイルのパスが記述された出力制御ファイルを受信する第２の受信手段と、
前記オブジェクト情報に含まれるファイルのパスに関する情報とハンドルとの対応付けに基づき、前記出力制御ファイルに記述されたパスに対応するハンドルを取得する取得手段と、
前記取得手段により取得されたハンドルを用いて、前記取得手段により取得されたハンドルに対応するファイルを前記外部装置から受信する第３の受信手段を有する情報処理装置。
【請求項２】
前記パスに関する情報は、前記外部装置におけるフォルダ構成に関する情報を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記フォルダ構成に関する情報は、同じ階層にあるオブジェクトのハンドルを含むことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記フォルダ構成に関する情報は、下の階層にあるオブジェクトのハンドルを含むことを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記取得手段は、前記パスに関する情報に含まれるフォルダ構成に関する情報に基づき、前記出力制御ファイルに記載されたパスに対応するハンドルを取得することを特徴とする請求項２乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
外部装置に記憶されたファイルのパスに関する情報と、前記ファイルに対応するオブジェクトのハンドルとの対応付けを含むオブジェクト情報を外部装置から受信する第１の受信工程と、
出力の対象となるファイルのパスが記述された出力制御ファイルを受信する第２の受信工程と、
前記オブジェクト情報に含まれるファイルのパスに関する情報とハンドルとの対応付けに基づき、前記出力制御ファイルに記述されたパスに対応するハンドルを取得する取得工程と、
前記取得工程において取得したハンドルを用いて、前記取得手段において取得したハンドルに対応するファイルを前記外部装置から受信する第３の受信工程を有する情報処理装置の制御方法。
【請求項７】
コンピュータを、請求項１乃至５のいずれか１項に記載の情報処理装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばデジタルカメラとＰＣ（パーソナルコンピュータ）が通信回線により接続されて成るデジタルカメラシステムに適用可能な技術に関するものである。
【背景技術】
【０００２】
デジタルカメラとパーソナルコンピュータ（以下、ＰＣと称す）等の情報処理装置をケーブル等で接続し、デジタルカメラに記録されている画像データ等を転送されることが多くなってきた。
【０００３】
画像データの転送には種々のプロトコルを用いることができる。中でも、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などのデジタルカメラに特化したデータ転送プロトコルである。
【０００４】
ＰＴＰを使用してＰＣとデジタルカメラを接続した場合には、ファイルなどのデータがオブジェクトとして定義され、そのオブジェクトデータの管理はデジタルカメラにより行われる。そして各オブジェクトを特定する値としてオブジェクトハンドルが用いられる。
【０００５】
ここで、ＤＰＯＦ（Ｄｉｇｉｔａｌ  Ｐｒｉｎｔ  Ｏｒｄｅｒ  Ｆｏｒｍａｔ）ファイルの情報に基づいて通信を行う場合を考える。ＤＰＯＦファイルにはファイルのファイルパスが記述されている。しかしながら、ＰＴＰで通信するためにはファイルパスではなくオブジェクトハンドルを用いてオブジェクトを特定する必要がある。そこで、ファイルパスをもとに、対象オブジェクトを取得するため、カメラに一度アクセスしてファイルパスに対応するオブジェクトハンドルを取得し、そのオブジェクトハンドルを用いてオブジェクトを取得する技術が知られている（例えば、特許文献１）。
【特許文献１】特開２００５−４４５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の発明では、ファイルパスからオブジェクトハンドルを求めるためにはカメラに一度アクセスしなければならない。よって、処理すべきファイルのファイルパスが大量にある場合、カメラとの通信が多発し、通信速度などのパフォーマンスが低下する要因になってしまう。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係わる情報処理装置は、外部装置に記憶されたファイルのパスに関する情報と、前記ファイルに対応するオブジェクトのハンドルとの対応付けを含むオブジェクト情報を外部装置から受信する第１の受信手段と、出力の対象となるファイルのパスが記述された出力制御ファイルを受信する第２の受信手段と、前記オブジェクト情報に含まれるファイルのパスに関する情報とハンドルとの対応付けに基づき、前記出力制御ファイルに記述されたパスに対応するハンドルを取得する取得手段と、前記取得手段により取得されたハンドルを用いて、前記取得手段により取得されたハンドルに対応するファイルを前記外部装置から受信する第３の受信手段を有する。
【発明の効果】
【０００９】
本発明によれば、外部装置との通信の回数を減らすことができるため、通信速度の向上を図ることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
＜第１の実施形態＞
＜システム構成＞
図１は、本発明の一実施形態の画像処理装置と情報処理装置とを備えるシステムを示す図である。本実施形態に係るシステムは、画像処理装置の一例であるデジタルカメラ１００と、情報処理装置の一例であるパーソナルコンピュータ（以下「ＰＣ」）１０１から構成される。デジタルカメラ１００とＰＣ１０１は例えばＵＳＢケーブルなどの通信回線１０２を介して通信することが可能である。
【００１２】
以下、デジタルカメラ１００のハードウェア構成について説明する。
【００１３】
まず、被写体からの被写体が光学系２０１を通して結像され、撮像素子２０２で電荷として蓄積される。
【００１４】
撮像素子２０２で蓄積された電荷は、撮像プロセス部２０３でアナログの画像信号に変換される。
【００１５】
撮像プロセス部２０３から出力された信号は、Ａ／Ｄコンバータ２０４によりデジタル信号に変換されて、データバス２０５を介してＲＡＭ２１０に記憶される。
【００１６】
中央処理プロセス部２１３は、画像処理部２０７、圧縮伸張部２０８、表示制御部２０９、記録再生制御部２１１、通信制御部２１２、中央制御部２１５からなる。画像処理部２０７は、画像データ対してホワイトバランス、シャープ、ぼかし、カラーバランス、レベル補正等を制御する。圧縮伸張部２０８は、例えばＪＰＥＧ圧縮形式のデータの伸張等を制御する。表示制御部２０９は、表示部２１７へのＵＩ（ユーザインターフェイス）の描画を制御する。記録再生制御部２１１は、記憶媒体２１８への入出力を制御する。通信制御部２１２は、通信部２１９へのデータの入出力を制御する。中央制御部２１５は、各制御部への信号の入出力などを統括して制御する。
【００１７】
システム制御部２１４は、データバス２０５と接続されており、操作部２１６によるユーザによって行われる操作の制御を行ったり、中央処理プロセス部２１３と通信し、各種入力信号のやりとりなどを制御する。
【００１８】
表示部２１７は、表示制御部２０９の制御に基づき、画像データを表示する。表示部２１７には、例えば液晶ディスプレイが用いられる。
【００１９】
記憶媒体２１８には、ＲＡＭ２１０に一旦記憶された画像が、記録再生制御部２１１を介して記憶される。本実施形態における記憶媒体２１８は、デジタルカメラ１００に電源が投入されていない状態でも記憶を保持することが可能である。記憶媒体２１８は、例えばメモリカードのような脱着可能な記憶媒体でも、装置に組み込まれた記憶媒体でも構わない。
【００２０】
なお、本実施形態において、記憶媒体２１８に記憶される画像データは、ＤＣＦ（Ｄｅｓｉｇｎ  ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  ｓｙｓｔｅｍ）規格に準拠した形式で記憶されている。また、画像データを示すファイルの先頭部分には、画像データの縮小データであるサムネイルデータが含まれているものとする。
【００２１】
通信部２１９は、通信制御部２１２の制御に基づきＰＣ１０１と通信を行うインタフェースであり、無線、有線を問わない。通信部２１９には、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）のインタフェースや、無線ＬＡＮのインタフェースが用いられる。また、通信部２１９はデジタルカメラ１００に脱着可能なものであっても、内部に組み込まれたものでもよい。ＰＣ１０１との通信は、例えばＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などが用いられる。
【００２２】
次に、ＰＣ１０１のハードウェア構成について説明する。
【００２３】
ＰＣ１０１の操作部２２１は、ユーザからの操作指示を受け付けるためのものであり、例えばキーボードやマウスが用いられる。ユーザからの操作指示が入力されると、システム制御部２２５において操作の制御が行われる。
【００２４】
表示部２２２は、各種の情報を表示するためのモニタであり、表示制御部２２８の制御に基づき、ＵＩや画像データを出力する。
【００２５】
ＲＡＭ２２９は、ＰＣ１０１のＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）や、ＰＴＰに対応したアプリケーション（ＯＳ含む）がロードされる揮発性のメモリである。
【００２６】
記憶媒体２２３は、不揮発性の記憶装置であり、記憶制御部２３０の制御に基づき、データの入出力を行う。記憶媒体２２３には、ＯＳやＰＴＰに対応したアプリケーション、ドライバソフトが格納されている。
【００２７】
通信部２２４は、デジタルカメラ１００と通信を行うためのインタフェースであり、無線、有線を問わない。通信部２２４には、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）のインタフェースや、無線ＬＡＮのインタフェースが用いられる。また、通信部２１９はデジタルカメラ１００に脱着可能なものであっても、内部に組み込まれたものでもよい。ＰＣ１０１との通信は、例えばＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などが用いられる。なお、通信プロトコルはＰＴＰに限定されるものではなく、他のオブジェクトベースのプロトコルを用いてもよいが、デジタルカメラ１００とＰＣ１０１は同じプロトコルに対応しているものとする。
【００２８】
中央処理プロセス部２２７、表示制御部２２８、記憶制御部２３０、通信制御部２３１、中央制御部２２６、システム制御部２２５は、デジタルカメラ１００の場合と同様の機能を有するので、ここでは説明を省略する。
【００２９】
＜オブジェクト情報の取得＞
次に、ＰＣ１０１が、デジタルカメラ１００の内部にあるデータの情報をドライバソフトを用いて認識する処理について説明する。以下、デジタルカメラ１００及びＰＣ１０１の各動作は、それぞれの各制御部が入力信号及びプログラムにしたがい、装置の各部を制御することで実現される。
【００３０】
例えば、図２に示すような構成でデジタルカメラ内に画像データが記録されているとする。“ＤＣＩＭ”、“１００ＣＡＮＯＣ”、“ＭＩＳＣ”はフォルダを表しており、拡張子に”ＪＰＧ”がついているものは画像データを表している。
【００３１】
図２において、ルートディレクトリの下の階層に”ＤＣＩＭ”フォルダが記憶されている。”ＤＣＩＭ”フォルダの下の階層に“１００ＣＡＮＯＣ”フォルダ及び”ＭＩＳＣ”フォルダが記憶されている。“１００ＣＡＮＯＣ”フォルダの下の階層には”ＩＭＧ＿０００１．ＪＰＧ”、”ＩＭＧ＿０００２．ＪＰＧ”、”ＩＭＧ＿０００３．ＪＰＧ”が記憶されている。“ＭＩＳＣ”フォルダの下の階層には”ＡＵＴＰＲＩＮＴ．ＭＲＫ”が記憶されている。この”ＡＵＴＰＲＩＮＴ．ＭＲＫ”は、ＤＰＯＦ（Ｄｉｇｉｔａｌ  Ｐｒｉｎｔ  Ｏｒｄｅｒ  Ｆｏｒｍａｔ）形式のファイルであり、画像データの再生、印刷などの出力を制御するのに用いられる出力制御ファイルの一種である。
【００３２】
図３にＤＰＯＦファイルの内容の一例を示す。図３において、３０１にファイルのファイルパスが記述されている。ＰＣ１０１は、このファイルパスに記憶されている画像ファイルを出力、例えばプリントする対象データとして認識する。ＤＰＯＦファイルには複数の画像ファイルのファイルパスを記述することも可能である。
【００３３】
なお、出力制御ファイルはＤＰＯＦファイルには限られず、例えば特定のファイルを転送したり、スライドショーしたりするために、処理対象となるファイルを特定するファイルパスの情報が記述されていればよい。
【００３４】
図２に示すフォルダ構成でデータが記憶されたデジタルカメラ１００に、ＰＣ１０１が接続された場合を考える。この場合、接続が検出された時点で、ＰＣ１０１はそのデジタルカメラ１００のプロトコルに対応したドライバソフトを記憶媒体２２３から検索し、ＲＡＭ２２９にロードする。
【００３５】
ＰＣ１０１は、ロードされたドライバソフト２０２を用いて、デジタルカメラ１００から各画像ファイル、フォルダの情報を取得する。以下、ここで取得する情報について説明する。
【００３６】
ＰＴＰではオブジェクトという単位でデータの送受信を行う。例えば、図２に示す１つの画像ファイルは１つのオブジェクトとして扱われるし、１つのフォルダも１つのオブジェクトとして扱われる。
【００３７】
デジタルカメラ１００は、図２に示すフォルダ及び画像ファイル、ＤＰＯＦファイルをオブジェクトとして定義し、各画像ファイル、フォルダを特定するためのオブジェクト情報をＰＣ１０１に送信する。ＰＣ１０１は、デジタルカメラ１００から送信されたオブジェクト情報を受信する。
【００３８】
デジタルカメラ１００から送信されるオブジェクト情報の一例を図４に示す。本実施形態におけるデジタルカメラ１００は、複数のオブジェクト情報を１つの構造体としてＰＣ１０１に送信する。デジタルカメラ１００からＰＣ１０１に送信されるオブジェクト情報を図４に示す。
【００３９】
図４の４００がオブジェクト１つ分のデータである。オブジェクトハンドル４０１はこのオブジェクトへのハンドルであり、このオブジェクトハンドルの示す番号がオブジェクトを特定するための識別情報となる。子ハンドル４０２は、ディレクトリ構造における直下の階層に存在するオブジェクト（子オブジェクト）のうち、オブジェクトハンドルが先頭のオブジェクトへのハンドルである。Ｎｅｘｔハンドル４０３は、同じ階層にあるオブジェクトのうち、次の番号のオブジェクトハンドルである。ファイル名４０４は、オブジェクトのファイル名を示す。オブジェクトがフォルダの場合はフォルダ名を示す。子ハンドル４０２、Ｎｅｘｔハンドル４０３は、ファイルパスを求め、ディレクトリ構造を認識するのに用いられる情報である。また図には示していないが、親オブジェクトへのハンドルや、同じ階層の前のハンドルなどをキャッシュとしてもつことでも、オブジェクトの階層構造を示すことが可能である。続いて、ＰＣ１０１はデジタルカメラ１００はオブジェクトの他の属性情報を受信し、オブジェクトハンドルと対応付けて記憶する。属性情報には、例えば画像データのサムネイルや、オブジェクトのフォーマットコードなどが含まれる。フォーマットコードは、オブジェクトの種類を示す情報である。例えば、オブジェクトが「ｊｐｇ」の拡張子を有する画像ファイルであることを示すものや、オブジェクトがＤＰＯＦファイルであることを示すものがある。
【００４０】
図４に示すオブジェクト情報をデジタルカメラ１００から受信することにより、ＰＣ１０１はデジタルカメラ１００に記憶された画像ファイルなどのファイルパスを求め、ディレクトリ構造を認識することができる。ディレクトリ構造の認識については後述する。
【００４１】
ここまで、ＰＣ１０１がデジタルカメラ１００から、デジタルカメラ１００の記憶媒体２１８に記憶されたデータをオブジェクトとして認識する処理について説明した。この時点では、ＰＣ１０１はどのようなオブジェクトがデジタルカメラ１００内に存在するかを把握しているにすぎず、画像ファイルの本体はまだ受信していない。
【００４２】
＜画像データの取得＞
ＰＣ１０１は、上記の処理によって得られたオブジェクトハンドルを指定することにより、ＰＣ１０１は所望の画像ファイルを特定してデジタルカメラ１００に要求し、取得することが可能となる。具体的にＰＴＰの場合であれば、ＰＣ１０１は、引数をオブジェクトハンドルとしたＧｅｔＯｂｊｅｃｔコマンドをデジタルカメラ１００に送信する。ＧｅｔＯｂｊｅｃｔコマンドを受信したデジタルカメラ１００は、引数であるオブジェクトハンドルに対応する画像ファイルを記憶媒体２１８から読み出し、ＰＣ１０１に送信する。ＰＣ１０１は、デジタルカメラ１００から送信された画像ファイルを受信する。
【００４３】
以上のようにして、ＰＣ１０１は所望の画像ファイルを特定してデジタルカメラ１００に要求し、取得することが可能となる。
【００４４】
＜ＤＰＯＦファイルを用いた画像データの取得＞
上記に述べたように、ＰＣ１０１は、所望の画像ファイルを特定してデジタルカメラ１００に要求し、取得することができる。さらにＰＣ１０１は、記憶媒体２１８に記憶されたＤＰＯＦファイルをデジタルカメラ１００から受信し、そのＤＰＯＦファイルに出力対象として記述されている画像ファイルをデジタルカメラ１００に要求することも可能である。つまり、ＤＰＯＦファイルに記述されている画像データのみを選択的にデジタルカメラ１００から受信することが可能である。
【００４５】
以下、ＤＰＯＦファイルを用いた画像ファイルの取得処理について説明する。
【００４６】
まず、ＤＰＯＦファイルを用いて画像ファイルを取得する従来の処理について説明する。図７は、ＤＰＯＦファイルを用いて画像ファイルを取得する従来の処理における、デジタルカメラ１００とＰＣ１０１との通信を示すシーケンス図である。
【００４７】
なお、デジタルカメラ１００には、図２で示すディレクトリ構造で画像データが記憶されているものとし、ＤＰＯＦファイルの内容は図３に示す通りとする。本シーケンスは、ユーザにより、ＤＰＯＦファイルで指定された画像データに対し処理を行うよう操作部２２１を用いて指示されることに応じて開始される。具体的には、ＰＣ１０１は表示部２２２に「ＤＰＯＦファイルで指定されたカメラ内の画像データをプリントする」といった操作ＵＩを表示することが可能である。このような操作ＵＩがユーザ操作により指定されることにより、本シーケンスは開始される。
【００４８】
ステップＳ７０１において、ＰＣ１０１は、デジタルカメラ１００に対して記憶媒体２１８に記憶されているＤＰＯＦファイルの取得要求を送信する。具体的には、ＰＣ１０１はフォーマットコードがＤＰＯＦファイルであるオブジェクトのオブジェクトハンドルを求める。図４の例ではＤＰＯＦファイルのオブジェクトハンドルは「７」であるから、ＰＣ１０１は「７」を引数とし、デジタルカメラ１００にＧｅｔＯｂｊｅｃｔコマンドを送信する。
【００４９】
ステップＳ７０２において、デジタルカメラ１００はオブジェクトハンドルが「７」であるオブジェクト、つまりＤＰＯＦファイル「ＡＵＴＰＲＩＮＴ．ＭＲＫ」をＰＣ１０１に送信する。このようにして、ＰＣ１０１はデジタルカメラ１００からＤＰＯＦファイルを取得する。
【００５０】
ステップＳ７０３において、ＰＣ１０１は受信したＤＰＯＦファイルを解析し、ＤＰＯＦファイルで処理対象とされている画像ファイルのファイルパスを抽出する。図３に示すＤＰＯＦファイルであれば、ファイルパス３０１を抽出する。
【００５１】
ステップＳ７０３でファイルパスを抽出したが、ＰＴＰにおける通信ではデータのやりとりをオブジェクトで行う。したがって、要求するデータを特定するためには、オブジェクトを特定するためのオブジェクトハンドルが必要となる。
【００５２】
そこでステップＳ７０４において、ＰＣ１０１はステップＳ７０３で抽出したファイルパスを引数にして、ファイルパスからオブジェクトハンドルを取得するコマンドであるＧｅｔＯｂｊｅｃｔＨａｎｄｌｅＢｙＮａｍｅコマンドをデジタルカメラ１００に送信する。
【００５３】
ステップＳ７０５において、デジタルカメラ１００は、ＧｅｔＯｂｊｅｃｔＨａｎｄｌｅＢｙＮａｍｅコマンドを受信し、コマンドに含まれるファイルパスに対応するオブジェクトハンドルをＰＣ１０１に送信する。図４の例であれば、ファイルパス３０１に対応するオブジェクトハンドルは「５」であるから、デジタルカメラ１００はオブジェクトハンドル「５」をＰＣ１０１に送信する。ＰＣ１０１はオブジェクトハンドル「５」を受信する。
【００５４】
ステップＳ７０６において、ＰＣ１０１はステップＳ７０５で受信したオブジェクトハンドル、つまり「５」を引数とし、ＧｅｔＯｂｊｅｃｔコマンドをデジタルカメラ１００に送信する。
【００５５】
ステップＳ７０７において、デジタルカメラ１０１はＧｅｔＯｂｊｅｃｔコマンドを受信し、受信したコマンドに含まれるオブジェクトハンドルに対応するデータをＰＣ１０１に送信する。図４の例で言えば、オブジェクトハンドルが「５」の画像ファイルである、「ＩＭＧ＿０００２．ＪＰＧ」をＰＣ１０１に送信する。ＰＣ１０１は、送信された画像ファイルを受信する。
【００５６】
その後、ＰＣ１０１は受信した画像ファイルに対し、ユーザから指定された処理を行う。例えばプリントが指示されていたのであれば、ＰＣ１０１は受信した画像ファイルをプリンタ（図示せず）に転送する。
【００５７】
以上が、ＤＰＯＦファイルを用いて画像ファイルを取得する従来の処理である。
【００５８】
次に、本実施形態における、ＤＰＯＦファイルを用いて画像ファイルを取得する処理について説明する。図５は、ＤＰＯＦファイルを用いて画像ファイルを取得する処理における、デジタルカメラ１００とＰＣ１０１との通信を示すシーケンス図である。
【００５９】
なお、デジタルカメラ１００には、図２で示すディレクトリ構造で画像データが記憶されているものとし、ＤＰＯＦファイルの内容は図３に示す通りとする。
【００６０】
まず、ステップＳ５０１において、ＰＣ１０１とデジタルカメラ１００が接続する。
【００６１】
ＰＣ１０１は接続を検知すると、ステップＳ５０２において、図４に示すオブジェクト情報やその他のオブジェクトに関する属性情報の取得要求をデジタルカメラ１００に送信する。
【００６２】
ステップＳ５０３において、デジタルカメラ１００は記憶媒体２１８内のディレクトリ構造に基づき、図４に示すオブジェクト情報や、その他の属性情報を送信する。ＰＣ１０１は、オブジェクト情報やその他の属性情報を受信し、ＲＡＭ２２９にキャッシュする。この処理が、本実施形態における第１の受信処理の一例である。
【００６３】
ユーザにより、ＤＰＯＦファイルで指定された画像データに対し処理を行うよう操作部２２１を用いて指示されると、ステップＳ５０４以下の処理が実行される。ステップＳ５０４〜ステップＳ５０６の処理は図７のステップＳ７０１〜ステップＳ７０３と同様の処理であるため、ここでは説明を省略する。なお、ステップＳ５０５でのＤＰＯＦファイルの受信が、本実施形態における第２の受信処理の一例である。
【００６４】
以下、ステップＳ５０７以下の処理について説明する。ステップＳ５０６において、ＰＣ１０１はＤＰＯＦファイルから処理対象の画像ファイルのファイルパスを抽出している。ステップＳ５０７において、ＰＣ１０１は、ステップＳ５０３で受信したオブジェクト情報を用いて、ファイルパスからオブジェクトハンドルを求める。
【００６５】
以下、ファイルパスからオブジェクトハンドルを求める方法について、図６のフローチャートを用いて説明する。
【００６６】
まず、ステップＳ６０１において、ＰＣ１０１は、図４に示すオブジェクト情報を参照し、ファイルパスの最も上位の階層である「ＤＣＩＭ」の子ハンドルを取得する。図４の例では、子ハンドルは「３」である。
【００６７】
ステップＳ６０２において、ＰＣ１０１は、ステップＳ６０１で取得したオブジェクトハンドルのファイル名が、ファイルパス中で「ＤＣＩＭ」の１つ下の階層である「１００ＸＸＸＸ」か否かを判断する。「１００ＸＸＸＸ」であると判断した場合には処理をステップＳ６０４に進め、そうでないと判断した場合には処理をステップＳ６０３に進める。図４の場合、オブジェクトハンドル「３」のオブジェクトのファイル名は「１００ＸＸＸＸ」であるから、処理をステップＳ６０４に進める。
【００６８】
ステップＳ６０３において、ＰＣ１０１は現在処理の対象としているオブジェクトハンドルのＮｅｘｔハンドルを取得し、新たな処理の対象として処理をステップＳ６０２に戻す。Ｎｅｘｔハンドルの値が「ＮＵＬＬ」であれば処理を終了する。
【００６９】
ステップＳ６０４において、フォルダ「１００ＣＡＮＯＣ」の１つ下の子ハンドルを取得する。図４の場合、子ハンドルは「４」となる。
【００７０】
ステップＳ６０５において、ステップＳ６０４で取得したオブジェクトハンドルのファイル名が、ファイルパス中で「１００ＸＸＸＸ」の１つ下の階層である「ＩＭＧ＿０００２．ＪＰＧ」であるか否かを判断する。「ＩＭＧ＿０００２．ＪＰＧ」であると判断した場合には処理をステップＳ６０７に進め、そうでないと判断した場合には処理をステップＳ６０６に進める。図４の場合、オブジェクトハンドル「４」のオブジェクトのファイル名は「ＩＭＧ＿０００１．ＪＰＧ」であるから、処理をステップＳ６０６に進める。
【００７１】
ステップＳ６０６において、ＰＣ１０１は、現在処理の対象としているオブジェクトハンドルのＮｅｘｔハンドルを取得し、新たな処理の対象として処理をステップＳ６０５に戻す。図４の場合、オブジェクトハンドル「４」のオブジェクトのＮｅｘｔハンドルは「５」であり、オブジェクトハンドル「５」のオブジェクトについて再度ステップＳ６０５の判断を行う。オブジェクトハンドル「５」のオブジェクトのファイル名は「ＩＭＧ＿０００２．ＪＰＧ」であるから、ＰＣ１０１は処理をステップＳ６０７に進める。
【００７２】
これで各ステップで辿っていったオブジェクトと、ファイルパス「／ＤＣＩＭ／１００ＣＡＮＯＮ／ＩＭＧ＿０００２．ＪＰＧ」が一致した。したがってＰＣ１０１は、ステップＳ６０７において、「／ＤＣＩＭ／１００ＣＡＮＯＮ／ＩＭＧ＿０００２．ＪＰＧ」を有するオブジェクトのオブジェクトハンドルとして「５」を取得する。
【００７３】
以上が、ファイルパスからオブジェクトハンドルを求める方法である。以下、図５に説明を戻す。
【００７４】
ステップＳ５０８において、ＰＣ１０１はステップＳ６０７で求めたオブジェクトハンドル「５」を引数としてＧｅｔＯｂｊｅｃｔコマンドをデジタルカメラ１００に送信する。
【００７５】
ＧｅｔＯｂｊｅｃｔコマンドを受信したデジタルカメラ１００は、引数のオブジェクトハンドル「５」に対応する画像ファイルである「ＩＭＧ＿０００２．ＪＰＧ」をデジタルカメラ１００に送信する。ＰＣ１０１は、デジタルカメラ１００から画像ファイルを受信する。この処理が、本実施形態における第３の受信処理の一例である。
【００７６】
その後、ＰＣ１０１は受信した画像ファイルに対し、ユーザから指定された処理を行う。例えばプリントが指示されていたのであれば、ＰＣ１０１は受信した画像ファイルをプリンタ（図示せず）に転送する。
【００７７】
以上が、本実施形態における、ＤＰＯＦファイルを用いて画像ファイルを取得する処理である。なお、ＤＰＯＦファイルに複数の画像ファイルへのファイルパスが記述されていた場合には、各画像ファイルのファイルパスからオブジェクトハンドルを求めることが可能である。
【００７８】
図６に示す処理を行うことは、図７に示す処理と比較して以下の利点がある。すなわち、図６に示す処理では、すでにＰＣ１０１が保持している情報を用いることでファイルパスからオブジェクトハンドルを求めることができる。すなわち、図７におけるステップＳ７０４、ステップＳ７０５のように、デジタルカメラ１００にオブジェクトハンドルを問い合わせるための通信を行う必要がない。このように、本実施形態におけるＰＣ１０１は、外部装置との通信回数を減らすことができ、その結果処理を高速化することが可能となる。
【００７９】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００８０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００８２】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００８３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００８５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００８６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【００８７】
【図１】第１の実施形態における、デジタルカメラとＰＣとを備えるシステムを示す図である。
【図２】第１の実施形態における、デジタルカメラ内部における画像データのフォルダ構成例を示す図である。
【図３】第１の実施形態における、ＤＰＯＦファイルの一例を示す図である。
【図４】第１の実施形態における、オブジェクト情報の一例を示す図である。
【図５】第１の実施の形態における、ＤＰＯＦファイルを用いた画像ファイルの取得処理を示すシーケンス図である。
【図６】第１の実施形態における、パスからハンドルを求める処理を示すフローチャートである。
【図７】従来の、ＤＰＯＦファイルを用いた画像ファイルの取得処理を示すシーケンス図である。
【符号の説明】
【００８８】
１００  デジタルカメラ
１０１  ＰＣ
【図１】
0004974914.tif 000002
【図２】
0004974914.tif 000003
【図３】
0004974914.tif 000004
【図４】
0004974914.tif 000005
【図５】
0004974914.tif 000006
【図６】
0004974914.tif 000007
【図７】
0004974914.tif 000008