ネットワーク制御装置、画像処理装置、それらの制御方法、プログラム
【課題】 複数のユーザがビューワーやカメラ等それぞれの画像処理端末に画像を保持し、それらをお互いに容易に利用しあえるようにすることが煩雑である。
【解決手段】 複数の画像処理装置が画像表示装置を含むネットワークを構築し、ネットワーク内で他の機器を制御する機能を持つ制御機器の指示によって複数の画像処理装置が保持する画像データを画像表示装置へ一元的に表示すると共に、さらに1つの画像処理装置からの配信、印刷要求に応じて他の画像処理装置との画像交換をスムーズに実現する。また印刷要求は他の画像処理装置の持つDPOFファイルを更新することによって反映することが可能となる。
【解決手段】 複数の画像処理装置が画像表示装置を含むネットワークを構築し、ネットワーク内で他の機器を制御する機能を持つ制御機器の指示によって複数の画像処理装置が保持する画像データを画像表示装置へ一元的に表示すると共に、さらに1つの画像処理装置からの配信、印刷要求に応じて他の画像処理装置との画像交換をスムーズに実現する。また印刷要求は他の画像処理装置の持つDPOFファイルを更新することによって反映することが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理端末間で容易に画像の交換を行うためのネットワーク制御装置、画像処理装置、それらの制御方法、プログラムに関する。
【背景技術】
【0002】
デジタルデータは画像の編集、通信が容易であり、幅広い用途で用いられる。これらのデジタルデータは、CDやDVD、ハードディスクなどの電子記録媒体による保存が一般的になっている。
【0003】
これらのデジタルデータを異なる画像処理端末間で授受するためには、様々な方法がある。例えばデジタルカメラなど画像処理端末の場合、着脱可能な記録媒体をユーザ間で受け渡すことでデジタルデータを授受する方法が知られている。また、インターネットのWEB上で共有エリアを設定し、提供者側の端末が共有エリアにアップロードしたデジタルデータを、被提供者側の端末がダウンロードする方法も知られている。さらに、画像処理端末同士をダイレクトに接続し、ネットワーク通信を利用して提供者側の端末から被提供者側の端末にデジタルデータを送信する方法も知られている(例えば、特許文献1)。
【特許文献1】特開2003−234987号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、複数のユーザがビューワーやカメラ等それぞれの画像処理端末にデジタルデータとして画像を保持し、それらをお互いに交換するケースを考えると、依然として煩雑な処理が必要である。つまり、複数のユーザが保持する画像を一括して閲覧する方法と、閲覧後の画像交換をスムーズに行う仕組みが存在しないという問題がある。例えば複数の人数で旅行に出かけ、参加者各人がデジタルカメラで撮影した画像や、携帯画像ビューワーなどに予め記憶された画像をユーザ同士が交換する場合を想定する。
【0005】
従来では画像処理端末の持つ通信機能を用いて端末同士がダイレクトに交換する方法がある。但し通常はPeer to Peerの画像交換でありN個の画像処理端末がそれぞれの画像交換をする場合には、N(N−1)/2回の端末の組み合わせで交換処理を行わなければならず処理が煩雑である。
【0006】
また、公衆ネットワークに接続することで遠隔地のサーバーを介して画像の交換を行う方法がある。これにより1つの画像処理端末が保持する画像をサーバーにアップロードし、他の画像処理端末がサーバーからダウンロードする方法である。しかしこの方法は、始めに全ての画像処理端末が共有するネットワークサーバーに接続することが前提である。既に目の前の端末にある画像を閲覧するためにわざわざ公衆回線を利用することや、お互いにデータを共有するサーバーを決定するのは煩雑である。さらに公衆ネットワークへの接続ができない場所ではこの方法は使えない。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する属性情報取得手段と、前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御手段と、前記画像の表示中に、前記複数の画像処理装置から画像の取得要求を受信する受信手段と、前記取得要求に応じて、表示中の画像の属性情報を前記取得要求の要求元の画像処理装置に送信する表示情報送信手段とを有する。
【0008】
また本発明は、他の画像処理装置から送信された画像が表示部に順次表示されている間に、特定の操作が行われたか否かを判定する操作判定手段と、前記特定の操作を検知した場合に、前記ネットワーク制御装置に対して画像の取得要求を送信する送信手段と、前記取得要求に応答して前記ネットワーク制御装置から送信された画像の属性情報を受信する属性情報受信手段とを有し、前記属性情報は、前記取得要求を送信した際に前記表示部に表示されていた画像のIDを含むことを特徴とする。
【0009】
また本発明は、印刷の対象となる画像の属性情報を記述した印刷管理ファイルを記憶する管理ファイル記憶手段と、前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する取得手段と、前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御手段と、前記表示部での表示中に、前記複数の画像処理装置から画像の印刷要求を受信する受信手段と、前記印刷要求に応じて、表示中の画像を印刷するよう前記印刷管理ファイルを更新するよう指示する更新指示手段とを有する。
【0010】
また本発明は、他の画像処理装置から送信された画像が表示装置に順次表示されている間に、特定の操作が検知されたか否かを判定する操作判定手段と、前記特定の操作を検知した場合に、前記ネットワーク制御装置に画像の印刷要求を送信する送信手段とを有する。
【発明の効果】
【0011】
本発明によれば、ユーザはスライドショーを見ながら画像を選択することにより、他の画像処理装置との画像交換や印刷をスムーズに行うことができる。
【発明を実施するための最良の形態】
【0012】
以下、この発明の最良の実施形態を図面と共に詳述する。
【0013】
<第1の実施形態>
本実施例では複数台のデジタルカメラとテレビ201とがホームネットワークを形成し、テレビ201に複数台のデジタルカメラの画像を表示すると共に、デジタルカメラ同士で保持する画像の交換を行う方法について説明する。
【0014】
<デバイス構成>
図1は、本発明の実施形態におけるデジタルカメラの構成を示す図である。以下、本発明の実施形態におけるデジタルカメラの構成について説明する。
100は本実施形態におけるデジタルカメラである。
2は撮影レンズ、3は絞り機能を備えるシャッター、4は光学像を電気信号に変換する撮像素子、5は撮像素子4のアナログ信号出力をデジタル信号に変換するA/D変換器である。
6は撮像素子4、A/D変換器5、D/A変換器7にクロック信号や制御信号を供給するタイミング発生回路であり、メモリ制御回路8及びシステム制御回路9により制御される。
【0015】
10は画像処理回路であり、A/D変換器5からのデータ或いはメモリ制御回路8からのデータに対して所定の画素補間処理や色変換処理を行う。
8はメモリ制御回路であり、A/D変換器5、タイミング発生回路6、画像処理回路10、画像表示メモリ11、D/A変換器7、メモリ12を制御する。
【0016】
A/D変換器5のデータが画像処理回路10、メモリ制御回路8を介して、或いはA/D変換器5のデータが直接メモリ制御回路8を介して、画像表示メモリ11或いはメモリ12に書き込まれる。
【0017】
11は画像表示メモリ、7はD/A変換器、13はTFT LCD等から成る画像表示部であり、画像表示メモリ11に書き込まれた表示用の画像データはD/A変換器7を介して画像表示部13により表示される。
画像表示部13を用いて撮像した画像データを逐次表示すれば、電子ファインダー機能を実現することが可能である。
【0018】
12は撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。
14は絞り機能を備えるシャッター3を制御する露光制御手段であり、フラッシュ17と連携することによりフラッシュ調光機能も有するものである。
【0019】
15は撮影レンズ2のフォーカシングを制御する測距制御手段、16は撮影レンズ2のズーミングを制御するズーム制御手段である。
17はフラッシュであり、AF補助光の投光機能、フラッシュ調光機能も有する。
【0020】
9はデジタルカメラ1全体を制御するシステム制御回路であって、各部から入力される信号またはプログラムに応じて、各部の動作を制御する。20はシステム制御回路9の動作用の定数、変数、プログラム等を記憶するメモリである。
【0021】
18は電源制御手段で、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されている。電源制御手段18は電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御回路9の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。19はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる電源手段である。
【0022】
21はシステム制御回路9でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメッセージ等を表示する液晶表示装置、スピーカー等の状態報知部である。状態報知部21はデジタルカメラ1の操作部近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLED、発音素子等の組み合わせにより構成されている。
【0023】
22は電気的に消去・記録可能な不揮発性メモリである。ここに機器の無線設定情報を記憶することができる。
23はメモリカードを接続する為のメモリカードインターフェースであり、24は外部機器とUSBを用いて接続する為のUSBインターフェースである。
25は、システム制御回路9の各種の動作指示を入力するための操作手段であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
【0024】
26はシャッタースイッチで、撮像素子4から読み出した信号をA/D変換器5、メモリ制御回路8を介してメモリ12に画像データを書き込む露光処理、画像処理回路10やメモリ制御回路8での演算を用いた現像処理という一連の処理の動作開始を指示する。
【0025】
27は無線通信回路であり、無線信号を送受信し、無線通信を制御する。28は他の機器と無線通信を行うためのアンテナである。
【0026】
29は自機器の位置を特定するための位置取得装置である。位置取得装置29の一例としてGPS(Global Positioning System)があり、衛星からの電波を受信し自機器の位置を特定することが可能である。電波の受信は定期的に行ってもよいし、特定のタイミング、例えば操作部25のうち特定の操作部材が操作されたタイミングで受信したり、シャッタースイッチ26が押されたタイミングで受信してもよい。
【0027】
30はメモリカードであり、メモリカードインターフェースを介して送られてきた画像を記憶する。なお、本実施例におけるメモリカード30はデジタルカメラ1と着脱可能としているが、画像を記憶する記憶媒体をデジタルカメラ1に内蔵してもよい。
【0028】
図2は、本発明の実施形態におけるテレビ201の構成を示す図である。以下、本発明の実施形態におけるテレビ201の構成について説明する。
201は本実施形態におけるテレビ201である。
202は出力部であり、音声処理部205からの出力を受けて音声などを出力する。
203はユーザに対して情報を表示する表示部であり、表示処理部206によって処理される。
204はテレビ201の操作部であり、システムコントローラ207を介してユーザによる各種の動作指示を入力するための操作手段である。
【0029】
208は電気的に消去・記録可能な不揮発性メモリである。ここに機器の無線設定情報を記憶することができる。209はテレビ201の動作用の定数、変数、プログラム等を記憶するメモリである。
210は無線通信回路であり、無線信号を送受信し、無線通信を制御する。215は他の機器と無線通信を行うためのアンテナである。
211は外部機器からのデータ入力部、212は外部機器へのデータ出力部である。213はチューナーであり、放送信号を受信して音声処理部205、表示処理部206へ与える。
214は電源手段である。
【0030】
<システム構成>
以下、これらのデジタルカメラとテレビ201の構成をもとに、本実施形態において複数台のデジタルカメラとテレビ201とでネットワークを構成し、複数のデジタルカメラが保持している画像についてスライドショーを行う動作について説明する。なお、デジタルカメラ1、101、102、103及びテレビ201の制御は図1の不揮発性メモリ22及び図2の不揮発性メモリ208に記憶されたソフトウェアプログラムにしたがい、システム制御回路9やシステムコントローラ207が実行する。
【0031】
図3は、本実施例における複数台のデジタルカメラとテレビ201とのネットワーク構成例である。ここで、デジタルカメラ101、102、103は図1で示したデジタルカメラ1と同様の構成を持つものとする。これらの機器は、一般的な無線LANで使用されるネットワーク識別情報であるSSID(Service Set Identifier)や無線通信チャネル、暗号化のキーなどの無線パラメータについて予め共通の情報をメモリ上に記憶しておく。そして、そのパラメータに基づいて無線LANによるネットワークを構築する。なお、本実施例で構築するネットワークはネットワークハブなどを介した有線によるLANでもよく、本実施例は構築するネットワークの形態に依存するものではない。
【0032】
本実施形態のシステムでは、ネットワーク上の機器から、他の機器を制御する役割を持つ機器を決定する。本実施例では、複数台のうち1台のデジタルカメラが他の機器、例えば他のデジタルカメラやテレビを制御する役割を持つ。制御する側のデジタルカメラを「親カメラ」、その他の制御される側のデジタルカメラを「子カメラ」とする。子カメラは画像を記憶している機器である。子カメラは親カメラの制御に応じてネットワーク上の他の機器に画像を提供することが可能である。すなわち、ネットワーク上でサーバー機器として動作している。
【0033】
本実施形態のシステムでは、親カメラが子カメラの画像情報を集めてテレビにスライドショーとして表示させることが可能である。具体的には、親カメラがネットワーク上から子カメラを検出して、それぞれの子カメラが持つ画像情報を収集することによりスライドショーのリストを作成する。そして親カメラはリストにしたがい、子カメラに対して画像データをテレビ201へ転送するよう指示する。この指示を画像ごとに順次行うことでスライドショー動作を実現する。
【0034】
<属性情報の収集>
図4は、スライドショーにおける各カメラの役割を選択するための画面を示したものである。このスライドショーの設定画面401は、カメラ1の操作部25をユーザが操作することにより、デジタルカメラの表示部13に表示される。
【0035】
設定画面401において、ユーザ操作により「マルチスライドショーを作成する」のアイコン402が選択されると、デジタルカメラは親カメラ1として起動する。「マルチスライドショーに参加する」のアイコン403が選択されると、デジタルカメラは子カメラとして起動する。「戻る」アイコン404を選択した場合は、デジタルカメラはスライドショーの開始を中止する。図4では「マルチスライドショーを作成する」のアイコン402が選択された状態を示している。デジタルカメラの操作部材により決定を示す動作が行われるとデジタルカメラ1は親カメラ1として起動する。次に、本実施形態におけるスライドショー処理の具体的な動作について、図5、図6のフローチャートを用いて説明する。
【0036】
図5は、ネットワーク上の他の機器を制御する役割を持つ機器の動作を示すフローチャートである。本実施例では親カメラ1として起動されたデジタルカメラのシステム制御回路9が各部を制御することにより、以下の動作が実現される。
【0037】
デジタルカメラ1が親カメラ1として起動されることにより、本フローチャートは開始される。
【0038】
ステップ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へ進める。
【0039】
ステップS502において、親カメラ1は、他にスライドショーに参加する子カメラを探索すべく、検索パケット702を送信する。例えば、図3において子カメラとなりうるデジタルカメラ101、102、103のうち、子カメラとして起動していないものは告知パケット701を送信しない。したがって、親カメラ1は告知パケット701を送信しないデジタルカメラを子カメラとして認識しない。このようなカメラをスライドショーに参加させるため、親カメラ1は検索パケットを送信する。
【0040】
検索パケット702とは、親カメラ1が子カメラを検索するために報知するためのパケットである。本実施形態における検索パケットの一例を図8(a)に示す。検索パケット702は、「パケット種類」「宛先」「検索タイプ」、「待機時間」、「検索ターゲット」といった情報を含む。ここで、「検索タイプ」とは検索の種類を示すカテゴリである。「待機時間」とは検索報知に対して応答を待つまでの最大待機時間である。この時間親カメラは検索を続ける。「検索ターゲット」とは検索範囲のデバイスを特定する。例えば全てのデバイス、ルートデバイス、特定のデバイス、特定のタイプのデバイス、特定のサービスを有するデバイスなどを指定する。ここで、親カメラ1は検索する機器の種類を検索パケット702の「検索ターゲット」フィールドへ記述する。例えば本実施形態の場合、親カメラ1は、スライドショー動作を行う際に必要となる、映像や音声を扱うサーバー機器や表示機器を「検索ターゲット」フィールドに記述する。このことにより、親カメラ1は、スライドショーに必要な機器を指定して検索することができる。
【0041】
次にステップS503において、親カメラ1は、検索応答パケット703を受信しているか確認する。検索応答パケット703とは、ステップS502で親カメラが送信した検索パケットに応答して子カメラが送信するパケットである。本実施形態における検索応答パケットの一例を図8(b)に示す。検索応答パケット703は、「パケット種類」、「有効期間」、「検索タイプ応答」、「機器情報のURL」、「送信元情報」、「検索ターゲット」、「機器タイプ」といった情報を含む。ここで、「有効期間」とは応答する機器がネットワーク上で応答した機器タイプとしてどれだけの期間存在するか、すなわち役割の生存期間である。「検索タイプ応答」とは応答すべき検索タイプである。一定時間、検索応答パケット703を受信しない場合、親カメラ1は処理をステップS501へ戻し、動作を繰り返す。検索応答パケット703または告知パケット701を受信した場合は、処理をステップS504に進める。
【0042】
ステップS504において、親カメラ1は、ステップS501またはステップS503で受信したパケットの「機器タイプ」フィールドを参照し、パケット送信元機器の情報を確認する。
【0043】
ステップS505において、親カメラ1は、ステップS504で確認したパケット送信元の機器が、目的とする動作に必要な機器かどうか判断する。すなわち、パケット送信元の機器がスライドショー動作を行う際に必要となる、映像や音声を扱うサーバー機器や表示機器であるかどうかを判断する。送信元の機器が、親カメラ1が行う動作に必要な機器である場合、親カメラ1は、検索応答パケット703または告知パケット701に含まれる機器情報のURLを記憶し、処理をステップS506へ進める。送信元の機器が、親カメラ1が行う動作に必要なものでない場合、処理をステップS501へ戻し、必要な機器を発見するまで検索動作を繰り返す。例えばオーディオプレーヤーのように映像に付属しない音声データを再生する装置は画像表示を目的とするスライドショー動作にとって不要であるため、処理を進めない。本実施例では、スライドショー動作を行うのに必要でないタイプの機器に対して、親カメラ1は制御を行わない。
【0044】
ステップS506において、親カメラ1は、ステップS505で機器情報を確認した機器に対して機器情報要求パケット704を送信する。機器情報要求パケットとは、親カメラから子カメラに対して送信されるものであって、機器や機器が提供できるサービスについての詳細情報を要求するためのパケットである。ここでいうサービスとは、「ファイルリスト転送」、「ファイル伝送」、「静止画像再生」、「動画像再生」、「音楽再生」、「静止画印刷」等である。本実施形態における機器情報要求パケットの一例を図9(a)に示す。機器情報要求パケット704は「パケット種類」、「宛先」といった情報を含む。機器情報の要求はステップS505で記憶した機器情報のURLに基づいて行う。図3において子カメラとなるカメラ101、102、103はこの要求に対して必要な機器情報を送り返す。
【0045】
次にステップS507において、親カメラ1は、機器情報パケット705を受信しているか確認する。機器情報パケットとは、親カメラが送信した機器情報要求パケット704に応答して子カメラが送信するパケットである。本実施形態における機器情報パケットの一例を図9(b)に示す。機器情報パケット705は「パケット種類」、「データ言語」、「データ長」、「データタイプ」、「機器情報」、からなる。ここで、「データ言語」とは機器同士が情報の通信を行う上で自機器が用いる言語の種類である。「データ長」とは「機器情報」の持つデータサイズである。「データタイプ」とは「機器情報」の示すデータ型である。「機器情報」とは機器名や型番の他、提供できるサービスを含む機器の情報を示す。親カメラは、一定時間機器情報パケット705を受信しない場合、処理をステップS506へ戻し、機器情報要求パケット704を送信する。機器情報パケット705を受信した場合は、処理をステップS508に進める。
【0046】
ステップS508において、親カメラ1は、機器情報パケット705に記述されている機器情報を参照し、送信元機器についての詳細情報や、送信元の機器が提供できるサービスについての詳細を確認する。本実施形態では、子カメラから機器情報パケット705を受信した場合、「機器情報」フィールドには、子カメラの機器名や、子カメラが提供するサービス一覧情報が記述してある。サービスの例としては、「ファイルリスト転送」、「ファイル伝送」、「静止画像再生」、「動画像再生」、「音楽再生」、「静止画印刷」等がある。
【0047】
ステップS509において、親カメラ1は、ステップS508で確認したサービスが必要とするサービスか否か判断する。必要とするサービスでなかった場合、例えば「音楽再生」や「静止画印刷」のような機能のみしかサービスとして提供しない場合は動作を終了する。必要とするサービスであった場合、親カメラ1は機器情報パケット705の機器名などの情報を保存する。ステップS510において親カメラ1は、サービス要求パケットを送信する。サービス要求パケットとは、親カメラが子カメラに対し、所望のサービスを要求するために送信するパケットである。本実施形態におけるサービス要求パケットの一例を図10(a)に示す。サービス要求パケット706は「パケット種類」、「宛先」、「データ長」、「データタイプ」、「サービスタイプ」、「サービス要求」といった情報を含む。ここで、「サービスタイプ」とはサービス内容に基づくデータフォーマット等の情報である。「サービス要求」とは実際に要求するサービスの内容であり「ファイルリスト転送」、「ファイル伝送」、「再生」等である。またサービスの対象となるファイル名、ID等の詳細情報も含まれる。例えば、本システムにおいてスライドショーを実施するには、親カメラ1が複数の子カメラが保持する画像の属性情報を取得する必要がある。この場合、サービス要求パケット706に、「保持している画像の画像サイズや画像IDやタイトル、日付などの一覧を送信する」といったサービスを記述する。このサービス要求パケット706の記述によって、色々なサービスを要求することが可能となる。例えば、「子カメラが保持している画像のうち、所定の期間内に撮影された画像の画像サイズや画像IDやタイトル、日付などの一覧を送信する」、といったサービスも「サービス要求」フィールドに書き込むことにより、要求することができる。このことにより、親カメラが子カメラに対し、特定の検索条件に合致した画像の属性情報を送信させるよう制御することが可能となる。なお、これらサービスの内容については上記実施形態の内容に限定されるものではない。例えば親カメラは、子カメラに対して画像そのものを送信させることも可能である。
【0048】
ステップS511において、親カメラ1は、サービス応答パケットを受信しているか判定する。サービス応答パケットとは、ステップS510で親カメラが送信したサービス要求パケット706に応答して子カメラから送信されるパケットである。本実施形態におけるサービス応答パケットの一例を図10(b)に示す。サービス応答パケット707は「パケット種類」、「データ長」、「データタイプ」、「検索タイプ応答」、「送信元情報」、「サービス応答」といった情報を含む。ここで、「サービス応答」とは応答すべきサービスの実データ、すなわち要求されたデータそのものである。一定時間サービス応答パケット707を受信しない場合は、親カメラ1は処理をステップS510に戻し、再度サービス要求パケット706を送信する。サービス応答パケット707を受信した場合、処理をステップS512に進める。なお、サービス応答パケット707に要求されたデータが必ずしも含まれている必要はなく、実データを一意に特定できる情報や、変換したデータを記述してもよい。
【0049】
ステップS512において、親カメラ1は、受信したサービスの実行結果をデジタルカメラ1のメモリ20に保存し、動作を終了する。
【0050】
以上述べたように、親カメラ1はステップS506で要求したサービスを子カメラが実行した結果として、子カメラからサービス応答パケット707を受信する。このサービス応答パケット707には、サービスの実行結果、すなわち子カメラが保持する画像の画像サイズや画像IDやタイトル、撮影日時などの属性情報が含まれている。画像IDは画像を特定できる情報であればよく、例えば画像のファイル名や、画像に付加されたUUID(Universally Unique IDentifier)などを用いることができる。本実施形態では、ファイル名を用いる。親カメラ1は、これらの情報をリスト形式にしてスライドショーリストとしてデジタルカメラ1のメモリ20に保存する。もちろん、予め子カメラ側でリスト形式にして親カメラ1に送信しても構わない。
【0051】
図11は、ステップS511において、親カメラ1が子カメラの所有する画像の属性情報を取得した場合に親カメラ1の表示部13に表示される画面である。親カメラ1は、画像のリストを取得し終えると、ステップS509で「機器情報」フィールドから抽出し保存した機器名を表示する。図11では、親カメラ1がデジタルカメラ101の画像リストを取得し終えたことをアイコン902で示す。ここでユーザ操作により開始アイコン903が選択されると、これまでに取得した画像の属性情報に従ってスライドショーが開始される。戻るアイコン904が選択されると、親カメラ1としての動作は中断される。
【0052】
図5では、親カメラ1の動作について述べた。次に、ネットワーク上で制御される側の役割を持つ機器の動作、すなわち子カメラ101〜103及びテレビ201の動作について説明する。
【0053】
図6に、本動作のフローチャートを示す。本実施形態では、子カメラ101のシステム制御回路9またはテレビ201のシステムコントローラ207が各部を制御することにより、以下の動作が実現される。以下、特に断らない限り、子カメラ101を例として説明する。
【0054】
まずステップS600において、子カメラ101は、ユーザ操作により、ネットワーク上で制御される側の役割を持つ機器として動作するよう指示があったか否かを判定する。すなわち、図4に示す画面で「マルチスライドショーに参加する」がユーザ操作により選択されたか否かを判定する。指示があった場合には、処理をステップS601に進める。指示がなかった場合には処理をステップS602に進める。
【0055】
ステップS601において、子カメラ101は、自機器のタイプについての情報を含む告知パケットを生成し、現在接続しているネットワークに対してマルチキャストで送信する。例えば、子カメラは自機器が映像や音声を扱うサーバー機器であるということを告知パケット701の「機器タイプ」フィールドに記述する。また、テレビ201の場合には自機器が映像や音声を表示可能な表示機器であることを告知パケット701の「機器タイプ」フィールドに記述し、ネットワーク上の機器に対して告知パケット701を送信する。
【0056】
ステップS602において、子カメラ101は、親カメラから送信された検索パケット702を受信しているか否か判定する。これは、子カメラが告知パケット701を送信後に親カメラ1からの検索パケット702を受信する場合があるからである。検索パケット702を受信した場合は処理をステップS603に進める。検索パケット702を受信しない場合は、処理をステップS606へ進める。
【0057】
ステップS603において、子カメラ101は、検索パケット702の「検索ターゲットフィールド」の内容を参照し、親カメラから指定された検索条件を確認する。
【0058】
ステップS604において、子カメラ101は、自機器がその検索条件に合致するかどうか判定する。検索条件に合致した場合は処理をステップS605に進める。検索条件に合致しなかった場合は、応答を行わずに処理をステップS606に進める。
【0059】
ステップS605において、子カメラ101は、自機器の種類についての情報を含んだ検索応答パケット703を、パケット送信元に対して送信する。例えば、ステップS604において、検索パケット702が映像や音声を扱うサーバー機器を検索対象としていることが確認された場合、子カメラ101は自機器が映像や音声を扱うサーバー機器であるのでこのパケットに応答する。具体的には、検索応答パケット703の「機器タイプフィールド」に自機器の種類を記述して親カメラ1に対して送信する。テレビ201の場合であれば、ステップS604で映像や音声を再生可能な表示機器を検索対象としていることが確認された場合に、テレビ201は検索応答パケット703を送信する。
【0060】
ステップS606において、子カメラ101は、機器情報要求パケット704を受信しているか確認する。一定時間、機器情報要求パケット704が受信されない場合は処理をステップS601に戻す。機器情報要求パケット704を受信すると、処理をステップS607に進める。
【0061】
ステップS607において、子カメラ101は、自機器や自機器が提供できるサービスについての詳細情報を機器情報パケット705に記述し、機器情報要求パケット704の送信元へ返信する。
【0062】
ステップS608において、子カメラ101はサービス要求パケット706を受信しているか確認する。受信した場合には処理をステップS609に進める。受信されない場合はそのまま継続してサービス要求パケット706の受信を待つ。
【0063】
ステップS609において、子カメラ101は、サービス要求パケット706で要求されたサービスを自機器で実行する。そしてステップS610において、子カメラ101はその結果をサービス応答パケット707としてパケット送信元に送信する。
【0064】
例えば、サービス要求パケット706の「サービス要求」フィールドには子カメラが保持している画像についての情報を要求する記述がされている。子カメラはこの記述を参照し、要求に応じた処理を実行する。すなわち、子カメラは自機器が記憶している画像の画像サイズ、画像ID、タイトル、撮影日時などの属性情報の一覧をサービス応答パケット707の「サービス応答」フィールドに記述し、親カメラ1へ送信する。また、サービス要求パケット706の「サービス要求フィールド」に、撮影日時の指定などの検索条件が指定されている場合がある。この場合には、子カメラ101が記憶している画像のうち、条件に当てはまる画像を検索する。そして条件に一致した画像の属性情報の一覧をサービス応答パケット707の「サービス応答」フィールドに記述し、親カメラ1へ送信する。なお、属性情報は前述したものに限定されず、例えばExif(Exchangeable Image File Format)形式に準拠した画像ファイルに含まれる属性情報なども含まれる。
【0065】
以上述べたように、本システムでは、親カメラ1が子カメラに対して画像に関する情報を要求することが可能である。子カメラがサービスを実行することで、親カメラ1はネットワーク上に存在する複数台の子カメラが持つ画像について、画像サイズや画像IDやタイトル、撮影日などの属性情報を取得することができる。親カメラ1は、各属性情報と子カメラのIDとを対応付けて、ネットワーク上のスライドショーリストを作成する。また、親カメラ1は、自機器のメモリカード30に自機器で撮影した画像を記憶している場合がある。記憶している画像が存在する場合には、親カメラ1は、作成したスライドショーリストに、自機器の記憶している画像の属性情報を追加して画像一覧リストを更新することも可能である。
【0066】
スライドショーリストは任意の順番で並び替えることが可能である。例えば親カメラ1は、撮影の日付・時刻をキーとして時系列順に画像を並び替えることで、図12のようなスライドショーリストを作成することができる。ここでは、親カメラ1となったデジタルカメラ1がネットワーク上の子カメラ101、102、103が保持している画像に関する情報を収集した場合のスライドショーリストを示している。このスライドショーリストは、撮影の日付・時刻をキーとして時系列順に並び替えられている。このスライドショーリストの特徴の1つは、どのカメラに記憶されている画像かによらず、ネットワーク上の複数の機器が保有する画像がまとめて時系列順に並べられていることである。このことにより、複数のカメラに記憶された画像をまとめて時系列順にスライドショーすることが可能となる。
【0067】
図13は、親カメラ1が図3に示すネットワーク上に存在する子カメラ101、102、103について画像の属性情報を取得した場合に、親カメラ1の表示部13に表示される画面である。子カメラの情報がアイコン1002、1003、1004で示される。ここで、ユーザ操作により開始アイコン1005が選択されると、親カメラ1は、作成したスライドショーリスト801に基づいて、ネットワーク上でのスライドショーを開始する。スライドショーの動作については後述する。
【0068】
<スライドショー>
次に、本実施例において親カメラ1の制御によりネットワーク上の機器でスライドショーを行う動作について示す。なお、本実施形態におけるスライドショーとは、複数の画像を表示部に順次表示する処理をいう。表示する画像の切替えはユーザの操作により行ってもよいし、自動的に切り替わってもよい。
【0069】
ここで、ユーザは所望の順序で画像を表示するよう、親カメラ1に指示することが可能である。親カメラ1は、ユーザの指示にしたがいスライドショーリストを作成する。図14にスライドショーの対象を選択する画面を示す。この画面は、図13の開始アイコン1005が選択されてスライドショーを開始する際に、親カメラ1の表示部13に表示される。全画像表示アイコン1702が選択された場合には、親カメラ1は取得した画像の情報を、予め定められた表示順序に並び替えてスライドショーリストを作成する。表示順序は、撮影日時順、タイトル順、画像のファイル名順などがある。アイコン1703が選択された場合、親カメラ1は取得した画像の情報のうち、前回のスライドショー実行日時より最近に撮影された画像について、予め定められた順序で並び替えてスライドショーリストを作成する。これは、親カメラ1がスライドショー終了時の日時を不揮発性メモリ22に記憶しておくことにより実現可能である。
【0070】
アイコン1704が選択された場合は、テレビ201はネットワーク上のデジタルカメラから取得した全ての画像の情報から、ランダムな順序及び画像枚数を抽出してスライドショーリストを作成する。順序と抽出する枚数のどちらか一方がランダムであってもよい。
【0071】
なお、スライドショーの条件はここに示すものに限らない。特定の属性情報を有するもの、例えば撮影日時が特定の日時である画像のみをスライドショーすることも可能である。
【0072】
スライドショー対象の選択後、ユーザ操作により開始アイコン1705が選択されることにより、親カメラ1はスライドショーを開始する。
【0073】
本実施例ではアイコン1702を選択し、図8で表示した画像リストの順番に従って表示するものとする。
【0074】
図15は、スライドショー実行中の親カメラ1の動作を示したフローチャートである。以下、フローチャートに従って、スライドショー実行中の親カメラ1の動作について示す。本フローチャートでの動作に先立ち、親カメラ1がネットワーク上の子カメラの画像情報を取得し、スライドショーリストを作成しているものとする。また、スライドショー処理における要求や応答は、サービス要求パケット706及びサービス応答パケット707の送受信に基づき行われる。本実施例では親カメラ1として起動されたデジタルカメラのシステム制御回路9が各部を制御することにより、以下の動作が実現される。
【0075】
スライドショー動作が開始されると、ステップS1101において、親カメラ1はネットワーク上の機器に対してスライドショーの開始を通知する。
ステップS1102において、親カメラ1はスライドショー番号Iを初期値に設定する。ここでの初期値は1とする。スライドショー番号とは、スライドショーリストの何番目の画像を表示の対象とするかを示す番号である。
ステップS1103において、親カメラ1はスライドショーリストを参照し、スライドショーリストのI番目の要素を読み出す。
ステップS1104において、親カメラ1はテレビ201に対し、テレビ201が子カメラから画像を取得する際に必要な情報を送信する。ここで送信される情報には、スライドショー番号がIである画像の画像ID、画像のタイトルやURLが含まれる。また、指定した画像をテレビ201にスライドショー表示させるための要求も含まれる。テレビ201がステップS1104で送信された画像の情報を用いて画像を表示する方法については後述する。
【0076】
画像の情報を送信した後、ステップS1105において親カメラ1は、タイマーをスタートする。
ステップS1106において、親カメラ1はタイマーを監視し、予め設定された時間が経過したか否か、すなわちタイムアウトしたか否かを判定する。ここで、予め設定された時間はスライドショーにおける画像1枚当たりの表示時間に相当する。この時間は親カメラ1が自動的に設定してもよいし、ユーザ操作により設定することも可能である。タイムアウトした場合には、処理をステップS1107に進める。タイムアウトしていない場合はタイマーの監視を続行する。
【0077】
ステップS1107において、親カメラ1は、現在のスライドショーリストの番号Iとスライドショーリストの最後の画像の番号とを比較する。現在のスライドショーリストの番号Iが最後の画像のものであったら処理をステップS1109に進める。
【0078】
ステップS1109において、親カメラ1は、ネットワーク上の機器に対してスライドショー終了通知を送信し、動作を終了する。
ステップS1107において番号Iが最後の画像のものでない場合には、親カメラ1は処理をステップS1108に進める。
S1108において、親カメラ1は、スライドショーリストの番号Iの数を一つ増加させ、処理をステップS1103へ戻す。
【0079】
以上述べたように、スライドショー動作において、親カメラ1はスライドショーリストを参照し、画像の情報を順次テレビ201に送信する処理を行う。
【0080】
図16は、スライドショー実行中のテレビ201の動作を示したフローチャートである。以下、フローチャートに従って、スライドショー実行中のテレビ201の動作について示す。なお、本動作はテレビ201のシステムコントローラ207が各部を制御することにより実現される。
【0081】
図15のステップS1101にて、親カメラ1からスライドショーの開始を通知されると、テレビ201はスライドショーの動作を開始する。
ステップS1201において、テレビ201は親カメラ1からデータを受信したか否かを判定する。受信した場合には処理をステップS1202に進める。受信していない場合には処理を繰り返す。
【0082】
ステップS1202において、テレビ201はステップS1202で受信したデータの種類を判別する。親カメラ1から画像に関する情報を受信した場合には、処理をステップS1203に進める。ここでいう画像に関する情報とは、ステップS1104において親カメラ1から送信された情報である。
【0083】
ステップS1203において、テレビ201は、親カメラ1から受信した子カメラのIDや、その子カメラが持つ画像のURL情報に基づいて、子カメラに対して表示画像取得要求を送信する。表示画像取得要求とは、スライドショーに用いるための画像を画像の記憶先に対して要求する信号である。表示画像取得要求には、子カメラがどの画像をテレビに送信するかを特定する情報、例えば画像のIDなどが含まれる。
【0084】
表示画像取得要求を送信した後、ステップS1205において、テレビ201はタイマーをスタートする。
【0085】
ステップS1206において、テレビ201は子カメラから画像を受信したか否かを判定する。画像を受信していない場合は処理をステップS1208に進める。受信していない場合には処理をステップS1207に進める。
ステップS1208において、テレビ201は、タイマーがタイムアウトになっているか否かを判定する。タイムアウトになっていない場合には、処理をステップS1206に戻し受信を待機する。タイムアウトになったら処理をステップS1209に進め、画像受信動作を中断し、ステップS1201へ戻る。
ステップS1206において、テレビ201が画像を受信した場合について説明する。この場合は処理をステップS1207に進め、テレビ201は、受信した画像を表示部203に表示する。画像表示動作を行った後、処理をステップS1201に戻し、スライドショー動作を繰り返す。
【0086】
なお、ステップS1202において、親カメラ1から終了通知を受信した場合は、親カメラ1は処理をステップS1204へ進める。
ステップS1204において、親カメラ1は、現在表示しているカメラIDや画像の表示を終了した上でスライドショー動作を終了する。
【0087】
本実施形態では、テレビ1が子カメラ1に対して表示画像取得要求を送信したが、親カメラ1が表示画像取得要求を送信してもよい。この場合には、親カメラが子カメラに対し、特定の画像をテレビ201に送信するよう要求する。
【0088】
なお、スライドショーが開始された後、最初の画像が表示されるまでは、ユーザは何も表示されない画面を見ることになる。そこで、スライドショーが開始された後に、スライドショーの1枚目の画像を表示するまでは、テレビ201に予め記憶されていた画像をタイトル画像として表示してもよい。また、親カメラ1が開始通知にタイトル画像を添付してテレビ201に表示させてもよい。具体的には、親カメラ1はスライドショーの開始とともに、テレビ201に予め記憶していたタイトル用の画像を送信し、テレビ201に表示させる。
【0089】
図17は、スライドショー実行中の子カメラの動作を示したフローチャートである。以下、フローチャートに従って、スライドショー実行中の子カメラの動作について示す。なお、本動作は、子カメラ1のシステム制御回路9が各部を制御することにより実現される。本フローは一例として、子カメラ101を用いて説明する。
【0090】
図15のステップS1101にて、親カメラ1からスライドショーの開始を通知されると、子カメラはスライドショーの動作を開始する。
【0091】
ステップS1301において、子カメラ101はデータを受信したか否かを判定する。受信した場合には処理をステップS1302に進め、受信していない場合は処理を繰り返す。
ステップS1302において、子カメラ101は受信したデータの種類を判別する。
【0092】
スライドショー処理において子カメラ101が受信しうるデータは、テレビ201からの画像取得要求と、親カメラ1からスライドショーの終了通知とがある。画像取得要求を受信した場合は、処理をステップS1303に進める。終了通知を受信した場合にはステップS1304で終了処理を行った上で、処理を終了する。
【0093】
ステップS1303において、子カメラ101は受信した表示画像取得要求を参照し、表示画像取得要求に含まれる画像のIDを確認する。そしてメモリカード30から、対応する画像のIDを有する画像を読み出す。さらに、読み出した画像をテレビ201に送信し、処理をステップS1301に戻す。
【0094】
親カメラ1から終了通知を受信した場合は、子カメラ101は処理をステップS1303へ進め、スライドショー動作を終了する。
【0095】
図18に、図15のステップS1207における処理の一例として、図12に示すスライドショーリストの3番目の画像、「008.jpg」をテレビ201に表示した状態を示す。テレビ201は、表示画面1401に受信した「008.jpg」の画像を表示する。また、画像の表示と同時に、画面上にステップS1203で取得した子カメラのIDと取得した画像ファイル名を表示する。この表示により、スライドショーを見ているユーザは、現在どのカメラのどの画像がテレビ201に表示されているかを確認することができる。特に、本実施例のように複数のカメラに記憶された画像をまとめてスライドショーする場合には、ユーザはどのカメラに記憶された画像が表示されるか容易に把握できない。したがって、カメラのIDを表示することによって、ユーザは容易に画像が記憶されているデジタルカメラを把握することが可能となる。なお、子カメラ側でカメラIDとファイル名を重畳した画像を生成し、テレビ201に送信してもよい。
【0096】
<画像取得要求>
ここまで、スライドショー表示に関わる親カメラ1、子カメラ101、102、103、テレビ201のそれぞれの動作について説明した。次に、カメラが画像の取得を要求する処理における各端末の動作について説明する。テレビ201はこの処理に直接は関与しない。
【0097】
本実施形態では、まず子カメラが所望の画像を取得したい旨の要求を親カメラに送信する。要求を受けた親カメラは、画像の情報と、画像の持ち主の情報とを子カメラに送信する。子カメラは、親カメラから受信した情報を元に、画像の持ち主であるカメラと通信し、画像そのものの転送処理を行う。
【0098】
まず、子カメラの動作について説明する。図19に画像取得要求を発行したカメラの処理フローチャートを示す。以下に示す親カメラ1、子カメラの動作は、前述したスライドショー表示処理と並行して実行される処理である。すなわち、ユーザは実行されるスライドショーを見ながら、画像を取得するための操作を行う。この際、それぞれの端末にはリアルタイムOS等の機能を利用したマルチタスク処理によって図11、図13に示すシーケンスのタスクと同期して動作するものとする。
【0099】
なお、本動作は、子カメラのシステム制御回路9が各部を制御することにより実現される。また、画像取得要求は親カメラ1からも送信できるものとする。これは、親カメラ1のユーザもスライドショーで表示される画像を取得したい場合があるからである。その場合であっても、基本的な処理は子カメラと同様である。本フローでは、一例として子カメラ101を用いて説明する。
【0100】
ステップS1901において、子カメラ101はユーザ操作により画像取得の指示があったか否かを判定する。指示があった場合には処理をステップS1902に進める。指示がない場合には処理を繰り返す。
【0101】
ここで、ユーザ操作による画像の取得要求について説明する。ユーザはテレビ201に表示された画像のスライドショーを見ながら、自分のデジタルカメラに配信してもらいたいと思う画像を選択する。選択の方法として、テレビ201に所望の画像が表示されているタイミングで、ユーザは所有するカメラの操作部25の操作部材を操作する。ここで画像取得要求を発行するための操作部材は、操作部25のうちいずれに割当てられてもよく、カメラ内で該当する部材の操作に対応して画像取得要求を指示する信号を発行できるものであれば何でもよい。例えば本実施形態におけるデジタルカメラは、スライドショー中にシャッタースイッチ26が押下されたタイミングで画像取得要求を発行する。またスライドショーが開始された場合、子カメラは表示部13にメニューを表示し、その中に取得指示を行うアイコンを表示させてもよい。
【0102】
ステップS1902において、子カメラ101現在表示されている画像取得要求を親カメラ1に送信する。画像取得要求には、自機のカメラIDが含まれる。このカメラIDが画像取得要求の要求元を特定するための情報となる。
ステップS1902で画像取得要求を送信すると、子カメラ101はステップS1903でタイマーをスタートさせる。
ステップS1904において、子カメラ101は、親カメラ1から画像取得要求に対する応答を受信したか否か判定する。要求に対する応答がなければ処理をステップS1905に進める。応答があれば処理をステップS1906に進める。
【0103】
ステップS1905において、子カメラ101はステップS1903でスタートしたタイマーが予め定められた時間を経過しているか否か、すなわちタイムアウトしているか否かを判定する。タイムアウトしていれば処理をステップS1908に進め、それ以降の処理を中止する。タイムアウトしていなければ処理をステップS1904に戻す。
【0104】
次に、ステップS1904において、親カメラ1から応答があったと判定した場合について説明する。
ステップS1906において、子カメラ101は受信した応答の内容を解釈する。子カメラ101が親カメラ1から受信しうる応答は、表示画像情報または画像転送不要通知である。表示画像情報とは、画像取得要求に応答して親カメラ1から送信されるものである。表示画像情報には、子カメラ101が画像取得要求を送信した際にテレビ201に表示されていた画像の情報が含まれる。まず表示画像情報を受信したと判定した場合について説明する。この場合には、処理をステップS1907に進める。
ステップS1907において、子カメラ101は、受信した表示画像情報を記憶し、表示画像情報に基づき実際の画像の転送を要求する。画像の転送処理については後述する。
【0105】
次に、ステップS1906において画像転送不要通知を受信したと判定した場合について説明する。画像転送不要通知とは、子カメラ101に親カメラ1が画像を転送する必要がない旨を通知するものである。例えば、子カメラ101が、自機器のメモリカード30に記憶されている画像に対して画像取得要求を送信した際に、親カメラ1が送信する。画像転送不要通知を受信したということは、ステップS1902で取得要求した画像は自機器の保持する画像である。したがってこの場合には子カメラ101は処理を中止する。
【0106】
ここまで、子カメラの動作について説明した。次に、親カメラ1の動作について説明する。図20に親カメラ1の画像取得・転送動作におけるフローチャートを示す。本動作は、親カメラ1のシステム制御回路9が各部を制御することにより実現される。
【0107】
まずステップS2において、親カメラはいずれかのカメラから画像取得要求を受信する。画像取得要求を発行するカメラは子カメラ101,102,103だけでなく、自機器である親カメラ1も含まれる。親カメラ1は受信した画像取得要求を参照し、要求を発行したカメラのカメラIDを記憶する。
【0108】
ステップS3において、親カメラ1は、現在スライドショーが実行中か否かを判定する。親カメラ1は自らがスライドショーの表示制御を行っているため、処理ステータスを確認することは容易である。スライドショーが実行されていなければ、処理をステップS10に進め、画像取得要求を発行した子カメラに対してスライドショーが終了した旨を通知する。実行されている場合には、処理をステップS4に進める。
【0109】
ステップS4において、親カメラ1は、現在スライドショーにてテレビ201に表示されている画像の情報である表示画像情報を取得する。表示中の画像は、図15のステップS1104において最後に送信した画像の情報に基づき決定することができる。なお、テレビ201に問い合わせを行うことで表示画像除法を取得してもよい。ここで取得する表示画像情報は、画像を一意に特定できる情報であることが必要である。図3に示す本実施例のネットワークシステムにおいて複数台のデジタルカメラが保持する画像の1つを特定するためには、画像のIDと画像が記憶されているカメラのIDとが最低限必要である。そこで、ステップS4では少なくともこれら2つの属性情報を表示画像情報として取得する。
【0110】
ステップS5において、親カメラ1は、画像取得要求に含まれるカメラID、すなわち送信元のカメラのカメラIDが、親カメラ1のカメラIDと等しいか否かを判定する。本実施形態では、親カメラ1も子カメラと同様、自機器に記憶した画像をスライドショーの再生対象とできるし、画像取得要求を行うことも可能である。しかしながら、取得を要求するカメラが自機器であるなら、後述する表示画像情報を送信する必要はない。すなわち、ステップS5において等しいと判定された場合には表示画像情報を送信する必要はない。したがって親カメラ1は処理をステップS6に進め、表示画像情報を自機器のメモリ20に記憶し動作を終了する。一方、ステップS5において、自機器からの画像取得要求でないと判定すると、親カメラ1は、処理をステップS7に進める。
【0111】
ステップS7において、親カメラ1は、表示画像情報に含まれるカメラIDと、画像取得要求に含まれるカメラIDの比較を行う。子カメラからの取得要求は必ずしも他のカメラへのものではなく、ユーザが気付かずに、或いは誤って自機器に記憶されている画像に対して発行される場合もある。このような場合に無駄な転送処理を避けるため、本ステップを実行する。カメラIDが等しい場合には処理をステップS8に進める。異なる場合には処理をステップS9に進める。
【0112】
ステップS8において、親カメラ1は画像の交換、転送が不要の旨の通知を、画像取得要求の送信元である子カメラに対して行う。
ステップS9において、親カメラ1は、表示画像情報を画像取得要求の送信元である子カメラに対して送信する。
【0113】
ここまで、画像取得要求処理について述べた。以上述べたように、スライドショーの実行中に、子カメラが画像の取得要求を行うと、親カメラが表示中の画像を特定する情報を子カメラに送信する。このようにすることで、子カメラは複数のデジタルカメラに記憶されている画像の情報を簡単に得ることができる。
【0114】
<画像転送>
次に、画像転送処理について述べる。画像取得要求処理では属性情報を送受信していたが、画像転送処理では、実際に画像そのもの(以下、「本画像」)が転送される。本実施形態における画像転送処理では、転送を要求したデジタルカメラと要求された画像を所有するデジタルカメラとが直接通信して本画像の転送処理を行う。
【0115】
図21に画像転送処理の詳細を示すフローチャートを示す。以下、子カメラ101が、子カメラ102に記憶されている本画像の取得を要求するケースを例として述べる。子カメラ101の動作を点線左側に、子カメラ102の動作を点線右側に示す。なお、本処理を親カメラ1が行う場合であっても同様の動作を行う。
【0116】
本フローは、図19のステップS1906において、子カメラ101が表示画像情報を受信した場合に開始される。
ステップS2001において、子カメラ101は、本画像転送要求を送信する。本画像転送要求とは、本画像を記憶している機器に対し、本画像を転送するよう要求するものである。本画像を記憶している機器は表示画像情報に含まれるカメラIDから特定可能である。したがって、子カメラ101のユーザは、要求を行う相手を複数の候補から選択する必要はない。本画像転送要求は、表示画像情報から取得した画像のID、及び自機器(ここではカメラ101)のカメラIDが含まれている。
【0117】
ステップS2003において、子カメラ102は本画像転送要求を受信する。そして受信した本画像転送要求を参照し、要求元のカメラのカメラIDと画像IDとを抽出しメモリ20に記憶する。
【0118】
ステップS2004において、子カメラ102は、抽出した画像IDに基づき、自機器のメモリカード30を検索する。そして画像IDに対応する本画像を読み出す。
【0119】
ステップS2005において、子カメラ102は、ステップS2004で読み出した本画像を子カメラ101に送信し、処理を終了する。送信先が子カメラ101であることは、ステップS2003で抽出したカメラIDに基づき特定できる。
【0120】
ステップS2002において、子カメラ101は本画像を受信し、自機器のメモリカード30に本画像を記憶し、処理を終了する。
【0121】
このようにして、子カメラ101は所望の画像を取得することができる。
【0122】
以上が本実施形態におけるシステムの説明となる。本システムでは、複数台のデジタルカメラが持つ画像を一括してスライドショーする。したがって、複数のユーザが複数のカメラに記憶された画像を同時に閲覧することが可能である。そして画像の閲覧中に、複数のカメラから画像の取得要求を行うことが可能である。したがって、ユーザは他のデジタルカメラと個別に通信することなく、簡単に画像の取得要求をおこなうことが可能である。
【0123】
また、複数のデジタルカメラの画像をテレビの画面に表示することで、ユーザにとって画像の確認がしやすくなる。
【0124】
本実施形態では複数台のデジタルカメラとテレビ201によるホームネットワークについて説明した。しかし、本発明の適用範囲は本実施形態には限定されない。例えば、画像ビューワーやハードディスク、携帯電話等、画像を記憶することが可能なネットワーク機器についても適用可能である。
【0125】
また本実施形態では、親カメラ1が画像の属性情報の収集やスライドショーの一元表示、画像取得要求に対する表示画像の属性情報の通知といった各制御を行っていた。しかし、本発明はこの例に限定されるものではない。例えばテレビ201、或いはスライドショー制御専用の端末が親カメラ1の機能を実行してもよい。
【0126】
さらに本実施形態では、本画像の転送処理をスライドショー表示処理中に並行して実行するようにした。しかし、本発明はこの例に限られるものではない。例えば、得られる表示画像情報をカメラのメモリ20、もしくは不揮発性メモリ22に記憶しておく。この場合、図22に示すリスト形式で記憶しておくのが望ましい。そしてスライドショー終了後に、図21のリストにしたがい、ネットワーク内で、あるいは1対1のネットワークを確立し、画像を取得する場合でも本発明は適用することができる。この場合、複数の画像取得要求があった場合でも、ユーザが操作することなく、図21に示す転送処理を自動的に順次実行できることが望ましい。そうすれば、ユーザは簡単に複数のデジタルカメラに記憶された画像を取得することが可能となる。
【0127】
なお、ホームネットワークを形成する上でそれぞれの端末が通信に用いた通信パケットフォーマットや画像取得要求信号を発行する操作部材等は、本実施形態に限定されるものではない。
【0128】
また、本システムはテレビ201がない場合であっても、デジタルカメラの画像表示部13を用いてスライドショーなどを表示させることも可能である。この場合には、親カメラまたは子カメラは、表示装置としての役割も兼ねることになる。
【0129】
さらに、本システムはテレビ201が親カメラとしての役割を兼ねてもよい。この場合には、テレビ201は画像を表示する手段とネットワーク上の機器を制御する手段の両方を備えることとなる。
【0130】
<第2の実施形態>
第1の実施形態では、複数のデジタルカメラが保持する画像を順次スライドショーし、そのうち所望の画像を簡単に転送する処理に付いて説明した。本実施形態では、転送処理だけでなく、スライドショーされた画像の印刷予約を簡単に行う方法について説明する。
【0131】
なお、本実施形態は第1の実施形態と共通する点が多い。そこで、第1の実施形態と同様の部分は説明を省略し、本実施形態に特有の部分について詳細に説明する。本実施形態におけるシステムの大きな特徴は、スライドショー表示中に、デジタルカメラが画像取得要求だけでなく画像印刷要求を送信できる点である。
【0132】
図23に親カメラ1の印刷要求処理のフローチャートを示す。
【0133】
まずステップS2101において、親カメラ1はいずれかのカメラから画像印刷要求を受信したか否かを判定する。受信したと判定した場合には処理をステップS2102に進める。受信していない場合には処理を繰り返す。
【0134】
なお、子カメラが画像印刷要求を行う処理は基本的に画像取得要求の場合と同様である。画像印刷要求には送信元のカメラIDが含まれる。このカメラIDが画像印刷要求の要求元を特定するための情報となる。ただし、画像印刷要求を行うための操作部材は画像取得要求を行うためのものとは別の部材が割当てられる。またはメニューに選択画面を表示してもよい。画像取得要求は子カメラ101,102,103だけでなく、自機器である親カメラ1も行うこともできる。
【0135】
ステップS2102において、親カメラ1は画像印刷要求に含まれるカメラIDを参照し、送信元のカメラIDをメモリ20に記憶する。
【0136】
ステップS2103において、親カメラ1は現在スライドショー処理を行っているか否かを判定する。親カメラは自らがスライドショー表示制御を行っているため処理ステータスを確認することは容易である。スライドショー表示を終了していれば、或いはスライドショー表示を行っていなければ処理をステップS2109に進める。ステップS2109において、親カメラ1は画像印刷要求を発行した子カメラに対し、スライドショーが終了した旨を通知し、処理を終了する。一方、現在スライドショーを実行している途中であれば、処理をステップS2104に進める。
【0137】
ステップS2104において、親カメラ1は、スライドショー処理において現在テレビ201に表示中の画像の情報を取得する。取得の方法は第1の実施形態と同様である。複数台のデジタルカメラに記憶されている画像の1つを特定するためには、画像のIDと画像が記憶されているカメラのIDとが最低必要である。そこでステップS2104において、親カメラ1は少なくともこれらの2つの情報を取得する。
【0138】
ステップS2105において、親カメラ1はステップS2104で取得したカメラIDが、親カメラ1のカメラIDと等しいか否かを判定する。等しいと判定した場合には処理をステップS2106に進める。異なると判定した場合には処理をステップS2107に進める。
【0139】
ステップS2107において、親カメラ1は、印刷を希望する画像を記憶しているカメラに対し、印刷パラメータ書換要求を送信する。印刷パラメータ書換要求とは、他のカメラが持つ画像を印刷するためのパラメータを書き換えることを要求する信号である。
【0140】
本実施形態における印刷パラメータ書換要求は、印刷管理ファイルの一種であるDPOF(Digital Print Order Format)ファイルを書き換える要求である。本システムにおける各デジタルカメラは、メモリカード30にDPOFファイルを記憶することが可能である。 この要求は、サービス要求パケット706のサービス要求フィールドに、印刷を要求する画像の印刷枚数パラメータを1増分させる命令を書き込むことで実現できる。印刷を要求する画像はステップS2104で受信した画像IDを用いて指定する。印刷パラメータ書換要求を受信したデジタルカメラは、その内容にしたがい、自機に記憶されたDPOFファイルを書き換える。
【0141】
図24にDPOFファイル構成を示した図を示す。DPOFファイルはルートディレクトリ2200の直下にある”MISC”ディレクトリ2202の下に構成されるファイルである。DPOFファイルは大きく4種類に分類される。まず、自動プリントファイルAUTPRINT.MRX2203がある。さらにUNICODE文字列記述ファイルUNICODE.MRX2204、ファイル自動送信ファイルAUTXFER.MRX2205、自動再生ファイルAUTPLAYn.MRK (nは0〜9の整数)2206がある。このうち自動プリントファイルAUTPRINT.MRX2203はプリントプロダクトID、プリント種類、プリント部数、ファイルフォーマット、画像ファイルのパス情報等を保持している。印刷パラメータ書換要求は、自動プリントファイル2203を更新し、プリント部数パラメータを変更するための要求である。
【0142】
ステップS2108において、親カメラ1は、画像印刷要求の送信先からサービスの実行が完了した旨の通知を受信し、その完了信号を返信して印刷要求処理を完了する。
【0143】
次に、ステップS2105において表示画像情報に含まれるカメラIDが親カメラ1のカメラIDと等しいと判定された場合について述べる。この場合は処理はステップS2106に進む。
【0144】
表示画像情報に含まれるカメラIDが親カメラ1のカメラIDと等しいと判定されたということは、親カメラが記憶している画像に対して印刷を要求されたことになる。画像印刷要求の対象が自機器のものであれば、印刷パラメータを書換要求を他の端末に送信する必要はない。したがって、ステップS2106で親カメラ1は、自機器のメモリカード30に図22のディレクトリ構成で記憶されているDPOFファイルの印刷パラメータを書き換え、ファイルを処理を終了する。
【0145】
印刷要求処理を終了後、ユーザは各デジタルカメラとプリンタ(図示せず)を接続し、DPOFファイルにしたがった印刷を指示する。このことにより、プリンタからは要求された画像が要求された枚数だけプリントされることになる。
【0146】
以上のように、本実施形態における親カメラは、スライドショー中に受信した印刷要求に応じて、本画像を有するデジタルカメラのDPOFファイルを書き換える要求を送信することとした。このことにより、ユーザはスライドショー中に印刷要求を行うだけで、複数のデジタルカメラに記憶された画像を簡単にプリントさせることができる。また、プリントを要求される側のユーザも、どのデジタルカメラから、どの画像を、何枚要求されているのかを逐一管理する必要がなくなる。
【0147】
<第3の実施形態>
第2の実施形態では、複数の端末からの印刷の要求に対応できるシステムについて説明した。本実施形態では、画像印刷要求の送信元を考慮して画像印刷要求を処理することが可能なシステムについて説明する。
【0148】
本実施形態は第1・第2の実施形態と共通する部分が多いため、かかる部分は説明を省略し、本実施形態の特徴となる部分を主に説明する。第2の実施形態では、画像印刷要求の内容をDPOFファイルのプリンタ部数パラメータに反映させた。本実施形態の特徴は、画像印刷要求したユーザ毎にDPOFファイル内のプリンタパラメータの書換えを行うことである。
【0149】
図26に、本実施形態における子カメラが画像印刷要求を行うフローチャートを示す。ここでは一例として、子カメラ101が処理を行うものとする。
【0150】
まず、ユーザはテレビ201に表示されたスライドショーを見ながら、印刷を希望する画像を選択する。もしテレビ201に所望の画像が表示されたら、表示されているタイミングでユーザは印刷要求を指示する操作を行う。ユーザの操作を受けた子カメラ101は、本シーケンスを開始する。
【0151】
ステップS2600において、子カメラ101はユーザ情報の読み出しを行う。ユーザ情報は、予め子カメラ101の不揮発性メモリ22に登録された情報である。
【0152】
ユーザ情報の登録画面の一例を図25に示す。ユーザは操作部25を操作し、ユーザ名入力欄2502にユーザ名を入力し、「保存」2503を選択する。ユーザ情報は複数登録することや削除することも可能である。
【0153】
ステップ2601において、子カメラ101は画像印刷要求を親カメラ1に送信する。画像印刷要求には、自機のカメラID及びステップS2600で読み出したユーザ情報が含まれる。
【0154】
画像印刷要求を送信すると、ステップS2602において子カメラ101はタイマーを設定し、時間の計測を開始する。
ステップS2603において、子カメラ101は親カメラ1から画像印刷要求に対する応答、つまり画像印刷要求の完了通知を受信したか否かを判定する。受信していなければ処理をステップS2605に進め、タイムアウトしていれば処理を終了する。受信していれば処理を終了する。
【0155】
次に、親カメラ1の動作であるが、基本的には第2の実施形態と同様である。ただし、図23のステップS2107において送信する印刷パラメータ書換要求には、図26のステップS2600で読み出されたユーザ情報が含まれる点が異なる。
【0156】
次に、子カメラが、親カメラ1から印刷パラメータ書換要求を受信したときに行う処理について、図27を用いて説明する。ここでは例として子カメラ102が印刷パラメータ書換要求を受信したものとする。印刷パラメータ書換要求はスライドショー中に随時受信され得るものであるから、以下の処理は図26に示すフローと並行して実行される。
【0157】
ステップS2801において、子カメラ102は印刷パラメータ書換要求を受信したか否かを判定する。受信した場合は処理をステップS2801に進める。受信していない場合には処理を繰り返す。
ステップS2802において、子カメラ102は印刷パラメータ書換要求に含まれる要求元ユーザ情報が自機のユーザ情報と同じか否か判定する。同じと判定した場合には処理をステップS2803に進める。異なると判定した場合には処理をステップS2804に進める。
ステップS2803において、子カメラ102はメモリカード30に記憶されたDPOFファイルを書き換える。この場合の印刷パラメータ書換要求は子カメラ102自身が送信したものである。したがって、自機器用の書き換え処理を行う。自機器用の書き換え処理については後で詳しく述べる。
ステップS2804において、子カメラ102はメモリカード30に記憶されたDPOFファイルを書き換える。この場合の印刷パラメータ書換要求は子カメラ102以外の他の機器から送信されたものである。したがって、他機器用の書き換え処理を行う。他機器用の書き換え処理については後で詳しく述べる。
ステップS2805において、子カメラ102は親カメラ1に書き換えが完了した旨の通知を行い、本処理を終了する。
【0158】
以下、ステップS2802の書き換え処理について具体的に述べる。ここでは一例として、カメラ102に記憶された画像”/DCIM/100ABCD/ABCD0001.JPG”に対して画像印刷要求が行われたものとする。
【0159】
まず、カメラ102が画像印刷要求を送信した場合、すなわち画像の持ち主が自信の画像の印刷を要求した場合を考える。これは、ステップS2803における自機器用の書き換え処理に相当する。カメラ102のユーザ情報は”Tanaka Taro”とする。
【0160】
この場合、自機器に保持するDPOFファイル”MISC/AUTOPRINT.MRK2203”に記述される内容を図28(a)に示す。記述されるのは、機器情報・ユーザ情報を含むヘッダー部2701と、印刷画像情報を含む印刷ジョブ2702である。ヘッダー部2701は、”USR NAM”というパラメータが記述され、ここにユーザ情報”Tanaka Taro”が記述される。
【0161】
以上の処理に続けて、今度はカメラ102以外のデジタルカメラから、画像”/DCIM/100ABCD/ABCD0001.JPG”に対する画像印刷要求が送信された場合の書き換え処理について説明する。これは、ステップS2804における他機器用の書き換え処理に相当する。ここでは一例として、カメラ101から画像印刷要求が送信されたものとする。カメラ101のユーザ情報は”Yamada Jiro”とする。
【0162】
この場合、カメラ102は、メモリカード30に記憶されたDPOFファイルMISC/AUTOPRINT.MRK2203を書き換える。このときに記述する内容を図28(b)に示す。このDPOFファイルには、DPOFのベンダー拡張を用いたヘッダー部2703と、印刷画像情報を含む印刷ジョブ2704と、DPOFのベンダー拡張を用いたフッター部2705が記述される。ヘッダー部2703とフッター部2705には機器情報及びユーザ情報が記述される。このヘッダー部とフッター部に囲まれている印刷ジョブ2704が、”Yamada Jiro”から要求されている印刷ジョブである。
【0163】
さらに、カメラ101からカメラ102の所持する画像の画像印刷要求が送信された場合、カメラ102は機器情報”Camara101”及びユーザ情報”Yamada Jiro”を含むヘッダー部とフッター部を検索する。その結果、ヘッダー部2703とフッター部2705に囲まれた部分が”Yamada Jiro”の印刷ジョブであることを認識する。そして、印刷パラメータ書換要求の内容にしたがい、印刷ジョブを追記する。図28(b)の場合であれば、印刷ジョブ2704の次、すなわち印刷ジョブ2704とフッター部2705の間に新たな印刷ジョブが追記される。
【0164】
このように、ユーザ情報を記述したヘッダー部とフッター部の間に印刷ジョブを記述することで、印刷の対象となる画像の属性情報とユーザ情報が関連付けられる。したがって、ユーザ情報毎に印刷ジョブを管理することが可能である。
【0165】
以上述べた印刷パラメータ書換え処理は、子カメラ101、102、103及び親カメラ1において同様であり、画像印刷要求を行った機器に応じたDPOFパラメータを記述する。
【0166】
ここまで、画像印刷要求処理について述べた。次に、画像印刷要求が終了した後、画像印刷要求を行った画像を確認する処理について説明する。本実施形態では、印刷を要求した画像のサムネイルを、後からユーザが閲覧することが可能である。本処理(以下、「閲覧処理」とする)図29に、閲覧処理において親カメラ1が行う処理のフローチャートを示す。
【0167】
まず、ステップS2901において、親カメラ1はいずれのカメラから閲覧要求を受信する。閲覧要求は、印刷を要求した画像の閲覧を要求する信号であり、送信元のカメラIDとユーザ情報が含まれる。閲覧要求を発行するカメラは子カメラ101、102、103だけでなく自機器である親カメラ1も該当する。親カメラ1は、閲覧要求に含まれるカメラIDとユーザ情報とメモリ20に記憶する。
【0168】
ステップ2902において、親カメラ1は、子カメラ101、102、103に閲覧要求を送信する。この処理により、親カメラ1は印刷要求があったことを他のカメラに対して通知し、サムネイルを要求する。もちろん、ユーザ情報やカメラID、画像のファイル名などを要求してもよい。
【0169】
次に、ステップS2903において、親カメラ1はステップS2902で送信した閲覧要求に対する応答として子カメラからサムネイルを受信したか否かを判定する。受信した場合には処理をステップS2904に進める。受信しない場合には処理を繰り返す。一定時間受信がない場合には処理を終了してもよい。
【0170】
ステップS2904において、親カメラ1は、閲覧要求に含まれるカメラIDと親カメラIDとが等しいか否かを判定する。等しくない場合、処理をステップS2905に進める。等しい場合には処理をステップS2906に進める。
【0171】
ステップS2905において、親カメラ1はステップS2903で受信したサムネイルを、閲覧要求を送信したデジタルカメラに送信し、処理を終了する。
【0172】
ステップS2904において、閲覧要求に含まれるカメラIDと親カメラIDとが等しい場合は、親カメラ1が閲覧を要求していることになる。したがって、ステップS2905において、親カメラ1はステップS2903で受信したサムネイルを画像表示部13に表示する。
【0173】
次に、ステップS2902において送信された閲覧要求を受信したデジタルカメラの処理について説明する。ここでは一例として子カメラ102が閲覧要求を受信したものとする。図30に本処理におけるフローチャートを示す。
【0174】
まずステップS3201において、子カメラ102は閲覧要求を受信したか否かを判定する。受信した場合には処理をステップS3202に進める。受信していない場合には処理を繰り返す。
【0175】
ステップS3202において、子カメラ102は、受信した閲覧要求に含まれるユーザ情報を取得し、メモリ20に記憶する。
【0176】
ステップS3203において、子カメラ103は、メモリカード30に記憶されたDPOFファイルから、ステップS3203で取得したユーザ情報が記述されているヘッダー部2703及びフッター部2705を検索する。そして、検索されたヘッダー部2703とフッター部2705の間にある印刷ジョブ2704に記述された画像ファイル名を参照する。そして、この画像ファイル名に対応する画像のサムネイルや属性情報をメモリカード30から読み出す。
【0177】
ステップS3204において、子カメラ102はサムネイルを親カメラ1に送信し、処理を終了する。
【0178】
図31は、閲覧要求後、閲覧要求したデジタルカメラの画像表示部13に表示される画面である。表示画面3001にて、印刷を要求した画像のサムネイル及び画像に関する属性情報が表示される。図31では、子カメラ101のユーザである”Yamada Jiro”が、子カメラ102に対して閲覧要求を行った結果を示す。ユーザは、子カメラ101の操作部25を操作することで、画像の記憶先を示すカメラID3004と、印刷要求元のユーザ情報3002を選択することが可能である。また、印刷指定した画像のサムネイル画像3003を表示するとともに、その画像の印刷形式が表示される。例えば、印刷枚数3005やスタンダード印刷・インデックス印刷などの印刷形式3006が表示される。図示していないが、印刷用紙サイズ、印刷用紙タイプ、イメージオプティマイズ、トリミング枠、画像回転、レイアウトなどの情報を表示することも可能である。
【0179】
図32(a)は、子カメラ101の画面3100にて、既に行った画像印刷要求をキャンセルするための画面を示す。一例として、子カメラ101のユーザ”Yamada Jiro”が子カメラ102に対して行った印刷指定をキャンセルする場合を考える。この場合、子カメラ101のユーザが操作部25を操作し、印刷対象となる画像の記憶先3101と、自機のユーザ情報3102を選択する。
【0180】
子カメラユーザが「キャンセル」3103を選択すると、子カメラ101はその旨を子カメラ102に通知する。通知を受信した子カメラ102は、DPOFファイルから”Yamada Jiro”を含むヘッダー部2703・印刷ジョブ2704・フッター部2705を削除する。
【0181】
子カメラ101が「全指定のキャンセル」3104を選択すると、子カメラ102にその旨が通知され、子カメラ102は印刷指定情報であるDPOFファイル自身を削除する。
【0182】
図32(b)は、カメラ102に記憶されている画像を印刷するようカメラ101から指示するための画面を示す。この画面はカメラ101の画像表示部13に表示される。カメラ101のユーザ”Yamada Jiro”は、図32(a)と同様、カメラ101の操作部25を操作することで、カメラID3111とユーザ情報3112を選択する。
【0183】
カメラ101のユーザが「印刷開始」3113を選択すると、カメラ101は、カメラ102にその旨を通知する。通知を受信したカメラ102は、DPOFファイルのうち”Yamada Jiro”を含むヘッダー部2703及びフッター部2705を検索する。そして、検索したヘッダー部2703及びフッター部2705間にある印刷ジョブ部2704を印刷するよう、接続したプリンタ(図示せず)に対し、印刷を指示する。
【0184】
以上述べたように、本実施形態では、画像印刷要求に要求元のユーザ情報を含ませ、そのユーザ情報を用いてDPOFファイルを更新するようにした。このことにより、ユーザ毎に印刷を要求を行った画像の閲覧を行ったり、ユーザ毎に画像の印刷を行うことが可能となる。
【0185】
本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。供給の形態はシステムあるいは装置記憶媒体に直接アクセスすることで供給されてもよいし、他の装置を介して供給されてもよい。
【0186】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現させることになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0187】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0188】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0189】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【0190】
【図1】第1の実施形態におけるデジタルカメラのブロック図である。
【図2】第1の実施形態におけるテレビのブロック図である。
【図3】第1の実施形態におけるネットワーク構成例を示す図である。
【図4】第1の実施形態においてデジタルカメラの役割を決定する画面を示す図である。
【図5】第1の実施形態における親カメラの処理手順を示すフローチャートである。
【図6】第1の実施形態における子カメラの処理手順を示すフローチャートである。
【図7】第1の実施形態におけるパケットの形式について示す図である。
【図8】第1の実施形態におけるパケットの形式について示す図である。
【図9】第1の実施形態におけるパケットの形式について示す図である。
【図10】第1の実施形態におけるパケットの形式について示す図である。
【図11】第1の実施形態における親カメラによって検出された子カメラを表示する画面を示す図である。
【図12】第1の実施形態におけるスライドショーリストを示す図である。
【図13】第1の実施形態における親カメラ1によって検出された複数の子カメラを表示する画面を示す図である。
【図14】第1の実施形態におけるスライドショー設定画面画面を示す図である。
【図15】第1の実施形態における親カメラのスライドショー処理時の動作を示すフローチャートである。
【図16】第1の実施形態における表示装置のスライドショー処理時の動作を示すフローチャートである。
【図17】第1の実施形態における子カメラのスライドショー処理時の動作を示すフローチャートである。
【図18】第1の実施形態におけるスライドショー画面を示す図である。
【図19】第1の実施形態における子カメラの画像取得要求を示す図である。
【図20】第1の実施形態における親カメラの画像取得要求処理時の動作を示すフローチャートである。
【図21】第1の実施形態におけるカメラ間の画像転送処理時の動作を示すフローチャートである。
【図22】第1の実施形態における画像取得要求のリストを示す図である。
【図23】第2の実施形態における親カメラの印刷要求処理時の動作を示すフローチャートである。
【図24】第2の実施形態におけるデジタルカメラのファイル構成を示す図である。
【図25】第3の実施形態におけるユーザ登録画面を示す図である。
【図26】第3の実施形態における子カメラの印刷要求処理時の動作を示すフローチャートである。
【図27】第3の実施形態における子カメラのDPOFファイル書き換えの動作を示すフローチャートである。
【図28】第3の実施形態におけるDPOFファイルを示す図である。
【図29】第3の実施形態における親カメラの閲覧処理時の動作を示すフローチャートである。
【図30】第3の実施形態における子カメラの閲覧処理時の動作を示すフローチャートである。
【図31】第3の実施形態における画像の確認画面を示す図である。
【図32】第3の実施形態における画像の印刷に関する指示画面を示す図である。
【技術分野】
【0001】
本発明は、画像処理端末間で容易に画像の交換を行うためのネットワーク制御装置、画像処理装置、それらの制御方法、プログラムに関する。
【背景技術】
【0002】
デジタルデータは画像の編集、通信が容易であり、幅広い用途で用いられる。これらのデジタルデータは、CDやDVD、ハードディスクなどの電子記録媒体による保存が一般的になっている。
【0003】
これらのデジタルデータを異なる画像処理端末間で授受するためには、様々な方法がある。例えばデジタルカメラなど画像処理端末の場合、着脱可能な記録媒体をユーザ間で受け渡すことでデジタルデータを授受する方法が知られている。また、インターネットのWEB上で共有エリアを設定し、提供者側の端末が共有エリアにアップロードしたデジタルデータを、被提供者側の端末がダウンロードする方法も知られている。さらに、画像処理端末同士をダイレクトに接続し、ネットワーク通信を利用して提供者側の端末から被提供者側の端末にデジタルデータを送信する方法も知られている(例えば、特許文献1)。
【特許文献1】特開2003−234987号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、複数のユーザがビューワーやカメラ等それぞれの画像処理端末にデジタルデータとして画像を保持し、それらをお互いに交換するケースを考えると、依然として煩雑な処理が必要である。つまり、複数のユーザが保持する画像を一括して閲覧する方法と、閲覧後の画像交換をスムーズに行う仕組みが存在しないという問題がある。例えば複数の人数で旅行に出かけ、参加者各人がデジタルカメラで撮影した画像や、携帯画像ビューワーなどに予め記憶された画像をユーザ同士が交換する場合を想定する。
【0005】
従来では画像処理端末の持つ通信機能を用いて端末同士がダイレクトに交換する方法がある。但し通常はPeer to Peerの画像交換でありN個の画像処理端末がそれぞれの画像交換をする場合には、N(N−1)/2回の端末の組み合わせで交換処理を行わなければならず処理が煩雑である。
【0006】
また、公衆ネットワークに接続することで遠隔地のサーバーを介して画像の交換を行う方法がある。これにより1つの画像処理端末が保持する画像をサーバーにアップロードし、他の画像処理端末がサーバーからダウンロードする方法である。しかしこの方法は、始めに全ての画像処理端末が共有するネットワークサーバーに接続することが前提である。既に目の前の端末にある画像を閲覧するためにわざわざ公衆回線を利用することや、お互いにデータを共有するサーバーを決定するのは煩雑である。さらに公衆ネットワークへの接続ができない場所ではこの方法は使えない。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する属性情報取得手段と、前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御手段と、前記画像の表示中に、前記複数の画像処理装置から画像の取得要求を受信する受信手段と、前記取得要求に応じて、表示中の画像の属性情報を前記取得要求の要求元の画像処理装置に送信する表示情報送信手段とを有する。
【0008】
また本発明は、他の画像処理装置から送信された画像が表示部に順次表示されている間に、特定の操作が行われたか否かを判定する操作判定手段と、前記特定の操作を検知した場合に、前記ネットワーク制御装置に対して画像の取得要求を送信する送信手段と、前記取得要求に応答して前記ネットワーク制御装置から送信された画像の属性情報を受信する属性情報受信手段とを有し、前記属性情報は、前記取得要求を送信した際に前記表示部に表示されていた画像のIDを含むことを特徴とする。
【0009】
また本発明は、印刷の対象となる画像の属性情報を記述した印刷管理ファイルを記憶する管理ファイル記憶手段と、前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する取得手段と、前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御手段と、前記表示部での表示中に、前記複数の画像処理装置から画像の印刷要求を受信する受信手段と、前記印刷要求に応じて、表示中の画像を印刷するよう前記印刷管理ファイルを更新するよう指示する更新指示手段とを有する。
【0010】
また本発明は、他の画像処理装置から送信された画像が表示装置に順次表示されている間に、特定の操作が検知されたか否かを判定する操作判定手段と、前記特定の操作を検知した場合に、前記ネットワーク制御装置に画像の印刷要求を送信する送信手段とを有する。
【発明の効果】
【0011】
本発明によれば、ユーザはスライドショーを見ながら画像を選択することにより、他の画像処理装置との画像交換や印刷をスムーズに行うことができる。
【発明を実施するための最良の形態】
【0012】
以下、この発明の最良の実施形態を図面と共に詳述する。
【0013】
<第1の実施形態>
本実施例では複数台のデジタルカメラとテレビ201とがホームネットワークを形成し、テレビ201に複数台のデジタルカメラの画像を表示すると共に、デジタルカメラ同士で保持する画像の交換を行う方法について説明する。
【0014】
<デバイス構成>
図1は、本発明の実施形態におけるデジタルカメラの構成を示す図である。以下、本発明の実施形態におけるデジタルカメラの構成について説明する。
100は本実施形態におけるデジタルカメラである。
2は撮影レンズ、3は絞り機能を備えるシャッター、4は光学像を電気信号に変換する撮像素子、5は撮像素子4のアナログ信号出力をデジタル信号に変換するA/D変換器である。
6は撮像素子4、A/D変換器5、D/A変換器7にクロック信号や制御信号を供給するタイミング発生回路であり、メモリ制御回路8及びシステム制御回路9により制御される。
【0015】
10は画像処理回路であり、A/D変換器5からのデータ或いはメモリ制御回路8からのデータに対して所定の画素補間処理や色変換処理を行う。
8はメモリ制御回路であり、A/D変換器5、タイミング発生回路6、画像処理回路10、画像表示メモリ11、D/A変換器7、メモリ12を制御する。
【0016】
A/D変換器5のデータが画像処理回路10、メモリ制御回路8を介して、或いはA/D変換器5のデータが直接メモリ制御回路8を介して、画像表示メモリ11或いはメモリ12に書き込まれる。
【0017】
11は画像表示メモリ、7はD/A変換器、13はTFT LCD等から成る画像表示部であり、画像表示メモリ11に書き込まれた表示用の画像データはD/A変換器7を介して画像表示部13により表示される。
画像表示部13を用いて撮像した画像データを逐次表示すれば、電子ファインダー機能を実現することが可能である。
【0018】
12は撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。
14は絞り機能を備えるシャッター3を制御する露光制御手段であり、フラッシュ17と連携することによりフラッシュ調光機能も有するものである。
【0019】
15は撮影レンズ2のフォーカシングを制御する測距制御手段、16は撮影レンズ2のズーミングを制御するズーム制御手段である。
17はフラッシュであり、AF補助光の投光機能、フラッシュ調光機能も有する。
【0020】
9はデジタルカメラ1全体を制御するシステム制御回路であって、各部から入力される信号またはプログラムに応じて、各部の動作を制御する。20はシステム制御回路9の動作用の定数、変数、プログラム等を記憶するメモリである。
【0021】
18は電源制御手段で、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されている。電源制御手段18は電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御回路9の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。19はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる電源手段である。
【0022】
21はシステム制御回路9でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメッセージ等を表示する液晶表示装置、スピーカー等の状態報知部である。状態報知部21はデジタルカメラ1の操作部近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLED、発音素子等の組み合わせにより構成されている。
【0023】
22は電気的に消去・記録可能な不揮発性メモリである。ここに機器の無線設定情報を記憶することができる。
23はメモリカードを接続する為のメモリカードインターフェースであり、24は外部機器とUSBを用いて接続する為のUSBインターフェースである。
25は、システム制御回路9の各種の動作指示を入力するための操作手段であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
【0024】
26はシャッタースイッチで、撮像素子4から読み出した信号をA/D変換器5、メモリ制御回路8を介してメモリ12に画像データを書き込む露光処理、画像処理回路10やメモリ制御回路8での演算を用いた現像処理という一連の処理の動作開始を指示する。
【0025】
27は無線通信回路であり、無線信号を送受信し、無線通信を制御する。28は他の機器と無線通信を行うためのアンテナである。
【0026】
29は自機器の位置を特定するための位置取得装置である。位置取得装置29の一例としてGPS(Global Positioning System)があり、衛星からの電波を受信し自機器の位置を特定することが可能である。電波の受信は定期的に行ってもよいし、特定のタイミング、例えば操作部25のうち特定の操作部材が操作されたタイミングで受信したり、シャッタースイッチ26が押されたタイミングで受信してもよい。
【0027】
30はメモリカードであり、メモリカードインターフェースを介して送られてきた画像を記憶する。なお、本実施例におけるメモリカード30はデジタルカメラ1と着脱可能としているが、画像を記憶する記憶媒体をデジタルカメラ1に内蔵してもよい。
【0028】
図2は、本発明の実施形態におけるテレビ201の構成を示す図である。以下、本発明の実施形態におけるテレビ201の構成について説明する。
201は本実施形態におけるテレビ201である。
202は出力部であり、音声処理部205からの出力を受けて音声などを出力する。
203はユーザに対して情報を表示する表示部であり、表示処理部206によって処理される。
204はテレビ201の操作部であり、システムコントローラ207を介してユーザによる各種の動作指示を入力するための操作手段である。
【0029】
208は電気的に消去・記録可能な不揮発性メモリである。ここに機器の無線設定情報を記憶することができる。209はテレビ201の動作用の定数、変数、プログラム等を記憶するメモリである。
210は無線通信回路であり、無線信号を送受信し、無線通信を制御する。215は他の機器と無線通信を行うためのアンテナである。
211は外部機器からのデータ入力部、212は外部機器へのデータ出力部である。213はチューナーであり、放送信号を受信して音声処理部205、表示処理部206へ与える。
214は電源手段である。
【0030】
<システム構成>
以下、これらのデジタルカメラとテレビ201の構成をもとに、本実施形態において複数台のデジタルカメラとテレビ201とでネットワークを構成し、複数のデジタルカメラが保持している画像についてスライドショーを行う動作について説明する。なお、デジタルカメラ1、101、102、103及びテレビ201の制御は図1の不揮発性メモリ22及び図2の不揮発性メモリ208に記憶されたソフトウェアプログラムにしたがい、システム制御回路9やシステムコントローラ207が実行する。
【0031】
図3は、本実施例における複数台のデジタルカメラとテレビ201とのネットワーク構成例である。ここで、デジタルカメラ101、102、103は図1で示したデジタルカメラ1と同様の構成を持つものとする。これらの機器は、一般的な無線LANで使用されるネットワーク識別情報であるSSID(Service Set Identifier)や無線通信チャネル、暗号化のキーなどの無線パラメータについて予め共通の情報をメモリ上に記憶しておく。そして、そのパラメータに基づいて無線LANによるネットワークを構築する。なお、本実施例で構築するネットワークはネットワークハブなどを介した有線によるLANでもよく、本実施例は構築するネットワークの形態に依存するものではない。
【0032】
本実施形態のシステムでは、ネットワーク上の機器から、他の機器を制御する役割を持つ機器を決定する。本実施例では、複数台のうち1台のデジタルカメラが他の機器、例えば他のデジタルカメラやテレビを制御する役割を持つ。制御する側のデジタルカメラを「親カメラ」、その他の制御される側のデジタルカメラを「子カメラ」とする。子カメラは画像を記憶している機器である。子カメラは親カメラの制御に応じてネットワーク上の他の機器に画像を提供することが可能である。すなわち、ネットワーク上でサーバー機器として動作している。
【0033】
本実施形態のシステムでは、親カメラが子カメラの画像情報を集めてテレビにスライドショーとして表示させることが可能である。具体的には、親カメラがネットワーク上から子カメラを検出して、それぞれの子カメラが持つ画像情報を収集することによりスライドショーのリストを作成する。そして親カメラはリストにしたがい、子カメラに対して画像データをテレビ201へ転送するよう指示する。この指示を画像ごとに順次行うことでスライドショー動作を実現する。
【0034】
<属性情報の収集>
図4は、スライドショーにおける各カメラの役割を選択するための画面を示したものである。このスライドショーの設定画面401は、カメラ1の操作部25をユーザが操作することにより、デジタルカメラの表示部13に表示される。
【0035】
設定画面401において、ユーザ操作により「マルチスライドショーを作成する」のアイコン402が選択されると、デジタルカメラは親カメラ1として起動する。「マルチスライドショーに参加する」のアイコン403が選択されると、デジタルカメラは子カメラとして起動する。「戻る」アイコン404を選択した場合は、デジタルカメラはスライドショーの開始を中止する。図4では「マルチスライドショーを作成する」のアイコン402が選択された状態を示している。デジタルカメラの操作部材により決定を示す動作が行われるとデジタルカメラ1は親カメラ1として起動する。次に、本実施形態におけるスライドショー処理の具体的な動作について、図5、図6のフローチャートを用いて説明する。
【0036】
図5は、ネットワーク上の他の機器を制御する役割を持つ機器の動作を示すフローチャートである。本実施例では親カメラ1として起動されたデジタルカメラのシステム制御回路9が各部を制御することにより、以下の動作が実現される。
【0037】
デジタルカメラ1が親カメラ1として起動されることにより、本フローチャートは開始される。
【0038】
ステップ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へ進める。
【0039】
ステップS502において、親カメラ1は、他にスライドショーに参加する子カメラを探索すべく、検索パケット702を送信する。例えば、図3において子カメラとなりうるデジタルカメラ101、102、103のうち、子カメラとして起動していないものは告知パケット701を送信しない。したがって、親カメラ1は告知パケット701を送信しないデジタルカメラを子カメラとして認識しない。このようなカメラをスライドショーに参加させるため、親カメラ1は検索パケットを送信する。
【0040】
検索パケット702とは、親カメラ1が子カメラを検索するために報知するためのパケットである。本実施形態における検索パケットの一例を図8(a)に示す。検索パケット702は、「パケット種類」「宛先」「検索タイプ」、「待機時間」、「検索ターゲット」といった情報を含む。ここで、「検索タイプ」とは検索の種類を示すカテゴリである。「待機時間」とは検索報知に対して応答を待つまでの最大待機時間である。この時間親カメラは検索を続ける。「検索ターゲット」とは検索範囲のデバイスを特定する。例えば全てのデバイス、ルートデバイス、特定のデバイス、特定のタイプのデバイス、特定のサービスを有するデバイスなどを指定する。ここで、親カメラ1は検索する機器の種類を検索パケット702の「検索ターゲット」フィールドへ記述する。例えば本実施形態の場合、親カメラ1は、スライドショー動作を行う際に必要となる、映像や音声を扱うサーバー機器や表示機器を「検索ターゲット」フィールドに記述する。このことにより、親カメラ1は、スライドショーに必要な機器を指定して検索することができる。
【0041】
次にステップS503において、親カメラ1は、検索応答パケット703を受信しているか確認する。検索応答パケット703とは、ステップS502で親カメラが送信した検索パケットに応答して子カメラが送信するパケットである。本実施形態における検索応答パケットの一例を図8(b)に示す。検索応答パケット703は、「パケット種類」、「有効期間」、「検索タイプ応答」、「機器情報のURL」、「送信元情報」、「検索ターゲット」、「機器タイプ」といった情報を含む。ここで、「有効期間」とは応答する機器がネットワーク上で応答した機器タイプとしてどれだけの期間存在するか、すなわち役割の生存期間である。「検索タイプ応答」とは応答すべき検索タイプである。一定時間、検索応答パケット703を受信しない場合、親カメラ1は処理をステップS501へ戻し、動作を繰り返す。検索応答パケット703または告知パケット701を受信した場合は、処理をステップS504に進める。
【0042】
ステップS504において、親カメラ1は、ステップS501またはステップS503で受信したパケットの「機器タイプ」フィールドを参照し、パケット送信元機器の情報を確認する。
【0043】
ステップS505において、親カメラ1は、ステップS504で確認したパケット送信元の機器が、目的とする動作に必要な機器かどうか判断する。すなわち、パケット送信元の機器がスライドショー動作を行う際に必要となる、映像や音声を扱うサーバー機器や表示機器であるかどうかを判断する。送信元の機器が、親カメラ1が行う動作に必要な機器である場合、親カメラ1は、検索応答パケット703または告知パケット701に含まれる機器情報のURLを記憶し、処理をステップS506へ進める。送信元の機器が、親カメラ1が行う動作に必要なものでない場合、処理をステップS501へ戻し、必要な機器を発見するまで検索動作を繰り返す。例えばオーディオプレーヤーのように映像に付属しない音声データを再生する装置は画像表示を目的とするスライドショー動作にとって不要であるため、処理を進めない。本実施例では、スライドショー動作を行うのに必要でないタイプの機器に対して、親カメラ1は制御を行わない。
【0044】
ステップS506において、親カメラ1は、ステップS505で機器情報を確認した機器に対して機器情報要求パケット704を送信する。機器情報要求パケットとは、親カメラから子カメラに対して送信されるものであって、機器や機器が提供できるサービスについての詳細情報を要求するためのパケットである。ここでいうサービスとは、「ファイルリスト転送」、「ファイル伝送」、「静止画像再生」、「動画像再生」、「音楽再生」、「静止画印刷」等である。本実施形態における機器情報要求パケットの一例を図9(a)に示す。機器情報要求パケット704は「パケット種類」、「宛先」といった情報を含む。機器情報の要求はステップS505で記憶した機器情報のURLに基づいて行う。図3において子カメラとなるカメラ101、102、103はこの要求に対して必要な機器情報を送り返す。
【0045】
次にステップS507において、親カメラ1は、機器情報パケット705を受信しているか確認する。機器情報パケットとは、親カメラが送信した機器情報要求パケット704に応答して子カメラが送信するパケットである。本実施形態における機器情報パケットの一例を図9(b)に示す。機器情報パケット705は「パケット種類」、「データ言語」、「データ長」、「データタイプ」、「機器情報」、からなる。ここで、「データ言語」とは機器同士が情報の通信を行う上で自機器が用いる言語の種類である。「データ長」とは「機器情報」の持つデータサイズである。「データタイプ」とは「機器情報」の示すデータ型である。「機器情報」とは機器名や型番の他、提供できるサービスを含む機器の情報を示す。親カメラは、一定時間機器情報パケット705を受信しない場合、処理をステップS506へ戻し、機器情報要求パケット704を送信する。機器情報パケット705を受信した場合は、処理をステップS508に進める。
【0046】
ステップS508において、親カメラ1は、機器情報パケット705に記述されている機器情報を参照し、送信元機器についての詳細情報や、送信元の機器が提供できるサービスについての詳細を確認する。本実施形態では、子カメラから機器情報パケット705を受信した場合、「機器情報」フィールドには、子カメラの機器名や、子カメラが提供するサービス一覧情報が記述してある。サービスの例としては、「ファイルリスト転送」、「ファイル伝送」、「静止画像再生」、「動画像再生」、「音楽再生」、「静止画印刷」等がある。
【0047】
ステップS509において、親カメラ1は、ステップS508で確認したサービスが必要とするサービスか否か判断する。必要とするサービスでなかった場合、例えば「音楽再生」や「静止画印刷」のような機能のみしかサービスとして提供しない場合は動作を終了する。必要とするサービスであった場合、親カメラ1は機器情報パケット705の機器名などの情報を保存する。ステップS510において親カメラ1は、サービス要求パケットを送信する。サービス要求パケットとは、親カメラが子カメラに対し、所望のサービスを要求するために送信するパケットである。本実施形態におけるサービス要求パケットの一例を図10(a)に示す。サービス要求パケット706は「パケット種類」、「宛先」、「データ長」、「データタイプ」、「サービスタイプ」、「サービス要求」といった情報を含む。ここで、「サービスタイプ」とはサービス内容に基づくデータフォーマット等の情報である。「サービス要求」とは実際に要求するサービスの内容であり「ファイルリスト転送」、「ファイル伝送」、「再生」等である。またサービスの対象となるファイル名、ID等の詳細情報も含まれる。例えば、本システムにおいてスライドショーを実施するには、親カメラ1が複数の子カメラが保持する画像の属性情報を取得する必要がある。この場合、サービス要求パケット706に、「保持している画像の画像サイズや画像IDやタイトル、日付などの一覧を送信する」といったサービスを記述する。このサービス要求パケット706の記述によって、色々なサービスを要求することが可能となる。例えば、「子カメラが保持している画像のうち、所定の期間内に撮影された画像の画像サイズや画像IDやタイトル、日付などの一覧を送信する」、といったサービスも「サービス要求」フィールドに書き込むことにより、要求することができる。このことにより、親カメラが子カメラに対し、特定の検索条件に合致した画像の属性情報を送信させるよう制御することが可能となる。なお、これらサービスの内容については上記実施形態の内容に限定されるものではない。例えば親カメラは、子カメラに対して画像そのものを送信させることも可能である。
【0048】
ステップS511において、親カメラ1は、サービス応答パケットを受信しているか判定する。サービス応答パケットとは、ステップS510で親カメラが送信したサービス要求パケット706に応答して子カメラから送信されるパケットである。本実施形態におけるサービス応答パケットの一例を図10(b)に示す。サービス応答パケット707は「パケット種類」、「データ長」、「データタイプ」、「検索タイプ応答」、「送信元情報」、「サービス応答」といった情報を含む。ここで、「サービス応答」とは応答すべきサービスの実データ、すなわち要求されたデータそのものである。一定時間サービス応答パケット707を受信しない場合は、親カメラ1は処理をステップS510に戻し、再度サービス要求パケット706を送信する。サービス応答パケット707を受信した場合、処理をステップS512に進める。なお、サービス応答パケット707に要求されたデータが必ずしも含まれている必要はなく、実データを一意に特定できる情報や、変換したデータを記述してもよい。
【0049】
ステップS512において、親カメラ1は、受信したサービスの実行結果をデジタルカメラ1のメモリ20に保存し、動作を終了する。
【0050】
以上述べたように、親カメラ1はステップS506で要求したサービスを子カメラが実行した結果として、子カメラからサービス応答パケット707を受信する。このサービス応答パケット707には、サービスの実行結果、すなわち子カメラが保持する画像の画像サイズや画像IDやタイトル、撮影日時などの属性情報が含まれている。画像IDは画像を特定できる情報であればよく、例えば画像のファイル名や、画像に付加されたUUID(Universally Unique IDentifier)などを用いることができる。本実施形態では、ファイル名を用いる。親カメラ1は、これらの情報をリスト形式にしてスライドショーリストとしてデジタルカメラ1のメモリ20に保存する。もちろん、予め子カメラ側でリスト形式にして親カメラ1に送信しても構わない。
【0051】
図11は、ステップS511において、親カメラ1が子カメラの所有する画像の属性情報を取得した場合に親カメラ1の表示部13に表示される画面である。親カメラ1は、画像のリストを取得し終えると、ステップS509で「機器情報」フィールドから抽出し保存した機器名を表示する。図11では、親カメラ1がデジタルカメラ101の画像リストを取得し終えたことをアイコン902で示す。ここでユーザ操作により開始アイコン903が選択されると、これまでに取得した画像の属性情報に従ってスライドショーが開始される。戻るアイコン904が選択されると、親カメラ1としての動作は中断される。
【0052】
図5では、親カメラ1の動作について述べた。次に、ネットワーク上で制御される側の役割を持つ機器の動作、すなわち子カメラ101〜103及びテレビ201の動作について説明する。
【0053】
図6に、本動作のフローチャートを示す。本実施形態では、子カメラ101のシステム制御回路9またはテレビ201のシステムコントローラ207が各部を制御することにより、以下の動作が実現される。以下、特に断らない限り、子カメラ101を例として説明する。
【0054】
まずステップS600において、子カメラ101は、ユーザ操作により、ネットワーク上で制御される側の役割を持つ機器として動作するよう指示があったか否かを判定する。すなわち、図4に示す画面で「マルチスライドショーに参加する」がユーザ操作により選択されたか否かを判定する。指示があった場合には、処理をステップS601に進める。指示がなかった場合には処理をステップS602に進める。
【0055】
ステップS601において、子カメラ101は、自機器のタイプについての情報を含む告知パケットを生成し、現在接続しているネットワークに対してマルチキャストで送信する。例えば、子カメラは自機器が映像や音声を扱うサーバー機器であるということを告知パケット701の「機器タイプ」フィールドに記述する。また、テレビ201の場合には自機器が映像や音声を表示可能な表示機器であることを告知パケット701の「機器タイプ」フィールドに記述し、ネットワーク上の機器に対して告知パケット701を送信する。
【0056】
ステップS602において、子カメラ101は、親カメラから送信された検索パケット702を受信しているか否か判定する。これは、子カメラが告知パケット701を送信後に親カメラ1からの検索パケット702を受信する場合があるからである。検索パケット702を受信した場合は処理をステップS603に進める。検索パケット702を受信しない場合は、処理をステップS606へ進める。
【0057】
ステップS603において、子カメラ101は、検索パケット702の「検索ターゲットフィールド」の内容を参照し、親カメラから指定された検索条件を確認する。
【0058】
ステップS604において、子カメラ101は、自機器がその検索条件に合致するかどうか判定する。検索条件に合致した場合は処理をステップS605に進める。検索条件に合致しなかった場合は、応答を行わずに処理をステップS606に進める。
【0059】
ステップS605において、子カメラ101は、自機器の種類についての情報を含んだ検索応答パケット703を、パケット送信元に対して送信する。例えば、ステップS604において、検索パケット702が映像や音声を扱うサーバー機器を検索対象としていることが確認された場合、子カメラ101は自機器が映像や音声を扱うサーバー機器であるのでこのパケットに応答する。具体的には、検索応答パケット703の「機器タイプフィールド」に自機器の種類を記述して親カメラ1に対して送信する。テレビ201の場合であれば、ステップS604で映像や音声を再生可能な表示機器を検索対象としていることが確認された場合に、テレビ201は検索応答パケット703を送信する。
【0060】
ステップS606において、子カメラ101は、機器情報要求パケット704を受信しているか確認する。一定時間、機器情報要求パケット704が受信されない場合は処理をステップS601に戻す。機器情報要求パケット704を受信すると、処理をステップS607に進める。
【0061】
ステップS607において、子カメラ101は、自機器や自機器が提供できるサービスについての詳細情報を機器情報パケット705に記述し、機器情報要求パケット704の送信元へ返信する。
【0062】
ステップS608において、子カメラ101はサービス要求パケット706を受信しているか確認する。受信した場合には処理をステップS609に進める。受信されない場合はそのまま継続してサービス要求パケット706の受信を待つ。
【0063】
ステップS609において、子カメラ101は、サービス要求パケット706で要求されたサービスを自機器で実行する。そしてステップS610において、子カメラ101はその結果をサービス応答パケット707としてパケット送信元に送信する。
【0064】
例えば、サービス要求パケット706の「サービス要求」フィールドには子カメラが保持している画像についての情報を要求する記述がされている。子カメラはこの記述を参照し、要求に応じた処理を実行する。すなわち、子カメラは自機器が記憶している画像の画像サイズ、画像ID、タイトル、撮影日時などの属性情報の一覧をサービス応答パケット707の「サービス応答」フィールドに記述し、親カメラ1へ送信する。また、サービス要求パケット706の「サービス要求フィールド」に、撮影日時の指定などの検索条件が指定されている場合がある。この場合には、子カメラ101が記憶している画像のうち、条件に当てはまる画像を検索する。そして条件に一致した画像の属性情報の一覧をサービス応答パケット707の「サービス応答」フィールドに記述し、親カメラ1へ送信する。なお、属性情報は前述したものに限定されず、例えばExif(Exchangeable Image File Format)形式に準拠した画像ファイルに含まれる属性情報なども含まれる。
【0065】
以上述べたように、本システムでは、親カメラ1が子カメラに対して画像に関する情報を要求することが可能である。子カメラがサービスを実行することで、親カメラ1はネットワーク上に存在する複数台の子カメラが持つ画像について、画像サイズや画像IDやタイトル、撮影日などの属性情報を取得することができる。親カメラ1は、各属性情報と子カメラのIDとを対応付けて、ネットワーク上のスライドショーリストを作成する。また、親カメラ1は、自機器のメモリカード30に自機器で撮影した画像を記憶している場合がある。記憶している画像が存在する場合には、親カメラ1は、作成したスライドショーリストに、自機器の記憶している画像の属性情報を追加して画像一覧リストを更新することも可能である。
【0066】
スライドショーリストは任意の順番で並び替えることが可能である。例えば親カメラ1は、撮影の日付・時刻をキーとして時系列順に画像を並び替えることで、図12のようなスライドショーリストを作成することができる。ここでは、親カメラ1となったデジタルカメラ1がネットワーク上の子カメラ101、102、103が保持している画像に関する情報を収集した場合のスライドショーリストを示している。このスライドショーリストは、撮影の日付・時刻をキーとして時系列順に並び替えられている。このスライドショーリストの特徴の1つは、どのカメラに記憶されている画像かによらず、ネットワーク上の複数の機器が保有する画像がまとめて時系列順に並べられていることである。このことにより、複数のカメラに記憶された画像をまとめて時系列順にスライドショーすることが可能となる。
【0067】
図13は、親カメラ1が図3に示すネットワーク上に存在する子カメラ101、102、103について画像の属性情報を取得した場合に、親カメラ1の表示部13に表示される画面である。子カメラの情報がアイコン1002、1003、1004で示される。ここで、ユーザ操作により開始アイコン1005が選択されると、親カメラ1は、作成したスライドショーリスト801に基づいて、ネットワーク上でのスライドショーを開始する。スライドショーの動作については後述する。
【0068】
<スライドショー>
次に、本実施例において親カメラ1の制御によりネットワーク上の機器でスライドショーを行う動作について示す。なお、本実施形態におけるスライドショーとは、複数の画像を表示部に順次表示する処理をいう。表示する画像の切替えはユーザの操作により行ってもよいし、自動的に切り替わってもよい。
【0069】
ここで、ユーザは所望の順序で画像を表示するよう、親カメラ1に指示することが可能である。親カメラ1は、ユーザの指示にしたがいスライドショーリストを作成する。図14にスライドショーの対象を選択する画面を示す。この画面は、図13の開始アイコン1005が選択されてスライドショーを開始する際に、親カメラ1の表示部13に表示される。全画像表示アイコン1702が選択された場合には、親カメラ1は取得した画像の情報を、予め定められた表示順序に並び替えてスライドショーリストを作成する。表示順序は、撮影日時順、タイトル順、画像のファイル名順などがある。アイコン1703が選択された場合、親カメラ1は取得した画像の情報のうち、前回のスライドショー実行日時より最近に撮影された画像について、予め定められた順序で並び替えてスライドショーリストを作成する。これは、親カメラ1がスライドショー終了時の日時を不揮発性メモリ22に記憶しておくことにより実現可能である。
【0070】
アイコン1704が選択された場合は、テレビ201はネットワーク上のデジタルカメラから取得した全ての画像の情報から、ランダムな順序及び画像枚数を抽出してスライドショーリストを作成する。順序と抽出する枚数のどちらか一方がランダムであってもよい。
【0071】
なお、スライドショーの条件はここに示すものに限らない。特定の属性情報を有するもの、例えば撮影日時が特定の日時である画像のみをスライドショーすることも可能である。
【0072】
スライドショー対象の選択後、ユーザ操作により開始アイコン1705が選択されることにより、親カメラ1はスライドショーを開始する。
【0073】
本実施例ではアイコン1702を選択し、図8で表示した画像リストの順番に従って表示するものとする。
【0074】
図15は、スライドショー実行中の親カメラ1の動作を示したフローチャートである。以下、フローチャートに従って、スライドショー実行中の親カメラ1の動作について示す。本フローチャートでの動作に先立ち、親カメラ1がネットワーク上の子カメラの画像情報を取得し、スライドショーリストを作成しているものとする。また、スライドショー処理における要求や応答は、サービス要求パケット706及びサービス応答パケット707の送受信に基づき行われる。本実施例では親カメラ1として起動されたデジタルカメラのシステム制御回路9が各部を制御することにより、以下の動作が実現される。
【0075】
スライドショー動作が開始されると、ステップS1101において、親カメラ1はネットワーク上の機器に対してスライドショーの開始を通知する。
ステップS1102において、親カメラ1はスライドショー番号Iを初期値に設定する。ここでの初期値は1とする。スライドショー番号とは、スライドショーリストの何番目の画像を表示の対象とするかを示す番号である。
ステップS1103において、親カメラ1はスライドショーリストを参照し、スライドショーリストのI番目の要素を読み出す。
ステップS1104において、親カメラ1はテレビ201に対し、テレビ201が子カメラから画像を取得する際に必要な情報を送信する。ここで送信される情報には、スライドショー番号がIである画像の画像ID、画像のタイトルやURLが含まれる。また、指定した画像をテレビ201にスライドショー表示させるための要求も含まれる。テレビ201がステップS1104で送信された画像の情報を用いて画像を表示する方法については後述する。
【0076】
画像の情報を送信した後、ステップS1105において親カメラ1は、タイマーをスタートする。
ステップS1106において、親カメラ1はタイマーを監視し、予め設定された時間が経過したか否か、すなわちタイムアウトしたか否かを判定する。ここで、予め設定された時間はスライドショーにおける画像1枚当たりの表示時間に相当する。この時間は親カメラ1が自動的に設定してもよいし、ユーザ操作により設定することも可能である。タイムアウトした場合には、処理をステップS1107に進める。タイムアウトしていない場合はタイマーの監視を続行する。
【0077】
ステップS1107において、親カメラ1は、現在のスライドショーリストの番号Iとスライドショーリストの最後の画像の番号とを比較する。現在のスライドショーリストの番号Iが最後の画像のものであったら処理をステップS1109に進める。
【0078】
ステップS1109において、親カメラ1は、ネットワーク上の機器に対してスライドショー終了通知を送信し、動作を終了する。
ステップS1107において番号Iが最後の画像のものでない場合には、親カメラ1は処理をステップS1108に進める。
S1108において、親カメラ1は、スライドショーリストの番号Iの数を一つ増加させ、処理をステップS1103へ戻す。
【0079】
以上述べたように、スライドショー動作において、親カメラ1はスライドショーリストを参照し、画像の情報を順次テレビ201に送信する処理を行う。
【0080】
図16は、スライドショー実行中のテレビ201の動作を示したフローチャートである。以下、フローチャートに従って、スライドショー実行中のテレビ201の動作について示す。なお、本動作はテレビ201のシステムコントローラ207が各部を制御することにより実現される。
【0081】
図15のステップS1101にて、親カメラ1からスライドショーの開始を通知されると、テレビ201はスライドショーの動作を開始する。
ステップS1201において、テレビ201は親カメラ1からデータを受信したか否かを判定する。受信した場合には処理をステップS1202に進める。受信していない場合には処理を繰り返す。
【0082】
ステップS1202において、テレビ201はステップS1202で受信したデータの種類を判別する。親カメラ1から画像に関する情報を受信した場合には、処理をステップS1203に進める。ここでいう画像に関する情報とは、ステップS1104において親カメラ1から送信された情報である。
【0083】
ステップS1203において、テレビ201は、親カメラ1から受信した子カメラのIDや、その子カメラが持つ画像のURL情報に基づいて、子カメラに対して表示画像取得要求を送信する。表示画像取得要求とは、スライドショーに用いるための画像を画像の記憶先に対して要求する信号である。表示画像取得要求には、子カメラがどの画像をテレビに送信するかを特定する情報、例えば画像のIDなどが含まれる。
【0084】
表示画像取得要求を送信した後、ステップS1205において、テレビ201はタイマーをスタートする。
【0085】
ステップS1206において、テレビ201は子カメラから画像を受信したか否かを判定する。画像を受信していない場合は処理をステップS1208に進める。受信していない場合には処理をステップS1207に進める。
ステップS1208において、テレビ201は、タイマーがタイムアウトになっているか否かを判定する。タイムアウトになっていない場合には、処理をステップS1206に戻し受信を待機する。タイムアウトになったら処理をステップS1209に進め、画像受信動作を中断し、ステップS1201へ戻る。
ステップS1206において、テレビ201が画像を受信した場合について説明する。この場合は処理をステップS1207に進め、テレビ201は、受信した画像を表示部203に表示する。画像表示動作を行った後、処理をステップS1201に戻し、スライドショー動作を繰り返す。
【0086】
なお、ステップS1202において、親カメラ1から終了通知を受信した場合は、親カメラ1は処理をステップS1204へ進める。
ステップS1204において、親カメラ1は、現在表示しているカメラIDや画像の表示を終了した上でスライドショー動作を終了する。
【0087】
本実施形態では、テレビ1が子カメラ1に対して表示画像取得要求を送信したが、親カメラ1が表示画像取得要求を送信してもよい。この場合には、親カメラが子カメラに対し、特定の画像をテレビ201に送信するよう要求する。
【0088】
なお、スライドショーが開始された後、最初の画像が表示されるまでは、ユーザは何も表示されない画面を見ることになる。そこで、スライドショーが開始された後に、スライドショーの1枚目の画像を表示するまでは、テレビ201に予め記憶されていた画像をタイトル画像として表示してもよい。また、親カメラ1が開始通知にタイトル画像を添付してテレビ201に表示させてもよい。具体的には、親カメラ1はスライドショーの開始とともに、テレビ201に予め記憶していたタイトル用の画像を送信し、テレビ201に表示させる。
【0089】
図17は、スライドショー実行中の子カメラの動作を示したフローチャートである。以下、フローチャートに従って、スライドショー実行中の子カメラの動作について示す。なお、本動作は、子カメラ1のシステム制御回路9が各部を制御することにより実現される。本フローは一例として、子カメラ101を用いて説明する。
【0090】
図15のステップS1101にて、親カメラ1からスライドショーの開始を通知されると、子カメラはスライドショーの動作を開始する。
【0091】
ステップS1301において、子カメラ101はデータを受信したか否かを判定する。受信した場合には処理をステップS1302に進め、受信していない場合は処理を繰り返す。
ステップS1302において、子カメラ101は受信したデータの種類を判別する。
【0092】
スライドショー処理において子カメラ101が受信しうるデータは、テレビ201からの画像取得要求と、親カメラ1からスライドショーの終了通知とがある。画像取得要求を受信した場合は、処理をステップS1303に進める。終了通知を受信した場合にはステップS1304で終了処理を行った上で、処理を終了する。
【0093】
ステップS1303において、子カメラ101は受信した表示画像取得要求を参照し、表示画像取得要求に含まれる画像のIDを確認する。そしてメモリカード30から、対応する画像のIDを有する画像を読み出す。さらに、読み出した画像をテレビ201に送信し、処理をステップS1301に戻す。
【0094】
親カメラ1から終了通知を受信した場合は、子カメラ101は処理をステップS1303へ進め、スライドショー動作を終了する。
【0095】
図18に、図15のステップS1207における処理の一例として、図12に示すスライドショーリストの3番目の画像、「008.jpg」をテレビ201に表示した状態を示す。テレビ201は、表示画面1401に受信した「008.jpg」の画像を表示する。また、画像の表示と同時に、画面上にステップS1203で取得した子カメラのIDと取得した画像ファイル名を表示する。この表示により、スライドショーを見ているユーザは、現在どのカメラのどの画像がテレビ201に表示されているかを確認することができる。特に、本実施例のように複数のカメラに記憶された画像をまとめてスライドショーする場合には、ユーザはどのカメラに記憶された画像が表示されるか容易に把握できない。したがって、カメラのIDを表示することによって、ユーザは容易に画像が記憶されているデジタルカメラを把握することが可能となる。なお、子カメラ側でカメラIDとファイル名を重畳した画像を生成し、テレビ201に送信してもよい。
【0096】
<画像取得要求>
ここまで、スライドショー表示に関わる親カメラ1、子カメラ101、102、103、テレビ201のそれぞれの動作について説明した。次に、カメラが画像の取得を要求する処理における各端末の動作について説明する。テレビ201はこの処理に直接は関与しない。
【0097】
本実施形態では、まず子カメラが所望の画像を取得したい旨の要求を親カメラに送信する。要求を受けた親カメラは、画像の情報と、画像の持ち主の情報とを子カメラに送信する。子カメラは、親カメラから受信した情報を元に、画像の持ち主であるカメラと通信し、画像そのものの転送処理を行う。
【0098】
まず、子カメラの動作について説明する。図19に画像取得要求を発行したカメラの処理フローチャートを示す。以下に示す親カメラ1、子カメラの動作は、前述したスライドショー表示処理と並行して実行される処理である。すなわち、ユーザは実行されるスライドショーを見ながら、画像を取得するための操作を行う。この際、それぞれの端末にはリアルタイムOS等の機能を利用したマルチタスク処理によって図11、図13に示すシーケンスのタスクと同期して動作するものとする。
【0099】
なお、本動作は、子カメラのシステム制御回路9が各部を制御することにより実現される。また、画像取得要求は親カメラ1からも送信できるものとする。これは、親カメラ1のユーザもスライドショーで表示される画像を取得したい場合があるからである。その場合であっても、基本的な処理は子カメラと同様である。本フローでは、一例として子カメラ101を用いて説明する。
【0100】
ステップS1901において、子カメラ101はユーザ操作により画像取得の指示があったか否かを判定する。指示があった場合には処理をステップS1902に進める。指示がない場合には処理を繰り返す。
【0101】
ここで、ユーザ操作による画像の取得要求について説明する。ユーザはテレビ201に表示された画像のスライドショーを見ながら、自分のデジタルカメラに配信してもらいたいと思う画像を選択する。選択の方法として、テレビ201に所望の画像が表示されているタイミングで、ユーザは所有するカメラの操作部25の操作部材を操作する。ここで画像取得要求を発行するための操作部材は、操作部25のうちいずれに割当てられてもよく、カメラ内で該当する部材の操作に対応して画像取得要求を指示する信号を発行できるものであれば何でもよい。例えば本実施形態におけるデジタルカメラは、スライドショー中にシャッタースイッチ26が押下されたタイミングで画像取得要求を発行する。またスライドショーが開始された場合、子カメラは表示部13にメニューを表示し、その中に取得指示を行うアイコンを表示させてもよい。
【0102】
ステップS1902において、子カメラ101現在表示されている画像取得要求を親カメラ1に送信する。画像取得要求には、自機のカメラIDが含まれる。このカメラIDが画像取得要求の要求元を特定するための情報となる。
ステップS1902で画像取得要求を送信すると、子カメラ101はステップS1903でタイマーをスタートさせる。
ステップS1904において、子カメラ101は、親カメラ1から画像取得要求に対する応答を受信したか否か判定する。要求に対する応答がなければ処理をステップS1905に進める。応答があれば処理をステップS1906に進める。
【0103】
ステップS1905において、子カメラ101はステップS1903でスタートしたタイマーが予め定められた時間を経過しているか否か、すなわちタイムアウトしているか否かを判定する。タイムアウトしていれば処理をステップS1908に進め、それ以降の処理を中止する。タイムアウトしていなければ処理をステップS1904に戻す。
【0104】
次に、ステップS1904において、親カメラ1から応答があったと判定した場合について説明する。
ステップS1906において、子カメラ101は受信した応答の内容を解釈する。子カメラ101が親カメラ1から受信しうる応答は、表示画像情報または画像転送不要通知である。表示画像情報とは、画像取得要求に応答して親カメラ1から送信されるものである。表示画像情報には、子カメラ101が画像取得要求を送信した際にテレビ201に表示されていた画像の情報が含まれる。まず表示画像情報を受信したと判定した場合について説明する。この場合には、処理をステップS1907に進める。
ステップS1907において、子カメラ101は、受信した表示画像情報を記憶し、表示画像情報に基づき実際の画像の転送を要求する。画像の転送処理については後述する。
【0105】
次に、ステップS1906において画像転送不要通知を受信したと判定した場合について説明する。画像転送不要通知とは、子カメラ101に親カメラ1が画像を転送する必要がない旨を通知するものである。例えば、子カメラ101が、自機器のメモリカード30に記憶されている画像に対して画像取得要求を送信した際に、親カメラ1が送信する。画像転送不要通知を受信したということは、ステップS1902で取得要求した画像は自機器の保持する画像である。したがってこの場合には子カメラ101は処理を中止する。
【0106】
ここまで、子カメラの動作について説明した。次に、親カメラ1の動作について説明する。図20に親カメラ1の画像取得・転送動作におけるフローチャートを示す。本動作は、親カメラ1のシステム制御回路9が各部を制御することにより実現される。
【0107】
まずステップS2において、親カメラはいずれかのカメラから画像取得要求を受信する。画像取得要求を発行するカメラは子カメラ101,102,103だけでなく、自機器である親カメラ1も含まれる。親カメラ1は受信した画像取得要求を参照し、要求を発行したカメラのカメラIDを記憶する。
【0108】
ステップS3において、親カメラ1は、現在スライドショーが実行中か否かを判定する。親カメラ1は自らがスライドショーの表示制御を行っているため、処理ステータスを確認することは容易である。スライドショーが実行されていなければ、処理をステップS10に進め、画像取得要求を発行した子カメラに対してスライドショーが終了した旨を通知する。実行されている場合には、処理をステップS4に進める。
【0109】
ステップS4において、親カメラ1は、現在スライドショーにてテレビ201に表示されている画像の情報である表示画像情報を取得する。表示中の画像は、図15のステップS1104において最後に送信した画像の情報に基づき決定することができる。なお、テレビ201に問い合わせを行うことで表示画像除法を取得してもよい。ここで取得する表示画像情報は、画像を一意に特定できる情報であることが必要である。図3に示す本実施例のネットワークシステムにおいて複数台のデジタルカメラが保持する画像の1つを特定するためには、画像のIDと画像が記憶されているカメラのIDとが最低限必要である。そこで、ステップS4では少なくともこれら2つの属性情報を表示画像情報として取得する。
【0110】
ステップS5において、親カメラ1は、画像取得要求に含まれるカメラID、すなわち送信元のカメラのカメラIDが、親カメラ1のカメラIDと等しいか否かを判定する。本実施形態では、親カメラ1も子カメラと同様、自機器に記憶した画像をスライドショーの再生対象とできるし、画像取得要求を行うことも可能である。しかしながら、取得を要求するカメラが自機器であるなら、後述する表示画像情報を送信する必要はない。すなわち、ステップS5において等しいと判定された場合には表示画像情報を送信する必要はない。したがって親カメラ1は処理をステップS6に進め、表示画像情報を自機器のメモリ20に記憶し動作を終了する。一方、ステップS5において、自機器からの画像取得要求でないと判定すると、親カメラ1は、処理をステップS7に進める。
【0111】
ステップS7において、親カメラ1は、表示画像情報に含まれるカメラIDと、画像取得要求に含まれるカメラIDの比較を行う。子カメラからの取得要求は必ずしも他のカメラへのものではなく、ユーザが気付かずに、或いは誤って自機器に記憶されている画像に対して発行される場合もある。このような場合に無駄な転送処理を避けるため、本ステップを実行する。カメラIDが等しい場合には処理をステップS8に進める。異なる場合には処理をステップS9に進める。
【0112】
ステップS8において、親カメラ1は画像の交換、転送が不要の旨の通知を、画像取得要求の送信元である子カメラに対して行う。
ステップS9において、親カメラ1は、表示画像情報を画像取得要求の送信元である子カメラに対して送信する。
【0113】
ここまで、画像取得要求処理について述べた。以上述べたように、スライドショーの実行中に、子カメラが画像の取得要求を行うと、親カメラが表示中の画像を特定する情報を子カメラに送信する。このようにすることで、子カメラは複数のデジタルカメラに記憶されている画像の情報を簡単に得ることができる。
【0114】
<画像転送>
次に、画像転送処理について述べる。画像取得要求処理では属性情報を送受信していたが、画像転送処理では、実際に画像そのもの(以下、「本画像」)が転送される。本実施形態における画像転送処理では、転送を要求したデジタルカメラと要求された画像を所有するデジタルカメラとが直接通信して本画像の転送処理を行う。
【0115】
図21に画像転送処理の詳細を示すフローチャートを示す。以下、子カメラ101が、子カメラ102に記憶されている本画像の取得を要求するケースを例として述べる。子カメラ101の動作を点線左側に、子カメラ102の動作を点線右側に示す。なお、本処理を親カメラ1が行う場合であっても同様の動作を行う。
【0116】
本フローは、図19のステップS1906において、子カメラ101が表示画像情報を受信した場合に開始される。
ステップS2001において、子カメラ101は、本画像転送要求を送信する。本画像転送要求とは、本画像を記憶している機器に対し、本画像を転送するよう要求するものである。本画像を記憶している機器は表示画像情報に含まれるカメラIDから特定可能である。したがって、子カメラ101のユーザは、要求を行う相手を複数の候補から選択する必要はない。本画像転送要求は、表示画像情報から取得した画像のID、及び自機器(ここではカメラ101)のカメラIDが含まれている。
【0117】
ステップS2003において、子カメラ102は本画像転送要求を受信する。そして受信した本画像転送要求を参照し、要求元のカメラのカメラIDと画像IDとを抽出しメモリ20に記憶する。
【0118】
ステップS2004において、子カメラ102は、抽出した画像IDに基づき、自機器のメモリカード30を検索する。そして画像IDに対応する本画像を読み出す。
【0119】
ステップS2005において、子カメラ102は、ステップS2004で読み出した本画像を子カメラ101に送信し、処理を終了する。送信先が子カメラ101であることは、ステップS2003で抽出したカメラIDに基づき特定できる。
【0120】
ステップS2002において、子カメラ101は本画像を受信し、自機器のメモリカード30に本画像を記憶し、処理を終了する。
【0121】
このようにして、子カメラ101は所望の画像を取得することができる。
【0122】
以上が本実施形態におけるシステムの説明となる。本システムでは、複数台のデジタルカメラが持つ画像を一括してスライドショーする。したがって、複数のユーザが複数のカメラに記憶された画像を同時に閲覧することが可能である。そして画像の閲覧中に、複数のカメラから画像の取得要求を行うことが可能である。したがって、ユーザは他のデジタルカメラと個別に通信することなく、簡単に画像の取得要求をおこなうことが可能である。
【0123】
また、複数のデジタルカメラの画像をテレビの画面に表示することで、ユーザにとって画像の確認がしやすくなる。
【0124】
本実施形態では複数台のデジタルカメラとテレビ201によるホームネットワークについて説明した。しかし、本発明の適用範囲は本実施形態には限定されない。例えば、画像ビューワーやハードディスク、携帯電話等、画像を記憶することが可能なネットワーク機器についても適用可能である。
【0125】
また本実施形態では、親カメラ1が画像の属性情報の収集やスライドショーの一元表示、画像取得要求に対する表示画像の属性情報の通知といった各制御を行っていた。しかし、本発明はこの例に限定されるものではない。例えばテレビ201、或いはスライドショー制御専用の端末が親カメラ1の機能を実行してもよい。
【0126】
さらに本実施形態では、本画像の転送処理をスライドショー表示処理中に並行して実行するようにした。しかし、本発明はこの例に限られるものではない。例えば、得られる表示画像情報をカメラのメモリ20、もしくは不揮発性メモリ22に記憶しておく。この場合、図22に示すリスト形式で記憶しておくのが望ましい。そしてスライドショー終了後に、図21のリストにしたがい、ネットワーク内で、あるいは1対1のネットワークを確立し、画像を取得する場合でも本発明は適用することができる。この場合、複数の画像取得要求があった場合でも、ユーザが操作することなく、図21に示す転送処理を自動的に順次実行できることが望ましい。そうすれば、ユーザは簡単に複数のデジタルカメラに記憶された画像を取得することが可能となる。
【0127】
なお、ホームネットワークを形成する上でそれぞれの端末が通信に用いた通信パケットフォーマットや画像取得要求信号を発行する操作部材等は、本実施形態に限定されるものではない。
【0128】
また、本システムはテレビ201がない場合であっても、デジタルカメラの画像表示部13を用いてスライドショーなどを表示させることも可能である。この場合には、親カメラまたは子カメラは、表示装置としての役割も兼ねることになる。
【0129】
さらに、本システムはテレビ201が親カメラとしての役割を兼ねてもよい。この場合には、テレビ201は画像を表示する手段とネットワーク上の機器を制御する手段の両方を備えることとなる。
【0130】
<第2の実施形態>
第1の実施形態では、複数のデジタルカメラが保持する画像を順次スライドショーし、そのうち所望の画像を簡単に転送する処理に付いて説明した。本実施形態では、転送処理だけでなく、スライドショーされた画像の印刷予約を簡単に行う方法について説明する。
【0131】
なお、本実施形態は第1の実施形態と共通する点が多い。そこで、第1の実施形態と同様の部分は説明を省略し、本実施形態に特有の部分について詳細に説明する。本実施形態におけるシステムの大きな特徴は、スライドショー表示中に、デジタルカメラが画像取得要求だけでなく画像印刷要求を送信できる点である。
【0132】
図23に親カメラ1の印刷要求処理のフローチャートを示す。
【0133】
まずステップS2101において、親カメラ1はいずれかのカメラから画像印刷要求を受信したか否かを判定する。受信したと判定した場合には処理をステップS2102に進める。受信していない場合には処理を繰り返す。
【0134】
なお、子カメラが画像印刷要求を行う処理は基本的に画像取得要求の場合と同様である。画像印刷要求には送信元のカメラIDが含まれる。このカメラIDが画像印刷要求の要求元を特定するための情報となる。ただし、画像印刷要求を行うための操作部材は画像取得要求を行うためのものとは別の部材が割当てられる。またはメニューに選択画面を表示してもよい。画像取得要求は子カメラ101,102,103だけでなく、自機器である親カメラ1も行うこともできる。
【0135】
ステップS2102において、親カメラ1は画像印刷要求に含まれるカメラIDを参照し、送信元のカメラIDをメモリ20に記憶する。
【0136】
ステップS2103において、親カメラ1は現在スライドショー処理を行っているか否かを判定する。親カメラは自らがスライドショー表示制御を行っているため処理ステータスを確認することは容易である。スライドショー表示を終了していれば、或いはスライドショー表示を行っていなければ処理をステップS2109に進める。ステップS2109において、親カメラ1は画像印刷要求を発行した子カメラに対し、スライドショーが終了した旨を通知し、処理を終了する。一方、現在スライドショーを実行している途中であれば、処理をステップS2104に進める。
【0137】
ステップS2104において、親カメラ1は、スライドショー処理において現在テレビ201に表示中の画像の情報を取得する。取得の方法は第1の実施形態と同様である。複数台のデジタルカメラに記憶されている画像の1つを特定するためには、画像のIDと画像が記憶されているカメラのIDとが最低必要である。そこでステップS2104において、親カメラ1は少なくともこれらの2つの情報を取得する。
【0138】
ステップS2105において、親カメラ1はステップS2104で取得したカメラIDが、親カメラ1のカメラIDと等しいか否かを判定する。等しいと判定した場合には処理をステップS2106に進める。異なると判定した場合には処理をステップS2107に進める。
【0139】
ステップS2107において、親カメラ1は、印刷を希望する画像を記憶しているカメラに対し、印刷パラメータ書換要求を送信する。印刷パラメータ書換要求とは、他のカメラが持つ画像を印刷するためのパラメータを書き換えることを要求する信号である。
【0140】
本実施形態における印刷パラメータ書換要求は、印刷管理ファイルの一種であるDPOF(Digital Print Order Format)ファイルを書き換える要求である。本システムにおける各デジタルカメラは、メモリカード30にDPOFファイルを記憶することが可能である。 この要求は、サービス要求パケット706のサービス要求フィールドに、印刷を要求する画像の印刷枚数パラメータを1増分させる命令を書き込むことで実現できる。印刷を要求する画像はステップS2104で受信した画像IDを用いて指定する。印刷パラメータ書換要求を受信したデジタルカメラは、その内容にしたがい、自機に記憶されたDPOFファイルを書き換える。
【0141】
図24にDPOFファイル構成を示した図を示す。DPOFファイルはルートディレクトリ2200の直下にある”MISC”ディレクトリ2202の下に構成されるファイルである。DPOFファイルは大きく4種類に分類される。まず、自動プリントファイルAUTPRINT.MRX2203がある。さらにUNICODE文字列記述ファイルUNICODE.MRX2204、ファイル自動送信ファイルAUTXFER.MRX2205、自動再生ファイルAUTPLAYn.MRK (nは0〜9の整数)2206がある。このうち自動プリントファイルAUTPRINT.MRX2203はプリントプロダクトID、プリント種類、プリント部数、ファイルフォーマット、画像ファイルのパス情報等を保持している。印刷パラメータ書換要求は、自動プリントファイル2203を更新し、プリント部数パラメータを変更するための要求である。
【0142】
ステップS2108において、親カメラ1は、画像印刷要求の送信先からサービスの実行が完了した旨の通知を受信し、その完了信号を返信して印刷要求処理を完了する。
【0143】
次に、ステップS2105において表示画像情報に含まれるカメラIDが親カメラ1のカメラIDと等しいと判定された場合について述べる。この場合は処理はステップS2106に進む。
【0144】
表示画像情報に含まれるカメラIDが親カメラ1のカメラIDと等しいと判定されたということは、親カメラが記憶している画像に対して印刷を要求されたことになる。画像印刷要求の対象が自機器のものであれば、印刷パラメータを書換要求を他の端末に送信する必要はない。したがって、ステップS2106で親カメラ1は、自機器のメモリカード30に図22のディレクトリ構成で記憶されているDPOFファイルの印刷パラメータを書き換え、ファイルを処理を終了する。
【0145】
印刷要求処理を終了後、ユーザは各デジタルカメラとプリンタ(図示せず)を接続し、DPOFファイルにしたがった印刷を指示する。このことにより、プリンタからは要求された画像が要求された枚数だけプリントされることになる。
【0146】
以上のように、本実施形態における親カメラは、スライドショー中に受信した印刷要求に応じて、本画像を有するデジタルカメラのDPOFファイルを書き換える要求を送信することとした。このことにより、ユーザはスライドショー中に印刷要求を行うだけで、複数のデジタルカメラに記憶された画像を簡単にプリントさせることができる。また、プリントを要求される側のユーザも、どのデジタルカメラから、どの画像を、何枚要求されているのかを逐一管理する必要がなくなる。
【0147】
<第3の実施形態>
第2の実施形態では、複数の端末からの印刷の要求に対応できるシステムについて説明した。本実施形態では、画像印刷要求の送信元を考慮して画像印刷要求を処理することが可能なシステムについて説明する。
【0148】
本実施形態は第1・第2の実施形態と共通する部分が多いため、かかる部分は説明を省略し、本実施形態の特徴となる部分を主に説明する。第2の実施形態では、画像印刷要求の内容をDPOFファイルのプリンタ部数パラメータに反映させた。本実施形態の特徴は、画像印刷要求したユーザ毎にDPOFファイル内のプリンタパラメータの書換えを行うことである。
【0149】
図26に、本実施形態における子カメラが画像印刷要求を行うフローチャートを示す。ここでは一例として、子カメラ101が処理を行うものとする。
【0150】
まず、ユーザはテレビ201に表示されたスライドショーを見ながら、印刷を希望する画像を選択する。もしテレビ201に所望の画像が表示されたら、表示されているタイミングでユーザは印刷要求を指示する操作を行う。ユーザの操作を受けた子カメラ101は、本シーケンスを開始する。
【0151】
ステップS2600において、子カメラ101はユーザ情報の読み出しを行う。ユーザ情報は、予め子カメラ101の不揮発性メモリ22に登録された情報である。
【0152】
ユーザ情報の登録画面の一例を図25に示す。ユーザは操作部25を操作し、ユーザ名入力欄2502にユーザ名を入力し、「保存」2503を選択する。ユーザ情報は複数登録することや削除することも可能である。
【0153】
ステップ2601において、子カメラ101は画像印刷要求を親カメラ1に送信する。画像印刷要求には、自機のカメラID及びステップS2600で読み出したユーザ情報が含まれる。
【0154】
画像印刷要求を送信すると、ステップS2602において子カメラ101はタイマーを設定し、時間の計測を開始する。
ステップS2603において、子カメラ101は親カメラ1から画像印刷要求に対する応答、つまり画像印刷要求の完了通知を受信したか否かを判定する。受信していなければ処理をステップS2605に進め、タイムアウトしていれば処理を終了する。受信していれば処理を終了する。
【0155】
次に、親カメラ1の動作であるが、基本的には第2の実施形態と同様である。ただし、図23のステップS2107において送信する印刷パラメータ書換要求には、図26のステップS2600で読み出されたユーザ情報が含まれる点が異なる。
【0156】
次に、子カメラが、親カメラ1から印刷パラメータ書換要求を受信したときに行う処理について、図27を用いて説明する。ここでは例として子カメラ102が印刷パラメータ書換要求を受信したものとする。印刷パラメータ書換要求はスライドショー中に随時受信され得るものであるから、以下の処理は図26に示すフローと並行して実行される。
【0157】
ステップS2801において、子カメラ102は印刷パラメータ書換要求を受信したか否かを判定する。受信した場合は処理をステップS2801に進める。受信していない場合には処理を繰り返す。
ステップS2802において、子カメラ102は印刷パラメータ書換要求に含まれる要求元ユーザ情報が自機のユーザ情報と同じか否か判定する。同じと判定した場合には処理をステップS2803に進める。異なると判定した場合には処理をステップS2804に進める。
ステップS2803において、子カメラ102はメモリカード30に記憶されたDPOFファイルを書き換える。この場合の印刷パラメータ書換要求は子カメラ102自身が送信したものである。したがって、自機器用の書き換え処理を行う。自機器用の書き換え処理については後で詳しく述べる。
ステップS2804において、子カメラ102はメモリカード30に記憶されたDPOFファイルを書き換える。この場合の印刷パラメータ書換要求は子カメラ102以外の他の機器から送信されたものである。したがって、他機器用の書き換え処理を行う。他機器用の書き換え処理については後で詳しく述べる。
ステップS2805において、子カメラ102は親カメラ1に書き換えが完了した旨の通知を行い、本処理を終了する。
【0158】
以下、ステップS2802の書き換え処理について具体的に述べる。ここでは一例として、カメラ102に記憶された画像”/DCIM/100ABCD/ABCD0001.JPG”に対して画像印刷要求が行われたものとする。
【0159】
まず、カメラ102が画像印刷要求を送信した場合、すなわち画像の持ち主が自信の画像の印刷を要求した場合を考える。これは、ステップS2803における自機器用の書き換え処理に相当する。カメラ102のユーザ情報は”Tanaka Taro”とする。
【0160】
この場合、自機器に保持するDPOFファイル”MISC/AUTOPRINT.MRK2203”に記述される内容を図28(a)に示す。記述されるのは、機器情報・ユーザ情報を含むヘッダー部2701と、印刷画像情報を含む印刷ジョブ2702である。ヘッダー部2701は、”USR NAM”というパラメータが記述され、ここにユーザ情報”Tanaka Taro”が記述される。
【0161】
以上の処理に続けて、今度はカメラ102以外のデジタルカメラから、画像”/DCIM/100ABCD/ABCD0001.JPG”に対する画像印刷要求が送信された場合の書き換え処理について説明する。これは、ステップS2804における他機器用の書き換え処理に相当する。ここでは一例として、カメラ101から画像印刷要求が送信されたものとする。カメラ101のユーザ情報は”Yamada Jiro”とする。
【0162】
この場合、カメラ102は、メモリカード30に記憶されたDPOFファイルMISC/AUTOPRINT.MRK2203を書き換える。このときに記述する内容を図28(b)に示す。このDPOFファイルには、DPOFのベンダー拡張を用いたヘッダー部2703と、印刷画像情報を含む印刷ジョブ2704と、DPOFのベンダー拡張を用いたフッター部2705が記述される。ヘッダー部2703とフッター部2705には機器情報及びユーザ情報が記述される。このヘッダー部とフッター部に囲まれている印刷ジョブ2704が、”Yamada Jiro”から要求されている印刷ジョブである。
【0163】
さらに、カメラ101からカメラ102の所持する画像の画像印刷要求が送信された場合、カメラ102は機器情報”Camara101”及びユーザ情報”Yamada Jiro”を含むヘッダー部とフッター部を検索する。その結果、ヘッダー部2703とフッター部2705に囲まれた部分が”Yamada Jiro”の印刷ジョブであることを認識する。そして、印刷パラメータ書換要求の内容にしたがい、印刷ジョブを追記する。図28(b)の場合であれば、印刷ジョブ2704の次、すなわち印刷ジョブ2704とフッター部2705の間に新たな印刷ジョブが追記される。
【0164】
このように、ユーザ情報を記述したヘッダー部とフッター部の間に印刷ジョブを記述することで、印刷の対象となる画像の属性情報とユーザ情報が関連付けられる。したがって、ユーザ情報毎に印刷ジョブを管理することが可能である。
【0165】
以上述べた印刷パラメータ書換え処理は、子カメラ101、102、103及び親カメラ1において同様であり、画像印刷要求を行った機器に応じたDPOFパラメータを記述する。
【0166】
ここまで、画像印刷要求処理について述べた。次に、画像印刷要求が終了した後、画像印刷要求を行った画像を確認する処理について説明する。本実施形態では、印刷を要求した画像のサムネイルを、後からユーザが閲覧することが可能である。本処理(以下、「閲覧処理」とする)図29に、閲覧処理において親カメラ1が行う処理のフローチャートを示す。
【0167】
まず、ステップS2901において、親カメラ1はいずれのカメラから閲覧要求を受信する。閲覧要求は、印刷を要求した画像の閲覧を要求する信号であり、送信元のカメラIDとユーザ情報が含まれる。閲覧要求を発行するカメラは子カメラ101、102、103だけでなく自機器である親カメラ1も該当する。親カメラ1は、閲覧要求に含まれるカメラIDとユーザ情報とメモリ20に記憶する。
【0168】
ステップ2902において、親カメラ1は、子カメラ101、102、103に閲覧要求を送信する。この処理により、親カメラ1は印刷要求があったことを他のカメラに対して通知し、サムネイルを要求する。もちろん、ユーザ情報やカメラID、画像のファイル名などを要求してもよい。
【0169】
次に、ステップS2903において、親カメラ1はステップS2902で送信した閲覧要求に対する応答として子カメラからサムネイルを受信したか否かを判定する。受信した場合には処理をステップS2904に進める。受信しない場合には処理を繰り返す。一定時間受信がない場合には処理を終了してもよい。
【0170】
ステップS2904において、親カメラ1は、閲覧要求に含まれるカメラIDと親カメラIDとが等しいか否かを判定する。等しくない場合、処理をステップS2905に進める。等しい場合には処理をステップS2906に進める。
【0171】
ステップS2905において、親カメラ1はステップS2903で受信したサムネイルを、閲覧要求を送信したデジタルカメラに送信し、処理を終了する。
【0172】
ステップS2904において、閲覧要求に含まれるカメラIDと親カメラIDとが等しい場合は、親カメラ1が閲覧を要求していることになる。したがって、ステップS2905において、親カメラ1はステップS2903で受信したサムネイルを画像表示部13に表示する。
【0173】
次に、ステップS2902において送信された閲覧要求を受信したデジタルカメラの処理について説明する。ここでは一例として子カメラ102が閲覧要求を受信したものとする。図30に本処理におけるフローチャートを示す。
【0174】
まずステップS3201において、子カメラ102は閲覧要求を受信したか否かを判定する。受信した場合には処理をステップS3202に進める。受信していない場合には処理を繰り返す。
【0175】
ステップS3202において、子カメラ102は、受信した閲覧要求に含まれるユーザ情報を取得し、メモリ20に記憶する。
【0176】
ステップS3203において、子カメラ103は、メモリカード30に記憶されたDPOFファイルから、ステップS3203で取得したユーザ情報が記述されているヘッダー部2703及びフッター部2705を検索する。そして、検索されたヘッダー部2703とフッター部2705の間にある印刷ジョブ2704に記述された画像ファイル名を参照する。そして、この画像ファイル名に対応する画像のサムネイルや属性情報をメモリカード30から読み出す。
【0177】
ステップS3204において、子カメラ102はサムネイルを親カメラ1に送信し、処理を終了する。
【0178】
図31は、閲覧要求後、閲覧要求したデジタルカメラの画像表示部13に表示される画面である。表示画面3001にて、印刷を要求した画像のサムネイル及び画像に関する属性情報が表示される。図31では、子カメラ101のユーザである”Yamada Jiro”が、子カメラ102に対して閲覧要求を行った結果を示す。ユーザは、子カメラ101の操作部25を操作することで、画像の記憶先を示すカメラID3004と、印刷要求元のユーザ情報3002を選択することが可能である。また、印刷指定した画像のサムネイル画像3003を表示するとともに、その画像の印刷形式が表示される。例えば、印刷枚数3005やスタンダード印刷・インデックス印刷などの印刷形式3006が表示される。図示していないが、印刷用紙サイズ、印刷用紙タイプ、イメージオプティマイズ、トリミング枠、画像回転、レイアウトなどの情報を表示することも可能である。
【0179】
図32(a)は、子カメラ101の画面3100にて、既に行った画像印刷要求をキャンセルするための画面を示す。一例として、子カメラ101のユーザ”Yamada Jiro”が子カメラ102に対して行った印刷指定をキャンセルする場合を考える。この場合、子カメラ101のユーザが操作部25を操作し、印刷対象となる画像の記憶先3101と、自機のユーザ情報3102を選択する。
【0180】
子カメラユーザが「キャンセル」3103を選択すると、子カメラ101はその旨を子カメラ102に通知する。通知を受信した子カメラ102は、DPOFファイルから”Yamada Jiro”を含むヘッダー部2703・印刷ジョブ2704・フッター部2705を削除する。
【0181】
子カメラ101が「全指定のキャンセル」3104を選択すると、子カメラ102にその旨が通知され、子カメラ102は印刷指定情報であるDPOFファイル自身を削除する。
【0182】
図32(b)は、カメラ102に記憶されている画像を印刷するようカメラ101から指示するための画面を示す。この画面はカメラ101の画像表示部13に表示される。カメラ101のユーザ”Yamada Jiro”は、図32(a)と同様、カメラ101の操作部25を操作することで、カメラID3111とユーザ情報3112を選択する。
【0183】
カメラ101のユーザが「印刷開始」3113を選択すると、カメラ101は、カメラ102にその旨を通知する。通知を受信したカメラ102は、DPOFファイルのうち”Yamada Jiro”を含むヘッダー部2703及びフッター部2705を検索する。そして、検索したヘッダー部2703及びフッター部2705間にある印刷ジョブ部2704を印刷するよう、接続したプリンタ(図示せず)に対し、印刷を指示する。
【0184】
以上述べたように、本実施形態では、画像印刷要求に要求元のユーザ情報を含ませ、そのユーザ情報を用いてDPOFファイルを更新するようにした。このことにより、ユーザ毎に印刷を要求を行った画像の閲覧を行ったり、ユーザ毎に画像の印刷を行うことが可能となる。
【0185】
本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。供給の形態はシステムあるいは装置記憶媒体に直接アクセスすることで供給されてもよいし、他の装置を介して供給されてもよい。
【0186】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現させることになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0187】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0188】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0189】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【0190】
【図1】第1の実施形態におけるデジタルカメラのブロック図である。
【図2】第1の実施形態におけるテレビのブロック図である。
【図3】第1の実施形態におけるネットワーク構成例を示す図である。
【図4】第1の実施形態においてデジタルカメラの役割を決定する画面を示す図である。
【図5】第1の実施形態における親カメラの処理手順を示すフローチャートである。
【図6】第1の実施形態における子カメラの処理手順を示すフローチャートである。
【図7】第1の実施形態におけるパケットの形式について示す図である。
【図8】第1の実施形態におけるパケットの形式について示す図である。
【図9】第1の実施形態におけるパケットの形式について示す図である。
【図10】第1の実施形態におけるパケットの形式について示す図である。
【図11】第1の実施形態における親カメラによって検出された子カメラを表示する画面を示す図である。
【図12】第1の実施形態におけるスライドショーリストを示す図である。
【図13】第1の実施形態における親カメラ1によって検出された複数の子カメラを表示する画面を示す図である。
【図14】第1の実施形態におけるスライドショー設定画面画面を示す図である。
【図15】第1の実施形態における親カメラのスライドショー処理時の動作を示すフローチャートである。
【図16】第1の実施形態における表示装置のスライドショー処理時の動作を示すフローチャートである。
【図17】第1の実施形態における子カメラのスライドショー処理時の動作を示すフローチャートである。
【図18】第1の実施形態におけるスライドショー画面を示す図である。
【図19】第1の実施形態における子カメラの画像取得要求を示す図である。
【図20】第1の実施形態における親カメラの画像取得要求処理時の動作を示すフローチャートである。
【図21】第1の実施形態におけるカメラ間の画像転送処理時の動作を示すフローチャートである。
【図22】第1の実施形態における画像取得要求のリストを示す図である。
【図23】第2の実施形態における親カメラの印刷要求処理時の動作を示すフローチャートである。
【図24】第2の実施形態におけるデジタルカメラのファイル構成を示す図である。
【図25】第3の実施形態におけるユーザ登録画面を示す図である。
【図26】第3の実施形態における子カメラの印刷要求処理時の動作を示すフローチャートである。
【図27】第3の実施形態における子カメラのDPOFファイル書き換えの動作を示すフローチャートである。
【図28】第3の実施形態におけるDPOFファイルを示す図である。
【図29】第3の実施形態における親カメラの閲覧処理時の動作を示すフローチャートである。
【図30】第3の実施形態における子カメラの閲覧処理時の動作を示すフローチャートである。
【図31】第3の実施形態における画像の確認画面を示す図である。
【図32】第3の実施形態における画像の印刷に関する指示画面を示す図である。
【特許請求の範囲】
【請求項1】
複数の画像処理装置とネットワークを形成するネットワーク制御装置であって、
前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する属性情報取得手段と、
前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御手段と、
前記画像の表示中に、前記複数の画像処理装置から画像の取得要求を受信する受信手段と、
前記取得要求に応じて、表示中の画像の属性情報を前記取得要求の要求元の画像処理装置に送信する表示情報送信手段とを有するネットワーク制御装置。
【請求項2】
前記属性情報は、画像のID、及び画像を記憶した画像処理装置を特定するための機器IDを含むことを特徴とする。
【請求項3】
前記取得手段により、前記複数の画像処理装置から取得した属性情報を一括してリストで管理するリスト管理手段をさらに有し、
前記表示制御手段は、前記リストに基づき表示を制御することを特徴とする請求項1に記載のネットワーク制御装置。
【請求項4】
前記リスト管理手段は、前記リストで管理された属性情報を特定の順番に並びかえることを特徴とし、
前記表示制御手段は、前記リストで管理された属性情報の順番に応じて画像を表示装置に順次表示させることを特徴とする請求項3に記載のネットワーク制御装置。
【請求項5】
前記特定の順番は、ファイル名、撮影日時、撮影機器の少なくとも1つに基づくことを特徴とする請求項4に記載のネットワーク制御装置。
【請求項6】
前記表示制御手段は、前記画像処理装置に対し、前記表示部に特定の画像を送信するよう要求することで表示を制御することを特徴とする請求項1に記載のネットワーク制御装置。
【請求項7】
前記取得要求には、要求元の画像処理装置を特定する要求元情報を含み、
前記表示情報送信手段は、前記要求元情報に基づき、前記表示中の画像の属性情報を送信することを特徴とする請求項1に記載のネットワーク制御装置。
【請求項8】
ネットワーク制御装置とネットワークを形成する画像処理装置であって、
他の画像処理装置から送信された画像が表示部に順次表示されている間に、特定の操作が行われたか否かを判定する操作判定手段と、
前記特定の操作を検知した場合に、前記ネットワーク制御装置に対して画像の取得要求を送信する送信手段と、
前記取得要求に応答して前記ネットワーク制御装置から送信された画像の属性情報を受信する属性情報受信手段とを有し、
前記属性情報は、前記取得要求を送信した際に前記表示部に表示されていた画像のIDを含むことを特徴とする画像処理装置。
【請求項9】
前記画像処理装置は、シャッタースイッチを備えた撮像装置であって、
前記特定の操作とは、シャッタースイッチを押下する操作であることを特徴とする請求項8に記載の画像処理装置。
【請求項10】
前記属性情報受信手段により受信した属性情報に基づき、他の画像処理装置から画像を取得する画像取得手段をさらに有することを特徴とする請求項8に記載の画像処理装置。
【請求項11】
複数の画像処理装置とネットワークを形成するネットワーク制御装置であって、
印刷の対象となる画像の属性情報を記述した印刷管理ファイルを記憶する管理ファイル記憶手段と、
前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する取得手段と、
前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御手段と、
前記画像の表示中に、前記複数の画像処理装置から画像の印刷要求を受信する受信手段と、
前記印刷要求に応じて、表示中の画像を印刷するよう前記印刷管理ファイルを更新するよう指示する更新指示手段とを有するネットワーク制御装置。
【請求項12】
前記印刷要求は、要求元の画像処理装置を特定する要求元情報を含み、
前記印刷管理ファイルは、画像の属性情報と前記要求元情報とが関連付けて記述されることを特徴とする請求項11に記載のネットワーク制御装置。
【請求項13】
印刷装置に印刷を指示する印刷指示手段を有し、
前記印刷指示手段は、前記要求元情報ごとにまとめて印刷を行うよう指示することができることを特徴とする請求項12に記載のネットワーク制御装置。
【請求項14】
印刷装置に印刷を指示する印刷指示手段を有し、
前記印刷指示手段は、前記要求元情報のうち、特定の要求元情報と関連付けられた画像の印刷を行うよう指示することができることを特徴とする請求項12に記載のネットワーク制御装置。
【請求項15】
ネットワーク制御装置及び表示装置とネットワークを形成する画像処理装置であって、
他の画像処理装置から送信された画像が表示装置に順次表示されている間に、特定の操作が検知されたか否かを判定する操作判定手段と、
前記特定の操作を検知した場合に、前記ネットワーク制御装置に画像の印刷要求を送信する送信手段とを有する画像処理装置。
【請求項16】
前記送信手段は、前記印刷要求に要求元の画像処理装置を特定するための要求元情報を含めて送信することを特徴とする請求項15に記載の画像処理装置。
【請求項17】
複数の画像処理装置を含むネットワーク上の機器の制御方法であって、
前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する属性情報取得工程と、
前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御工程と、
前記画像の表示中に、前記複数の画像処理装置から画像の取得要求を受信する受信工程と、
前記取得要求に応じて、表示中の画像の属性情報を前記取得要求の要求元の画像処理装置に送信する表示情報送信工程とを有するネットワーク上の機器の制御方法。
【請求項18】
複数の画像処理装置を含むネットワーク上の機器の制御方法であって、
印刷の対象となる画像の属性情報を記述した印刷管理ファイルを記憶する管理ファイル記憶工程と、
前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する取得工程と、
前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御工程と、
前記画像の表示中に、前記複数の画像処理装置から画像の印刷要求を受信する受信工程と、
前記印刷要求に応じて、表示中の画像を印刷するよう前記印刷管理ファイルを更新するよう指示する更新指示工程とを有するネットワーク上の機器の制御方法。
【請求項19】
請求項17に記載の方法をコンピュータに実行させるコンピュータ可読のプログラム。
【請求項20】
請求項18に記載の方法をコンピュータに実行させるコンピュータ可読のプログラム。
【請求項1】
複数の画像処理装置とネットワークを形成するネットワーク制御装置であって、
前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する属性情報取得手段と、
前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御手段と、
前記画像の表示中に、前記複数の画像処理装置から画像の取得要求を受信する受信手段と、
前記取得要求に応じて、表示中の画像の属性情報を前記取得要求の要求元の画像処理装置に送信する表示情報送信手段とを有するネットワーク制御装置。
【請求項2】
前記属性情報は、画像のID、及び画像を記憶した画像処理装置を特定するための機器IDを含むことを特徴とする。
【請求項3】
前記取得手段により、前記複数の画像処理装置から取得した属性情報を一括してリストで管理するリスト管理手段をさらに有し、
前記表示制御手段は、前記リストに基づき表示を制御することを特徴とする請求項1に記載のネットワーク制御装置。
【請求項4】
前記リスト管理手段は、前記リストで管理された属性情報を特定の順番に並びかえることを特徴とし、
前記表示制御手段は、前記リストで管理された属性情報の順番に応じて画像を表示装置に順次表示させることを特徴とする請求項3に記載のネットワーク制御装置。
【請求項5】
前記特定の順番は、ファイル名、撮影日時、撮影機器の少なくとも1つに基づくことを特徴とする請求項4に記載のネットワーク制御装置。
【請求項6】
前記表示制御手段は、前記画像処理装置に対し、前記表示部に特定の画像を送信するよう要求することで表示を制御することを特徴とする請求項1に記載のネットワーク制御装置。
【請求項7】
前記取得要求には、要求元の画像処理装置を特定する要求元情報を含み、
前記表示情報送信手段は、前記要求元情報に基づき、前記表示中の画像の属性情報を送信することを特徴とする請求項1に記載のネットワーク制御装置。
【請求項8】
ネットワーク制御装置とネットワークを形成する画像処理装置であって、
他の画像処理装置から送信された画像が表示部に順次表示されている間に、特定の操作が行われたか否かを判定する操作判定手段と、
前記特定の操作を検知した場合に、前記ネットワーク制御装置に対して画像の取得要求を送信する送信手段と、
前記取得要求に応答して前記ネットワーク制御装置から送信された画像の属性情報を受信する属性情報受信手段とを有し、
前記属性情報は、前記取得要求を送信した際に前記表示部に表示されていた画像のIDを含むことを特徴とする画像処理装置。
【請求項9】
前記画像処理装置は、シャッタースイッチを備えた撮像装置であって、
前記特定の操作とは、シャッタースイッチを押下する操作であることを特徴とする請求項8に記載の画像処理装置。
【請求項10】
前記属性情報受信手段により受信した属性情報に基づき、他の画像処理装置から画像を取得する画像取得手段をさらに有することを特徴とする請求項8に記載の画像処理装置。
【請求項11】
複数の画像処理装置とネットワークを形成するネットワーク制御装置であって、
印刷の対象となる画像の属性情報を記述した印刷管理ファイルを記憶する管理ファイル記憶手段と、
前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する取得手段と、
前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御手段と、
前記画像の表示中に、前記複数の画像処理装置から画像の印刷要求を受信する受信手段と、
前記印刷要求に応じて、表示中の画像を印刷するよう前記印刷管理ファイルを更新するよう指示する更新指示手段とを有するネットワーク制御装置。
【請求項12】
前記印刷要求は、要求元の画像処理装置を特定する要求元情報を含み、
前記印刷管理ファイルは、画像の属性情報と前記要求元情報とが関連付けて記述されることを特徴とする請求項11に記載のネットワーク制御装置。
【請求項13】
印刷装置に印刷を指示する印刷指示手段を有し、
前記印刷指示手段は、前記要求元情報ごとにまとめて印刷を行うよう指示することができることを特徴とする請求項12に記載のネットワーク制御装置。
【請求項14】
印刷装置に印刷を指示する印刷指示手段を有し、
前記印刷指示手段は、前記要求元情報のうち、特定の要求元情報と関連付けられた画像の印刷を行うよう指示することができることを特徴とする請求項12に記載のネットワーク制御装置。
【請求項15】
ネットワーク制御装置及び表示装置とネットワークを形成する画像処理装置であって、
他の画像処理装置から送信された画像が表示装置に順次表示されている間に、特定の操作が検知されたか否かを判定する操作判定手段と、
前記特定の操作を検知した場合に、前記ネットワーク制御装置に画像の印刷要求を送信する送信手段とを有する画像処理装置。
【請求項16】
前記送信手段は、前記印刷要求に要求元の画像処理装置を特定するための要求元情報を含めて送信することを特徴とする請求項15に記載の画像処理装置。
【請求項17】
複数の画像処理装置を含むネットワーク上の機器の制御方法であって、
前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する属性情報取得工程と、
前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御工程と、
前記画像の表示中に、前記複数の画像処理装置から画像の取得要求を受信する受信工程と、
前記取得要求に応じて、表示中の画像の属性情報を前記取得要求の要求元の画像処理装置に送信する表示情報送信工程とを有するネットワーク上の機器の制御方法。
【請求項18】
複数の画像処理装置を含むネットワーク上の機器の制御方法であって、
印刷の対象となる画像の属性情報を記述した印刷管理ファイルを記憶する管理ファイル記憶工程と、
前記複数の画像処理装置の少なくとも1つから、それぞれの画像処理装置に記憶された画像の属性情報を取得する取得工程と、
前記属性情報に基づき、前記画像を表示部に順次表示させるよう制御する表示制御工程と、
前記画像の表示中に、前記複数の画像処理装置から画像の印刷要求を受信する受信工程と、
前記印刷要求に応じて、表示中の画像を印刷するよう前記印刷管理ファイルを更新するよう指示する更新指示工程とを有するネットワーク上の機器の制御方法。
【請求項19】
請求項17に記載の方法をコンピュータに実行させるコンピュータ可読のプログラム。
【請求項20】
請求項18に記載の方法をコンピュータに実行させるコンピュータ可読のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【公開番号】特開2008−160426(P2008−160426A)
【公開日】平成20年7月10日(2008.7.10)
【国際特許分類】
【出願番号】特願2006−346262(P2006−346262)
【出願日】平成18年12月22日(2006.12.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成20年7月10日(2008.7.10)
【国際特許分類】
【出願日】平成18年12月22日(2006.12.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]