(57)【特許請求の範囲】
【請求項１】
所定の操作を受け付けたことに基づきマルチメディアデータを生成する情報生成装置と、前記情報生成装置と通信可能な情報処理装置とを有する情報処理システムであって、
前記情報処理装置は、
前記情報生成装置により生成されたマルチメディアデータを受信するデータ受信手段と、
前記データ受信手段により受信したマルチメディアデータを表示するデータ表示手段と、
前記データ表示手段によるマルチメディアデータの表示中に前記情報生成装置において前記所定の操作を受け付けたことを検知する検知手段と、
前記検知手段により前記所定の操作を受け付けたことを検知した場合、前記データ表示手段により表示中のマルチメディアデータの少なくとも一部に対して圧縮処理を行う圧縮手段と、
前記圧縮手段により圧縮された圧縮データを前記情報生成装置に送信する圧縮データ送信手段とを有し、
前記情報生成装置は、
前記圧縮データ送信手段により送信された圧縮データを記憶する記憶処理手段を有することを特徴とする情報処理システム。
【請求項２】
所定の操作を受け付けたことに基づきマルチメディアデータを生成する情報生成装置と、通信可能な情報処理装置であって、
前記情報生成装置により生成されたマルチメディアデータを受信するデータ受信手段と、
前記データ受信手段により受信したマルチメディアデータを表示するデータ表示手段と、
前記データ表示手段によるマルチメディアデータの表示中に前記情報生成装置において前記所定の操作を受け付けたことを検知する検知手段と、
前記検知手段により前記所定の操作を受け付けたことを検知した場合、前記データ表示手段により表示中のマルチメディアデータの少なくとも一部に対して圧縮処理を行う圧縮手段と、
前記圧縮手段により圧縮された圧縮データを前記情報生成装置に送信する圧縮データ送信手段とを有することを特徴とする情報処理装置。
【請求項３】
前記所定の操作は静止画データを生成するために用いられる操作を含み、
前記データ表示手段による動画データの表示中に前記静止画データを生成するために用いられる操作を検知した場合、前記圧縮手段は表示中の動画データから静止画データを抜き出して圧縮データを生成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所定の操作は動画データを生成するために用いられる操作を含み、
前記データ表示手段による動画データの表示中に前記動画データを生成するために用いられる操作を検知した場合、前記圧縮手段は表示中の動画データの一部の動画データを抜き出して圧縮データを生成することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記所定の操作は動画データの生成を開始するために用いられる操作及び動画データの生成を終了するために用いられる操作を含み、
前記データ表示手段による動画データの表示中に動画データの生成を開始するために用いられる操作及び動画データの生成を終了するために用いられる操作を検知した場合、前記圧縮手段は表示中の動画データのうち、前記動画データの生成を開始するために用いられる操作を検知した際に表示されていたフレームから、前記動画データの生成を終了するために用いられる操作を検知した際に表示されていたフレームを抜き出して圧縮データを生成することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記データ表示手段による動画データの表示中に前記動画データを生成するために用いられる同じ操作を複数回検知した場合、前記圧縮手段は複数の圧縮データを生成することを特徴とする請求項２乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記データ表示手段による静止画データの表示中に前記所定の操作を検知した場合、前記圧縮手段は表示中の静止画データに基づき圧縮データを生成することを特徴とする請求項２乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記圧縮データ送信手段により圧縮データを送信した後、前記送信した圧縮データに対応するデータを削除する指示を前記情報生成装置に送信する削除指示送信手段をさらに有することを特徴とする請求項２乃至７の何れか１項に記載の情報処理装置。
【請求項９】
所定の操作を受け付けたことに基づきマルチメディアデータを生成する情報生成装置と、通信可能な情報処理装置の制御方法であって、
前記情報生成装置により生成されたマルチメディアデータを受信するデータ受信ステップと、
前記データ受信ステップにより受信したマルチメディアデータを表示するデータ表示ステップと、
前記データ表示ステップによるマルチメディアデータの表示中に前記情報生成装置において前記所定の操作を受け付けたことを検知する検知ステップと、
前記検知ステップにより前記所定の操作を受け付けたことを検知した場合、前記データ表示ステップにおいて表示中のマルチメディアデータの少なくとも一部に対して圧縮処理を行う圧縮ステップと、
前記圧縮ステップにより圧縮された圧縮データを前記情報生成装置に送信する圧縮データ送信ステップとを有することを特徴とする制御方法。
【請求項１０】
所定の操作を受け付けたことに基づきマルチメディアデータを生成する情報生成装置と、通信可能な情報処理装置を制御するプログラムであって、
前記情報生成装置により生成されたマルチメディアデータを受信するデータ受信ステップと、
前記データ受信ステップにより受信したマルチメディアデータを表示するデータ表示ステップと、
前記データ表示ステップによるマルチメディアデータの表示中に前記情報生成装置において前記所定の操作を受け付けたことを検知する検知ステップと、
前記検知ステップにより前記所定の操作を受け付けたことを検知した場合、前記データ表示ステップにおいて表示中のマルチメディアデータの少なくとも一部に対して圧縮処理を行う圧縮ステップと、
前記圧縮ステップにより圧縮された圧縮データを前記情報生成装置に送信する圧縮データ送信ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、その制御方法及びプログラムに関する。特に、デジタルカメラ等の情報生成装置とこの情報生成装置に接続されているコンピュータ等の情報処理装置との間でデータの送受信を行う場合に用いられて好適である。
【背景技術】
【０００２】
従来から、デジタルカメラ等の情報生成装置（送信側装置）をコンピュータ等の情報処理装置（ホスト装置）に接続し、情報生成装置が生成した画像データ等のマルチメディアデータを情報処理装置に送信することができるシステムが知られている。例えば、特許文献１には、電子カメラがデータを情報格納装置に転送するとき、圧縮したデータを電子カメラに保存しておくという技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１６８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような技術では、電子カメラが圧縮データを作成しなければならないため、電子カメラの負荷が大きく、電子カメラの処理速度が遅くなってしまうという問題が生じることがあった。
このような問題を解決するために、受信側の情報処理装置が圧縮処理を行い送信側の情報生成装置に送信し、情報生成装置が受信した圧縮データを保存することが考えられる。しかし、この場合であっても、情報生成装置に書き戻す圧縮データにユーザの好みを反映させることはできなかった。すなわち、ユーザが情報生成装置に残しておきたいデータのみを圧縮して残すことができないため、不必要なデータまでが情報生成装置に残り、ユーザは不要なデータを消すという煩わしい作業が必要であった。
【課題を解決するための手段】
【０００５】
本発明は、所定の操作を受け付けたことに基づきマルチメディアデータを生成する情報生成装置と、前記情報生成装置と通信可能な情報処理装置とを有する情報処理システムであって、前記情報処理装置は、前記情報生成装置により生成されたマルチメディアデータを受信するデータ受信手段と、前記データ受信手段により受信したマルチメディアデータを表示するデータ表示手段と、前記データ表示手段によるマルチメディアデータの表示中に前記情報生成装置において前記所定の操作を受け付けたことを検知する検知手段と、前記検知手段により前記所定の操作を受け付けたことを検知した場合、前記データ表示手段により表示中のマルチメディアデータの少なくとも一部に対して圧縮処理を行う圧縮手段と、前記圧縮手段により圧縮された圧縮データを前記情報生成装置に送信する圧縮データ送信手段とを有し、前記情報生成装置は、前記圧縮データ送信手段により送信された圧縮データを記憶する記憶処理手段を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、情報処理装置に保存されているマルチメディアデータをユーザによる情報生成装置を介した操作により、所望する圧縮方法により圧縮データを書き戻すことができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理システムの概略構成を示す図である。
【図２】情報処理装置の一部機能構成を示すブロック図である。
【図３】情報生成装置の外観構成を示す図である。
【図４】情報生成装置の一部機能構成を示すブロック図である。
【図５】Ｊｐｅｇデータ全体の構造の概略を示す図である。
【図６】ＲＡＷデータ全体の構造の概略を示す図である。
【図７】アプリケーションソフトウェアを実行することにより表示される主画面の一例を示す図である。
【図８】アプリケーションソフトウェアを実行することにより表示されるオプション設定画面の一例を示す図である。
【図９】第１の実施形態に係る書き戻しの処理の動作を示すフローチャートである。
【図１０】画像データリストの構造の一例を示す図である。
【図１１】書き戻し確認画面の一例を示す図である。
【図１２】圧縮データの作成の処理の動作を示すフローチャートである。
【図１３】メモリカード空き容量判定処理の動作を示すフローチャートである。
【図１４】書き戻し停止画面の一例を示す図である。
【図１５】カメラ操作に応じた動作を示すフローチャートである。
【図１６】動画手動圧縮処理の動作を示すフローチャートである。
【図１７】手動書き戻し処理の動作を示すフローチャートである。
【図１８】静止画手動圧縮処理の動作を示すフローチャートである。
【図１９】第２の実施形態に係る書き戻しの処理の動作を示すフローチャートである。
【図２０】情報処理装置による書き戻しの処理の動作を示すフローチャートである。
【図２１】情報生成装置による書き戻しの処理の動作を示すフローチャートである。
【図２２】書き戻し障害復旧処理の動作を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照して、本発明に係る実施形態について詳細に説明する。
なお、以下では、画像データ等のマルチメディアデータを生成する情報生成装置としてデジタルカメラ（以下、カメラという）を取り上げて説明する。また、情報生成装置で生成したマルチメディアデータを受信する情報処理装置としてパーソナルコンピュータ（以下、ＰＣという）を取り上げて説明する。
【０００９】
（第１の実施形態）
図１は、第１の実施形態に係る情報処理システムの概略構成を示す図である。
図１に示すように、情報処理システム１は、ＰＣ１０と、カメラ２０とがＵＳＢケーブル２２等により通信可能に接続されている。
ＰＣ１０は、ホスト装置として機能し、後述するハードディスクドライブ等には周辺機器と通信することができるアプリケーション、ドライバ（ＯＳ機能含む）がインストールされている。ＰＣ１０には、画像データ等のマルチメディアデータを画像として表示するモニタ１２、マウス１４、キーボード１８等が接続されている。なお、マウス１４には、ユーザが押下するためのマウスボタン１６が設けられている。
【００１０】
図２は、ＰＣの一部機能構成を示すブロック図である。ＰＣ１０は、ハードウエア内にオペレーティングシステム（ＯＳ）があり、その上にデジタルカメラ用アプリケーションソフトウェア（以下、アプリケーションソフトウェアという）５０が位置する。ＰＣ１０の図示しないＣＰＵが、オペレーティングシステムやアプリケーションソフトウェア５０を実行することにより、オペレーティングシステムの機能およびアプリケーションソフトウェア５０の機能が実行される。なお、図２では、ＣＰＵやオペレーティングシステムのメモリ管理システム等を省略している。
【００１１】
図２に示すように、ＰＣ１０は、記憶部としてのハードディスクドライブ（ＨＤＤ）３０、オペレーティングシステムを構成するファイルシステム３２を有している。このような構成により、アプリケーションソフトウェア５０がハードウエアを直接制御することなく、ファイルシステム３２が、映像データライブラリ３１内のファイルの入出力を可能にする。このようなファイルシステム３２は周知である。ディスク入出力インターフェース３４は、ファイルシステム３２がハードディスクドライブ３０にデータを読み書きするためのものである。
【００１２】
また、ＰＣ１０は、オペレーティングシステムに含まれる描画管理システム３６を有している。描画管理システム３６は、アプリケーションソフトウェア５０がハードウエアを直接制御することなく画像データを生成する。ビデオインターフェース３８は、描画管理システム３６で生成される画像データをモニタ１２に適合するビデオ信号に変換する。
ＰＣ１０は、オペレーティングシステムに含まれるキーボード・マウス制御システム３５を有している。キーボード・マウス制御システム３５は、アプリケーションソフトウェア５０がハードウエアを直接制御することなくキーボード１８やマウス１４からの入力を取得する。キーボードインターフェース４２は、キーボード１８を接続する。マウスインターフェース４４は、マウス１４を接続する。
【００１３】
ＰＣ１０は、オペレーティングシステムを構成するイメージデバイス管理システム４０を有している。イメージデバイス管理システム４０は、デジタルカメラやスキャナー等の画像データを扱うデバイスを管理するもので、接続されているデバイスに適切なデバイスドライバを自動的に割り振る。イメージデバイス管理システム４０は、アプリケーションソフトウェア５０がデバイスを直接制御することなく、デバイスからの入出力を管理する手段を提供する。また、イメージデバイス管理システム４０は、デバイスの接続を検知すると、予め登録されているアプリケーションソフトウェアを起動する。
【００１４】
ＵＳＢインターフェース４６は、カメラ２０を接続する。カメラ２０は、デジタルカメラデバイスドライバ３７、イメージデバイス管理システム４０を介して、アプリケーションソフトウェア５０との間で制御コマンド、状態信号及び画像データ等の送受信を行うことができる。
【００１５】
ＰＣ１０には、カメラ２０にアクセスし、カメラ２０内の画像の閲覧、ハードディスクドライブ３０への保存等が可能なアプリケーションソフトウェア５０がインストールされている。
ＰＣ１０のＣＰＵが、アプリケーションソフトウェア５０を実行することにより、ＰＣ１０は図２に示すような機能を有する。すなわち、ＰＣ１０には、通信管理部５１、映像データ管理部５２、ＵＩ管理部５４、映像データ圧縮部５３、映像データライブラリ管理部５５を含んで構成される。
通信管理部５１は、イメージデバイス管理システム４０にアクセスし、カメラ２０との間でデータの送受信を管理する。映像データ管理部５２は、アプリケーションソフトウェア５０で扱う画像データを管理する。ＵＩ管理部５４は、アプリケーションソフトウェア５０でのユーザインタフェースおよび画像表示等を全般的に管理する。映像データ圧縮部５３は、映像データ管理部５２からの要求により、画像データを圧縮する。映像データライブラリ管理部５５は、カメラ２０から取得した画像データがハードディスクドライブ３０内に構築されている映像データライブラリ３１にアクセスする。映像データ管理部５２は、通信管理部５１を介してカメラ２０内の画像データを取得し、映像データライブラリ管理部５５を使用して、取得した画像データを映像データライブラリ３１に格納する。
【００１６】
図３は、カメラの外観構成を示す図である。
カメラ２０は、表示部２０９、操作ボタン２１０、ＵＳＢインターフェース２０５等を有している。表示部２０９は、液晶ディスプレイであって、各種メニュー画面等を表示する。また、表示部２０９は、撮影時のファインダーとしての動作や、カメラ２０に挿入されているメモリカードに格納されている撮影済みの画像データの再生等に用いられる。
操作ボタン２１０には、電源ボタン２１０１、撮影再生切替ボタン２１０７、撮影モード切替ボタン２１０６、シャッターボタン２１０２、メニューボタン２１０３、セットボタン２１０４、移動ボタン２１０５、拡大縮小ボタン２１０８等が含まれる。
【００１７】
電源ボタン２１０１は、カメラ２０の電源をオンにしたりオフにしたりするものである。撮影再生切替ボタン２１０７は、撮影モードと再生モードとを切り替えるためのものである。撮影モード切替ボタン２１０６は、動画撮影モードと静止画撮影モードとを切り替えるためのものである。シャッターボタン２１０２は、撮影を行うためのものである。メニューボタン２１０３は、カメラの動作を設定、指定するためのメニュー画面を表示させるときに押下するボタンである。ユーザがメニューボタン２１０３を押すことで、表示部２０９に各種メニューが表示される。なお、メニューに表示される内容は、カメラの状態によりそれぞれ変化する。セットボタン２１０４および移動ボタン２１０５は、メニューを操作するときに使用するものである。移動ボタン２１０５は、選択項目を移動させる。セットボタン２１０４は、移動させた選択項目の操作を実現させるためのものである。拡大縮小ボタン２１０８は、再生モードのときに表示している画像データを表示部２０９に拡大縮小して表示させるためのものである。
【００１８】
図４は、カメラの一部機能構成を示すブロック図である。なお、図４では、ＣＰＵや画像再生に関する構成を省略している。
図４に示すように、カメラ２０は、撮影システム２０１、ＵＩ管理システム２０２、ファイル管理システム２０３、通信管理システム２０４、ＵＵＩＤ管理システム２２１、不揮発性ＲＯＭ２１１、ＲＡＭ２１２、メモリカード２０８等を含んで構成されている。ここで、不揮発性ＲＯＭ２１１は、フラッシュＲＯＭ等の不揮発性記憶部である。また、ＲＡＭ２１２は、一時記憶部である。
【００１９】
撮影システム２０１は、撮影を行うための一連の装置であって、例えば、レンズや絞り、ＣＣＤ、画像処理装置等が含まれる。ＵＩ管理システム２０２は、カメラ２０のＵＩ（ユーザインターフェース）を制御するためのものあり、表示部２０９における表示内容の管理をしたり、操作ボタン２１０からの入力を管理したりする。ファイル管理システム２０３は、カメラ２０の補助記憶部としてのメモリカード（記憶媒体）２０８へのアクセスを管理する。本実施形態では、メモリカード２０８としてＳＤメモリカードが図示しないカードスロットに挿入されている。撮影システム２０１で生成された画像データは、ファイルとしてＳＤメモリカード（以下、メモリカードという）に保存される。なお、本実施形態のカメラ２０は、ＤＣＦ規格に準じたフォルダ構成、ファイルフォーマットで画像データをメモリカード２０８に記録する。通信管理システム２０４は、ＵＳＢインターフェース２０５を介してＰＣ１０との間で通信を行う。ＵＵＩＤ管理システム２２１は、ユニークなＩＤ を生成するものである。本実施形態のカメラ２０におけるＵＵＩＤ管理システム２２１は、撮影して画像データが生成されるたびに、ユニークなＩＤを生成し、画像データのヘッダデータ内にメタデータとして、生成したＩＤを設定する。不揮発性ＲＯＭ２１１は、カメラ２０の動作等を制御するための各種パラメータ等を格納するためのものである。本実施形態の不揮発性ＲＯＭ２１１には、データ復旧処理のための画像データのＵＵＩＤやファイル名、タグ付け機能のための管理情報及びＵＩ管理システム２０２で必要となるフォントデータ等も格納される。なお、不揮発性ＲＯＭ２１１に格納されるデータは、カメラ２０の電源がオフにされたとしても記憶されている。ＲＡＭ２１２は、カメラ２０が動作する上で必要となる様々な処理において、一時的にデータを記憶する必要が生じるときに用いられる。
【００２０】
次に、カメラ２０が生成するデータのうちＪｐｅｇデータについて説明する。
図５は、Ｊｐｅｇデータ全体の構造の概略を示す図である。図５において、Ｊｐｅｇ９００は、Ｊｐｅｇデータ全体の構造を示し、ＤＣＦ規格で定められている通りのものである。Ｊｐｅｇ９００には、ヘッダ９０１が含まれている。さらにヘッダ９０１のうち、MakerNote９０２内には、ＵＵＩＤ９０３が格納されている。上述したようにＵＵＩＤ９０３は、ＵＵＩＤ管理システム２２１により生成される。そして、図５に示すように、ＵＵＩＤ管理システム２２１により生成されたＵＵＩＤは、ヘッダ９０１のMakerNote９０２内に格納される。このＵＵＩＤにより、画像データを一意に特定できる。
【００２１】
また、カメラ２０は、Ｊｐｅｇデータに加え、ＲＡＷデータも生成する。
図６は、ＲＡＷデータ全体の構造の概略を示す図である。図６において、ＲＡＷ９５０は、ＲＡＷデータ全体の構造を示す。ＲＡＷ９５０には、メタデータ格納エリアとしてのヘッダ９５１、汎用性及びプレビューの高速性を実現するためのサムネールデータ９５２、Ｊｐｅｇ圧縮データ９５３、ＲＡＷデータ本体９５４が含まれている。ヘッダ９５１には、Ｊｐｅｇと同様にＵＵＩＤ９５５が格納されている。
【００２２】
また、カメラ２０は、その他のデータとして動画データも生成する。動画データの場合もＪｐｅｇやＲＡＷと同様にヘッダ部分に、ＵＵＩＤが格納されている。なお、本実施形態のカメラでは、動画データの記録方式としてＭｏｔｉｏｎ−ＪＰＥＧを採用している。
【００２３】
次に、図７、８を参照して、ＰＣ１０にインストールされているアプリケーションソフトウェアについて説明する。
図７は、ＰＣ１０のＣＰＵがアプリケーションソフトウェア５０を実行することにより、ＰＣ１０のモニタ１２に表示される主画面５００である。
本実施形態では、ユーザがカメラ２０とＰＣ１０とをＵＳＢケーブル２２で接続した後、主画面５００の接続ボタン５０１をマウス１４で押下（クリック）することで、ＰＣ１０とカメラ２０との論理的接続が確立される。接続が確立されると、主画面５００のサムネール表示エリア５１０には、カメラ２０内のメモリカード２０８に保存されている画像データの一覧が表示される。図７に示すように、ＰＣ１０は、各画像データが保持しているサムネール画像データをカメラ２０から取得して表示する。例えば、Ｊｐｅｇデータの場合、ＰＣ１０は、ＤＣＦ規格で規定されているＤＣＦ基本サムネールデータを取得する。この処理については、後述する。
【００２４】
ＰＣ１０とカメラ２０との論理的接続が確立すると、ＰＣ１０は、自動的にカメラ２０のメモリカード２０８中に含まれる画像データをＰＣ１０の映像データライブラリ３１に取り込む。ＰＣ１０が取り込む画像データは、ＰＣ１０のハードディスクドライブ３０内に構築されている映像データライブラリ３１に保存されていない画像データである。このような設定は、アプリケーションソフトウェア５０にプログラムされている。ユーザが映像データライブラリ３１内の画像データを参照したい場合、ユーザは、主画面５００の映像データライブラリ表示ボタン５１４をクリックする。ユーザ操作に応じて、ＰＣ１０は、図７に示すように主画面５００のサムネール表示エリア５１０内に映像データライブラリ３１に保存されている画像データのサムネール画像を一覧表示する。
【００２５】
ＰＣ１０とカメラ２０との論理的接続を切断する場合には、ユーザが主画面５００の切断ボタン５０２をクリックすることで、ＰＣ１０とカメラ２０との論理的接続が切断される。または、カメラ２０からの画像データの転送が終了した時点で自動的にＰＣ１０とカメラ２０との論理的接続が切断される。ユーザがアプリケーションソフトウェア５０を終了する場合には、主画面５００の閉じるボタン５０４をクリックする。このとき、ＰＣ１０とカメラ２０との論理的接続が確立している状態であれば、ＰＣ１０は、自動的にカメラ２０との論理的接続を切断してから、アプリケーションソフトウェア５０を終了させる。
主画面５００の設定ボタン５０３は、アプリケーションソフトウェア５０の動作を指定するためのオプション設定を行う画面を表示するものである。ユーザが設定ボタン５０３をクリックすることで、ＰＣ１０はモニタ１２にオプション設定画面を表示する。
【００２６】
図８は、オプション設定画面６００の一例を示す図である。オプション設定画面６００では、圧縮データ書き戻しのための設定を行うことができる。オプション設定画面６００で設定されている情報は、映像データ管理部５２にて管理される。
ここで、書き戻しについて説明する。まず、ＰＣ１０とカメラ２０とを接続し、カメラ２０に挿入されたメモリカード２０８に保存されている画像データをアプリケーションソフトウェア５０でハードディスクドライブ３０内に転送している状態であるとする。書き戻しとは、ＰＣ１０が取得した画像データを圧縮して新たに圧縮データを作成し、その圧縮データをカメラ２０に転送することをいう。このとき、ＰＣ１０は、カメラ２０のメモリカード２０８に保存されているオリジナルの画像データをメモリカード２０８から削除してもよい。
これにより、カメラ２０のメモリカード２０８の空き容量を増やすことができると共にカメラ２０には圧縮された画像データが存在するので、ユーザはカメラ２０での画像データの閲覧やカメラ２０を直接、プリンタにつないで画像データを印刷すること等ができる。また、後述するように、ＰＣ１０とカメラ２０とを接続しているときに、ユーザがカメラ２０を介して圧縮データを選択することにより、ＰＣ１０に転送されたオリジナルの画像データをＰＣ１０に接続されたモニタ１２に表示することができる。
【００２７】
図８に示すオプション設定画面６００において、静止画データ書き戻し指定チェックボックス６０１は、静止画データをカメラ２０が取得した場合に、ＰＣ１０が圧縮データを生成してカメラ２０に書き戻すか否かをユーザが指定するためのものである。チェックされている場合、ＰＣ１０は書き戻しの処理を行い、チェックされていない場合、ＰＣ１０は書き戻しの処理を行わない。
【００２８】
サイズ指定ボックス６０２およびサイズ設定ラジオボタン６０３、６０４は、静止画データを圧縮する場合のサイズを指定するためのものである。サイズ指定ボックス６０２は、圧縮後の画像サイズを指定するためのものである。サイズ設定ラジオボタン６０３、６０４は、サイズ指定ボックス６０２で指定された画像サイズが画像データのうち長辺なのか短辺なのかを指定するためのものである。
ＲＡＷデータ圧縮方法指定チェックボックス６１２は、画像データがＲＡＷデータの場合の処理を指定するためのものである。ＲＡＷデータ圧縮方法指定チェックボックス６１２がチェックされている場合、ＰＣ１０はＲＡＷデータに内蔵されているＪｐｅｇデータを基に圧縮データを作成する。チェックされていない場合、ＰＣ１０はＲＡＷデータをデコードした後、圧縮データをＪｐｅｇ形式で作成する。
【００２９】
動画データ書き戻し指定チェックボックス６０５は、ＰＣ１０がカメラ２０から動画データを取得した場合、圧縮データを生成して、カメラ２０に書き戻すか否かを指定する。チェックされている場合、ＰＣ１０は書き戻しの処理を行い、チェックされていない場合、ＰＣ１０は書き戻しの処理を行わない。
動画圧縮方法指定ラジオボタン６０６、６０７は、動画像データの圧縮方法を指定するためのものである。動画圧縮方法指定ラジオボタン６０６は、ＰＣ１０が動画データから第一フレームを抜き出して静止画データ（Ｊｐｅｇ）を圧縮データとして書き戻す場合に指定するためのものである。動画圧縮方法指定ラジオボタン６０７は、ＰＣ１０がフレームレートを落とした動画データを生成し、それを圧縮データとして書き戻す場合に指定するためのものである。
【００３０】
読み取り専用データ非処理チェックボックス６０８は、カメラ２０のメモリカード２０８内に読み取り専用属性が設定された画像データが保存されていた場合、ＰＣ１０がそのデータを取得したときに、書き戻しの処理を行うか否かを指定するためのものである。チェックされている場合、ＰＣ１０は読み取り専用属性が設定された画像データに対して、書き戻しの処理を行わない。
書き戻し通知設定チェックボックス６０９は、ＰＣ１０が書き戻しの処理を行う前に、ユーザに対して通知するか否かを指定するためのものである。チェックされている場合は、ＰＣ１０は書き戻しの処理の前にモニタ１２に通知用のダイアログを表示する。ただし、ＰＣ１０とカメラ２０とが接続されて最初に書き戻し処理が行われるときに、ＰＣ１０が一度のみ通知用のダイアログを表示し、書き戻しの処理が行われるたびに表示するものではない。
空き容量設定チェックボックス６２０は、書き戻しの処理が行われた後でも、メモリカード２０８内の容量をある程度確保しておきたい場合に指定するためのものである。空き容量設定チェックボックス６２０をチェックすると、空き容量指定入力ボックス６２１が有効になり、ユーザが確保したいメモリカード２０８の空き容量を入力することができる。
そして、ユーザがチェックボックスやラジオボタン等をクリックした後、ＯＫボタン６１９をクリックすることで、ＰＣ１０の映像データ管理部５２が書き戻しの設定を記憶し、管理する。なお、ユーザがキャンセルボタン６１１をクリックすることで、ＰＣ１０は書き戻しの設定を中止する。
【００３１】
次に、ＰＣ１０とカメラ２０とを接続して、ＰＣ１０がアプリケーションソフトウェア５０を起動した後、ＰＣ１０による書き戻しの処理について、図９に示すフローチャートを参照して説明する。ここでは、上述したように、本実施形態のＰＣ１０は、カメラ２０との接続が確立されると、自動的にカメラ２０から未取り込みの画像データのみを映像データライブラリ３１に保存するものとして説明する。
【００３２】
まず、ステップＳ９０１において、ＰＣ１０は、カメラ２０との間で論理的接続を確立する。具体的には、ユーザが図７に示した主画面５００の接続ボタン５０１をクリックすることで、ＰＣ１０の映像データ管理部５２が、通信管理部５１を介して、カメラ２０との接続を開始する。
ステップＳ９０２では、ＰＣ１０が接続を確立した後、書き戻しフラグをＴＲＵＥに設定する。ここで、書き戻しフラグとは、映像データ管理部５２内に保持されているものであって、書き戻しの処理をユーザが設定しない場合の処理に用いられる。
【００３３】
ステップＳ９０３では、ＰＣ１０は、カメラ２０のメモリカード２０８内に保存されている画像データのリストをカメラ２０に要求して、要求した画像データリストを取得する。
ここで、図１０に示すように、画像データリスト１２００は、画像データ数に相当する要素数Ｎ１２０１、画像データにアクセスするためのハンドル１２０２、メタデータ１２０３、読み取り専用属性１２０４及びサムネール画像データ１２０５等が含まれている。また、メタデータ１２０３には、画像データを一意に特定するためのＵＵＩＤが含まれている。
カメラ２０は、画像データリストを要求されると、カメラ２０内のメモリカード２０８に保存されている全画像データが含めるように画像データリストを作成する。なお、リストの作成方法の説明については、省略する。
【００３４】
ステップＳ９０４以降では、画像データリストに含まれる各要素に対して、１番目の要素からＮ番目の要素についての処理が行われる。ステップＳ９０４では、ＰＣ１０が全要素について処理したか否かを判定する。すなわち、処理中の要素番号をｎとすると、ＰＣ１０は、ｎがＮを超えているか否かをチェックする。したがって、以後、ステップＳ９０４ではｎが１からＮまで変化し、ＰＣ１０が全ての要素について処理を終了した場合、ステップＳ９２８に処理を進める。そして、ステップＳ９２８では、ＰＣ１０は、メモリカード２０８の空き容量チェック処理を行う。この空き容量チェック処理については、後述する。
【００３５】
次に、ステップＳ９２９では、ＰＣ１０は、取得したサムネール画像データを図７に示す主画面５００のサムネール表示エリア５１０に表示すると共に選択枠を表示する。ここでは、ＰＣ１０は、最初にカメラ２０から取得した画像データを選択画像とし、その画像データに選択枠５３０を表示している。その後、ＰＣ１０は、定常状態となりユーザによるカメラ２０を介したユーザ操作（カメラ操作）を待機する。
ステップＳ９３０では、ＰＣ１０は、カメラ２０からのカメラ操作を検知したか否かを判定し、カメラ操作を検知した場合、ステップＳ９３１にて、ＰＣ１０はカメラ操作処理に進める。この処理の詳細については、後述する。一方、カメラ操作を検知しない場合、ステップＳ９３２にて、ＰＣ１０は切断イベントを検知したか否かを判定し、検知した場合、ＰＣ１０はカメラ２０との論理的接続を切断する。具体的には、図７に示す切断ボタン５０２がクリックされた場合や、ＵＳＢケーブル２２が物理的に切断された場合に通信管理部５１に通知され、通信管理部５１がカメラ２０との論理的接続を切断する。
【００３６】
また、ステップＳ９０４において、ＰＣ１０が全ての要素について処理を終了していないと判定した場合、ステップＳ９０５の処理に進め、ＰＣ１０は取得したサムネール画像データ図７に示す主画面５００のサムネール表示エリア５１０に表示する。これは、ＰＣ１０が図１０に示す画像データリスト１２００に含まれるサムネールデータｎ１２０５を表示することにより行われる。
ステップＳ９０６において、ＰＣ１０は、画像データリスト中のｎ番目の要素に対応する画像データが既に映像データライブラリ３１に保存されているか否かを判定する。すなわち、ＰＣ１０はｎ番目の要素に対応する画像データが過去に映像データライブラリ３１に取り込まれている画像データか否かを調査する。具体的には、映像データライブラリ管理部５５が、画像データリスト１２００にあるメタデータｎ１２０３に含まれているＵＵＩＤと同じＵＵＩＤを持つ画像データが映像データライブラリ３１内に存在するか否かを調査する。なお、この調査の詳細な説明は、省略するが、映像データライブラリ３１を管理しているデータベースにアクセスする等、一般的な手法でよい。
ｎ番目の要素に対応する画像データが映像データライブラリ３１に存在しない場合、すなわち未取り込み画像データの場合、ステップＳ９０７に処理を進める。一方、画像データが映像データライブラリ３１に存在する場合、すなわち既に取り込んだ画像データの場合、ステップＳ９０４に処理を戻し、ＰＣ１０は、ｎ＋１番目の要素の画像データについて上述した処理を行う。
【００３７】
ステップＳ９０７では、ＰＣ１０はカメラ２０からｎ番目の画像データを取得し、映像データライブラリ３１に保存する。この処理は、データ受信手段による処理の一例に対応する。具体的には、ＰＣ１０が画像データリスト１２００のハンドルｎ１２０２を用いて、ハンドルｎに対応する画像データをカメラ２０に対して要求し、カメラ２０がハンドルｎに対応する画像データを送信することにより、ＰＣ１０が画像データを取得する。
ステップＳ９０８では、ＰＣ１０は映像データ管理部５２内に記憶されている書き戻しフラグがＴＲＵＥに設定されているか否かを判定し、ＴＲＵＥに設定されている場合、ステップＳ９０９に処理を進め、設定されていない場合、ステップＳ９０４に処理を戻す。
ステップＳ９０９では、ＰＣ１０は取得した画像データのデータタイプを判定する。ステップＳ９１０では、ＰＣ１０は取得した画像データのデータタイプがＪｐｅｇか否かを判定する。Ｊｐｅｇの場合、ステップＳ９１１に処理を進める。
【００３８】
ステップＳ９１１では、ＰＣ１０は静止画データに対して書き戻し処理を行うように設定されているか否かをチェックする。具体的には、映像データ管理部５２が図８に示す静止画データ書き戻し指定チェックボックス６０１のチェックを調べることにより行われる。静止画データ書き戻し指定チェックボックス６０１にチェックされている場合、ステップＳ９１２に処理を進め、チェックされていない場合、ステップＳ９０４に処理を戻す。
ステップＳ９１２では、ＰＣ１０は取得した画像データのサイズが圧縮後の条件に合致しているか否かを判定する。この判定は、図８に示すサイズ指定ボックス６０２およびサイズ設定ラジオボタン６０３、６０４の設定を調べることにより行われる。取得した画像データのサイズが設定された設定値以内であれば、圧縮処理を行う必要がないため、ステップＳ９０４に処理を戻す。例えば、カメラ２０から取得したＪｐｅｇのサイズが、幅６００ピクセル、横８００ピクセルの場合であって、図６に示すサイズ指定ボックスの値が１６００に設定されている場合、取得した画像データのサイズが設定値以内である。したがって、ＰＣ１０は、画像データを圧縮する必要がなく、ステップＳ９０４に処理を戻す。一方、取得した画像データのサイズが設定値よりも多い場合、ＰＣ１０は、ステップＳ９１３に処理を進める。
【００３９】
ステップＳ９１３では、ＰＣ１０は取得した画像データのカメラ２０内で設定されていた読み取り専用属性を調べると共に、図８にチェックされた読み取り専用データ非処理チェックボックス６０８の設定値を調べる。ここでは、ＰＣ１０は取得した画像データの読み取り専用属性が「読み取り専用（Ｒｅａｄ  Ｏｎｌｙ）」であるか否かを、画像データリスト１２００の読み取り専用属性ｎ１２０４がＴＲＵＥであるか否かにより判定する。読み取り専用属性ｎ１２０４がＴＲＵＥの場合、画像データは「読み取り専用（Ｒｅａｄ  Ｏｎｌｙ）」である。取得した画像データが読み取り専用であり、読み取り専用データ非処理チェックボックス６０８にチェックがされている場合、ＰＣ１０は取得した画像データの書き戻し処理を行わないので、ステップＳ９０４に処理を戻す。取得した画像データが読み取り専用ではないか、読み取り専用データ非処理チェックボックス６０８にチェックがされていない場合、ステップＳ９１８に処理を進める。
【００４０】
一方、ステップＳ９１０において、画像データのデータタイプがＪｐｅｇデータではないと判定された場合、ステップＳ９１４に処理を進め、ＰＣ１０は、データタイプがＲＡＷデータか否かを判定する。ＲＡＷデータの場合、ステップＳ９１５に処理を進める。
ステップＳ９１５は、ステップＳ９１１の処理と同様である。すなわち、映像データ管理部５２が静止画データに対して書き戻し処理を行うように設定されているか否かをチェックする。静止画データ書き戻し指定チェックボックス６０１にチェックされている場合、ステップＳ９１３に処理を進め、チェックされていない場合、ステップＳ９０４に処理を戻す。
【００４１】
一方、ステップＳ９１６において、ＲＡＷデータではないと判定された場合、ステップ９１６に処理を進め、ＰＣ１０は、取得した画像データが動画データか否かを判定する。動画データではない場合、未知のデータとして圧縮処理を行わずステップＳ９０４に処理を戻し、動画データの場合、ステップＳ９１７に処理を進める。
ステップＳ９１７では、ＰＣ１０は、動画データに対して書き戻し処理を行うように設定されているか否かをチェックする。ここでは、動画データ書き戻し指定チェックボックス６０５にチェックされている場合、ステップＳ９１３に処理を進め、チェックされていない場合、ステップＳ９０４に処理を戻す。
【００４２】
その後、ステップＳ９１８において、ＰＣ１０は書き戻し処理確認画面を表示する設定にされているか否かをチェックする。ここでは、ＰＣ１０が書き戻し通知設定チェックボックス６０９にチェックされているか否かを判定し、チェックされていない場合、ステップＳ９２２に処理を進め、チェックされている場合、ステップＳ９１９に処理を進める。
ステップＳ９１９では、ＰＣ１０は後述する書き戻し確認画面を既に表示したか否かを判定し、一度表示していた場合、ステップＳ９２２に処理を進め、未だ表示していない場合、ステップＳ９２０に処理を進める。
ステップＳ９２０では、ＰＣ１０はモニタ１２に図１１に示すような書き戻し確認画面１１００を表示する。
【００４３】
ステップＳ９２１では、ＰＣ１０はユーザが書き戻し確認画面１１００において、「はい」ボタン１１１０をクリックして書き戻しを選択したか否かを判定する。書き戻しを選択した場合、ステップＳ９２２に処理を進める。「いいえ」ボタン１１２０を選択し、書き戻しを選択しない場合、ステップＳ９２７に処理を進める。ステップＳ９２７では、ＰＣ１０は、映像データ管理部５２内のおいて書き戻しフラグをＦＡＬＳＥに設定する。この場合、ＰＣ１０は、その後の要素に対応する画像データにおいても書き戻し処理を行わないようにする。その後、ステップＳ９０４に処理を戻す。
【００４４】
一方、ステップＳ９２２では、ＰＣ１０の映像データ圧縮部５３は、取得した画像データの圧縮処理を行い、圧縮データを新たに作成する。この処理で作成される圧縮データは、ユーザによるカメラ操作によらずＰＣ１０により自動的に作成されるので自動圧縮データともいう。映像データ圧縮部５３は、作成した圧縮データを一時的に保存しておく。なお、ステップＳ９２２の処理の詳細については、後述する。
ステップＳ９２３では、ＰＣ１０は取得した画像データの圧縮データを作成できたか否か、すなわちエラーが発生したか否かを判定する。圧縮データの作成ができた場合、ステップＳ９２４に処理を進め、圧縮データの作成ができなかった場合、ステップＳ９０４に処理を戻す。
ステップＳ９２４では、ＰＣ１０は圧縮データをカメラ２０に転送する前に、メモリカード２０８内のオリジナル画像データをカメラ２０から削除する。具体的には、ＰＣ１０の映像データ管理部５２が、通信管理部５１を介して、カメラ２０にハンドルｎ１２０２の画像データを削除するコマンドを送信することで、カメラ２０はハンドルｎ１２０２に対応する画像データを削除する。このようなＰＣ１０が、カメラ２０に画像データを削除するコマンド（削除指示情報）を送信する処理は、削除指示情報送信手段による処理に一例に対応する。
【００４５】
ステップＳ９２５では、ＰＣ１０はステップＳ９２２で作成した圧縮データをカメラ２０に転送する。この処理は、自動圧縮データ送信手段による処理の一例に対応する。カメラ２０では、転送された圧縮データを受信し、その圧縮データをメモリカード２０８に保存する。この処理は、自動圧縮データ記憶処理手段による処理の一例に対応する。カメラ２０が圧縮データを保存するときファイル名は、ステップＳ９２４で削除したオリジナル画像データのファイル名と同一にする。
なお、ここでは、ステップＳ９２４の処理の後にステップＳ９２５の処理を行う場合について説明しているが、ＰＣ１０がカメラ２０に圧縮データの転送を成功したのを確認してから、オリジナルデータを削除するコマンドを送信してもよい。この場合、カメラ２０が、圧縮データを受信したとき、テンポラリのファイル名を付けておき、オリジナルファイルを削除した後に、圧縮データのファイル名を削除したオリジナルファイルのファイル名に変更する処理を行う。
次に、ステップＳ９２６では、ＰＣ１０の映像データ圧縮部５３は、一時的に保存した圧縮データを削除する。
【００４６】
次に、図１２に示すフローチャートを参照して、図９に示すステップＳ９２２における圧縮データの作成の処理について説明する。このフローチャートは、ＰＣ１０のＣＰＵがアプリケーションソフトウェア５０を実行することにより実現する。
まず、ステップＳ１２０１において、ＰＣ１０は、取得した画像データのデータタイプを調べる。ステップＳ１２０２において、ＰＣ１０は画像データがＪｐｅｇデータであると判定した場合、ステップＳ１２０３に処理を進める。一方、ステップＳ１２０２において、Ｊｐｅｇデータではないと判定された場合、ステップＳ１２０４に処理を進める。ステップＳ１２０４において、ＰＣ１０は画像データがＲＡＷデータであると判定した場合、ステップＳ１２０５に処理を進める。一方、ステップＳ１２０４において、ＰＣ１０がＲＡＷデータではないと判定した場合、ステップＳ１２０８に処理を進める。ステップＳ１２０８において、ＰＣ１０は画像データが動画データであると判定した場合、ステップＳ１２０９に処理を進める。一方、ステップＳ１２０８において、画像データが動画データではないと判定した場合、アプリケーションソフトウェア５０が対象としているタイプの画像データではないので、エラー終了とする。
【００４７】
そして、ステップＳ１２０３では、ＰＣ１０は、Ｊｐｅｇをデコードして、ビットデータ（例えばＢＭＰ形式）の形式に変換する。
ステップＳ１２０５では、ＰＣ１０は、ＲＡＷデータの圧縮方法の設定を確認する。ここでは、図８に示すＲＡＷデータ圧縮方法指定チェックボックス６１２にチェックがされているか否か調べることにより確認する。チェックされている場合、ＰＣ１０はＲＡＷタイプの画像データに埋め込まれているＪｐｅｇデータを使用して圧縮データを作成するためにステップＳ１２０６に処理を進め、ＲＡＷデータからＪｐｅｇデータを抽出する。チェックされていない場合、ステップＳ１２０７に処理進め、ＰＣ１０は、ＲＡＷデータをデコードして、ビットデータ（例えばＢＭＰ形式）の形式に変換する。
【００４８】
ステップＳ１２１３では、ＰＣ１０は、ビットデータの形式の画像データを圧縮処理する。圧縮処理では、ＰＣ１０が画像データのリサイズを行う。圧縮後のサイズは、図８のサイズ指定ボックス６０２、サイズ設定ラジオボタン６０３、６０４で指定されている値に合致するように行う。なお、圧縮の方法についてどのような方法であってもよい。
次に、ステップＳ１２１４では、ＰＣ１０は、圧縮後のビットデータをＪｐｅｇにエンコードする。このとき、ＰＣ１０は、元の画像データに含まれていたＵＵＩＤと同じ値をＪｐｅｇデータのヘッダ部分、より詳しくは図５に示すＵＵＩＤ９０３と同じ領域に格納する。このようにすることで、ＰＣ１０がエンコードしたＪｐｅｇデータをカメラ２０に書き戻した場合、再びＰＣ１０とカメラ２０とを接続した場合においても、同じＵＵＩＤのＪｐｅｇデータが映像データライブラリ３１に存在することになる。したがって、ＰＣ１０は、再び同じ画像データを映像データライブラリ３１に取り込むことがない。
【００４９】
一方、ステップＳ１２０９では、ＰＣ１０は図８に示す動画データの圧縮方法の設定を確認する。ここでは、図８に示す動画圧縮方法指定ラジオボタン６０６、６０７で設定された値を調べることで確認する。先頭フレームを抽出する方法が選択されている場合、ステップＳ１２１０に処理を進め、フレームレートを落とす方法が選択されている場合、ステップＳ１２１２に処理を進める。
ステップＳ１２１０では、ＰＣ１０は、動画データから先頭フレームを抽出する処理を行う。本実施形態のカメラ２０は、Ｍｏｔｉｏｎ−Ｊｐｅｇ形式で動画像データを作成するので、ここでは、ＰＣ１０は、動画データからＪｐｅｇデータを抜き出す処理を行う。
次に、ステップＳ１２１１では、ＰＣ１０は、抜き出したＪｐｅｇデータに必要なヘッダ情報を書き込む処理を行う。例えば、ＰＣ１０は、上述したステップＳ１２１４のように元の動画データに含まれていたＵＵＩＤと同じ値を書き込む処理をする。
【００５０】
一方、ステップＳ１２１２では、ＰＣ１０は、動画データのフレームレートを間引く処理を行って、動画データのサイズを圧縮する。さらに、ＰＣ１０は、圧縮した動画データにオリジナルの動画データのメタデータで設定されていたＵＵＩＤと同じ値を残す。
なお、ＰＣ１０は、ステップＳ１２１４およびステップＳ１２１２において作成した圧縮データのメタデータに圧縮データフラグを付加する。このようにすることで、カメラ２０が、ＰＣ１０から書き戻しされた圧縮データを受信してモニタ１２に表示するときに、付加された圧縮データフラグを参照することで、例えば図７に示すように圧縮データマーク２０９０を圧縮データと共に表示することができる。この場合、ユーザはカメラ２０に保存されている画像データが圧縮データであり、オリジナルデータがＰＣ１０に格納されていることが識別可能となる。
また、同様に、ＰＣ１０が主画面５００のサムネール表示エリア５１０にカメラ２０内のメモリカード２０８に保存されている画像データを表示するとき、画像データが圧縮データである場合、図７に示す圧縮データマーク５２０を表示することできる。これは、図９に示すステップＳ９０５において、ＰＣ１０がサムネール画像を表示するときに、画像データリスト１２００に含まれるメタデータ１２０３を参照することにより可能である。すなわち、カメラ２０に保存されている画像データが圧縮データの場合、メタデータ１２０３には圧縮データフラグが含まれる。
【００５１】
また、カメラ２０に保存されている画像データが圧縮前の画像データであり、上述した処理により圧縮データが作成された場合、ＰＣ１０は、図９のステップＳ９２６の後に処理中の画像データに対応するサムネール画像に圧縮データマークを上書きすればよい。これにより、書き戻し処理が一つの画像データに対して行われるたびに、サムネール表示エリア５１０に表示されているサムネールに圧縮データマークが表示されるので、ユーザは、書き戻し処理の進捗状況を確認することもできる。
【００５２】
次に、図１３に示すフローチャートを参照して、図９のステップＳ９２８のメモリカード空き容量判定処理の詳細について説明する。この処理は、書き戻し処理を行った場合でも、ある程度の空き容量をメモリカード２０８に確保したい場合に行われる処理である。
まず、ステップＳ１３０１では、ＰＣ１０はメモリカード空き容量を所定量確保する設定がされているか否かを判定する。これは、図８に示す空き容量設定チェックボックス６２０がチェックされているか否かを確認することにより行われる。チェックされていない場合、空き容量の確保は必要ないので、処理を終了する。チェックされている場合、ステップＳ１３０２に処理を進める。
【００５３】
ステップＳ１３０２では、ＰＣ１０はメモリカード２０８の空き容量をカメラ２０から取得する。具体的には、映像データ管理部５２が、通信管理部５１を経由してカメラ２０に対して、空き容量をＰＣ１０に送信するように指示するコマンドを送信することで、カメラ２０がメモリカード２０８の空き容量のデータを取得する。
ステップＳ１３０３では、ＰＣ１０は取得した空き容量がユーザにより予め設定された値より少ないか否かを判定する。ここで、ユーザが設定されている値とは、図８に示す空き容量指定入力ボックス６２１において入力された値である。メモリカードの空き容量が設定値より多い場合、以降の処理は必要ないので、処理を終了する。一方、メモリカードの空き容量が設定値より少ない場合、ステップＳ１３０４に処理を進める。
【００５４】
ステップＳ１３０４では、ＰＣ１０は、画像データリスト１２００から削除する候補画像データを検索する。具体的に、ＰＣ１０は、圧縮データフラグがメタデータ内に存在し、かつ読み取り専用属性がＦＡＬＳＥの画像データのうち、撮影日付が一番古い要素を探す。
ステップＳ１３０５では、ＰＣ１０は上述したような条件に合う画像データが検索されたか否かを判定し、検索された場合、ステップＳ１３０６に処理を進め、検索されない場合、ステップＳ１３０８に処理を進める。
ステップＳ１３０６では、ＰＣ１０は検索された画像データを削除する。
その後、ステップＳ１３０７において、ＰＣ１０は、削除した画像データに対応する要素を画像データリスト１２００から削除する。
一方、ステップＳ１３０８では、ＰＣ１０は図１４に示すように書き戻し停止画面１４００を表示し、書き戻し処理を停止する旨を表示する。
【００５５】
このように、本実施形態では、ＰＣ１０とカメラ２０とを接続することでカメラ２０に挿入されているメモリカード２０８に保存されている画像データがＰＣ１０のハードディスクドライブ３０に自動的に記憶される。さらに、ＰＣ１０は、カメラ２０のメモリカード２０８に保存された画像データを新たに圧縮データとして生成し、カメラ２０のメモリカード２０８に書き戻す。したがって、カメラ２０において画像データの閲覧や画像データのプリントが可能なままメモリカード２０８の空き容量を増やすことができる。また、ＰＣ１０が、圧縮データを作成することにより、高速で圧縮データを生成することができる。また、ＰＣ１０がカメラ２０のメモリカードの空き容量をチェックすることにより、圧縮データを書き戻しても、ユーザが必要とする空き容量を確保することもできる。
【００５６】
なお、ＰＣ１０のイメージデバイス管理システム４０が、カメラ２０の接続を検知したとき、自動的にアプリケーションソフトウェア５０を起動するように登録しておいてもよい。さらに、イメージデバイス管理システム４０が自動的にアプリケーションソフトウェア５０を起動した場合、自動的に、主画面５００の接続ボタン５０１が押下された場合と同等の処理を行うようにアプリケーションソフトウェア５０を設定しておいてもよい。このように設定することで、カメラ２０をＰＣ１０に接続するだけで書き戻しの処理が行われ、上述と同様な効果が自動的に得られる。
【００５７】
次に、図９のステップＳ９３０において、ＰＣ１０がカメラ２０を介したカメラ操作を検知した場合の処理ついて説明する。上述ではＰＣ１０とカメラ２０とを接続すると、カメラ２０は、自動的にカメラ２０内の画像データをＰＣ１０に転送すると同時にＰＣ１０は、カメラ２０内に画像データを圧縮した圧縮データを書き戻す処理を行っていた。
その後、ＰＣ１０は、カメラ操作を受け付け、ユーザによるカメラ２０の移動ボタン２１０５の操作に応じて、図７に示す選択枠５３０を移動して選択画像を変更することができる。また、ＰＣ１０は、ユーザによりカメラ２０のセットボタン２１０４の押下に応じて、選択画像を別ウィンドウで表示する。ＰＣ１０は、表示する画像データが静止画データであればカメラ操作による拡大または縮小する操作に応じて、その表示している表示範囲の画像データを生成し、カメラ２０に書き戻す。一方、ＰＣ１０は、表示する画像データが動画データであれば、カメラ操作に応じて、動画データ再生中の一部の動画データまたは動画データ再生中のフレーム画像を生成し、カメラ２０に書き戻す。
以下、このようなカメラ操作による手動書き戻し処理方法について説明する。なお、以下で説明する手動書き戻し処理は、カメラ２０内に保存されている圧縮データから更に圧縮する処理を行うのではなく、ＰＣ１０に保存されている圧縮前の画像データを用いて、ユーザの好みに応じた圧縮データを作成する処理である。
【００５８】
次に、図９のステップＳ９３１のカメラ操作処理について、図１５に示すフローチャートを参照して説明する。このフローチャートは、ＰＣ１０のＣＰＵがアプリケーションソフトウェア５０を実行することにより実現する。
まず、ステップＳ１５０１では、ＰＣ１０はユーザによるキーボード１８やマウス１４を介したＰＣ操作を検知したか否かを判定する。ＰＣ操作を検知しない場合、ステップＳ１５０２に処理を進め、ＰＣ操作を検知した場合、カメラ操作処理を終了する。
ステップＳ１５０２では、ＰＣ１０はユーザによるカメラ２０を介したカメラ操作を検知したか否かを判定する。カメラ操作を検知しない場合、ステップＳ１５０１に処理を戻し、カメラ操作を検知した場合、ステップＳ１５０３に処理を進める。
【００５９】
ステップＳ１５０３〜ステップＳ１５０５では、ＰＣ１０は、カメラ操作の種類を判断する。すなわち、ＰＣ１０は、ステップＳ１５０３において、カメラ操作がセットボタン２１０４の押下か否かを判定し、ステップＳ１５０４において、移動ボタン２１０５の押下か否かを判定する。また、ＰＣ１０は、ステップＳ１５０５においてＰＣ１０とカメラ２０の接続を切断するような、例えば電源ボタン２１０１等の押下か否かを判定する。
カメラ操作がセットボタン２１０４の押下であった場合、ステップＳ１５０６に処理を進め、ＰＣ１０は、選択枠５３０を表示している画像データ、すなわち選択画像の情報を取得する。このとき、ＰＣ１０が取得する情報は、ＰＣ１０内に保存されている圧縮前の画像データの情報である。
【００６０】
次に、ステップＳ１５０７では、ＰＣ１０は、取得した画像データの情報から画像データが動画データであるか否かを判定する。動画データの場合、ステップＳ１５０８の動画手動圧縮処理に進める。この動画手動圧縮処理についての詳細は、後述する。一方、動画データではない場合、ステップＳ１５０９に処理を進め、画像データがＪｐｅｇやＲＡＷであるか否かを判定する。画像データがＪｐｅｇやＲＡＷの場合、ステップＳ１５１０の静止画手動圧縮処理に進める。この静止画手動圧縮処理についての詳細は、後述する。一方、画像データがＪｐｅｇやＲＡＷでもない場合、ステップＳ１５１０に処理を戻す。
なお、ステップＳ１５０４において、カメラ操作が移動ボタン２１０５の場合、ステップＳ１５１１に処理を進め、ＰＣ１０は、移動ボタン２１０５の操作に応じて選択枠５３０を移動して選択画像を変更する。また、ステップＳ１５０５において、カメラ操作が切断するような操作ではない場合、ステップＳ１５０１に処理を戻す。なお、ここでは、選択画像の取得方法や選択枠移動の処理方法についての説明は省略する。
【００６１】
次に、図１６に示すフローチャートを参照して、図１５のステップＳ１５０８の動画手動圧縮処理について説明する。
まず、ステップＳ１６０１では、ＰＣ１０は、動画データの先頭フレームを主画面５００と異なる別ウィンドウに表示する。この処理は、再生処理手段による処理に一例に対応する。
続いて、ステップＳ１６０２では、ＰＣ１０は、動画データのレリーズフラグ（動画レリーズフラグ）を初期化する。ここで、動画レリーズフラグは、動画データから一部の動画データを抜き出して圧縮する場合に、録画開始フレーム位置を特定するレリーズであったか、録画終了フレーム位置を特定するレリーズであったかの判断に使用する。すなわち、ＰＣ１０が動画データを再生し、動画レリーズフラグがＴＲＵＥの場合、レリーズのカメラ操作があったときのフレームを録画終了フレーム位置として特定する。また、動画レリーズフラグがＦＡＬＳＥのときに、レリーズのカメラ操作があったときのフレームを録画開始フレーム位置として特定する。ここでは、例えばＰＣ１０の映像データ圧縮部５３が動画レリーズフラグがＴＲＵＥであるかＦＡＬＳＥであるかの設定を記憶し、管理する。
【００６２】
そして、ステップＳ１６０３では、ＰＣ１０はユーザによるレリーズのカメラ操作を検知したか否かを判定する。ここでは、レリーズのカメラ操作としては、ＰＣ１０はシャッターボタン２１０２の押下を検知するものとする。レリーズを検知した場合、ステップＳ１６０４に処理を進め、ＰＣ１０は撮影モードが動画撮影モードであるか否かを判定する。撮影モードが動作撮影モードの場合、ステップＳ１６０５に処理を進め、撮影モードが動作撮影モードでない場合、ステップＳ１６０６に処理を進める。ステップＳ１６０６では、ＰＣ１０は撮影モードが静止画撮影モードであるか否かを判定する。
ここで、撮影モードが動画撮影モードに設定されている場合、動画データから一部の動画データを抜き出す処理となり、撮影モードが静止画撮影モードに設定されている場合、動画データから静止画データを抜き出す処理となる。
【００６３】
撮影モードが動画撮影モードに設定されている場合、ステップＳ１６０５において、ＰＣ１０は、動画レリーズフラグがＴＲＵＥか否かを判定する。動画レリーズフラグがＴＲＵＥの場合、ステップＳ１６０６に処理を進める。一方、動画レリーズフラグがＦＡＬＳＥの場合、ステップＳ１６１０に処理を進め、ＰＣ１０は、動画レリーズフラグをＴＲＵＥに設定する。続いて、ステップＳ１６１１では、ＰＣ１０は、動画データの録画開始フレーム位置を記録する。このようにレリーズを検知したときのフレームを録画開始フレーム位置として決定することで、ＰＣ１０は動画データから一部の動画データを抜き出す録画開始フレームを特定することができる。
【００６４】
一方、ステップＳ１６０６において、ＰＣ１０は、動画終了フレーム位置を記録する。このようにレリーズを検知したときのフレームを動画終了フレーム位置として決定することで、ＰＣ１０は動画データから一部の動画データを抜き出す録画終了フレームを特定することができる。
ステップＳ１６０７では、ＰＣ１０は、動画レリーズフラグをＦＡＬＳＥに戻す。
次に、ステップＳ１６０８では、ＰＣ１０は、ステップＳ１６１１で記録した録画開始フレーム位置からステップＳ１６０６で記録した録画終了フレーム位置までの、圧縮データとしての動画データを作成する。このとき、ＰＣ１０は、動画データに必要なメタデータも圧縮前の動画データと同じように設定する。ただし、メタデータに含まれるＵＵＩＤ（識別情報）については、ＰＣ１０は圧縮前の動画データに枝番を設定する等して、異なるＵＵＩＤを付加するが、圧縮後と圧縮前との動画データを対応付けられるようなＩＤとする。ＰＣ１０は、作成した圧縮データを一時的に保存しておく。
【００６５】
また、他にＵＵＩＤを付加して対応付ける方法としては、例えば、ＰＣ１０が異なるＵＵＩＤを圧縮データに付加し、圧縮前データのＵＵＩＤとの関係を対応付けたリストを作成することによっても実現できる。このようにすることで、同一データに対して、例えば一回再生の間、手動圧縮処理および書き戻し処理をユーザが好きなだけ行うことができ、圧縮前データを圧縮データから検索することも容易である。
このようにＵＵＩＤを圧縮データに付加する処理は、後述するステップＳ１６１２において動画データから静止画データを作成する処理や、図１８において後述する静止画データから静止画データを作成するステップＳ１８０４の処理でも用いることができる。
ステップＳ１６０９では、ＰＣ１０は、手動書き戻し処理を行う。この手動書き戻し処理の詳細は、後述する。
【００６６】
一方、ステップＳ１６０６において、撮影モードが静止画撮影モードに設定されている場合、以降の処理において、ＰＣ１０は、動画データから静止画データを作成する。
ステップＳ１６１２では、ＰＣ１０は、レリーズが押下されたときのフレームを静止画データとして抽出する。ＰＣ１０は、抽出した静止画データを圧縮データとして、一時的に保存しておく。ここでは、静止画データのデータタイプをＪｐｅｇとする。
ステップＳ１６１３では、ＰＣ１０は、Ｊｐｅｇのヘッダ情報として必要な情報を書き込む。ここでは、Ｊｐｅｇのヘッダに上述したＵＵＩＤを設定する。
続いて、ステップＳ１６１４では、ＰＣ１０は、手動書き戻し処理を行う。この手動書き戻し処理の詳細は、後述する。
【００６７】
次に、ステップＳ１６１５では、ＰＣ１０は、動画データの最後のフレームまで表示したかを判定する。現在の表示しているフレームが最後のフレームでない場合、ステップＳ１６１６に処理を進め、ＰＣ１０は、動画データの次のフレームを表示し、ステップＳ１６０３に処理を戻す。一方、最後のフレームの場合、ステップＳ１６１７に処理を進め、ＰＣ１０は、動画レリーズフラグがＴＲＵＥか否かを判定する。動画レリーズフラグがＴＲＵＥの場合、ステップＳ１６１８に処理を進める。この場合、動画の録画開始フレーム位置は記憶しているが終了フレーム位置が指定されていない状態であるため、ＰＣ１０は、動画データの最後のフレームを録画終了フレーム位置として記録し、上述したステップＳ１６０７からの動画データ作成の処理に進める。
一方、ステップＳ１６１７において、動画レリーズフラグがＦＡＬＳＥの場合、ステップＳ１６１９に処理を進め、ＰＣ１０は、表示していた別ウィンドウを閉じて動画手動圧縮処理を終了する。
なお、本実施形態では、最後のフレームまで再生したら別ウィンドウを閉じるという処理にしたが、ユーザによるカメラ２０のボタンを検知してから終了するように処理を行ってもよい。
【００６８】
次に、図１６のステップＳ１６０９およびステップＳ１６１４における手動書き戻し処理について、図１７に示すフローチャートを参照して説明する。
まず、ステップＳ１７０１では、ＰＣ１０は、書き戻す圧縮データの保存サイズ容量を取得する。
次に、ステップＳ１７０２では、ＰＣ１０は、カメラ２０のメモリカード２０８の空き容量を取得して、圧縮データを保存するための空き容量が不足しているか否かを判定する。空き容量が不足している場合、ステップＳ１７０３に処理を進め、ＰＣ１０は図１４に示すように書き戻し停止画面１４００を表示し、書き戻し処理を停止する旨を表示する。一方、空き容量が不足していない場合、ステップＳ１７０４に処理を進める。
【００６９】
ステップＳ１７０４では、ＰＣ１０は作成した圧縮データをカメラ２０に転送することで書き戻しの処理を行う。この処理は、圧縮データ送信手段による処理の一例に対応する。一方、カメラ２０は、転送された圧縮データを受信して、メモリカード２０８に保存する。この処理は、記憶処理手段による処理の一例に対応する。
ステップＳ１７０５では、ＰＣ１０は一時的に保存していた圧縮データを削除する。
ステップＳ１７０６では、ＰＣ１０はカメラ２０に圧縮前の元となった画像データ、または自動での書き戻し処理によって書き戻された圧縮データがある場合、そのデータを削除するようにコマンドを送信する。カメラ２０は、コマンドに対応するデータを削除して、手動書き戻しの処理を終了する。
ここで、ステップＳ１７０６のように圧縮データ等を削除するのは、ユーザが自ら手動書き戻しにより圧縮データを作成するためのカメラ操作を行っているのであれば、自動での書き戻しの処理において書き戻された圧縮データは不要であると想定されるためである。なお、自動での書き戻し圧縮データを削除するか否かは、設定画面等でユーザが選択できるようにしてもよい。また、ＰＣ１０は、ステップＳ１７０６の処理を行い、カメラ２０のメモリカード２０８の空き容量を確保してから、ステップＳ１７０４の書き戻しの処理を行ってもよい。
【００７０】
次に、図１８に示すフローチャートを参照して、図１５のステップＳ１５１０の静止画手動圧縮処理について説明する。
まず、ステップＳ１８０１では、ＰＣ１０は、選択されている静止画データを主画面５００と異なる別ウィンドウに表示する。この処理は、表示処理手段により処理の一例に対応する。
ステップＳ１８０２では、ＰＣ１０はユーザによるレリーズのカメラ操作を検知したか否かを判定する。レリーズを検知した場合、ステップＳ１８０３に処理を進め、ＰＣ１０は、撮影モードが静止画撮影モードであるか否かを判定する。撮影モードが静止画撮影モードの場合、ステップＳ１８０４に処理を進める。撮影モードが動画撮影モードや再生モード等、静止画撮影モード以外の場合、ステップＳ１８０２に処理を戻す。すなわち、ユーザがレリーズを押下するカメラ操作を行ったとしても、撮影モードが静止画撮影モードではない場合、ＰＣ１０は書き戻しの処理を行わない。
【００７１】
一方、ステップＳ１８０２において、レリーズを検知しない場合、ステップＳ１８０６に処理を進め、ＰＣ１０は、ユーザにより拡大縮小ボタン２１０８を押下するカメラ操作を検知したか否かを判定する。拡大縮小ボタン２１０８のカメラ操作を検知した場合、ステップＳ１８０７に処理を進める。
ステップＳ１８０７では、ユーザによる拡大縮小ボタン２１０８のカメラ操作によりカメラ２０が表示部２０９に表示している画像データの表示範囲が変更されるため、ＰＣ１０は、カメラ２０から表示範囲を取得する。
次に、ステップＳ１８０８では、ＰＣ１０は、取得した表示範囲になるように別ウィンドウに表示している画像データの表示範囲を変更する。この後、ステップＳ１８０２に処理を進める。
【００７２】
一方、ステップＳ１８０６において、拡大縮小ボタン２１０８を検知しない場合、ステップＳ１８０９に処理を進め、ＰＣ１０は、ユーザによりセットボタン２１０４を押下するカメラ操作を検知したか否かを判定する。セットボタン２１０４のカメラ操作を検知した場合、ステップＳ１８１０に処理を進める。
ステップＳ１８１０では、ＰＣ１０は、表示していた別ウィンドウを閉じて静止画手動圧縮処理を終了する。
一方、ステップＳ１８０３において、撮影モードが静止画撮影モードの場合、ステップＳ１８０４に処理を進め、ＰＣ１０は、表示している画像データの表示範囲（表示領域）で圧縮データとしての静止画データを作成する。
次に、ステップＳ１８０５では、ＰＣ１０は、図１７に示す手動書き戻しの処理を行う。
【００７３】
本実施形態の静止画手動圧縮処理では、静止画データに対して拡大縮小を行った上で、その表示範囲で書き戻す処理を行う場合について説明したが、他にも、様々な画像処理を行った上で画像データを書き戻す処理を行ってもよい。この画像処理には、例えば、色の変換、赤目補正、ノイズ除去等が含まれる。このとき、保存サイズが元のデータよりも増えてしまう可能性があるため、データを書き戻すときは、圧縮して書き戻す等、保存サイズを小さくする処理を行ってもよい。また、オプションとして、ユーザによる設定により保存サイズを小さくせずに書き戻すようにしてもよい。
【００７４】
このように、本実施形態では、ＰＣ１０がユーザによるカメラ操作を受け付け、ユーザが所望する圧縮データを作成することができる、
また、圧縮前のデータと書き戻した圧縮データとはＵＵＩＤにより対応付けているので、書き戻した圧縮データをユーザによるカメラ操作により選択して、圧縮前のデータを再生することができる。例えば、図１６のステップＳ１６０１において、ＰＣ１０は、カメラ操作によって選択された圧縮前の動画データの先頭フレームを別ウィンドウに表示し、その後カメラ操作がなければ最後のフレームまで自動的に再生する。
また、この方法以外にも、図１６のステップＳ１６０１において、ＰＣ１０は、先頭フレームではなく、カメラ操作によって選択された再生開始位置のフレームから再生してもよい。すなわち、手動書き戻しによって、動画データから圧縮データとしての静止画データを複数枚、カメラ２０に書き戻している場合を想定する。この場合、ＰＣ１０は、動画データの再生開始のフレーム位置を圧縮データのメタデータに書き込んでおいたり、リストとして保存したりすることで、再生開始位置のフレームを特定する。このようにすることで、長時間撮影された動画データの場合であっても、ユーザが再生したい位置でカメラ２０に静止画データの書き戻しを行い、その書き戻した圧縮データをインデックスとしてアプリケーション上で再生できることになり、使い勝手が向上する。
【００７５】
このように、本実施形態によれば、自動で圧縮データをカメラ２０に書き戻した後、ユーザの好みに応じて画像データから取り出したい一部のみを書き戻すことができる。また、圧縮前のデータや自動で書き戻したデータは、カメラ２０から削除することにより、メモリカードの空き容量を圧迫することなく、ユーザの好みに最も適した画像データのみを保存しておくことができる。また、ユーザは特に指定しなくとも、自動での書き戻しの処理により、自動的にカメラ２０のメモリカードの空き容量を圧迫させないで画像データを残すことができる。さらに、ユーザが所望する場合は、手動書き戻しにより、ユーザの好みの圧縮データやその圧縮方法を指定して書き戻しを行うことができる。
【００７６】
また、手動書き戻しの処理では、一つの画像データから幾つもの圧縮データを作成して書き戻すことができるので、例えば、動画データを前半のお気に入りシーンと、後半のお気に入りシーンに分けてカメラ２０に保存しておくことができる。また、手動書き戻しの処理は、ユーザによるカメラ操作のみで行えるため、カメラ操作に慣れたユーザは新たに操作を覚える必要がなく、ユーザは非常に容易に操作することができる。
また、カメラ２０に書き戻した圧縮データは、ＰＣ１０に保存している圧縮前のデータのＵＵＩＤと対応付けられたＵＵＩＤが付されている。したがって、一度接続を切ってから再接続した場合も、カメラ２０内に保存された圧縮データをカメラ操作によって選択して、ＰＣ１０内にある圧縮前データを再生させることが可能である。
【００７７】
（第２の実施形態）
次に、第２の実施形態に係る情報処理システムについて説明する。なお、本実施形態に係る情報処理システム１のＰＣ１０とカメラ２０との構成は、第１の実施形態と同様であり、その説明は省略する。
次に、第２の実施形態に係る情報処理システム１のＰＣ１０による書き戻しの処理について、図１９に示すフローチャートを参照して説明する。
図１９に示すフローチャートは、ステップＳ９０１の処理の後、ステップＳ１９０１の書き戻し障害復旧処理が追加されている点で、第１の実施形態の図９に示すフローチャートと異なっている。また、ステップＳ９２３の処理の後、ステップＳ１９０２において、圧縮データをカメラに転送する処理が第１の実施形態と異なっている。なお、第１の実施形態の図９に示すフローチャートと同一の処理については、同一のステップ番号を付して、その説明を省略する。
【００７８】
まず、ステップＳ１９０２について説明する。
ステップＳ１９０２では、ＰＣ１０はステップＳ９２２で作成した圧縮データをカメラ２０のメモリカード２０８に保存する書き戻しの処理を行う。
ここでは、図２０、図２１に示すフローチャートを参照して、図１９のステップＳ１９０２の書き戻し処理について説明する。
まず、図２０に示すフローチャートにおいて、ステップＳ２００１では、ＰＣ１０は、カメラ２０に対して書き戻し処理開始コマンドを送信する。このとき、ＰＣ１０は、パラメータとして書き戻す圧縮データのデータサイズ、すなわち図１９のステップＳ９２２において作成した圧縮データのデータサイズ、ファイル名および圧縮データに含まれているＵＵＩＤを送信する。したがって、ここでは、ＰＣ１０は、圧縮データの送信を行わない。
【００７９】
ステップＳ２００２では、ＰＣ１０は、書き戻し開始コマンドが成功したか否かを判定する。具体的には、ＰＣ１０は、カメラ２０から後述するような書き戻し開始コマンドが正常終了したことを示す値を受信した場合、書き戻し開始コマンドが成功したと判定する。成功した場合、ステップＳ２００３に処理を進める。成功しない場合、処理を終了する。
ステップＳ２００３では、ＰＣ１０は、カメラ２０に書き戻しを行う圧縮データと共に圧縮データ送信コマンドを送信する。本実施形態では、必ず、ステップＳ２００１の書き戻し処理開始コマンドを送信した直後に、圧縮データを送信するようになっている。
【００８０】
次に、図２１は、書き戻しの処理におけるカメラ２０の動作処理を示すフローチャートである。このフローチャートは、カメラ２０のＣＰＵが、不揮発性ＲＯＭ２１１に格納されたプログラムを実行することにより実現する。
まず、ステップＳ２１０１では、カメラ２０は、ＰＣ１０からの書き戻し処理開始コマンドを受信する。書き戻し処理開始コマンドには、上述したように圧縮データのデータサイズ、ファイル名および圧縮データに含まれているＵＵＩＤが含まれている。
ステップＳ２１０２において、カメラ２０は、受信したパラメータから圧縮データのデータサイズ（データ容量）がメモリカード２０８の空き容量より少ないか否かを判定する。この処理は、比較手段により処理の一例に対応する。比較結果によりデータサイズが空き容量より少ないと判定した場合、ステップＳ２１０３に処理を進め、カメラ２０は、特殊処理フラグをＦＡＬＳＥに設定する。ここで、特殊処理フラグとは、カメラ２０の不揮発性ＲＯＭ２１１に格納されたプログラム内で使用するフラグであって、メモリカード２０８の空き容量が少ない場合に行う特殊処理が必要か否かを示すものである。なお、この処理は、カメラ２０に限られず、ＰＣ１０が行ってもよい。この場合、ＰＣ１０は、カメラ２０からメモリカード２０８の空き容量の情報を取得すればよい。
【００８１】
一方、ステップＳ２１０２において、データサイズが空き容量より少なくない場合、ステップＳ２１０４に処理を進める。
ステップＳ２１０４では、カメラ２０は、特殊処理フラグをＴＲＵＥに設定する。
次に、ステップＳ２１０５では、書き戻し処理開始コマンドのパラメータに含まれるＵＵＩＤとファイル名（ファイル名情報）を不揮発性ＲＯＭ２１１に記憶する。この処理は、識別情報記憶処理手段による処理の一例に対応する。
次に、ステップＳ２１０６では、カメラ２０は、書き戻し処理開始コマンドを正常終了する。ここでは、カメラ２０は、ＰＣ１０に対して、正常終了したことを示す値を送信する。
【００８２】
ステップＳ２１０７では、カメラ２０は、次にＰＣ１０から送信されるコマンドを待機する。
ステップＳ２１０８では、カメラ２０は、受信したコマンドが圧縮データ送信コマンドであるか否かを判定する。圧縮データ送信コマンドではない場合、ステップＳ２１０９に処理を進め、カメラ２０は、不揮発性ＲＯＭ２１１に記憶したＵＵＩＤとファイル名とを削除した後、エラー終了する。
【００８３】
一方、ステップＳ２１０８において、圧縮データ送信コマンドの場合、ステップＳ２１１０に処理を進める。
ステップＳ２１１０では、カメラ２０は、特殊処理フラグの設定がＴＲＵＥであるか否かを判定する。ＴＲＵＥの場合には、ステップＳ２１１１に処理を進める。
ステップＳ２１１１の処理以降では、圧縮データのデータサイズより、メモリカード２０８の空き容量が少ない場合の処理となる。
すなわち、ステップＳ２１１１において、カメラ２０は、ＰＣ１０から圧縮データ送信コマンドと共に送信された圧縮データをＲＡＭ２１２に一時的に記憶する。この処理は、一時記憶処理手段による処理の一例に対応する。
【００８４】
次に、ステップＳ２１１２では、カメラ２０は、メモリカード２０８内の元の画像データ、すなわちオリジナル画像データを削除する。この処理は、データ削除手段による処理の一例に対応する。
次に、ステップＳ２１１３では、カメラ２０は、ＲＡＭ２１２に一時的に記憶した圧縮データをメモリカード２０８に移動する。この処理は、補助記憶処理手段による処理の一例に対応する。このとき、カメラ２０は、不揮発性ＲＯＭ２１１に記憶した圧縮データのファイル名を付加する。
ステップＳ２１１４では、カメラ２０は、不揮発性ＲＯＭ２１１に記憶したＵＵＩＤおよびファイル名を削除する。
【００８５】
一方、ステップＳ２１１０において、特殊処理フラグがＦＡＬＳＥに設定されている場合、すなわちメモリカード２０８に十分な空き容量がある場合、ステップＳ２１１５に処理を進める。
ステップＳ２１１５では、カメラ２０は、ＰＣ１０から圧縮データ送信コマンドと共に送信された圧縮データをメモリカード２０８に保存する。このとき、カメラ２０は、この圧縮データに一時的なファイル名を付加する。このファイル名は、自身で認識可能で再生可能なものであることが望ましい。
次に、ステップＳ２１１６では、カメラ２０は、メモリカード２０８内の元の画像データ、すなわちオリジナル画像データを削除する。このとき、カメラ２０は、削除した画像データのファイル名をＲＡＭ２１２に記憶する。
最後に、ステップＳ２１１７では、カメラ２０は、メモリカード２０８に保存した圧縮データのファイル名をステップＳ７０で作成した、ファイルのファイル名をステップＳ２１１６において削除した画像データのファイル名に変更する。
【００８６】
次に、メモリカード２０８の空き容量が少ない場合において、図１６のステップＳ２１１２〜ステップＳ２１１３の処理の完了までの間に、電源のオフやケーブルの接続不良等による論理的または物理的な接続の切断が起こったとする。この場合、圧縮データが正しくメモリカード２０８に書き戻されないことになる。
そこで、本実施形態では、ＰＣ１０とカメラ２０との接続を開始したときに、障害が起きた場合の復旧処理を行うようにしている。この処理は、図１９に示すフローチャートのステップＳ１９０１の書き戻し障害復旧処理に相当する。
【００８７】
次に、図２２のフローチャートを参照して、図１９に示すフローチャートのステップＳ１９０１の書き戻し障害復旧処理について説明する。
まず、ステップＳ２２０１では、ＰＣ１０は、カメラ２０に対して不揮発性ＲＯＭ２１１に記憶されているＵＵＩＤおよびファイル名を要求する。
ステップＳ２２０２では、ＰＣ１０は、カメラ２０からＵＵＩＤおよびファイル名の取得に成功したか否かを判定する。取得できなかった場合、一連の処理を終了し、取得できた場合、ステップＳ２２０３に処理を進める。
【００８８】
ステップＳ２２０３では、ＰＣ１０は、取得したＵＵＩＤが付加された画像データを映像データライブラリ３１から検索し、検索された画像データの圧縮データを作成する。
次に、ステップＳ２２０４では、ＰＣ１０は、圧縮データをカメラ２０に転送する。この処理は、図２１に示す書き戻しの処理におけるカメラ２０の動作処理を示すフローチャートと同じである。
このように、書き戻し障害復旧処理では、メモリカード２０８の空き容量が少ない場合に、書き戻し処理中に障害が発生したとしても、カメラ２０を同じＰＣ１０に再接続すれば、自動的に書き戻し処理が再度行われることになる。
【００８９】
なお、書き戻し障害復旧処理が行われる前、カメラ２０の不揮発性ＲＯＭ２１１にファイル名が記憶されている状態において、カメラ２０の撮影が行われることも想定される。この場合、確実に書き戻し障害復旧処理が行われるように、カメラ２０は、撮影して生成した新たな画像データのファイル名に、不揮発性ＲＯＭ２１１に記憶されているファイル名を使用しないようにする。
また、本実施形態では、カメラ２０の不揮発性ＲＯＭ２１１にファイル名のみを記憶しているが、それに限定されることなく、置き換えられるファイルが格納されているフォルダ名等を含んでいてもよい。
【００９０】
また、カメラ２０の不揮発性ＲＯＭ２１１にＵＵＩＤおよびファイル名を記憶している状態で、カメラ２０とＰＣ１０とを接続した場合、ＰＣ１０がカメラ２０に対してＵＵＩＤ、ファイル名を要求し所望の圧縮データを作成する場合について説明した。カメラ２０が、ＰＣ１０に対してＵＵＩＤが一致する画像データの圧縮データを作成するように要求してもよい。
【００９１】
このように、本実施形態では、メモリカードに空き容量が十分にある場合には、まず、カメラ２０のメモリカード２０８に記録してから、元の画像データを削除することで、安全にデータの置き換えが可能である。一方、メモリカードに十分な空き容量がない場合には、書き戻すべき画像データのＵＵＩＤとファイル名とを不揮発性ＲＯＭに記憶することで、障害が発生した際の復旧を自動で行うことができ、信頼性の高いシステムを構築することが可能となる。
【００９２】
なお、本実施形態では、自動での書き戻しされた圧縮データのデータサイズがメモリカード２０８の空き容量より少ないか否かを判定する場合についてのみ説明したが、この場合に限られない。すなわち、例えば図１９のカメラ操作処理によって手動で生成された圧縮データについても、カメラが圧縮データのデータサイズがメモリカード２０８の空き容量より少ないか否かを判定する処理をして、図２１に示すフローチャートと同様の処理を行ってもよい。
【００９３】
上述した本発明の実施形態における情報処理システム、情報処理装置を構成する各手段、または情報処理方法の各ステップは、ＰＣまたはカメラのＲＡＭやＲＯＭ等に記憶されたプログラム（アプリケーションソフトウェア）が動作することによって実現できる。このプログラム及びこのプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００９４】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、一つの機器からなる装置に適用してもよい。
【００９５】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムを、システム又は装置に直接、又は遠隔から供給する。そして、そのシステム又は装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【符号の説明】
【００９６】
１：情報処理システム      １０：ＰＣ（情報処理装置）
２０：カメラ（情報生成装置）    ３０：ハードディスクドライブ
３１：映像データライブラリ  ５０：デジタルカメラ用アプリケーションソフトウェア
【図１】
0005523014.tif 000002
【図２】
0005523014.tif 000003
【図３】
0005523014.tif 000004
【図４】
0005523014.tif 000005
【図５】
0005523014.tif 000006
【図６】
0005523014.tif 000007
【図７】
0005523014.tif 000008
【図８】
0005523014.tif 000009
【図９】
0005523014.tif 000010
【図１０】
0005523014.tif 000011
【図１１】
0005523014.tif 000012
【図１２】
0005523014.tif 000013
【図１３】
0005523014.tif 000014
【図１４】
0005523014.tif 000015
【図１５】
0005523014.tif 000016
【図１６】
0005523014.tif 000017
【図１７】
0005523014.tif 000018
【図１８】
0005523014.tif 000019
【図１９】
0005523014.tif 000020
【図２０】
0005523014.tif 000021
【図２１】
0005523014.tif 000022
【図２２】
0005523014.tif 000023