本発明の実施の形態(以下、実施形態とする)について、以下図面を用いて説明する。
図1は、本実施形態におけるデジタルカメラ100の機能ブロックを示す図である。デジタルカメラ100は、3つの主要コンポーネントとして、操作部10と実行部20と無線通信デバイス30とを含み構成される。
操作部10は、ユーザとの対話を行うUIコンポーネントであり、ユーザがデジタルカメラ100を操作する際に使用する操作ボタン等のユーザインタフェースの制御を行う。
実行部20は、デジタルカメラ100の撮影や画像データ保存等の機能を統合するコンポーネントであり、カメラヘッドやレンズ、絞り、付帯制御装置であるフラッシュ、CCD、ハードウェアやソフトウェアで構成されたストレージメディアなどの制御を行う。
さらに操作部10および実行部20はそれぞれ汎用インタフェースを有する。そして、操作部10および実行部20は、この汎用インタフェースを介し、汎用の通信プロトコルを用いて相互に通信を行う。そして、操作部10がユーザインタフェースを介してユーザからの操作指示を受け取り、その操作指示に基づき制御情報を作成し、その制御情報を汎用インタフェースを介し、汎用の通信プロトコルを用いて実行部20に送信する。実行部20は、その制御情報を受信し、受信したその制御情報に基づいてカメラヘッド等の制御を行い、画像の撮影や画像データのストレージメディアへの保存などを行う。
本実施形態では、汎用インタフェースとしてPTP(Picture Transfer Protocol)を用い、そのインタフェースのベースとなる通信プロトコルにはTCP/IPを用いる。そして、操作部10と実行部20は、PTPコマンド及びその応答を通信路15であるソケットストリームを介して交換しあうことで、相互に通信を行う。
さらに、デジタルカメラ100は、ネットワークを介して他のデジタルカメラ等と通信を行うために、無線通信デバイス30を備える。デジタルカメラ100は、無線通信デバイス30を介して、通信規格802.11(WiFi)の通信方式に基づき、他のデジタルカメラ等と無線通信を行う。
続いて、このように構成されたデジタルカメラ100における画像取得方法について説明する。
まず、ユーザがシャッターボタンを押下すると、操作部10は、そのボタン押下を検知して、制御情報としてPTPオペレーションデータセットを作成し、そのPTPオペレーションデータセットをソケットストリームを介して実行部20に送信する。
実行部20は、操作部10からPTPオペレーションデータセットを受信すると、カメラヘッドを制御して画像を撮影し、撮影して得られた画像データをストレージメディアに保存する。さらに実行部20は、PTP応答データセットを作成し、そのPTP応答データセットを、ソケットストリームを介して操作部10に送信する。
その後さらに、操作部10と実行部20との間でPTPコマンドによる通信を行い、撮影して得られた画像データをデジタルカメラ100のディスプレイに表示する。
上述のように本実施形態のデジタルカメラ100において、画像を撮影しその結果得られた画像データをストレージメディアに保存するなどの処理を行うためには、まず操作部10と実行部20との間にソケットストリームを確立する必要がある。
そこで、操作部10と実行部20との間の通信路の確立フローについて、以下、デジタルカメラ100の起動時を例にして、図2A、2Bに示すイメージ図を用いて説明する。
まず、デジタルカメラ100が起動すると、図2Aに示すように、まずベースとなる通信プロトコルスタック11が起動し(S101)、次に実行部20およびその制御下にあるカメラヘッド等のコンポーネントが初期化起動する(S102)。さらに、操作部10が起動し(S103)、ネットワーク上で実行部20を探し、発見した実行部20との間に通信路15を確立する(S104)。
さらに、S104での処理を図2Bを用いて詳細に説明する。
操作部10は起動すると、まずメカニズム12を実行し、実行部20を探すために問い合わせパケット14を送信する。本実施形態では、問い合わせパケットにUDPパケットを使用し、TCPネットワーク上にマルチキャストする(S201)。この問い合わせパケットには、操作部10のIPアドレスが含まれている。実行部20は、問い合わせパケット14を受信すると、発見ロジック13により、問い合わせパケット14に含まれるIPアドレスを割り当てられた操作部10に向けて、UDPパケットで応答パケット16を返信し、ネットワーク上での自身の場所(つまり、実行部20に割り当てられたIPアドレスとポート番号)を操作部10に知らせる(S202)。応答パケット16には、実行部20のIPアドレスとポート番号が含まれており、操作部10はこのパケットを受信すると、ソケット接続要求を実行部20に向けて出力し、実行部20との間のソケット接続18を試みる(S203)。そして、実行部20がこのソケット接続要求を受け入れると、操作部10と実行部20との間に通信路15としてソケットストリームが確立される(S204)。
これにより、操作部10と実行部20との間に通信路が確立され、デジタルカメラ100は、画像を撮影しその結果得られた画像データをストレージメディアに保存するなどの処理を行うことができる。
上述したS201〜S204での操作部10と実行部20との間の通信路の確立フローは、同一カメラ内の操作部10と実行部20と間での通信路の確立以外にも、異なるカメラ間において、一つのカメラの操作部10と別のカメラの実行部20との間で通信路の確立をする場合にも利用することができる。
そして、異なるカメラ間において通信路を確立することで、例えば、一つのカメラが保持する画像データをネットワーク上に公開し、別のカメラがその公開された画像データを取り込むといったカメラ間における画像データの転送を容易に実現することができる。
図3は、2つのカメラ間において、一方のカメラSがネットワーク上に公開する画像データを、もう一方のカメラCが取り込むために、カメラCの操作部10とカメラSの実行部20との間で通信路を確立するフローを示すイメージ図である。
図3において、まず、2台のカメラS、カメラCはお互いの存在を認知する(S301)。詳細は後述するが、2台のカメラは物理的に近くに存在する必要はなく、例えばインターネットを介して、お互いの存在を認知しても構わない。続いて、カメラSのユーザがカメラSを操作して、カメラSが保持する画像データのネットワークへの公開を指示する。画像公開を指示されると、カメラSは無線通信デバイス30を用いて独自のワイヤレス(TCP/IP)ネットワーク40を確立し、それまでカメラ内部に限られていたネットワークをデバイス境界を越えて拡張し、他のカメラとの接続に備える(S302)。
この時点で、ネットワーク40上に公開された所望の画像データの取り込みを試みるカメラCのユーザは、カメラCを操作して、上記ネットワークに参加するように指示する。参加指示を受けたカメラCは、自身の無線通信デバイス30を起動し、ネットワークを検索する。そして、ネットワークが存在すれば、そのネットワークに接続する(S303)。なお、TCP/IPを用いた通信の場合には、カメラCがカメラSとTCP/IPレベルにおいてIPアドレスの交渉・獲得を行うことで、ネットワークへの接続を実現する。
続いて、カメラCの操作部10とカメラSの実行部20とは、図2Bに示した通信路確立フローと同様なフローにより、通信路の確立を行う。通信路が確立されると、それ以降、カメラCの操作部10とカメラSの実行部20とは、PTPで通信できることとなる(S304)。
これにより、異なるカメラ間において、一つのカメラの操作部10と別のカメラの実行部20との間で通信路が確立され、あるカメラの操作部10を介して、遠隔に存在する別のカメラの実行部20を制御することができるため、異なるカメラ間において画像データの転送等を容易に行うことができる。したがって、例えば、通信路が確立された2台のカメラを用いて次のようなことができる。すなわち、ユーザが一つの固定したカメラをもう一つの手元のカメラを用いて操作し、この固定したカメラの撮る動画を手元のカメラの表示部(LED)に表示することでポーズを取った後、手元のカメラを用いて固定したカメラのシャッターを遠隔操作により切り、その固定したカメラで撮影して得られた画像データを手元のカメラに転送する。これにより、ユーザは、あたかも手元のカメラで撮影して得られた画像データであるかのように、遠隔に存在する固定カメラで撮影して得られた画像データを手元のカメラにて扱うことができる。
また、操作部10は、複数の別のカメラの実行部20と同時に通信路を確立してもよい。この場合、一つのカメラで遠隔に存在する複数のカメラを同時に制御することができ、例えば、あるカメラから遠隔に存在するカメラに保存された画像データを別の遠隔に存在するカメラにコピーするなどの制御をすることができる。
続いて、ユーザ側から見た場合における2つのカメラ間における通信路の確立から切断までのフローについて、図4を用いて説明する。
まず、各ユーザはそれぞれカメラSおよびカメラCを起動し(S401、S501)、画像の撮影を行い、それぞれディスプレイに表示する(S402、S502)。続いて、カメラSのユーザは、撮影して得られた画像データのネットワークへの公開をカメラSに指示する(S403)。公開指示を受けたカメラSは、ネットワークを構築し(S404)、他のカメラのネットワークへの参加を待つ(図3のS302に相当する)。
一方、カメラCのユーザは、カメラCに対して、ネットワーク上に画像データを公開しているカメラを発見するように指示する(S503)。発見指示を受けて、カメラCは、カメラSが構築したネットワークに参加し(S504)、画像データを公開するカメラの発見を試みる(S505)。つまり、カメラCは、問い合わせパケットをネットワーク上にマルチキャストする。
そして、S505におけるカメラCの動作に応じてカメラSが、カメラCの発見要求に応答する(S405)。つまり、カメラSは、応答パケットをカメラCに向けてユニキャストする。
カメラCは、カメラSからの応答を受けて、ネットワーク上に画像データを公開しているカメラを発見したと認識し、カメラSとの間の通信路の確立を行う(S506)。カメラSは、カメラCからの通信路の確立要求に応じてカメラCとの通信路確立の承認を行う(S406)。これにより、カメラCの操作部10とカメラSの実行部20との間に通信路が確立される。
通信路が確立されると、カメラSは、カメラSのユーザに対して、他のカメラにサービスを提供中、つまり他のカメラと通信中であることを通知する(S407)。一方、カメラCのユーザは、確立された通信路を用いてカメラSを遠隔操作する(S507)。
その後、カメラCのユーザは、カメラSの遠隔操作が終了した段階で、カメラCに対してカメラSとの通信切断を指示し(S508)、カメラSとの間に確立された通信路を切断する(S509)。これを受けて、カメラSは、カメラSのユーザに対して、カメラCへのサービスを終了、つまりカメラCとの通信を切断したことを通知する(S408)。
上述のように通信路が確立されることで、カメラSの実行部20は、カメラCの操作部10により制御可能となり、カメラCのユーザはカメラCを介して、カメラSを遠隔で操作可能となる。
これにより、例えば、カメラCのユーザは、カメラCのディスプレイ上にカメラSが保持する画像データを表示させることができ、カメラCのシャッターボタンを押下することで、カメラSにより画像の撮影をすることができる。さらに、本実施形態によれば、操作部10は、複数の実行部20との間でそれぞれ通信路を確立することで、1以上の実行部20を制御することができる。
また、PTPが実行部への画像データ転送および実行部からのデジタル画像転送をサポートしているため、カメラCのユーザは、カメラCの操作部10を用いてカメラSの実行部20からカメラCの実行部20に画像データを転送することができ、逆にカメラC上の実行部20からカメラSの実行部20へ画像データを転送することもできる。つまり、カメラCのユーザは、カメラSの画像データをカメラCにコピーでき、その逆も可能となる。また、画像データの転送以外も、時間設定、ズーム設定など操作部10がローカルな、すなわち自分と同一のデバイス上に存在する実行部20が実行可能な処理をすべて、異なるデバイス上の操作部10を用いて実行することができる。
ところで、あるカメラが画像データを公開する別のカメラを発見しようとする場合、これらのカメラが物理的に近距離ではなく、お互いに遠距離に存在する場合も考えられる。その場合は、インターネット等のネットワークを介して画像データの転送を行えばよい。そこで、次にインターネットを介してカメラ間で通信路を確立し、画像データの転送を行う場合について、図5を用いて説明する。
図5において、まず、公開しようとする画像データを保持するカメラSのユーザは、カメラSを802.11のパブリックアクセスポイント(#1)50の近傍に持っていく。そして、カメラSは、パブリックアクセスポイント(#1)50を介してインターネットに接続し、公開ディレクトリ52を有する所定のサイト54に到達する。ここで公開ディレクトリとは、画像データを公開しようとするカメラの名前とIPアドレスを列記したものである。カメラSは自身の名前とIPアドレスをこのサイトの公開ディレクトリに登録することにより、画像データを公開しようとするカメラグループに登録されたこととなる。
一方、公開された画像データの取り込みを試みるカメラCのユーザは、カメラCをパブリックアクセスポイント(#2)50の近傍に持っていく。そして、カメラCは、パブリックアクセスポイント(#2)50を介してインターネットに接続し、サイト54で公開ディレクトリ52を参照する。さらにカメラCは、参照した公開ディレクトリ52に登録されたカメラの名前の一覧表を作成し(名前に対応するIPアドレスも併せて一覧表に加えても構わない)、カメラCのディスプレイ上に表示する。カメラCのユーザは、ディスプレイ上に表示された一覧表に列記されたカメラ名の中から所望のカメラ名を選択する。
続いて、カメラCの操作部10は、選択されたカメラ名に対応するIPアドレスに関連づけられた実行部20との間に通信路の確立を試みる。ここでの通信路の確立は、図2BでのS203〜S204におけるフローと同様である。
本実施形態において、画像データを公開するカメラの発見およびそのカメラのIPアドレスの取得を行うコンポーネントは、問い合わせパケットおよび応答パケットを送受信することによりカメラ間の存在を認識し、通信路を確立する処理を行う、各カメラ内に内蔵するコンポーネットに局所化されている。よって、例えばアクセスポイントがパブリックなものかそうでないかの判断機構をこのコンポーネントに実装することにより、カメラ全体として、パブリックアクセスポイントを介してカメラ間で画像データの転送を行うか、もしくはパブリックアクセスポイントを介さずカメラ間で直接画像データの転送を行うかのどちらにも対応することができる。
図6は、2台以上のカメラがお互いに802.11の無線圏内でそれぞれのネットワークを確立している状況を示すイメージ図である。図6において、カメラ#1のユーザは、カメラ#1に自身が保持する画像データを公開するように指示する。カメラ#1は、公開指示を受けて無線通信デバイス30を起動して、TCPネットワークをカメラ外部に拡張する。ここでは、無線通信デバイス30として802.11準拠のものを利用する。この場合、TCPネットワークを拡張するとは、無線通信デバイスがビーコニングと呼ばれる処理を開始することを意味する。さらに、カメラ#1は、ネットワークの拡張と共に、業界標準プロトコルの一つであるZeroConfを用いてIPアドレスを取得する。
ここで、第3者が画像データの公開の目的で自分の所有するカメラ#2をカメラ#1の付近に持ってくると、カメラ#2はカメラ#1と同様な手順でネットワークを構築する。これにより、同一エリア内にネットワーク#1およびネットワーク#2の2つの802.11のネットワークが存在し、それらのネットワーク上でそれぞれビーコニングがされることとなる。
続いて、公開された画像データを取り込むことを望むユーザが、自分の所有するカメラ#3をこれらのネットワークに持ってくると、カメラ#3は、自身の無線通信デバイスを起動し、スキャンと呼ばれるリッスン処理を行う。この処理により、カメラ#3は、カメラ#1及びカメラ#2の各無線通信デバイスを示す2つのSSIDを得る。そして、カメラ#3は、得られたSSIDに基づいて、カメラ#1およびカメラ#2の識別情報をディスプレイ上に表示する。識別情報としては、例えば、カメラの装置名、カメラのシリアル番号、カメラの所有者のユーザ名などである。
カメラ#3のユーザは、画面上に表示された識別情報をもとに、カメラ#1を選択する。すると、カメラ#3は、カメラ#1が構築したネットワークに参加し、ZeroConfに基づいてIPアドレスを取得する。さらに、カメラ#3の操作部10は、上記と同様にカメラ#1の実行部20との間に通信路を確立する。
上記では、画像データを公開しようとするカメラは、ビーコニングと呼ばれる物理層レベルでの処理を行い、それぞれ独自にネットワークを構築する例を示した。ただ、新たに画像データを公開しようとするカメラであったとしても、すでに他のカメラが近傍でネットワークを構築していた場合には、公開された画像データを取り込むカメラと同様な処理により、すなわちスキャン処理を行い、既存ネットワークに参加してもよい。既存ネットワークに参加することで、新たに画像データを公開しようとするカメラは、処理負担を低減することができる。
また、操作部10と実行部20との間に確立する通信路は暗号化してもよい。この場合、例えば通常のソケットストリームではなく、セキュアなソケットストリームを使用することで、通信路の暗号化を図ればよい。さらに、実行部20が操作部10を認証できるように実行部20と操作部10との間の通信路の確立処理の一部として、いわゆるハンドシェイク方式を用いた処理を導入してもよい。これにより、遠隔操作を受け付けるユーザのカメラを制限することができ、例えば、画像データを公開するカメラが、画像データを公開する相手を制限して、許可されたカメラに対してのみ自身の保有する画像データを公開できる。
なお、画像データを公開する一つのカメラが複数のカメラと接続する場合、この画像データを公開するカメラが、それぞれ接続したカメラに対してどのように振る舞うかは実装に依存する。すなわち、実行部20は、ひとつの操作部10としか通信をしないように設計してもよいし、接続してきた複数の操作部10と同時に通信をするように設計してもよい。
通信を一つの操作部10に制限する場合、画像データを公開するカメラの実行部20は一時的に自身の操作をローカルな操作部10、つまり自身に内蔵する操作部10から、ネットワークを介して接続した外部の操作部10に譲ることになる。この場合、自身に内蔵する操作部10による制御が制限されたカメラのディスプレイ上に、例えば「画像公開中」といったメッセージを表示し、そのカメラの所有者に通知を行うことで、ユーザが自身のカメラを操作できないことによりカメラの故障等であると誤認することを防止することができる。
一方、複数の操作部10と同時に通信を可能とした場合、画像データを公開するカメラの実行部20は、自身の操作部10との通信路を持続でき、他のカメラの操作部10と自身の操作部10との通信路が別々に確立されることとなる。この場合、画像データを公開するカメラがネットワークを経由して他のカメラと接続されていても、公開側のカメラのユーザはそのカメラを引き続き操作することができる。これにより、例えば、一人のユーザが自分のカメラに保存された画像データをディスプレイ上に表示している間に他のユーザがそのカメラで撮影することができる。また、1台のカメラに保存された画像データを遠隔の複数のユーザが同時に見ることができる。
ただ、複数の操作部10と同時に通信を可能とした場合、例えば、ネットワークを介して他のカメラの実行部20に画像データを転送中にローカルな操作部10から転送中のファイルの削除指示がされるといった、同時に複数の操作部10が実行部20に対してアクセスした場合に不具合が生じことがある。そのような同時アクセスによる不具合を防止するためには、例えば、アクセスに優先度をつけたり、最初にアクセスした操作部10に対する処理が終了するまで他の操作部10からのアクセスを受け付けないなどのアクセス制御を行う必要がある。
続いて、カメラ間においてお互いに画像データの転送を行う例について図7A、7Bを用いて説明する。
図7Aは、2台のカメラがそれぞれ画像データの公開を行うとともに、公開された画像データを取り込む場合のイメージ図である。図7Aにおいて、カメラAの操作部Aは、カメラBの実行部Bと通信路を確立し、カメラBの操作部Bは、カメラAの実行部Aと通信路を確立する。これにより、カメラAの操作部Aは、カメラBの実行部Bを制御し、カメラBの操作部Bは、カメラAの実行部Aを制御することができる。
図7Bは、図7Aにおける各カメラの全体構成を示す図である。図7Bにおいて、撮影機能を有するキャプチャユニット71はレンズ72も含めてカメラの背面まで回転させることができる。ユーザはこれにより、自分自身の写真をカメラの背面のディスプレイ73に表示しながら撮影することができ、お互いに顔を見ながら通信することができる。
ここで、カメラAおよびカメラBの性能が例えば1秒に24枚の撮影が可能なもので、かつカメラ間をつなぐネットワークの通信速度がある程度高速であれば(例えば、11Mbps)、ビデオ通信が可能である。さらに、カメラAおよびカメラBにそれぞれマイク74とスピーカ75を設けることで、後述の処理によりカメラAとカメラBとの間に通信路を確立し、PTPの拡張機能を用いて画像データの他に音声データも送受信することができるため、カメラAとカメラBとの間で双方向のビデオ/オーディオ通信が可能であり、いわゆるビデオ電話を実現することができる。
ここで、双方向のビデオ/オーディオ通信を行う場合のカメラAおよびカメラBの通信路の確立フローについて説明する。
まず、カメラAは画像データを公開するカメラとして、カメラBは画像データを公開する他のカメラを発見するカメラとして、カメラAの実行部AとカメラBの操作部Bとの間に第1の通信路76を確立する。続いて、今度は逆にカメラAは画像データを公開する他のカメラを発見するカメラとして、カメラBは画像データを公開するカメラとして、カメラAの操作部AとカメラBの実行部Bとの間に第2の通信路77を確立する。この2つのカメラ間の2つの通信路を介して画像データおよび音声データを送受信することにより、双方向のビデオ/オーディオ通信を行うことができる。
なお、第1の通信路76が確立された後に、実行部Aと操作部Aとの間に確立された第3の通信路78を介して、カメラAの実行部Aが自身の操作部AにPTPイベントを送り、自身の実行部Aが遠隔の操作部Bと通信中であることとともに、遠隔の実行部BのIPアドレスを操作部Aに通知し、その通知された実行部BのIPアドレスに基づいて、操作部Aと実行部Bとの間の第2の通信路77を確立してもよい。
続いて、カメラ以外の装置に本アーキテクチャの操作部と実行部とを実装した場合について説明する。
図8は、パーソナルコンピュータ(以下、PC)80に本アーキテクチャを実装した場合のイメージ図である。図8において、PC80に内蔵した操作部81はカメラXの実行部Xとの間に通信路を確立させ、カメラXの実行部Xを直接制御する。この結果、PC80のユーザは、例えば、自分のPCのモニタにカメラ内の画像を表示したり、PC上の操作部81が固有のインタフェースをとるディスク83上にカメラの画像データを保存することができる。このような構成により、例えば、カメラXを監視カメラとして動作させ、カメラXが撮影した画像を遠隔に設置されたPCのディスプレイに表示し、監視を実現することができる。また、カメラXの撮影した画像データをインターネットを介して受信して、PCのディプレイ上に表示させることもできる。
さらに図8において、カメラYの操作部YはPC80の実行部82との間に通信路を確立させ、PC80の実行部82を直接制御する。ここで、PC80の実行部82は、撮影機能がない点でカメラX,Yの実行部X,Yと異なる。
また、カメラYの実行部Yを制御し、PC80上の実行部82がディスク83とのインタフェースを保つことでカメラYの操作部YでカメラYに保存されている画像データをPC80のディスク83にコピーすることができ、その逆に、ディスク83に保存されている画像データを実行部Yにコピーすることもできる。
さらに、PC80の実行部82でカメラYのユーザがワイヤレスで操作部Yを経由し、PC80のディスク83に保存された画像データをブラウズすることも可能である。加えて、PC80の操作部81は、実行部82との間で通信路を自由に設定することがき、PC80のユーザは、実行部82の制御下にある画像データをブラウズすることもできる。
従来、1つのカメラで撮影して得られた画像データを別のカメラに表示したり、保存する場合、一般的にSDカードなどのリムーバルメディアを通じて行われている。しかし、このような方法では、次のような課題がある。すなわち、共有しようとする画像データは、リムーバルメディアに保存する必要があるが、メディアに対する一般的な知識がないユーザにとって、この作業を理解するのが難しい。また、保存後もリムーバルメディアを取り出して、そのリムーバルディスクに保存された画像データをディスプレイに表示したり、コピーをしようとする場合、カメラに再挿入するする必要がある。しかし、そのカメラが離れた場所にある場合、リムーバルメディアそのものを送付あるいは他の方法で物理的に移動させなければならない。これによって時間のロスが生じ、データあるいはメディアの損失の恐れも生じる。
さらに、画像データをカメラ本体に保存したい場合、カメラの内蔵メモリに画像データをコピーするか、PCを用いて画像データをコピーするといった作業をユーザは行う必要がある。しかし、PC操作の知識に欠けるユーザにとって、このような作業は難しい。
これらの課題は、例えば、画像撮影機能を搭載した携帯電話などでも同様なことが言える。
一方、本実施形態では、1台のカメラに内蔵するコンポーネントとして、実行部と操作部とを独立して設け、それぞれが単独で処理を行うような構成として、実行部と操作部とはネットワークを介して接続する構成とする。加えて、実行部と操作部との通信に標準のインタフェースを採用し、このインタフェースをデバイスの境界を越えて構成するための無線通信デバイスもカメラに設ける。
このように構成された本実施形態において、ユーザは、自分のカメラ内の画像データを公開する場合、まずカメラに内蔵した無線通信デバイスを用いて、そのカメラはネットワークを構築する。ここで、その画像データを取得することを希望するユーザは、自身のカメラをそのネットワークに参加させ、操作部にそのネットワークに存在する画像公開側のカメラに内蔵された実行部を検索する。検索の結果、画像公開側のカメラに内蔵された実行部を発見できた場合、画像取得側のカメラの操作部は、公開側のカメラの実行部との間に通信路を確立する。これにより、画像取得側のカメラのユーザは、あたかも自分のカメラを操作するかのように画像公開側のカメラを操作することができる。よって、画像取得側のカメラのユーザは、公開された画像データを自由にブラウズすることができ、画像データのコピーも容易に行うことができる。さらに画像公開側のカメラを制御して、撮影も容易に行うことができる。また、操作するカメラと操作されるカメラとが離れた場所にある場合でも、ユーザはリムーバルメディアそのものを送付あるいは他の方法で物理的に移動する必要がなく、時間のロスや、データあるいはメディアの損失の恐れも低減することができる。
10 操作部、11 通信プロトコルスタック、12 メカニズム、13 発見ロジック、14 問い合わせパケット、15 通信路、16 応答パケット、18 ソケット接続、20 実行部、30 無線通信デバイス、40 ネットワーク、52 公開ディレクトリ、54 サイト、71 キャプチャユニット、72 レンズ、73 ディスプレイ、74 マイク、75 スピーカ、80 パーソナルコンピュータ、81 操作部、82 実行部、83 ディスク。