図1は、本発明に係る一実施の形態の通信システムの構成を示す図である。通信システムは、デジタルカメラ1−1およびデジタルカメラ1−2、ネットワーク2、並びにプリンタ3から構成される。
デジタルカメラ1−1は、被写体を撮影する。デジタルカメラ1−1は、被写体の撮影の結果得られた画像(画像データ)を、ネットワーク2を介して、デジタルカメラ1−2に供給する。デジタルカメラ1−1は、内部に記録している画像(画像データ)を、ネットワーク2を介して、デジタルカメラ1−2に供給する。
デジタルカメラ1−2は、被写体を撮影する。デジタルカメラ1−2は、被写体の撮影の結果得られた画像(画像データ)を、ネットワーク2を介して、デジタルカメラ1−1に供給する。デジタルカメラ1−2は、内部に記録している画像(画像データ)を、ネットワーク2を介して、デジタルカメラ1−1に供給する。
なお、デジタルカメラ1−1およびデジタルカメラ1−2は、静止画像または動画像を撮影する。
ネットワーク2は、USB(Universal Serial Bus)若しくはIEEE(Institute of Electrical and Electronic Engineers)1394などの規格に準拠する有線を媒体とするネットワーク、またはIEEE802.11a、IEEE802.11b、若しくはIEEE802.11g、若しくはブルートゥースなどの規格に準拠する無線を媒体とするネットワークなどからなり、デジタルカメラ1−1およびデジタルカメラ1−2、並びにプリンタ3を相互に接続する。例えば、デジタルカメラ1−1およびデジタルカメラ1−2、並びにプリンタ3は、DLNA(Digital Living Network Alliance)により規定されたプロトコルにより、相互に接続される。
プリンタ3は、ネットワーク2を介して、デジタルカメラ1−1またはデジタルカメラ1−2から送信されてきた画像を印刷する。
以下、デジタルカメラ1−1およびデジタルカメラ1−2を個々に区別する必要がない場合、単に、デジタルカメラ1と称する。
図2および図3は、デジタルカメラ1の外観の例を示す斜視図である。
なお、図2では、正面(被写体に向けられるレンズ面)が手前側になるように、図3では、背面(デジタルカメラ1の使用者に向けられるパネル面)が手前側になるように、それぞれ、デジタルカメラ1が図示されている。
デジタルカメラ1の正面(図2)の、向かって右側には、レンズ部11が設けられている。レンズ部11は、被写体からの光を集光するレンズやフォーカス(ピント)の調整をするためのフォーカスレンズ、絞り等の光学系その他から構成されており(いずれも図示せず)、デジタルカメラ1の電源がオンにされたときに、デジタルカメラ1の筐体から露出し、デジタルカメラ1の電源がオフにされたときに、デジタルカメラ1の筐体内部に収納されるようになっている。図2では、レンズ部11は、デジタルカメラ1の筐体内部に収納された状態になっている。
デジタルカメラ1の正面の、向かって中央の右上には、AF(Auto Focus)補助光投光部12が設けられている。AF補助光投光部12は、レンズ部11の光学系の光軸方向に向かって、AF補助光としての光を照射することにより、被写体を照明する。これにより、例えば、暗い場所でも、被写体の画像を撮像して、その画像に基づいて、被写体にフォーカス(ピント)を合わせる、いわゆるオートフォーカス機能が働くようになっている。
デジタルカメラ1の正面の、向かって中央の左上には、デジタルカメラ1の背面側に続くファインダ13が設けられており、ファインダ13の左隣には、スピードライト14が配置されている。スピードライト14は、被写体を撮影するときに、閃光を発する。
デジタルカメラ1の上部の、正面側から見て左側には、電源をオン/オフするときに操作される電源ボタン15と、被写体を撮影するとき(撮像されている画像を記録するとき)に操作されるシャッタボタン(レリーズボタン)16とが設けられている。
デジタルカメラ1の背面(図3)の、向かって右上には、ズームの倍率を調整するときに操作されるズームボタン17が設けられており、ズームボタン17の左側と下側には、それぞれ、モードダイヤル18と操作ボタン19が設けられている。モードダイヤル18は、例えば、被写体を撮影する撮影モード、LCD(Liquid Crystal Display)20に撮影した画面を表示する閲覧モード、または画像を印刷する印刷モードを選択するとき等に操作される。操作ボタン19は、方向ボタンや決定ボタンなどからなり、例えば、LCD20に表示されたメニュー画面の項目を選択するカーソルを移動させるときや、項目の選択を決定するとき等に操作される。
LCD20は、各種の画像を表示する。
ネットワークボタン21は、ネットワーク2に接続される場合に、押圧される。オプションボタン22は、オプションメニューの画面をLCD20に表示させる場合、押圧される。
図4は、デジタルカメラ1の構成を示すブロック図である。この実施の形態のデジタルカメラ1は、図4に示すように、大きく分けると、カメラ部41と、カメラDSP(Digital Signal Processor)42と、SDRAM(Synchronous Dynamic Random Access Memory)43と、媒体インタフェース(以下、媒体I/Fという。)44と、制御部45と、操作部46と、LCDコントローラ47と、LCD20と、外部インタフェース(以下、外部I/Fという。)48と、通信インタフェース(以下、通信I/Fという。)49とを備えるとともに、記録媒体60が着脱可能とされている。
記録媒体60は、半導体メモリを用いたいわゆるメモリーカード、記録可能なDVD(Digital Versatile Disc)や記録可能なCD(Compact Disc)等の光記録媒体、磁気ディスクなどの種々のものを用いるようにすることが考えられるが、この実施の形態においては、記録媒体60として例えば半導体メモリまたはハードディスクドライブが内蔵されているメモリーカードを用いるものとして説明する。
そして、カメラ部41は、図4に示すように、光学ブロック71、CCD(Charge Coupled Device)72、前処理回路73、光学ブロック用ドライバ74、CCD用ドライバ75、タイミング生成回路76とを備えたものである。ここで、光学ブロック71は、レンズ、フォーカス機構、シャッター機構、絞り(アイリス)機構などを備えたものである。光学ブロック71は、レンズ部11を含む。
また、制御部45は、CPU(Central Processing Unit)81、RAM(Random Access Memory)82、フラッシュROM(Read Only Memory)83、時計回路84が、システムバス85を通じて接続されて構成されている。制御部45は、例えば、汎用の組み込み型のマイクロコンピュータまたは専用のシステムLSI(Large Scale Integrated circuit)などからなる。制御部45は、デジタルカメラ1の各部を制御することができるものである。
ここで、RAM82は、処理の途中結果を一時記憶するなど主に作業領域として用いられるものである。また、フラッシュROM83は、CPU81において実行する種々のプログラムや、処理に必要になるデータなどを記憶したものである。また、時計回路84は、現在年月日、現在曜日、現在時刻を提供することができるとともに、撮影日時などを提供するなどのことができるものである。
そして、画像の撮影時においては、光学ブロック用ドライバ74は、制御部45からの制御に応じて、光学ブロック71を動作させるようにする駆動信号を形成し、これを光学ブロック71に供給して、光学ブロック71を動作させるようにする。光学ブロック用ドライバ74からの駆動信号に応じて、光学ブロック71のフォーカス機構、シャッター機構、絞り機構が制御され、光学ブロック71は、被写体の光学的な画像を取り込んで、これをCCD72に結像させる。
CCD72は、光学ブロック71からの光学的な画像を光電変換して、変換により得られた画像の電気信号を出力する。すなわち、CCD72は、CCDドライバ75からの駆動信号に応じて動作し、光学ブロック71からの光学的な被写体の画像を取り込むとともに、制御部45によって制御されるタイミング生成回路76からのタイミング信号に基づいて、取り込んだ被写体の画像(画像情報)を電気信号として前処理回路73に供給する。
なお、CCD72に代えて、CMOS(Complementary Metal-Oxide Semiconductor)センサなどの光電変換デバイスを用いるようにしてもよい。
また、上述のように、タイミング生成回路76は、制御部45からの制御に応じて、所定のタイミングを提供するタイミング信号を形成するものである。また、CCDドライバ75は、タイミング生成回路76からのタイミング信号に基づいて、CCD72に供給する駆動信号を形成するものである。
前処理回路73は、CCD72から供給された電気信号の画像情報に対して、CDS(Correlated Double Sampling)処理を行って、S/N比を良好に保つようにするとともに、AGC(Automatic Gain Control)処理を行って、利得を制御し、そして、A/D(Analog/Digital)変換を行って、デジタル信号とされた画像データを形成する。
前処理回路73においてデジタル信号とされた画像データは、カメラDSP42に供給される。カメラDSP42は、これに供給された画像データに対して、AF(Auto Focus)、AE(Auto Exposure)、AWB(Auto White Balance)などのカメラ信号処理を施す。このようにして種々の調整がされた画像データは、例えば、JPEG(Joint Photographic Experts Group)またはJPEG2000などの所定の符号化方式で符号化され、システムバス85、媒体I/F44を通じて、この実施の形態のデジタルカメラ1に装着された記録媒体60に供給され、後述もするように記録媒体60にファイルとして記録される。また、画像データ群をMPEG(Motion Picture Experts Group)等の動画像を符号化するための符号化方式を用いて符号化することにより、動画ファイルを生成し記録媒体60に記録することもできる。
また、記録媒体60に記録された画像データは、タッチパネルやコントロールキーなどからなる操作部46を通じて受け付けたユーザーからの操作入力に応じて、目的とする画像データが媒体I/F44を通じて記録媒体60から読み出され、これがカメラDSP42に供給される。操作部46は、ズームボタン17、モードダイヤル18、操作ボタン19、ネットワークボタン21、およびオプションボタン22を含む。
カメラDSP42は、記録媒体60から読み出され、媒体I/F44を通じて供給された符号化されている画像データを復号し、復号後の画像データをシステムバス85を通じて、LCDコントローラ47に供給する。LCDコントローラ47は、これに供給された画像データからLCD20に供給する画像信号を形成し、これをLCD20に供給する。これにより、記録媒体60に記録されている画像データに応じた画像が、LCD20の表示画面に表示される。
また、この実施の形態のデジタルカメラ1には、外部I/F48が設けられている。この外部I/F48を通じて、例えば外部のパーソナルコンピュータと接続して、パーソナルコンピュータから画像データの供給を受けて、これをデジタルカメラ1に装着された記録媒体60に記録したり、また、デジタルカメラ1に装着された記録媒体60に記録されている画像データを外部のパーソナルコンピュータ等に供給したりすることもできるものである。
また、通信I/F49は、いわゆるネットワークインターフェースカード(NIC)などからなり、ネットワーク2に接続して、ネットワーク2を通じて種々の画像データやその他の情報を取得する。
また、外部のパーソナルコンピュータやネットワークを通じて取得し、記録媒体に記録した画像データなどの情報についても、上述したように、この実施の形態のデジタルカメラ1において読み出して再生し、LCD20に表示してユーザーが利用することももちろんできるようにされている。
なお、通信I/F49は、IEEE(Institute of Electrical and Electronic Engineers)1394またはUSB(Universal Serial Bus)などの規格に準拠した有線用インタフェースとして設けることも可能であるし、IEEE802.11a,IEEE802.11b,IEEE802.11g、またはブルートゥースの規格に準拠した光や電波による無線インタフェースとして設けることも可能である。すなわち、通信I/F49は、有線、無線のいずれのインタフェースであってもよい。
以下、通信I/F49が、IEEE802.11a,IEEE802.11b、またはIEEE802.11gの規格に準拠した、いわゆる無線LANインタフェースである場合を例に説明する。
図5は、制御部45のCPU81が実行するプログラムを説明する図である。CPU81は、OS(Operating System)101、入力ドライバ102、通信ドライバ103、ミドルウェア104、およびアプリケーションプログラム105を実行する。
OS101は、いわゆる基本ソフトウェアであり、デジタルカメラ1のハードウェアの管理や各種のインタフェースを提供する。入力ドライバ102は、OS101を介して、操作部46を制御し、操作部46から使用者の操作に応じた信号を取得する。通信ドライバ103は、OS101を介して、通信I/F49を制御する。
ミドルウェア104は、OS101上で動作し、アプリケーションプログラム105に対してOS101よりも高度で具体的な機能を提供するプログラムである。
アプリケーションプログラム105は、デジタルカメラ1の撮影、撮影した画像の閲覧、または印刷など、デジタルカメラ1の所定の処理を実行する。
図6は、アプリケーションプログラム105の構成を示すブロック図である。アプリケーションプログラム105は、モード管理オブジェクト121、撮影時写真交換オブジェクト122、撮影制御オブジェクト123、および閲覧時写真交換オブジェクト124から構成される。なお、モード管理オブジェクト121、撮影時写真交換オブジェクト122、撮影制御オブジェクト123、および閲覧時写真交換オブジェクト124は、それぞれ、プログラムとそのプログラムの実行に必要なデータとからなる。
モード管理オブジェクト121は、デジタルカメラ1のモードを管理する。ここで、モードとは、例えば、撮影モード、閲覧モード、印刷モードなどであり、デジタルカメラ1の実行する処理をそれぞれ定める状態をいう。すなわち、モード管理オブジェクト121は、デジタルカメラ1のモードの遷移を制御する。
モード管理オブジェクト121は、接続方式選択部141、遷移先モード選択部142、相手モード判定部143、モード管理テーブル144、およびモード遷移制御部145から構成される。
接続方式選択部141は、ネットワーク2の通信の方式を選択する。例えば、接続方式選択部141は、複数のモードの内の、ネットワーク2を介して相手と通信しないモードである単独処理モードとネットワーク2の通信の方式との予め決められている対応付けにより、単独処理モードである現在のモードに対応付けられているネットワーク2の通信の方式を選択する。ネットワーク2の通信の方式が選択された場合、通信ドライバ103は、選択されたネットワーク2の通信の方式でネットワーク2を介して相手との通信を開始するように通信を制御する。
ここで、相手とは、ネットワーク2を介して接続される他の機器をいう。例えば、デジタルカメラ1−1からみて、相手は、デジタルカメラ1−2またはプリンタ3であり、デジタルカメラ1−2からみて、相手は、デジタルカメラ1−1またはプリンタ3である。
また、ネットワーク2の通信の方式とは、例えば、アドホックモードまたはインフラストラクチャモードなどのデジタルカメラ1とネットワーク2との通信の方式またはネットワーク2を介したデジタルカメラ1とプリンタ3との通信の方式をいう。以下、ネットワーク2の通信の方式は、接続方式とも称する。また、アドホックモードは、アドホック接続(方式)とも称し、インフラストラクチャモードは、インフラストラクチャ接続(方式)とも称する。
以下、ネットワーク2を介して相手と通信しないモードを、単独処理モードとも称する。また、ネットワーク2を介して相手と通信するモードを、ネットワーク処理モードとも称する。
遷移先モード選択部142は、遷移先のモードを選択する。例えば、遷移先モード選択部142は、複数のモードの内の単独処理モードと、複数のモードの内のネットワークを介して相手と通信するモードであるネットワーク処理モードとの予め決められている対応付けにより、単独処理モードである現在のモードに対応付けられているネットワーク処理モードを選択する。
相手モード判定部143は、通信する相手のモードを判定する。例えば、相手モード判定部143は、通信する相手が移行しようとしているモードが、選択されたネットワーク処理モードと協働するモードであるか否かを判定する。モード管理テーブル144は、予め決められている、単独処理モードと、ネットワーク2の通信の方式と、ネットワーク処理モードとの対応付けを記述する。
モード遷移制御部145は、モードの遷移を制御する。例えば、モード遷移制御部145は、通信する相手が移行しようとしているモードが、選択されたネットワーク処理モードと協働するモードであると判定された場合、選択されたネットワーク処理モードに遷移するようにモードの遷移を制御する。
撮影時写真交換オブジェクト122は、後述する撮影時写真交換モードにおける、ネットワーク2を介した、被写体を撮影して得られた画像の相手への送信を制御するとともに、相手から送信されてくる、相手が被写体を撮影して得られた画像の受信を制御する。撮影時写真交換オブジェクト122は、撮影時公開リスト取得部161、画像取得部162、撮影時公開リスト生成更新部163、および表示制御部164から構成される。
撮影時公開リスト取得部161は、相手において生成された撮影時公開リストであって、被写体を撮影した場合、撮影により得られた画像やサムネイル画像が記憶されている相手の記憶媒体の一例である記録媒体60におけるアドレスが配置される撮影時公開リストを、ネットワーク2を介して、相手から取得する。なお、記録媒体60におけるアドレスは、例えば、いわゆるファイルパス(以下、単にパスと称する)とすることができる。
画像取得部162は、ネットワーク2を介して、相手が撮影した画像やサムネイル画像を相手から取得する。撮影時公開リスト生成更新部163は、撮影時公開リストを生成する。また、撮影時公開リスト生成更新部163は、撮影時公開リストを更新する。例えば、撮影時公開リスト生成更新部163は、被写体を撮影した場合、画像が記憶されている記憶媒体の一例である記録媒体60におけるアドレスを配置する撮影時公開リストに、撮影により得られた画像や対応するサムネイル画像が記憶された記録媒体60におけるアドレスを追加するように、撮影時公開リストを更新する。
表示制御部164は、LCD20への自分の撮影した画像と相手が撮影した画像の表示を制御する。例えば、表示制御部164は、LCD20に、自分の撮影した画像と相手が撮影した画像とを、撮影の順に、1つの画面に表示させる。
撮影制御オブジェクト123は、被写体の撮影を制御する。
閲覧時写真交換オブジェクト124は、後述する閲覧時写真交換モードにおける、ネットワーク2を介した、画像の相手への送信を制御するとともに、相手から送信されてくる画像の受信を制御する。閲覧時写真交換オブジェクト124は、閲覧時公開リスト取得部181、サムネイル画像取得部182、表示制御部183、選択部184、画像取得部185、分類部186、および閲覧時公開リスト生成更新部187から構成される。
閲覧時公開リスト取得部181は、画像を提供する相手が生成する閲覧時公開リストであって、相手が提供する画像が記憶されている記憶空間におけるアドレスと、相手が提供する画像のサムネイル画像が記憶されている記憶空間におけるアドレスとが、相手において画像を分類するグループ毎に配置されている閲覧時公開リストを、ネットワーク2を介して複数の相手から取得する。例えば、画像のグループの分類は、グループを特定するグループIDと、画像とを関係付けることにより行われ、1つのグループに分類されている画像は、そのグループに関係付けられる1つのフォルダに仮想的に(論理的に)格納されているものとして扱われる。
サムネイル画像取得部182は、複数の相手から取得した閲覧時公開リストに配置されている、サムネイル画像が記憶されている記憶空間におけるアドレスから、ネットワーク2を介して、サムネイル画像を取得する。
表示制御部183は、LCD20へのサムネイル画像の表示を制御する。例えば、表示制御部183は、LCD20に、複数の相手から取得したサムネイル画像を、グループ毎に、かつ相手毎に、表示させる。
選択部184は、使用者の操作に応じて、表示されているサムネイル画像を選択する。例えば、選択部184は、LCD20に表示されているサムネイル画像のうち、操作部46からの、使用者の操作に応じた信号で示されるサムネイル画像を選択する。
画像取得部185は、サムネイル画像が選択された場合、複数の相手から取得した閲覧時公開リストに配置されている、選択されたサムネイル画像の元の画像が記憶されている記憶空間におけるアドレスから、ネットワーク2を介して、相手が提供する画像を取得する。
分類部186は、相手から取得した画像を、閲覧時公開リストに配置されているグループの名前であって、相手においてその画像を分類するグループの名前と同じ名前のグループに分類する。分類部186は、相手から取得したサムネイル画像を、閲覧時公開リストに配置されているグループの名前であって、相手においてそのサムネイル画像の元の画像を分類するグループの名前と同じ名前のグループに分類する。
閲覧時公開リスト生成更新部187は、自分が相手に提供する画像が記憶されている記憶空間におけるアドレスと、自分が相手に提供する画像のサムネイル画像が記憶されている記憶空間におけるアドレスとを、自分において画像を分類するグループ毎に配置した閲覧時公開リストを生成する。また、閲覧時公開リスト生成更新部187は、閲覧時公開リストを更新する。例えば、閲覧時公開リスト生成更新部187は、操作部46からの、使用者の操作に応じた信号で示される画像が記憶されている記憶空間におけるアドレスと、その画像のサムネイル画像が記憶されている記憶空間におけるアドレスとを、その画像を分類するグループ毎に配置して閲覧時公開リストを生成する。または、例えば、閲覧時公開リスト生成更新部187は、操作部46からの、使用者の操作に応じた信号で示される画像が記憶されているアドレスと、その画像のサムネイル画像が記憶されているアドレスとを、その画像を分類するグループ毎に追加するように、閲覧時公開リストを更新する。
次に、デジタルカメラ1におけるモードの遷移について説明する。
図7は、デジタルカメラ1におけるモードの遷移の概要を説明する図である。デジタルカメラ1のモードが、状態遷移前のモードである、ネットワーク2を介して相手と通信しないモード(単独処理モード)であるモードAである場合、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1のモード(状態遷移後モード)として、ネットワーク2を介して相手と通信するモード(ネットワーク処理モード)であるモードA’が選択される。モードA’において、ネットワーク2との接続方式のうちの、接続方式Aが選択されて、デジタルカメラ1は、接続方式Aでネットワーク2に接続する。
モードAと、モードA’と、接続方式Aとは、予め関係付けられている。
また、状態遷移前のモードであるデジタルカメラ1のモードが、単独処理モードであるモードBである場合、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1のモード(状態遷移後モード)として、ネットワーク処理モードであるモードB’が選択される。モードB’において、ネットワーク2との接続方式のうちの、接続方式Bが選択されて、デジタルカメラ1は、接続方式Bでネットワーク2に接続する。
モードBと、モードB’と、接続方式Bとは、予め関係付けられている。
このようにすることで、ネットワーク接続を利用するモードであるネットワーク処理モードに遷移するとき、自動的に正しい(遷移しようとするモードに適した)接続方式(通信の方式)でネットワーク2に接続できるようになる。
ネットワーク2を介して相手と通信しないモードである単独処理モードと、ネットワーク2を介して相手と通信するモードであるネットワーク処理モードとをユースケース(用途)に基づいて予め関係付けておくことで、使用者にとって分かり易い、ネットワーク2に接続する指示(操作)をするだけで、自動的に正しい(そのモードに適した)接続方式でネットワーク2を利用するアプリケーションを実行させることができるようになる。
図8は、デジタルカメラ1におけるモードの遷移の具体例を説明する図である。デジタルカメラ1のモードが、ネットワーク2を介して相手と通信しないモード(単独処理モード)である撮影モードである場合、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1のモードとして、ネットワーク2を介して相手と通信するモード(ネットワーク処理モード)である撮影時写真交換モードが選択される。
撮影モードにおいて、デジタルカメラ1は、被写体を撮影することができる。撮影時写真交換モードにおいて、デジタルカメラ1は、自分は被写体の撮影が可能な状態であると共に、相手が被写体を撮影したとき、相手が撮影したその画像をネットワーク2を介して取得することができる。すなわち、撮影時写真交換モードにおいて、画像を撮影すると同時に、撮影された画像が、ネットワーク2を介して接続されているデジタルカメラ1に送付される。
撮影モードのユースケース(用途)は、被写体の撮影であり、撮影時写真交換モードのユースケースは、被写体の撮影および相手の撮影した画像の取得である。従って、単独処理モードである撮影モードと、ネットワーク処理モードである撮影時写真交換モードとは、被写体を撮影するというユースケースが共通するので、ユースケース(用途)に基づいて予め関係付けられる。
すなわち、撮影時写真交換モードは、画像を撮影するときに、ネットワーク2を使用するものなので、単独処理モードである通常の撮影モードから、ネットワークボタン21の押圧などといったトリガによってネットワーク2に接続されて、撮影時写真交換モードに遷移することが、使用者にとって、自然であり、分かり易い(連想またはイメージしやすく、覚えやすい)と考えられる。
言い換えれば、図8で示されるように、ネットワーク2に接続する前の通常の撮影モードと、ネットワーク2に接続した後の撮影時写真交換モードとを結びつけて考えることができる。
撮影時写真交換モードにおいて、ネットワーク2との接続方式のうちの、APIPA(Automatic Private IP Addressing)方式でIP(Internet Protocol)アドレスを割り当てるアドホック接続が選択されて、デジタルカメラ1は、APIPA方式でIPアドレスを割り当てるアドホック接続でネットワーク2を介して相手に接続する。
被写体の撮影は、必ずしも無線LAN(Local Area Network)アクセスポイントやDHCP(Dynamic Host Configuration Protocol)サーバが設置されている場所で行われるとは限らないので、撮影時写真交換モードにおけるネットワーク2との接続方式には、無線LANアクセスポイントやDHCPサーバを必要としない、アドホック接続が適していると考えられる。
従って、撮影時写真交換モードとアドホック接続を結びつけて考えることができる。
このように、撮影モードと、撮影時写真交換モードと、アドホック接続とは、予め関係付けられている。
また、デジタルカメラ1のモードが、ネットワーク2を介して相手と通信しない単独処理モードである閲覧モードである場合、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1のモードとして、ネットワーク2を介して相手と通信するネットワーク通信モードである閲覧時写真交換モードが選択される。
閲覧モードにおいて、デジタルカメラ1は、自分に装着されている記録媒体60に記録されている画像をLCD20に表示することができ、例えば、記録媒体60に記録された静止画ファイルおよび動画ファイルの代表画像であるサムネイル画像を複数表示することができる。閲覧時写真交換モードにおいて、デジタルカメラ1は、自分に装着されている記録媒体60に記録されている上述のサムネイル画像をLCD20に表示すると共に、相手に装着されている記録媒体60に記録されている画像のサムネイル画像をLCD20に表示し、サムネイル画像が表示された元の画像のうち、所望の画像を相手からネットワーク2を介して取得することができる。すなわち、閲覧時写真交換モードにおいて、デジタルカメラ1の記録媒体60に撮り溜められた画像が、複数台のデジタルカメラ1によって交換される。
閲覧モードのユースケース(用途)は、表示された画像の閲覧であり、閲覧時写真交換モードのユースケースは、表示された画像の閲覧および相手に記録されている画像の取得である。従って、単独処理モードである閲覧モードと、ネットワーク処理モードである閲覧時写真交換モードとは、表示された画像の閲覧というユースケースが共通するので、ユースケース(用途)に基づいて予め関係付けられる。
すなわち、閲覧時写真交換モードは、画像を閲覧するときに、ネットワーク2を使用するものなので、撮影時写真交換モードと同様に、単独処理モードである通常の閲覧モードから、ネットワークボタン21の押圧などといったトリガによってネットワーク2に接続されて、閲覧時写真交換モードに遷移することが、使用者にとって、自然であり、分かり易い(連想またはイメージしやすく、覚えやすい)と考えられる。
言い換えれば、図8で示されるように、ネットワーク2に接続する前の通常の閲覧モードと、ネットワーク2に接続した後の閲覧時写真交換モードとを結びつけて考えることができる。
また、閲覧時写真交換モードにおいて、ネットワーク2との接続方式のうちの、APIPA方式でIPアドレスを割り当てるアドホック接続が選択されて、デジタルカメラ1は、APIPA方式でIPアドレスを割り当てるアドホック接続でネットワーク2を介して相手に接続する。
画像の撮影と同様に、画像の閲覧は、必ずしも無線LANアクセスポイントやDHCPサーバが設置されている場所で行われるとは限らないので、閲覧時写真交換モードにおけるネットワーク2との接続方式には、無線LANアクセスポイントやDHCPサーバを必要としない、アドホック接続が適していると考えられる。
従って、閲覧時写真交換モードとアドホック接続を結びつけて考えることができる。
このように、閲覧モードと、閲覧時写真交換モードと、アドホック接続とは、予め関係付けられている。
さらに、デジタルカメラ1のモードが、ネットワーク2を介して相手と通信しない単独処理モードである印刷モードである場合、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1のモードとして、ネットワーク2を介して相手と通信するネットワーク通信モードであるネットワーク印刷モードが選択される。
印刷モードにおいて、デジタルカメラ1は、自分に装着されている記録媒体60に記録されている画像をネットワーク2を介さないで接続されているプリンタに印刷させることができる。ネットワーク印刷モードにおいて、デジタルカメラ1は、自分に装着されている記録媒体60に記録されている画像を、ネットワーク2を介して接続されているプリンタ3に印刷させることができる。すなわち、ネットワーク印刷モードにおいて、デジタルカメラ1の記録媒体60に撮り溜められた画像が、ネットワーク2に接続されたプリンタで印刷される。
印刷モードのユースケース(用途)は、画像の印刷であり、ネットワーク印刷モードのユースケースは、画像の印刷である。従って、単独処理モードである印刷モードと、ネットワーク処理モードであるネットワーク印刷モードとは、画像の印刷というユースケースが共通するので、ユースケース(用途)に基づいて予め関係付けられる。
すなわち、ネットワーク印刷モードは、画像を印刷するときに、ネットワーク2を使用するものなので、単独処理モードである通常の印刷モードから、ネットワークボタン21の押圧などといったトリガによってネットワーク2に接続されて、ネットワーク印刷モードに遷移することが、使用者にとって、自然であり、分かり易い(連想またはイメージしやすく、覚えやすい)と考えられる。
言い換えれば、図8で示されるように、ネットワーク2に接続する前の通常の印刷モードと、ネットワーク2に接続した後のネットワーク印刷モードとを結びつけて考えることができる。
また、ネットワーク印刷モードにおいて、ネットワーク2との接続方式のうちの、DHCP方式でIPアドレスを割り当てるインフラストラクチャ接続が選択されて、デジタルカメラ1は、DHCP方式でIPアドレスを割り当てるインフラストラクチャ接続でネットワーク2を介して相手に接続する。
ネットワーク印刷モードにおいて、家庭内や印刷のサービスを提供しているホットスポットなどに設けられた、既にネットワーク2に接続されたプリンタ3が接続の相手になると考えられるので、ネットワーク印刷モードにおけるネットワーク2との接続方式には、インフラストラクチャ接続が適していると考えられる。
従って、ネットワーク印刷モードとインフラストラクチャ接続を結びつけて考えることができる。
このように、印刷モードと、ネットワーク印刷モードと、インフラストラクチャ接続とは、予め関係付けられている。
なお、状態遷移前のモードと状態遷移後のモードとは、撮影モードと撮影時写真交換モード、閲覧モードと閲覧時写真交換モード、または印刷モードとネットワーク印刷モードに限るものではなく、ユースケースによって関係付けられるモードであればよく、例えば、画像を装着さていれる記録媒体60に記録する(保存する)保存モードと、ネットワーク2を介して、ネットワーク2ら接続されているストレージまたはパーソナルコンピュータに画像を記録する(保存する)ネットワーク保存モードなどとすることができる。
また、選択されたネットワーク処理モードに遷移する前に、通信する相手が移行しようとしているモードが、自分が遷移しようとするネットワーク処理モードと協働するモードであるか否かが判定される。通信する相手が移行しようとしているモードが、自分が遷移しようとするネットワーク処理モードと協働するモードであると判定された場合、デジタルカメラ1のモードが、選択されたネットワーク処理モードに遷移する。
なお、接続方式(通信の方式)は、アドホックモードまたはインフラストラクチャモードに限るものではなく、例えば、有線通信若しくは無線通信、IEEE802.11a、IEEE802.11b、若しくはIEEE802.11gなどの規格に準拠する無線LAN、またはブルートゥースなどの規格に準拠する無線通信などの中から選択するようにしてもよい。
次に、図9および図10を参照して、通信する相手が移行しようとしているモードが、自分が遷移しようとするネットワーク処理モードと協働するモードであるか否かを判定する処理を説明する。
図9で示されるようにデジタルカメラ1−1のモードが、ネットワーク2を介して相手と通信しない単独処理モードであるモードAの一例である撮影モードである場合、デジタルカメラ1−1のネットワークボタン21が押圧されることで、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1−1のモードとして、ネットワーク2を介して相手と通信するネットワーク処理モードである撮影時写真交換モードが選択される。
一方、デジタルカメラ1−1の相手であるデジタルカメラ1−2のモードが、ネットワーク2を介して相手と通信しない単独処理モードであるモードAの一例である撮影モードである場合、デジタルカメラ1−2のネットワークボタン21が押圧されることで、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1−2のモードとして、ネットワーク2を介して相手と通信するネットワーク処理モードである撮影時写真交換モードが選択される。
デジタルカメラ1−1は、通信する相手であるデジタルカメラ1−2が移行しようとしているモードが、自分のモードである撮影時写真交換モードと協働するモードであるか否かを判定する。
この場合、デジタルカメラ1−1が移行しようとしているモードは、撮影時写真交換モードであり、デジタルカメラ1−2が移行しようとしているモードは、撮影時写真交換モードである。撮影時写真交換モードにおいて、被写体が撮影されると共に、相手が被写体を撮影したとき、相手が撮影したその画像がネットワーク2を介して取得されるので、撮影時写真交換モードと撮影時写真交換モードとは、協働するモードである。
従って、デジタルカメラ1−1は、通信する相手であるデジタルカメラ1−2が移行しようとしているモードが、自分のモードである撮影時写真交換モードと協働するモードであると判定し、デジタルカメラ1−1のモードは、撮影時写真交換モードに遷移する。
同様に、デジタルカメラ1−2は、通信する相手であるデジタルカメラ1−1が移行しようとしているモードが、自分のモードである撮影時写真交換モードと協働するモードであると判定し、デジタルカメラ1−2のモードは、撮影時写真交換モードに遷移する。
その結果、デジタルカメラ1−1とデジタルカメラ1−2とは、ネットワーク2を介して、接続することになる。例えば、デジタルカメラ1−1とデジタルカメラ1−2のそれぞれが相手と通信しない単独処理モードである撮影モードにあり、その後、デジタルカメラ1−1およびデジタルカメラ1−2においてネットワークボタン21がそれぞれ押下されることにより、デジタルカメラ1−1とデジタルカメラ1−2とがネットワーク2を介して接続されるとともに、それぞれが撮影時写真交換モードに遷移することになる。また同様に、デジタルカメラ1−1とデジタルカメラ1−2のそれぞれが相手と通信しない単独処理モードである閲覧モードにあり、その後、デジタルカメラ1−1およびデジタルカメラ1−2においてネットワークボタン21がそれぞれ押下されることにより、デジタルカメラ1−1とデジタルカメラ1−2とがネットワーク2を介して接続されるとともに、それぞれが閲覧時写真交換モードに遷移することになる。
これに対して、図10は、デジタルカメラ1−1とデジタルカメラ1−2とがネットワーク2を介して接続されない場合の例を示す図である。
図10で示されるようにデジタルカメラ1−1のモードが、単独処理モードであるモードAの一例である撮影モードである場合、図9の場合と同様に、デジタルカメラ1−1のネットワークボタン21が押圧されることで、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1−1のモードとして、ネットワーク処理モードである撮影時写真交換モードが選択される。
デジタルカメラ1−1の相手であるデジタルカメラ1−2のモードが、単独処理モードであるモードAの一例である閲覧モードである場合、デジタルカメラ1−2のネットワークボタン21が押圧されることで、ネットワーク2に接続するトリガが発行されると、このトリガを状態遷移トリガとして、遷移先のデジタルカメラ1−2のモードとして、ネットワーク処理モードである閲覧時写真交換モードが選択される。
デジタルカメラ1−1は、通信する相手であるデジタルカメラ1−2が移行しようとしているモードが、自分のモードである撮影時写真交換モードと協働するモードであるか否かを判定する。
この場合、デジタルカメラ1−1が移行しようとしているモードは、撮影時写真交換モードであり、デジタルカメラ1−2が移行しようとしているモードは、閲覧時写真交換モードである。撮影時写真交換モードにおいて、被写体が撮影されると共に、相手が被写体を撮影したとき、相手が撮影したその画像がネットワーク2を介して取得されるが、閲覧時写真交換モードにおいて、自分に装着されている記録媒体60に記録されている画像のサムネイル画像がLCD20に表示されると共に、相手に装着されている記録媒体60に記録されている画像のサムネイル画像がLCD20に表示され、サムネイル画像が表示された元の画像のうち、所望の画像が相手からネットワーク2を介して取得されるので、撮影時写真交換モードと閲覧時写真交換モードとは、協働するモードでない。
従って、デジタルカメラ1−1は、通信する相手であるデジタルカメラ1−2が移行しようとしているモードが、自分のモードである撮影時写真交換モードと協働するモードでないと判定し、デジタルカメラ1−1のモードは、撮影時写真交換モードに遷移しない。
同様に、デジタルカメラ1−2は、通信する相手であるデジタルカメラ1−1が移行しようとしているモードが、自分のモードである閲覧時写真交換モードと協働するモードでないと判定し、デジタルカメラ1−2のモードは、撮影時写真交換モードに遷移しない。
その結果、デジタルカメラ1−1とデジタルカメラ1−2とは、ネットワーク2を介して、接続されない。
次に、図11のフローチャートを参照して、デジタルカメラ1−1のモード遷移の処理を説明する。ステップS11において、モード管理オブジェクト121のモード遷移制御部145は、デジタルカメラ1−1のモードを、使用者による操作に応じた操作部46からの信号で示されるモードであって、単独処理モードである接続前モードに入れる。接続前モードは、例えば、撮影モード、閲覧モード、または印刷モードなどである。
ステップS12において、モード管理オブジェクト121は、ネットワーク2に接続するトリガであるネットワーク接続トリガを受信する。例えば、ネットワーク接続トリガは、デジタルカメラ1−1のネットワークボタン21が押圧されると発行され、モード管理オブジェクト121は、ネットワークボタン21が押圧されることで発行されたネットワーク接続トリガを受信する。
ステップS13において、モード管理オブジェクト121の接続方式選択部141は、ステップS11において入った接続前モードに応じた、ネットワーク2の接続方式を選択する。例えば、ステップS13において、接続方式選択部141は、APIPA方式でIPアドレスを割り当てるアドホック接続方式、またはDHCP方式でIPアドレスを割り当てるインフラストラクチャ接続方式のいずれか一方を選択する。
なお、接続前モードとネットワーク2の接続方式とは、予め対応付けられている。例えば、モード管理テーブル144は、予め決められている、単独処理モードと、ネットワーク2の通信の方式と、ネットワーク処理モードとの対応付けを記述しているので、ステップS13において、接続方式選択部141は、モード管理テーブル144を参照して、接続前モードに応じた、ネットワーク2の接続方式を選択する。
ステップS14において、モード管理オブジェクト121は、ミドルウェア104およびOS101を介して、通信ドライバ103に、選択された接続方式で、ネットワーク2との接続を開始させる。すなわち、これにより、通信ドライバ103は、通信I/F49に、選択された接続方式で、ネットワーク2またはネットワーク2を介した相手との接続を開始させる。
ステップS15において、モード管理オブジェクト121は、ミドルウェア104およびOS101を介して、通信ドライバ103から、ネットワーク2との接続の状態を取得して、ネットワーク2と接続できたか否かを判定する。
ステップS15において、ネットワーク2と接続できたと判定された場合、ステップS16に進み、モード管理オブジェクト121の遷移先モード選択部142は、接続後に遷移すべきモードを選択する。すなわち、ステップS16において、遷移先モード選択部142は、単独処理モードである接続前モードに応じた、ネットワーク2との接続後に遷移すべきネットワーク通信モードを選択する。
なお、単独処理モードである接続前モードと、その接続前モードから遷移すべきネットワーク通信モードとは、予め対応付けられている。例えば、モード管理テーブル144は、予め決められている、単独処理モードと、ネットワーク2の通信の方式と、ネットワーク処理モードとの対応付けを記述しているので、ステップS15において、遷移先モード選択部142は、モード管理テーブル144を参照して、接続前モードに応じた、ネットワーク2との接続後に遷移すべきネットワーク通信モードを選択する。
ステップS17において、モード管理オブジェクト121の相手モード判定部143は、ネットワーク2を介して、接続している相手であるデジタルカメラ1−2の遷移しようとしているモード(を示す情報)を取得する。
例えば、ステップS17において、相手モード判定部143は、ミドルウェア104およびOS101を介して、通信ドライバ103に、遷移しようとしているモードを示す情報の要求をデジタルカメラ1−2宛てに送信させる。通信ドライバ103は、通信I/F49に、遷移しようとしているモードを示す情報の要求をデジタルカメラ1−2宛てに送信させる。すると、デジタルカメラ1−2は、ネットワーク2を介して、デジタルカメラ1−2が遷移しようとしているモードを示す情報を送信してくるので、通信ドライバ103は、通信I/F49に、その情報を受信させる。通信ドライバ103は、受信した、デジタルカメラ1−2が遷移しようとしているモードを示す情報を、ミドルウェア104およびOS101を介して、相手モード判定部143に供給する。
ステップS18において、相手モード判定部143は、デジタルカメラ1−2である接続相手の接続後モード、すなわち、相手の遷移しようとしているモードが、自分(デジタルカメラ1−1)が移行(遷移)しようとしているモードと協働するモードであるか否かを判定する。
例えば、自分が遷移しようとしているモードが撮影時写真交換モードまたは閲覧時写真交換モードである場合、ステップS18において、相手モード判定部143は、デジタルカメラ1−2の遷移しようとしているモードが、自分が遷移しようとしているモードと合致するモードである(同じモードである)か否かを判定する。
また、例えば、自分が遷移しようとしているモードがネットワーク印刷モードである場合、ステップS18において、相手モード判定部143は、相手であるプリンタ3の遷移しようとしているモードが、ネットワーク印刷モードのデジタルカメラ1−1からネットワーク2を介して画像を受信して、受信した画像を印刷するモードであるか否か、すなわち、ネットワーク印刷モードと協働するモードであるか否かを判定する。
なお、ネットワーク印刷モードと協働するモードとは、ネットワーク印刷モードに対してサブコンビネーションの関係にあるモードであるとも言える。
ステップS18において、接続相手の接続後モード、すなわち、相手の遷移しようとしているモードが、自分(デジタルカメラ1−1)が移行(遷移)しようとしているモードと協働するモードであると判定された場合、ステップS19に進み、モード管理オブジェクト121のモード遷移制御部145は、デジタルカメラ1−1のモードをステップS16で選択されたモード(接続後モード)に遷移させて、処理は終了する。
ステップS18において、接続相手の接続後モード、すなわち、相手の遷移しようとしているモードが、自分(デジタルカメラ1−1)が移行(遷移)しようとしているモードと協働するモードでないと判定された場合、ステップS20に進み、通信ドライバ103は、ネットワーク2の接続を切断して、モード管理オブジェクト121は、例えば、LCD20にエラーメッセージを表示させるなど、使用者に接続エラーを通知して、モードは遷移せず、元のモードのままで、処理は終了する。
ステップS15において、ネットワーク2と接続できなかったと判定された場合、ステップS20に進み、モード管理オブジェクト121は、例えば、LCD20にエラーメッセージを表示させるなど、使用者に接続エラーを通知して、モードは遷移せず、元のモードのままで、処理は終了する。
モード遷移の処理は、図12に示されるように、ネットワークボタン21が押圧されるなどの、ネットワーク接続トリガが操作部46において生じると、入力ドライバ102およびミドルウェア104を介して、ネットワーク接続トリガのイベントである入力通知がアプリケーションプログラム105に供給される。アプリケーションプログラム105は、ネットワーク接続トリガのイベントを受信すると、モード管理テーブル144を参照して、現在のモードに対応する接続方式を選択し、選択された接続方式を指定して、ミドルウェア104を介して通信ドライバ103に接続指令を出す。
図12の示すモード管理テーブル144においては、モードAである現在のモードと、ネットワーク接続トリガであるトリガと、接続方式Aである接続方式と、モードA’である遷移先モードとの対応付けが予め決められている。また、図12の示すモード管理テーブル144においては、モードBである現在のモードと、ネットワーク接続トリガであるトリガと、接続方式Bである接続方式と、モードB’である遷移先モードとの対応付けが予め決められている。
通信ドライバ103は、通信I/F49に、ネットワーク2と接続させる。通信I/F49、通信ドライバ103、およびミドルウェア104によって、接続が完了したか、または接続が失敗したかを示すイベントが発行されて、アプリケーションプログラム105に供給される。接続が完了した場合、ネットワーク2を介して、通信I/F49、通信ドライバ103、およびミドルウェア104によって、接続されている相手の遷移しようとするモードである遷移先モードが取得されて、相手の遷移先モード(を示す情報)が、アプリケーションプログラム105に供給される。
アプリケーションプログラム105は、相手の遷移先モードが、自分の次のモード(自分が遷移しようとするモード)と協働するモードであるか否かを判定し、相手の遷移先モードが、自分の次のモードと協働するモードである場合、次のそのモードに自分のモードを遷移させる。
このように、単独処理モードとネットワーク2の通信の方式との予め決められている対応付けにより、単独処理モードである現在のモードに対応付けられているネットワーク2の通信の方式が選択され、単独処理モードとネットワーク処理モードとの予め決められている対応付けにより、単独処理モードである現在のモードに対応付けられているネットワーク処理モードが選択され、選択されたネットワーク2の通信の方式でネットワーク2を介して相手との通信を開始するように通信が制御され、通信する相手が遷移しようとしているモードが、選択されたネットワーク処理モードと協働するモードであるか否かが判定され、通信する相手が遷移しようとしているモードが、選択されたネットワーク処理モードと協働するモードであると判定された場合、選択されたネットワーク処理モードに遷移するようにモードの遷移が制御される。
このようにすることで、確実にネットワーク2と接続し、ネットワーク2を介して相手と接続することができる。また、ネットワーク処理モードに適した方式、すなわち、実行しようとする処理に適した方式で、ネットワーク2と接続するか、またはネットワーク2を介して相手と接続することができるので、ネットワーク2を介した処理を確実に実行することができる。
ネットワーク処理モードに適しない方式で、ネットワーク2と接続してしまうか、またはネットワーク2を介して相手と接続してしまうことがなくなり、一見、接続しているように見えるにもかかわらず、ネットワーク2を介した処理を実行できない事態を確実に回避することができる。
図13は、ネットワーク2の通信の方式としてアドホック接続方式が選択された場合の、ステップS14に対応する、ネットワーク2を介した相手であるデジタルカメラ1−2との接続の処理の詳細の例を説明するフローチャートである。ステップS31において、デジタルカメラ1−1の通信ドライバ103は、ネットワーク2を介したデジタルカメラ1−2との、アドホック接続を開始する。例えば、通信ドライバ103は、通信I/F49への電源の供給を開始させ、通信I/F49に、周辺の機器のスキャンを開始させる。
ステップS41において、デジタルカメラ1−2の通信ドライバ103は、ステップS31と同様に、ネットワーク2を介したデジタルカメラ1−1との、アドホック接続を開始する。
ステップS32において、デジタルカメラ1−1の通信ドライバ103は、ネットワーク2を介したデジタルカメラ1−2との、アドホック接続を完了する。ステップS42において、デジタルカメラ1−2の通信ドライバ103は、ネットワーク2を介したデジタルカメラ1−1との、アドホック接続を完了する。
ステップS33において、デジタルカメラ1−1の通信ドライバ103は、識別コマンドを発行して、発行した識別コマンドをネットワーク2を介して、デジタルカメラ1−2に送信する。ステップS43において、デジタルカメラ1−2の通信ドライバ103は、デジタルカメラ1−1から送信されてきた識別コマンドを受け付ける。
ステップS44において、デジタルカメラ1−2の通信ドライバ103は、識別コマンドをネットワーク2を介して、デジタルカメラ1−1に返信する。ステップS34において、デジタルカメラ1−1の通信ドライバ103は、デジタルカメラ1−1から返信されてきた識別コマンドを受け付ける。
ステップS35において、デジタルカメラ1−1の通信ドライバ103は、認証完了コマンドを発行して、発行した認証完了コマンドをネットワーク2を介して、デジタルカメラ1−2に送信する。ステップS45において、デジタルカメラ1−2の通信ドライバ103は、デジタルカメラ1−1から送信されてきた認証完了コマンドを受け付け、処理は終了する。
接続の処理において、相手が正当であると認証された場合には、ステップS15以下の処理が実行され、相手が正当でないと認証された場合には、ステップS15以下の処理は実行されない。
アドホック接続方式による接続の処理においては、同時に2台のデジタルカメラ1を接続する場合にしか、その接続が許可されないようにするのが好ましい。これは、悪意をもって接続しようとしてくる第三者の接続を排除するためである。例えば、ステップS31およびステップS41において、接続しようとする機器の数が数えられ、3台以上の機器を接続しようとする場合には、以下の処理は実行されず、その接続は許可されない。
なお、3台目のデジタルカメラ1を接続する場合には、アドホック接続方式により既に相互に接続されている2台のデジタルカメラ1のうちのいずれかのネットワークボタン21と、その3台目のデジタルカメラ1のネットワークボタン21とを同時に押圧することで、アドホック接続方式により既に相互に接続されている2台のデジタルカメラ1の接続に、3台目のデジタルカメラ1を接続し、3台のデジタルカメラ1を相互に接続することができる。また、このような操作を繰り返すことにより、3台以上のデジタルカメラ1を相互に接続することができる。
また、相手が正当であると認証されて、相手と接続されると、デジタルカメラ1は、相手のついてのメタデータ、例えば、相手の名前などを取得できるようになる。
次に、図14のフローチャートを参照して、撮影モードから撮影時写真交換モードに遷移する場合の、デジタルカメラ1−1のモード遷移の処理の具体的な例を説明する。ステップS61において、モード管理オブジェクト121のモード遷移制御部145は、デジタルカメラ1−1のモードを、使用者による操作に応じた操作部46のモードダイヤル18からの信号で示される撮影モードに入れる。
図15で示されるように、撮影モードにおいて、LCD20には、これから撮影しようとする被写体の画像が表示される。
ステップS62において、モード管理オブジェクト121は、ネットワークボタン21の押圧による、ネットワーク接続トリガであるイベントを受信する。
例えば、デジタルカメラ1−1のネットワークボタン21とデジタルカメラ1−2のネットワークボタン21とが同時に押圧される。
ステップS63において、モード管理オブジェクト121の接続方式選択部141は、撮影モードとAPIPA方式でIPアドレスを割り当てるアドホック接続方式との対応付けを記述しているモード管理テーブル144を参照して、ステップS61において入った撮影モードに応じた、ネットワーク2の接続方式として、APIPA方式でIPアドレスを割り当てるアドホック接続方式を選択する。
ステップS64において、モード管理オブジェクト121は、ミドルウェア104およびOS101を介して、通信ドライバ103に、APIPA方式でIPアドレスを割り当てるアドホック接続方式で、ネットワーク2を介したデジタルカメラ1−2との接続を開始させる。
互いに無線LANの電波が届く範囲にあり、かつ、互いに、アドホック接続方式で接続しようとする場合、デジタルカメラ1−1とデジタルカメラ1−2とのネットワーク2のIP層の接続が完了する。
デジタルカメラ1−2との接続が開始されると、図15で示されるように、デジタルカメラ1−1のLCD20には、接続中(接続の処理中)であることを示す画像が表示される。また、操作ボタン19を操作して、デジタルカメラ1−1のLCD20に表示されているキャンセルボタンを操作部46を用いて選択することで、デジタルカメラ1−1は、デジタルカメラ1−2との接続を中止することができる。
ステップS65において、モード管理オブジェクト121は、ミドルウェア104およびOS101を介して、通信ドライバ103から、ネットワーク2の接続の状態を取得して、ネットワーク2接続できたか否かを判定する。
ステップS65において、ネットワーク2接続できたと判定された場合、ステップS66に進み、モード管理オブジェクト121の遷移先モード選択部142は、撮影モードと撮影時写真交換モードとの対応付けを記述しているモード管理テーブル144を参照して、接続後に遷移すべきモードとして、撮影時写真交換モードを選択する。
IP層の接続の完了後、接続相手が移行しようとしているモードが撮影時写真交換モードであることを、ネットワーク2を介して確認する。
すなわち、ステップS67において、モード管理オブジェクト121の相手モード判定部143は、ネットワーク2を介して、接続している相手であるデジタルカメラ1−2の遷移しようとしているモード(を示す情報)を取得する。
ステップS68において、相手モード判定部143は、デジタルカメラ1−2である接続相手の接続後モード、すなわち、相手の遷移しようとしているモードが、撮影時写真交換モードであるか否かを判定する。
ステップS68において、デジタルカメラ1−2である接続相手の接続後モードが撮影時写真交換モードであると判定された場合、ステップS69に進み、モード管理オブジェクト121のモード遷移制御部145は、デジタルカメラ1−1のモードをステップS66で選択された撮影時写真交換モードに遷移させて、処理は終了する。
図15で示されるように、撮影時写真交換モードにおいて、被写体が撮影されると共に、デジタルカメラ1−2が被写体を撮影したとき、デジタルカメラ1−2が撮影したその画像をネットワーク2を介して取得し、LCD20には、これから撮影しようとする被写体の画像と共に、デジタルカメラ1−1が撮影した画像と、ネットワーク2を介して取得した、デジタルカメラ1−2が撮影した画像とが表示される。
ステップS68において、デジタルカメラ1−2である接続相手の接続後モードが撮影時写真交換モードでないと判定された場合、すなわち、お互いが遷移しようとしていモードが協働するモードでないと判定されると、ステップS70に進み、通信ドライバ103は、接続を終了し(切断し)、モード管理オブジェクト121は、例えば、LCD20にエラーメッセージを表示させるなど、使用者に接続エラー(接続が失敗したこと)を通知して、モードは遷移せず、撮影モードのままで、処理は終了する。
例えば、ステップS68において、図15で示されるように、LCD20に、”接続エラー 接続が切断されました”などのエラーメッセージが表示される。また、操作ボタン19を操作して、LCD20に表示されているキャンセルボタンまたは終了ボタンを操作部46を用いて選択することで、モード遷移の処理を中止または終了するか、次の処理を実行させることができる。
ステップS65において、ネットワーク2と接続できなかったと判定された場合、ステップS70に進み、モード管理オブジェクト121は、例えば、LCD20にエラーメッセージを表示させるなど、使用者に接続エラーを通知して、モードは遷移せず、撮影モードのままで、処理は終了する。
撮影モードから撮影時写真交換モードへのモード遷移の処理は、図16に示されるように、ネットワークボタン21が押圧されるなどの、ネットワーク接続トリガが操作部46において生じると、入力ドライバ102およびミドルウェア104を介して、ネットワーク接続トリガのイベントである入力通知がアプリケーションプログラム105に供給される。アプリケーションプログラム105は、ネットワーク接続トリガのイベントを受信すると、モード管理テーブル144を参照して、現在のモードである撮影モードに対応するアドホック接続方式を選択し、選択された接続方式を指定して、ミドルウェア104を介して通信ドライバ103に接続指令を出す。
図16の示すモード管理テーブル144においては、撮影モードである現在のモードと、ネットワーク接続ボタンの押圧であるトリガと、アドホック接続方式である接続方式と、撮影時写真交換モードである遷移先モードとの対応付けが予め決められている。また、図16の示すモード管理テーブル144においては、閲覧モードである現在のモードと、ネットワーク接続ボタンの押圧であるトリガと、アドホック接続方式である接続方式と、閲覧時写真交換モードである遷移先モードとの対応付けが予め決められている。さらに、図16の示すモード管理テーブル144においては、印刷モードである現在のモードと、ネットワーク接続ボタンの押圧であるトリガと、インフラストラクチャ接続方式である接続方式と、ネットワーク印刷モードである遷移先モードとの対応付けが予め決められている。
通信ドライバ103は、通信I/F49に、ネットワーク2と接続させる。通信I/F49、通信ドライバ103、およびミドルウェア104によって、接続が完了したか、または接続が失敗したかを示すイベントが発行されて、アプリケーションプログラム105に供給される。接続が完了した場合、ネットワーク2を介して、通信I/F49、通信ドライバ103、およびミドルウェア104によって、接続されている相手の遷移しようとするモードである遷移先モードが取得されて、相手の遷移先モード(を示す情報)が、アプリケーションプログラム105に供給される。
アプリケーションプログラム105は、相手の遷移先モードが撮影時写真交換モードであるか否かを判定し、相手の遷移先モードが撮影時写真交換モードである場合、撮影時写真交換モードに自分のモードを遷移させる。
以上の処理を使用者側の視点から見ると、自分のデジタルカメラ1を含む複数台のデジタルカメラ1のアプリケーションプログラム105の遷移しようとするモードが、撮影時写真交換モードであれば、使用者は、デジタルカメラ1のモードを、単独処理モードである撮影モードに遷移させ、ネットワークボタン21を押圧するだけで、ネットワーク2との接続方式を意識することなく、撮影時写真交換モードにおけるデジタルカメラ1の機能を使用することができるようになる。
なお、閲覧モードから閲覧時写真交換モードへの遷移の処理は、撮影モードから撮影時写真交換モードに遷移する場合と同様の処理である。すなわち、モード管理オブジェクト121のモード遷移制御部145は、デジタルカメラ1−1のモードを、使用者による操作に応じた操作部46のモードダイヤル18からの信号で示される閲覧モードに入れる。
次に、モード管理オブジェクト121は、ネットワークボタン21の押圧による、ネットワーク接続トリガであるイベントを受信する。
そして、モード管理オブジェクト121の接続方式選択部141は、閲覧モードとAPIPA方式でIPアドレスを割り当てるアドホック接続方式との対応付けを記述しているモード管理テーブル144を参照して、閲覧モードに応じた、ネットワーク2の接続方式として、APIPA方式でIPアドレスを割り当てるアドホック接続方式を選択する。
さらに、モード管理オブジェクト121は、ミドルウェア104およびOS101を介して、通信ドライバ103に、APIPA方式でIPアドレスを割り当てるアドホック接続方式で、ネットワーク2を介したデジタルカメラ1−2との接続を開始させる。
ネットワーク2を介した接続の開始の後、モード管理オブジェクト121は、ミドルウェア104およびOS101を介して、通信ドライバ103から、ネットワーク2の接続の状態を取得して、ネットワーク2接続できたか否かを判定する。
ネットワーク2接続できたと判定された場合、モード管理オブジェクト121の遷移先モード選択部142は、閲覧モードと閲覧時写真交換モードとの対応付けを記述しているモード管理テーブル144を参照して、接続後に遷移すべきモードとして、閲覧時写真交換モードを選択する。
IP層の接続の完了後、接続相手が移行しようとしているモードが閲覧時写真交換モードであることを、ネットワーク2を介して確認する。すなわち、モード管理オブジェクト121の相手モード判定部143は、ネットワーク2を介して、接続している相手であるデジタルカメラ1−2の遷移しようとしているモード(を示す情報)を取得する。
そして、相手モード判定部143は、デジタルカメラ1−2である接続相手の接続後モード、すなわち、相手の遷移しようとしているモードが、閲覧時写真交換モードであるか否かを判定する。
その結果、デジタルカメラ1−2である接続相手の接続後モードが閲覧時写真交換モードであると判定された場合、モード管理オブジェクト121のモード遷移制御部145は、デジタルカメラ1−1のモードを、選択された閲覧時写真交換モードに遷移させて、処理は終了する。
一方、デジタルカメラ1−2である接続相手の接続後モードが閲覧時写真交換モードでないと判定された場合、すなわち、お互いが遷移しようとしているモードが協働するモードでないと判定されると、通信ドライバ103は、接続を終了し(切断し)、モード管理オブジェクト121は、例えば、LCD20にエラーメッセージを表示させるなど、使用者に接続エラー(接続が失敗したこと)を通知して、モードは遷移せず、閲覧モードのままで、処理は終了する。
なお、ネットワーク2と接続できなかったと判定された場合、モード管理オブジェクト121は、例えば、LCD20にエラーメッセージを表示させるなど、使用者に接続エラーを通知して、モードは遷移せず、閲覧モードのままで、処理は終了する。
閲覧モードから閲覧時写真交換モードへのモード遷移の処理は、図16に示されるように、ネットワークボタン21が押圧されるなどの、ネットワーク接続トリガが操作部46において生じると、入力ドライバ102およびミドルウェア104を介して、ネットワーク接続トリガのイベントである入力通知がアプリケーションプログラム105に供給される。アプリケーションプログラム105は、ネットワーク接続トリガのイベントを受信すると、モード管理テーブル144を参照して、現在のモードである閲覧モードの対応するアドホック接続方式を選択し、選択された接続方式を指定して、ミドルウェア104を介して通信ドライバ103に接続指令を出す。
通信ドライバ103は、通信I/F49に、ネットワーク2と接続させる。通信I/F49、通信ドライバ103、およびミドルウェア104によって、接続が完了したか、または接続が失敗したかを示すイベントが発行されて、アプリケーションプログラム105に供給される。接続が完了した場合、ネットワーク2を介して、通信I/F49、通信ドライバ103、およびミドルウェア104によって、接続されている相手の遷移しようとするモードである遷移先モードが取得されて、相手の遷移先モード(を示す情報)が、アプリケーションプログラム105に供給される。
アプリケーションプログラム105は、相手の遷移先モードが閲覧時写真交換モードであるか否かを判定し、相手の遷移先モードが閲覧時写真交換モードである場合、閲覧時写真交換モードに自分のモードを遷移させる。
以上の処理を使用者側の視点から見ると、自分のデジタルカメラ1を含む複数台のデジタルカメラ1のアプリケーションプログラム105の遷移しようとするモードが、閲覧時写真交換モードであれば、使用者は、デジタルカメラ1のモードを、単独処理モードである閲覧モードに遷移させ、ネットワークボタン21を押圧するだけで、ネットワーク2との接続方式を意識することなく、閲覧時写真交換モードにおけるデジタルカメラ1の機能を使用することができるようになる。
また、印刷モードからネットワーク印刷モードへの遷移の処理は、撮影モードから撮影時写真交換モードに遷移する場合と同様の処理である。すなわち、モード管理オブジェクト121のモード遷移制御部145は、デジタルカメラ1−1のモードを、使用者による操作に応じた操作部46のモードダイヤル18からの信号で示される印刷モードに入れる。
次に、モード管理オブジェクト121は、ネットワークボタン21の押圧による、ネットワーク接続トリガであるイベントを受信する。
そして、モード管理オブジェクト121の接続方式選択部141は、印刷モードとDHCP方式でIPアドレスを割り当てるインフラストラクチャ接続方式との対応付けを記述しているモード管理テーブル144を参照して、印刷モードに応じた、ネットワーク2の接続方式として、DHCP方式でIPアドレスを割り当てるインフラストラクチャ接続方式を選択する。
さらに、モード管理オブジェクト121は、ミドルウェア104およびOS101を介して、通信ドライバ103に、DHCP方式でIPアドレスを割り当てるインフラストラクチャ接続方式で、ネットワーク2を介した図示せぬアクセスポイントであって、プリンタ3と接続されているアクセスポイントとの接続を開始させる。
この場合、プリンタ3の電源が予め入れられて、プリンタ3が、ネットワーク2の図示せぬアクセスポイントとの接続を完了していることが必要である。
インフラストラクチャ接続方式なので、通信ドライバ103は、アクセスポイントを検索し、検索されたアクセスポイントとのネットワーク2のIP層の接続を完了させる。そして、ミドルウェア104またはアプリケーションプログラム105は、DLNAなどの規格に規定されたプロトコルにより、通信ドライバ103を介して、ネットワーク2に接続されているプリンタ3が存在することを確認する。
デジタルカメラ1−1と図示せぬアクセスポイントとのネットワーク2のIP層の接続が完了し、ネットワーク2に接続されているプリンタ3の存在が確認されると、デジタルカメラ1−1とプリンタ3とのネットワーク2のIP層を介した通信が可能になる。
ネットワーク2を介した接続の開始の後、モード管理オブジェクト121は、ミドルウェア104およびOS101を介して、通信ドライバ103から、ネットワーク2の接続の状態を取得して、ネットワーク2と接続できたか否かを判定する。
ネットワーク2接続できたと判定された場合、モード管理オブジェクト121の遷移先モード選択部142は、印刷モードとネットワーク印刷モードとの対応付けを記述しているモード管理テーブル144を参照して、接続後に遷移すべきモードとして、ネットワーク印刷モードを選択する。
IP層の接続の完了後、接続相手が移行しようとしているモードがネットワーク印刷モードからの印刷を受け付けるモードであることを、ネットワーク2を介して確認する。すなわち、モード管理オブジェクト121の相手モード判定部143は、ネットワーク2を介して、接続している相手であるプリンタ3の遷移しようとしているモード(を示す情報)を取得する。
そして、相手モード判定部143は、プリンタ3の遷移しようとしているモード、すなわち、相手の遷移しようとしているモードが、ネットワーク印刷モードからの印刷を受け付けるモードであるか否かを判定する。
その結果、プリンタ3の遷移しようとしているモードがネットワーク印刷モードからの印刷を受け付けるモードであると判定された場合、モード管理オブジェクト121のモード遷移制御部145は、デジタルカメラ1−1のモードを、選択されたネットワーク印刷モードに遷移させて、処理は終了する。
一方、プリンタ3である接続相手の遷移しようとしているモードがネットワーク印刷モードからの印刷を受け付けるモードでないと判定された場合、すなわち、お互いが遷移しようとしているモードが協働するモードでないと判定されると、通信ドライバ103は、接続を終了し(切断し)、モード管理オブジェクト121は、例えば、LCD20にエラーメッセージを表示させるなど、使用者に接続エラー(接続が失敗したこと)を通知して、モードは遷移せず、印刷モードのままで、処理は終了する。
なお、ネットワーク2と接続できなかったと判定された場合、モード管理オブジェクト121は、例えば、LCD20にエラーメッセージを表示させるなど、使用者に接続エラーを通知して、モードは遷移せず、撮影モードのままで、処理は終了する。
印刷モードからネットワーク印刷モードへのモード遷移の処理は、図16に示されるように、ネットワークボタン21が押圧されるなどの、ネットワーク接続トリガが操作部46において生じると、入力ドライバ102およびミドルウェア104を介して、ネットワーク接続トリガのイベントである入力通知がアプリケーションプログラム105に供給される。アプリケーションプログラム105は、ネットワーク接続トリガのイベントを受信すると、モード管理テーブル144を参照して、現在のモードである印刷モードの対応するインフラストラクチャ接続方式を選択し、選択された接続方式を指定して、ミドルウェア104を介して通信ドライバ103に接続指令を出す。
通信ドライバ103は、通信I/F49に、ネットワーク2と接続させる。通信I/F49、通信ドライバ103、およびミドルウェア104によって、接続が完了したか、または接続が失敗したかを示すイベントが発行されて、アプリケーションプログラム105に供給される。接続が完了した場合、ネットワーク2を介して、通信I/F49、通信ドライバ103、およびミドルウェア104によって、接続されている相手の遷移しようとするモードである遷移先モードが取得されて、相手の遷移先モード(を示す情報)が取得され、アプリケーションプログラム105に供給される。
アプリケーションプログラム105は、相手の遷移先モードがネットワーク印刷モードからの印刷を受け付けるモードであるか否かを判定し、相手の遷移先モードがネットワーク印刷モードからの印刷を受け付けるモードである場合、ネットワーク印刷モードに自分のモードを遷移させる。
以上の処理を使用者側の視点から見ると、ネットワーク2に接続されているプリンタ3のモードが、ネットワーク印刷モードからの印刷を受け付けるモードであれば、使用者は、デジタルカメラ1のモードを、単独処理モードである印刷モードに遷移させ、ネットワークボタン21を押圧するだけで、ネットワーク2との接続方式を意識することなく、ネットワーク印刷モードにおけるデジタルカメラ1の機能を使用することができるようになる。
なお、プリンタ3である接続相手の遷移しようとしているモードがネットワーク印刷モードからの印刷を受け付けるモードであるか否かを判定すると説明したが、プリンタ3のモードを予めネットワーク印刷モードからの印刷を受け付けるモードとして、プリンタ3である接続相手のモードがネットワーク印刷モードからの印刷を受け付けるモードであるか否かを判定するようにしてもよい。
このように、どのようなネットワークアプリケーション(ネットワーク2を用いるアプリケーション)を使用するかが、「使用者がどのモードでデジタルカメラ1を使用しているか」という利用形態から、ユースケースに基づいて予め限定されることで、このネットワークアプリケーションに適した、アドホック接続またはインフラストラクチャ接続などの接続方式が特定される。さらに、自分のネットワークアプリケーションと相手のネットワークアプリケーションとについて、IP層における接続後、自分と相手との1組のネットワークアプリケーションとして成り立つ組み合わせであるかどうかが確認された上で、最終的な接続の処理が完了する。従って、使用者が、ネットワーク2の接続方法に関する知識をほとんど持たない場合であっても、簡単な操作でネットワーク2を介して機器同士を接続し、ネットワークアプリケーションを利用することができるようになる。
また、接続方式が自動的に判別されるので、使用者による接続の設定の間違いを原因とする、機器の接続ができなくなるというトラブルを減らすことができる。
なお、ネットワーク2に接続するトリガは、物理的なボタンであるネットワークボタン21の押圧に限らず、GUI(Graphical User Interface)のメニューなどを利用して発行させるようにしてもよい。例えば、GUIのメニューから接続コマンドが選択されて決定された場合、デジタルカメラ1に予めRFID(Radio Frequency Identification)を組み込み、RFID同士が通信できるようになった場合、ネットワーク2に接続するトリガを発行させるようにしてもよい。また、例えば、ネットワーク2とのインタフェースが設けられているクレードルにデジタルカメラ1を乗せた場合に、ネットワーク2に接続するトリガを発行させるようにしてもよい。
次に、撮影時写真交換モードについて説明する。撮影時写真交換モードにおいて、デジタルカメラ1は、サーバとして動作すると共に、クライアントとして動作する。すなわち、ネットワーク2を介して接続されている、撮影時写真交換モードであるデジタルカメラ1−1と、撮影時写真交換モードであるデジタルカメラ1−2とは、それぞれ、サーバとして動作すると共に、クライアントとして動作する。
撮影時写真交換モードにおいて、相手が画像を撮影すると同時に、撮影された画像が、ネットワーク2を介して送付されてくるので、相手が撮影した画像を受信すると、相手を示す画像または名前と共に受信した画像が表示され、リアルタイムで、他の人が撮影した画像を見ることができる。
図17は、撮影時写真交換モードにおけるデジタルカメラ1−1のクライアント機能の処理を説明するフローチャートである。ステップS101において、撮影時写真交換オブジェクト122の撮影時公開リスト取得部161は、ネットワーク2を介して、サーバであるデジタルカメラ1−2に撮影時公開リストが更新されたかを問い合わせる。ステップS101の問い合わせは、例えば、5秒間隔など、定期的に実行される。
例えば、撮影時公開リストは、DLNAの規定に準拠して読み出しできる構成とされる。
図18は、撮影時公開リストの例を示す図である。撮影時公開リストには、撮影により得られた所定の画像を特定するコンテンツIDに対応させて、記録媒体60におけるアドレスであって、撮影により得られたその画像が記憶されたアドレスと、記録媒体60におけるアドレスであって、撮影により得られたその画像のサムネイル画像が記憶されたアドレスと、その画像のサイズの分類、その画像の解像度、およびその画像の符号化方式を示す情報とが配置される。
図18で示される撮影時公開リストの例において、アドレスは、撮影された画像またはサムネイル画像を格納するファイルのファイル名およびそのファイルが格納されるフォルダで示される、いわゆるパスにより記述されている。
例えば、図18で示される撮影時公開リストの例において、0000001であるコンテンツIDに対応させて、xxxxx/xxxxxx/xxxxxxxxxxxx.jpgである、サムネイル画像が記憶されたパス(アドレス)と、xxxxxxx/xxxxxxx/xxxxxxxxxxxxxx.jpgである、撮影により得られた画像が記憶されたパス(アドレス)と、largeである画像のサイズの分類、1024画素×768画素である画像の解像度、およびJPEGである画像の符号化方式を示す情報とが配置されている。また、図18で示される撮影時公開リストの例において、0000002であるコンテンツIDに対応させて、yyyyy/yyyyyy/yyyyyyyyyyyy.jpgである、サムネイル画像が記憶されたパス(アドレス)と、yyyyyyy/yyyyyyy/yyyyyyyyyyyyyy.jpgである、撮影により得られた画像が記憶されたパス(アドレス)と、smallである画像のサイズの分類、320画素×240画素である画像の解像度、およびJPEGである画像の符号化方式を示す情報とが配置されている。
さらに、図18で示される撮影時公開リストの例において、0000003であるコンテンツIDに対応させて、zzzzz/zzzzzz/zzzzzzzzzzzz.jpgである、サムネイル画像が記憶されたパス(アドレス)と、zzzzzzz/zzzzzzz/zzzzzzzzzzzzzz.jpgである、撮影により得られた画像が記憶されたパス(アドレス)と、middleである画像のサイズの分類、640画素×480画素である画像の解像度、およびJPEGである画像の符号化方式を示す情報とが配置されている。
ステップS102において、撮影時公開リスト取得部161は、サーバであるデジタルカメラ1−2の撮影時公開リストが更新されたか否かを判定し、撮影時公開リストが更新されていないと判定された場合、撮影時公開リストが更新されるまで、ステップS101に戻り、問い合わせと判定の処理を繰り返す。
ステップS102において、撮影時公開リストが更新されたと判定された場合、ステップS103に進み、撮影時公開リスト取得部161は、ネットワーク2を介して、サーバであるデジタルカメラ1−2から撮影時公開リストを取得する。
例えば、撮影時公開リスト取得部161は、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間におけるアドレスであって、予め撮影時公開リストを格納すると決められているアドレスから、撮影時公開リストを読み出すことで、撮影時公開リストを取得する。より詳細には、撮影時公開リスト取得部161は、通信ドライバ103に、撮影時公開リストの読み出しを指示する。通信ドライバ103は、通信I/F49に、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間における、撮影時公開リストを格納するアドレスから撮影時公開リストを読み出す。通信ドライバ103は、読み出した撮影時公開リストを撮影時公開リスト取得部161に供給する。
なお、例えば、撮影時公開リスト取得部161が、ネットワーク2を介して、サーバであるデジタルカメラ1−2に撮影時公開リストの送信を要求し、サーバであるデジタルカメラ1−2が要求された撮影時公開リストをネットワーク2を介してデジタルカメラ1−1に送信し、撮影時公開リスト取得部161が、送信されてきた撮影時公開リストを通信ドライバ103と通信I/F49とに受信させて、撮影時公開リストを取得するようにしてもよい。
ステップS104において、撮影時公開リスト取得部161は、前回取得した撮影時公開リストと、今回取得した撮影時公開リストとを比較する。撮影時公開リスト取得部161は、更新により追加された画像が記憶されたアドレス、すなわち撮影により得られた画像が記憶されたアドレスを取得する。
ステップS105において、撮影時写真交換オブジェクト122の画像取得部162は、更新により追加された対象の画像を、ネットワーク2を介して、サーバであるデジタルカメラ1−2から取得する。言い換えれば、画像取得部162は、ネットワーク2を介して、撮影時公開リストに記述されている、撮影により得られた画像が記憶されたアドレスから、撮影により得られた画像を取得する。
例えば、画像取得部162は、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間におけるアドレスであって、撮影により得られた画像が記憶されたアドレスから、画像を読み出すことで、サーバであるデジタルカメラ1−2において撮影された画像を取得する。より詳細には、画像取得部162は、通信ドライバ103に、撮影時公開リストに記述されているアドレスを指定して、画像の読み出しを指示する。通信ドライバ103は、通信I/F49に、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間における、撮影により得られた画像が記憶されたアドレスから画像を読み出す。通信ドライバ103は、読み出した画像を画像取得部162に供給する。
なお、例えば、画像取得部162が、ネットワーク2を介して、サーバであるデジタルカメラ1−2に、撮影時公開リストに記述されているアドレスを特定して、デジタルカメラ1−2において撮影された画像の送信を要求し、サーバであるデジタルカメラ1−2が要求された画像をネットワーク2を介してデジタルカメラ1−1に送信し、画像取得部162が、送信されてきた画像を通信ドライバ103と通信I/F49とに受信させることで、サーバであるデジタルカメラ1−2において撮影された画像を取得するようにしてもよい。
ステップS106において、撮影時写真交換オブジェクト122の表示制御部164は、取得した画像のサムネイル画像をLCD20に表示させて、処理は終了する。
なお、撮影時写真交換モードの3台以上のデジタルカメラ1が相互に接続されている場合には、それぞれのデジタルカメラ1のクライアント機能は、他のデジタルカメラ1のそれぞれに対して、図17で説明した処理を実行して、他のデジタルカメラ1のそれぞれから、撮影時公開リストを取得して、画像を取得する。
すなわち、例えば、撮影時写真交換モードの4台のデジタルカメラ1が相互に接続されている場合には、4台のデジタルカメラ1のそれぞれは、4台のデジタルカメラ1のいずれかで撮影された画像のすべてを、撮影するとほぼ同時に取得する。
なお、上述のステップS105においては、撮影により得られた画像を取得すると説明したが、取得した撮影時公開リストに基づき、撮影により得られた画像および対応するサムネイル画像の双方を取得するようにしてもよい。その場合、ステップS106においては、取得したサムネイル画像が表示されることになる。
図19は、撮影時写真交換モードにおけるデジタルカメラ1−1のサーバ機能の処理を説明するフローチャートである。ステップS121において、撮影制御オブジェクト123は、カメラ部41に、写真を撮影させる。すなわち、撮影制御オブジェクト123は、シャッタボタン(レリーズボタン)16が押圧されると、カメラ部41を制御して、被写体の画像を生成させて、カメラDSP42、SDRAM43、および媒体I/F44を制御して、生成した画像に所定の処理を適用して、記録媒体60に記録させる。
なお、撮影制御オブジェクト123は、写真を撮影すると、撮影により得られた画像のサムネイル画像を生成する。撮影制御オブジェクト123は、生成したサムネイル画像を、記録媒体60に記録させる。
ステップS122において、撮影時公開リスト生成更新部163は、自機に撮影時公開リストがすでにあるか否かを判定し、撮影時公開リストがすでにあると判定された場合、ステップS123に進み、撮影時公開リストを更新して、処理は終了する。すなわち、ステップS123において、撮影時公開リストに、ステップS121で撮影した写真(画像)について、撮影した画像を特定するコンテンツIDに対応させて、記録媒体60におけるアドレスであって、撮影により得られた画像が記憶されたアドレスと、記録媒体60におけるアドレスであって、撮影により得られた画像のサムネイル画像が記憶されたアドレスと、画像のサイズの分類、画像の解像度、および画像の符号化方式を示す情報とが追加して配置される。
ステップS122において、撮影時公開リストがないと判定された場合、ステップS124に進み、撮影時公開リスト生成更新部163は、ステップS121で撮影した写真(画像)について、撮影した画像を特定するコンテンツIDに対応させて、記録媒体60におけるアドレスであって、撮影により得られた画像が記憶されたアドレスと、記録媒体60におけるアドレスであって、撮影により得られた画像のサムネイル画像が記憶されたアドレスと、画像のサイズの分類、画像の解像度、および画像の符号化方式を示す情報とを配置した撮影時公開リストを作成して、処理は終了する。
図20は、撮影時写真交換モードにおいて、デジタルカメラ1−1が画像を撮影するか、または、デジタルカメラ1−2から画像を取得した場合に実行される、表示の処理を説明するフローチャートである。
ステップS141において、表示制御部164は、元から最新画像表示エリアに表示されていた画像を非表示にする。
図21は、撮影時写真交換モードにおける、LCD20の画面の表示領域の配置の例を説明する図である。撮影時写真交換モードにおいて、LCD20の画面には、画像を表示する表示領域として、被写体画像表示エリア301、最新画像表示エリア302、履歴表示エリア303、および接続相手名表示エリア304が配置される。
被写体画像表示エリア301には、撮影しようとする被写体の画像が表示される。最新画像表示エリア302には、自分が撮影した画像または相手が撮影した画像であって相手から取得した画像のうち、新しい画像(最新に撮影された画像)が表示される。
履歴表示エリア303には、自分が撮影した画像または相手が撮影した画像であって相手から取得した画像が、撮影した順に表示される。接続相手名表示エリア304には、ネットワーク2を介して接続されている相手の名前が表示される。相手の名前は、例えば、デジタルカメラ1−2に設定されている使用者の名前である。なお、相手の名前は、使用者の名前または機器の名前のいずれでもよい。
図22は、撮影時写真交換モードにおける、LCD20の画面の表示領域に表示される画像の具体例を説明する図である。図22に示す例において、被写体画像表示エリア301には、商談中の人である被写体の、撮影しようとする画像が表示されている。最新画像表示エリア302には、自分が撮影した画像または相手が撮影した画像であって相手から取得した画像のうち、新しい画像(後から撮影された画像)である、自分が撮影した商談中の人の画像が表示されている。
図22に示す例において、履歴表示エリア303には、自分が撮影した画像または相手が撮影した画像であって相手から取得した画像が、撮影した順に右から順に表示される。図22に示す例において、履歴表示エリア303には、4つの画像が表示されている。
図22に示す例において、接続相手名表示エリア304には、ネットワーク2を介して接続されている相手の名前である、kurosan、masahiro、およびmistuoが表示されている。
例えば、図23で示されるように、接続相手名表示エリア304に表示される名前は、名前毎に色分けして表示される。そして、履歴表示エリア303に表示される画像には、接続相手名表示エリア304における、その画像を撮影した相手の名前の色と同じ色の画像が付加される。例えば、図23で示されるように、履歴表示エリア303に表示される画像の下側には、その画像を撮影した相手の名前の色と同じ色のカラーバーが表示される。
このようにすることで、履歴表示エリア303に表示されている画像が、誰によって撮影された画像であるかが一目でわかるようになる。
図20に戻り、ステップS141において、表示制御部164は、元から最新画像表示エリア302に表示されていた、自分が撮影した画像または相手が撮影した画像であって相手から取得した画像のうち、デジタルカメラ1−1が画像を撮影する前か、または、デジタルカメラ1−2から画像を取得する前の時点で、最も新しい画像を非表示にする。
ステップS142において、表示制御部164は、履歴表示エリア303に表示されている画像のすべてを1枠左にシフトさせる。これにより、履歴表示エリア303の最も右側(右端)の枠が空くことになる。
ステップS143において、表示制御部164は、最新画像表示エリア302に表示されていた画像(ステップS141において非表示とされた画像)を、履歴表示エリア303の空いた一番右端の枠に表示させる。
ステップS144において、表示制御部164は、最新画像表示エリア302に、撮影または取得した画像を表示して、処理は終了する。
このように、自分が撮影した画像または相手が撮影した画像であって相手から取得した画像のうち、新しい画像(後から撮影された画像)が最新画像表示エリア302に表示され、履歴表示エリア303に、自分が撮影した画像または相手が撮影した画像であって相手から取得した画像が、撮影した順に表示されるので、画像の撮影した順序が一目でわかるようになる。また、最新画像表示エリア302において、新しい画像(後から撮影された画像)が、履歴表示エリア303に表示される画像よりも、大きく表示されるので、新しい画像の細部を見ることが容易になる。
なお、記録媒体60が一杯になった場合、すなわち、記録媒体60に記録領域の空きがなくなってしまった場合、撮影時写真交換オブジェクト122は、LCD20に、記録媒体60が一杯になった旨を表示させて、図17のクライアント機能および図20の表示の処理は実行されず、LCD20に表示される画像は更新されない。
図24は、撮影時写真交換モードにおける、LCD20の画面の表示領域の配置の他の例を説明する図である。撮影時写真交換モードにおいて、LCD20の画面には、画像を表示する表示領域として、被写体画像表示エリア301および履歴表示エリア321が配置される。
履歴表示エリア321には、自分が撮影した画像または相手が撮影した画像であって相手から取得した画像が、自分および撮影した相手毎に、撮影した順に表示される。
図25は、履歴表示エリア321が配置される場合の、撮影時写真交換モードにおける、LCD20の画面の表示領域に表示される画像の具体例を説明する図である。図25に示す例において、履歴表示エリア321のうちの、左上には、自分が撮影した画像が撮影した順に横並びに表示され、履歴表示エリア321のうちの、左下には、表示されているmasahiroである名前の相手によって撮影された画像が撮影された順に横並びに表示され、履歴表示エリア321のうちの、右上には、表示されているkurosanである名前の相手によって撮影された画像が撮影された順に横並びに表示され、履歴表示エリア321のうちの、右下には、表示されているmistuoである名前の相手によって撮影された画像が撮影された順に横並びに表示されている。
図26で示されるように、画像Aが撮影されると、履歴表示エリア321のうちの、画像Aを撮影した相手の領域の最も右側に、画像Aが表示される。画像Aを撮影した相手がさらに、画像Bを撮影すると、履歴表示エリア321のうちの、画像Aおよび画像Bを撮影した相手の領域の最も右側に、画像Bが表示され、画像Aおよび画像Bを撮影した相手の領域であって、画像Bの左側に画像Aが表示される。
画像Aおよび画像Bを撮影した相手がさらに、画像Cを撮影すると、履歴表示エリア321のうちの、画像A、画像B、および画像Cを撮影した相手の領域の最も右側に、画像Cが表示され、画像A、画像B、および画像Cを撮影した相手の領域であって、画像Cの左側に画像Bが表示され、画像Bの左側に画像Aが表示される。
また、自分が画像Aを撮影すると、履歴表示エリア321のうちの、自分の領域の最も右側に、画像Aが表示される。自分がさらに、画像Bを撮影すると、履歴表示エリア321のうちの、自分の領域の最も右側に、画像Bが表示され、自分の領域であって、画像Bの左側に画像Aが表示される。
自分がさらに、画像Cを撮影すると、履歴表示エリア321のうちの、自分の領域の最も右側に、画像Cが表示され、自分の領域であって、画像Cの左側に画像Bが表示され、画像Bの左側に画像Aが表示される。
この場合、履歴表示エリア321のうちの、相手の領域または自分の領域に表示される画像のうち、最後に撮影された画像が、他の画像よりも大きく表示される。
なお、図27で示されるように、履歴表示エリア321のうちの、相手の領域または自分の領域に表示される画像のうち、最後に撮影された画像と、他の画像とが同じ大きさで表示されるようにしてもよい。
図28で示されるように、相手がネットワーク2との接続を切断する処理を実行したり、相手との距離が離れて、相手とのネットワーク2を介した接続が切断されると、エラーメッセージが表示されることなく、その相手の名前が、履歴表示エリア321から消去される。
例えば、履歴表示エリア321に表示されているmasahiroである名前の相手がネットワーク2との接続を切断する処理を実行したり、その相手とのネットワーク2を介した接続が切断されると、masahiroである名前が、履歴表示エリア321から消去される。
これにより、撮影時写真交換モードで相互に接続されている相手の接続状態を即座に知ることができるようになる。エラーメッセージが表示されないので、エラーメッセージが撮影の邪魔になることがない。
なお、撮影時写真交換モードにおいて、サーバ側またはクライアント側で、提供する画像または取得する画像を選択するようにしてもよい。さらに、撮影した元の画像を提供することなく、サムネイル画像を提供するようにしてもよい。同様に、撮影した元の画像を取得することなく、サムネイル画像を取得するようにしてもよい。さらにまた、サムネイル画像を取得した後、撮影した元の画像を取得するかを選択できるようにしてもよい。
以上のように、撮影時写真交換モードにおいては、同じイベント(行事または催し)において、また、同じ被写体に対して、複数人で撮影しながら、撮影した画像を共有することができるようになる。ネットワーク2を介して接続した他のデジタルカメラ1で撮影された画像を、撮影したその場で共有することができるので、イベントが終了した後でマスストレージなどを利用した、画像をいちいち交換する手間を省くことができる。
次に、閲覧時写真交換モードについて説明する。閲覧時写真交換モードにおいて、デジタルカメラ1は、サーバとして動作すると共に、クライアントとして動作する。すなわち、ネットワーク2を介して接続されている、閲覧時写真交換モードであるデジタルカメラ1−1と、閲覧時写真交換モードであるデジタルカメラ1−2とは、それぞれ、サーバとして動作すると共に、クライアントとして動作する。
閲覧時写真交換モードにおける、デジタルカメラ1のサーバとして動作のモードは、画像公開モードとも称し、また、デジタルカメラ1のクライアントとして動作のモードは、画像取得モードとも称する。なお、閲覧時写真交換モードにおいて、デジタルカメラ1のモードが、画像公開モードになっても、バックグラウンドにおいて、クライアントとしての処理が実行され、デジタルカメラ1のモードが、画像取得モードになっても、バックグラウンドにおいて、サーバとしての処理が実行される。
画像公開モードのサーバであるデジタルカメラ1は、使用者により選択された画像を、使用者が画像を選択した時点で、ネットワーク2で接続されている画像取得モードのクライアントである他のデジタルカメラ1に公開する。画像取得モードのクライアントであるデジタルカメラ1は、ネットワーク2で接続されている画像公開モードのサーバである他のデジタルカメラ1から、そのサーバである他のデジタルカメラ1が公開した画像のリストを取得して、公開している画像のサムネイル画像を取得して、サムネイル画像を表示する。そして、画像取得モードのクライアントであるデジタルカメラ1は、表示しているサムネイル画像が使用者により選択されると、サーバである他のデジタルカメラ1から、サムネイル画像の元の画像、すなわち公開している画像を取得し、記録する。
閲覧時写真交換モードにおいて、例えば、複数のデジタルカメラ1は、DLNAの規定に準拠して、画像を交換し、共有する。閲覧時写真交換モードにおいて、画像を提供し画像を取得する閲覧時写真交換モードのデジタルカメラ1以外の機器は必要とされない。
図29および図30で示されるように、閲覧時写真交換モードにおける、デジタルカメラ1は、画像公開モードまたは画像取得モード、すなわち、サーバまたはクライアントとして動作し、操作される。
図29で示されるように、閲覧時写真交換モードにおいて、デジタルカメラ1のLCD20には、画像公開モードを選ぶボタンと、画像取得モードを選ぶボタンとが表示される。画像公開モードを選ぶボタンが選択されて、操作ボタン19の決定ボタンが押圧されると、デジタルカメラ1のモードは、画像公開モードに遷移して、LCD20には、画像公開モードの画像が表示される。画像公開モードにおいて、操作ボタン19のバックボタン(戻るボタン)が押圧されると、LCD20には、再度、画像公開モードを選ぶボタンと、画像取得モードを選ぶボタンとが表示される。
画像取得モードを選ぶボタンが選択されて、操作ボタン19の決定ボタンが押圧されると、デジタルカメラ1のモードは、画像取得モードに遷移して、LCD20には、画像取得モードの画像が表示される。画像取得モードにおいて、操作ボタン19のバックボタン(戻るボタン)が押圧されると、LCD20には、再度、画像公開モードを選ぶボタンと、画像取得モードを選ぶボタンとが表示される。
または、図30で示されるように、閲覧時写真交換モードにおいて、デジタルカメラ1のモードが、画像公開モードである場合、オプションボタン22が押圧されると、LCD20に、画像取得モードへの遷移を指示するコマンドが配置されたオプションメニューが表示される。画像取得モードへの遷移を指示するコマンドが選択されて、操作ボタン19の決定ボタンが押圧されると、デジタルカメラ1のモードは、画像取得モードに遷移して、LCD20には、画像取得モードの画像が表示される。
また、閲覧時写真交換モードにおいて、デジタルカメラ1のモードが、画像取得モードである場合、オプションボタン22が押圧されると、LCD20に、画像公開モードへの遷移を指示するコマンドが配置されたオプションメニューが表示される。画像公開モードへの遷移を指示するコマンドが選択されて、操作ボタン19の決定ボタンが押圧されると、デジタルカメラ1のモードは、画像公開モードに遷移して、LCD20には、画像公開モードの画像が表示される。
図31は、閲覧時写真交換モードにおける、クライアントであるデジタルカメラ1−1による、サムネイル画像の表示の更新の処理を説明するフローチャートである。ステップS201において、閲覧時写真交換オブジェクト124の閲覧時公開リスト取得部181は、ネットワーク2を介して、サーバであるデジタルカメラ1−2に閲覧時公開リストの更新を問い合わせる。
例えば、閲覧時公開リストは、DLNAの規定に準拠して読み出しできる構成とされる。
図32は、閲覧時公開リストの例を示す図である。閲覧時公開リストには、相手に提供する所定の画像を特定するコンテンツIDに対応させて、記録媒体60におけるアドレスであって、相手に提供するその画像が記憶されたアドレスと、記録媒体60におけるアドレスであって、相手に提供するその画像のサムネイル画像が記憶されたアドレスと、相手に提供するその画像の符号化方式を示す情報とが配置される。また、閲覧時公開リストにおいて、画像が分類されるグループを特定するグループIDに対応させて、グループIDで特定されるグループの名前と、グループIDで特定されるグループに分類される画像のコンテンツIDとが配置される。
図32で示される閲覧時公開リストの例において、アドレスは、相手に提供する画像またはサムネイル画像を格納するファイルのファイル名およびそのファイルが格納されるフォルダで示される、いわゆるパスにより記述されている。
例えば、図32で示される閲覧時公開リストの例において、00001であるコンテンツIDに対応させて、xxxxx/xxxxxx/xxxxxxxxx.jpgである、サムネイル画像が記憶されたパス(アドレス)と、xxxxxxx/xxxxxxx/xxxxxxxxx.jpgである、相手に提供する画像が記憶されたパス(アドレス)と、xxxxxxxxである画像の符号化方式を示す情報("image type")とが配置されている。また、図32で示される閲覧時公開リストの例において、00002であるコンテンツIDに対応させて、yyyyy/yyyyyy/yyyyyyyyy.jpgである、サムネイル画像が記憶されたパス(アドレス)と、yyyyyyy/yyyyyyy/yyyyyyyyy.jpgである、相手に提供する画像が記憶されたパス(アドレス)と、yyyyyyyyである画像の符号化方式を示す情報("image type")とが配置され、00003であるコンテンツIDに対応させて、zzzzz/zzzzzz/zzzzzzzzz.jpgである、サムネイル画像が記憶されたパス(アドレス)と、zzzzzzz/zzzzzzz/zzzzzzzzz.jpgである、相手に提供する画像が記憶されたパス(アドレス)と、zzzzzzzzである画像の符号化方式を示す情報("image type")とが配置されている。
例えば、図32で示される閲覧時公開リストにおいて、0001であるグループIDに対応させて、XXXXXXXXXXであるグループの名前と、00001であるコンテンツID、0002であるコンテンツID、および0003であるコンテンツIDとが配置される。この場合、00001であるコンテンツIDで特定される画像、0002であるコンテンツIDで特定される画像、または0003であるコンテンツIDで特定される画像は、0001であるグループIDで特定される、その名前がXXXXXXXXXXであるグループに属している。
また、図32で示される閲覧時公開リストにおいて、0002であるグループIDに対応させて、AAAAAAAAAAであるグループの名前と、00001であるコンテンツIDとが配置される。この場合、00001であるコンテンツIDで特定される画像は、0002であるグループIDで特定される、その名前がAAAAAAAAAAであるグループに属している。
閲覧時公開リスト取得部181が、ネットワーク2を介して、サーバであるデジタルカメラ1−2に閲覧時公開リストの更新を問い合わせると、サーバであるデジタルカメラ1−2は、ネットワーク2を介して、閲覧時公開リストを更新したか否かを示す応答をクライアントであるデジタルカメラ1−1に送信してくるので、閲覧時公開リスト取得部181は、サーバであるデジタルカメラ1−2から送信されてきた、閲覧時公開リストを更新したか否かを示す応答を取得する。
ステップS202において、閲覧時公開リスト取得部181は、サーバであるデジタルカメラ1−2からの、閲覧時公開リストを更新したか否かを示す応答を基に、閲覧時公開リストが更新されたか否かを判定する。ステップS202において、閲覧時公開リストが更新されていないと判定された場合、サムネイル画像の表示を更新する必要がないので、ステップS201に戻り、処理を繰り返す。
ステップS202において、閲覧時公開リストが更新されたと判定された場合、ステップS203に進み、閲覧時公開リスト取得部181は、ネットワーク2を介して、サーバであるデジタルカメラ1−2から閲覧時公開リストを取得する。
例えば、閲覧時公開リスト取得部181は、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間におけるアドレスであって、予め閲覧時公開リストを格納すると決められているアドレスから、閲覧時公開リストを読み出すことで、閲覧時公開リストを取得する。より詳細には、閲覧時公開リスト取得部181は、通信ドライバ103に、閲覧時公開リストの読み出しを指示する。通信ドライバ103は、通信I/F49に、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間における、閲覧時公開リストを格納するアドレスから閲覧時公開リストを読み出させる。通信ドライバ103は、読み出した閲覧時公開リストを閲覧時公開リスト取得部181に供給する。
なお、閲覧時公開リスト取得部181が、ネットワーク2を介して、サーバであるデジタルカメラ1−2に閲覧時公開リストの送信を要求し、サーバであるデジタルカメラ1−2が要求された閲覧時公開リストをネットワーク2を介してデジタルカメラ1−1に送信し、閲覧時公開リスト取得部181が、通信ドライバ103と通信I/F49とに、送信されてきた閲覧時公開リストを受信させて、閲覧時公開リストを取得するようにしてもよい。
ステップS204において、閲覧時写真交換オブジェクト124のサムネイル画像取得部182は、前回に取得した閲覧時公開リストと、今回取得した閲覧時公開リストとを比較する。サムネイル画像取得部182は、今回取得した閲覧時公開リストに新たに追加されているコンテンツIDに対応して、閲覧時公開リストに配置されている、新たに追加されているコンテンツIDで特定される、新たに公開された画像が記憶されたアドレスと、新たに公開された画像のサムネイル画像が記憶されたアドレスと、新たに公開された画像の属するグループを特定するグループIDと、そのグループの名前とを今回取得した閲覧時公開リストから抽出する。
ステップS205において、サムネイル画像取得部182は、ネットワークを介して、新たに公開された画像のサムネイル画像を、サーバであるデジタルカメラ1−2から取得する。
例えば、サムネイル画像取得部182は、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間におけるアドレスであって、新たに公開された画像のサムネイル画像が記憶されたアドレスから、サムネイル画像を読み出すことで、新たに公開された画像のサムネイル画像を取得する。より詳細には、サムネイル画像取得部182は、通信ドライバ103に、新たに公開された画像のサムネイル画像が記憶されたアドレスからのサムネイル画像の読み出しを指示する。通信ドライバ103は、通信I/F49に、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間における、新たに公開された画像のサムネイル画像が記憶されたアドレスから、そのサムネイル画像を読み出させる。通信ドライバ103は、読み出したサムネイル画像をサムネイル画像取得部182に供給する。
なお、サムネイル画像取得部182が、ネットワーク2を介して、サーバであるデジタルカメラ1−2の記憶空間におけるアドレスを指定して、サーバであるデジタルカメラ1−2にサムネイル画像の送信を要求し、サーバであるデジタルカメラ1−2が要求されたサムネイル画像をネットワーク2を介してデジタルカメラ1−1に送信し、サムネイル画像取得部182が、通信ドライバ103と通信I/F49とに、送信されてきたサムネイル画像を受信させて、サムネイル画像を取得するようにしてもよい。
ステップS206において、閲覧時写真交換オブジェクト124の分類部186は、ステップS204において抽出された、新たに公開された画像の属するグループを特定するグループIDから、サムネイル画像を取得した画像の属するグループが既存のグループであるか否かを判定する。
ステップS206において、サムネイル画像を取得した画像の属するグループが既存のグループであると判定された場合、ステップS207に進み、分類部186は、ステップS205で取得したサムネイル画像を、ステップS204において抽出されたグループIDで特定される、既存のグループに追加して、ステップS210に進む。例えば、分類部186は、画像を特定するコンテンツIDと、そのコンテンツIDで特定される画像が属するグループを特定するグループIDとを対応させて配置するグループリストに、取得したサムネイル画像の元の画像を特定するコンテンツIDと、既存のグループを特定するグループIDであって、抽出されたグループIDとを対応させて配置することにより、サムネイル画像を既存のグループに追加する。
または、例えば、分類部186は、抽出されたグループIDで特定されるグループの名前と同じ名前のフォルダに、サムネイル画像を格納することにより、サムネイル画像を既存のグループに追加する。
一方、ステップS206において、サムネイル画像を取得した画像の属するグループが既存のグループでないと判定された場合、ステップS208に進み、分類部186は、取得したサムネイル画像の元の画像の属するグループを生成する。例えば、ステップS208において、分類部186は、画像を特定するコンテンツIDと、そのコンテンツIDで特定される画像が属するグループを特定するグループIDとを対応させて配置するグループリストに、抽出されたグループIDを配置することにより、取得したサムネイル画像の元の画像の属するグループを生成する。なお、グループリストには、グループIDと対応させて、そのグループIDで特定されるグループの名前が配置される。
または、例えば、分類部186は、抽出されたグループIDで特定されるグループの名前と同じ名前のフォルダを生成することで、取得したサムネイル画像の元の画像の属するグループを生成するようにしてもよい。
ステップS209において、分類部186は、ステップS205で取得したサムネイル画像を、ステップS208において生成したグループに追加して、ステップS210に進む。例えば、分類部186は、ステップS208において新たに配置したグループIDに、取得したサムネイル画像の元の画像を特定するコンテンツIDを対応させてグループリストに配置することにより、サムネイル画像を生成したグループに追加する。
または、例えば、分類部186は、ステップS209で生成した、抽出されたグループIDで特定されるグループの名前と同じ名前のフォルダに、サムネイル画像を格納することにより、生成したグループに取得したサムネイル画像を追加する。
ステップS210において、閲覧時写真交換オブジェクト124の表示制御部183は、LCD20の、サーバ毎およびグループ毎のサムネイル画像の表示を更新して、処理は終了する。
図33は、閲覧時写真交換モードにおける、サムネイル画像を表示する画面の例を示す図である。閲覧時写真交換モードにおいてサムネイル画像を表示する場合、LCD20の表示画面には、画像取得モードまたは画像公開モードのいずれか一方の名前を示すモード名を表示する領域と、受信したサムネイル画像の数と受信した画像の数とを表示する領域と、相手の名前を表示する領域と、サムネイル画像を表示する領域とが配置される。相手の名前を表示する領域には、相手毎に公開している画像(提供を許可している画像)の数が、その相手の名前に対応して表示される。
画像取得モードである場合、サムネイル画像を表示する領域には、サムネイル画像は、サーバ毎およびグループ毎、すなわち、相手毎およびグループ毎に、括られて表示される。このとき、サムネイル画像を表示する領域の、括られて表示されているサムネイル画像の左側には、その括りを表す画像が表示される。括りを表す画像は、フォルダの括りに類似した画像とされる。すなわち、1つのグループに括られている(分類されている)画像のサムネイル画像は、そのグループに関係付けられる1つの仮想的なフォルダに格納されているかのように表示される。
また、サムネイル画像を表示する領域の、相手毎およびグループ毎のサムネイル画像の括りの上側には、相手の名前、画像が撮影された日付および時刻、並びにグループの名前(フォルダ名)が表示される。
例えば、Johnという名前の使用者が自分の写真(画像)を「2005.11.29−家族旅行」というグループ(フォルダ)名のグループ(フォルダ)に分類(格納)している場合、そのグループ(フォルダ)に分類(格納)されている写真(画像)が公開されると、Johnのデジタルカメラ1に接続している、他の使用者の他のデジタルカメラ1のLCD20には、相手の名前と、Johnのデジタルカメラ1から取得したサムネイル画像が分類(格納)されるグループ(フォルダ)のグループ(フォルダ)名として、「John−2005.11.29−家族旅行」が表示される。
図34に、閲覧時写真交換モードにおける、画像取得モードである場合のサムネイル画像を表示する画面の具体的な例を示す。図34で示す例において、モード名を表示する領域には、画像取得モードを示す”Photo Gifts Get Mode”であるモード名が表示される。図34で示す例において、受信したサムネイル画像の数と受信した画像の数とを表示する領域には、受信したサムネイル画像の数および受信した画像の数のそれぞれを示す数字と共に、受信したサムネイル画像の数に対する受信した画像の数の割合を示す棒グラフが表示されている。
図34で示す例において、相手の名前を表示する領域には、みつお、ぼん、まさひろ、およびこいけである相手の名前が表示されている。
図34で示す例において、サムネイル画像を表示する領域において、みつおである名前のサーバおよび”花見見物にいってきました・・・”であるグループに括られて、サムネイル画像が表示される共に、まさひろである名前のサーバおよび”花見”であるグループに括られて、サムネイル画像が表示されている。
サムネイル画像を表示する領域におけるグループの表示の順序は、閲覧時公開リストの更新によりグループが追加された順とされる。
例えば、ステップS208において生成したグループにサムネイル画像を追加した場合、ステップS210において、閲覧時写真交換オブジェクト124の表示制御部183は、サムネイル画像を表示する領域の、他のグループのサムネイル画像の括りの下側に、生成したグループで括って、サムネイル画像を表示させる。
また、ステップS207においてサムネイル画像を既存のグループに追加した場合、ステップS210において、閲覧時写真交換オブジェクト124の表示制御部183は、そのグループの括りに追加するように、サムネイル画像を表示させる。
なお、サーバの名前またはグループの名前でソートして、サムネイル画像をソートの結果の順に表示するようにしてもよい。
一括りのサムネイル画像の左側に配置されている、中央にチェックボックス並び上端に上向きの三角および下端に下向きの三角が配置されている画像は、サムネイル画像の括りを表す。上端の上向きの三角を操作部46により選択すると、括られているサムネイル画像(グループのサムネイル画像)が上側にスクロールされる。下端の下向きの三角を操作部46により選択すると、括られているサムネイル画像(グループのサムネイル画像)が下側にスクロールされる。
図34で示す例において、サムネイル画像を表示する領域の右端に配置されているスクロールバーにより、サムネイル画像の括りを単位として、表示されているサムネイル画像をスクロールすることができる。すなわち、このスクロールバーを上側に移動させると、サムネイル画像の括りが、サムネイル画像を表示する領域において下側に移動し、サムネイル画像の括りのうち、上側の括りがこの領域に表示され、このスクロールバーを下側に移動させると、サムネイル画像の括りが、サムネイル画像を表示する領域において上側に移動し、サムネイル画像の括りのうち、下側の括りがこの領域に表示されることになる。
図34で示す例において、サムネイル画像に付されているチェックボックスは、サムネイル画像の元の画像の受信(取得)を指示したり、その受信状態(取得の状態)を示す。このチェックボックスの詳細は後述する。
図35は、閲覧時写真交換モードにおける、サーバであるデジタルカメラ1−1による、画像の公開の設定の処理を説明するフローチャートである。ステップS241において、閲覧時写真交換オブジェクト124の選択部184は、公開する画像を選択する。
図36に、閲覧時写真交換モードにおける、画像公開モードである場合のサムネイル画像を表示する画面の具体的な例を示す。図36で示す例において、モード名を表示する領域には、画像公開モードを示す”Photo Gifts”であるモード名が表示される。図36で示す例において、受信したサムネイル画像の数と受信した画像の数とを表示する領域には、バックグラウンドにおいて実行されている、クライアントとしての処理において、受信したサムネイル画像の数および受信した画像の数のそれぞれを示す数字と共に、受信したサムネイル画像の数に対する受信した画像の数の割合を示す棒グラフが表示されている。
図36で示す例において、相手の名前を表示する領域には、みつお、ぼん、まさひろ、およびこいけである相手の名前が表示されている。
図36で示す例において、サムネイル画像を表示する領域において、”野外フェス楽しかったー!”であるグループに括られて、サムネイル画像が表示されている。
図36で示す例において、一括りのサムネイル画像の左側に配置されている、中央に四角並び上端に上向きの三角および下端に下向きの三角が配置されている画像は、サムネイル画像の括りを表す。上端の上向きの三角を操作部46により選択すると、括られているサムネイル画像が上側にスクロールされる。下端の下向きの三角を操作部46により選択すると、括られているサムネイル画像が下側にスクロールされる。
図36で示す例において、サムネイル画像を表示する領域の右端に配置されているスクロールバーにより、サムネイル画像の括りを単位として、表示されているサムネイル画像をスクロールすることができる。すなわち、このスクロールバーを上側に移動させると、サムネイル画像の括りが、サムネイル画像を表示する領域において下側に移動し、サムネイル画像の括りのうち、上側の括りがこの領域に表示され、このスクロールバーを下側に移動させると、サムネイル画像の括りが、サムネイル画像を表示する領域において上側に移動し、サムネイル画像の括りのうち、下側の括りがこの領域に表示されることになる。
図36で示す例において、サムネイル画像のそれぞれに、チェックボックスが付加されている。
図37で示されるように、サムネイル画像のチェックボックスがチェックされていない場合、サムネイル画像の元の画像は、公開されない。サムネイル画像のチェックボックスをチェックすることにより、サムネイル画像の元の画像が、公開される。
チェックされているチェックボックスを再度チェックすることにより、そのサムネイル画像の元の画像の公開が、取り消される。
図35に戻り、例えば、ステップS241において、閲覧時写真交換オブジェクト124の選択部184は、チェックボックスがチェックされたサムネイル画像の元の画像である、公開する画像を選択する。
ステップS242において、閲覧時写真交換オブジェクト124の閲覧時公開リスト生成更新部187は、閲覧時公開リストを更新して、処理は終了する。例えば、ステップS242において、閲覧時公開リスト生成更新部187は、ステップS241において選択された画像を特定するコンテンツIDと、その画像が記憶されたアドレスと、その画像のサムネイル画像が記憶されたアドレスと、その画像の符号化方式を示す情報とを閲覧時公開リストに追加するように、配置する。この場合、閲覧時公開リスト生成更新部187は、選択された画像を特定するコンテンツIDに対応させて、その画像が分類されるグループを特定するグループIDを、閲覧時公開リストにさらに追加するように、配置する。
なお、それまで、1つの画像も公開しておらず、新たに画像を公開する場合には、ステップS242において、閲覧時公開リスト生成更新部187は、ステップS241において選択された画像を特定するコンテンツIDと、その画像が記憶されたアドレスと、その画像のサムネイル画像が記憶されたアドレスと、その画像の符号化方式を示す情報とを配置した閲覧時公開リストを生成する。
このように、画像公開モードにおいて、公開したい画像を公開する旨設定すると、閲覧時公開リストが生成されるかまたは更新されて、クライアントである他のデジタルカメラ1が、公開する旨設定された画像を取得することができるようになる。
次に、サムネイル画像の元の画像の取得について説明する。
図38は、閲覧時写真交換モードにおける、クライアントであるデジタルカメラ1−1による、画像の取得の処理を説明するフローチャートである。ステップS261において、閲覧時写真交換オブジェクト124の選択部184は、取得する画像を選択する。例えば、ステップS261において、選択部184は、画像取得モードである場合のチェックボックスがチェックされているサムネイル画像の元画像を、取得する画像として選択する。
図39で示されるように、閲覧時写真交換モードにおける、画像取得モードである場合のサムネイル画像のチェックボックスがチェックされていないとき、クライアントであるデジタルカメラ1−1は、サムネイル画像の元の画像を取得する画像として選択せず、サーバであるデジタルカメラ1−2から、サムネイル画像の元の画像を取得しない。
これに対して、閲覧時写真交換モードにおける、画像取得モードである場合のサムネイル画像のチェックボックスがチェックされると、クライアントであるデジタルカメラ1−1は、サムネイル画像の元の画像を取得する画像として選択し、サーバであるデジタルカメラ1−2から、選択されたサムネイル画像の元の画像を取得する。
ステップS262において、画像取得部185は、閲覧時公開リストから、取得する画像のパスを取得する。すなわち、例えば、ステップS262において、画像取得部185は、閲覧時公開リストから、チェックボックスがチェックされたサムネイル画像の元の画像が記憶されているアドレスの一例である画像のパスを取得する。
なお、閲覧時公開リストは、ステップS203において予め取得されている。
ステップS263において、画像取得部185は、ネットワーク2を介して、サーバであるデジタルカメラ1−2に対して、そのパスの画像の提供を要求する。ステップS264において、画像取得部185は、ネットワーク2を介して、サーバであるデジタルカメラ1−2からの応答を、通信ドライバ103と通信I/F49とに受信させる。
ステップS265において、画像取得部185は、サーバであるデジタルカメラ1−2からの応答により、そのパスに画像が存在するか否かを判定する。ステップS265において、そのパスに画像が存在すると判定された場合、ステップS266に進み、画像取得部185は、ネットワーク2を介して、サーバであるデジタルカメラ1−2からの画像の取得を開始する。
クライアントであるデジタルカメラ1−1が、ネットワーク2を介して、サーバであるデジタルカメラ1−2から、サムネイル画像の元の画像を取得している間(ダウンロード中)において、サムネイル画像のチェックボックスには、矢印が表示される。これにより、クライアントであるデジタルカメラ1−1の使用者は、矢印が表示されているサムネイル画像の元の画像がダウンロード中であることを知ることができる。
ステップS267において、画像取得部185は、通信ドライバ103からの情報を基に、ネットワーク2の伝送媒体である電波の状態が悪いか否かを判定する。ステップS267において、電波の状態が悪くないと判定されると、ネットワーク2を介した、サーバであるデジタルカメラ1−2からの画像の取得が継続されて、ステップS268において、画像取得部185は、画像の全体が受信されると、画像の取得を完了する。画像取得部185は、取得の完了した画像を、記録媒体60に記録する。また、分類部186は、取得の完了した画像を、ステップS207またはステップS209において、その画像のサムネイル画像が追加されることで分類されたグループに分類する。
ステップS269において、表示制御部183は、サーバ毎およびグループ毎のサムネイル画像の表示を更新して、処理は終了する。
サムネイル画像の元の画像の取得が完了すると、サムネイル画像のチェックボックスには、ダウンロード中の矢印と異なる色の矢印が表示される。これにより、クライアントであるデジタルカメラ1−1の使用者は、サムネイル画像の元の画像のダウンロードが完了したことを知ることができる。
ステップS267において、接続が切れるなど、電波の状態が悪いと判定されると、ステップS270に進み、画像取得部185は、通信ドライバ103からの情報を基に、ネットワーク2を介して再接続できるか否かを判定する。ステップS270において、再接続できると判定された場合、ステップS271に進み、画像取得部185は、通信ドライバ103と通信I/F49とに、ネットワーク2を介して再接続させ、元の画像の取得をリトライさせて、ステップS267に戻り、処理を繰り返す。
ステップS270において、再接続できないと判定された場合、ステップS272に進み、画像取得部185は、画像を途中まで取得したか否かを判定する。ステップS272において、画像を途中まで取得したと判定された場合、ステップS273に進み、画像取得部185は、途中まで取得した画像を削除する。ステップS274において、画像取得部185および表示制御部183は、エラーメッセージをLCD20に表示させるなど、エラー対応の処理を実行して、ステップS269に進む。
ステップS272において、画像を途中まで取得していないと判定された場合、ステップS273の処理はスキップされて、ステップS274に進み、エラー対応の処理が実行される。
このように、サムネイル画像によって選択された画像が取得される。
なお、チェックされているチェックボックスを再度チェックすることにより、そのサムネイル画像の元の画像の取得が、取り消される。この場合、図39で示されるように、チェックボックスに表示されていた矢印は消去される。また、矢印が消去されたチェックボックスを、さらにまた、チェックすることにより、そのサムネイル画像の元の画像の取得が実行される。
また、クライアントがサーバから画像を取得している途中で、クライアントまたはサーバにおいて、閲覧時写真交換モードの終了が指示された場合、クライアントおよびサーバにおいて、本当に切断してよいか否かを確認する画面が表示され、その画面に表示されている「切断を実行する」または「切断をキャンセルする」ボタンまたはコマンドを選ぶことで、画像の取得が中断されるかまたは継続される。
このようにサーバから取得する画像を個々に選択することができるが、サムネイル画像の括り毎に、一括して取得する画像を選択することができる。
図40で示されるように、一括りのサムネイル画像の左側に配置されている、サムネイル画像の括りを表す画像の中央にチェックボックスをチェックすると、その一括りのサムネイル画像のすべてのチェックボックスがチェックされて、その一括りのサムネイル画像の元の画像が一括して取得される。
なお、その一括りのサムネイル画像のいずれかチェックボックスがチェックされている場合でも、一括りのサムネイル画像の左側に配置されている、サムネイル画像の括りを表す画像の中央にチェックボックスをチェックすると、その一括りのサムネイル画像のすべてのチェックボックスがチェックされて、その一括りのサムネイル画像の元の画像が一括して取得される。
一括りのサムネイル画像のすべてのチェックボックスがチェックされている場合、サムネイル画像のいずれかのチェックボックスを再度チェックすることにより、そのサムネイル画像の元の画像の取得が、個別に、取り消される。
さらに、サムネイル画像の括りを表す画像の中央にチェックボックスを再度チェックすることにより、その一括りのサムネイル画像の元の画像の取得が、一括して、取り消される。
なお、サムネイル画像の元の画像の公開が取り消された場合、サムネイル画像の表示は、即座に更新されない。すなわち、図31のフローチャートを参照して説明したサムネイル画像の表示の更新により表示されたサムネイル画像の元の画像の公開が、画像の取得の処理が実行されるまでに、取り消された場合には、サムネイル画像を選択したときに、図41で示されるように、ステップS269において、表示制御部183は、サムネイル画像に代えて、画像の公開が取り消されたことを示す画像を表示させるように、サムネイル画像の表示を更新する。
これにより、クライアントであるデジタルカメラ1−1の使用者は、サムネイル画像の元の画像の公開が取り消されたことを知ることができる。
以上のように、閲覧時写真交換モードにおいて、デジタルカメラ1は、ネットワーク2を介して接続した他のデジタルカメラ1の装着されている記録媒体60に記録されている画像を、共有(交換)することができる。マスストレージなどを利用した、画像をいちいち交換する手間を省くことができる。
なお、LCD20にサムネイル画像など各種の画像が表示されると説明したが、これに限らず、画像を表示できるものであればよく、例えば、有機EL(Electro Luminescence)ディスプレイまたはLED(Light Emitting Diode)ディスプレイなどであってもよい。
また、デジタルカメラ1が被写体を撮影し、画像を送信すると説明したが、これに限らず、被写体を撮影し、画像を送信する機器であればよく、例えば、デジタルビデオカメラ、携帯電話機、または携帯型パーソナルコンピュータなどであってもよい。
このように、被写体の撮影を制御するようにした場合には、被写体を撮影することができる。また、被写体の撮影を制御し、ネットワークを介して、他の撮影装置との通信を制御し、ネットワークを介して、他の撮影装置が撮影した画像を他の撮影装置から取得し、撮影装置の撮影した画像と他の撮影装置が撮影した画像との、撮影の順の、1つの画面への表示を制御するようにした場合には、自分で撮影した画像と他で撮影された画像が、どのような順序で撮影されたかを簡単に知ることができる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図4に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアである記録媒体60、または、プログラムが一時的もしくは永続的に格納されるフラッシュROM83や、図示せぬハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信I/F49を介して、ネットワーク2、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1,1−1,1−2 デジタルカメラ, 2 ネットワーク, 3 プリンタ, 18 モードダイヤル, 19 操作ボタン, 20 LCD, 21 ネットワークボタン, 22 オプションボタン, 41 カメラ部, 45 制御部, 46 操作部, 49 通信I/F, 60 記録媒体, 81 CPU, 83 フラッシュROM, 102 入力ドライバ, 103 通信ドライバ, 105 アプリケーションプログラム, 121 モード管理オブジェクト, 122 撮影時写真交換オブジェクト, 123 撮影制御オブジェクト, 124 閲覧時写真交換オブジェクト, 141 接続方式選択部, 142 遷移先モード選択部, 143 相手モード判定部, 144 モード管理テーブル144, 145 モード遷移制御部, 161 撮影時公開リスト取得部, 162 画像取得部, 163 撮影時公開リスト生成更新部, 164 表示制御部, 181 閲覧時公開リスト取得部, 182 サムネイル画像取得部, 183 表示制御部, 184 選択部, 185 画像取得部, 186 分類部, 187 閲覧時公開リスト生成更新部, 301 被写体画像表示エリア, 302 最新画像表示エリア, 303 履歴表示エリア, 304 接続相手名表示エリア, 321 履歴表示エリア