以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
[第1の実施形態]
<デジタルカメラの構成>
図1は、撮像装置の一例であるデジタルカメラ100の構成例を示すブロック図である。なお、ここでは撮像装置の一例としてデジタルカメラについて述べるが、デジタルカメラはこれに限られない。例えばデジタルカメラは、いわゆるスマートフォンなどの携帯電話であってもよいし、監視カメラのような据え置き型の撮像装置でもよい。
図1において、撮像レンズ102はズームレンズ、フォーカスレンズを含むレンズ群である。シャッター103は絞り機能を備えるシャッターである。撮像部104は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器105は、アナログ信号をデジタル信号に変換する。A/D変換器105は、撮像部104から出力されるアナログ信号をデジタル信号に変換するために用いられる。バリア101は、デジタルカメラ100の、撮像レンズ102を含む撮像系を覆うことにより、撮像レンズ102、シャッター103、撮像部104を含む撮像系の汚れや破損を防止する。
画像処理部111は、A/D変換器105からのデータ、又は、メモリ制御部108からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部111では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部121が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部111では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
A/D変換器105からの出力データは、画像処理部111及びメモリ制御部108を介して、或いは、メモリ制御部108を介してメモリ109に直接書き込まれる。メモリ109は、撮像部104によって得られ、A/D変換器105によりデジタルデータに変換された画像データや、表示部107に表示するための画像データを格納する。メモリ109は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
また、メモリ109は画像表示用のメモリ(ビデオメモリ)を兼ねている。D/A変換器106は、メモリ109に格納されている画像表示用のデータをアナログ信号に変換して表示部107に供給する。こうして、メモリ109に書き込まれた表示用の画像データはD/A変換器106を介して表示部107により表示される。表示部107は、LCD等の表示器上に、D/A変換器106からのアナログ信号に応じた表示を行う。A/D変換器105によって一度A/D変換されメモリ109に蓄積されたデジタル信号をD/A変換器106においてアナログ変換し、表示部107に逐次転送して表示することで、電子ビューファインダとして機能し、スルー画像表示を行える。
不揮発性メモリ124は、電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ124には、システム制御部121の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。
システム制御部121は、デジタルカメラ100全体を制御する。前述した不揮発性メモリ124に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。システムメモリ123は、RAMが用いられる。システムメモリ123には、システム制御部121の動作用の定数、変数、不揮発性メモリ124から読み出したプログラム等を展開する。また、システム制御部はメモリ109、D/A変換器106、表示部107等を制御することにより表示制御も行う。
システムタイマー122は各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
モード切替スイッチ115、第1シャッタースイッチ119、第2シャッタースイッチ120、操作部113はシステム制御部121に各種の動作指示を入力するための操作手段である。
モード切替スイッチ115は、システム制御部121の動作モードを静止画記録モード、動画記録モード、再生モード等のいずれかに切り替える。静止画記録モードに含まれるモードとして、オート撮像モード、オートシーン判別モード、マニュアルモード、撮像シーン別の撮像設定となる各種シーンモード、プログラムAEモード、カスタムモード等がある。モード切り替えスイッチ115で、静止画撮像モードに含まれるこれらのモードのいずれかに直接切り替えられる。あるいは、モード切り替えスイッチ115で静止画撮像モードに一旦切り換えた後に、静止画撮像モードに含まれるこれらのモードのいずれかに、他の操作部材を用いて切り替えるようにしてもよい。同様に、動画撮像モードにも複数のモードが含まれていてもよい。第1シャッタースイッチ119は、デジタルカメラ100に設けられたシャッターボタン114の操作途中、いわゆる半押し(撮像準備指示)でONとなり第1シャッタースイッチ信号SW1を発生する。第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作を開始する。
第2シャッタースイッチ120は、シャッターボタン114の操作完了、いわゆる全押し(撮像指示)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部121は、第2シャッタースイッチ信号SW2により、撮像部104からの信号読み出しから記録媒体128に画像データを書き込むまでの一連の撮像処理の動作を開始する。
操作部113の各操作部材は、表示部107に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部107に表示される。利用者は、表示部107に表示されたメニュー画面と、上下左右の4方向ボタンやSETボタンとを用いて直感的に各種設定を行うことができる。
電源制御部117は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部117は、その検出結果及びシステム制御部121の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体128を含む各部へ供給する。
電源部118は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。記録媒体I/F127は、メモリーカードやハードディスク等の記録媒体128とのインターフェースである。記録媒体128は、撮像された画像を記録するためのメモリーカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
通信I/F110は、外部機器やネットワーク112などと通信して、ファイルやコマンドなどの各種データの送受信を行うためのインターフェースである。このインターフェースとしては、例えば無線LANやBluetooth(登録商標)などの無線インターフェースや、USBなどの有線インターフェースを用いることができる。
<スマートフォンの構成>
図2は、本実施形態の通信装置の一例であるスマートフォン200の構成例を示すブロック図である。本実施形態でいうスマートフォンとは携帯電話の一種であり、スマートフォンは対応するアプリケーションをインストールすることで、種々の機能を実行することができるものとする。本実施形態のスマートフォンは、種々のカメラ機能を実現するためのカメラアプリケーションがインストールされている。なお、カメラアプリケーションはスマートフォン200の出荷時点で予めインストールされていてもよいし、スマートフォン200を購入したユーザの操作によりインストールされてもよい。なお、ここでは通信装置の一例としてスマートフォンについて述べるが、通信装置はこれに限られない。例えばデジタルカメラや、タブレットデバイス、パーソナルコンピュータなどのカメラ機能付きの情報処理装置であってもよい。
図2において、撮像レンズ202はズームレンズ、フォーカスレンズを含むレンズ群である。シャッター203は絞り機能を備えるシャッターである。撮像部204は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器205は、アナログ信号をデジタル信号に変換する。A/D変換器205は、撮像部204から出力されるアナログ信号をデジタル信号に変換するために用いられる。バリア201は、スマートフォン200の、撮像レンズ202を含む撮像系を覆うことにより、撮像レンズ202、シャッター203、撮像部204を含む撮像系の汚れや破損を防止する。
バリア231はバリア201、撮像レンズ232は撮像レンズ202、シャッター233はシャッター203、撮像部234は撮像部204と同等の機能を持つ。
本実施形態のスマートフォンは、2つの撮像部をフロントカメラ、リアカメラと呼ばれるカメラとして備えている。バリア201、撮像レンズ202、シャッター203、撮像部204は、スマートフォン200のフロントカメラ部であり、表示部207と同一面上に取り付けられている。フロントカメラは、主としてスマートフォン200を保持しているユーザ自身を撮像する場合に用いる。バリア231、撮像レンズ232、シャッター233、撮像部234はスマートフォン200のリアカメラ部であり、表示部207の反対側の面に取り付けられる。リアカメラは主としてスマートフォン200の保持者が、他の被写体を撮像するために用いられる。
画像処理部211は、A/D変換器205からのデータ、又は、メモリ制御部208からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部211では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部221が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部211では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
A/D変換器205からの出力データは、画像処理部211及びメモリ制御部208を介して、或いは、メモリ制御部208を介してメモリ209に直接書き込まれる。メモリ209は、撮像部204によって得られ、A/D変換器205によりデジタルデータに変換された画像データや、表示部207に表示するための画像データを格納する。メモリ209は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
また、メモリ209は画像表示用のメモリ(ビデオメモリ)を兼ねている。D/A変換器206は、メモリ209に格納されている画像表示用のデータをアナログ信号に変換して表示部207に供給する。こうして、メモリ209に書き込まれた表示用の画像データはD/A変換器206を介して表示部207により表示される。表示部207は、LCD等の表示器上に、D/A変換器206からのアナログ信号に応じた表示を行う。A/D変換器205によって一度A/D変換されメモリ209に蓄積されたデジタル信号をD/A変換器206においてアナログ変換し、表示部207に逐次転送して表示することで、電子ビューファインダとして機能し、スルー画像表示を行える。
不揮発性メモリ224は、電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ224には、システム制御部221の動作用の定数、プログラム等が記憶される。ここに記憶されるプログラムは、本実施形態にて後述する各種フローチャートを実行するためのプログラムを含み、前述したカメラアプリケーションもこの不揮発性メモリ224に記憶される。
システム制御部221は、スマートフォン200全体を制御する。前述した不揮発性メモリ224に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。システムメモリ223は、RAMが用いられる。システムメモリ223には、システム制御部221の動作用の定数、変数、不揮発性メモリ224から読み出したプログラム等を展開する。また、システム制御部はメモリ209、D/A変換器206、表示部207等を制御することにより表示制御も行う。
システムタイマー222は各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
操作部213はシステム制御部221に各種の動作指示を入力するための操作手段である。
なお、本実施形態のスマートフォンは表示部207の全面に構成されたタッチパネルを用いるものとする。すなわち、表示部207に種々の操作部を表示し、スマートフォンはその操作部のタッチを検知することでタッチ位置に応じた処理を実行する。
操作部としては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部207に表示される。
電源制御部217は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部217は、その検出結果及びシステム制御部221の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体228を含む各部へ供給する。
電源部218は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。記録媒体I/F227は、メモリーカードやハードディスク等の記録媒体228とのインターフェースである。記録媒体228は、撮像された画像を記録するためのメモリーカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
通信I/F210は、外部機器やネットワーク112などと通信して、ファイルやコマンドなどの各種データの送受信を行うためのインターフェースである。このインターフェースとしては、例えば無線LANやBluetooth(登録商標)などの無線インターフェースや、USBなどの有線インターフェースを用いることができる。
<タッチパネル操作>
なお、本実施形態では操作部213にタッチパネルが含まれるため、ここでタッチパネル操作について説明する。システム制御部221は、タッチパネルへの以下の操作を検出できる。タッチパネルを指やペンで触れたこと(以下、タッチダウンと称する)。タッチパネルを指やペンで触れている状態であること(以下、タッチオンと称する)。タッチパネルを指やペンで触れたまま移動していること(以下、スライドと称する)。タッチパネルへ触れていた指やペンを離したこと(以下、タッチアップと称する)。タッチパネルに何も触れていない状態(以下、タッチオフと称する)。これらの操作や、タッチパネル上に指やペンが触れている位置座標はシステム制御部221に通知され、システム制御部221は通知された情報に基づいてタッチパネル上にどのような操作が行なわれたかを判定する。タッチダウンされてからスライドを行わずに所定時間内にタッチアップをしたとき、タップが行われたこととする。タップは一瞬だけタッチパネルをタッチする操作であり、項目の指定やボタンの押下など、マウスでいうクリックと同等の操作として用いられることが多い。をタッチパネル上をタッチダウンから一定のスライドを経てタッチアップをしたとき、ストロークを描いたこととする。素早くストロークを描く操作をフリックと呼ぶ。フリックは、タッチパネル上に指を触れたままある程度の距離だけ素早く動かして、そのまま離すといった操作であり、言い換えればタッチパネル上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でスライドしたことが検出され、そのままタッチアップが検出されるとフリックが行なわれたと判定できる。また、所定距離以上を、所定速度未満でムーブしたことが検出された場合はドラッグが行なわれたと判定するものとする。タッチパネルは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
<ユースケース>
図3は、本実施形態のスマートフォン200のユースケースを示す全体システムの図のユースケース例を示す。
図3(a)は、スマートフォン200の撮像部204(フロントカメラ)を動作させており、表示部207には、スマートフォン200の所有者の映像が映し出されている撮像ユースケースを示す。
図3(b)は、スマートフォン200の撮像部234(リアカメラ)を動作させており、表示部207には、スマートフォン200の所有者以外の外側の映像が映し出されているユースケースを示す。
図3(c)は、スマートフォン200が通信I/F110及び通信I/F210を介して外部撮像装置としてのデジタルカメラ100と通信し、デジタルカメラの撮像部104を動作させるよう制御しているユースケースを示す。スマートフォン用のカメラアプリケーションの中には市販のデジタルカメラを遠隔制御できる機能を提供するものがある。図3(c)の例では表示部207にデジタルカメラ100で撮像している映像が映し出されている。スマートフォンのユーザはスマートフォンを操作することにより、デジタルカメラに対して撮像指示を送信することができる。この形態は主に記念撮影など、従来セルフタイマー機能を用いて実現していたケースでの利用が想定される。
図3(d)は、スマートフォンにカメラユニットを装着して撮像するユースケースを示す。このユースケースでは、スマートフォンに高機能なレンズ、センサ、画像処理ユニットなどを含むカメラユニットを装着し、スマートフォン側ではカメラユニットと通信しながら各種表示や操作を行う。このケースは、カメラユニットとスマートフォンの関係は通信I/F110と通信I/F210とを介した遠隔制御システムとなるため、通信上は図3(c)のデジタルカメラとスマートフォンの関係と大差はない。したがって本実施形態では特に断らない限り、「遠隔制御」「リモート撮像」などの概念には、図3(d)のユースケースも含まれるものとする。また、カメラユニットも「リモートカメラ」の一種として説明する。このカメラユニットを装着するユースケースでは、ユーザはあたかも高機能なリアカメラを使用する感覚で撮像を行うことが可能となる。
<デジタルカメラ非接続時のスマートフォンの画面>
図4は、本実施形態におけるスマートフォン200がデジタルカメラ100と接続される前の表示手段によるGUI(カメラ制御画面)の図である。
GUI400は、カメラアプリケーションを起動させた際に表示部207によって表示されるGUIである。GUIには各種操作部が表示され、ユーザは所望の操作部にタッチすることで各種処理の実行を指示することができる。
ストロボGUI401は、撮像するときのストロボの制御状態を示す。ユーザはタッチパネルを操作して、発光部226の動作を変更することができる。ストロボの制御の種類は、強制発光、発光禁止、赤目補正発光、スロー同期発光などに変更可能とする。たとえば、リアカメラ側にストロボが取り付けられていたとする。このとき、現在駆動しているカメラが、フロントカメラの場合において、ストロボ制御できない場合は、撮像するときにストロボ制御が動作しない。一方で、ストロボ自体は、別の機能として懐中電灯(トーチ)機能として動作させることができる。
切替ボタンGUI403は、制御対象となるカメラを切り替えるためのボタンである。図4の画面では、切替ボタンGUI403をタップするたびにフロントカメラとリアカメラのいずれを制御対象にするかを切り替える。本実施形態ではGUI403の表示例としてトグル式を説明するが、必ずしもトグル式である必要はない。切替ボタンGUI403の他の例については後述する。
撮像モードGUI404は、現在動作している撮像部204、もしくは、撮像部205において、ビデオ撮像、静止画撮像といった撮像モードを切り替えるためのGUIである。ここでは、左右フリック操作によって、画面を切り替えることができる。
再生モード切替GUI405をタップすると、過去に撮像した動画・静止画を閲覧できるGUIが表示される。
撮像ボタンGUI406は、操作部材213を使用してタップすることにより現在表示している映像に対して、撮像モードに応じて処理を開始する。たとえば、動画の記録の開始や停止、または静止画の撮像などを開始する。さらに、静止画の撮像モードにおいて、長押しをした場合は、連写撮像などを行う処理が実行される。また、撮像するときに、システム制御部221は、音声出力部225を介してシャッター音を出力することを特徴とする。
ライブビュー映像GUI408は、フロントカメラまたはリアカメラによって取得される、いわゆるライブビュー映像を表示する。操作部材213を使用してタップした箇所において、システム制御部221は、フォーカスするようにレンズ202またはレンズ232を駆動させてフォーカスすることができる。
なお、本実施形態でいう制御対象のカメラとは、図4に示す画面を操作することで主として制御を行うカメラをいう。制御対象のカメラに対しては、例えばストロボGUI401で設定を変更したり、撮像ボタンGUI406で撮像指示を送信したり、ライブビュー映像GUI408に表示するライブビュー映像を取得することができる。
これらの機能を使うことで、スマートフォン200は、フロントカメラとリアカメラを簡単に切り替えながら、同じ操作方法で動画・静止画を記録することができるようになる。
ここで、切替ボタンGUIの例をいくつかあげる。図5は、本実施形態におけるスマートフォン200がデジタルカメラ100と接続される前の表示手段によるGUIの図のカメラの制御切替GUIの図である。
図5(a)の切替ボタンGUI501は、図4で説明した切替ボタンGUI403と同様のものであり、タッチパネルを用いてボタンをタップすることにより、撮像を行うカメラを切り替えることができる。
別の例として、図5(b)の切替ボタンGUI502を示す。切替ボタンGUI502は、フロントカメラとリアカメラを切り替えることができる物理スイッチを模したGUIであり、このスイッチを切り替えることによって、撮像を行うカメラを切り替えることができる。ここでは、タッチパネルを用いて左右にフリックすることによって、フロントカメラとリアカメラを切り替えることができる。
さらに別の例として、図5(c)の切替ボタンGUI502を示す。図5(c)の切替ボタンGUI503をタッチパネルを用いてタップすると、切替ボタンGUI504に表示が切り替わる。例えば、フロントカメラが動作しているときには、切替ボタンGUI503を表示し、リアカメラに切り替えることが可能であることを示す。一方、リアカメラが動作しているときには、切替ボタンGUI504を表示してフロントカメラに切り替えることが可能であることを示す。これらは、GUIであるため、択一的に表示する方法でもよいし、両方とも表示しておき、一方が無効動作になるようにグレーアウトなどの無効表示をするようにしてもよい。
<デジタルカメラ検出時のスマートフォンの画面>
次に図6を用いて、本実施形態におけるスマートフォン200がデジタルカメラ100を検出した場合のGUIについて説明する。
図4に示す状態のときに、スマートフォン200によって、遠隔制御可能なデジタルカメラ(以下、リモートカメラ)を検知、もしくはリモートカメラからの接続の要求が行われたときに表示するGUIである。このGUIを使って、ユーザがリモートカメラとの接続を指示することができる。
図6(a)のGUI画面600は、カメラアプリケーションの起動中に、スマートフォン200がリモートカメラを検知した場合の画面を示す。
カメラアイコン601は、デジタルカメラ100がリモートカメラとして検知されていることを示す。カメラアイコン601は、デジタルカメラ100のニックネームである“xxx’s best camera”を表示する。ユーザがタッチパネルを用いてカメラアイコン601をタップすることによって、システム制御部は、通信I/F210を介してデジタルカメラ100との接続処理を開始する。
別の例として、リモートカメラの検知をポップアップで表示する例を図6(b)に示す。デジタルカメラ100がリモートカメラとして検知されたことに応じて、GUI画面602に示すダイアログをポップアップ表示する。
カメラタイトル603は、リモートカメラを検知したことを示し、デジタルカメラ100のニックネームである“xxx’s best camera”が表示される。
サムネイル表示604は、リモートカメラであるデジタルカメラ100の撮像部104で撮像された画像のサムネイルデータである。スマートフォン200は、これを通信I/F110を介して受信し、表示部207に表示する。ユーザはこの画像を参照することでどの角度(アングル)からのカメラが検出されたかを把握することができる。
Denyボタン605は、リモートカメラとの接続を拒否するときに使用するGUIボタンである。ユーザがタッチパネルを用いてDenyボタン605をタップすると、システム制御部221は接続拒否をデジタルカメラ100に通知する。
Acceptボタン606は、リモートカメラとの接続を許可するときに使用するGUIボタンである。ユーザがタッチパネルを用いてAcceptボタン606をタップすると、システム制御部221は接続許可もしくは接続要求をデジタルカメラ100に通知する。
図6(a)と図6(b)のいずれかもしくは両方の画面を採用することも可能であるが、図6(a)は、スマートフォン200のユーザがタッチパネルを用いて、リモートカメラのサーチを指示し、その結果を表示させるような場合に向いている。一方で、図6(b)は、デジタルカメラ100側のトリガに応じてリモートカメラが検出された場合、つまりスマートフォン200のユーザが意図しないタイミングでリモートカメラが検出された場合に向いている。
<デジタルカメラ検出後のスマートフォンの画面>
図7は、本実施形態におけるスマートフォン200がデジタルカメラ100と接続した後のGUIである。
スマートフォン200がデジタルカメラ100と接続すると、まず図7の画面700が表示される。画面700は、スマートフォン200がリモートカメラとして振舞うデジタルカメラ100を制御するためのGUIである。
セルフタイマーボタンGUI701は、リモートカメラでのセルフタイマー撮像の設定を変更するためのGUIである。ユーザはタッチパネルを用いてセルフタイマーボタンGUI701をタップすることによって、セルフタイマーの設定を変更することができる。例えば、セルフタイマーオフ、2秒、10秒などといった指定ができる。設定が変更されると、リモートカメラが制御対象である場合、リモートカメラに変更後の値が通知される。以降、デジタルカメラ100は変更後の設定で撮像を行うことになる。セルフタイマーを設定可能にしたのは以下の理由による。すなわち、例えばスマートフォン200を操作してリモートカメラに撮像を指示し、自身を撮影する場合、ユーザはスマートフォン200の表示部を見ながら撮像を指示することになる。そのため、撮像指示に応じて即座にデジタルカメラ100で撮像が行われてしまうと、スマートフォン200の表示面を見ているユーザが撮像されてしまうからである。
なお、撮像モード404の動作で、セルフタイマーが動作するのは、主に静止画撮像モードのときである。システム制御部221は、静止画撮像モード以外のとき、例えば、動画撮像時には、セルフタイマーの動作で撮像しないことを通信I/F210を介して、システム制御部121に通知しておく、もしくは、通知しない。もしくは、システム制御部121は、静止画撮像モード以外は、セルフタイマーが動作しないように処理する。
ズームスライダーGUI702は、リモートカメラが制御対象である場合、リモートカメラのズーム操作を指示するためのGUIである。ユーザはタッチパネルを用いてズームスライダーGUI702をタップまたはスライド、フリックすることによって、ズーム倍率を切り替える指示をデジタルカメラ100に送信させることができる。
ズームスライダーGUI702は、通信I/F210、通信I/F110を介して通信を行いズームする操作になるため、表示部207に表示されるライブビュー映像408の表示情報と遅延する可能性がある。したがって、ユーザがスライドした行為と実際のズーム位置を別々に表示するGUIも考えらえる。ここでは、同一軸線上に現在の位置とユーザがスライドした位置が重なっている表示とする。なお、ズームスライダー702は、遅延する可能性があるため、表示部207上に表示し続けておくのが望ましい。通常非表示の状態にしておいた場合、ピンチイン、ピンチアウト操作でズーム操作、ズーム表示したときに、ライブビュー映像はタイムリーに更新されないため、ユーザビリティとして違和感のある動作になることが考えられる。これを解決する方法として、システム制御部が221が現在表示しているライブビュー映像を画像処理でズーム操作を行い、実際にデジタルカメラ100がズームした位置の倍率の比率を計算し、表示部207にライブビューを表示する方法が考えられる。または、スマートフォン200のシステム制御部221がリモートカメラを表示している場合は、ピンチイン、ピンチアウト操作による操作を禁止するように制御する方法も考えられる。
ストロボGUI401は、リモートカメラが制御対象である場合、リモートカメラの発光部128での発光を制御するための操作部となる。発光部128を制御している間、システム制御部221はスマートフォン200の発光部228を別の機能として、たとえば、懐中電灯(トーチ)機能として動作させることもできる。
また、デジタルカメラ100は、発光部128が持つストロボの制御の機能一覧情報を通信I/F110を介して、スマートフォン200に通知する。スマートフォン200は、この通知に基づき表示部207に切替え可能なストロボの機能一覧として表示する。この機能のやり取りのタイミングについては、接続が確立したタイミングで行うが、他のタイミングで行われてもよい。
撮像オプションGUI402は、リモートカメラでの動画・静止画の撮像を切り替えるための操作部である。
切替ボタンGUI403は、制御の対象となるカメラを切り替える操作部である。図5の切替ボタンGUI403との違いは、フロントカメラ、リアカメラに加えて、リモートカメラにも切り替え可能とした点である。リモートカメラと接続したときには、リモートカメラが初期値として制御対象となっているが、ユーザが切替ボタンGUI403をタップする度に、フロントカメラ、リアカメラ、リモートカメラ、フロントカメラ・・・と制御対象が切り替わる。
なお、スマートフォン200が、デジタルカメラ100と接続を確立した場合、この切り替えアイコンGUI403は、別のデザインのアイコンに変化してもよい。このようにすることで、ユーザは制御対象としてリモートカメラも選択可能であることを認識することができる。
また、制御対象がリモートカメラから、フロントカメラまたはリアカメラに変更された場合、デジタルカメラ100の撮像部104は、スマートフォン200にライブビュー映像を送信する必要はない。そこでデジタルカメラ100は、自機が制御対象でない場合はライブビューを撮像もしくは送信する処理を停止することで、消費電力を抑制することができる。この制御は、制御対象のカメラが切り替えられたタイミングでスマートフォン200からデジタルカメラ100に制御信号を送信してもよいし、制御変更の切り替え通知を受信したデジタルカメラ100が自機を制御するようにしてもよい。
なお、切替ボタンGUI403は、リモートカメラの切断を検知した場合、フロントカメラとリアカメラを切り替える機能に戻る。
撮像ボタンGUI406は、リモートカメラが制御対象である場合、ユーザのタップ操作に応じてデジタルカメラ100に撮像処理を指示するための操作部である。撮像処理を指示されたデジタルカメラ100は、シャッターボタン114が押下された場合と同様の処理を実行して撮像を実行する。撮像後は、メモリ109にある画像、もしくは、記録媒体128にある画像を使って、通信I/F110を介して画像をスマートフォン200に送信する。スマートフォン200のシステム制御部221は、受信した画像を記録媒体228に保存する。なお、システム制御部121は、音声出力部125を介してシャッター音を出力し、システム制御部221は、シャッター音の音声出力処理を行わない。
図7の実施形態におけるライブビュー映像GUI408は、制御対象となっているカメラの撮像部が撮像したライブビュー映像である。したがって、リモートカメラが制御対象である場合は、リモートカメラが撮像した映像をスマートフォン200が受信し、表示することになる。
なお、リモートカメラが制御対象でなくなった場合であっても、リモートカメラとの接続は即座に切断されない。したがって、ユーザが切替ボタンGUI403を用いて再度リモートカメラを制御対象とした場合は、最初から接続をやり直す必要はない。
図8は、本実施形態におけるスマートフォン200がデジタルカメラ100と接続した後に表示される切替ボタンGUI403の様々な表示例を示す。
図8(a)は、トグル式の切り替えアイコンGUI801である。ここでの特徴は、図5の切り替えアイコンGUI501が、リモートカメラとの接続により切り替えアイコンGUI801に変化し、トグルが2種類から3種類になることである。切り替えアイコンGUI801は、フロントカメラ→リアカメラ→リモートカメラ→フロントカメラ・・・という形で切り替わるため、自分が切り替えたいカメラに1回の操作で切り替えられない場合があるものの、シンプルなGUIとして実現することができる。なお、リモートカメラを切断した場合は、切り替えアイコンGUIは801から501に戻る。
他の例として図8(b)に、タッチパネルのタップとフリック操作によって実現できる切り替えアイコンGUI802を示す。この例ではユーザ操作が行われていないときの表示はGUI801と同様であるが、アイコン802のタップによって、その左右に切り替え可能なカメラの候補を表示する。制御対象がリモートカメラのときにアイコン802がタップされると、フロントカメラを示すGUI803とリアカメラを示すGUI804が左右に表示される。制御対象がリアカメラのときにアイコン802がタップされると、フロントカメラを示すGUI805とリモートカメラを示すGUI806が左右に表示される。制御対象がフロントカメラのときにアイコン802がタップされると、リアカメラを示すGUI807とリモートカメラを示すGUI809が左右に表示される。
いずれもGUI802をタップしたままの状態で左右にGUIアイコンを表示し、切り替えたいモードにフリック(またはドラッグ&ドロップ、またはスワイプ)することによって、制御対象を切り替える。この例は、狭いGUIの中で簡単に複数のカメラを切り変える方法として適している。なお、ここでの例では左右にアイコンを表示しているが、表示方向はこれに限定されず、画面の配置によってタップ&フリックが実現できるようなものであればよい。
他の例として、図8(c)にスライダ式のスイッチアイコンGUI810を示す。このスイッチアイコンGUI810を用いて、フロントカメラとリアカメラとリモートカメラを切り替えるものである。これはリモートカメラとの接続に応じて図5(b)のアイコンが図8(c)のアイコンに切り替わる。スライダ式のスイッチアイコンを用いることで、必要なGUIの領域は多少大きくなるものの、いずれのカメラが制御対象であるかをユーザが視覚的に理解しやすくなる。
他の例として、図8(d)にフリック操作によって実現できる切り替えアイコンGUI811を示す。この例では内蔵しているスマートフォン200のカメラとリモートカメラを概念的に切り離しており、制御対象がフロントカメラでもリアカメラでも、1回の操作でリモートカメラに切り替えることができる。GUI811は、リモートカメラと内蔵カメラが上下方向のスイッチで切り替え可能であり、さらに内蔵カメラにスイッチされると、左右方向でフロントカメラとリアカメラに切り替え可能である。GUI811はフロントカメラにスイッチされている状態を、GUI812はリモートカメラにスイッチされている状態を示す。なお、リモートカメラにスイッチされている場合はフロントカメラかリアカメラかの状態を示す必要がないため、左右フリックは禁止している。一方で下にフリックすることで内蔵カメラに切り替わるようになっている。
別の例として、図8(e)にタップ操作によって制御対象を切り替え可能な切り替えアイコンGUI813を示す。この例では、アイコン813がタップされると、ダイアログGUI814が表示されて、内部にフロントカメラ、リアカメラ、リモートカメラのライブビューが表示される。ユーザは指定したいライブビューをタップすることによって、制御対象を切り替えることが可能となる。
<処理フロー>
図9は、本実施形態におけるスマートフォン200とデジタルカメラ100の処理フローチャートを示す。なお、このフローの開始時にはスマートフォン200でカメラアプリケーションが起動しているものとする。また、デジタルカメラ100でも、ユーザ操作などによりスマートフォンとの接続が指示されているものとする。
なお、図9(a)の処理は、デジタルカメラ100のシステム制御部121が入力信号やプログラムにしたがい、デジタルカメラ100の各部を制御することにより実現される。また、図9(b)の処理は、携帯電話200のシステム制御部221が入力信号やプログラムにしたがい、携帯電話200の各部を制御することにより実現される。なお、装置の制御は必ずしも1つのハードウェアで実行する必要はなく、複数のハードウェアが処理を分担することで特定の手段として機能するようにしてもよい。
<スマートフォンの処理フロー>
まず、スマートフォン200の処理について説明する。S901は、フローチャートの開始を示す。
S902において、システム制御部221は、通信I/F210を介して周辺のデバイスをサーチすることでデジタルカメラ100(リモートカメラ)の検知を開始する。
S903において、システム制御部221は、デジタルカメラ100(リモートカメラ)を検知したか判断する。具体的には、リモートカメラが送信する通知信号(アドバタイズメッセージ)を受信したか否かを基準に判断する。リモートカメラか否かは、アドバタイズ信号の中に含まれるデバイス情報に基づき判断される。デジタルカメラ100(リモートカメラ)を検知した場合はS904に進み、検知していない場合は処理を繰り返す。
S904において、システム制御部221は、図6のGUIのような画面を表示し、ユーザからの接続要求を待ち受ける。ユーザが接続要求をしたと判断した場合、すなわち、図6(a)の場合であればカメラアイコン601がタップされた場合、処理をS905に進める。図6(b)の場合であれば、AcceptボタンGUI606がタップされた場合にS905へ進む。一方、ユーザが接続要求をしないと判断した場合、システム制御部221は、S911に遷移してフローチャートを終了する。図6(a)の場合であれば、接続に関して一定時間の何もユーザ操作もない場合に、図6(b)の場合であればDenyボタン605がタップされた場合、ユーザが接続要求をしないと判断される。
S905において、システム制御部221は、デジタルカメラ100(リモートカメラ)へ接続要求を送信する。
S906において、システム制御部221は、接続に成功したか判断する。接続が成功したと判断した場合は、S907へ進む。一方、接続が成功しなかった場合は、S911に進み、本フローチャートを終了する。
S907において、システム制御部221は、デジタルカメラ100に対して機能一覧取得要求を送信する。ここでいう、機能一覧というのは、デジタルカメラ100がリモート制御により実行可能な機能を示すリストである。機能一覧には、例えばストロボ機能、撮像オプション、セルフタイマー機能、撮像モード、ズーム能力、連写機能などの有無や設定可能なパラメータである。システム制御部221は機能一覧を受信した後、S908に進む。
S908では、システム制御部221がS907で得られた機能一覧を元に、表示部907に対して機能を表示する。このタイミングで例えば切替ボタンGUIの機能が変更される。その後、S909に進む。
S909では、システム制御部221は、通信I/F210を介して、デジタルカメラ100(リモートカメラ)に対して、ライブビュー映像の取得要求を行う。その後、S910に遷移する。
S910は、システム制御部221が、通信I/F210を介して、デジタルカメラ100(リモートカメラ)に対して、ライブビュー映像の取得を行い、表示部207にライブビューを表示する。
S911は、本フローチャートの終了を示す。
<デジタルカメラの処理フロー>
S931は、図9(b)のフローチャートの開始を示す。
S932において、システム制御部121は、通信I/F110を介してアドバタイズメッセージを送信する。これにより、スマートフォン200に自機の存在を通知することが可能となる。なお、アドバタイズメッセージには自機がデジタルカメラであることを示すデバイス情報が含まれる。このデバイス情報により、スマートフォン200はリモートカメラがネットワークに存在することを認識することができる。
S933において、システム制御部121は、スマートフォン200から接続要求を受信したか判断する。接続要求があったと判断した場合はS934に進み、接続要求がないと判断した場合は、S932に戻る。
S934において、システム制御部121は、スマートフォン200からの接続要求を受信する処理を行い、S935に遷移する。
S935は、システム制御部121は、スマートフォン200に対して接続要求への応答を送信する。その後、S936に遷移する。
S936において、システム制御部121は、スマートフォン200から機能一覧取得要求を受信する。この要求はS907で送信されるものである。その後、S937に遷移する。
S937において、システム制御部121は、機能一覧を送信する。その後、S938に遷移する。
S938において、システム制御部121はスマートフォン200からライブビュー取得要求を受信する。このライブビュー取得要求はS909で送信されるものである。要求を受信したシステム制御部121は、ライブビュー映像を取得するために、撮像部104を駆動させ、ライブビュー映像を取得する。その後、S939に遷移する。
S939において、システム制御部221は、S938で得られたライブビュー映像を通信I/F110を介して、スマートフォン200に送信する。その後、S940に遷移する。
S940は、フローチャートの終了を示す。
なお、ライブビュー映像の取得処理は、繰り返し行われるが、説明の便宜上、フローチャートとしては一度きり取得する記載にしている。
<シーケンス>
図10は、本実施形態におけるスマートフォン200とデジタルカメラ100の接続シーケンスを示す。
また、システム制御部221が動作させるプログラムを二つのオブジェクトに分けている。一つは、スマートフォンカメラアプリケーション1001とスマートフォンOS1002である。スマートフォンOS1002によって、スマートフォンカメラアプリ1001は呼び出されるものとする。
シーケンス1004は、スマートフォンOSの起動を示す。システム制御部221は、不揮発性メモリ224に記述されているOSプログラムをロードして、システムメモリ223に展開する。
シーケンス1005は、スマートフォンカメラアプリの起動を示す。
なお、ユーザ操作によって起動してもよいし、自動的にスマートフォンOSが呼び出してもよい。さらに、通信I/F210を介して、システム制御部が呼び出してもよい。
シーケンス1006は、システム制御部221が動作させるプログラムで、スマートフォンカメラアプリ1001が、リモートカメラ検知の登録をスマートフォンOS1002に実行する。スマートフォンOS1002は、通信I/F210にリモートカメラの検出がないか監視する処理を動かすようにシステム制御部221が動作する。
シーケンス1007は、システム制御部が通信I/F210を介して、リモートカメラが出現しないかを検索する。ここでの事例として、UPnP(Universal Plug and Play)やBonjourなどといったデバイス検出プロトコルに従って検索処理を行うことを想定している。もちろん、ベンダー独自のデバイス検索プロトコルを使う方法でも構わない。ここでのシーケンス1007では、見つかったカメラがいないシナリオを示す。
シーケンス1008は、デジタルカメラ100の起動を示す。システム制御部121は、不揮発性メモリ124を介して、ロードし、システムメモリ123にプログラムを展開させる。
シーケンス1003は、デジタルカメラ100のシステム制御部121が通信I/F110を介して、カメラの出現通知、アドバタイズメッセージを行う。ここでの事例として、UPnP(Universal Plug and Play)やBonjourなどといったデバイス検出プロトコルに従って検索処理を行うことを想定している。もちろん、ベンダー独自のデバイス検索プロトコルを使う方法でも構わない。ここでのシーケンス1003では、スマートフォン200の通信I/F210に到着するシナリオを示す。
シーケンス1009は、システム制御部221が、通信I/F210を介して、デジタルカメラ100の出現を検知して、プログラムをスマートフォンOS1002からスマートフォンカメラアプリ1001にカメラが出現したことを通知するように動作させる。
シーケンス1010は、ユーザ操作によって、操作部材213を介してシステム制御部221に接続要求が通知されて、スマートフォンカメラアプリ1001からスマートフォンOS1002に対して、接続要求を行う。
なお、ユーザ操作による記述をしているが、ユーザ操作ではなく、システム制御部221が自動的に判断して処理を開始するシナリオでも構わない。
シーケンス1011は、システム制御部221が、通信I/F210を介して、デジタルカメラ100に接続要求を行う。デジタルカメラ100のシステム制御部121は、通信I/F110を介して、接続要求を受信する。
シーケンス1012は、デジタルカメラ100のシステム制御部121は、通信I/F110を介して、接続応答をスマートフォン200に送信する。スマートフォン200のシステム制御部211は、通信I/F210を介して、接続応答を受信する。システム制御部221は、プログラムに従って、スマートフォンOS1002からスマートフォンカメラアプリ1001に対して、接続応答を行う。
シーケンス1014は、システム制御部221が、プログラムに従って、機能一覧取得要求をスマートフォンカメラアプリ1001からスマートフォンOS1002に要求する。シーケンス1015は、システム制御部221が、プログラムに従って、機能一覧取得要求を通信I/F210を介して、デジタルカメラ100に送信する。デジタルカメラ100のシステム制御部121は、通信I/F110を介して、要求を受信する。
シーケンス1016は、デジタルカメラ100のシステム制御部121が、プログラムに従って、機能一覧情報を通信I/F110を介して、スマートフォン200に対して応答する。スマートフォン200のシステム制御部221は、通信I/F210を介して、応答を受信する。
シーケンス1017は、システム制御部221が、プログラムに従って、スマートフォンOS1002からスマートフォンカメラアプリ1001に対して、応答したデータを通知する。
シーケンス1018は、システム制御部221が、プログラムに従って、ライブビュー取得要求をスマートフォンカメラアプリ1001からスマートフォンOS1002に要求する。
シーケンス1019は、システム制御部221が、プログラムに従って、ライブビュー取得要求を通信I/F210を介して、デジタルカメラ100に送信する。デジタルカメラ100のシステム制御部121は、通信I/F110を介して、要求を受信する。
シーケンス1020は、デジタルカメラ100のシステム制御部121が、プログラムに従って、ライブビュー情報を通信I/F110を介して、スマートフォン200に対して応答する。スマートフォン200のシステム制御部221は、通信I/F210を介して、応答を受信する。
シーケンス1021は、システム制御部221が、プログラムに従って、スマートフォンOS1002からスマートフォンカメラアプリ1001に対して、応答したライブビュー情報のデータを通知する。
シーケンスループ1022は、シーケンス1018〜1021を繰り返し行うものである。
今回のシナリオでは、スマートフォンが先に起動して、カメラが後で起動するシナリオについて説明しているが、その逆でも処理は成り立つ。それは、シーケンス1007に対して、既にカメラが応答できる場合は、それによってデジタルカメラ100が発見され、シーケンスを組み上げることができるからである。これらを組み合わせることにより、ユーザが意図的にスマートフォンカメラアプリを起動させなくても、常にリモートカメラであるデジタルカメラ100が出現することによって自動的に接続できるようにすることができると考えられる。
<使用する関数>
図11は、本実施形態におけるスマートフォン200で利用されるアプリケーションプログラムを記述するためのOSの関数一覧の例を示す。
ここでは、スマートフォン200のシステム制御部221がメモリに展開されるプログラムに従って動作する場合に、前述のスマートフォンOS1102が用意するプログラムに対してカメラアプリケーションが利用する関数の一例を示す。これらを使って、本実施系の接続処理、図7におけるカメラアプリケーション動作を実現することができる。
関数一覧1100は、その本実施系を実現するために最低限必要となる関数の種類の一覧を示す。
関数一覧No.1101は、カメラデバイスタイプの定義を示す。主にカメラがどのカメラを示しているかを想定している。フロントカメラ、リアカメラ、リモートカメラなどである。
関数一覧No.1102は、No.1101の定義の値を示し、リアカメラである定義を示す。
関数一覧No.1103は、No.1101の定義の値を示し、フロントカメラである定義を示す。
関数一覧No.1104は、No.1101の定義の値を示し、リモートカメラである定義を示す。
関数一覧No.1105は、カメラ撮像モードを示す。主に静止画撮像なのか動画撮像なのかを判断する。
関数一覧No.1106は、No.1105の定義の値を示し、静止画撮像である定義を示す。
関数一覧No.1107は、No.1105の定義の値を示し、動画撮像である定義を示す。
関数一覧No.1108は、カメラストロボモードの定義を示す。ストロボ制御可能な機能の一覧を示す。
関数一覧No.1109は、No.1108の定義の値を示し、ストロボ発光しない(または、ストロボモードオフ)である定義を示す。
関数一覧No.1110は、No.1108の定義の値を示し、ストロボを強制発光するという定義を示す。
関数一覧No.1111は、No.1108の定義の値を示し、ストロボを周辺環境に応じて自動発光するという定義を示す。
関数一覧No.1112は、No.1108の定義の値を示し、ストロボを赤目補正する発光するという定義を示す。
関数一覧No.1113は、No.1108の定義の値を示し、ストロボをスロー同期して発光するという定義を示す。
関数一覧No.1114は、セルフタイマー動作の定義を示す。セルフタイマーの機能の一覧を示す。
関数一覧No.1115は、No.1114の定義の値を示し、セルフタイマー機能がオフであるという定義を示す。
関数一覧No.1116は、No.1114の定義の値を示し、セルフタイマー機能が2秒であるという定義を示す。
関数一覧No.1117は、No.1114の定義の値を示し、セルフタイマー機能が10秒であるという定義を示す。
関数一覧No.1118は、カメラを制御するためのクラスを示しており、主にカメラの出現・消失処理やカメラの能力情報を取得する処理を行うことができるクラスである。
関数一覧No.1119は、No.1118のクラスのメソッド定義を示し、カメラが出現した場合にコールバック通知をしてもらうためのメソッドを示す。
関数一覧No.1120は、No.1118のクラスのメソッド定義を示し、カメラが消失した場合にコールバック通知をしてもらうためのメソッドを示す。
関数一覧No.1121は、No.1118のクラスのメソッド定義を示し、カメラが実際に見つかった時のカメラデバイスのインスタンスを列挙するためのメソッドを示す。
関数一覧No.1122は、No.1118のクラスのメソッド定義を示し、引数で指定したカメラデバイスクラスが利用可能であるかを判断するメソッドを示す。
関数一覧No.1123は、No.1118のクラスのメソッド定義を示し、引数で指定したカメラデバイスクラスがストロボ利用可能かどうかを判断するメソッドを示す。
関数一覧No.1124は、No.1118のクラスのメソッド定義を示し、引数で指定したカメラデバイスクラスがセルフタイマー利用可能かどうかを判断するメソッドを示す。
関数一覧No.1125は、No.1118のクラスのメソッド定義を示し、引数で指定したカメラデバイスクラスがズーム利用可能かどうかを判断するメソッドを示す。
関数一覧No.1126は、カメラデバイスのインスタンスクラスを定義しており、接続切断処理、撮像、録画の開始や停止、撮像モードの変更や、ストロボ、セルフタイマー、ズームの設定や取得などを指定したカメラに対して行うことができる。
関数一覧No.1127は、No.1126のクラスのメソッド定義を示し、カメラデバイスと接続するメソッドを示す。
関数一覧No.1128は、No.1126のクラスのメソッド定義を示し、カメラデバイスと切断するメソッドを示す。
関数一覧No.1129は、No.1126のクラスのメソッド定義を示し、カメラデバイスにライブビュー情報を取得するメソッドを示す。
関数一覧No.1130は、No.1126のクラスのメソッド定義を示し、カメラデバイスに撮像処理を実行するメソッドを示す。
関数一覧No.1131は、No.1126のクラスのメソッド定義を示し、カメラデバイスに動画の記録を開始するメソッドを示す。
関数一覧No.1132は、No.1126のクラスのメソッド定義を示し、カメラデバイスに動画の記録を停止するメソッドを示す。
関数一覧No.1133は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラ撮像モードを設定するメソッドを示す。
関数一覧No.1134は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラ撮像モードを取得するメソッドを示す。
関数一覧No.1135は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラストロボモードを設定するメソッドを示す。
関数一覧No.1136は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラストロボモードを取得するメソッドを示す。
関数一覧No.1137は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラセルフタイマーモードを設定するメソッドを示す。
関数一覧No.1138は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラセルフタイマーモードを取得するメソッドを示す。
関数一覧No.1139は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラズームポジションを設定するメソッドを示す。
関数一覧No.1140は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラズームポジションを取得するメソッドを示す。
関数一覧No.1141は、No.1126のクラスのメソッド定義を示し、カメラデバイスをカメラズームポジションの範囲(能力の範囲)を取得するメソッドを示す。
これらの関数を使って、スマートフォンカメラアプリを実装することによって、デジタルカメラ100をリモート制御することができるようになる。
[第2の実施形態]
図11は、第2の実施形態におけるスマートフォンがデジタルカメラと接続される前の表示手段によるGUIの図のカメラの制御切替GUIの図である。
図4におけるスマートフォン200の表示部207で表示する画面は、リモートカメラであるデジタルカメラ100と接続していない状況、見つかっていない状況においてもカメラを検索しておきたいということがあった場合を考えた実施形態である。このとき、カメラ切替ボタンGUI403を、別のGUIアイコンとして表現する方法が考えられる。
図12(b)〜(e)は、図8(b)〜(e)に対応するGUI表現であり、リモートカメラを示すアイコンがリモートカメラ検索アイコンとして表示されている。ユーザはこのリモートカメラ検索アイコンをタップすることにより、周辺のリモートカメラのサーチを開始する。サーチ後の処理は第1の実施形態と同様である。
この実施系は、第一の実施形態と異なるのは、カメラを検索するタイミングがユーザにゆだねられている点が異なる。その特徴としては、無駄な検索処理を実行しない分、スマートフォン200の電源部218のバッテリーを節電することにつながる。一方で普段使用しない場合においても、GUIが表示されてしまうため、多少煩雑になる側面がある。しかし、明示的に検索できることによってユーザに分かりやすくなっているとも考えられる。
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。