以下、図面を参照して本発明の好適な実施形態の一例を説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される通信装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
[第一の実施形態]
<デジタルカメラ100の外観図>
図1(A),(B)に、通信装置の一例としてのデジタルカメラ100の外観図を示す。図1(A)はデジタルカメラ100の前面斜視図の一例であり、図1(B)はデジタルカメラ100の背面斜視図の一例である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯電話機、ゲーム機、タブレットデバイス、ウェアラブルデバイス、スマートフォン、およびパーソナルコンピュータ等の通信可能な情報処理装置であってもよい。
表示部28は、デジタルカメラ100の背面に設けられた表示部であり、画像や各種情報を表示する。タッチパネル70aは、表示部28の表示面(タッチ操作面)に対するタッチ操作を検出することができる。ファインダー外表示部43は、デジタルカメラ100の上面に設けられた表示部であり、シャッター速度や絞りをはじめとするデジタルカメラ100の様々な設定値を表示する。シャッターボタン61は撮影指示を行うための操作部材である。モード切替スイッチ60は、各種モードを切り替えるための操作部材である。端子カバー40は、デジタルカメラ100を外部機器に接続する接続ケーブル等とのコネクタ(不図示)を保護するカバーである。
メイン電子ダイヤル71は回転操作部材であり、メイン電子ダイヤル71を回すことで、シャッター速度や絞りなどの設定値の変更等が行える。電源スイッチ72は、デジタルカメラ100の電源のONとOFFを切り替える操作部材である。サブ電子ダイヤル73は回転操作部材であり、サブ電子ダイヤル73を回すことで、選択枠(カーソル)の移動や画像送りなどが行える。4方向キー74は、上、下、左、右部分をそれぞれ押し込み可能に構成され、4方向キー74の押した部分に応じた処理が可能である。SETボタン75は、押しボタンであり、主に選択項目の決定などに用いられる。
動画ボタン76は、動画撮影(記録)の開始や停止の指示に用いられる。AEロックボタン77は押しボタンであり、撮影待機状態でAEロックボタン77を押下することにより、露出状態を固定することができる。拡大ボタン78は、撮影モードのライブビュー表示(LV表示)において拡大モードのONとOFFを切り替えるための操作ボタンである。拡大モードをONとしてからメイン電子ダイヤル71を操作することにより、ライブビュー画像(LV画像)の拡大や縮小を行える。再生モードにおいては、拡大ボタン78は、再生画像を拡大したり、その拡大率を増加させるたりするための操作ボタンとして機能する。再生ボタン79は、撮影モードと再生モードとを切り替えるための操作ボタンである。撮影モード中に再生ボタン79を押下することで再生モードに移行し、記録媒体200(後述)に記録された画像のうち最新の画像を表示部28に表示させることができる。メニューボタン81はメニュー画面を表示させる指示操作を行うために用いられる押しボタンであり、メニューボタン81が押されると各種の設定が可能なメニュー画面が表示部28に表示される。ユーザは、表示部28に表示されたメニュー画面と、4方向キー74やSETボタン75とを用いて直感的に各種設定を行うことができる。
タッチバー82(マルチファンクションバー:M-Fnバー)は、タッチ操作を受け付けることが可能なライン状のタッチ操作部材(ラインタッチセンサー)である。タッチバー82は、通常の握り方(メーカー推奨の握り方)でグリップ部90を握った右手の親指でタッチ操作可能(タッチ可能)な位置に配置されている。タッチバー82は、タッチバー82に対するタップ操作(タッチして所定期間以内に移動せずに離す操作)、左右へのスライド操作(タッチした後、タッチしたままタッチ位置を移動する操作)などを受け付け可能な受付部である。タッチバー82は、タッチパネル70aとは異なる操作部材であり、表示機能を備えていない。
通信端子10は、デジタルカメラ100がレンズユニット150(後述;着脱可能)側と通信を行うための通信端子である。接眼部16は、接眼ファインダー17(覗き込み型のファインダー)の接眼部であり、ユーザは、接眼部16を介して内部のEVF29(後述)に表示された映像を視認することができる。接眼検知部57は、接眼部16にユーザー(撮影者)が接眼しているか否かを検知する接眼検知センサーである。蓋202は、記録媒体200(後述)を格納するスロットの蓋である。グリップ部90は、ユーザがデジタルカメラ100を構える際に右手で握りやすい形状とした保持部である。グリップ部90を右手の小指、薬指、中指で握ってデジタルカメラ100を保持した状態で、右手の人差指で操作可能な位置にシャッターボタン61とメイン電子ダイヤル71が配置されている。また、同じ状態で、右手の親指で操作可能な位置に、サブ電子ダイヤル73とタッチバー82が配置されている。サムレスト部91(親指待機位置)は、デジタルカメラ100の背面側の、どの操作部材も操作しない状態でグリップ部90を握った右手の親指を置きやすい箇所に設けられたグリップ部材である。サムレスト部91は、保持力(グリップ感)を高めるためのラバー部材などで構成される。
<デジタルカメラ100の構成ブロック図>
図2は、デジタルカメラ100の構成例を示すブロック図である。レンズユニット150は、交換可能な撮影レンズを搭載するレンズユニットである。レンズ103は通常、複数枚のレンズから構成されるが、図2では簡略して一枚のレンズのみで示している。通信端子6は、レンズユニット150がデジタルカメラ100側と通信を行うための通信端子であり、通信端子10は、デジタルカメラ100がレンズユニット150側と通信を行うための通信端子である。レンズユニット150は、これら通信端子6,10を介してシステム制御部50と通信する。そして、レンズユニット150は、内部のレンズシステム制御回路4によって絞り駆動回路2を介して絞り1の制御を行う。また、レンズユニット150は、レンズシステム制御回路4によってAF駆動回路3を介してレンズ103の位置を変位させることで焦点を合わせる。
シャッター101は、システム制御部50の制御で撮像部22の露光時間を自由に制御できるフォーカルプレーンシャッターである。
撮像部22は、光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。撮像部22は、システム制御部50にデフォーカス量情報を出力する撮像面位相差センサーを有していてもよい。A/D変換器23は、撮像部22から出力されるアナログ信号をデジタル信号に変換する。
画像処理部24は、A/D変換器23からのデータ、又は、メモリ制御部15からのデータに対し所定の処理(画素補間、縮小といったリサイズ処理、色変換処理、等)を行う。また、画像処理部24は、撮像した画像データを用いて所定の演算処理を行い、システム制御部50は、画像処理部24により得られた演算結果に基づいて露光制御や測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理、等が行われる。画像処理部24は更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理を行う。
A/D変換器23からの出力データは、画像処理部24及びメモリ制御部15を介してメモリ32に書き込まれる。あるいは、A/D変換器23からの出力データは、画像処理部24を介さずにメモリ制御部15を介してメモリ32に書き込まれる。メモリ32は、撮像部22によって得られA/D変換器23によりデジタルデータに変換された画像データや、表示部28やEVF29に表示するための画像データを格納する。メモリ32は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
また、メモリ32は画像表示用のメモリ(ビデオメモリ)を兼ねている。D/A変換器19は、メモリ32に格納されている画像表示用のデータをアナログ信号に変換して表示部28やEVF29に供給する。こうして、メモリ32に書き込まれた表示用の画像データはD/A変換器19を介して表示部28やEVF29により表示される。表示部28とEVF29のそれぞれは、LCDや有機EL等の表示器上で、D/A変換器19からのアナログ信号に応じた表示を行う。A/D変換器23によってA/D変換されメモリ32に蓄積されたデジタル信号をD/A変換器19においてアナログ信号に変換し、表示部28またはEVF29に逐次転送して表示することで、ライブビュー表示(LV)が行える。以下、ライブビュー表示で表示される画像をライブビュー画像(LV画像)と称する。
ファインダー外表示部43には、ファインダー外表示部駆動回路44を介して、シャッター速度や絞りをはじめとするカメラの様々な設定値が表示される。
不揮発性メモリ56は、電気的に消去・記録可能なメモリであり、例えばEEPROM等である。不揮発性メモリ56には、システム制御部50の動作用の定数、プログラム等が記録される。ここでいうプログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。
システム制御部50は、少なくとも1つのプロセッサまたは回路からなる制御部であり、デジタルカメラ100全体を制御する。システム制御部50は、前述した不揮発性メモリ56に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。システムメモリ52は揮発性メモリであり、例えばRAMである。システム制御部50は、システム制御部50の動作用の定数、変数、不揮発性メモリ56から読み出したプログラム等をシステムメモリ52に展開する。また、システム制御部50は、メモリ32、D/A変換器19、表示部28等を制御することにより表示制御も行う。
システムタイマー53は、各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
電源制御部80は、電池検出回路、DC-DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出などを行う。また、電源制御部80は、その検出結果及びシステム制御部50の指示に基づいてDC-DCコンバータを制御し、必要な電圧を必要な期間、記録媒体200を含む各部へ供給する。電源部30は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。
記録媒体I/F18は、メモリカードやハードディスク等の記録媒体200とのインターフェースである。記録媒体200は、撮影された画像を記録するためのメモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
通信部54は、無線または有線ケーブルによって接続された外部機器との間で、映像信号や音声信号の送受信を行う。通信部54は無線LAN(Local Area Network)やインターネットとも接続可能である。また、通信部54は、Bluetooth(登録商標)やBluetooth Low Energyでも外部機器と通信可能である。通信部54は撮像部22で撮像した画像(LV画像を含む)や、記録媒体200に記録された画像を送信可能であり、外部機器から画像データやその他の各種情報を受信することができる。本実施形態のデジタルカメラ100はクライアント・サーバ方式の通信において、クライアントとして動作する通信機能(以下、クライアント機能という)およびサーバとして動作する通信機能(以下、サーバ機能という)をそれぞれ少なくとも1つ以上有する。さらに、本実施形態のデジタルカメラ100は、複数の通信機能を並行して利用できる。
姿勢検知部55は、重力方向に対するデジタルカメラ100の姿勢を検知する。姿勢検知部55で検知された姿勢に基づいて、撮像部22で撮影された画像が、デジタルカメラ100を横に構えて撮影された画像であるか、縦に構えて撮影された画像であるかを判別可能である。システム制御部50は、姿勢検知部55で検知された姿勢に応じた向き情報を撮像部22で撮像された画像の画像ファイルに付加したり、画像を回転して記録したりすることが可能である。姿勢検知部55としては、加速度センサーやジャイロセンサーなどを用いることができる。姿勢検知部55である加速度センサーやジャイロセンサーを用いて、デジタルカメラ100の動き(パン、チルト、持ち上げ、静止しているか否か等)を検知することも可能である。
接眼検知部57は、接眼ファインダー17(以後、単に「ファインダー」と記載する)の接眼部16に対する目(物体)の接近(接眼)および離反(離眼)を検知する(接近検知)、接眼検知センサーである。システム制御部50は、接眼検知部57で検知された状態に応じて、表示部28とEVF29の表示(表示状態)/非表示(非表示状態)を切り替える。より具体的には、少なくとも撮影待機状態で、かつ、表示先の切替が自動切替である場合において、非接眼中は表示先を表示部28として表示をオンとし、EVF29は非表示とする。また、接眼中は表示先をEVF29として表示をオンとし、表示部28は非表示とする。接眼検知部57としては、例えば赤外線近接センサーを用いることができ、EVF29を内蔵するファインダー17の接眼部16への何らかの物体の接近を検知することができる。物体が接近した場合は、接眼検知部57の投光部(図示せず)から投光した赤外線が物体で反射して赤外線近接センサーの受光部(図示せず)で受光される。受光された赤外線の量によって、物体が接眼部16からどの距離まで近づいているか(接眼距離)も判別することができる。このように、接眼検知部57は、接眼部16への物体の近接距離を検知する接眼検知を行う。非接眼状態(非接近状態)から、接眼部16に対して所定距離以内に近づく物体が検出された場合に、接眼されたと検出するものとする。接眼状態(接近状態)から、接近を検知していた物体が所定距離以上離れた場合に、離眼されたと検出するものとする。接眼を検出する閾値と、離眼を検出する閾値は例えばヒステリシスを設けるなどして異なっていてもよい。また、接眼を検出した後は、離眼を検出するまでは接眼状態であるものとする。離眼を検出した後は、接眼を検出するまでは非接眼状態であるものとする。なお、赤外線近接センサーは一例であって、接眼検知部57には、接眼とみなせる目や物体の接近を検知できるものであれば他のセンサーを採用してもよい。
操作部70は、ユーザからの操作(ユーザー操作)を受け付ける入力部であり、システム制御部50に各種の動作指示を入力するために使用される。図2に示すように、操作部70は、モード切替スイッチ60、シャッターボタン61、電源スイッチ72、タッチパネル70a、タッチバー82、等を含む。また、操作部70は、その他の操作部材70bとして、メイン電子ダイヤル71、サブ電子ダイヤル73、4方向キー74、SETボタン75、動画ボタン76、AEロックボタン77、拡大ボタン78、再生ボタン79、メニューボタン81、等を含む。
モード切替スイッチ60は、システム制御部50の動作モードを静止画撮影モード、動画撮影モード、再生モード等のいずれかに切り替える。静止画撮影モードに含まれるモードとして、オート撮影モード、オートシーン判別モード、マニュアルモード、絞り優先モード(Avモード)、シャッター速度優先モード(Tvモード)、プログラムAEモード(Pモード)がある。また、撮影シーン別の撮影設定となる各種シーンモード、カスタムモード等がある。モード切替スイッチ60より、ユーザは、これらのモードのいずれかに直接切り替えることができる。あるいは、モード切替スイッチ60で撮影モードの一覧画面に一旦切り替えた後に、表示された複数のモードのいずれかに、他の操作部材を用いて選択的に切り替えるようにしてもよい。同様に、動画撮影モードにも複数のモードが含まれていてもよい。
シャッターボタン61は、第1シャッタースイッチ62と第2シャッタースイッチ64を備える。第1シャッタースイッチ62は、シャッターボタン61の操作途中、いわゆる半押し(撮影準備指示)でONとなり第1シャッタースイッチ信号SW1を発生する。システム制御部50は、第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備動作を開始する。
第2シャッタースイッチ64は、シャッターボタン61の操作完了、いわゆる全押し(撮影指示)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部50は、第2シャッタースイッチ信号SW2により、撮像部22からの信号読み出しから、撮像された画像を画像ファイルとして記録媒体200に書き込むまでの、一連の撮影処理の動作を開始する。
タッチパネル70aと表示部28とは一体的に構成することができる。例えば、タッチパネル70aは、光の透過率が表示部28の表示を妨げないように構成され、表示部28の表示面の上層に取り付けられる。そして、タッチパネル70aにおける入力座標と、表示部28の表示面上の表示座標とを対応付ける。これにより、あたかもユーザが表示部28上に表示された画面を直接的に操作可能であるかのようなGUI(グラフィカルユーザーインターフェース)を提供できる。システム制御部50は、タッチパネル70aへの以下の操作、あるいは状態を検出できる。
・タッチパネル70aにタッチしていなかった指やペンが新たにタッチパネル70aにタッチしたこと、すなわちタッチの開始(以下、タッチダウン(Touch-Down)と称する)
・タッチパネル70aを指やペンでタッチしている状態(以下、タッチオン(Touch-On)と称する)
・指やペンがタッチパネル70aをタッチしたまま移動していること(以下、タッチムーブ(Touch-Move)と称する)
・タッチパネル70aへタッチしていた指やペンがタッチパネル70aから離れた(リリースされた)こと、すなわちタッチの終了(以下、タッチアップ(Touch-Up)と称する)
・タッチパネル70aに何もタッチしていない状態(以下、タッチオフ(Touch-Off)と称する)
タッチダウンが検出されると、同時にタッチオンも検出される。タッチダウンの後、タッチアップが検出されない限りは、通常はタッチオンが検出され続ける。タッチムーブが検出された場合も、同時にタッチオンが検出される。タッチオンが検出されていても、タッチ位置が移動していなければタッチムーブは検出されない。タッチしていた全ての指やペンがタッチアップしたことが検出された後は、タッチオフとなる。
これらの操作・状態や、タッチパネル70a上に指やペンがタッチしている位置座標は内部バスを通じてシステム制御部50に通知される。そして、システム制御部50は通知された情報に基づいてタッチパネル70a上にどのような操作(タッチ操作)が行なわれたかを判定する。タッチムーブについてはタッチパネル70a上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル70a上の垂直成分・水平成分毎に判定できる。所定距離以上をタッチムーブしたことが検出された場合はスライド操作が行なわれたと判定するものとする。タッチパネル70a上に指をタッチしたままある程度の距離だけ素早く動かして、そのまま離すといった操作をフリックと呼ぶ。フリックは、言い換えればタッチパネル70a上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でタッチムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行なわれたと判定できる(スライド操作に続いてフリックがあったものと判定できる)。更に、複数箇所(例えば2点)を共にタッチして(マルチタッチして)、互いのタッチ位置を近づけるタッチ操作をピンチイン、互いのタッチ位置を遠ざけるタッチ操作をピンチアウトと称する。ピンチアウトとピンチインを総称してピンチ操作(あるいは単にピンチ)と称する。タッチパネル70aは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサー方式等、様々な方式のタッチパネルのうちいずれの方式のものであってもよい。タッチパネルに対する接触があったことでタッチがあったと検出する方式や、タッチパネルに対する指やペンの接近があったことでタッチがあったと検出する方式があるが、いずれの方式でもよい。
また、システム制御部50は、タッチバー82への以下の操作、あるいは状態を検出できる。
・タッチバー82にタッチしていなかった指が新たにタッチバー82にタッチしたこと、すなわちタッチの開始(タッチダウン(Touch-Down))
・タッチバー82を指でタッチしている状態(タッチオン(Touch-On))
・指がタッチバー82をタッチしたまま移動していること(タッチムーブ(Touch-Move))
・タッチバー82へタッチしていた指がタッチバー82から離れた(リリースされた)こと、すなわちタッチの終了(タッチアップ(Touch-Up))
・タッチバー82に何もタッチしていない状態(タッチオフ(Touch-Off))
タッチダウンが検出されると、同時にタッチオンも検出される。タッチダウンの後、タッチアップが検出されない限りは、通常はタッチオンが検出され続ける。タッチムーブが検出された場合も、同時にタッチオンが検出される。タッチオンが検出されていても、タッチ位置が移動していなければタッチムーブは検出されない。タッチしていた全ての指やペンがタッチアップしたことが検出された後は、タッチオフとなる。
これらの操作・状態や、タッチバー82上に指がタッチしている位置座標は内部バスを通じてシステム制御部50に通知され、システム制御部50は通知された情報に基づいてタッチバー82上にどのような操作(タッチ操作)が行なわれたかを判定する。タッチムーブについてはタッチバー82上での水平方向(左右方向)の移動を検知する。タッチ位置が所定距離以上移動(所定量以上移動)したことが検出された場合はスライド操作が行なわれたと判定するものとする。タッチバー82上に指をタッチし、スライド操作することなく、所定時間以内にタッチを離す操作があった場合に、タップ操作が行われたと判定するものとする。タッチバー82は、本実施形態では、静電容量方式のタッチセンサーであるものとする。ただし、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサー方式等、別の方式のタッチセンサーであってもよい。
<通信機能の設定>
ここでは本実施形態のデジタルカメラ100の通信機能の設定方法について説明する。本実施形態では例えばデジタルカメラ100が通信機能の設定メニューを表示部28に表示し、ユーザは操作部70に含まれる操作部材を操作することで通信機能を設定する。
図3(A)はデジタルカメラ100における通信機能を設定するための画面の一例である。項目310ではユーザはデジタルカメラ100において通信の機能を利用するかしないか(オンかオフか)を設定できる。項目311ではユーザはデジタルカメラ100通信機能を利用している間にデジタルカメラ100の節電機能を有効にするか否か(オンかオフか)を設定できる。項目312では、ユーザは通信機能を選択することができる。初期設定では項目310および項目311の設定はオフとなっている。この場合、通信部54を利用しないため、項目311はユーザ操作を受け付けないように表示される。例えば図3(A)に示すようにシステム制御部50は項目311を選択できないことを示すために、網掛けして表示する。他にも、システム制御部50は項目311を表示しない、項目311を操作されても応答しない等によって項目311を選択できないことをユーザに示してもよい。また、項目310がオンに変更された場合、デジタルカメラ100は図3(B)に示すように、項目311の設定を変更できるように表示する。ユーザが項目311を操作し節電機能を有効にした場合、デジタルカメラ100は図3(C)に示すような画面を表示部28に表示する。
図3(A)の説明に戻る。ユーザが項目312を選択した場合、デジタルカメラ100は表示部28に図3(D)に示すような画面を表示する。この画面ではユーザはデジタルカメラ100の通信機能を選択することができる。項目320はクライアント機能の一例である画像データを送信する通信機能を示す。項目321はサーバ機能の一例であるデジタルカメラ100を外部装置から遠隔操作する通信機能を示す。項目322は上記クライアント機能およびサーバ機能を並行して実行する機能を示す。なお、デジタルカメラ100は他にも、2つ以上のクライアント機能を並行して実行する機能や2つ以上のサーバ機能を並行して実行する機能等を有してもよい。また、デジタルカメラ100はユーザがサーバ機能およびクライアント機能を自由に組み合わせて新たな設定を作成できるようにしてもよい。この設定は不揮発性メモリ56に記録されているデータベースに記録される。ここでは、一例としてユーザが項目320を選択した場合について説明する。
ユーザが項目320を選択した場合、デジタルカメラ100は図3(E)に示すような接続設定メニューを表示する。この接続設定メニューの右上には、ユーザが選択した通信機能の設定の種類が表示されている。ユーザが項目330を選択した場合、デジタルカメラ100は設定1に記録されている通信機能を実行する。ユーザが項目331を選択した場合、デジタルカメラ100は設定1に記録されている通信機能を変更するための処理を実行する。次に本実施形態のデジタルカメラ100のクライアント機能およびサーバ機能について説明する。
<クライアント機能・サーバ機能>
ここでは本実施形態のデジタルカメラ100のクライアント機能およびサーバ機能について説明する。本実施形態ではデジタルカメラ100のクライアント機能の一例としてデジタルカメラ100が外部サーバ400へ画像データを送信する機能を、図4(A)に示すネットワークシステムを用いて説明する。また、本実施形態ではデジタルカメラ100のサーバ機能の一例としてPC450に表示されるWebブラウザ上からデジタルカメラ100を遠隔操作する機能を、図4(B)に示すネットワークシステムを用いて説明する。なお本実施形態では、デジタルカメラ100が外部サーバ400およびPC450と無線接続する例を説明するが、デジタルカメラ100は外部サーバ400およびPC450と有線接続してもよい。ここでは各機能について個別に説明する。
まず、図4(A)に示すネットワークシステムを用いて、デジタルカメラ100が外部サーバ400へ画像データを送信する処理の一例を説明する。本実施形態では、画像データを送信する場合では、デジタルカメラ100が通信プロトコルとしてFTP(File Transfer Protocol)を利用する例を説明する。FTPはクライアント・サーバ方式を採用する通信プロトコルの1つである。ただし、デジタルカメラ100はFTP以外の通信プロトコルを利用してもよい。例えば、デジタルカメラ100はPTP(Picture Transfer Protocol)やHTTP(Hyper Text Transfer Protocol)等のクライアント・サーバ方式を採用する他の通信プロトコルを利用してもよい。なお、このネットワークシステムではデジタルカメラ100はクライアントとして、外部サーバ400はサーバとして動作する。また本ネットワークシステムではデジタルカメラ100はクライアントとして動作するため、デジタルカメラ100が無線接続の接続および切断を主体的に制御する。
このネットワークシステムでは例えば外部サーバ400はクラウドストレージとして機能する。ユーザはデジタルカメラ100によって撮影した画像データを外部サーバ400へ送信することで、この画像データを外部サーバ400に保存できる。そして、ユーザはデジタルカメラ100によって撮影した画像データをこの外部サーバ400にアクセスすることで閲覧できる。
このデジタルカメラ100が外部サーバ400へ画像データを送信する処理の一例を、図5を用いて説明する。このデジタルカメラ100の処理は、不揮発性メモリ56に記録されたソフトウェアをシステム制御部50が実行することで実現する。またこの処理は、デジタルカメラ100がユーザから画像データを送信するための操作を受け付けたことをトリガに開始される。
ステップS501において、システム制御部50は通信部54を介して外部サーバ400と無線接続する。このネットワークシステムではデジタルカメラ100はクライアントとして動作するため、システム制御部50が通信部54を介して外部サーバ400へ接続要求パケットを送信し、外部サーバ400がそのパケットに応答することで両装置の無線接続が確立される。
ステップS502において、システム制御部50は外部サーバ400へ画像データを送信する。
ステップS503において、システム制御部50は新たにユーザから画像データを送信するための操作を受け付けたか否かを判断する。ユーザから画像データを送信するための操作を受け付けた場合、システム制御部50はステップS502の処理を再度実行し、画像データを外部サーバ400へ送信する。システム制御部50がユーザから画像データを送信するための操作を受け付けていない場合、処理はステップS504へ進む。
ステップS504において、システム制御部50はユーザからクライアント機能を終了するよう操作されたか否かを判断する。システム制御部50はユーザからクライアント機能を終了するよう操作されたと判断した場合、処理はステップS507に進む。システム制御部50はユーザからクライアント機能を終了するよう操作されていないと判断した場合、処理はステップS505に進む。
ステップS505において、システム制御部50は節電機能が有効か無効かを判断する。システム制御部50が節電機能が有効であると判断した場合、処理はステップS506に進む。システム制御部50が節電機能が無効であると判断した場合、処理はステップS503に戻る。なお、節電機能については後述する。
ステップS506において、システム制御部50は最後にユーザから画像データを送信するための操作を受け付けてから所定時間が経過したか否かを判断する。例えば、システム制御部50はユーザから画像データを送信するための操作を受け付けてから5秒経過したと判断した場合、所定時間が経過したと判断する。この時間はユーザが任意に設定できるようにしてもよい。システム制御部50がユーザから画像データを送信するための操作を受け付けてから所定時間が経過したと判断した場合、処理はステップS507に進む。システム制御部50がユーザから画像データを送信するための操作を受け付けてから所定時間が経過していないと判断した場合、処理はステップS503に戻る。
ステップS507において、システム制御部50は外部サーバ400との無線接続を切断する。例えばシステム制御部50は通信部54を介して外部サーバ400へ切断要求パケットを送信することで、外部サーバ400との無線接続を切断する。
ステップS508において、システム制御部50は通信部54への電力の供給を停止する。これにより、デジタルカメラ100は電力の消費量を低減することができる。
以上、デジタルカメラ100がクライアントとして外部サーバ400へ画像データを送信する処理について説明した。上記処理のようにデジタルカメラ100はクライアント機能を実行している場合、所定時間経過してもユーザから操作を受け付けていないことに応じて外部サーバ400との接続を切断する。なお、本処理における節電機能の処理はこのクライアント機能を終了する処理と等しい。なお、デジタルカメラ100は外部サーバ400との無線接続を切断した後に他の画像データを送信する場合、通信部54に通電し、本処理を再度実行する。
なお、本実施形態ではデジタルカメラ100はユーザによって画像データを送信するための指示を受け付けたことに応じて、外部サーバ400へ画像データを送信するが、この画像データの送信処理は、画像データを撮影したことに応じて開始してもよい。この方法では、撮影する操作と画像データを送信する操作を併用できるため、ユーザの画像データを送信する手間を削減することができる。
次に、図4(B)に示すネットワークシステムを用いて、PC450に表示されるWebブラウザ上からデジタルカメラ100を遠隔操作する処理の一例を説明する。本実施形態では、この処理を実行する場合では、デジタルカメラ100が通信プロトコルとしてHTTPを利用する例を説明する。なお、このネットワークシステムではデジタルカメラ100はサーバとして、PC450はクライアントとして動作する。また本ネットワークシステムではデジタルカメラ100はサーバとして動作するため、PC450が無線接続の接続および切断を主体的に制御する。
このネットワークシステムでは例えばユーザはPC450をリモコンとして利用することでデジタルカメラ100を遠隔操作できる。ユーザはPC450に表示されるWebブラウザを操作することで、デジタルカメラ100によって撮影することや、デジタルカメラ100によって撮影した画像データをPC450へ送信することを要求することができる。
このデジタルカメラ100がPC450によって遠隔操作される処理の一例を、図6を用いて説明する。このデジタルカメラ100の処理は、不揮発性メモリ56に記録されたソフトウェアをシステム制御部50が実行することで実現する。またこの処理は、デジタルカメラ100がユーザからサーバ機能を有効にする操作を受け付けたことをトリガに開始される。
ステップS601において、システム制御部50は通信部54を介してPC450と無線接続する。このネットワークシステムではデジタルカメラ100はサーバとして動作するため、システム制御部50が通信部54を介してPC450から接続要求パケットを受信し、そのパケットに応答することで両装置の無線接続が確立される。
ステップS602において、システム制御部50はPC450から指示を受信したか否かを判断する。例えばシステム制御部50はPC450から撮影するよう指示を受け付けたか否かを判断する。システム制御部50がPC450から指示を受信した場合、処理はステップS603に進む。システム制御部50がPC450から指示を受信していない場合、処理はステップS606に進む。まずシステム制御部50がPC450から指示を受信した場合について説明する。
ステップS603において、システム制御部50は後述するステップS608において通信速度を制限したか否かを判断する。このステップS608における通信速度を制限する処理は節電機能が有効である場合に実行される処理である。システム制御部50が通信速度を制限している場合、処理はステップS604に進む。システム制御部50が通信速度を制限していない場合、処理はステップS605に進む。なお、節電機能については後述する。
ステップS604において、システム制御部50はPC450との通信速度の制限を解除する。例えばシステム制御部50はリンク速度を1Mbpsから1Gbpsに変更する。この1Gbpsのリンク速度は、デジタルカメラ100とPC450とが通信できるリンク速度のうち、最も速い速度の一例である。なお、本ステップの処理は節電機能が無効である場合には実行されない。
ステップS605において、システム制御部50はPC450から指示された処理を実行する。例えばステップS602においてPC450から撮影するよう指示を受け付けた場合、システム制御部50は撮像部22を用いて撮像し、撮像した画像データを記録媒体200に記録する。PC450から指示された処理を実行した後、システム制御部50はステップS602の処理に戻り、PC450からの指示を受信するまで待機する。次にシステム制御部50がステップS602においてPC450から指示を受信していない場合について説明する。
ステップS606において、システム制御部50は節電機能が有効か無効かを判断する。システム制御部50が節電機能が有効であると判断した場合、処理はステップS607に進む。システム制御部50が節電機能が無効であると判断した場合、処理はステップS602に戻る。なお、節電機能については後述する。
ステップS607において、システム制御部50は最後にPC450から指示を受信してから所定時間が経過したか否かを判断する。例えば、システム制御部50はPC450から指示を受信してから5分経過したと判断した場合、所定時間が経過したと判断する。この時間はユーザが任意に設定できるようにしてもよい。システム制御部50がPC450から指示を受信してから所定時間が経過したと判断した場合、処理はステップS608に進む。システム制御部50がPC450から指示を受信してから所定時間が経過していないと判断した場合、処理はステップS609に進む。
ステップS608において、システム制御部50はPC450との通信速度を制限する。例えば、システム制御部50はPC450とのリンク速度を1Mbpsに変更する。なお、本ステップの処理は節電機能が有効である場合に実行される。
ステップS609において、システム制御部50はPC450との無線接続を切断するか否かを判断する。例えばシステム制御部50は通信部54を介してPC450から無線接続の切断を要求するパケットを受信することで無線接続を切断するか否かを判断する。システム制御部50がPC450との無線接続を切断する場合、処理はステップS610に進む。システム制御部50がPC450との無線接続を切断しない場合、処理はステップS602に戻る。
ステップS610において、システム制御部50はPC450との無線接続を切断する。
ステップS611において、システム制御部50は通信部54への電力の供給を停止する。
以上、デジタルカメラ100がサーバとしてPC450から遠隔操作される処理について説明した。
なお、本実施形態ではクライアント機能およびサーバ機能のそれぞれの通信機能においてそれぞれ異なる通信プロトコルを利用したが、デジタルカメラ100はそれぞれの通信機能において同じ通信プロトコルを利用して通信してもよい。
なお、本実施形態では図3に示すようにサーバ装置とクライアント装置は直接接続しているが、両装置はアクセスポイント等の中継機器を介して互いに接続してもよい。
<節電機能の動作>
ここではデジタルカメラ100のクライアント機能およびサーバ機能のそれぞれの機能における節電機能の動作について説明する。まず、クライアント・サーバ方式を採用する通信について説明する。
クライアント・サーバ方式を採用する通信では基本的にクライアント装置がサーバ装置に所定の要求パケットを送信し、サーバ装置がその所定の要求に応じてクライアント装置と通信する。言い換えると、クライアント装置はサーバ装置と何らかの通信を実行する場合、要求パケットをサーバ装置へ送信することでその通信を開始する。これを踏まえると、クライアント装置は少なくともサーバ装置と通信する必要がある間のみサーバ装置と接続していればよい。一方、サーバ装置はクライアント装置から要求パケットを受信できるように待機する必要があるため、通信する必要がない間もクライアント装置と接続を維持することが望ましい。そこで本実施形態のデジタルカメラ100はクライアント機能およびサーバ機能のそれぞれの機能において節電機能を実行する場合、図5および図6を用いて説明したようにそれぞれ異なる処理を実行する。先にデジタルカメラ100のクライアント機能について説明する。
ここでは、デジタルカメラ100のクライアント機能の一例として、図5を用いて説明したデジタルカメラ100が画像データを外部サーバ400へ送信する機能について説明する。図5のステップS505、ステップS506において説明したように、デジタルカメラ100はユーザ操作がなされないまま所定時間経過したことに応じて外部サーバ400との無線接続を切断する。所定時間経過するまで接続を切断しない理由は、画像データを送信した後すぐに、ユーザが追加で別の画像データを送信することも考えられるからである。そして外部サーバ400との接続を切断する理由は、所定時間経過してもユーザから操作されない場合、デジタルカメラ100はユーザがデジタルカメラ100を操作する可能性が低いと判断できるからである。これによりデジタルカメラ100はクライアント機能を実行するとともに電力の消費量も低減できる。さらに通信部54への電力の供給を停止することで、デジタルカメラ100はさらに電力の消費量を低減できる。次にデジタルカメラ100のサーバ機能について説明する。
デジタルカメラ100のサーバ機能の一例として、図6を用いて説明したデジタルカメラ100がPC450から遠隔操作される機能について説明する。図6のステップS606~S608において説明したように、デジタルカメラ100はPC450から指示を受信しないまま所定時間経過してもPC450との接続を切断しない。なぜなら上述したようにサーバ装置は少なくともクライアント装置から要求パケットを受信できるように待機する必要があるからである。そこでデジタルカメラ100はPC450とのリンク速度を低下させることで、PC450との接続を維持しつつ単位時間当たりに受信するデータ量を低減し、電力の消費を低減する。そしてPC450から指示を受信した場合、図6のステップS603、ステップS604において説明したように、デジタルカメラ100はリンク速度を上昇させ、元のリンク速度に戻す。これにより、デジタルカメラ100はPC450から指示されると判断できる場合、PC450の指示に遅延の少ないように応答できる。
<クライアント機能およびサーバ機能を並行して実行する場合における節電機能の動作>
ここで、本実施形態における複数の通信機能を並行して実行した場合における節電機能の動作について説明する。ユーザが通信機能のうち少なくとも1つの通信機能を使用している場合、デジタルカメラ100はユーザから操作されているとして、いずれかの機能が所定時間以上使用されなくとも節電機能を実行しない。また、その複数の通信機能がすべてクライアント機能またはすべてサーバ機能である場合、ユーザがすべてのその複数の通信機能を所定時間以上操作していないことに応じてデジタルカメラ100は節電機能を実行してもよい。なぜなら同種の通信機能であれば互いの節電機能が阻害しあう可能性は低いからである。
しかし複数の通信機能にクライアント機能およびサーバ機能の両方が含まれる場合、ユーザがすべての機能を所定時間以上使用していないことに応じてデジタルカメラ100は節電機能を実行すると不都合が生じる。それは例えばクライアント機能の節電機能におけるデジタルカメラ100の通信部54への電力の供給を停止する処理が上述したサーバ機能の節電機能におけるデジタルカメラ100の通信部54に通電し続ける処理を阻害する不都合である。このように使用されていないクライアント機能の節電機能がそれに並行して使用されているサーバ機能を阻害してしまうおそれがある。そこで本実施形態ではこの場合、デジタルカメラ100はクライアント機能の節電機能を実行せず、サーバ機能の節電機能を実行する。
複数の通信機能を並行して実行する場合におけるデジタルカメラ100の節電機能の設定処理を図7を用いて説明する。このデジタルカメラ100の処理は、不揮発性メモリ56に記録されたソフトウェアをシステム制御部50が実行することで実現する。またこの処理は、デジタルカメラ100の通信機能を実行したことをトリガに開始される。例えば図3(E)に示す接続設定メニューから項目330をユーザが選択したことに応じて、デジタルカメラ100はこの処理を開始する。
ステップS701において、システム制御部50は節電機能が有効か無効かを判断する。例えばシステム制御部50は図3(C)に示す通信設定で項目311がオンに設定されているかオフに設定されているかを判断する。システム制御部50が節電機能が無効であると判断した場合、処理はステップS702に進む。ステップS702において、システム制御部50は実行する予定の通信機能の節電機能を無効化し、ステップS711においてその通信機能を実行する。システム制御部50が節電機能が有効であると判断した場合、処理はステップS703に進む。
ステップS703において、システム制御部50は2つ以上の通信機能を実行するか否かを判断する。例えば図3(D)の項目320および項目321に示すように、1つの通信機能が設定されている場合、システム制御部50は2つ以上の通信機能を実行しないと判断する。また例えば図3(D)の項目322に示すように、複数の通信機能が設定されている場合、システム制御部50は2つ以上の通信機能を実行すると判断する。システム制御部50が2つ以上の通信機能を実行しないと判断した場合、処理はステップS704に進む。このステップS704において、システム制御部50は実行する予定の通信機能の節電機能を有効化する。そしてステップS711において通信機能を実行する。システム制御部50が2つ以上の通信機能を実行すると判断した場合、システム制御部50はステップS706に進む。
ステップS706において、システム制御部50はクライアント機能を実行するか否かを判断する。例えばシステム制御部50は上述した画像データの送信機能を実行するか否かを判断する。クライアント機能を実行しないと判断した場合、システム制御部50は複数のサーバ機能のみを実行することになる。この場合、処理はステップS707に進む。このステップS707において、システム制御部50はそのサーバ機能の節電機能をそれぞれ有効化する。そしてステップS711においてその複数のサーバ機能を並行して実行する。システム制御部50がクライアント機能を実行すると判断した場合、処理はステップS708に進む。
ステップS708において、システム制御部50はサーバ機能を実行するか否かを判断する。例えばシステム制御部50は上述したWebブラウザ上からデジタルカメラ100を遠隔操作する機能を実行するか否かを判断する。サーバ機能を実行しないと判断した場合、システム制御部50は複数のクライアント機能のみを実行することになる。この場合、処理はステップS709に進む。このステップS709において、システム制御部50はそのクライアント機能の節電機能をそれぞれ有効化する。そしてステップS711においてその複数のクライアント機能を並行して実行する。
また、システム制御部50がサーバ機能を実行する場合、処理はステップS710に進む。この場合、ステップS710において、システム制御部50はクライアント機能の節電機能を無効化し、ステップS707において、サーバ機能の節電機能を有効化する。そしてステップS711において、システム制御部50はその複数の通信機能を並行して実行する。
以上、複数の通信機能を並行して実行する場合におけるデジタルカメラ100の節電機能の設定処理を説明した。これにより、通信機能において、クライアント機能とサーバ機能とを並行して実行する場合でも、デジタルカメラ100は節電機能を利用することが可能となる。
なお、本実施形態ではシステム制御部50は通信機能を実行する前に節電機能の設定処理を実行したが、この処理を通信機能の実行を開始した後に実行してもよい。例えば、通信機能の節電機能を実行する条件が満たされた場合、システム制御部50はこの節電機能の設定処理を実行する。そしてこの節電機能の設定処理を実行した後に、システム制御部50は節電機能を実行する。
なお、ステップS710ではシステム制御部50はクライアント機能の節電機能を無効化するが、図3(A)に示した項目311の節電機能は無効化しない(オフに変更しない)。これにより、次にクライアント機能だけ起動する場合、節電機能の設定を変更せずともデジタルカメラ100はそのクライアント機能において節電機能を利用することができる。
なお、ステップS710において、クライアント機能の節電機能を無効化する場合、デジタルカメラ100はユーザに節電機能が無効化されたことを通知するために図8(A)に例示する画面を表示部28に表示してもよい。またデジタルカメラ100は表示部28に通知を表示する代わりに、ファインダー外表示部43に通知を表示してもよい。
なお、サーバ機能およびクライアント機能を並行して実行する場合、システム制御部50はクライアント機能の節電機能を無効化し、サーバ機能の節電機能を有効化したが、クライアント機能およびサーバ機能の両方の節電機能を無効化してもよい。この場合、例えば図8(B)に示すようにシステム制御部50は通信機能を実行する前に警告画面を表示し、デジタルカメラ100の節電機能の動作をユーザに選択させてもよい。また、両方の節電機能を無効化する場合、システム制御部50は図3(A)に示した項目311の節電機能を無効化してもよい(オフに変更してもよい)。
なお、デジタルカメラ100はクライアント機能の節電機能およびサーバ機能の節電機能とは別に、ユーザ操作がなされないまま所定時間経過したことに応じてデジタルカメラ100の消費電力を低減するオートパワーオフ機能を有することが考えられる。このオートパワーオフ機能では、例えばデジタルカメラ100は表示部28への通電を停止する処理や、通信部54への通電を停止する処理等を実行する。オートパワーオフ機能を有する場合、デジタルカメラ100は通信機能の節電機能に加えてオートパワーオフ機能を実行することで、さらに消費電力を低減できる。例えば表示部28への通電を停止する処理は通信機能の節電機能の動作を阻害しないため、サーバ機能またはクライアント機能を実行している場合でもデジタルカメラ100はオートパワーオフ機能として表示部28への通電を停止する処理を実行する。しかし、例えば通信部54への通電を停止すると実行中の通信機能の動作を阻害してしまうため、通信機能を実行している場合、デジタルカメラ100はオートパワーオフ機能として通信部54への通電を停止する処理を実行しない。このようにデジタルカメラ100はオートパワーオフの処理に応じて、通信機能が動作している場合にオートパワーオフ機能を動作させるか否かを判定する。なお、本実施形態では、通信機能を実行している場合、デジタルカメラ100はオートパワーオフ機能を実行しない。
なお、ステップS710の処理はクライアント機能の節電機能を通信部54への電力の供給を停止しないように変更する処理にしてもよい。なぜなら通信部54への通電がなされていれば、クライアント機能の節電機能が有効であってもサーバ機能の節電機能を阻害することがなくなるからである。この処理を適用した場合におけるクライアント機能の処理について、上述の画像データの送信処理を一例に図9を用いて説明する。このデジタルカメラ100の処理は、不揮発性メモリ56に記録されたソフトウェアをシステム制御部50が実行することで実現する。またこの処理は、デジタルカメラ100がユーザから画像データを送信するための操作を受け付けたことをトリガに開始される。
ステップS901からステップS905はそれぞれ図5のステップS501からステップS505と同様であるため説明を省略する。
ステップS906において、システム制御部50は節電機能が有効か無効かを判断する。システム制御部50が節電機能が有効であると判断した場合、処理はステップS909に進む。システム制御部50が節電機能が無効であると判断した場合、処理はステップS903に戻る。
ステップS909において、システム制御部50は外部サーバ400との無線接続を切断する。このとき、システム制御部50は通信部54への通電を維持する。
ステップS910において、システム制御部50はユーザから操作を受け付けたか否かを判断する。例えば、ユーザが操作部70を操作したか否かを判断する。また、システム制御部50は通信部54等を介して外部サーバ400やその他の外部装置からデータを受信ことに応じてユーザから操作を受け付けたと判断してもよい。システム制御部50がユーザから操作を受け付けていないと判断した場合、処理は本ステップの処理を繰り返す。システム制御部50がユーザから操作を受け付けたと判断した場合、処理はステップS911に進む。
ステップS911において、システム制御部50は外部サーバ400と無線接続し、外部サーバ400との通信を再開する。この処理により、デジタルカメラ100は節電状態から通信機能を実行する状態へ戻る。本ステップの処理の後、処理はステップS903へ戻る。
ステップS907およびステップS908はそれぞれ図5のステップS507およびステップS508と同様であるため説明を省略する。
以上、節電機能を変更した場合におけるデジタルカメラ100が外部サーバ400へ画像データを送信する処理について説明した。上記処理のように、このクライアント機能の節電機能では、デジタルカメラ100は通信部54への通電は維持するが、無線接続しているサーバ装置との接続を切断することで節電している。デジタルカメラ100が通信部54への通電を維持することで、このクライアント機能の節電処理はサーバ機能の処理を阻害しない。このように、並行して実行する機能に合わせて節電機能を変更することで、デジタルカメラ100は複数の通信機能を利用しつつも、それらの節電機能を利用することができる。
なお、オートパワーオフ機能とこのクライアント機能の節電機能の両方の機能が有効である場合、オートパワーオフ機能が実行されるまでの第一の時間はクライアント機能の節電機能が実行されるまでの第二の時間よりも長いほうがよい。例えばデジタルカメラ100のオートパワーオフ機能が通信部54への通電を停止する処理である場合について説明する。オートパワーオフ機能が実行された場合、通信部54への通電を停止するため、デジタルカメラ100は通信部54へ再度通電し外部サーバ400と再接続する。一方、このクライアント機能の節電機能では通信部54への通電は維持しながらも無線接続しているサーバ装置との接続を切断するため、デジタルカメラ100は外部サーバ400と再接続するだけである。一般的に、デジタルカメラ100が通信部54に再度通電し外部サーバ400へ再接続する時間は、デジタルカメラ100が通電部54への通電を維持している状態から外部サーバ400へ再接続する時間よりも長い。また、ユーザがデジタルカメラ100を使用しない時間が短いほど、再度デジタルカメラ100を使用する可能性が高く、デジタルカメラ100を使用しない時間が長いほど、再度デジタルカメラ100を使用する可能性は低い。そのため、節電機能とオートパワーオフ機能の動作する順序は、デジタルカメラ100が外部サーバ400に再接続する時間が短い順番であるほうがよい。すなわち、この場合、第一の時間が第二の時間よりも長いほうがよい。
[第二の実施形態]
第一の実施形態ではデジタルカメラ100はクライアント機能およびサーバ機能の両方の機能において節電機能を有していた。第二の実施形態では、クライアント機能では節電機能を有するが、サーバ機能では節電機能を有さない場合について説明する。サーバ機能が節電機能を有さない理由は、上述したように、サーバ装置は少なくともクライアント装置から要求パケットを受信できるように待機する必要があるためである。一方、クライアント機能では上述したように少なくともサーバ装置と通信する必要がある間のみサーバ装置と接続していればよいため、本実施形態ではデジタルカメラ100はクライアント機能において節電機能を有する。
ここで、本実施形態のデジタルカメラ100の構成は第一の実施形態と同様であるため、説明を省略する。また、本実施形態のネットワークシステムも第一の実施形態と同様であるため、説明を省略する。
<サーバ機能>
本実施形態のデジタルカメラ100のサーバ機能について図10を用いて説明する。このサーバ機能の一例としてデジタルカメラ100がPC450によって遠隔操作される機能について説明する。このデジタルカメラ100の処理は、不揮発性メモリ56に記録されたソフトウェアをシステム制御部50が実行することで実現する。またこの処理は、デジタルカメラ100がユーザからサーバ機能を有効にする操作を受け付けたことをトリガに開始される。
ステップS1001において、システム制御部50は通信部54を介してPC450と無線接続する。このネットワークシステムではデジタルカメラ100はサーバとして動作するため、システム制御部50が通信部54を介してPC450から接続要求パケットを受信し、そのパケットに応答することで両装置の無線接続が確立される。本ステップの処理は図6のステップS601の処理に相当する。
ステップS1002において、システム制御部50はPC450から指示を受信したか否かを判断する。例えばシステム制御部50はPC450から撮影するよう指示を受け付けたか否かを判断する。システム制御部50がPC450から指示を受信した場合、処理はステップS1003に進む。システム制御部50がPC450から指示を受信していない場合、処理はステップS1005に進む。本ステップの処理は図6のステップS602の処理に相当する。
ステップS1003において、システム制御部50はPC450から指示された処理を実行する。例えばステップS1002においてPC450から撮影するよう指示を受け付けた場合、システム制御部50は撮像部22を用いて撮像し、撮像した画像データを記録媒体200に記録する。PC450から指示された処理を実行した後、システム制御部50はステップS1002の処理に戻り、PC450からの指示を受信するまで待機する。本ステップの処理は図6のステップS605の処理に相当する。次にシステム制御部50がステップS1002においてPC450から指示を受信していない場合について説明する。
ステップS1004において、システム制御部50はPC450との無線接続を切断するか否かを判断する。例えばシステム制御部50は通信部54を介してPC450から無線接続の切断を要求するパケットを受信することで無線接続を切断するか否かを判断する。システム制御部50がPC450との無線接続を切断する場合、処理はステップS1005に進む。システム制御部50がPC450との無線接続を切断しない場合、処理はステップS1002に戻る。本ステップの処理は図6のステップS609の処理に相当する。
ステップS1005において、システム制御部50はPC450との無線接続を切断する。
ステップS1006において、システム制御部50は通信部54への電力の供給を停止する。
以上、デジタルカメラ100がサーバとしてPC450から遠隔操作される処理について説明した。このように本実施形態のデジタルカメラ100は第一の実施形態と異なり、サーバ機能を実行中にクライアント装置から指示を受信していない状態であっても、デジタルカメラ100は節電機能を実行しない。
なお本実施形態のデジタルカメラ100のクライアント機能については、第一の実施形態におけるデジタルカメラ100のクライアント機能と同様であるため説明を省略する。
<クライアント機能およびサーバ機能を並行して実行する場合における節電機能の動作>
ここで、本実施形態における複数の通信機能を並行して実行した場合における節電機能の動作について説明する。本実施形態でもデジタルカメラ100のクライアント機能の節電機能は通信部54への電力の供給を停止する処理を有する。そのため第一の実施形態と同様に、クライアント機能の節電機能がそれに並行して使用されているサーバ機能を阻害してしまうおそれがある。そこで本実施形態ではこの場合、デジタルカメラ100はクライアント機能の節電機能を実行せず、サーバ機能の節電機能を実行する。
複数の通信機能を並行して実行する場合におけるデジタルカメラ100の節電機能の設定処理を図11を用いて説明する。このデジタルカメラ100の処理は、不揮発性メモリ56に記録されたソフトウェアをシステム制御部50が実行することで実現する。またこの処理は、デジタルカメラ100の通信機能を実行したことをトリガに開始される。例えば図3(E)に示す接続設定メニューから項目330をユーザが選択したことに応じて、デジタルカメラ100はこの処理を開始する。
ステップS1101において、システム制御部50は節電機能が有効か無効かを判断する。例えばシステム制御部50は図3(C)に示す通信設定で項目311がオンに設定されているかオフに設定されているかを判断する。システム制御部50が節電機能が無効であると判断した場合、処理はステップS1102に進む。ステップS1102において、システム制御部50は実行する予定の通信機能の節電機能を無効化し、ステップS1109においてその通信機能を実行する。システム制御部50が節電機能が有効であると判断した場合、処理はステップS1103に進む。
ステップS1103において、システム制御部50は2つ以上の通信機能を実行するか否かを判断する。例えば図3(D)の項目320および項目321に示すように、1つの通信機能が設定されている場合、システム制御部50は2つ以上の通信機能を実行しないと判断する。また例えば図3(D)の項目322に示すように、複数の通信機能が設定されている場合、システム制御部50は2つ以上の通信機能を実行すると判断する。システム制御部50が2つ以上の通信機能を実行しないと判断した場合、処理はステップS1104に進む。このステップS1104において、システム制御部50は実行する予定の通信機能の節電機能を有効化する。そしてステップS1109において通信機能を実行する。システム制御部50が2つ以上の通信機能を実行すると判断した場合、システム制御部50はステップS1105に進む。
ステップS1105において、システム制御部50はクライアント機能を実行するか否かを判断する。例えばシステム制御部50は上述した画像データの送信機能を実行するか否かを判断する。クライアント機能を実行しないと判断した場合、システム制御部50は複数のサーバ機能のみを実行することになる。この場合、処理はステップS1109に進み、システム制御部50はその複数のサーバ機能を並行して実行する。システム制御部50がクライアント機能を実行すると判断した場合、処理はステップS708に進む。
ステップS1106において、システム制御部50はサーバ機能を実行するか否かを判断する。例えばシステム制御部50は上述したWebブラウザ上からデジタルカメラ100を遠隔操作する機能を実行するか否かを判断する。サーバ機能を実行しないと判断した場合、システム制御部50は複数のクライアント機能のみを実行することになる。この場合、処理はステップS1107に進む。このステップS1107において、システム制御部50はそのクライアント機能の節電機能をそれぞれ有効化する。そしてステップS1109においてその複数のクライアント機能を並行して実行する。
また、システム制御部50がサーバ機能を実行する場合、処理はステップS1108に進む。この場合、ステップS1108において、システム制御部50はクライアント機能の節電機能を無効化する。そしてステップS1109において、システム制御部50はその複数の通信機能を並行して実行する。
以上、複数の通信機能を並行して実行する場合におけるデジタルカメラ100の節電機能の設定処理を説明した。これにより、通信機能において、ユーザが節電機能の設定を手動で変更することなく、デジタルカメラ100はクライアント機能とサーバ機能とを並行して実行することが可能となる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。