<第1の実施形態>
図1は、本発明の実施形態におけるデジタルカメラの構成を示す図である。以下、本発明の実施形態におけるデジタルカメラの構成について説明する。
100は本実施形態におけるデジタルカメラである。
2は撮影レンズ、3は絞り機能を備えるシャッター、4は光学像を電気信号に変換する撮像素子、5は撮像素子4のアナログ信号出力をデジタル信号に変換するA/D変換器である。
6は撮像素子4、A/D変換器5、D/A変換器7にクロック信号や制御信号を供給するタイミング発生回路であり、メモリ制御回路8及びシステム制御回路9により制御される。
10は画像処理回路であり、A/D変換器5からのデータ或いはメモリ制御回路8からのデータに対して所定の画素補間処理や色変換処理を行う。
8はメモリ制御回路であり、A/D変換器5、タイミング発生回路6、画像処理回路10、画像表示メモリ11、D/A変換器7、メモリ12を制御する。
A/D変換器5のデータが画像処理回路10、メモリ制御回路8を介して、或いはA/D変換器5のデータが直接メモリ制御回路8を介して、画像表示メモリ11或いはメモリ12に書き込まれる。
11は画像表示メモリ、7はD/A変換器、13はTFT LCD等から成る表示部であり、画像表示メモリ11に書き込まれた表示用の画像データはD/A変換器7を介して表示部13により表示される。
表示部13を用いて撮像した画像データを逐次表示すれば、電子ファインダー機能を実現することが可能である。
12は撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。
14は絞り機能を備えるシャッター3を制御する露光制御手段であり、フラッシュ17と連携することによりフラッシュ調光機能も有するものである。
15は撮影レンズ2のフォーカシングを制御する測距制御手段、16は撮影レンズ2のズーミングを制御するズーム制御手段である。
17はフラッシュであり、AF補助光の投光機能、フラッシュ調光機能も有する。
9はデジタルカメラ1全体を制御するシステム制御回路であって、各部から入力される信号またはプログラムに応じて、各部の動作を制御する。20は各種のパラメータを記憶するためのメモリである。
18は電源制御手段で、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されている。電源制御手段18は電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御回路9の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。19はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる電源手段である。
21はシステム制御回路9でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメッセージ等を表示する液晶表示装置、スピーカー等の状態報知部である。状態報知部21はデジタルカメラ1の操作部近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLED、発音素子等の組み合わせにより構成されている。
22は電気的に消去・記録可能な不揮発性メモリである。ここに機器の無線設定情報を記憶することができる。メモリ20及び不揮発性メモリ22は、システム制御回路9の動作用の定数、変数、プログラム等を記憶することができる。
23はメモリカードを接続する為のメモリカードインターフェースであり、24は外部機器とUSBを用いて接続する為のUSBインターフェースである。
25は、システム制御回路9の各種の動作指示を入力するための操作手段であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
26はシャッタースイッチで、撮像素子4から読み出した信号をA/D変換器5、メモリ制御回路8を介してメモリ12に画像データを書き込む露光処理、画像処理回路10やメモリ制御回路8での演算を用いた現像処理という一連の処理の動作開始を指示する。
27は無線通信回路であり、無線信号を送受信し、無線通信を制御する。28は他の機器と無線通信を行うためのアンテナである。
29は自機器の位置を特定するための位置取得装置である。位置取得装置29の一例としてGPS(Global Positioning System)があり、衛星からの電波を受信し自機器の位置を特定することが可能である。電波の受信は定期的に行ってもよいし、特定のタイミング、例えば操作部25のうち特定の操作部材が操作されたタイミングで受信したり、シャッタースイッチ26が押されたタイミングで受信してもよい。
30はメモリカードであり、メモリカードインターフェースを介して送られてきた画像を記憶する。なお、本実施例におけるメモリカード30はデジタルカメラ1と着脱可能としているが、画像を記憶する記憶媒体をデジタルカメラ1に内蔵してもよい。
図2は、本発明の実施形態におけるテレビ201の構成を示す図である。以下、本発明の実施形態におけるテレビ201の構成について説明する。
201は本実施形態におけるテレビ201である。
202は出力部であり、音声処理部205からの出力を受けて音声などを出力する。
203はユーザに対して情報を表示する表示部であり、表示処理部206によって処理された情報が表示される。
204はテレビ201の操作部であり、システムコントローラ207を介してユーザによる各種の動作指示を入力するための操作手段である。
208は電気的に消去・記録可能な不揮発性メモリである。ここに機器の無線設定情報を記憶することができる。209はテレビ201の動作用の定数、変数、プログラム等を記憶するメモリである。
210は無線通信回路であり、無線信号を送受信し、無線通信を制御する。215は他の機器と無線通信を行うためのアンテナである。
211は外部機器からのデータ入力部、212は外部機器へのデータ出力部である。213はチューナーであり、放送信号を受信して音声処理部205、表示処理部206へ与える。
本実施形態におけるテレビ201は放送信号だけでなく、デジタルカメラなどの画像処理装置から画像などのコンテンツを受信し、表示部203に表示することが可能である。
214は電源手段である。以下、これらのデジタルカメラとテレビの構成をもとに、本実施形態において複数台のデジタルカメラとテレビ201とでネットワークを構成し、複数のデジタルカメラが保持している画像についてスライドショーを行う動作について説明する。
<システム構成>
以下、複数台のデジタルカメラとテレビ201とでネットワークを構成し、複数のデジタルカメラが保持している画像についてスライドショーを行うシステムについて説明する。なお、デジタルカメラ1、101、102、103及びテレビ201の制御は図1の不揮発性メモリ22及び図2の不揮発性メモリ208に記憶されたソフトウェアプログラムにしたがい、システム制御回路9やシステムコントローラ207が実行する。
図3は、本実施例における複数台のデジタルカメラとテレビ201とのネットワーク構成例である。ここで、デジタルカメラ101、102、103は図1で示したデジタルカメラ1と同様の構成を持つものとする。これらの機器は、一般的な無線LANで使用されるネットワーク識別情報であるSSID(Service Set Identifier)や無線通信チャネル、暗号化のキーなどの無線パラメータについて予め共通の情報をメモリ上に記憶しておく。そして、そのパラメータに基づいて無線LANによるネットワークを形成する。なお、本実施例で構築するネットワークはネットワークハブなどを介した有線によるLANでもよく、本実施例は構築するネットワークの形態に依存するものではない。
本実施形態のシステムでは、ネットワーク上の機器から、他の機器を制御する役割を持つ機器を決定する。本実施例では、複数台のうち1台のデジタルカメラが他の機器、例えば他のデジタルカメラやテレビを制御する役割を持つ。制御する側のデジタルカメラを「親カメラ」、その他の制御される側のデジタルカメラを「子カメラ」とする。子カメラは画像を記憶している機器である。子カメラは親カメラの制御に応じてネットワーク上の他の機器に画像を提供することが可能である。すなわち、子カメラはネットワーク上でサーバー機器として動作している。
本実施形態のシステムでは、親カメラが子カメラの画像情報を集めてテレビにスライドショーとして表示させることが可能である。具体的には、親カメラがネットワーク上から子カメラを検出して、それぞれの子カメラが持つ画像情報を収集することによりスライドショーのリストを作成する。そして親カメラはスライドショーリストにしたがい、子カメラに対して画像データをテレビ201へ転送するよう指示する。この指示を画像ごとに順次行うことでスライドショー動作を実現する。
<属性情報取得処理>
図4は、スライドショーにおける各カメラの役割を選択するための画面を示したものである。このスライドショーの設定画面401は、カメラ1の操作部25をユーザが操作することにより、デジタルカメラの表示部13に表示される。
設定画面401において、ユーザ操作により「マルチスライドショーを作成する」のアイコン402が選択されると、デジタルカメラは親カメラ1として起動する。「マルチスライドショーに参加する」のアイコン403が選択されると、デジタルカメラは子カメラとして起動する。「戻る」アイコン404を選択した場合は、デジタルカメラはスライドショーの開始を中止する。図4では「マルチスライドショーを作成する」のアイコン402が選択された状態を示している。デジタルカメラの操作部材により決定を示す動作が行われるとデジタルカメラ1は親カメラ1として起動する。次に、本実施形態におけるスライドショー処理の具体的な動作について、図5、図6のフローチャートを用いて説明する。
図5は、ネットワーク上の他の機器を制御する役割を持つ機器の動作を示すフローチャートである。本実施例では親カメラ1として起動されたデジタルカメラのシステム制御回路9が各部を制御することにより、以下の動作が実現される。
デジタルカメラ1が親カメラ1として起動されることにより、本フローチャートは開始される。
ステップS501において、親カメラ1は告知パケットを受信していないか確認する。ここで告知パケットとは、子カメラとなるデジタルカメラから親カメラとなるカメラ1に対して送信されるものである。告知パケットにはネットワークを構築するための情報、及び親カメラ1が子カメラを制御するための初期情報が含まれる。本実施形態における告知パケットの一例を図7に示す。告知パケットは、「パケット種類」、「宛先」、「機器情報のURL」、「通知タイプ」、「通知サブタイプ」、「送信元情報」、「機器タイプ」といった情報を含む。ここで、「パケット種類」とは本実施例での動作を実現するために機器同士が通信する情報の種類であり、「告知」、「検索」、「要求」、「応答」などを定義する。図7では「告知」を示す情報が記述されている。「宛先」とはパケットの送信先であり、IPアドレスと通信ポート番号で指定する。例えば告知パケットでは「239.255.255.290:1900」などの指定でマルチキャストチャネルとポートを指定する。「機器情報のURL」とは送信元の機器が有するURLである。例えば、「http://192.168.0.100:58000/index0」である。「通知タイプ」とはこの機器が接続する他の機器に通知する方式を定義するものである。例えば、本実施例に示す親カメラのようなルートデバイスに送信する方式、子カメラ等の各デバイスに送信する方式、或いはサービスに対して送信する方式等が存在する。本実施例では「各デバイスに送信する方式」を選択する。「通知サブタイプ」とは「通知タイプ」を補足するものとしてデバイスを特定する方法等を定義する。「送信元情報」とは送信元の機器に関する製品名やバージョン、搭載するOS名やそのバージョンを示す。「機器タイプ」とは機器の種類、例えばメディアプレーヤー、サーバー、表示装置、リモコン、などを指す。主に本実施例の動作においてはネットワーク上での個々の機器の役割を示すタイプも含まれる。告知パケット701を受信している場合は、親カメラ1は処理をステップS504へ進める。告知パケット701を受信していない場合は、処理をステップS502へ進める。
ステップS502において、親カメラ1は、他にスライドショーに参加する子カメラを探索すべく、検索パケット702を送信する。例えば、図3において子カメラとなりうるデジタルカメラ101、102、103のうち、子カメラとして起動していないものは告知パケット701を送信しない。したがって、親カメラ1は告知パケット701を送信しないデジタルカメラを子カメラとして認識しない。このようなカメラをスライドショーに参加させるため、親カメラ1は検索パケットを送信する。
検索パケット702とは、親カメラ1が子カメラを検索するために報知するためのパケットである。本実施形態における検索パケットの一例を図8(a)に示す。検索パケット702は、「パケット種類」「宛先」「検索タイプ」、「待機時間」、「検索ターゲット」といった情報を含む。ここで、「検索タイプ」とは検索の種類を示すカテゴリである。「待機時間」とは検索報知に対して応答を待つまでの最大待機時間である。この時間親カメラは検索を続ける。「検索ターゲット」とは検索範囲のデバイスを特定する。例えば全てのデバイス、ルートデバイス、特定のデバイス、特定のタイプのデバイス、特定のサービスを有するデバイスなどを指定する。ここで、親カメラ1は検索する機器の種類を検索パケット702の「検索ターゲット」フィールドへ記述する。例えば本実施形態の場合、親カメラ1は、スライドショー動作を行う際に必要となる、映像や音声を扱うサーバー機器や表示機器を「検索ターゲット」フィールドに記述する。このことにより、親カメラ1は、スライドショーに必要な機器を指定して検索することができる。
次にステップS503において、親カメラ1は、検索応答パケット703を受信しているか確認する。検索応答パケット703とは、ステップS502で親カメラが送信した検索パケットに応答して子カメラが送信するパケットである。本実施形態における検索応答パケットの一例を図8(b)に示す。検索応答パケット703は、「パケット種類」、「有効期間」、「検索タイプ応答」、「機器情報のURL」、「送信元情報」、「検索ターゲット」、「機器タイプ」といった情報を含む。ここで、「有効期間」とは応答する機器がネットワーク上で応答した機器タイプとしてどれだけの期間存在するか、すなわち役割の生存期間である。「検索タイプ応答」とは応答すべき検索タイプである。一定時間、検索応答パケット703を受信しない場合、親カメラ1は処理をステップS501へ戻し、動作を繰り返す。検索応答パケット703または告知パケット701を受信した場合は、処理をステップS504に進める。
ステップS504において、親カメラ1は、ステップS501またはステップS503で受信したパケットの「機器タイプ」フィールドを参照し、パケット送信元機器の情報を確認する。
ステップS505において、親カメラ1は、ステップS504で確認したパケット送信元の機器が、目的とする動作に必要な機器かどうか判断する。すなわち、パケット送信元の機器がスライドショー動作を行う際に必要となる、映像や音声を扱うサーバー機器や表示機器であるかどうかを判断する。送信元の機器が、親カメラ1が行う動作に必要な機器である場合、親カメラ1は、検索応答パケット703または告知パケット701に含まれる機器情報のURLを記憶し、処理をステップS506へ進める。送信元の機器が、親カメラ1が行う動作に必要なものでない場合、処理をステップS501へ戻し、必要な機器を発見するまで検索動作を繰り返す。例えばオーディオプレーヤーのように映像に付属しない音声データを再生する装置は画像表示を目的とするスライドショー動作にとって不要であるため、処理を進めない。本実施例では、スライドショー動作を行うのに必要でないタイプの機器に対して、親カメラ1は制御を行わない。
ステップS506において、親カメラ1は、ステップS505で機器情報を確認した機器に対して機器情報要求パケット704を送信する。機器情報要求パケットとは、親カメラから子カメラに対して送信されるものであって、機器や機器が提供できるサービスについての詳細情報を要求するためのパケットである。ここでいうサービスとは、「ファイルリスト転送」、「ファイル伝送」、「静止画像再生」、「動画像再生」、「音楽再生」、「静止画印刷」等である。本実施形態における機器情報要求パケットの一例を図9(a)に示す。機器情報要求パケット704は「パケット種類」、「宛先」といった情報を含む。機器情報の要求はステップS505で記憶した機器情報のURLに基づいて行う。図3において子カメラとなるカメラ101、102、103はこの要求に対して必要な機器情報を送り返す。
次にステップS507において、親カメラ1は、機器情報パケット705を受信しているか確認する。機器情報パケットとは、親カメラが送信した機器情報要求パケット704に応答して子カメラが送信するパケットである。本実施形態における機器情報パケットの一例を図9(b)に示す。機器情報パケット705は「パケット種類」、「データ言語」、「データ長」、「データタイプ」、「機器情報」、からなる。ここで、「データ言語」とは機器同士が情報の通信を行う上で自機器が用いる言語の種類である。「データ長」とは「機器情報」の持つデータサイズである。「データタイプ」とは「機器情報」の示すデータ型である。「機器情報」とは機器名や型番の他、提供できるサービスを含む機器の情報を示す。親カメラは、一定時間機器情報パケット705を受信しない場合、処理をステップS506へ戻し、機器情報要求パケット704を送信する。機器情報パケット705を受信した場合は、処理をステップS508に進める。
ステップS508において、親カメラ1は、機器情報パケット705に記述されている機器情報を参照し、送信元機器についての詳細情報や、送信元の機器が提供できるサービスについての詳細を確認する。本実施形態では、子カメラから機器情報パケット705を受信した場合、「機器情報」フィールドには、子カメラの機器名や、子カメラが提供するサービス一覧情報が記述してある。サービスの例としては、「ファイルリスト転送」、「ファイル伝送」、「静止画像再生」、「動画像再生」、「音楽再生」、「静止画印刷」等がある。
ステップS509において、親カメラ1は、ステップS508で確認したサービスが必要とするサービスか否か判断する。必要とするサービスでなかった場合、例えば「音楽再生」や「静止画印刷」のような機能のみしかサービスとして提供しない場合は動作を終了する。必要とするサービスであった場合、親カメラ1は機器情報パケット705の機器名などの情報を保存する。ステップS510において親カメラ1は、サービス要求パケットを送信する。サービス要求パケットとは、親カメラが子カメラに対し、所望のサービスを要求するために送信するパケットである。本実施形態におけるサービス要求パケットの一例を図10(a)に示す。サービス要求パケット706は「パケット種類」、「宛先」、「データ長」、「データタイプ」、「サービスタイプ」、「サービス要求」といった情報を含む。ここで、「サービスタイプ」とはサービス内容に基づくデータフォーマット等の情報である。「サービス要求」とは実際に要求するサービスの内容であり「ファイルリスト転送」、「ファイル伝送」、「再生」等である。またサービスの対象となるファイル名、ID等の詳細情報も含まれる。例えば、本システムにおいてスライドショーを実施するには、親カメラ1が複数の子カメラが保持する画像の属性情報を取得する必要がある。この場合、サービス要求パケット706に、「保持している画像の画像サイズや画像IDやタイトル、日付などの一覧を送信する」といったサービスを記述する。このサービス要求パケット706の記述によって、色々なサービスを要求することが可能となる。例えば、「子カメラが保持している画像のうち、所定の期間内に撮影された画像の画像サイズや画像IDやタイトル、日付などの一覧を送信する」、といったサービスも「サービス要求」フィールドに書き込むことにより、要求することができる。このことにより、親カメラが子カメラに対し、特定の検索条件に合致した画像の属性情報を送信させるよう制御することが可能となる。なお、これらサービスの内容については上記実施形態の内容に限定されるものではない。例えば親カメラは、子カメラに対して画像そのものを送信させることも可能である。
ステップS511において、親カメラ1は、サービス応答パケットを受信しているか判定する。サービス応答パケットとは、ステップS510で親カメラが送信したサービス要求パケット706に応答して子カメラから送信されるパケットである。本実施形態におけるサービス応答パケットの一例を図10(b)に示す。サービス応答パケット707は「パケット種類」、「データ長」、「データタイプ」、「検索タイプ応答」、「送信元情報」、「サービス応答」といった情報を含む。ここで、「サービス応答」とは応答すべきサービスの実データ、すなわち要求されたデータそのものである。一定時間サービス応答パケット707を受信しない場合は、親カメラ1は処理をステップS510に戻し、再度サービス要求パケット706を送信する。サービス応答パケット707を受信した場合、処理をステップS512に進める。なお、サービス応答パケット707に要求されたデータが必ずしも含まれている必要はなく、実データを一意に特定できる情報や、変換したデータを記述してもよい。
ステップS512において、親カメラ1は、受信したサービスの実行結果をデジタルカメラ1のメモリ20に保存し、動作を終了する。
以上述べたように、親カメラ1はステップS506で要求したサービスを子カメラが実行した結果として、子カメラからサービス応答パケット707を受信する。このサービス応答パケット707には、サービスの実行結果、すなわち子カメラが保持する画像の画像サイズや画像IDやタイトル、撮影日時などの属性情報が含まれている。画像IDは画像を特定できる情報であればよく、例えば画像のファイル名や、画像に付加されたUUID(Universally Unique IDentifier)などを用いることができる。本実施形態では、ファイル名を用いる。親カメラ1は、これらの情報をリスト形式にしてスライドショーリストとしてデジタルカメラ1のメモリ20に保存する。もちろん、予め子カメラ側でリスト形式にしてから親カメラ1に送信しても構わない。
図11は、ステップS511において、親カメラ1が子カメラの所有する画像の属性情報を取得した場合に親カメラ1の表示部13に表示される画面である。親カメラ1は、画像のリストを取得し終えると、ステップS509で「機器情報」フィールドから抽出し保存した機器名を表示する。図11では、親カメラ1がデジタルカメラ101の画像リストを取得し終えたことをアイコン902で示す。ここでユーザ操作により開始アイコン903が選択されると、これまでに取得した画像の属性情報に従ってスライドショーが開始される。戻るアイコン904が選択されると、親カメラ1としての動作は中断される。
図5では、親カメラ1の動作について述べた。次に、ネットワーク上で制御される側の役割を持つ機器の動作、すなわち子カメラ101〜103及びテレビ201の動作について説明する。
図6に、本動作のフローチャートを示す。本実施形態では、子カメラ101のシステム制御回路9またはテレビ201のシステムコントローラ207が各部を制御することにより、以下の動作が実現される。以下、特に断らない限り、子カメラ101を例として説明する。
まずステップS600において、子カメラ101は、ユーザ操作により、ネットワーク上で制御される側の役割を持つ機器として動作するよう指示があったか否かを判定する。すなわち、図4に示す画面で「マルチスライドショーに参加する」がユーザ操作により選択されたか否かを判定する。指示があった場合には、処理をステップS601に進める。指示がなかった場合には処理をステップS602に進める。
ステップS601において、子カメラ101は、自機器のタイプについての情報を含む告知パケットを生成し、現在接続しているネットワークに対してマルチキャストで送信する。例えば、子カメラは自機器が映像や音声を扱うサーバー機器であるということを告知パケット701の「機器タイプ」フィールドに記述する。また、テレビ201の場合には自機器が映像や音声を表示可能な表示機器であることを告知パケット701の「機器タイプ」フィールドに記述し、ネットワーク上の機器に対して告知パケット701を送信する。
ステップS602において、子カメラ101は、親カメラから送信された検索パケット702を受信しているか否か判定する。これは、子カメラが告知パケット701を送信後に親カメラ1からの検索パケット702を受信する場合があるからである。検索パケット702を受信した場合は処理をステップS603に進める。検索パケット702を受信しない場合は、処理をステップS606へ進める。
ステップS603において、子カメラ101は、検索パケット702の「検索ターゲットフィールド」の内容を参照し、親カメラから指定された検索条件を確認する。
ステップS604において、子カメラ101は、自機器がその検索条件に合致するかどうか判定する。検索条件に合致した場合は処理をステップS605に進める。検索条件に合致しなかった場合は、応答を行わずに処理をステップS606に進める。
ステップS605において、子カメラ101は、自機器の種類についての情報を含んだ検索応答パケット703を、パケット送信元に対して送信する。例えば、ステップS604において、検索パケット702が映像や音声を扱うサーバー機器を検索対象としていることが確認された場合、子カメラ101は自機器が映像や音声を扱うサーバー機器であるのでこのパケットに応答する。具体的には、検索応答パケット703の「機器タイプフィールド」に自機器の種類を記述して親カメラ1に対して送信する。テレビ201の場合であれば、ステップS604で映像や音声を再生可能な表示機器を検索対象としていることが確認された場合に、テレビ201は検索応答パケット703を送信する。
ステップS606において、子カメラ101は、機器情報要求パケット704を受信しているか確認する。一定時間、機器情報要求パケット704が受信されない場合は処理をステップS601に戻す。機器情報要求パケット704を受信すると、処理をステップS607に進める。
ステップS607において、子カメラ101は、自機器や自機器が提供できるサービスについての詳細情報を機器情報パケット705に記述し、機器情報要求パケット704の送信元へ返信する。
ステップS608において、子カメラ101はサービス要求パケット706を受信しているか確認する。受信した場合には処理をステップS609に進める。受信されない場合はそのまま継続してサービス要求パケット706の受信を待つ。
ステップS609において、子カメラ101は、サービス要求パケット706で要求されたサービスを自機器で実行する。そしてステップS610において、子カメラ101はその結果をサービス応答パケット707としてパケット送信元に送信する。
例えば、サービス要求パケット706の「サービス要求」フィールドには子カメラが保持している画像についての情報を要求する記述がされている。子カメラはこの記述を参照し、要求に応じた処理を実行する。すなわち、子カメラは自機器が記憶している画像の画像サイズ、画像ID、タイトル、撮影日時などの属性情報の一覧をサービス応答パケット707の「サービス応答」フィールドに記述し、親カメラ1へ送信する。また、サービス要求パケット706の「サービス要求フィールド」に、撮影日時の指定などの検索条件が指定されている場合がある。この場合には、子カメラ101が記憶している画像のうち、条件に当てはまる画像を検索する。そして条件に一致した画像の属性情報の一覧をサービス応答パケット707の「サービス応答」フィールドに記述し、親カメラ1へ送信する。なお、属性情報は前述したものに限定されず、例えばExif(Exchangeable Image File Format)形式に準拠した画像ファイルに含まれる属性情報なども含まれる。
以上述べたように、本システムでは、親カメラ1が子カメラに対して画像に関する情報を要求することが可能である。子カメラがサービスを実行することで、親カメラ1はネットワーク上に存在する複数台の子カメラが持つ画像について、画像サイズや画像IDやタイトル、撮影日などの属性情報を取得することができる。親カメラ1は、各属性情報と子カメラのIDとを対応付けて、ネットワーク上のスライドショーリストを作成する。また、親カメラ1は、自機器のメモリカード30に自機器で撮影した画像を記憶している場合がある。記憶している画像が存在する場合には、親カメラ1は、作成したスライドショーリストに、自機器の記憶している画像の属性情報を追加して画像一覧リストを更新することも可能である。
親カメラ1は、作成したスライドショーリストの順番を設定することが可能であり、任意の順番で並び替えることが可能である。例えば親カメラ1は、撮影の日付・時刻をキーとして時系列順に画像を並び替えることで、図12のようなスライドショーリストを作成することができる。ここでは、親カメラ1となったデジタルカメラ1がネットワーク上の子カメラ101、102、103が保持している画像に関する情報を収集した場合のスライドショーリストを示している。このスライドショーリストは、撮影の日付・時刻をキーとして時系列順に並び替えられている。このスライドショーリストの特徴の1つは、どのカメラに記憶されている画像かによらず、ネットワーク上の複数の機器が保有する画像がまとめて時系列順に並べられていることである。このことにより、複数のカメラに記憶された画像をまとめて時系列順にスライドショーすることが可能となる。
また、本実施例では画像を時系列に並べ替えることでリストを生成しているが、時系列順以外にも、属性情報で並び替えることも可能である。例えば、親カメラ1がサービス要求パケット706で位置情報や、特定の撮影モードで撮影した画像のみ(例えば人物撮影モードで撮影した画像のみなど)を子カメラに要求することで、要求に応じたスライドショーリストを作成することができる。
図13は、親カメラ1が図3に示すネットワーク上に存在する子カメラ101、102、103について画像の属性情報を取得した場合に、親カメラ1の表示部13に表示される画面である。子カメラの情報がアイコン1002、1003、1004で示される。ここで、ユーザ操作により開始アイコン1005が選択されると、親カメラ1は、作成したスライドショーリスト801に基づいて、ネットワーク上でのスライドショーを開始する。スライドショーの動作については後述する。
いて説明する。
<スライドショー>
図14は、本実施形態における処理シーケンスを示した図である。以下、このシーケンス図を用いて説明する。
カメラ1は本実施形態における親カメラであり、先に生成したスライドショーリスト801に基づいて子カメラ101〜103の有する画像を表示する制御を行っている。図15はスライドショー実行中のある時点でのスライドショーリスト1500を示した図である。この時点では子カメラ104はスライドショーに参加していないものとする。
まず親カメラ1は、スライドショーリスト1500の順序A(1501)を読み込み、カメラIDと画像IDを取得する。図15の例ではカメラIDが「カメラ102」画像IDが「025.jpg」である。したがって、ステップS1401において、親カメラ1は子カメラ102に対して表示要求パケットを送信する。この表示要求パケットには、画像ID「025.jpg」の画像をテレビ201に送信し表示させるための指示が含まれている。
ステップS1402において、子カメラ102は表示要求パケットを受信する。そして子カメラ102は、メモリカード30から表示要求パケットに含まれる画像IDに対応する画像を読み出し、その画像をテレビ201に送信する。テレビ201は子カメラ102から送信された画像を受信する。
ステップS1403において、テレビ201は受信した画像を表示部203に表示する。
画像1枚当たりの表示時間として予め定められたスライドショー間隔時間が経過すると、親カメラ1はスライドショーリスト1500の順序A+1(1502)を読み込む。順序A(1501)のときと同様に、親カメラ1は子カメラ101に表示要求パケットを送信する(ステップS1404)。
ステップS1405において、子カメラ101は表示要求パケットで指定された画像をテレビ201へ送信する。
ステップS1406において、テレビ201は画像を表示部203に表示する。
この動作がスライドショーリスト1500に示す各画像に対して繰り返され、テレビ201に画像が順次表示されるよう制御されることで、スライドショーが実現される。
なお、本実施形態では親カメラ1が子カメラに対し表示要求パケットを送信し、それに応答して子カメラがテレビ201へ画像を送信する構成とした。この他にも、親カメラ1が次にスライドショーすべき画像ID及びカメラIDをテレビ201に送信してもよい。この場合には、親カメラ1から受信した画像ID及びカメラIDに基づき、テレビ201が子カメラに対して表示画像を要求するパケットを送信する。そしてそのパケットに応答し、子カメラはテレビ201に画像を送信することになる。
ここまで、スライドショーの基本的な動作について述べた。次に、親カメラ1のスライドショー処理の制御中に、新たな子カメラがネットワークに参加した場合について説明する。この場合には、親カメラ1はスライドショーリストを再生成することにより、スライドショーの順序を再度設定する処理を行う。
本実施形態では、図15に示すスライドショーリスト1500の順序A+1(1502)まで実行したときに、ネットワークに新たな画像処理装置である子カメラ104が参加した場合を考える(ステップS1407)。なお、このときの子カメラ104の検知処理および画像情報の収集処理(ステップS1408〜ステップS1412)については、図5、図6と同様の処理を行う。子カメラ104の検知処理は、スライドショー実行中に子カメラ104から送信された告知パケットを受信することで行われる。
子カメラ104のメモリカード30に記憶された画像を示す画像リストを図16に示す。
親カメラ1は子カメラ104の画像リスト1600を取得すると、ステップS1413においてテレビ201に待機指示パケットを送信する。
ステップS1414において、テレビ201は待機指示パケットを受信すると、図18に示す待機画面を表示させる。
図18中、表示画面1801は待機指示パケットを受信する直前に表示していた画像である。本実施形態では、順序A+1(1502)の画像、つまり子カメラ101の画像(008.jpg)である。また、待機指示メッセージ1802が表示画面1801上に表示される。この表示により、ユーザは現在親カメラ1においてスライドショーリストを再生成していることを認識することができる。
ステップS1415において、親カメラ1は表示情報取得処理を行う。親カメラ1はスライドショーリスト1500を参照し、現在表示中の画像、つまりスライドショー中断時に表示していた画像の撮影日時を取得する。本実施形態では、表示中の画像はスライドショーリスト1500の順序A+1(1502)に対応する。したがって、親カメラ1はその撮影日時である「06/05/24 09:35」を不揮発性メモリ22に記憶する。
ステップS1416において、親カメラ1は、実行中のスライドショーリスト1500と、子カメラ104の画像リスト1600と、ステップS1415において取得した表示中の画像の撮影日時を用いて、スライドショーリストを再生成する。
以下、スライドショーリストの再生成の方法について具体的に述べる。本実施形態では、スライドショーリスト1500と子カメラ104の画像リスト1600に示す画像のうち、ステップS1415において取得した表示中画像の撮影日時以降に撮影された画像を新たなスライドショーの対象とする。つまり、子カメラ104の画像リスト1600のうち、「06/05/24 09:35」以降に撮影された順序B+2(1603)以降の画像が対象となる。逆に、「06/05/24 09:35」よりも前に撮影された画像(1601、1602)はスライドショーの対象とはならない。
図17に再生成したスライドショーリスト1700を示す。スライドショーリスト1700に含まれる画像は、スライドショーリスト1500及び画像リスト1600に含まれる画像のうち、「06/05/24 09:35」以降に撮影された画像である。親カメラ1はこれらの画像を撮影日時順に並べ替え、スライドショーリスト1700として不揮発性メモリ22に記憶する。なお、スライドショーリスト1500に示す画像のうち、「06/05/24 09:35」以降に撮影された画像とは、中断前のスライドショーでは表示されていなかった画像であることを意味する。
このようにスライドショーリストを再生成することにより、今まで時系列で再生してきたスライドショーの流れを損なうことなくスライドショーを続行することが可能となる。
本実施形態では、ステップS1415において表示中の画像の撮影日時「06/05/24 09:35」を取得し、その撮影日時を閾値として再生成したスライドショーの対象となるか否かを判断した。しかしながら、画像リスト1600に含まれる画像のうち、表示中の画像の撮影日時よりも少しだけ撮影日時が前の画像ならば、表示中の画像との関連性が高いことが考えられる。そこで、この閾値にある程度の幅を持たせることもできる。
例えば、閾値の幅を予め1時間と設定した場合を考える。閾値の設定はユーザ操作により行ってもよいし、親カメラ1の不揮発性メモリ22に予め記憶されていてもよい。
この場合には、画像リスト1600に含まれる画像のうち、ステップS1415で取得した撮影日時の1時間前(06/05/24 08:35)に撮影された画像も再生成するスライドショーの対象となる。これにより、スライドショーを中断した際に表示されていた画像の少し前に撮影した画像も閲覧することができる。
なお、本実施形態ではスライドショーリストを撮影日時順に並び替え、ステップS1415において取得する属性情報として撮影日時を用いたが、時刻情報以外に撮影位置情報や撮影モードを用いることも可能である。撮影モードとは、撮影のシチュエーションに応じて最適な撮影パラメータを設定するためのモードである。例えば、人物を撮影するために最適なパラメータを自動的に選択する「人物モード」や、風景を撮影するための「風景モード」などがある。
例えば属性情報として撮影位置情報を用いた場合は、実行中のスライドショーリスト1500は親カメラ1が指定したある地点からの距離が近い順に並べられているものとする。
この場合、ステップS1415において親カメラ1は表示中の画像の撮影位置情報を取得する。
そしてステップS1416において、親カメラ1は撮影位置情報を用いてスライドショーの対象となる画像を選択する。そして選択した画像を再度撮影位置情報を用いて並べ替えることでスライドショーリストが再生成される。
また、属性情報として撮影モード情報を用いた場合、実行中のスライドショーリスト1500は「人物モード」「風景モード」「夜景モード」などの撮影モードの順に並べられているものとする。
この場合、ステップS1415において、親カメラ1は現在表示中の画像の撮影モード情報を取得する。
そしてステップS1416において、親カメラ1は撮影モード情報を用いてスライドショーの対象となる画像を選択し、それらを再度撮影モード情報を用いて並べ替えることでスライドショーリストが再生成される。
以下、スライドショーリストが再生成された後の処理について説明する。ステップS1416においてスライドショーリストの再生成が終了し、新たなスライドショーリスト1700が完成すると、親カメラ1はスライドショーの表示制御を再開する。
親カメラ1はスライドショーリスト1700の1番目(1701)を読み込み、カメラIDと画像IDを取得する。リスト1701のカメラIDは「カメラ103」、画像IDが「015.jpg」である。したがってステップS1417において、親カメラ1は子カメラ103に対して画像ID「015.jpg」を含む表示要求パケットを送信する。
子カメラ103は画像表示要求パケットを受信すると、ステップS1418において、メモリカード30から指定の画像を読み出し、テレビ201に送信する。
テレビ201は子カメラ103から画像を受信すると、ステップS1419において受信した画像を表示部203に表示する。
スライドショー間隔時間が経過すると、親カメラ1はスライドショーリスト1700のうち、次の順番(1702)を読み込む。
ステップS1420において、親カメラ1は子カメラ104に表示要求パケットを送信する。
ステップS1421において、子カメラ104は表示要求パケットにて指定された画像をテレビ201へ送信する。
ステップS1422において、テレビ201は画像を表示部203に表示する。
なお、本実施形態ではスライドショー実行中に途中参加する子カメラは1台であったが、途中参加する子カメラが複数台あっても構わない。その場合、親カメラ1は途中参加する子カメラの画像リストを複数取得することになる。親カメラ1は、複数の子カメラから取得した画像リストと、実行中のスライドショーリスト、そして表示中の画像の属性情報を用いて同様にスライドショーリストの再生成を行う。
また、本実施形態ではスライドショー実行中に新たな画像処理装置がスライドショーに途中参加することを無条件で許可するようにした。本実施形態は新たな機器が参加してもスムーズにスライドショーを続行することが可能ではあるが、スライドショーの再生成中にある程度の時間がかかる。そこで、例えば図18の待機画面表示中に親カメラ1もしくは子カメラ101〜103の操作部25で所定の操作が行われることにより、親カメラ1は新たな子カメラの参加を拒否し、中断中のスライドショーを続行することも可能である。
さらに、スライドショーリストを再生成して実行したスライドショーが最後まで終了した場合に、スライドショーを最初からやり直すことも可能である。スライドショーの終了後、親カメラ1はスライドショーを最初からやり直すか否かをユーザに選択させるメニューを表示させるようテレビ201を制御する。そしてユーザ操作によりスライドショーを最初からやり直す旨の指示を受けた場合には、親カメラ1はスライドショーを最初から実行する。
この場合、親カメラ1は、ステップS1416においてスライドショーリストの対象にならなかった画像を含めたスライドショーリストを再生成する。例えば図16の画像リスト1601及び1602も含めた新たなスライドショーリストを生成する。
この処理により、途中からネットワークに参加した子カメラ104のユーザは、見逃した画像を閲覧することができる。また、最初からスライドショーに参加していたユーザも、最初のスライドショーでは再生されなかった子カメラ104の画像を閲覧することができる。
また、スライドショーの動作設定が、繰り返しスライドショーを行うリピート再生モードに設定されていた場合は、ステップS1416において親カメラ1は子カメラ104を含むすべての機器の有する画像を含んだスライドショーリストを再生成してもよい。
この場合には、親カメラ1はすべての画像を含む新たなスライドショーリストを参照し、ステップS1415で取得した属性情報に関する画像からスライドショーを再開する。スライドショーの再生が最後まで終了したら、スライドショーリストの先頭からスライドショーを開始する。このような処理により、スムーズにリピート再生を行うことが可能である。
さらに、リピート再生を行う場合、一回目のスライドショーで表示した画像と未だ表示していない画像が識別できるように表示を制御してもよい。親カメラ1は、ステップS1609で取得した表示中の画像よりも撮影日時が前の画像であり、かつカメラIDが新たにネットワークに参加した子カメラのものであるものを他の画像と識別して表示するよう制御する。識別させる表示としては、例えば、アイコンなどを表示させることが考えられる。アイコンは子カメラが送信する画像に付加してもよいし、テレビ201が受信した画像に付加してもよい。
以上のように本実施形態では、スライドショーの実行中に新たな機器が参加した場合であっても、新たな機器の画像リストと実行中のスライドショーリストとをマージさせる処理を行う。この処理により、ネットワーク上の機器の構成に変化が生じた場合であっても、ユーザに違和感を感じさせることなく、スムーズにスライドショーを続行することができる。
<第2の実施形態>
次に、第2の実施形態を説明する。
第1の実施形態では、スライドショーの実行中に新たな機器がネットワークに参加した場合について述べた。本実施形態では、スライドショーの実行中に、機器がネットワークから離脱、すなわちネットワークとの切断処理行った場合の動作について説明する。
なお、本実施形態は第1の実施形態と共通する部分が多い。したがって、第1の実施形態と共通する部分については説明を省略し、本実施形態に特有の部分について主に説明する。
図19は本実施形態における処理シーケンスを示した図である。また図20は、スライドショー実行中のある時点でのスライドショーリスト2000を示した図である。
図19のステップS1901〜ステップS1906の処理は、図14のステップS1401〜ステップS1406と同様の処理であるため、ここでは説明しない。
以下、ステップS1907からの処理について説明する。本実施形態では一例として、スライドショーリスト2000のうち順序A+1(2002)まで実行した時点でネットワークから子カメラ103が離脱した場合を考える。
ステップS1907において、子カメラ103はネットワークから離脱する旨を周辺の機器に通知する。具体的には、告知パケット701の通知サブタイプフィールドにネットワークから離脱するための情報を記述した告知パケットをマルチキャストで送信する。
ステップS1908において、親カメラ1は子カメラ103からの告知パケットを受信し、受信した告知パケットの機器タイプフィールドから機器IDを取得する。親カメラ1は取得したカメラIDを参照し、カメラ103がネットワークから離脱したことを検知する。
ステップS1909において、親カメラ1はスライドショーリスト2000から現在表示中の画像の撮影日時を取得する。これは図14のステップS1415と同様の処理である。現在表示中の画像はスライドショーリスト2000の順序A+1(2002)であるから、その撮影日時である「06/05/24 09:35」を不揮発性メモリ22に記憶する。
ステップS1910において、親カメラ1は、スライドショーリストの再生成を行う。すなわち、実行中のスライドショーリスト2000と、ステップS1908でネットワークからの離脱を検知した子カメラ103のカメラIDと、ステップS1909において取得した表示中の画像の撮影日時を用いて、スライドショーリストを再生成する。
以下、本実施形態におけるスライドショーリストの再生成処理について具体的に述べる。親カメラ1は、実行中のスライドショーリスト2000のうち、、離脱した子カメラ103のカメラIDを有する画像を除いたものを新たなスライドショーの対象とする。図21に、再生成したスライドショーリスト2100を示す。
上記のようなスライドショーの再生成処理を行うことにより、子カメラ103がネットワークから離脱した後は子カメラ103の有する画像をスライドショーの対象から削除することが可能となる。
ステップS1910におけるスライドショーリストの再生成が終了し新規スライドショーリスト2100が完成すると、親カメラ1はスライドショーの表示制御を再開する。
親カメラ1はスライドショーリスト2100において、「06/05/24 09:35」より後に撮影された画像のうち最も順番の早い画像を読み込み、カメラIDと画像IDを取得する。本実施形態では順番B+2(2103)を読み込むことになる。リスト2103のカメラIDは「カメラ102」、画像IDが「026.jpg」である。したがってステップS1911において、親カメラ1は子カメラ102に対し、画像ID「026.jpg」の画像を表示するよう表示要求パケットを送信する。
子カメラ102は表示要求パケットを受信すると、ステップS1912において、表示要求パケットで指定された画像をメモリカード30から読み出し、テレビ201に送信する。
テレビ201は子カメラ102から送信された画像を受信し、ステップS1913において、受信した画像を表示部203に表示する。
スライドショー間隔時間が経過すると、親カメラ1はスライドショーリスト2100の次の順番(2104)を読み込む。リスト2104のカメラIDは「カメラ101」、画像IDが「009.jpg」である。したがってステップS1914において、親カメラ1は子カメラ101に表示要求パケットを送信する。ステップS1915において、子カメラ101は表示要求パケットで指定された画像をテレビ201へ送信する。
ステップS1916において、テレビ201は子カメラ101から受信した画像を表示部203に表示する。
なお、本実施形態ではスライドショー実行中にネットワークから離脱する子カメラは1台としたが、離脱する子カメラが複数台あっても構わない。その時は子カメラが離脱するたびに親カメラは離脱した端末を検知し、スライドショーリストの再生成を行う。
本実施形態は実施形態1と同様に、スライドショーが最後まで終了したら、親カメラ1はスライドショーを最初からやり直すか否かをユーザに選択させるためのメニュー画面をテレビ201に表示させることも可能である。
また本実施形態では、スライドショーリスト2000から子カメラ103のカメラIDを有する画像をすべて除外することでスライドショーリストの再生成を行った。しかし、スライドショーリスト再生成の方法は上記の方法に限定されない。例えば、親カメラ1は、スライドショーリスト2000から表示中画像の撮影日時である「06/05/24 09:35」以降に撮影された画像を選び出し、選び出した画像の中から離脱した子カメラ103のカメラIDを有する画像を削除するようにしてもよい。
上記の方法でスライドショーリストの再生成を行うと、例え子カメラ103のカメラIDを有するものであっても、「06/05/24 09:35」より前に撮影された画像は新たなスライドショーから削除されない。したがって、スライドショー実行後に再度スライドショーをやり直す場合、親カメラ1は子カメラ103のカメラIDを有する画像をすべて削除したスライドショーリストを改めて生成する。
また、スライドショーの動作設定がリピート再生モードに設定されているか否かで、スライドショーリストを再生成する方法を切り替えてもよい。例えば、リピート再生モードに設定されている場合、親カメラ1はステップS1910において子カメラ103のカメラIDを有する画像をスライドショーリストからすべて削除する。また、リピート再生モードに設定されていない場合、親カメラ1は「06/05/24 09:35」以後に撮影された画像を新たなスライドショーの対象とする。
以上のように本実施形態では、スライドショーの実行中に機器がネットワークから離脱した場合であっても、実行中のスライドショーリストから離脱した機器の有する画像を除外することにより、スライドショーリストを再生成するようにした。このことにより、ユーザに違和感を感じさせることなく、スムーズにスライドショーを続行することができる。
また、親カメラ1は、既にネットワークから離脱した画像を子カメラに対して要求することがなくなるため、エラーが起きたり、無駄な通信が発生することを防ぐことが可能になる。
<第3の実施形態>
次に、第3の実施形態を説明する。
なお、本実施形態は第1の実施形態と共通する部分が多い。したがって、第1の実施形態と共通する部分については説明を省略し、本実施形態に特有の部分について主に説明する。
図22に新たな機器がネットワークに参加した場合の処理シーケンスを示す。以下の説明では一例として、スライドショー実行中に新たな子カメラ104がネットワークに参加する場合について説明する。新たな子カメラ104がネットワークに参加するまでの処理は図14のステップS1401〜S1406と同様である。
図23はスライドショー実行中のある時点でのスライドショーリスト2300を示した図である。本実施形態では、スライドショーリスト2300の順序A+1(2304)まで実行した時点で子カメラ104がネットワークに参加したとする(ステップS2200)。子カメラの有する画像を示す画像リストを図24に示す。
図22のステップS2200〜ステップS2207は、途中参加した子カメラ104から画像リスト2400を収集し、スライドショー2500を再生成する処理である。この処理は第1の実施形態と同様であり、図14のステップS1407〜ステップS1412、ステップS1415〜ステップS1416に対応する。
以下、ステップS2207におけるスライドショーリストの再生成が終了した後の処理について説明する。図25に、再生成したスライドショーリスト2500を示す。
親カメラ1は、まず画像リスト2400のうち、「06/05/24 09:35」より前に撮影された画像(2401〜2405)をテレビ201に表示するよう制御する。この処理により、途中参加した子カメラ104の有する画像のうち、再生成したスライドショーリスト2500で再生の対象とならない画像をまとめて表示することが可能となる。
親カメラ1は上記の処理と並行して、実行中であったスライドショーリスト2300のうち、「06/05/24 09:35」より前に撮影された画像(2301〜2304)を新たに参加した子カメラ104の表示部13に表示するよう制御する。画像2301〜2304は既にスライドショーされているため、子カメラ104のユーザ以外は再度閲覧する必要がない。したがって親カメラ1は、画像2301〜2304を子カメラ104の表示部13にのみ表示するよう制御する。この処理により、途中参加したカメラ104のユーザは、既にスライドショーされ見逃してしまった画像を閲覧することができる。
上記画像の表示が完了すると、親カメラ1は、再生成したスライドショーリスト2500にしたがったスライドショーをテレビ201に表示するよう制御する。
上記処理の概要を、図26を用いて改めて説明する。図26は実行中のスライド ショーリスト2300と、新たにネットワークに参加した子カメラ104の画像リスト2400を撮影日時順に横に並べたものである。図中のA、A+1、A+2、B、B+1、B+2などは図23、図24のリスト中の順序を示している。
一例として、スライドショーリスト2300の順序A+1(2304)の画像を表示中に、子カメラ104が新たに参加したとする(2604)。この場合に親カメラ1は、点2604を基準として、点2604以降に撮影された画像群2603を対象としてスライドショーリストの再生成を行う。
親カメラ1は、新たに参加した子カメラの画像リスト2400のうち、点2604以前に撮影された画像群2602をテレビ201に表示するよう制御する。
また、テレビ201への表示制御と並行して、実行中のスライドショーリスト2300のうち、点2604以前に撮影された画像群2601を、子カメラ104の表示部13に表示するよう制御する。
画像群2602の表示終了後、親カメラ1は新たなスライドショーリストにしたがい、親カメラ1はテレビ201に画像群2603を表示させる制御を行う。
なお、親カメラ1は、画像群2601と画像群2602に対する表示制御とを独立して行い、それぞれの表示制御における画像の表示間隔は任意に設定することが可能である。また、親カメラ1は、画像群2601と画像群2602の表示制御が共に終了するのを確認したら、画像群2603の表示制御を開始することも可能である。また、待ち合わせを行わずに画像群2602の表示制御が終了した時点で画像群2603の表示制御を開始することも可能である。
上記のような表示制御を行うことで、新たな機器がネットワークに参加した場合であっても、各ユーザはすべての画像を漏れなく、重複なく閲覧することが可能となる。
以下、説明を図22に戻し、ステップS2208以降の処理について説明する。
ステップS2207においてスライドショーリストの再生成が終了すると、親カメラ1は画像群2602を表示する制御を開始する。
ステップS2208において、親カメラ1は子カメラ104の画像リスト2400の1番目(2401)を読み込み、カメラIDと画像IDを取得する。図24のスライドショーではカメラIDが「カメラ104」、画像IDが「001.jpg」である。したがって、親カメラ1は子カメラ104に対して画像ID「001.jpg」の画像をテレビ201の表示部203に表示するよう表示要求パケットを送信する。
子カメラ104は表示要求パケットを受信し、ステップS2209において、表示要求パケットで指定された画像をメモリカード30から読み出し、テレビ201に送信する。
テレビ201は子カメラ104から画像を受信し、ステップS2210において画像を表示部203に表示する。
また親カメラ1は、画像群2602の表示制御と並行して、画像群2601の表示制御を行う。ステップS2211において、親カメラ1は、実行中のスライドショーリスト2300の1番目(2301)を読み込み、カメラIDと画像IDを取得する。この場合は、カメラIDが「カメラ101」、画像IDが「001.jpg」である。したがって、親カメラ1は子カメラ101に対し、画像ID「001.jpg」の画像を子カメラ104に表示するように表示要求パケットを送信する。この場合の表示要求パケットには、表示先を子カメラ104とするよう制御するための情報が記述されている。
子カメラ101は表示要求パケットを受信すると、ステップS2212において、表示要求パケットで指定された画像をメモリカード30から読み出し、子カメラ104に送信する。
子カメラ104はステップS2212において画像を受信すると、ステップS2213において、受信した画像を表示部13に表示する。
以降の処理は図示しないが、親カメラ1は画像群2601、2602の表示制御を順次実行する。
ステップS2214〜ステップS2216画像群2602の最後の画像を表示する処理を行うと、親カメラ1は画像群2603の表示制御に移る。
画像群2603の表示に関しては第1の実施形態と同様であり、ステップS2217〜ステップS2222における処理は、図14のステップS1417〜ステップS1422と同様の処理である。
なお、前述したように、親カメラ1は画像群2601の表示制御と画像群2602の表示制御を独立して行うことが可能であり、必ずしも図22に示すタイミングで表示制御を行わなくともよい。
以上のように本実施形態では、既にスライドショーした画像を新たネットワークに参加した機器に表示し、その一方で新たにネットワークに参加した機器が有する画像のうち、新たなスライドショーの対象とならない画像をテレビ201に表示する構成とした。この構成により、すべてのユーザが効率よくすべての画像を閲覧することができる。
なお、実施形態1の表示制御を行うか、本実施形態の表示制御を行うかを切り替えることも可能である。切り替えはユーザ操作に基づき行う。
また、第1の実施形態または第3の実施形態で説明した新規機器の参加時の処理と、第2の実施形態で説明した機器の離脱時の処理の両者を実行可能としてもよい。
さらに親カメラ1は、画像群2601と画像群2602をスライドショーする場合には、画像群2603をスライドショーする場合よりもスライドショー間隔時間を短くしてもよい。
本発明の第1〜第3の実施形態において、画像処理装置をデジタルカメラとしているが、デジタルカメラ以外にも画像ビューワー、PDA、モバイルPCなど画像を保存・表示可能である機器であればよく、本発明は画像処理装置の種類に制限されるものではない。
さらに、第1〜第3の実施形態において、親カメラ1がネットワークを制御する役割を担ったが、テレビ201がこの役割を担ってもよい。この場合には、テレビは表示装置とネットワーク制御装置の両方の処理を並行して行う。
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。供給の形態はシステムあるいは装置記憶媒体に直接アクセスすることで供給されてもよいし、他の装置を介して供給されてもよい。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現させることになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。