(57)【特許請求の範囲】
【請求項１】
転送可能なファイルサイズが所定のファイルサイズ未満に制限されている所定の通信プロトコルに準拠した通信インターフェースを介して情報処理装置と接続される撮像装置であって、
画像ファイルを記憶する記憶手段と、
前記通信インターフェースを介して前記情報処理装置と通信するための通信手段と、
前記通信手段を介して前記情報処理装置から画像ファイルをオブジェクトとして指定した要求を受信した場合、当該指定されたオブジェクトに対応する前記記憶手段に記憶された画像ファイルを検索する検索手段と、
前記検索手段により検索されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であるか否かを判定する判定手段と、
前記判定手段により前記指定されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であると判定された場合、当該画像ファイルを分割して生成された各オブジェクトが前記所定のファイルサイズ未満となるように、当該画像ファイルを複数のオブジェクトに分割する制御手段と、を有し、
前記制御手段は、前記判定手段により前記指定されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であると判定された場合、前記指定されたオブジェクトに対応する画像ファイルの属性情報を用いて当該画像ファイルを前記情報処理装置で再生可能なデータ形式で前記情報処理装置へ送信し、
前記属性情報は、各オブジェクトとファイルとの関連性、各オブジェクトのファイルの開始アドレスおよびファイルサイズ、分割する順序に関する情報を含むことを特徴とする撮像装置。
【請求項２】
前記通信インターフェースは、ＰＴＰ規格に準拠しており、前記制御手段は、分割した各オブジェクトのファイル名、オブジェクトハンドル番号、ＡｎｃｉｌｌａｒｙＯｂｊｅｃｔに関連情報を付与することを特徴とする請求項１に記載の撮像装置。
【請求項３】
転送可能なファイルサイズが所定のファイルサイズ未満に制限されている所定の通信プロトコルに準拠した通信インターフェースを介して撮像装置と接続される情報処理装置であって、
前記通信インターフェースを介して前記撮像装置と通信するための通信手段と、
前記通信手段を介して前記撮像装置へ所定の画像ファイルをオブジェクトとして指定した要求を送信する送信手段と、
前記撮像装置から受信した画像ファイルの属性情報を解析する解析手段と、
前記解析手段による解析の結果を用いて、１つにグループ化可能な複数のオブジェクトを検索し、検索の結果得られた複数のオブジェクトのうち前記属性情報を除いたデータ部分のみをグループ化するグループ化手段と、を有し、
前記属性情報は、各オブジェクトとファイルとの関連性、各オブジェクトのファイルの開始アドレスおよびファイルサイズ、分割する順序に関する情報を含むことを特徴とする情報処理装置。
【請求項４】
前記撮像装置からの前記要求に応じて、前記グループ化された複数のオブジェクトを分割して転送する転送手段を更に有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
画像ファイルを記憶する記憶手段を有し、転送可能なファイルサイズが所定のファイルサイズ未満に制限されている所定の通信プロトコルに準拠した通信インターフェースを介して情報処理装置と接続される撮像装置におけるデータ通信方法であって、
前記通信インターフェースを介して接続された前記情報処理装置から画像ファイルをオブジェクトとして指定した要求を受信した場合、当該指定されたオブジェクトに対応する前記記憶手段に記憶された画像ファイルを検索する検索工程と、
前記検索工程にて検索されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であるか否かを判定する判定工程と、
前記判定工程により前記指定されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であると判定された場合、当該画像ファイルを分割して生成された各オブジェクトが前記所定のファイルサイズ未満となるように、当該画像ファイルを複数のオブジェクトに分割する制御工程と、を有し、
前記制御工程では、前記判定工程により前記指定されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であると判定された場合、前記指定されたオブジェクトに対応する画像ファイルの属性情報を用いて当該画像ファイルを前記情報処理装置で再生可能なデータ形式で前記情報処理装置へ送信し、
前記属性情報は、各オブジェクトとファイルとの関連性、各オブジェクトのファイルの開始アドレスおよびファイルサイズ、分割する順序に関する情報を含むことを特徴とするデータ通信方法。
【請求項６】
転送可能なファイルサイズが所定のファイルサイズ未満に制限されている所定の通信プロトコルに準拠した通信インターフェースを介して撮像装置と接続される情報処理装置におけるデータ通信方法であって、
前記通信インターフェースを介して接続された前記撮像装置へ所定の画像ファイルをオブジェクトとして指定した要求を送信する送信工程と、
前記撮像装置から受信した画像ファイルの属性情報を解析する解析工程と、
前記解析工程による解析の結果を用いて、１つにグループ化可能な複数のオブジェクトを検索し、検索の結果得られた複数のオブジェクトのうち前記属性情報を除いたデータ部分のみをグループ化するグループ化工程と、を有し、
前記属性情報は、各オブジェクトとファイルとの関連性、各オブジェクトのファイルの開始アドレスおよびファイルサイズ、分割する順序に関する情報を含むことを特徴とするデータ通信方法。
【請求項７】
請求項５または６に記載のデータ通信方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置と情報処理装置との間のデータ通信技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラの撮影能力向上、記憶媒体の容量増大、情報処理装置の記憶容量増大に伴い、デジタルカメラにより撮影された画像データ、特に動画の記憶可能なファイルサイズが飛躍的に向上している。ところが、デジタルカメラの通信プロトコルの１つであるＰＴＰ（Ｐｉｃｔｕｒｅ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）は、最大のファイルサイズが４ＧＢまでという制限があるため、標準通信では４ＧＢ以上のファイルを転送することができない。現在多くのユーザに利用されているＷｉｎｄｏｗｓ（登録商標）やＭａｃ ＯＳ（登録商標）、Ｌｉｎｕｘ等に実装されているデバイスドライバは、このＰＴＰに準拠しているため、ファイルサイズの制約から４ＧＢ以上のファイルを取り扱うことができない。ベンダが専用のドライバを開発するか、ＯＳが拡張仕様のドライバを作成すれば解決できる可能性もあるが、容易な回避策とはいえないため現状では有効な解決手段とはなっていない。
【０００３】
上記課題を回避するため、デジタルカメラの仕様を４ＧＢ以上の画像を撮影できない仕様にすることが考えられる。このような仕様のデジタルカメラは、カメラで動画撮影を行っているときに、ファイルサイズが４ＧＢを超えた段階で、１つのファイルを生成し、撮影を継続しながら４ＧＢを超えるたびに順次ファイルを生成していく。このような仕様のカメラでは、動画撮影の途中でファイルを生成するための処理や、動画再生時に個々のファイルをシームレスに再生するための設計等、複数のファイルの取り扱いが困難となる。ここで、特許文献１には、個々のオブジェクトについて、論理フォルダ階層における少なくとも親オブジェクトを特定する情報を含むオブジェクト情報を生成し、ＰＴＰオブジェクトを管理する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−０８７０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、１つのファイルを１つのオブジェクトとして割り当てているにすぎないので、例えば４ＧＢ以上のファイルにオブジェクトを割り当てることはできない。
【０００６】
本発明は、上記課題に鑑みてなされ、通信プロトコルで制限されたファイルサイズを超えるサイズのファイルであっても、オブジェクトとしてデータ転送することができる技術を実現する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の撮像装置は、転送可能なファイルサイズが所定のファイルサイズ未満に制限されている所定の通信プロトコルに準拠した通信インターフェースを介して情報処理装置と接続される撮像装置であって、画像ファイルを記憶する記憶手段と、前記通信インターフェースを介して前記情報処理装置と通信するための通信手段と、前記通信手段を介して前記情報処理装置から画像ファイルをオブジェクトとして指定した要求を受信した場合、当該指定されたオブジェクトに対応する前記記憶手段に記憶された画像ファイルを検索する検索手段と、前記検索手段により検索されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であるか否かを判定する判定手段と、前記判定手段により前記指定されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であると判定された場合、当該画像ファイルを分割して生成された各オブジェクトが前記所定のファイルサイズ未満となるように、当該画像ファイルを複数のオブジェクトに分割する制御手段と、を有し、前記制御手段は、前記判定手段により前記指定されたオブジェクトに対応する画像ファイルが前記所定のファイルサイズ以上であると判定された場合、前記指定されたオブジェクトに対応する画像ファイルの属性情報を用いて当該画像ファイルを前記情報処理装置で再生可能なデータ形式で前記情報処理装置へ送信し、前記属性情報は、各オブジェクトとファイルとの関連性、各オブジェクトのファイルの開始アドレスおよびファイルサイズ、分割する順序に関する情報を含む。
【０００８】
また、本発明の情報処理装置は、転送可能なファイルサイズが所定のファイルサイズ未満に制限されている所定の通信プロトコルに準拠した通信インターフェースを介して撮像装置と接続される情報処理装置であって、前記通信インターフェースを介して前記撮像装置と通信するための通信手段と、前記通信手段を介して前記撮像装置へ所定の画像ファイルをオブジェクトとして指定した要求を送信する送信手段と、前記撮像装置から受信した画像ファイルの属性情報を解析する解析手段と、前記解析手段による解析の結果を用いて、１つにグループ化可能な複数のオブジェクトを検索し、検索の結果得られた複数のオブジェクトのうち前記属性情報を除いたデータ部分のみをグループ化するグループ化手段と、を有し、前記属性情報は、各オブジェクトとファイルとの関連性、各オブジェクトのファイルの開始アドレスおよびファイルサイズ、分割する順序に関する情報を含む。
【発明の効果】
【０００９】
本発明によれば、通信プロトコルで制限されたファイルサイズを超えるサイズのファイルであっても、オブジェクトとしてデータ転送することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態のデータ通信システムのシステム構成と、システムを構成するデジタルカメラとＰＣのモジュール構成図である。
【図２】図１のデジタルカメラとＰＣの機能ブロック図である。
【図３】ＰＴＰオブジェクトハンドルの割り当て構成を例示する図である。
【図４】ＰＴＰオブジェクトハンドルの割り当て処理を示すフローチャートである。
【図５】ファイル検索処理を示すフローチャートである。
【図６】複数のＰＴＰオブジェクトのグループ化処理を示すフローチャートである。
【図７】図６の例外処理を説明する図である。
【図８】ベンダ拡張通信により一度にデータ取得するシーケンスを例示する図である。
【図９】複数のＰＴＰオブジェクトを１つにグループ化するシーケンスを例示する図である。
【図１０】ＰＣからカメラへファイルを追記するシーケンスを例示する図である。
【発明を実施するための形態】
【００１１】
以下に、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１２】
［システム構成］図１は、本発明に係る実施形態のデータ通信システムの構成図である。本実施形態では、撮像装置としてのデジタルカメラ１００と情報処理装置としてのコンピュータ（以下、ＰＣ）１０１とが通信インターフェース１０２を介して通信可能に接続され、ＰＴＰ規格に準拠した通信を行う。デジタルカメラ（以下、カメラ）１００は、通信インターフェース１０２を介してＰＣ１０１が接続されたことを検知すると、再生モードから通信モードに移行する。ＰＣ１０１には、ＰＴＰ規格に準拠してカメラ１００に対して、画像ファイルをオブジェクトとして定義した属性情報やオブジェクトを構成するデータを転送要求する後述するアプリケーションソフトウエア（以下、アプリケーション）がインストールされている。また、ＰＣ１０１のアプリケーションは、ＰＣ１０１からカメラ１００へのデータ転送が可能である。なお、ＰＴＰ規格の参考文献としては、ＰＩＭＡ １５７４０：２０００， ＰＨＯＴＯＧＲＡＰＩＨＩＣ ＡＮＤ ＩＭＡＧＩＮＧ ＭＡＮＵＦＡＣＴＵＲＥＲＳ ＡＳＳＯＣＩＡＴＩＯＮ， ＩＮＣ．が挙げられる。オブジェクト単位の通信プロトコルとしては、ＭＴＰ（Ｍｅｄｉａ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）もＰＴＰの拡張仕様であるため適用可能である。
【００１３】
図２は、図１のカメラ１００とＰＣ１０１の詳細な構成を示すブロック図である。図２において、被写体からの光束が光学系２０１を通して撮像素子２０２へ電荷として保持される。撮像素子２０２で蓄積された電荷が撮像プロセス部２０３で画像信号として変換される。撮像プロセス部２０３から出力された信号は、Ａ／Ｄコンバータ２０４によりデジタル信号に変換されて、データバス２０５を介してＲＡＭ２１０に保存される。中央処理プロセス部２１３は、画像処理部２０７、圧縮伸張部２０８、表示制御部２０９、記録再生制御部２１１、通信制御部２１２、中央制御部２１５から構成されている。画像処理部２０７はホワイトバランス、シャープ、ぼかし、カラーバランス、レベル補正等の処理を行う。圧縮伸張部２０８は、画像処理部２０７で処理されたデジタル画像をＪＰＥＧ、ＪＰＥＧ２０００等の画像圧縮方法に従って圧縮する機能と、圧縮されたデジタル画像を伸張する機能とを有する。圧縮率は、ユーザによる設定が可能である。表示制御部２０９は表示器２１７へのＵＩ（ユーザインターフェース）の描画処理を行う。記録再生制御部２１１は記憶媒体２１８へのＩ／Ｏ制御を行う。通信制御部２１２は通信器２１９へのデータのＩ／Ｏ制御を行う。中央制御部２１５は上記各制御部を統括する。
【００１４】
システム制御部２１４は、データバス２０５に接続されており、ＲＯＭ２００に記憶された制御プログラムに従ってカメラ１００を制御するマイクロコンピュータを有する。また、システム制御部２１４は、圧縮伸張部２０８で圧縮されたデジタル画像データと、このデジタル画像データの付加情報とを含む画像ファイルを生成し、生成した画像ファイルをＲＡＭ２１０に格納する機能を有する。付加情報には、デジタル画像に関する情報、カメラ１００に関する情報、デジタル画像のサムネイル等が含まれる。ＲＡＭ２１０は、複数の画像ファイルを記憶する容量を有する。また、システム制御部２１４は、カメラ１００を省電力状態にする機能を有する。ここで、カメラ１００が省電力状態である場合、システム制御部２１４は、カメラ１００の機能の一部をオフにしてバッテリの消費電力を削減する。ＲＯＭ２００は、カメラ１００を制御するための制御プログラム、カメラ１００に関する情報等が記憶されている。また、ＲＯＭ２００には、表示器２１７に表示される設定メニューに対応する画像データも記憶されている。
【００１５】
操作器２１６は、カメラ１００を操作するためのユーザインターフェースであり、カメラ１００の電源をオン又はオフするための電源スイッチ、シャッターボタン、表示器２１７に設定メニューを表示するためのメニューボタンを有する。さらに、操作器２１６は、表示器２１７に表示されたカーソルを上、下、左又は右に移動するための十字ボタン、カーソルが選択している画像、項目、値等をカメラ１００に設定又は選択させるためのＳＥＴボタン等を有する。シャッターボタンには、半押し状態と全押し状態とがある。シャッタボタンが半押し状態にされると、ＡＥ／ＡＦ制御部２０６が光学系２０１を駆動して、ＡＦ、ＡＥ等を実行し、シャッタボタンが全押し状態にされると、カメラ１００はデジタル画像の撮影を実行する。
【００１６】
表示器２１７は、表示制御部２０９によって要求された描画を表示するものであり、デバイスとしては液晶等の表示パネルを有し、その表示パネルに様々な情報を表示する。表示器２１７は、カメラ１００に関する情報を表示する機能、撮影画像を表示する機能、記憶媒体２１８に保存された撮影画像を表示する機能等を有する。記憶媒体２１８に保存された撮影画像を表示する場合にはそのデジタル画像に関する情報も表示することができる。また、表示器２１７は、設定メニュー等のＧＵＩ（グラフィカルユーザインターフェース）を提供する機能を有する。
【００１７】
記録再生制御部２１１は、ＲＡＭ２１０に格納された画像ファイルを記憶媒体２１８に書き込む機能と、記憶媒体２１８に保存された画像ファイルを記憶媒体２１８から読み出してＲＡＭ２１０に書き込む機能とを有する。記憶媒体２１８から読み出されてＲＡＭ２１０に書き込まれた画像ファイル内の撮影画像は、システム制御部２１４によって表示器２１７に表示される。
【００１８】
記憶媒体２１８は、ＲＡＭ２１０に保存されたＪＰＥＧ等の画像ファイルを記録再生制御部２１１を介して記憶する。記憶媒体２１８は、カメラに着脱可能な形態や装置に組み込まれた形態のいずれでもよく、カメラ１００に電源が投入されていない状態でも記憶を保持することが可能な媒体である。通信器２１９は、有線通信または無線通信によるほか、有線通信機能を持たない場合はメディア経由で情報を更新する形態でもよい。また通信器２１９のカメラに対する着脱可、不可は問わない。
【００１９】
また、記録再生制御部２１１が情報の読み出し／書き込みを行えるよう、ＤＣＦ規格で保存されるものとし、動画ファイルはＤＣＦ基本ファイルとＤＣＦサムネイルファイルの２つのファイル構成で１つのマルチメディアデータとして扱われる。ＤＣＦ規格（Ｄｅｓｉｇｎ ｒｕｌｅ ｆｏｒ Ｃａｍｅｒａ Ｆｉｌｅ Ｓｙｓｔｅｍ）の参考文献としてはＪＥＩＤＡ規格ＪＥＩＤＡ４９−２−１９９８がある。実際のファイル構成は、ＤＣＦ規格に限らず、複数のファイルで構成しているマルチメディアデータでもかまわない。
【００２０】
通信制御部２１２では、ＰＴＰ規格に準拠した通信が可能である。実際の通信方式は、ＰＴＰ規格でなくとも、マルチメディアデータを１つのオブジェクトとして扱うようなオブジェクトベースのプロトコルであっても良い。
【００２１】
ＰＣ１０１の操作器２２１は、キーボードやマウス等であり、システム制御部２２５で操作の制御が行われる。表示器２２２は、出力モニタであり、表示制御部２２８により描画されたＵＩを出力する。ＲＡＭ２２９は、ＰＣ１０１のＯＳや、アプリケーション１０を動作させるための揮発性のメモリである。記憶媒体２２３は、記憶制御部２３０によるデータの要求に応じて入出力をする装置であり、不揮発性の記憶装置である。記憶媒体２２３には、ＯＳやアプリケーション１０が格納されている。通信器２２４は、通信インターフェース１０２と接続可能な通信装置であり、通信制御部２３１によりデータの入出力を行う。通信器２２４は、有線通信または無線通信によるほか、有線通信機能を持たない場合はメディア経由で情報を更新する形態でもよい。また通信器２２４のカメラに対する着脱可、不可は問わない。中央処理プロセス部２２７は、表示制御部２２８、記憶制御部２３０、通信制御部２３１、各制御部を統括する中央制御部２２６から構成される。
【００２２】
次に、図１を参照して、本実施形態のデータ通信システムを構成するカメラとＰＣのモジュール構成について説明する。図１において、記憶媒体１は、カメラ１００で取得した画像ファイルを記憶するもので、カメラ１００に対する着脱可、不可は問わない。記憶媒体１には、ＤＣＦ規格に準拠した画像ファイルとして静止画（ＪＰＧやＲＡＷ等）や動画（ＡＶＩ，ＭＰＧ）等が格納される。ファイル管理モジュール２は、記憶媒体１に対するデータの読み出し／書き込みを管理するモジュールであり、カメラ１００の再生時に必要な画像を管理し、通信モジュール３から要求されるデータの読み出し／書き込みを管理する。通信モジュール３は、カメラ１００との通信インターフェース１０２を介した通信を制御する。本実施形では、ＰＴＰを使って通信を実現している。通信モジュール４は、ＰＣ１０１にインストールされている周辺機器との通信を制御する。本実施形では、ＰＴＰを使って通信を実現している。
【００２３】
ファイル管理モジュール５は、ＵＩ８で実現されるアプリケーション１０上でのファイルの管理を行う。具体的には、ファイル管理モジュール５は、カメラ１００に格納された各画像ファイルと、ＰＣ１０１に一部取り込まれている情報、つまりサムネイルデータとヘッダ情報（撮影日時、撮影機種、解像度、撮影パラメータ等）を関連付けて保持している。また主画像ファイルがＰＣ１０１の記憶媒体７に格納されてキャッシュされている場合は、それらの情報も関連付けて保持している。ファイル解析モジュール６は、カメラ１００から送信されてたデータを解析し、いずれのファイルで、いかなる情報が書き込まれているのかを解析する。具体的には、ＪＰＥＧファイルを解析する場合、ファイルフォーマット、撮影日時、撮影機種、解像度、撮影パラメータ、動画のフレーム情報等が挙げられる。
【００２４】
記憶媒体７は、ＰＣ１０１に画像ファイルを格納するための媒体であり、本実施形ではカメラ１００に保存されている画像ファイルをキャッシュするために用いる。ＵＩ８は、ＰＣ１０１にインストールされているアプリケーション１０のＵＩである。表示器９は、ＵＩ８を描画するディスプレイデバイスである。本実施形態では表示器として扱うが、プロジェクターやデジタルテレビ等でもよい。
【００２５】
次に、図３を参照して、標準ＰＴＰ通信において１つの画像ファイルを複数のＰＴＰオブジェクトに分割する方法について説明する。図３において、構成例３０１は、カメラ１００の記憶媒体２１８内のファイル・フォルダ構成であり、ＤＣＦ規格に準拠した構成となっている。ファイル３０５の名前はＭＶＩ＿００２８．ＡＶＩとして、ファイルサイズが１８ＧＢで構成されている。
【００２６】
構成例３０２は、ファイル３０５を複数のＰＴＰオブジェクトに分割した構成例１を示している。ファイル３０５を、ＰＴＰで制限された所定の転送可能サイズ（４ＧＢ）ずつ計５オブジェクトに分割してオブジェクトグループ３０６を作成する際に、オブジェクトのファイル名を拡張している。構成例３０２では、オブジェクトグループ３０６のそれぞれのオブジェクトのファイル名はＤＣＦ自由文字の一部に連番属性を付したもので、ＭＶ＊＿００２８．ＡＶＩとして接頭辞３文字目の部分を分割番号として表記している。構成例３０２のように、ファイルを分割する順序と元のファイル名とに関連性を付与することで、ＰＣ１０１のアプリケーション１０で、１つのファイルにグループ化するための属性情報として利用できる。
【００２７】
構成例３０３は、ファイル３０５を複数のＰＴＰのオブジェクトに分割した構成例２を示している。ファイル３０５を、４ＧＢサイズずつ計５オブジェクトに分割したオブジェクトグループ３０７を作成する際に、オブジェクトのハンドル番号を拡張している。構成例３０３では、オブジェクトグループ３０７のそれぞれのオブジェクトハンドル番号の先頭１バイト分にファイルを分割する順序を規定し、それ以外の部分を元のオブジェクトハンドル番号とすることでグループの範囲を規定している。構成例３０３のように、ファイルを分割する順序と元のファイルのオブジェクトハンドルとに関連性を付与することで、構成例３０２と同様にアプリケーション１０で１つのファイルにグループ化するための属性情報として利用できる。
【００２８】
構成例３０４は、ファイル３０５を複数のＰＴＰのオブジェクトに分割した構成例３を示している。ファイル３０５を、４ＧＢサイズずつ計５オブジェクトに分割したオブジェクトグループ３０８を作成する作成する際に、オブジェクトのファイル名を拡張し、かつグループの属性情報をＰＴＰのＡｎｃｉｌｌａｒｙＯｂｊｅｃｔとして実現している。ファイルを分割する順序は構成例３０２と同様で、ファイルのグループ範囲は、ＡｎｃｉｌｌａｒｙＯｂｊｅｃｔ内にあるものと規定される。構成例３０４のように、ファイルを分割する順序とグループの属性情報とに関連性を付与することで、構成例３０２と同様にアプリケーション１０で１つのファイルにグループ化するための情報として利用できる。
【００２９】
なお、ファイル名やオブジェクトハンドル番号にファイルの分割順序やグループ属性情報を付与するだけでなく、実際のオブジェクトの転送データに格納して転送する方法やＰＴＰのベンダ拡張通信によって分割順序やグループの属性情報を取得する方法もある。この場合には、カメラ１００からＰＣ１０１に対してオブジェクトグループの分割順序とグループ範囲を伝えることが可能となる。
【００３０】
所定のファイルサイズ以上のファイルを複数のオブジェクトに分割してＰＣで再生可能なオブジェクトとして転送する場合、多くのファイルフォーマットは、ファイルヘッダやフッタの情報を追記する必要がある。例えば、１８ＧＢのファイルをＰＴＰオブジェクトにする場合は、正確には、ファイルヘッダを考慮して、４ＧＢちょうどのサイズに分割するのではなく、ファイルヘッダを考慮したサイズ分だけ小さいサイズに分割する必要がある。具体的には、４ＧＢより数１００ＫＢ程度小さいサイズに分割する等することにより、ヘッダを追記したとしても４ＧＢを超えないようにする必要がある。これは、分割したオブジェクトのファイルサイズに再生に必要な情報を付加して、結果的に４ＧＢ超えてしまうと通信できなくなってしまうからである。
【００３１】
図４は、カメラ１００の記憶媒体２１８に格納されているファイルに対して複数のオブジェクトに分割する処理を示すフローチャートである。ここでは、ＰＴＰ通信開始時にカメラ１００のファイル管理モジュール２が実行する例を説明するが、ＰＴＰ通信開始前に既にオブジェクトハンドルを割り当てることも可能である。
【００３２】
図４において、Ｓ４０１では、記憶媒体２１８に格納されたファイル・フォルダの列挙を行う。Ｓ４０２では、Ｓ４０１で列挙された全ファイルに対して、オブジェクトハンドルを割り当てる処理を開始する。Ｓ４０３では、ｎ番目のファイルサイズが所定のサイズ以上（４ＧＢ以上）であるか否かを判定する。ここでは所定のファイルサイズを４ＧＢとしてみなしている。ＰＴＰの標準通信では、オブジェクトの最大サイズが４ＧＢであるため、４ＧＢという区切りで判断している。境界線が４ＧＢだからといって４ＧＢという単位で区切る必要性はなく、通信可能な４ＧＢ以下の単位で区切ることも可能である。Ｓ４０３でｎ番目のファイルが所定のファイルサイズ未満（４ＧＢ未満）であった場合、Ｓ４０４に移行し、通常のオブジェクトハンドルの割り当て処理が実行される。通常とは１ファイルに対して１オブジェクトハンドルが割り当てられるという意味である。
【００３３】
Ｓ４０３でｎ番目のファイルが４ＧＢ以上であった場合、Ｓ４０５に移行し、ファイルサイズを４ＧＢ長に分割し、分割した数に対してオブジェクトハンドルを割り当てる。図３の構成例３０３では、ファイル３０５が１８ＧＢだった場合は、５個のオブジェクトハンドルが割り当てられる。Ｓ４０６では、Ｓ４０５で割り当てられた各オブジェクトハンドルに対して、下記３つのグループの属性情報と関連性を付与して保持する。１つ目は、各オブジェクトハンドルとファイルの関連性、２つ目は、各オブジェクトハンドルの分割位置を保持するためのファイルの開始アドレス、３つ目は、各オブジェクトハンドルに対するファイルサイズである。例えば、図３の構成例３０３では、最後に分割した５個目のオブジェクトハンドルのファイルサイズが２ＧＢになる。Ｓ４０７では、ｎ個ファイルがあった場合は、ｎ番目のファイルに対するオブジェクトハンドルの割り当てが完了した時点で、Ｓ４０２におけるループ処理を終了する。
【００３４】
図５は、ＰＣ１０１からカメラ１００に対してオブジェクトハンドルを指定した要求が送信された場合に、ファイル管理モジュールが対象のファイルを検索する処理を示すフローチャートである。なお、ＰＣ１０１からの要求にてオブジェクトハンドルが指定されているとする。図５において、カメラ１００がＰＣ１０１からオブジェクトハンドルを指定した要求を受信すると、Ｓ５０１において、ＰＣ１０１で指定されたオブジェクトハンドルから記憶媒体２１８内のファイルを検索する。Ｓ５０２では、検索したファイルが４ＧＢ以上であるか否かを判定する。判定の結果が４ＧＢ未満であった場合、Ｓ５０３でＰＣ１０１からの要求に応じた通常の応答処理を行う。
【００３５】
一方で、Ｓ５０２での判定が４ＧＢ以上であった場合、Ｓ５０４で、指定されたオブジェクトハンドルに対応するファイルの開始アドレス、ファイルサイズに基づく応答処理を実行する。ここで、カメラ１００は、ＰＣ１０１で再生可能なデータ形式にして送信する。具体的には、ファイルの再生に必要なヘッダ・フッタを流用もしくは生成し、再生可能なデータ形式にする。カメラ１００は、ＰＣ１０１からファイルに関する情報の要求があった場合、再生するデータ形式を想定した情報を送信する。ＰＣ１０１では、１つのファイルが複数のオブジェクトに分割されていることを認識せずにアクセス可能なものとする。実際には、カメラ１００は、ＰＣ１０１のＰＴＰ Ｄｒｉｖｅｒに対して、ＰＴＰコマンド：ＧｅｔＯｂｊｅｃｔＩｎｆｏやＧｅｔＯｂｊｅｃｔの応答が通る形で返す。Ｓ５０３またはＳ５０４の後、本処理を終了する。
【００３６】
図６は、ＰＣ１０１が複数のオブジェクトハンドルを１つのファイルにグループ化する処理を示すフローチャートである。ここでは、カメラ１００とのＰＴＰ通信開始時点でＰＣ１０１のアプリケーション１０が起動状態であるとする。図６において、Ｓ６０１では、ＰＣ１０１のアプリケーション１０が、カメラ１００内のオブジェクトハンドルを、通信モジュール４を介して全て列挙する。Ｓ６０２では、１つにグループ化可能な複数の分割オブジェクトハンドルを検索するループ処理を開始する。ループ内では、Ｓ６０３でグループ化可能な分割オブジェクトハンドルのうち、先頭の分割オブジェクトを検索する。例えば、構成例３０２では、ＭＶＩ＿０００２８．ＡＶＩというファイル名を検索する。なお、構成例３０２を検索する場合、ＭＶＩ＿００２８．ＡＶＩというファイル名は分割されたＰＴＰオブジェクトではなく、通常のファイル名として存在するので、ＭＶ２＿００２８．ＡＶＩというファイル名を検索してもよい。ファイルが分割されているオブジェクトであること、分割されたオブジェクトのうち先頭もしくは２番目であることがわかればよい。また構成例３０３を検索する場合、オブジェクトハンドル番号が０ｘ１００００００７という先頭バイトが１となるものを検索することになる。構成例３０４では、ＡｎｃｉｌｌａｒｙＯｂｊｅｃｔを検索することになる。
【００３７】
Ｓ６０３で分割オブジェクトが先頭オブジェクトではない場合は、Ｓ６０２へ戻り、次のファイルを検索対象とする。Ｓ６０３にて分割オブジェクトが先頭オブジェクトである場合、Ｓ６０４に移行し、次の分割オブジェクトの検索を行う。これを再帰的に繰り返し、分割オブジェクトがなくなるまで繰り返す（Ｓ６０５）。例えば、構成例３０２の場合、ＭＶ２＿００２８．ＡＶＩというファイル名を検索する。次にＭＶ３＿００２８．ＡＶＩを検索し、これを次の分割オブジェクトがなくなるまで実行する。構成例３０３も同様に分割順序のルールに従い、次の分割オブジェクトがなくなるまで検索を実行する。構成例３０４では、ＡｎｃｉｌｌａｒｙＯｂｊｅｃｔ内にあるものが分割されたオブジェクトであるので、この内部で検索し、分割順序を検索していく。Ｓ６０５でグループ化可能なオブジェクトの検索が終了すると、Ｓ６０６で分割オブジェクトを１つにグループ化する。このとき、分割オブジェクトの順序を保持する。Ｓ６０７では、Ｓ６０２〜Ｓ６０６のループを全ての分割オブジェクトについて完了するまで繰り返す。
【００３８】
ＰＣ１０１のアプリケーション１０は、上述したフローのように分割オブジェクトの順序と数を、構成例３０２，３０３，３０４等のルールに基づき認識することができる。なお、ファイル名やオブジェクトハンドルの関連性から判断する方法もある。この場合、カメラ１００から転送するデータにファイル分割の関連情報を含め、アプリケーション１０が関連情報を解析すればよい。
【００３９】
図７は、図６のグループ化処理にてグループ化できない場合について説明する図である。図７において、例えば、ファイルが１，２，３，４の４つのオブジェクトに分割されていた場合、何かの不具合で、ＰＣ１０１のアプリケーション１０で１，２，３までしか検出できなかった場合は、１，２，３の３つのオブジェクトでグループ化できる。また、２，３，４のオブジェクトしかない場合は、グループ化することができない。また、１，３，４のオブジェクトしかない場合も、グループ化することができない。
【００４０】
図８は、図６のグループ化処理に組み合わされ、ベンダ拡張通信を用いて一度にファイルを取得するシーケンスを例示している。ここでは、ユーザ２０がＰＣ１０１のアプリケーション１０に対して、ファイル取得要求を発行したとする。この場合、ファイル３０５とし、１８ＧＢであるとする。ＰＣ１０１のアプリケーション１０は、ベンダ拡張通信を行い、図６により得られたグループの全体サイズを計算するか、もしくはベンダ拡張通信を用いて、全体サイズを取得し、カメラ１００へ問い合わせる。図８のようにＰＴＰコマンド、ＧｅｔＯｂｊｅｃｔＯｖｅｒ４ＧＢを作成し、データ転送を実現している。この仕様では、構成例３０２の複数のオブジェクトを構成するいずれか１つを要求すれば実行され、カメラ１００からデータ転送後、ＰＣ１０１のアプリケーション１０はファイルを保存する。
【００４１】
図９は、図６のグループ化処理に組み合わされ、標準のＰＴＰ通信を用いて１つのファイルにグループ化するシーケンスを例示している。ここでは、ユーザ２０がＰＣ１０１のアプリケーション１０に対して、ファイル取得要求を発行したとする。この場合、ファイル３０５とし、１８ＧＢであったとする。図９において、ＰＣ１０１のアプリケーションは、指定されたグループの先頭オブジェクトに対して、カメラ１００に対して、ＰＴＰコマンド、ＧｅｔＯｂｊｅｃｔ等のコマンドを発行し、オブジェクトのデータ転送を行う。データ転送後、ファイルとして保存する。次の分割順序に従って、該当するオブジェクトに対して同様にデータ転送を行う。データ転送後にファイルを追記するが、取得したデータ自体は、ＰＣ１０１で再生可能な形に加工されているため、そのまま直接ファイルを追記すると、再生できないファイルとなる。このため、再生に必要なヘッダ及びフッタ等の情報を省き実データとなる部分のみのファイルを追記する。次に分割するオブジェクトのデータを繰り返し、グループ化されたオブジェクト全てに対して実行する。分割された最後のオブジェクトに対して、ファイル追記が完了した時点で、グループ化が完了する。
【００４２】
図１０は、ＰＣでグループ化されたファイルをカメラへ転送する処理を例示している。ここでは、ユーザ２０は、ＰＣ１０１のアプリケーション１０に対して、ファイルの追記要求を行う。この場合、ファイルは４ＧＢ以上であったとする。図１０において、ＰＣ１０１のアプリケーション１０は、ユーザ２０が要求したファイルが４ＧＢ以上であるか否かを判定する。４ＧＢ以上の場合は、複数のＦｉｌｅＮａｍｅに分割する。このときのファイル分割規則は、構成例３０２と同様のルールとする。そして、カメラ１００に対して先頭の分割ファイルから順番に送信を行う。カメラ１００では、指定したＦｉｌｅＮａｍｅから分割されたファイルが送信されることを認識し、以後ファイルの追記を繰り返す処理を開始する状態となる（（１．１ＰＴＰ：ＳｅｎｄＯｂｊｅｃｔＩｎｆｏ）。ＰＣ１０１のアプリケーション１０がカメラ１００へデータを送信した後（１．２ＰＴＰ：ＳｅｎｄＯｂｊｅｃｔ）、ＰＣ１０１のアプリケーション１０は、次の分割データを送信する。カメラ１００は、分割データを受信後、データをファイルとして直接記憶媒体２１８に追記する。これらの処理を分割ファイルの全てに対し、分割順序で送信する。最後の結合データに関しては、最後である情報を追記したデータを送信し、カメラ１００は、ファイルクローズを行うか、もしくは、別のＰＴＰコマンドが実行されて、処理が中断された時点で、ファイルクローズを行うかを判断する。カメラ１００は１つのファイルの生成を完了した後、ＰＣ１０１へ再度転送できるよう複数のオブジェクトとして通知する。そのため、カメラ１００からＰＣ１０１へＰＴＰＥｖｅｎｔ：ＯｂｊｅｃｔＡｄｄｅｄイベントを複数発行する。この処理により、カメラ１００とＰＣ１０１のオブジェクトの整合が崩れることなく、ファイルを送受信可能な通信状態を保持することができる。
【００４３】
上述したシーケンスにより分割ファイルを送信する場合、ＰＣ１０１はカメラ１００で再生可能な形にヘッダ・フッタを生成する必要がない。その理由は、最終的にカメラ１００が１つのファイルとして扱うことを前提としているからである。また、複数のオブジェクトをＰＣ１０１に認識させる場合は、図３の構成例３０２，３０３，３０４の方法により、カメラ１００もＰＣ１０１もファイル再生時に不都合が生じないためである。
【００４４】
本実施形態によれば、カメラ１００の中に４ＧＢ以上のファイルが存在したとしてもＰＴＰ通信が可能となり、ＰＣ１０１で標準的に通信を行うことができ、かつ再生することができるようになる。
【００４５】
また、本発明は、上記実施形態と同等の処理を、コンピュータプログラムでも実現できる。この場合、図１をはじめとする構成要素の各々は関数、もしくはＣＰＵが実行するサブルーチンで機能させれば良い。また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されており、それを、コンピュータが有する読取り装置（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇にあることは明らかである。
【図１】
0005395550.tif 000002
【図２】
0005395550.tif 000003
【図３】
0005395550.tif 000004
【図４】
0005395550.tif 000005
【図５】
0005395550.tif 000006
【図６】
0005395550.tif 000007
【図７】
0005395550.tif 000008
【図８】
0005395550.tif 000009
【図９】
0005395550.tif 000010
【図１０】
0005395550.tif 000011