(57)【要約】【課題】  転送処理中の動作モード切替に対応可能な、使い勝手の良い撮像装置を提供すること。【解決手段】  動作モードの切替指示があった場合、画像データの転送処理中かどうかを調べる（Ｓ９０７）。画像データ転送中で無ければ、直ちに動作モードを切り替える（Ｓ９１７）。一方、画像データの転送中であれば、転送終了（Ｓ９１５）を待ってから動作モードを切り替える（Ｓ９１７）。【選択図】  図９
2007081489.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第１の動作モードと第２の動作モードを有し、前記第１及び第２の動作モードにおいて、外部装置に対する画像データ転送が可能な撮像装置であって、
前記外部装置との通信を行う通信手段と、
前記第１及び第２の動作モードの切替指示を検出する検出手段と、
前記第１及び第２の動作モードの一方の動作モードにおいて、前記通信手段が前記外部装置へ画像データを転送している際に、前記検出手段が前記第１及び第２の動作モードの他方の動作モードへの切替指示を検出した場合、前記通信手段が実行中の転送が完了するのを待ってから、前記他方の動作モードへの切替を行う切替制御手段とを有することを特徴とする撮像装置。
【請求項２】
さらに、前記第１及び第２の動作モードの一方の動作モードにおいて、前記通信手段が前記外部装置へ画像データを転送している際に、前記検出手段が前記第１及び第２の動作モードの他方の動作モードへの切替指示を検出した場合、ユーザによる前記通信手段が実行中の転送処理の中止指示を可能とするユーザインターフェースを提示する提示手段をさらに有し、
前記切替制御手段は、前記ユーザインターフェースから前記中止指示が入力された場合には、前記通信手段が実行中の転送処理を中止させた後、前記他方の動作モードへの切替を行うことを特徴とする請求項１記載の撮像装置。
【請求項３】
前記通信手段は、前記撮像装置が前記第１及び第２の動作モードのいずれで動作しているかに関わらず、前記画像データを同一手順で前記外部装置に転送することを特徴とする請求項１又は請求項２記載の撮像装置。
【請求項４】
少なくとも第１の動作モードと第２の動作モードを有し、前記第１及び第２の動作モードにおいて、外部装置に対する画像データ転送が可能な撮像装置であって、
前記外部装置との通信を行う通信手段であって、前記撮像装置が前記第１及び第２の動作モードのいずれで動作しているかに関わらず、前記画像データを同一手順で前記外部装置に転送し、かつ前記転送をバックグラウンド処理可能な通信手段と、
前記第１及び第２の動作モードの切替指示を検出する検出手段と、
前記第１及び第２の動作モードの一方の動作モードにおいて、前記通信手段が前記外部装置へ画像データを転送している際に、前記検出手段が前記第１及び第２の動作モードの他方の動作モードへの切替指示を検出した場合、前記通信手段が実行中の転送を前記バックグラウンド処理させながら、前記他方の動作モードへの切替を行う切替制御手段とを有することを特徴とする撮像装置。
【請求項５】
前記通信手段がＰＴＰ通信により前記画像データの転送を行うとともに、前記外部装置に転送する画像データがある場合、当該転送する画像データを特定する情報と共に転送要求を前記外部装置に対して送信することを特徴とする請求項１乃至請求項４のいずれか１項に記載の撮像装置。
【請求項６】
少なくとも第１の動作モードと第２の動作モードを有し、前記第１及び第２の動作モードにおいて外部装置に対する画像データ転送が可能であり、外部装置との通信を行う通信手段と、前記第１及び第２の動作モードの切替指示を検出する検出手段とを有する撮像装置の制御方法であって、
前記第１及び第２の動作モードの一方の動作モードにおいて、前記通信手段が前記外部装置へ画像データを転送している際に、前記検出手段が前記第１及び第２の動作モードの他方の動作モードへの切替指示を検出した場合、前記通信手段が実行中の転送が完了するのを待ってから、前記他方の動作モードへの切替を行うように制御する切替制御工程を有することを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルカメラ等の撮像装置及びその制御方法に関し、特に外部装置へ通信により画像データを転送可能な撮像装置及びその制御方法に関する。
【背景技術】
【０００２】
デジタルカメラ等、画像データを電子データとして出力可能な撮像装置においては、外部装置に画像データを転送可能なものが知られている（特許文献１参照）。また、撮影時に記録媒体への書き込みと並行して画像データを転送したり、記録媒体に書き込まれている画像データのうち、選択されたものを転送したりすることも知られている。
【０００３】
このうち、前者は撮影モードで動作している状態での転送処理であり、また後者は再生モードで動作している状態での転送処理である。
【０００４】
【特許文献１】特開２０００−１３７７９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えば、撮影モードで連続して多量の撮影を行った後、以前撮影した画像を外部装置に転送する必要が生じたり、再生モードで画像を転送している際に、突然シャッターチャンスが訪れたりすることがある。このような場合、ユーザは直ちに撮影モードの切り替えを行うであろう。
【０００６】
しかし、従来の撮像装置では、転送処理が完了していない状態で、ユーザが動作モードを切り替えることが想定されておらず、そのようなモード切替操作により、転送処理が異常終了する場合もあった。
【０００７】
また、従来の撮像装置は、撮影モードでの画像転送手順と、再生モードでの画像再生手順が異なっていた。そのため、転送先である外部装置、典型的にはコンピュータは、撮像装置の動作モードに応じて内部処理を変更する必要があり、撮像装置側での動作モード切替は、単に撮像装置内部での対処では済まなかった。
【０００８】
本発明はこのような従来技術の問題点に鑑みなされたものであり、画像転送機能を有する撮像装置及びその制御方法において、転送処理中の動作モード切替に対応可能な、使い勝手の良い撮像装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の目的は、少なくとも第１の動作モードと第２の動作モードを有し、第１及び第２の動作モードにおいて、外部装置に対する画像データ転送が可能な撮像装置であって、外部装置との通信を行う通信手段と、第１及び第２の動作モードの切替指示を検出する検出手段と、第１及び第２の動作モードの一方の動作モードにおいて、通信手段が外部装置へ画像データを転送している際に、検出手段が第１及び第２の動作モードの他方の動作モードへの切替指示を検出した場合、通信手段が実行中の転送が完了するのを待ってから、他方の動作モードへの切替を行う切替制御手段とを有することを特徴とする撮像装置によって達成される。
【００１０】
また、上述の目的は、少なくとも第１の動作モードと第２の動作モードを有し、第１及び第２の動作モードにおいて外部装置に対する画像データ転送が可能であり、外部装置との通信を行う通信手段と、第１及び第２の動作モードの切替指示を検出する検出手段とを有する撮像装置の制御方法であって、第１及び第２の動作モードの一方の動作モードにおいて、通信手段が外部装置へ画像データを転送している際に、検出手段が第１及び第２の動作モードの他方の動作モードへの切替指示を検出した場合、通信手段が実行中の転送が完了するのを待ってから、他方の動作モードへの切替を行うように制御する切替制御工程を有することを特徴とする撮像装置の制御方法によっても達成される。
【発明の効果】
【００１１】
このような構成により、本発明によれば、画像転送中に動作モード切替が行われても、正常な処理が可能で、ユーザの使い勝手の良い撮像装置及びその制御方法が実現できる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。
＜第１の実施形態＞
図１は、本発明の第１の実施形態における撮像システムの構成の一例を示す図である。図１において、デジタルカメラ２００は本実施形態における撮像装置であり、ＰＣ（パーソナルコンピュータ）２２０は本実施形態におけるコンピュータである。なお、本実施形態において、デジタルカメラ２００とＰＣ２２０との間の画像転送は、ＰＴＰ（Picture Transfer Protocol）を用いて行うものとする。また、本実施形態のデジタルカメラ２００は、撮影モード及び再生モードの両方で画像データ転送が可能である。また、本実施形態におけるデジタルカメラ２００は、デジタルビデオカメラ、デジタルカメラ付き携帯電話などのデジタルカメラとして動作する装置に置き換えることも可能である。本実施形態では、デジタルカメラ及びデジタルカメラとして動作する装置を撮像装置と呼ぶ。
【００１３】
デジタルカメラ２００の構成について説明する。被写体からの光束は、レンズや絞りを含む光学系２０１を通じ、撮像素子２０２へ結像され、電荷として保持される。撮像素子２０２で蓄積された電荷は、撮像処理部２０３でアナログ画像信号に変換される。撮像処理部２０３から出力されたアナログ画像信号は、Ａ／Ｄコンバータ２０４でデジタル画像データに変換され、データバス２０５を介してＲＡＭ（Random Access Memory）２１０に保存される。なお、撮像素子２０２には、ＣＣＤイメージセンサ、ＣＭＯＳイメージセンサ等を用いることができる。
【００１４】
中央処理部２１３において、画像処理部２０７は、ＲＡＭ２１０に保存されたデジタル画像信号に対し、ホワイトバランス、シャープネス、ぼかし、カラーバランス、レベル補正等の画像処理を行う。また、圧縮伸張部２０８は、画像処理部２０７で処理されたデジタル画像を所定の画像圧縮方法に従って圧縮する機能と、その所定の画像圧縮方法で圧縮されたデジタル画像を伸張する機能とを有する。所定の画像圧縮方法にはJPEG、JPEG 2000等で規定された画像圧縮方法を用いることができる。また、デジタル画像の圧縮率はユーザによる選択が可能である。表示制御部２０９は、表示部２１７へ、メニュー画面等のユーザインターフェース（ＵＩ）画面を描画する。
【００１５】
記録再生制御部２１１は、メモリカード等の記憶媒体２１８への入出力制御を行う。通信制御部２１２は、通信部２１９に対するデータ入出力制御を行う。中央制御部２１５は、例えばＣＰＵであり、図示しないＲＯＭに格納された制御プログラムを実行して、デジタルカメラ２００の各部を制御し、後述の機能を実現する。
【００１６】
システム制御部２１４は、データバス２０５と接続されており、操作部２１６からユーザが入力する操作に対する制御を行う。表示部２１７は、例えばＬＣＤ、有機ＥＬディスプレイ等であり、表示制御部２０９による描画結果を表示する。記憶媒体２１８には、ＲＡＭ２１０に保存された画像データ（例えば圧縮符号化後のＪＰＥＧ画像データなど）が、記録再生制御部２１１を介して格納される。記憶媒体２１８は、デジタルカメラ２００から取り外し可能であっても、デジタルカメラ２００に内蔵されていてもよく、デジタルカメラに電源が投入されていない状態でも記憶を保持することが可能な媒体である。記憶媒体２１８が脱着可能な記憶媒体である場合、コンパクトフラッシュ（登録商標）、ＳＤメモリカード等のメモリカードを記憶媒体２１８として使用することができる。
【００１７】
通信部２１９は、少なくとも無線通信機能を有し、有線通信機能を持たない場合、無線通信に必要な情報は記憶媒体２１８を通じて取得、更新する。また、有線通信機能を持つ場合には、有線接続された機器から無線通信な情報の取得、更新を行う。通信部２１９は取り外し可能であっても、取り外し不可能であってもよい。また、本実施形態において、通信制御部２１３は、ＰＴＰに従った通信が可能である。
【００１８】
次に、ＰＣ２２０の構成について説明する。
操作部２２１は、キーボードやマウスなどの入力デバイスであり、システム制御部２２５で操作の検出及び操作結果に基づく制御が行われる。表示部２２２は、ＣＲＴ、ＬＣＤ等であり、表示制御部２２８により描画された画像、例えばユーザインターフェース画面を表示出力する。ＲＡＭ２２９は、コンピュータのＯＳや、ＰＴＰを用いた通信に対応したアプリケーション（ＯＳ含む）が実行時に展開される揮発性のメモリである。
【００１９】
記憶部２２３は、記憶制御部２３０によるデータの要求に応じて入出力をする装置であり、ハードディスクドライブ（ＨＤＤ）等の不揮発性記憶装置である。記憶部２２３には、コンピュータのＯＳや、ＰＴＰを用いた通信に対応したアプリケーション（ＯＳ含む）が格納されている。記憶部２２３は、メモリカードリーダや、フレキシブルディスクドライブなど、リムーバブルメディアドライブを含んでも良い。
【００２０】
通信部２２４は、通信インターフェース２３４と接続可能な通信装置であり、通信制御部２３１によりデータの入出力を行う。通信部２２４は、少なくとも無線通信機能を有し、有線通信機能を持たない場合、無線通信に必要な情報はリムーバブルメディアやＵＳＢメモリ等の記憶媒体を通じて取得、更新する。また、有線通信機能を持つ場合には、有線接続された機器から無線通信な情報の取得、更新を行う。通信部２２４は取り外し可能であっても、取り外し不可能であってもよい。
【００２１】
中央処理部２２７は、表示制御部２２８、記憶制御部２３０、通信制御部２３１、中央制御部２２６で構成される。中央制御部２２６は、例えばＣＰＵであり、記憶部２２３に格納された制御プログラムを実行して、ＰＣ２２０の各部を制御し、後述の機能を実現する。データバス２３２は、システム制御部２２５、表示制御部２２８、ＲＡＭ２２９、記憶制御部２３０、通信制御部２３１と接続されている。
【００２２】
図２は、本実施形態のデジタルカメラ２００が、ＰＣ２２０とＰＴＰを用いて接続して撮影同時転送や再生画像転送を実現する際の動作を説明するための図である。図２では、デジタルカメラ２００の動作を容易に理解することができるよう、図１で説明した各構成要素を用いて実現する主要な機能を機能モジュールとして記載し、機能モジュールの動作として処理を説明する。機能モジュールは、実際にはデジタルカメラ２００の制御プログラム（ＯＳ、ドライバ及びアプリケーション）の一部であり、中央制御部２１５が制御プログラムを実行して各部を制御することによって実現する機能である。
【００２３】
表示部２１７は、再生管理モジュール３０３に従って各種表示を行う。転送ボタン３０２は、操作部２１６に含まれるボタンのいずれかに相当し、再生管理モジュールに転送要求を通知することができる。シャッタボタン３０５は、操作部２１６に含まれるボタンのいずれかに相当し、撮影管理モジュール３０４に撮影処理の実行と撮影画像の転送の要求を通知することができる。各機能モジュールは相互にデータ通信が可能である。
【００２４】
ＲＡＭ２１０は、メモリ管理モジュール３０６によって管理される。記憶媒体２１８は、ファイル管理モジュール３０９によって、管理される。通信部２１９は、通信管理モジュール３１０によって管理される。通信管理モジュールはＰＴＰにおけるレスポンダ側としての機能を実現するためのPTP Responder Driverを含んでおり、通信部２１９を介して、ＰＣ２２０側に存在するPTP Initiator DriverとＰＴＰ通信が可能である。
【００２５】
デジタルカメラ２００と接続されているＰＣ２２０は、デジタルカメラ２００からの画像転送要求に応答してデジタルカメラ２００に画像要求を送信し、画像を取得することが可能である。この処理については図３を用いて後述する。
【００２６】
PTP Initiator Driver３１２は、ＰＴＰのイニシエータ側のドライバであり、OS(OS Service)３１３とデータをやりとりすることができる。OS (OS Service)３１３は、撮影同時転送および再生画像転送に対応したアプリケーション３１４とデータのやり取りを行うことができる。
【００２７】
図３は、デジタルカメラ２００からＰＣ２２０へ画像転送を行う際の、ＰＣ２２０側の処理について示すフローチャートである。
図３の処理は、例えばＰＣ２２０の通信部２２４に、通信インターフェース２３４を通じてデジタルカメラ２００が接続されたことが検出されると、中央制御部２２６が画像転送アプリケーション３１４を起動、実行することにより実現される。アプリケーション３１４は、デジタルカメラ２００からの撮影同時転送および再生画像転送に対応している。
【００２８】
なお、撮影同時転送とは、デジタルカメラ２００が撮影モードで動作中、撮影された画像を直ちにＰＣ２２０へ転送する処理である。また、再生画像転送とは、デジタルカメラ２００が再生モードで動作中、転送ボタン等による指示により、記憶媒体２１８に記憶された撮影画像をＰＣ２２０へ転送する処理である。
【００２９】
また、以下の説明において、ＰＣ２２０からデジタルカメラ２００への通信は、アプリケーション３１４→ＯＳ３１３→PTP Initiator Driver３１２→通信部２１９→PTP Responder Driver３１０→（他の機能モジュール）という経路で行われる。また、デジタルカメラ２００からＰＣ２２０への通信はこの逆の経路で行われる。
【００３０】
ＰＣ２２０は、デジタルカメラ２００からの接続要求に応答して、画像受信待機状態になる（ステップＳ４０１）。本実施形態のデジタルカメラ２００は、後述するように、撮影同時転送時、再生画像転送時とも、画像転送時にはＰＣ２２０に対して画像転送要求を送信する。本実施形態では、画像転送要求としてＰＴＰにおけるObjectRequestTransferイベントを送信する。ObjectRequestTransderイベントには、デジタルカメラ２００から転送を希望するオブジェクト（この場合は撮影画像）を特定する情報であるObjectHandleが含まれる。
【００３１】
ＰＣ２２０は、画像受信待機状態においてこの画像転送要求を受信すると（ステップＳ４０２）、デジタルカメラ２００に対し、画像情報取得要求を送信する（ステップＳ４０３）。本実施形態では、ObjectRequestTransferイベントに含まれるObjectHandleを元に、ＰＴＰにおけるGetObjectInfoコマンドを画像情報取得要求として送信する。
【００３２】
これに対し、デジタルカメラ２００（ファイル管理モジュール３０９及び通信管理モジュール３１０）は、撮影画像に関する情報をObjectInfo Datasetの形式で返送する。ここで返送される情報には、データ形式(ObjectFormat)、圧縮サイズ(ObjectCompressedSize)、サムネールや本画像データのサイズ、ファイル名、上位オブジェクト（例えば上位ディレクトリのObjectHandle）などがある。
【００３３】
ＰＣ２２０は、ステップＳ４０３で得た情報から、記憶部２２３への書き込みが可能かどうか等の判断を行う。そして、ステップＳ４０４で、画像取得要求を行う。本実施形態では、ＰＴＰにおけるGetObjectやGetPartialObjectコマンドを画像取得要求として送信する。このコマンド中に、ステップＳ４０１でデジタルカメラ２００から受信したObjectHandleを指定することで、読み出すオブジェクト（ここでは撮影画像）を指定する。
【００３４】
画像取得要求に対し、デジタルカメラ２００からは、撮影画像データが転送されてくる。ＰＣ２２０は、画像取得中に、デジタルカメラ２００から転送キャンセルイベント（例えばCancelTransaction）が通知されたかどうかを監視する（ステップＳ４０６）。そして、転送キャンセルイベントの通知がなければ、ステップＳ４０５における画像取得動作を続行する。一方、画像取得中に転送キャンセルイベントが通知された場合には、画像取得をキャンセル終了し（ステップＳ４０９）、画像受信待機に戻る（ステップＳ４０１）。キャンセルイベントを受信することなく画像転送が完了したら（ステップＳ４０７）、画像受信待機に戻る。デジタルカメラ２００との論理的な通信が切断されたり、撮影同時転送および再生画像転送に対応したアプリケーション３１４を終了した場合は、処理を終了する（ステップＳ４０８）。
【００３５】
次に、図４及び図５を参照して、撮影同時転送時と再生画像転送時のデジタルカメラ２００の処理と、ＰＣ２２０との処理とを併せて説明する。これにより、撮影同時転送時と再生画像転送時におけるデジタルカメラ２００の処理の詳細と、ＰＣ２２０における処理が両転送時に共通していることが明らかになるであろう。
【００３６】
図４及び図５は、本実施形態におけるデジタルカメラ２００及びＰＣ２２０の相互動作を示すシーケンス図であり、図４は撮影同時転送時、図５は再生画像転送時の動作をそれぞれ示す。
図４と図５の比較から明らかなように、撮影同時転送時も再生画像転送時も、ＰＣ２２０における処理は同一の手順である。
【００３７】
従って、ＰＣ２２０上で稼働するアプリケーションプログラムは、画像転送に関して、デジタルカメラ２００の動作モードを意識する必要がない。すなわち、デジタルカメラ２００の操作部２１８が操作され、撮影モードと再生モードとの切替がなされたとしても、同一の手順で画像を取得することができる。
【００３８】
画像転送以外の処理について、デジタルカメラ２００の動作モードに応じて振る舞いを変える必要があるアプリケーションを始め、デジタルカメラ２００の動作モードを知る必要があるアプリケーションは、デジタルカメラ２００の動作モードを取得すればよい。具体的には、アプリケーションがデジタルカメラ２００の状態を（例えばGetDeviceInfoコマンドにより）問い合わせる。あるいは、デジタルカメラ２００が、カメラのモードが切り替わった、切り替わるタイミングでＰＣ２２０へ（例えばイベントととして）通知する。いずれの方法でも、ＰＣ２２０及びＰＣ２２０上で稼働するアプリケーションプログラムは、デジタルカメラ２００の動作モード及びその切り替わりを知ることができる。
【００３９】
（画像転送処理−撮影同時転送）
図４は、撮影同時転送時の手順の例を示す。撮影モードで動作するデジタルカメラ２００で、操作部２２１（図１）に含まれるシャッタボタン３０５（図２）が全押しされ、撮影指示がなされると、記憶媒体２１８に記録するとともに、ＰＣ２２０へ転送するものとする。
【００４０】
撮影指示（Ｓ５０１）に応答して、撮影管理モジュール３０４は、各種設定に応じた撮影処理を行い、撮影画像データ（例えばＪＰＥＧ形式の画像データファイル）を生成する。そして、メモリ管理モジュール３０６を通じてＲＡＭ２１０に撮影画像データと付加情報（例えばヘッダ）を作成する（Ｓ５０２）。
【００４１】
メモリ管理モジュール３０６は、撮影画像データと付加情報から撮影画像ファイルを生成し、ファイル管理モジュール３０９に対し、記憶媒体２１８への書き込み要求を行う。さらに、通信管理モジュール３１０へＰＣ２２０への転送要求を行う（Ｓ５０３）。
【００４２】
ファイル管理モジュール３０９は、記憶媒体２１８に対し、書き込みを行った後、メモリ管理モジュール３０６に対し、メモリ開放要求を行う（Ｓ５１７）。
通信管理モジュール３１０は、メモリ管理モジュール３０６からの転送要求を受信すると、転送する画像ファイルをＰＴＰに従って送信するための処理、つまり、画像ファイルをPTP-Objectとして取り扱うための処理を行う。
【００４３】
具体的には、ＲＡＭ２１０上に存在する転送対象の画像データを解析、もしくは、実在データがメモリ上にあることを検知し（Ｓ５０４）、画像データに関する情報（サイズ等、ObjectInfo datasetで送信する情報）を取得する（Ｓ５０５）。そして、ObjectHandle（転送対象の画像データを特定するための情報）を割り当てるとともに、割り当てたObjectHandleと、画像データに関する情報をキャッシュする。
【００４４】
次いで、通信管理モジュール３１０は、画像転送要求（ＰＴＰイベントであるRequestObjectTransferイベント）をＰＣ２２０へ向けて発行する。画像転送要求には、ＰＣ２２０が画像を特定するための情報として、ObjectHandleを含めておく。
【００４５】
ＰＣ２２０は、画像転送要求を受信すると、デジタルカメラ２００の通信管理モジュール３１０に対し、RequestObjectTranferイベントに含まれるObjectHandleを含むGetObjectInfoコマンドを発行し、転送対象画像データの情報を要求する（Ｓ５０７）。
【００４６】
通信管理モジュール３１０は、情報要求に対し、キャッシュしてある画像情報を（例えばObjectInfo datasetにより）ＰＣ２２０へ通知する（Ｓ５０８）。画像情報を取得したＰＣ２２０は、次にGetObject等のコマンドを送信し、画像情報の取得要求を行う（Ｓ５０９）。GetObjectコマンドにも、RequestObjectTranferイベントに含まれるObjectHandleを使用し、転送要求対象の画像データを指定する。
【００４７】
通信管理モジュール３１０は、GetObjectコマンド中に指定されたObjectHandleから、画像データがＲＡＭ２１０上に存在することを検知する。ＰＴＰにおいては、各オブジェクトに対し、StorageIDやParentObjectといった情報を管理するため、ObjectHandleからそのオブジェクトが存在する場所を検知することが可能である。そして、ＲＡＭ２１０へアクセスし（Ｓ５１０）、画像データを読み出し（Ｓ５１１）、ＰＣ２２０への転送を行う（Ｓ５１２）。
【００４８】
転送完了後、ＰＣ２２０は、通信管理モジュール３１０に対して、メモリ開放要求を行う（Ｓ５１３）。通信管理モジュールは、受信したメモリ解放要求を、メモリ管理モジュール３０６へ通知する（Ｓ５１３）。メモリ管理モジュールは、ファイル管理モジュール３０９から既にメモリ解放要求を受信している（Ｓ５１７）。しかし、通信管理モジュール３１０からのメモリ開放要求を得るまでは、ＲＡＭ２１０における、撮影画像データの領域を開放しない。Ｓ５１４で、２つのメモリ解放要求を受信するので、その時点で撮影画像データの存在する領域を開放する。
【００４９】
図４では、１枚の撮影についてのシーケンスを説明したが、連続撮影が行われた場合には、個々の撮影画像に対して同様の手順が実行される。個々の撮影画像に対する処理は、シーケンシャルに行われても良いし、スレッド化して行われてもよいが、個々の画像に対する転送手順自体は同等である。
【００５０】
（画像転送処理−再生画像転送）
図５は、再生画像転送時の手順の例を示す。再生モード(PlayBackモード)で動作するデジタルカメラ２００で、操作部２２１（図１）に含まれる転送ボタン３０２（図２）が押されると、転送指示がなされたとして、再生中の画像をＰＣ２２０へ転送するものとする。また、図５において、図４と同じ処理については同じ参照数字を付した。
【００５１】
転送ボタン３０２の押下を受け付けると（Ｓ６０１）、再生管理モジュール３０３は、通信管理モジュール３１０に対して転送要求を発行する（Ｓ６０２）。通信管理モジュール３１０は、ＰＴＰ通信で画像データを送信するための準備処理を行う。すなわち、画像データに対してObjectHandleの割り当てを行う他、ファイル管理モジュール３０９に対し、指定された画像の情報取得を要求する（Ｓ６０３）。そして、取得した画像情報をデータを解析し、もしくは画像に対する転送実行フラグをたてるとともに、画像情報をキャッシュする（Ｓ６０４）。
【００５２】
そして、通信管理モジュール３１０は、ＰＣ２２０に対し、ＰＴＰイベントのRequestObjectTransferを発行する（Ｓ５０６）。ＰＣ２２０は、通知されたRequestObjectTransferイベント中のObjectHandleを用いて、画像情報取得要求であるGetObjectInfoコマンドを通信管理モジュール３１０へ発行する（Ｓ５０７）。通信管理モジュール３１０は、画像情報がわからなければ、このタイミングにて画像情報を解析してもよい。ここでは、Ｓ６０４で画像情報をすでにキャッシュしており、キャッシュした画像情報を用いて応答するものとする（Ｓ５０８）。
【００５３】
ＰＣ２２０は、画像情報を取得後、GetObjectコマンドを発行する等により、画像データの取得要求を行う（Ｓ５０９）。通信管理モジュール３１０は、画像データの取得要求、ここではGetObjectコマンド中の、画像を特定する情報(ObjectHandle)から、画像データが記憶媒体２１８に存在することを検知する。
【００５４】
そして、指定された画像データファイルの読み出しを、ファイル管理モジュール３０９へ要求する（Ｓ６０５）。ファイル管理モジュール３０９は、指定された画像ファイルを記憶媒体２１８から読み出し、通信管理モジュール３１０へ出力する（Ｓ６０６）。通信管理モジュール３１０は、ファイル管理モジュール３０９から受信した画像データをＰＣ２２０へ転送する（Ｓ５１２）。
【００５５】
データ転送後、ＰＣ２２０は、通信管理モジュール３１０に対して、転送完了通知を行う（Ｓ５１３）。通信管理モジュール３１０は、転送完了通知に応答して、再生管理モジュール３０３に対して転送完了メッセージを通知する（Ｓ６０７）。なお、通信管理モジュール３１０が転送完了後のあと、ＰＣ２２０からの通知を待たずに直ちに再生管理モジュール３０３に転送完了メッセージを通知してもよい。
【００５６】
例えば再生モードにおいて複数の画像を選択可能な場合など、複数の画像を転送する場合には、図５の転送手順が転送画像の数だけ繰り返し実行される。撮影時同時転送処理と同様、図５の処理もシーケンシャルもしくはスレッド化されて実施されうる。いずれの場合でも、個々の画像に対する転送処理手順は図５に示したとおりである。
【００５７】
（画像転送中のモード切替処理）
図９は、本実施形態のデジタルカメラ２００におけるモード切替処理を説明するフローチャートである。また、図６は、撮影同時転送中のデジタルカメラ２００にて、動作モードの切替指示がなされた場合のデジタルカメラ２００とＰＣ２２０の表示状態の変化を示す図である。同様に、図７は、再生画像転送中のデジタルカメラ２００にて、動作モードの切替指示がなされた場合のデジタルカメラ２００とＰＣ２２０の表示状態の変化を示す図である。
【００５８】
以下、これらの図面を参照して、モード切替処理について説明する。
まず、ステップＳ９０１において、現在の動作モードに応じた処理の分岐を行う。撮影モードであればステップＳ９０３へ、再生モードであればステップＳ９２３へ進む。
【００５９】
撮影モードで動作している場合、ステップＳ９０３で、再生モードへの切替指示を待機する。モード切替指示は、例えば操作部２１６に含まれるモード切替レバー等が、撮影モードの位置から再生モードの位置へ切り替えられた際に発生する。
【００６０】
図６において、７０１は、上述した撮影同時転送を行うように設定されている状態で、連続撮影などを行い、記録可能な上限枚数に達した際の表示部２１７（デジタルカメラ２００側）及び表示部２２２（ＰＣ２２０側）の表示画面７０６及び７０７を示している。この場合、デジタルカメラ２００のバッファは撮影画像データで一杯であり、新たな撮影はできない状態である。また、撮影画像の転送が開始されている。
【００６１】
デジタルカメラ２００側の画面７０６は撮影モードの画面（通常は電子ビューファインダー表示）であり、ＰＣ２２０側の画面７０７（アプリケーション３１４のＧＵＩ（グラフィカルユーザインターフェース））は転送開示時の表示である。なお、既に転送が行われている場合には、直近に転送完了した画像を表示する。
【００６２】
この状態において、再生モードへの切り替え指示が入力されると、撮影制御モジュール３０４が検出する。そして、ステップＳ９０７において、通信管理モジュール３１０に対し、現在画像データの転送中であるかどうかを問い合わせる。通信管理モジュール３１０は、現在画像データの転送中であるかどうかを判定する。ここでは、画像データの転送中であるので、ステップＳ９０９へ進み、再生管理モジュール３０３に対して、転送中画面７０８の表示を要求する。この時点ではまだ転送処理は継続中（一時停止してもよい）であり、モード切替レバーは物理的に再生モードとなっていても、内部的には撮影モードが維持される。
【００６３】
一方、ＰＣ２２０のアプリケーション３１４は、直近に転送が完了した画像を順次表示する転送中画面表示７０９を行っている。
図６に示すように、デジタルカメラ２００側の転送中画面７０８には、「キャンセル」ボタンが含まれており、モード切替を指示したユーザに、現在画像データの転送中であること、転送のキャンセルが可能であることを報知している。
【００６４】
ステップＳ９１１では、撮影管理モジュール３０４が、操作部を２１６を通じた転送キャンセル指示の有無を確認する。そして、転送処理のキャンセル指示がなければ、ステップＳ９１５で、通信管理モジュール３１０による転送処理が終了しているかどうかを調べる。転送処理のキャンセル指示がなく、転送も終了していない場合には、転送処理を継続して行う。なお、ステップＳ９０９で、転送処理を中断するように構成した場合には、転送中画面に「転送継続」ボタンを追加し、転送継続指示の入力を待って転送を継続するようにしても良い。
【００６５】
ステップＳ９１１で、転送処理のキャンセル指示が検出された場合、撮影管理モジュール３０４は、通信管理モジュール３１０に対して転送処理の中止を指示する（ステップＳ９１３）。通信管理モジュール３１０は、この指示に応答して転送処理を中止する。
【００６６】
ステップＳ９０７で転送処理中でなかった場合、ステップＳ９１５での転送処理が終了した場合、或いはステップＳ９１３で転送処理が中止された場合、ステップＳ９１７で、撮影管理モジュール３０４は、内部動作モードを再生モードに切り替える。すなわち、再生管理モジュール３０３へ制御を移管する。再生管理モジュール３０４は、通信管理モジュール３１０に対し、例えばＰＴＰイベントとして、デジタルカメラ２００の動作モードに変更があったことをＰＣ２２０へ通知させる（ステップＳ９１８）。そして、再生管理モジュール３０３は、再生モード画面７１０を表示し（ステップＳ９１９）、以後は再生モードでの処理を統括する。
【００６７】
ＰＣ２２０のアプリケーション３１４は、デジタルカメラ２００の動作モードが切り替わった旨の通知を受けると、再生選択転送に備えた状態となり、画面表示もそれに合わせて転送待ち状態の表示に変更する（７１１）。これにより、ＰＣ２２０のアプリケーション３１４が、デジタルカメラ２００側の動作モードに応じて処理内容を変化させる必要のあるアプリケーションであっても、正しく対応することができる。ただし、本実施形態では、上述したように、ＰＣ２２０は撮影同時転送時も、再生画像転送時も転送処理の手順は共通であるため、特段内部処理を切り替える必要はなく、通常の転送待ち状態になる。
【００６８】
再生モードで動作している場合には、ステップＳ９２３から処理を行う。
再生モードで動作している場合、ステップＳ９２３で、撮影モードへの切替指示を待機する。モード切替指示は、例えば操作部２１６に含まれるモード切替レバー等が、再生モードの位置から撮影モードの位置へ切り替えられた際に発生する。
【００６９】
図７において、８０１は、上述した再生画像転送を行うように設定されている状態で、全画像一括転送や選択画像一括転送などの指示がなされた状態の表示部２１７（デジタルカメラ２００側）及び表示部２２２（ＰＣ２２０側）の表示画面８０６及び８０７を示している。この時点で撮影画像の転送が開始される。
【００７０】
デジタルカメラ２００側の画面８０６は再生モードの画面（通常は選択された画像の表示と、プログラスバー等の転送状況を示す表示）である。ＰＣ２２０側の画面８０７（アプリケーション３１４のＧＵＩ）は転送開示時の表示であり、既に転送が行われている場合には、直近に転送完了した画像を表示する。
【００７１】
この状態において、撮影モードへの切り替え指示が入力されると、再生制御モジュール３０３が検出する。そして、ステップＳ９２７において、通信管理モジュール３１０に対し、現在画像データの転送中であるかどうかを問い合わせる。通信管理モジュール３１０は、現在画像データの転送中であるかどうかを判定する。ここでは、画像データの転送中であるので、ステップＳ９２９へ進み、再生管理モジュール３０３は転送中画面８０８を表示する。この時点ではまだ転送処理は継続中（一時停止してもよい）であり、モード切替レバーは物理的に撮影モードとなっていても、内部的には再生モードが維持される。
【００７２】
一方、ＰＣ２２０のアプリケーション３１４は、直近に転送が完了した画像を順次表示する転送中画面表示８０９を行っている。
図７に示すように、デジタルカメラ２００側の転送中画面８０８には、「キャンセル」ボタンが含まれており、モード切替を指示したユーザに、現在画像データの転送中であること、転送のキャンセルが可能であることを報知している。
【００７３】
ステップＳ９３１では、再生管理モジュール３０３が、操作部を２１６を通じた転送キャンセル指示の有無を確認する。そして、転送処理のキャンセル指示がなければ、ステップＳ９３５で、通信管理モジュール３１０による転送処理が終了しているかどうかを調べる。転送処理のキャンセル指示がなく、転送も終了していない場合には、転送処理を継続して行う。なお、ステップＳ９２９で、転送処理を中断するように構成した場合には、転送中画面に「転送継続」ボタンを追加し、転送継続指示の入力を待って転送を継続するようにしても良い。
【００７４】
ステップＳ９３１で、転送処理のキャンセル指示が検出された場合、再生管理モジュール３０３は、通信管理モジュール３１０に対して転送処理の中止を指示する（ステップＳ９３３）。通信管理モジュール３１０は、この指示に応答して転送処理を中止する。
【００７５】
ステップＳ９２７で転送処理中でなかった場合、ステップＳ９３５での転送処理が終了した場合、或いはステップＳ９３３で転送処理が中止された場合、ステップＳ９３７で、再生管理モジュール３０３は、内部動作モードを撮影モードに切り替える。すなわち、撮影管理モジュール３０４へ制御を移管する。撮影管理モジュール３０３は、通信管理モジュール３１０に対し、例えばＰＴＰイベントとして、デジタルカメラ２００の動作モードに変更があったことをＰＣ２２０へ通知させる（ステップＳ９３８）。そして、撮影管理モジュール３０４は、撮影モード画面８１０を表示し（ステップＳ９３９）、以後は撮影モードでの処理を統括する。
【００７６】
ＰＣ２２０のアプリケーション３１４は、デジタルカメラ２００の動作モードが切り替わった旨の通知を受けると、撮影同時転送に備えた状態となり、画面表示もそれに合わせて転送待ち状態の表示に変更する（８１１）。これにより、ＰＣ２２０のアプリケーション３１４が、デジタルカメラ２００側の動作モードに応じて処理内容を変化させる必要のあるアプリケーションであっても、正しく対応することができる。本実施形態では、上述したように、ＰＣ２２０は撮影同時転送時も、再生画像転送時も転送処理の手順は共通であるため、特段内部処理を切り替える必要はなく、通常の転送待ち状態になる。
【００７７】
なお、デジタルカメラ２００が、動作モードが切り替わってもそのまま転送処理を継続可能（バックグラウンド転送可能）である場合には、動作モードの切替指示があった時点で内部動作モードも切り替えればよい。
【００７８】
以上説明したように、本実施形態のデジタルカメラ２００によれば、転送処理中に動作モード切替操作がなされても、転送処理が完了してから実際の動作を切り替える。これにより、外部装置が、デジタルカメラ２００側の動作モードに応じて処理内容を変化させる必要のある場合であっても、正しく対応することができ、転送処理の異常終了を引き起こさない。そのため、ユーザが画像転送処理中であることを忘れて不用意にモード切替操作を行ったとしても、転送処理が正常に行われる。一方で、転送処理をキャンセル可能としてので、転送処理が完了しない状態でも、動作モードを切り替えたい状況に対しても対応することが可能であり、ユーザの使い勝手がよい。
【００７９】
さらに、再生モードでの画像転送処理時及び撮影モードでの画像転送処理時で共通した転送処理を行うので、転送先の外部装置に対し、動作モード切替に伴う処理内容の変更を要求しない。従って、外部装置側の負荷が軽減される。
【００８０】
＜第２の実施形態＞
次に、第１の実施形態の変形例である第２の実施形態を説明する。第２の実施形態は、第１の実施形態の変形例であるので、共通する部分についてはその説明を省略する。また、第１の実施形態と共通する部分については、第１の実施形態と同様の効果を得ることができる。
図８は、本発明の第２の実施形態におけるデジタルカメラ２００において、再生画像転送中に動作モードの切替指示がなされた場合の、デジタルカメラ２００とＰＣ２２０の表示状態の変化を示す図である。
【００８１】
本実施形態のデジタルカメラ２００は、バックグラウンド転送可能な点で第１の実施形態のデジタルカメラ２００と異なる。具体的には、図４で説明した撮影同時転送処理と、図５で説明した再生画像転送処理をカメラの動作モードに依らず実行可能であり、かつ、両者をスレッド化して見かけ上並行して実行可能である。
【００８２】
つまり、第１の動作モードで画像転送処理している最中に第２の動作モードへの切替指示があった場合、本実施形態のデジタルカメラ２００は内部動作モードを直ちに第２の動作モードに切り替えると共に、画像転送処理はバックグラウンド処理で継続する。さらに、バックグラウンド転送中に第２の動作モードでの転送処理が発生した場合には、２つの転送処理をスレッド化してバックグラウンドで実行する。
【００８３】
図８において、９０１は、上述した再生画像転送を行うように設定されている状態で、全画像一括転送や選択画像一括転送などの指示がなされた状態の表示部２１７（デジタルカメラ２００側）及び表示部２２２（ＰＣ２２０側）の表示画面９０６及び９０７を示している。この時点で撮影画像の転送が開始される。
【００８４】
デジタルカメラ２００側の画面８０６は再生モードの画面（通常は選択された画像の表示と、プログラスバー等の転送状況を示す表示）である。ＰＣ２２０側の画面８０７（アプリケーション３１４のＧＵＩ）は転送開示時の表示であり、既に転送が行われている場合には、直近に転送完了した画像を表示する。
【００８５】
この状態において、撮影モードへの切り替え指示が入力されると、再生制御モジュール３０３が検出する。そして、転送処理を継続しながら、内部動作モードを撮影モードへ切り替える。これにより、デジタルカメラ２００側の表示は撮影モード時の表示９０８に切り替わる。この際、バックグラウンド処理により再生画像転送処理が継続しているため、ＰＣ２２０側の表示は、通常の転送中画面表示９０９のままである。
【００８６】
撮影が行われると、撮影管理モジュール３０４により撮影処理が行われ、図４で説明した撮影同時転送処理が実行される。デジタルカメラ２００側の表示は撮影画像の転送中画面９１０となる。
【００８７】
撮影同時転送処理が実行された際に、再生画像転送処理が継続している場合には、両者を並行してバックグラウンドで実行する。従って、記憶媒体２１８から画像データを読み出して転送する処理と、ＲＡＭ２１０から撮影画像を読み出して転送する処理が、異なるスレッドで実行される。
【００８８】
第１の実施形態と同様、本実施形態のデジタルカメラ２００は、撮影同時転送時も再生画像転送時も転送処理は共通している。そのため、ＰＣ２２０では複数の画像データの受信を異なるスレッドで処理するだけで、撮影画像なのか、記憶媒体２１８から読み出した画像なのかを意識せずに、転送処理を実行する。従って、画面表示も通常の転送中画面９１１のままである（図８では同じ内容となっているが、実際には読み込みが完了した画像が順次表示されていく）。
【００８９】
撮影画像の転送が終わると、デジタルカメラ２００側の表示は撮影モード時の通常画面９１２（９０８と同一）に戻る。再生画像転送処理が終わっていなければ、バックグラウンドで継続して処理され、ＰＣ２２０でも転送中画面（９１３）が表示された状態が維持される。
【００９０】
その後、再生モードへの切替指示があると、デジタルカメラ２００の動作モードは直ちに再生モードへ切り替えられ、再生モードの画面表示（９０５）に切り替わる。この時点で依然として再生画像転送処理が終わっていなければ、バックグラウンドで継続して処理され、ＰＣ２２０でも転送中画面（９１５）が表示された状態が維持される。
９０４〜９０５で示した時点のいずれかで、転送処理が終了した場合、ＰＣ２２０側の表示は図７に８１１として示した表示に変わり、転送待ち状態となる。
【００９１】
以上説明したように、本実施形態のデジタルカメラ２００においても、再生モードでの画像転送処理時及び撮影モードでの画像転送処理時で共通した転送処理を行う。そのため、転送先の外部装置に対し、動作モード切替に伴う処理内容の変更を要求しない。従って、外部装置側の負荷が軽減される。さらに、本実施形態によれば、画像転送処理をバックグラウンドで処理可能であるため、ユーザは画像の転送処理が行われているかどうかを意識することなく、所望の動作モードにいつでも切替可能である。従って、第１の実施形態よりもさらに使い勝手が向上する。
【００９２】
＜他の実施形態＞
上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるコンピュータプログラム自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００９３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９４】
この場合、本発明の機能処理をコンピュータで実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００９５】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）をサーバに記憶しておく。プログラムデータファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【００９６】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムデータファイルをダウンロードすることによって供給する。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルをクライアントコンピュータに提供するサーバ装置も本発明に含む。
【００９７】
また、本発明のコンピュータプログラムを暗号化して格納した記憶媒体をユーザに配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを可能とすることも可能である。鍵情報は例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【００９８】
また、コンピュータにより実施形態の機能を実現するためのコンピュータプログラムが、実施形態の機能を、すでにコンピュータ上で稼働するＯＳの機能を利用して実現しても良い。
さらに、本発明を構成するコンピュータプログラムの少なくとも一部が、コンピュータに装着される拡張ボード等のファームウェアとして提供され、拡張ボード等が備えるＣＰＵを利用して上述の実施形態の機能を実現しても良い。
【図面の簡単な説明】
【００９９】
【図１】本発明の第１の実施形態におけるデジタルカメラ２００とＰＣ２２０とが通信インターフェースで接続された状態を示す図である。
【図２】実施形態のデジタルカメラ２００が、ＰＣ２２０とＰＴＰを用いて接続して撮影同時転送や再生画像転送を実現する際の動作を説明するための図である。
【図３】実施形態において、デジタルカメラ２００からＰＣ２２０へ画像転送を行う際の、ＰＣ２２０側の処理について示すフローチャートである。
【図４】実施形態におけるデジタルカメラ２００及びＰＣ２２０の、撮影同時転送時における相互動作を示すシーケンス図である。
【図５】実施形態におけるデジタルカメラ２００及びＰＣ２２０の、再生画像転送時における相互動作を示すシーケンス図である。
【図６】第１の実施形態において、撮影同時転送中のデジタルカメラ２００にて、動作モードの切替指示がなされた場合の、デジタルカメラ２００とＰＣ２２０の表示状態の変化を示す図である。
【図７】第１の実施形態において、再生画像転送中のデジタルカメラ２００にて、動作モードの切替指示がなされた場合の、デジタルカメラ２００とＰＣ２２０の表示状態の変化を示す図である。
【図８】第２の実施形態におけるデジタルカメラ２００において、再生画像転送中に動作モードの切替指示がなされた場合の、デジタルカメラ２００とＰＣ２２０の表示状態の変化を示す図である。
【図９】第１の実施形態のデジタルカメラ２００におけるモード切替処理を説明するフローチャートである。
【図１】
2007081489.tif 000003
【図２】
2007081489.tif 000004
【図３】
2007081489.tif 000005
【図４】
2007081489.tif 000006
【図５】
2007081489.tif 000007
【図６】
2007081489.tif 000008
【図７】
2007081489.tif 000009
【図８】
2007081489.tif 000010
【図９】
2007081489.tif 000011