以下、この発明の最良の実施形態を図面と共に詳述する。
<第1の実施形態>
本実施例では複数台のデジタルカメラとテレビ201とがホームネットワークを形成し、テレビ201に複数台のデジタルカメラの画像を表示すると共に、デジタルカメラ同士で保持する画像の交換を行う方法について説明する。
<デバイス構成>
図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はシステム制御回路9の動作用の定数、変数、プログラム等を記憶するメモリである。
18は電源制御手段で、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されている。電源制御手段18は電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御回路9の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。19はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる電源手段である。
21はシステム制御回路9でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメッセージ等を表示する液晶表示装置、スピーカー等の状態報知部である。状態報知部21はデジタルカメラ1の操作部近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLED、発音素子等の組み合わせにより構成されている。
22は電気的に消去・記録可能な不揮発性メモリである。ここに機器の無線設定情報を記憶することができる。
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へ与える。
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はスライドショーリストにより画像の表示順序を管理する。また、親カメラ1は、自機器のメモリカード30に自機器で撮影した画像を記憶している場合がある。記憶している画像が存在する場合には、親カメラ1は、作成したスライドショーリストに、自機器の記憶している画像の属性情報を追加して画像一覧リストを更新することも可能である。
スライドショーリストは任意の順番で並び替えることが可能である。例えば親カメラ1は、撮影の日付・時刻をキーとして時系列順に画像を並び替えることで、図12のようなスライドショーリストを作成することができる。ここでは、親カメラ1となったデジタルカメラ1がネットワーク上の子カメラ101、102、103が保持している画像に関する情報を収集した場合のスライドショーリストを示している。このスライドショーリストは、撮影の日付・時刻をキーとして時系列順に並び替えられている。このスライドショーリストの特徴の1つは、どのカメラに記憶されている画像かによらず、ネットワーク上の複数の機器が保有する画像がまとめて時系列順に並べられていることである。このことにより、複数のカメラに記憶された画像をまとめて時系列順にスライドショーすることが可能となる。
図13は、親カメラ1が図3に示すネットワーク上に存在する子カメラ101、102、103について画像の属性情報を取得した場合に、親カメラ1の表示部13に表示される画面である。子カメラの情報がアイコン1002、1003、1004で示される。ここで、ユーザ操作により開始アイコン1005が選択されると、親カメラ1は、作成したスライドショーリスト801に基づいて、ネットワーク上でのスライドショーを開始する。
<スライドショー>
図14に、親カメラ1が実行するスライドショー処理のフローを示す。本フローは、親カメラ1が、ユーザ操作によるスライドショー開始の指示を検知した場合に開始される。
スライドショーが開始されると、ステップS1401で、親カメラ1はネットワーク上の機器に対してスライドショーの開始を通知する。
ステップS1402で、親カメラ1は不揮発性メモリ22に記憶されたスライドショー番号Iを初期値に設定する。本実施形態では初期値は1とするが、それ以外の値をユーザの操作などで指示することにより、親カメラ1が予め記憶していてもよい。
ステップS1403で、親カメラ1はスライドショーリスト801のI番目の要素を読み出す。ここで読み出した要素に対応する画像が表示対象となる。したがって、ステップS1402から本ステップに進んできた場合には、1番目の画像を読み出す。なお、スライドショー番号Iが初期値以外の場合は、所定の時間待機してからステップS1404へ進む。この時間は親カメラ1が予め記憶している時間であり、スライドショーにおける画像1枚当たりの表示時間の目安となる。この時間はユーザ操作に基づき変更可能である。
ステップS1404で、親カメラ1はスライドショーリスト801を参照し、表示対象である画像のカメラIDを読み出す。そして、読み出したカメラIDが自機器のカメラIDと一致するか否か判断する。一致する場合は処理をステップS1417に進める。一致しない場合には処理をステップS1405に進める。
ステップS1404で一致しないと判断した場合について説明する。この場合には表示対象となる画像を他のカメラが記憶していることになる。したがって、ステップS1405で、親カメラ1はスライドショーリスト801のうちI番目の要素の画像IDを読み出す。そして、I番目の画像を記憶したカメラのカメラIDを有する子カメラに対し、画像IDに対応する画像を子カメラの表示部13に表示させるためのパケットを送信する。このパケットには読み出した画像IDが含まれる。
ステップS1404で一致すると判断した場合について説明する。この場合には表示対象となる画像を親カメラ1が記憶していることになる。したがって、ステップS1417で親カメラ1は、スライドショーリストのI番目の要素の画像に対応する画像を、自機のメモリカード30から読み出し、自機器の表示部13に表示する。
上記のステップS1405及びステップS1417の処理は、スライドショーの前に、表示対象の画像を画像の持ち主のカメラに表示するための処理である。この処理を行うことにより、各カメラのユーザは、自分のカメラに記憶された画像がスライドショーで表示されることを認識することができる。
引き続き、ステップS1417以後の処理について説明する。ステップS1417で画像を表示した後、親カメラ1はステップS1418で内蔵タイマを用いた時間の測定を開始する。
ステップS1419で、親カメラ1はユーザからの表示判定の指示を受け付けたか否かを判断する。受け付けた場合は処理をステップS1420に進める。受け付けていない場合には処理をステップS1421に進める。
ここで表示判定について説明する。ステップS1417で親カメラ1に画像が表示されることにより、親カメラ1のユーザは、自分のカメラに記憶された画像がスライドショーで表示されることを認識する。ここで親カメラ1のユーザは、現在自分のカメラ(親カメラ1)で表示されている画像がスライドショーでテレビ201に表示されてもよいか否かの表示判定を、操作部25を操作することにより行う。この操作により、ユーザはスライドショーされたくない画像を任意に選択することが可能となる。
図15はステップS1417の処理の結果、親カメラ1の表示部13に画像が表示された状態である。表示領域1501には、ユーザに操作方法を提示するガイドアイコン1504が画像と共に表示されている。ここで、ガイドアイコン1504は、決定ボタン1503を押下すると、現在表示されている画像のスライドショー表示を許可する指示となることをユーザに示す。また、十字キー1502の右方向を押下すると、現在表示されている画像を表示不可とする指示となることをユーザに対して示す。ユーザはこのガイドアイコン1504に従い操作部25を操作し、画像の表示、非表示を指示する。
ステップS1419以降の処理について説明する。ステップS1419において表示判定の指示を受け付けたと判断した場合、ステップS1420で親カメラ1は指示に従って表示判定フラグの値を決定する。表示判定フラグは、表示の可否を示す可否情報の一種であり、例えば表示可能である旨は1、表示不可である旨は0で示すなど、予め定められている。そして表示判定フラグの値を画像IDと対応付けて記憶する。
ステップS1419で表示判定の指示を受け付けていないと判断した場合には、ステップS1421へ進み、ステップS1418で測定を開始したタイマの値を参照し、タイムアウトの判定を行う。タイムアウトまでの時間は予め設定されているものとする。タイマがタイムアウトになっていなければ処理をステップS1419に戻し、処理を繰り返す。タイムアウトになっていたら、つまり、本実施形態では、図15に示す画面を表示してから一定時間が経過していると判断した場合には、ユーザの指示がなくても表示不可の指示がなされたものとみなし、処理をステップS1420に進める。
そしてステップS1420において親カメラ1は、表示判定フラグの値を表示不可として、画像IDと対応付けて記憶する。
ステップS1422で、親カメラ1は画像の表示を終了させ、処理をステップS1406に進める。
なお、親カメラ1は、基本的にすべての画像をスライドショーし、ステップS1421でタイムアウトと判定された場合は表示可と判定し、画像を表示してもよい。つまり、ユーザが何も操作しない場合には表示対象の画像が自動的に再生される。このような処理は、例えばユーザが見せたくない画像が少ない場合にはユーザの操作が少なくなるので有効である。
ここまでの処理が、スライドショー前に表示判定を受け付ける処理である。以下、ステップS1406以降の、実際にスライドショーを行う処理について説明する。
ステップS1406で、親カメラ1はスライドショーリスト801を参照し、表示対象の画像を記憶しているカメラのIDをテレビ201に送信する。ここでは画像IDは送信しない。
ステップS1407で、親カメラ1は内蔵タイマによる計測を開始し、表示判定フラグを受け付けるのを待つ。
ステップS1408で、親カメラ1は判定フラグを受け付けたか否かを判定する。判定フラグを受け付けるとは、ステップS1420で表示判定フラグを記憶するか、他の子カメラから表示判定フラグを受信(後述)することをいう。受け付けた場合は処理をステップS1409に進める。受け付けていない場合には処理をステップS1410に進め、タイムアウトの判定を行う。
ステップS1409で親カメラ1は、受け付けた表示判定フラグの値を参照し、表示可能を示すか表示不可を示すかを判断する。表示判定フラグの値が許可を示す場合は、処理をステップS1411に進める。表示判定フラグの値が表示不可を示している場合は、処理をステップS1412に進める。表示判定フラグの値が表示不可である場合には、I番目の画像を表示する処理は行われない。
ステップS1411で、親カメラ1はテレビ201に対し、テレビ201がカメラから画像を取得する際に必要な情報を送信する。ここで送信される情報には、現在のスライドショーリストのI番目の画像に関する画像ID、画像のタイトルやURL、画像の記憶先のカメラIDが含まれる。この情報を取得することにより、テレビ201はカメラから画像を取得し、表示部203に画像を表示することが可能となる。つまり、親カメラ1はテレビ201への画像の表示制御を行う。
なお、ステップS1410においてタイムアウトした、つまり表示判定フラグを一定時間受信しなかった場合には、親カメラ1はステップS1409、S1411の処理は実行せず、処理をステップS1112に進める。つまり、親カメラ1はテレビ201にI番目の画像を表示させる処理を行わない。もちろん、タイムアウトした場合にはI番目の画像を表示させるようにしてもよい。
ステップS1412で、親カメラ1はスライドショーリスト801を参照し、表示対象の画像に対応するカメラIDが親カメラ1、すなわち自機のカメラIDと一致するか否かを判断する。親カメラIDのカメラIDと一致する場合には、処理をステップS1414に進める。一致しない場合には処理をステップS1413に進める。
ステップS1414で、親カメラ1は表示対象の画像を画像IDに基づきメモリカード30から読み出す。そしてテレビ201に送信する。
ステップS1413で、親カメラ1は現在のスライドショーリストの番号Iとスライドショーリストの全画像数を比較する。そして、現在のスライドショーリストの番号Iが最後の画像のもの、すなわち全画像数と一致するか否かを判断する。一致した場合には処理をステップS1416に進める。
ステップS1416で、親カメラ1はネットワーク上の機器に対してスライドショー終了通知を送信し、動作を終了する。
ステップS1413で、スライドショーが最後まで終了していないと判断した場合は、親カメラ1は処理をステップS1415に進める。
ステップS1415で、親カメラ1はスライドショーリストの番号Iの数を一つ増加し、ステップ1403へ戻って同様の動作を繰り返す。
以上が、本実施形態のスライドショー処理における親カメラ1の処理である。次に、本実施形態のスライドショー処理における子カメラの処理について述べる。子カメラ101〜103は原則として同じ処理を行う。ここでは、子カメラ101の処理を例として説明する。
図16は、スライドショー実行中の子カメラ101の処理を示したフローチャートである。
本フローは、図14のステップS1401で親カメラ1から送信されたスライドショーの開始通知を、子カメラ101が受信した際に開始される。
まずステップS1601で、子カメラ101はデータの受信を待機し、データを受信した場合にはその受信データの種類を判断する。親カメラ1から受信する可能性のあるデータは、表示対象の画像を示す画像ID(ステップS1405)、スライドショー処理の終了通知(ステップS1416)、そしてテレビからの表示画像取得要求(後述)である。画像IDを受信した場合は処理をステップS1602に進める。
ステップS1603で、子カメラ101は自機のメモリカード30を検索し、受信した画像IDに対応する画像を自機の表示部13に表示する。このことにより子カメラ101のユーザは、自分のカメラに記憶された画像が、次にスライドショーで表示されることを前もって認識することができる。
ステップS1604で、子カメラ101は内蔵タイマでの測定を開始する。
ステップS1605で、子カメラはユーザからの表示判定の指示を受け付けたか否かを判定する。ユーザによる表示判定の方法は親カメラ1の場合(ステップS1419)と同様であり、子カメラ101は図15のような画面を表示部13に表示し、ユーザの指示を受け付ける。
ステップS1605で表示判定の指示を受け付けたと判断した場合に、子カメラ101はユーザの指示に従い、表示判定フラグの値として表示可能または表示不可を示す値を不揮発性メモリ22に記憶する。
そしてステップS1606で、子カメラ101は可否情報送信処理を行う。すなわち、表示判定フラグの値を親カメラ1に対して送信し、処理をステップS1608に進める。なお、本ステップで送信した値を親カメラ1が受信すると、親カメラ1はステップS1409以降の処理を行う。
ステップS1605で表示判定の指示を受け付けなかったと判断した場合は、子カメラ101は処理をステップS1607に進める。
ステップS1607において、子カメラ101はステップS1604で計測を開始したタイマがタイムアウトになっているか否かを判断する。タイムアウトになっていなければ処理を繰り返す。タイムアウトになっている、すなわちユーザから一定時間指示がないと判断した場合には、ユーザの指示がなくとも表示不可が指示されたものとして、表示判定フラグの値を記憶する。
そして子カメラ101は処理をステップS1606に進め、表示不可を示す値を親カメラ1に送信する。
ステップS1608で、子カメラ101は画像の表示を終了させ、ステップ1601へ戻る。
次に、ステップS1601において表示画像取得要求を受信した場合について説明する。この場合、子カメラ101は処理をステップS1609へ進め、テレビ201にスライドショーで表示させるための画像を送信する。まず、受信した表示画像取得要求に含まれる画像IDに対応する画像をメモリカード30から読み出す。そして子カメラ101は読み出した画像をテレビ201に送信し、ステップS1601に戻る。
また、ステップS1601で親カメラ1から終了通知を受信したと判断した場合には、子カメラ101は処理をステップS1603に進め、所定の終了処理を行い、処理を終了する。
以上が、本実施形態のスライドショー処理における子カメラの処理である。次に、本実施形態のスライドショー処理におけるテレビ201の処理について述べる。
図17は、スライドショー実行中のテレビ201の動作を示したフローチャートである。
本フローは、図14のステップS1401で親カメラ1から送信されたスライドショーの開始通知を、テレビ201が受信した際に開始される。
まず、ステップS1701で、テレビ201はデータの受信を待機する。データを受信すると、その受信データの種類を判断する。受信する可能性のあるデータは、図14のステップS1406で送信されるカメラID、ステップS1411で送信される画像情報、そしてステップS1416で送信される終了通知である。
なお、スライドショーが開始された後に、スライドショーの1枚目の画像を受信するまではある程度の時間を要する。そこで、1枚目の画像を受信するまでの期間、テレビ201は予め不揮発性メモリ208に記憶した画像をタイトル画像として表示してもよい。また、親カメラがステップS1401で送信する開始通知にタイトル画像を添付し、開始通知を受信したテレビ201がタイトル画像を表示させてもよい。
カメラIDを受信したと判断した場合には、テレビ201は処理をステップS1702に進める。
そしてステップS1702で、テレビ201は受信したカメラIDをテレビの表示部203に表示する。この表示により、テレビ201は、スライドショーを閲覧しているユーザに対し、次にスライドショーされる画像がどの子カメラのものであるかを通知することができる。テレビ201の表示部では画像の記憶先であるカメラIDを表示するが、前述したように、記憶先のカメラの表示部13には、表示対象の画像が表示されている(ステップS1602)。このように、親カメラ1がテレビ201にカメラIDを表示させることにより、スライドショーを見ていたユーザは自分のカメラを確認しなければならないことを知ることができる。
図18に、ステップS1702でカメラIDが表示された状態の画面を示す。表示領域1801には、既に画像が表示されている。アイコン1802はステップS1702で受信したカメラIDを示すアイコンである。テレビ201は、アイコン1802を既に表示中の画像に重畳して表示する。
次に、ステップS1701において、テレビ201が親カメラ1から画像情報を受信したと判断し、処理をステップS1703に進めた場合について説明する。
ステップS1703で、テレビ201は親カメラ1から受信したカメラID、画像ID、画像のURL情報に基づき、子カメラに対する表示画像取得要求を送信する。表示画像取得要求は画像ID、画像のURL情報を含み、テレビ201はカメラIDに基づき、要求を送信する子カメラを特定する。
表示画像取得要求を送信した後、子カメラ101はステップS1705で内蔵タイマによる測定を開始する。
ステップS1706で、テレビ201は、子カメラ101から送信された(ステップS1609)画像を受信したか否かを判断する。受信したと判断した場合には処理をステップS1707に進める。
ステップS1707において、テレビ201は受信した画像を表示部203に表示し、処理をステップS1701に戻す。
ステップS1706において、画像を受信していないと判断した場合には処理をステップS1708に進める。
ステップS1708において、テレビ201はステップS1705で測定を開始した内蔵タイマを参照し、タイムアウトしているか否かを判断する。タイムアウトしていなければ処理を繰り返し、タイムアウトしていれば処理をステップS1709に進める。すなわち、一定時間画像の受信が行われなかった場合は、処理をステップS1709に進める。
ステップS1709で、テレビ201は画像を受信したか否かの判断を中断し、処理をステップS1701へ戻す。
次に、ステップS1701において、テレビ201が親カメラ1から終了通知を受信したと判断し、処理をステップS1704に進めた場合について説明する。
ステップS1704で、テレビ201は現在表示しているカメラIDや画像の表示を終了するなど、所定の終了処理を行い、スライドショー動作を終了する。
以上が、本実施形態のスライドショー処理におけるテレビ201の処理である。
本実施形態では、複数のカメラに記憶された画像をスライドショーする場合に、次にスライドショーされる画像を、カメラの表示部13に表示させる構成とした。この構成により、カメラのユーザは次にスライドショーされる画像を予め知ることができる。
また、本実施形態のスライドショー処理では、画像がスライドショーされる通知を受けたユーザが、カメラを操作することにより、当該画像を表示するか否かを選択できるようにした。このことにより、ユーザは他人に見せたくない画像がスライドショーされることを未然に防止することができ、よりユーザの意図を反映したスライドショーが実現できる。
<第2の実施形態>
次に、第2の実施形態を説明する。
第1の実施形態では、親カメラ1がネットワークに接続された他の機器を制御するネットワーク制御装置の役割を担っていた。本実施形態では、テレビ201が他の機器を制御する機能を備え、ネットワーク制御装置としての役割を担う。
本実施形態では、テレビ201が、図5に示すフローにしたがった処理を実行する。処理の内容は第1の実施形態と同様である。また、子カメラ101〜103も、親カメラ1でなくテレビ201からの制御を受け、基本的に第1の実施例と同様の処理を実行する。
次に、本実施形態におけるスライドショー処理について説明する。本実施形態では、テレビ201が子カメラからの画像の属性情報を収集し、スライドショーリスト801を作成する。
図19は、スライドショー処理におけるテレビ201の処理を示すフローチャートである。
ユーザがテレビ201の操作部204からスライドショーの開始指示を行うと、本フローに従ったスライドショー処理が開始される。
ステップS1901〜S1903は、第1の実施形態における親カメラ1の動作と同様であり、ステップS1401〜S1403と同様の処理を行う。ステップS1904において、テレビ201はスライドショーリスト801中、I番目の要素の画像IDをその画像を記憶した子カメラに対し送信する。ここで送信された画像IDを受信した子カメラは、図15に示す画面を自機の表示部13に表示する。
さらに、ステップS1905で、テレビ201はスライドショーリスト801中、I番目の要素のカメラIDをテレビの表示部203に表示する。この処理は第1の実施形態におけるステップS1702の処理と同様であり、テレビ201の表示部203には、図18に示す画面が表示される。
ステップS1906で、テレビ201は内蔵タイマによる測定を開始する。
そしてステップS1907において、テレビ201は子カメラから表示判定フラグを受信したか否かを判断する。受信したと判断した場合には処理をステップS1908に進める。受信していないと判断した場合には処理をステップS1909に進める。
ステップS1909において、テレビ201はステップS1906で測定を開始したタイマの値を参照し、タイムアウトしているか否かを判断する。タイムアウトしていないと判断した場合は処理をステップS1907に戻し、処理を繰り返す。タイムアウトしていると判断した場合はスライドショーリストのI番目の要素についての画像表示動作を行わず、ステップS1916へ進む。
ステップ1908で、テレビ201は表示判定フラグの値が、表示可能を示しているか表示不可を示しているかを判断する。表示可能を示していると判断した場合は、処理をステップS1910に進める。表示不可を示していると判断した場合には、I番目の要素についての画像表示動作を行わず、処理をステップS1916に進める。
ステップS1910で、テレビ201はスライドショーリストのI番目の要素を参照し、対応するカメラIDを有するカメラに表示画像取得要求を送信する。表示画像取得要求は、第1の実施形態と同様のものである。
表示画像取得要求を送信した後の処理であるステップS1911〜S1915の処理は、第1の実施形態と同様であり、図17のステップS1705〜S1709に対応する。ただし、本実施形態では、ステップS1913またはステップS1915での処理の終了後、テレビ201は処理をステップS1916に進める。
ステップS1916〜ステップS1918は実施形態1で親カメラ1が行っていたステップS1413、S1415、S1416と同様の処理である。
以上が、本実施形態のスライドショー処理においてテレビ201が実行する処理である。
なお、前述したように、本実施例における子カメラ101〜103は、第1の実施形態と同様、図19のフローにしたがった処理を行う。
以上述べたように、本実施形態では、テレビ201がネットワークに接続された機器を制御し、スライドショーを行う構成とした。このことにより、テレビ201が表示装置とネットワーク制御装置の両方の役割を担うため、別途親カメラを設定する必要がなく、ネットワークの構成をシンプルにすることができる。
<第3の実施形態>
第1、第2の実施形態では、テレビ201にスライドショーされる直前の画像を子カメラに通知していた。それに対して本実施形態では、スライドショー開始時に、親カメラ1がそれぞれの子カメラ101〜103に対してスライドショーリストに含まれる画像IDを全て通知する構成とした。
本実施形態は、第1の実施形態と共通する部分が多い。そこで、第1の実施形態と同様の部分については説明を省略し、本実施形態に特有の部分を中心に説明する。
親カメラ1が各子カメラから画像を収集した結果、作成されたスライドショーリストを図12の801に示す。
次に、本実施形態におけるスライドショー処理について説明する。
まず、親カメラ1の処理について説明する。親カメラは基本的に図14のフローに従った処理を行うが、ステップS1401とステップS1402の間に本実施形態に特有の処理を行う。以下、この処理について説明する。
親カメラ1は、ステップS1401でスライドショー開始通知を行った後に、スライドショーリスト801に基づき、子カメラのカメラID毎の画像リストを作成する。この画像リストは、スライドショーで再生される順番に画像IDがリスト化されたものである。この画像リストの作成のタイミングはスライドショー開始通知の前でも構わない。そして、カメラID毎の画像リストを、それぞれのカメラIDを有する子カメラに送信する。その後、ステップS1402以降の処理を行う。
子カメラは、カメラID毎に作成された画像リストに含まれる画像IDを確認することで、メモリカード30に記憶された画像のうち、スライドショー表示される予定の画像を識別することが可能となる。
次に、本実施形態のスライドショー処理における子カメラの処理について述べる。原則として子カメラ101〜103は同様の処理を行う。ここでは子カメラ101を例として説明する。
図20は、本実施形態のスライドショー処理における子カメラ101の処理を示すフローチャートである。
子カメラ101が親カメラ1から送信されたカメラID毎の画像リストを受信すると、本フローは開始される。ここで受信する画像リストは、カメラIDが子カメラ101である画像のリストである。
親カメラから画像リストを受信すると、まずステップS2001で、子カメラ101はメモリカード30に記憶された画像の中から、受信した画像リストに含まれる画像IDに対応する画像を検索する。そして表示部13に画像一覧画面を表示する。
図21に子カメラ101の表示部13に表示される画像一覧画面を示す。操作部などの符号は図15と同じ番号を用いている。表示領域1501に、受信した画像リストに含まれる画像IDに対応する画像2101が表示される。なお、ここに表示される画像には、表示用にリサイズされたり、圧縮された表示用の画像を用いることができる。
ステップS2002で、子カメラ101はユーザから一覧表示された画像に対する表示判定の指示を受け付ける。
図22に表示判定の動作を示す。ユーザは、表示領域1501に一覧表示された画像に対して、十字キー1502で画像を選択し、決定ボタン1503を押下することで、表示不可な画像として設定するよう指示する。子カメラ101は、ユーザにより表示不可とするよう指示された画像に、表示不可であることが識別できるマークがついた画像2201を表示し、ユーザに表示不可が決定されたことを示す。また子カメラ101は、当該画像についての表示不可フラグの値を、表示不可の値に設定して不揮発性メモリ22に記憶する。これで表示/非表示の設定が完了し、子カメラ101は親カメラ1からの指示を待機する状態となる。
なお、本実施形態は図22に示すように、表示不可であることが識別できるマークがついた画像2201を表示したが、表示可能であることが識別できるマークがついた画像2201を表示してもよい。また、その両方をフラグの値に応じて表示してもよい。
ステップS2003で、子カメラ101はデータを受信したか否かを判断する。受信したと判断した場合には処理をステップS2004に進める。受信していないと判断した場合には処理をステップS2002に戻す。
ステップS2004で、子カメラ101は受信したデータの種類を判断する。画像IDを受信したと判断した場合には処理をステップS2005に進める。終了通知を受信したと判断した場合には処理をステップS2006に進め、所定の終了処理を行った後、本処理を終了する。
ステップS2005で、子カメラ101は表示部13に表示中の画像のうち、受信した画像IDに対応する画像をユーザが識別できるように強調表示する。
図23に表示部13に表示される画面の一例を示す。画像2302が強調表示されている。また、2301は既にスライドショーされた画像である。子カメラ101は、既にスライドショーされた画像もユーザが識別できるよう表示する。図23では、画像2301をマスク表示することで他の画像と識別可能に表示している。このような表示を行うことにより、ユーザは自分のカメラに記憶された画像が次にスライドショーされることを知ることができる。
ステップS2007において、子カメラ101は内蔵タイマによる測定を開始する。
ステップS2008で、子カメラ101はユーザからの表示判定の指示を受け付けたか否かを判断する。表示判定を受け付ける処理は、第1の実施形態における図16のステップS1605と同様の処理である。
図23に表示部13に表示される画面の一例を示す。第1の実施形態と同様、子カメラ101はガイドアイコン2303を表示し、ユーザからの操作を受け付ける。そしてユーザからの表示判定の指示に応じて、表示判定フラグの値を設定する。つまり、本ステップでは、ステップS2002で決定された表示判定フラグの値を、再度変更する処理を行う。このことにより、ユーザは一度表示するか否かを決定した後でも、スライドショーで表示される直前で再度変更する機会が与えられることになる。
ステップS2009、S2010は第1の実施形態と同様の処理であり、図16のステップS1606、S1607に相当する。
ステップS2011で、子カメラ101は画像2302の強調表示を終了させる。また、ステップS2009で表示判定フラグを送信し終えた画像に対し、画像2301のようにマスク処理を施す。これらの処理を行った後、処理をステップS2002に戻す。
以上が、本実施形態のスライドショー処理における子カメラ101の実行する処理である。なお、本実施形態のテレビ201は、第1の実施形態と同様に図17のフローに従った処理を行う。
本実施形態によれば、子カメラのユーザはスライドショーされる自分の画像を、スライドショー開始時に一覧表示画面で確認することができる。また、子カメラのユーザは自分のカメラに記憶された画像を表示するか否かの指示をまとめて行うことができる。
なお、本発明の第1〜第3の実施例においてスライドショーの画像コンテンツを提供する画像処理装置としてデジタルカメラの例を示したが、ポータブルフォトビューアなどの装置でもよい。
さらに、本発明の第1〜第3の実施例においてはスライドショーの制御を行うネットワーク制御機器の役割をデジタルカメラまたはテレビ201が担った。しかし、ネットワーク上の別の機器が制御することも可能であり、ネットワーク制御機器は本実施例に限定されるものではない。
さらに、図7において、本発明の第1〜第3の実施例において使用する、機器間でやり取りされる情報パケットの形式を示したが、本発明はこの形式に限定されるものではない。
さらに、本発明の第1〜第3の実施例において、スライドショーで表示する画像をテレビ201からデジタルカメラへの画像取得要求の応答として転送した。しかし、ネットワーク制御機器によりデジタルカメラからテレビ201へ画像を自主的に送る形式でスライドショーを実現してもよく、本発明は画像転送の方法に制限されるものではない。
また、本発明はカメラを含めたシステムに限定されるものではなく、複数の端末に記憶された画像をまとめてスライドショーするシステム全般に適用可能である。
本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するコンピュータ可読のプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、コンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。供給の形態はシステムあるいは装置記憶媒体に直接アクセスすることで供給されてもよいし、他の装置を介して供給されてもよい。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現させることになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。