(57)【特許請求の範囲】
【請求項１】
外部装置を制御する通信装置であって、
前記通信装置を制御する制御手段と、
前記外部装置と通信する通信手段と、
ユーザ操作を受け付けるための第１のプログラムと、前記外部装置と前記通信手段を介して通信するための第２のプログラムを保存する保存手段と、を有し、
前記第１のプログラムと前記第２のプログラムは第１のアプリケーションソフトウェアで用いられ、
前記制御手段は、
前記第２のプログラムを用いて、前記外部装置を制御するための所定の機能であって、前記第１のプログラムを用いてユーザ操作により選択された前記所定の機能を前記第１のアプリケーションソフトウェアに追加し、
前記追加された所定の機能を実行するための指示を前記通信手段を介して前記外部装置に送信するためのユーザ操作を、前記第１のプログラムにより受け付けられるようにし、
前記追加された所定の機能が前記第１のアプリケーションソフトウェアとは異なる第２のアプリケーションソフトウェアでも利用可能となるように追加機能情報を前記第２のプログラムを用いて管理することを特徴とする通信装置。
【請求項２】
前記所定の機能が追加された場合、前記制御手段は、前記外部装置で前記追加された所定の機能を利用できるように前記追加された所定の機能のオペレーション情報を前記外部装置に通知することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記追加機能情報は、前記外部装置と通信するための前記第２のプログラムにより参照されるファイルに記録されることを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記第１のプログラムからの接続要求に応じて、前記第２のプログラムは前記ファイルに前記追加機能情報が含まれるか確認し、
前記追加機能情報が含まれている場合、前記制御手段は、前記外部装置で前記追加された所定の機能を利用できるように前記追加された所定の機能のオペレーション情報を送信するように前記通信手段を制御することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記外部装置は、前記追加された所定の機能を利用できるようにする前記オペレーション情報を、前記通信手段を介して受信し、
前記オペレーション情報により前記追加された所定の機能が利用可能になったことを前記通信装置に通知することを特徴とする請求項２に記載の通信装置。
【請求項６】
前記追加された所定の機能は、サーバにアクセスして前記第１のアプリケーションソフトウェアにより購入されることを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記サーバは、前記追加された所定の機能が前記第２のアプリケーションソフトウェアでも利用できるように前記追加機能情報を管理することを特徴とする請求項６に記載の通信装置。
【請求項８】
前記外部装置は撮像装置であり、
前記所定の機能は、インターバル撮影、動画記録、ＲＡＷ現像の少なくともいずれかであることを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記所定のプログラムは、前記第１のアプリケーションソフトウェアおよび前記第２のアプリケーションソフトウェアに含まれるソフトウェア開発キットにより生成されたプログラムであることを特徴とする請求項３に記載の通信装置。
【請求項１０】
前記所定のプログラムは、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いて前記外部装置との通信を制御することを特徴とする請求項９に記載の通信装置。
【請求項１１】
通信装置を制御する制御手段と、
外部装置と通信する通信手段と、
ユーザ操作を受け付けるための第１のプログラムと、前記外部装置と前記通信手段を介して通信するための第２のプログラムを保存する保存手段と、を有し、前記第１のプログラムと前記第２のプログラムは第１のアプリケーションソフトウェアで用いられる通信装置の制御方法であって、
前記第２のプログラムを用いて、前記外部装置を制御するための所定の機能であって、前記第１のプログラムを用いてユーザ操作により選択された前記所定の機能を前記第１のアプリケーションソフトウェアに追加し、
前記追加された所定の機能を実行するための指示を前記通信手段を介して前記外部装置に送信するためのユーザ操作を、前記第１のプログラムにより受け付けられるようにし、
前記追加された所定の機能が前記第１のアプリケーションソフトウェアとは異なる第２のアプリケーションソフトウェアでも利用可能となるように追加機能情報を前記第２のプログラムを用いて管理することを特徴とする制御方法。
【請求項１２】
通信装置と外部装置とが接続されたシステムであって、
前記通信装置は、
前記外部装置との通信を制御する通信手段と、
前記外部装置に所定の機能を実行させるためのオペレーション情報を前記通信手段により当該外部装置に送信することで当該外部装置を制御する制御手段と、
前記外部装置で制御可能な機能が追加された場合、前記追加された機能が、前記外部装置を制御するために前記制御手段を機能させる第１のアプリケーションソフトウェアとは異なる第２のアプリケーションソフトウェアでも利用可能となるような追加機能情報を管理する管理手段と、を有し、
前記外部装置は、
前記通信装置と通信可能な通信手段と、
前記通信装置から受信したオペレーション情報に対応する機能を実行する制御手段と、
前記外部装置で制御可能な機能が追加され、当該追加された機能のオペレーション情報が前記通信装置から通知された場合、前記追加された機能が前記外部装置で利用可能となったことを前記通信装置に通知する通知手段と、を有することを特徴とするシステム。
【請求項１３】
コンピュータを、請求項１から１０のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器を通信装置により遠隔制御する技術に関する。
【背景技術】
【０００２】
近年、スマートフォンなどの通信装置からデジタルカメラなどの外部機器を遠隔制御したいという要望が高まっている。また、スマートフォンなどからデジタルカメラを制御するアプリケーションソフトウェア（以下、アプリケーション）について、カメラメーカが自社のデジタルカメラ用に提供するアプリケーション以外に、自社以外の他人がカメラ用のアプリケーションを開発したいという要求がある。
【０００３】
このような要求に対応するため、カメラメーカが、カメラ制御を可能とするソフトウェア開発キット（Ｓｏｆｔｗａｒｅ Ｄｅｖｅｌｏｐｍｅｎｔ Ｋｉｔ、以下ＳＤＫ）を提供する場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６７２６９号公報
【特許文献２】特開２００７−０１３８８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記通信装置から外部機器を制御するためのアプリケーションの中には、有料のアドインソフトを購入すると追加の機能が有効になるものがある。この場合、通常は購入したアプリケーションでしか追加機能を利用できない。また、アプリケーションの開発元が異なる場合は、別々にアドインソフトの購入が必要になる。
【０００６】
このため、ある機器のアドインソフトを購入した場合に、他の機器や同じ機器の別のアプリケーションでも追加機能を利用したいという要望がある。
【０００７】
本発明は、上記課題に鑑みてなされ、その目的は、外部機器を制御するためのアプリケーションで利用可能な追加機能を、他のデバイスや同じデバイスの別のアプリケーションであっても利用できる技術を実現することである。
【課題を解決するための手段】
【０００８】
上記課題を解決し、目的を達成するために、本発明は、外部装置を制御する通信装置であって、前記通信装置を制御する制御手段と、前記外部装置と通信する通信手段と、ユーザ操作を受け付けるための第１のプログラムと、前記外部装置と前記通信手段を介して通信するための第２のプログラムを保存する保存手段と、を有し、前記第１のプログラムと前記第２のプログラムは第１のアプリケーションソフトウェアで用いられ、前記制御手段は、前記第２のプログラムを用いて、前記外部装置を制御するための所定の機能であって、前記第１のプログラムを用いてユーザ操作により選択された前記所定の機能を前記第１のアプリケーションソフトウェアに追加し、前記追加された所定の機能を実行するための指示を前記通信手段を介して前記外部装置に送信するためのユーザ操作を、前記第１のプログラムにより受け付けられるようにし、前記追加された所定の機能が前記第１のアプリケーションソフトウェアとは異なる第２のアプリケーションソフトウェアでも利用可能となるように追加機能情報を前記第２のプログラムを用いて管理する。
【発明の効果】
【０００９】
本発明によれば、外部機器を制御するためのアプリケーションで利用可能な追加機能を、他のデバイスや同じデバイスの別のアプリケーションであっても利用できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態のデジタルカメラの構成を示すブロック図。
【図２】本実施形態のスマートフォンの構成を示すブロック図。
【図３】本実施形態のシステム構成図。
【図４】本実施形態のカメラアプリケーションのソフトウェア構成図。
【図５】本実施形態のカメラアプリケーションの基本的な処理シーケンス図。
【図６】アプリケーション画面を例示する図。
【図７】本実施形態のサーバとカメラアプリケーションとデジタルカメラの処理シーケンス図。
【図８】本実施形態のカメラアプリケーションとデジタルカメラの処理シーケンス図。
【発明を実施するための形態】
【００１１】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
【００１２】
［実施形態１］本発明の通信装置および外部機器として携帯電話の一種であるスマートフォンとデジタル一眼レフカメラ（以下、デジタルカメラ）を適用し、スマートフォンとデジタルカメラとがネットワークを介して接続されたシステムについて説明する。なお、本実施形態では、外部機器としてデジタル一眼レフカメラを想定しているが、本発明はこれに限らず、例えば、コンパクトデジタルカメラ、タブレットなどの携帯型電子機器、ＷＥＢカメラを有するパーソナルコンピュータなどにも適用可能である。また、本実施形態では、通信装置としてスマートフォンを想定しているが、本発明はこれに限らず、例えば、タブレットやパーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ Ｄｉｇｉｔａｌ Ａｓｓｉｓｔａｎｔ）、携帯型のＡＶプレイヤー、ゲーム機、電子ブックなどにも適用可能である。
【００１３】
＜デジタルカメラ１００の構成＞図１を参照して、本発明に係る実施形態のデジタルカメラ１００の構成および機能の概略について説明する。
【００１４】
図１において、撮影レンズ１０１はズームレンズやフォーカスレンズを含み、レンズユニットとしてカメラ本体に内蔵又は着脱可能とされる。ＡＦ（オートフォーカス）駆動回路１０２は、例えばＤＣモータや超音波モータを備え、マイクロコンピュータ（以下、マイコン）１２３の制御指令に応じてフォーカスレンズ位置を変化させることによりピントを合わせる。
【００１５】
ズーム駆動回路１０３は、例えばＤＣモータや超音波モータを備え、マイコン１２３の制御指令に応じてズームレンズ位置を変化させることにより焦点距離を変化させる。
【００１６】
１０４は絞りであり、絞り駆動回路１０５は、マイコン１２３の制御指令に応じて絞り１０４を駆動し、光学的な絞り値を変化させる。絞り１０４の光学的な絞り値はマイコン１２３によって算出される。
【００１７】
主ミラー１０６は、撮影レンズ１０１から入射した光束をファインダ側又は撮像素子側へ導く光路を切り替える。主ミラー１０６は常にファインダ側へと光束を導くミラーダウン位置にあるように付勢されているが、撮影時やライブビュー時には、不図示のミラー駆動回路により撮像素子側へ光束を導くように上方に跳ね上がり光軸中から待避したミラーアップ位置に変化する。また、主ミラー１０６はその中央部が光束の一部を透過できるようにハーフミラーとなっており、光束の一部を焦点検出を行うためのＡＦセンサに入射する。なお、ＡＦセンサは、焦点検出回路１０９内に配置されている。サブミラー１０７は主ミラー１０６から透過した光束をＡＦセンサ側へ反射させる。
【００１８】
ペンタプリズム１０８はファインダを構成する。ファインダは、ペンタプリズム１０８の他に、不図示のピント板およびアイピースレンズなどを備え、主ミラー１０６により反射された光束が入射され、ファインダへ導く。
【００１９】
焦点検出回路１０９は、例えばレンズを通して結像された２つの像の位相差により焦点検出を行うもので、本例では一対のＡＦセンサを含むものとする。主ミラー１０６の中央部を透過し、サブミラー１０７で反射された光束は、焦点検出回路１０９の内部に配置された光電変換を行うための一対のＡＦセンサに到達する。被写体に対する撮影レンズ１０１の焦点調節状態を示すデフォーカス量は、一対のＡＦセンサの出力を演算することによって求められる。マイコン１２３は、演算結果を評価してＡＦ駆動回路１０２に制御指令を出し、フォーカスレンズを駆動させる。
【００２０】
１１０はフォーカルプレーンシャッタである。シャッタ駆動回路１１１は、マイコン１２３の制御指令に応じたシャッタ速度で、フォーカルプレーンシャッタ１１０を駆動する。
【００２１】
撮像素子１１２は、ＣＣＤやＣＭＯＳ等の光電変換素子を用いたイメージセンサであり、撮影レンズ１０１によって結像された被写体像を光電変換して、アナログ画像信号を生成する。
【００２２】
クランプ回路１１３およびＡＧＣ回路１１４は、撮像素子１１２から得られるアナログ画像信号に対して基本的なアナログ信号処理を行い、マイコン１２３により、クランプレベルやＡＧＣ基準レベルの変更が行われる。
【００２３】
ＡＤ変換器１１５は、撮像素子１１２から得られアナログ信号処理後のアナログ画像信号をデジタル信号に変換し、信号処理回路１１６へ出力する。
【００２４】
信号処理回路１１６は、ゲートアレイ等のロジックデバイスにより実現される。信号処理回路１１６は、ＡＤ変換器１１５からのデジタル画像信号、またはメモリ１２０から読み出した画像データに対して、フィルタ処理、色変換処理、ガンマ処理を施すと共に、ＪＰＥＧなどの圧縮処理を行い、メモリコントローラ１１９に出力する。メモリコントローラ１１９はメモリ１２０やバッファメモリ１２２と信号処理回路１１６との間で画像データの書き込みや読み出しを行う。また、信号処理回路１１６は、必要に応じて撮像素子１１２から得られた画像信号を用いて露出（ＡＥ）やホワイトバランス（ＷＢ）等の情報を演算し、演算結果をマイコン１２３に出力する。マイコン１２３は、その演算結果に基づいてホワイトバランスやゲイン調整を行う。
【００２５】
連続撮影時には、一旦、未処理画像のままバッファメモリ１２２に画像信号を格納し、メモリコントローラ１１９を介して未処理の画像信号を読み出し、信号処理回路１１６にて画像処理や圧縮処理を行う。連続撮影枚数はバッファメモリ１２２の容量に左右される。
【００２６】
また、信号処理回路１１６は、マイク１３２や音声ライン入力１３３からＡＤ変換器１３４を介して入力されるデジタル音声信号に対して圧縮処理を行い、メモリコントローラ１１９に出力する。また、信号処理回路１１６は、マイク１３２や音声ライン入力１３３から入力されるデジタル音声データを、ＤＡ変換器１３５を介してスピーカ１３６に出力することも可能である。ＤＡ変換器１３５は、デジタル信号をアナログ信号に変換する。
【００２７】
ＥＶＦ（電子ビューファインダ）駆動回路１１７は、マイコン１２３の制御指令に応じて信号処理回路１１６から出力される画像データをＥＶＦモニタ１１８に表示させる。
【００２８】
メモリコントローラ１１９は、信号処理回路１１６から入力された未処理のデジタル画像信号や音声信号をバッファメモリ１２２に格納し、処理済みのデジタル画像信号や音声信号をメモリ１２０に格納する。また、メモリコントローラ１１９は、バッファメモリ１２２やメモリ１２０から読み出した画像データや音声データを信号処理回路１１６へ出力する。メモリ１２０は装置本体に対して取り外し可能である場合もある。メモリコントローラ１１９は、通信Ｉ／Ｆ（インタフェース）１２１を介してメモリ１２０に記憶されている画像データや音声データを外部機器１３７に出力可能である。
【００２９】
通信Ｉ／Ｆ１２１は、外部機器１３７との間で制御信号や画像信号、音声信号などを送受信する機能を有する。外部機器１３７との接続を確立し、データ通信するためのプロトコルとしては、例えば、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＭＴＰ（Ｍｅｄｉａ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）が用いられる。なお、通信方式は特に限定されるものではなく、例えば、無線ＬＡＮ、有線ＬＡＮ、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などにより通信を行っても良い。ここで、外部機器１３７は、デジタルカメラ１００と通信可能な機器であれば、パーソナルコンピュータ、カメラ、携帯電話、スマートフォン、ハードディスクレコーダ、ゲーム機、リモコンなど、どのようなものであっても良い。通信Ｉ／Ｆ１２１が無線ＬＡＮによる通信を行う場合、アンテナ、ＲＦ部、ベースバンド部などを備え、サポートする無線ＬＡＮ規格に適合したパケットを送受信することが可能である。
【００３０】
マイコン１２３は、装置全体を統括して制御する演算処理装置であって、不揮発性メモリ１３０に格納されたプログラムを実行することで、後述する処理シーケンスを実行する。
【００３１】
操作部材１２４は、ユーザ操作を受け付けるボタンやダイヤル、タッチパネル等を含む。マイコン１２３は、操作部材１２４の状態変化に応じて各部を制御する。
【００３２】
また、操作部材１２４は、レリーズボタンの操作でオンオフする第１スイッチ１２５および第２スイッチ１２６を含む。
【００３３】
第１スイッチ１２５は、カメラに設けられたレリーズボタンの操作途中、いわゆる半押し（撮影準備指示）でオンとなり第１スイッチ信号ＳＷ１を発生する。マイコン１２３は、第１スイッチ信号ＳＷ１により、ＡＦ処理、ＡＥ処理、ＷＢ処理等の動作を開始する。
【００３４】
第２スイッチ１２６は、シャッターボタンの操作完了、いわゆる全押し（撮影指示）でオンとなり、第２スイッチ信号ＳＷ２を発生する。マイコン１２３は、第２スイッチ信号ＳＷ２により、撮像素子１１２からの信号読み出しからメモリ１２０に画像データを書き込むまでの一連の撮影処理の動作を開始する。
【００３５】
また、第１スイッチ信号ＳＷ１および第２スイッチ信号ＳＷ２が共にオンし続けている間は、連続撮影動作が行われる。
【００３６】
操作部材１２４には、他に、メインスイッチ、撮影モードダイアル、ＩＳＯ設定ボタン、メニューボタン、セットボタン、フラッシュ設定ボタン、単写／連写／セルフタイマー切り替えボタン、メニューや再生画像移動のための移動＋（プラス）ボタン、移動−（マイナス）ボタン、露出補正ボタン、表示画像拡大ボタン、表示画像縮小ボタン、再生スイッチ、絞りボタン、消去ボタン、撮影や再生に関する情報表示ボタンなどを含む。
【００３７】
表示駆動回路１２７は、マイコン１２３の制御指令に従い、カメラボディ背面のメイン表示部１２８やファインダ内のサブ表示部１２９を駆動する。また、サブ表示部１２９には、表示駆動回路１２７により駆動されるＬＥＤなどからなるバックライト（不図示）が配置されている。マイコン１２３は予め設定されたＩＳＯ感度、画像サイズ、画質に応じた画像データの予測値に基づきメモリコントローラ１１９を介してメモリ１２０の容量を確認する。そして、マイコン１２３は、メモリ１２０の容量から撮影可能残枚数を演算し、必要に応じてメイン表示部１２８やサブ表示部１２９に表示するように制御する。
【００３８】
不揮発性メモリ１３０は、電気的に消去・記録可能な、例えばＥＥＰＲＯＭなどである。不揮発性メモリ１３０には、マイコン１２３の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、後述する処理シーケンスを実行するためのプログラムのことである。
【００３９】
電源部１３１は、アルカリ電池やリチウム電池などの一次電池やＮｉＣｄ電池やＮｉＭＨ電池、リチウムイオン電池などの二次電池、ＡＣアダプタなどからなり、各部に必要な電力を供給する。
【００４０】
＜スマートフォン２００の構成＞次に、図２を参照して、本発明に係る実施形態のスマートフォン２００の構成および機能の概略について説明する。
【００４１】
図２において、ＣＰＵ２０１は、スマートフォン２００の各部を制御する。ＲＡＭ２０３は、データの格納を行うメインメモリである。
【００４２】
ＲＯＭ２０２は、電気的に消去・記録可能なフラッシュメモリであり、ＣＰＵ２０１が実行するアプリケーションプログラムやＯＳなどの各種制御プログラムとデータを格納するために使用される。また、ＲＯＭ２０２には、カメラ部２０４により撮像された動画や静止画などの各種コンテンツも記憶される。
【００４３】
ＲＡＭ２０３は、主に、ＣＰＵ２０１が実行するプログラムを格納または展開する領域、プログラム実行中のワーク領域など、様々なデータの格納領域として使用される。
【００４４】
カメラ部２０４は、被写体像を電気信号に変換するＣＭＯＳなどからなる撮像素子や被写体像を撮像素子に結像させるレンズ、絞り、シャッターなどを備える。また、カメラ部２０４は、撮像素子から出力されるアナログ画像信号をデジタル信号に変換するＡ／Ｄ変換器を有する。
【００４５】
マイク２０５およびスピーカ２０６は、他の通信機器のユーザと通話する際に使用される。また、スピーカ２０６およびイヤホン端子２０７は、ＲＯＭ２０２に記憶された音声信号、電話回線などから通信Ｉ／Ｆ２１２や外部Ｉ／Ｆ２１３などを介して入力した音声信号を出力する。
【００４６】
ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）ユニット２０８は、ＧＰＳ衛星からの電波を受信してスマートフォン２００の現在の位置情報を取得するためのＧＰＳアンテナを有する。
【００４７】
電子コンパス２０９は、地磁気の向きを検出することでスマートフォン２００が向いている方位情報を取得する。
【００４８】
操作部２１０は、例えば物理的なスイッチやボタンなどからなり、ユーザの操作を受け付け、ＣＰＵ２０１に制御信号を送出する。ＣＰＵ２０１は、操作部２１０から入力された制御信号を受信して、スマートフォン２００の各部を制御する。また、操作部２１０は、表示部２１１に対する接触を検知可能なタッチパネルを含み、ユーザが表示部２１１上に表示された画面を直接的に操作可能であるかのようなＧＵＩを構成する。ＣＰＵ２０１は、ユーザがタッチパネルにタッチしたことを検知し、タッチ位置に応じた処理を実行する。タッチパネルは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
【００４９】
表示部２１１は、例えば、液晶パネル、或いは有機ＥＬパネルであり、画像やＧＵＩなどの表示を行う。
【００５０】
タッチパネルは、表示部２１１と一体的に構成されており、表示部２１１に対する接触を検知可能である。そして、タッチパネルにおける入力座標と、表示部２１１上の表示座標とを対応付ける。これにより、あたかもユーザが表示部２１１上に表示された画面を直接的に操作可能であるかのようなＧＵＩを構成することができる。ＣＰＵ２０１は、タッチパネルへの以下の操作を検出できる。タッチパネルを指やペンで触れたこと（以下、タッチダウン）。タッチパネルを指やペンで触れている状態であること（以下、タッチオン）。タッチパネルを指やペンで触れたまま移動していること（以下、ムーブ）。タッチパネルへ触れていた指やペンを離したこと（以下、タッチアップ）。タッチパネルに何も触れていない状態（以下、タッチオフ）。これらの操作や、タッチパネル上に指やペンが触れている位置座標はＣＰＵ２０１に通知され、ＣＰＵ２０１は通知された情報に基づいてタッチパネル上にどのような操作が行なわれたかを判定する。ムーブについてはタッチパネル上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル上の垂直成分・水平成分毎に判定できる。またタッチパネル上をタッチダウンから一定のムーブを経てタッチアップをしたとき、ストロークを描いたこととする。素早くストロークを描く操作をフリックと呼ぶ。フリックは、タッチパネル上に指を触れたままある程度の距離だけ素早く動かして、そのまま離すといった操作であり、言い換えればタッチパネル上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行われたと判定できる。また、所定距離以上を、所定速度未満でムーブしたことが検出された場合はドラッグが行われたと判定するものとする。
【００５１】
通信Ｉ／Ｆ２１２は、デジタルカメラやプリンタ、他の通信機器などの外部機器との間で制御信号や画像信号、音声信号などを送受信する機能を有する。デジタルカメラとの接続を確立し、データ通信するためのプロトコルとしては、例えば、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＭＴＰ（Ｍｅｄｉａ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）が用いられる。なお、通信方式は特に限定されるものではなく、例えば、無線ＬＡＮ、ＷＷＡＮ（Ｗｉｒｅｌｅｓｓ  Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、有線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などが適用される。ここで、外部機器は、スマートフォン２００と通信可能な機器であれば、パーソナルコンピュータ、カメラ、携帯電話、スマートフォン、ハードディスクレコーダ、ゲーム機、リモコンなど、どのようなものであっても良い。通信Ｉ／Ｆ２１２が無線ＬＡＮによる通信を行う場合、アンテナ、ＲＦ部、ベースバンド部などを備え、サポートする無線ＬＡＮ規格に適合したパケットを送受信することが可能である。
【００５２】
外部Ｉ／Ｆ２１３は、例えばＵＳＢやＨＤＭＩ（登録商標）などの各種規格に準拠して、外部機器との間で映像データや音声データのやりとりを行う。また、外部Ｉ／Ｆ２１３は、メモリカードやハードディスクなどの記録媒体との間でもデータのやりとりを行う。
【００５３】
電源部２１４は、リチウムイオン電池等の二次電池やＡＣアダプタなどからなり、各部に必要な電力を供給する。
【００５４】
＜システム構成＞次に、図３を参照して、本実施形態のシステム構成について説明する。
【００５５】
本実施形態のシステムは、デジタルカメラ１００とスマートフォン２００が通信Ｉ／Ｆ１２１、２１２を介して接続され、スマートフォン２００がデジタルカメラ１００に対して遠隔制御を行うことができる。
【００５６】
デジタルカメラ１００とスマートフォン２００とは、図３に示すように、ＩＥＥＥ８０２．１１の無線ＬＡＮ規格に従ったアクセスポイント（以下、ＡＰ）３００を介して接続される。なお、デジタルカメラ１００とスマートフォン２００との通信は、アドホックネットワークなどを用いた直接接続であっても良いし、ＡＰ３００などを介してのインフラストラクチャー接続であっても良い。また、デジタルカメラ１００が簡易的なアクセスポイントとなり、スマートフォン２００とインフラストラクチャー接続で直接通信を確立しても良い。
【００５７】
＜アプリケーションの説明＞次に、図４を参照して、本実施形態のカメラアプリケーションのソフトウェア構成について説明する。
【００５８】
本実施形態のシステムを実現するためには、スマートフォン２００に、デジタルカメラ１００を遠隔制御するための通信制御用のアプリケーションソフトウェア（以下、カメラアプリケーション）４００をインストールする必要がある。なお、カメラアプリケーション４００はスマートフォン２００の出荷時点で予めインストールされていても良いし、スマートフォン２００を購入した後に、ユーザ操作によりインストールされても良い。
【００５９】
カメラアプリケーション４００は、デジタルカメラ１００を遠隔制御することを主な用途としたアプリケーションソフトウェアである。ユーザは、例えばインターネットを通じて所定のサーバからカメラアプリケーション４００をダウンロードし、スマートフォン２００にインストールすることができる。
【００６０】
カメラアプリケーション４００は、デジタルカメラ１００との通信を担うソフトウェアプログラムであるカメラ制御ＳＤＫ（ソフトウェア開発キット）４０２をライブラリとして内包する。カメラアプリケーション４００がインストールされたスマートフォン２００によるデジタルカメラ１００との直接の通信は、この通信用アプリケーションのソフトウェアプログラムであるカメラ制御ＳＤＫ（以下、カメラＳＤＫ）４０２を介して行われる。カメラＳＤＫ４０２以外の制御用アプリケーションのソフトウェアプログラム（以下、カメラ制御アプリ４０１）は、その他の機能、例えばユーザ操作の受け付け、ＧＵＩの表示、カメラアプリケーション４００の起動／終了などの機能をを担う。
【００６１】
カメラＳＤＫ４０２は、デジタルカメラ１００のベンダーからアプリケーション開発者に提供されることを想定している。よって、アプリケーション開発者は、アプリケーションのインストールが想定されるスマートフォン２００に応じて、スマートフォンのＯＳ向けに提供されるカメラＳＤＫ４０２をアプリケーション４００に組み込むか否かを決定する。
【００６２】
＜カメラアプリケーションの基本的な処理シーケンス＞次に、図５を参照して、デジタルカメラ１００とスマートフォン２００の接続が確立されたときのカメラアプリケーション４００の基本的な処理シーケンスについて説明する。
【００６３】
図５において、カメラ制御アプリ４０１は、制御したい内容に対応するカメラＳＤＫ４０２のアプリケーションプログラミングインタフェース（以下、ＡＰＩ）をコールし、カメラＳＤＫ４０２に処理を依頼する（Ｓ５０１）。
【００６４】
カメラＳＤＫ４０２はカメラ制御アプリ４０１からのＡＰＩコールを受けると、コールされたＡＰＩの処理内容に適した通信プロトコルのオペレーション情報（ＩＤ）を特定し、デジタルカメラ１００に送信する（Ｓ５０２）。
【００６５】
デジタルカメラ１００は、カメラＳＤＫ４０２からオペレーションＩＤを受信すると、要求されたオペレーションＩＤに対応したカメラの制御を実行する（Ｓ５０３）。
【００６６】
カメラＳＤＫ４０２がデジタルカメラ１００に送信するオペレーションＩＤに対応する制御機能の種類は、例えば、ＡＦ開始（撮影準備動作）、レリーズ、撮影パラメータ変更、ＬＶ（ライブビュー）開始、ＬＶ画像取得、画像ファイル取得などがある。
【００６７】
このように、デジタルカメラ１００とカメラＳＤＫ４０２の間はオペレーションＩＤによって制御されている。
【００６８】
なお、本実施形態では、通常の接続状態でカメラＳＤＫ４０２が制御可能なオペレーションと有料のアドインソフトを購入すると追加の機能が有効になる追加機能オペレーションが用意されている。追加機能オペレーションは通常の接続状態は有効になっておらず、カメラＳＤＫ４０２からの追加機能購入済み通知によって新たに制御可能なオペレーションとしてデジタルカメラ１００に追加される。
【００６９】
追加機能オペレーションとしては、例えば、インターバル撮影機能やＲＡＷ現像機能などがある（図６参照）。
【００７０】
＜カメラアプリケーションとサーバとデジタルカメラの処理シーケンス＞次に、図７を参照して、本実施形態のスマートフォン２００のカメラアプリケーション４００とサーバとデジタルカメラ１００の処理シーケンスについて説明する。
【００７１】
以下では、スマートフォン２００がＡ社のカメラアプリケーション４００Ａを利用している場合について説明する。
【００７２】
本実施形態の処理シーケンスは、図５で説明した手順に従い、カメラアプリケーション４００Ａが起動されているスマートフォン２００とデジタルカメラ１００との接続が確立されると開始される。なお、本実施形態の処理シーケンスにおけるデジタルカメラ１００の処理は、マイコン１２３が不揮発性メモリ１３０に格納された制御プログラムを、ＲＡＭなどのシステムメモリに読み出して実行することにより実現される。また、スマートフォン２００の処理は、ＣＰＵ２０１が、ＲＯＭ２０２に格納された制御プログラムを、ＲＡＭ２０３に読み出して実行することにより実現される。
【００７３】
以下の説明では、カメラアプリケーション４００のうちカメラＳＤＫ４０２によらないカメラ制御アプリ４０１Ａを読み込んで実行する処理と、カメラＳＤＫ４０２を読み込んで実行する処理とを区別して記載している。また、以下の説明には、理解を容易にするためにこれらのソフトウェアが処理の主体であるかのような記載が含まれるが、実際の動作主体はカメラ制御アプリ４０１ＡまたはカメラＳＤＫ４０２を読み込んだＣＰＵ２０１である。
【００７４】
図７において、ユーザ操作によりスマートフォン２００でカメラアプリケーション４００Ａが起動されると、カメラ制御アプリ４０１Ａは、カメラＳＤＫ４０２に対して接続要求を行う（Ｓ７０１）。
【００７５】
接続要求を受けたカメラＳＤＫ４０２は、デジタルカメラ１００に対して、デバイス情報の取得要求を送信する（Ｓ７０２）。
【００７６】
デバイス情報取得要求を受けたデジタルカメラ１００は、スマートフォン２００に対して、デバイス情報を送信する（Ｓ７０３）。デバイス情報には、デジタルカメラ１００が対応しているオペレーション、有効なイベント、現在のプロパティが含まれる。
【００７７】
ここで、デバイス情報について説明する。
【００７８】
オペレーションとは、デジタルカメラ１００に対する制御コマンドであり、主にデジタルカメラ１００が保有している画像を送信させるオペレーションと、デジタルカメラ１００の撮影機能を制御するオペレーションとに分類される。デジタルカメラ１００が保有している画像を送信させるオペレーションには、例えばデジタルカメラ１００から外部機器（本例ではスマートフォン２００）に画像データを送信する「画像ファイル取得」がある。また、撮影機能を制御するオペレーションには、デジタルカメラ１００に静止画撮影を実行させる「レリーズ」がある。その他、デジタルカメラ１００から外部機器（本例ではスマートフォン２００）にライブビュー画像を送信する「ＬＶ（ライブビュー）」、デジタルカメラ１００に動画記録を実行させる「動画記録開始・終了」などがある。また、デジタルカメラ１００で追加機能を有効にするための「追加機能購入済み通知」も、このオペレーションに含まれる。また、追加機能の購入により使用可能なるオペレーションとして、デジタルカメラ１００に一定時間ごとに静止画撮影を実行させる「インターバル撮影」や、デジタルカメラ１００でＲＡＷ画像の現像処理を実行させる「ＲＡＷ現像」などがある。
【００７９】
Ｓ７０３では、まず「画像ファイル取得」や「レリーズ」、「ＬＶ」、「動画記録開始・終了」といったカメラ制御オペレーション、「追加機能購入済み通知」のオペレーションを利用可能なオペレーションとして通知する。
【００８０】
また、イベントとは、デジタルカメラ１００で発生した事象を外部機器（本例ではスマートフォン２００）に通知するための情報である。イベントの例としては、デジタルカメラ１００の設定値がカメラ側で変更された場合や、カメラ側の操作で撮影が行われた場合がある。
【００８１】
また、プロパティとは、デジタルカメラ１００の撮影パラメータであり、例えば、絞り値、シャッタースピード、ＩＳＯ感度などがある。
【００８２】
図７の説明に戻り、デバイス情報を受信したカメラＳＤＫ４０２は、デジタルカメラ１００に対して、接続要求のオペレーションを送信する（Ｓ７０４）
その後、カメラＳＤＫ４０２は、ＲＯＭ２０２に記憶されているＳＤＫの管理ファイルを参照して、追加機能購入済み情報の有無を確認し、追加機能購入済み情報がない場合は、デジタルカメラ１００に対して何も処理を行わない（Ｓ７０５）。
【００８３】
次に、カメラアプリケーション４００Ａがデジタルカメラ１００を制御する処理シーケンスについて説明する。
【００８４】
図６はカメラアプリケーション４００Ａを起動したときに表示部２１１に表示されるアプリケーション画面である。このＵＩ画面はカメラアプリケーション４００Ａの起動と同時に表示しても良いし、カメラＳＤＫ４０２からＳ７０５までの処理が完了した通知を受けてから表示しても良い。
【００８５】
図６（ａ）に示すＧＵＩ画面には画像ファイル取得ボタン６０２、カメラ制御ボタン６０３およびアドイン購入ボタン６０４が含まれる。
【００８６】
画像ファイル取得ボタン６０２は、デジタルカメラ１００が保有している画像ファイルを取得するために、デジタルカメラ１００からスマートフォン２００に画像ファイルを送信する処理を実行するためのボタンである。
【００８７】
カメラ制御ボタン６０３は、デジタルカメラ１００を遠隔制御するためのモードに切り替えるためのボタンである。カメラ制御ボタン６０３がユーザにより操作されると、図６（ｂ）に示すカメラ制御画面６１１が表示され、スマートフォン２００からデジタルカメラ１００を制御することが可能となる。スマートフォン２００が制御可能なデジタルカメラ１００の機能として、図６（ｂ）では、ライブビュー表示領域６１２、静止画撮影６１３が例示されている。
【００８８】
ここで、図６（ｂ）のカメラ制御画面が表示された場合について説明する。
【００８９】
カメラ制御アプリ４０１Ａは、カメラ制御画面６１１が表示されるとカメラＳＤＫ４０２に対して、ＬＶ画像取得要求を行う（Ｓ７０６）。
【００９０】
カメラＳＤＫ４０２はＬＶ画像取得要求を受けると、デジタルカメラ１００に対して、ＬＶ画像取得要求を送信する（Ｓ７０７）。
【００９１】
デジタルカメラ１００は、ＬＶ画像取得要求を受信すると、作成したＬＶ画像をカメラＳＤＫ４０２に送信し、カメラＳＤＫ４０２は受信したＬＶ画像をカメラ制御アプリ４０１Ａに渡す。この処理により、カメラ制御アプリ４０１Ａはデジタルカメラ１００から受信したライブビュー画像をライブビュー表示領域６１２に表示することが可能となる。また、Ｓ７０６からＳ７０７の処理を定期的に行うことにより、ライブビュー表示領域６１２の画像が更新される。
【００９２】
次に、図６（ｂ）のＵＩ画面のレリーズボタン６１３が押された場合について説明する。
【００９３】
ユーザ操作によりレリーズボタン６１３が押されると、Ｓ７０８においカメラ制御アプリ４０１Ａは、カメラＳＤＫ４０２に対してレリーズ要求を行う。
【００９４】
カメラＳＤＫ４０２はレリーズ要求を受けると、デジタルカメラ１００にレリーズ要求を送信する（Ｓ７０９）。
【００９５】
レリーズ要求を受信したデジタルカメラ１００はレリーズ動作を行うことで、新たな撮影が行われ画像を取得する。
【００９６】
アドイン購入ボタン６０４は、デジタルカメラ１００を遠隔制御するための追加機能を購入するモードに切り替えるためのボタンである。ユーザ操作によりアドイン購入ボタン６０４が押されると、図６（ｃ）に示すアドイン購入画面６２１が表示され、スマートフォン２００からデジタルカメラ１００の制御が可能となる追加機能の購入が可能となる。
【００９７】
図６（ｃ）では、アドイン購入により追加可能な機能として、ＲＡＷ現像購入ボタン６２２、インターバル撮影購入ボタン６２３が例示されている。
【００９８】
カメラ制御アプリ４０１Ａは、アドイン購入画面６２１が表示されるとカメラＳＤＫ４０２に対して、追加機能購入確認要求を行う（Ｓ７１０）。
【００９９】
カメラＳＤＫ４０２は、追加機能購入確認要求を受けると、課金サーバ５００に追加機能購入確認要求を送信する（Ｓ７１１）。
【０１００】
課金サーバ５００は、追加機能購入確認要求を受信すると、ユーザ認証を行い、ユーザの追加機能購入状況を確認し（Ｓ７１２）、カメラＳＤＫ４０２に追加機能購入内容の通知を行う（Ｓ７１３）。
【０１０１】
カメラＳＤＫ４０２は、課金サーバ５００から通知された追加機能購入内容を確認し、購入済みのものがなかった場合、デジタルカメラ１００に対して何も処理を行わない。
【０１０２】
次に、図６（ｃ）のＵＩ画面のインターバル撮影購入ボタン６２３が押された場合について説明する。
【０１０３】
ユーザ操作によりインターバル撮影購入ボタン６２３が押されると、カメラ制御アプリ４０１Ａは、カメラＳＤＫ４０２に対して追加機能（インターバル撮影）の購入要求を行う（Ｓ７１４）。
【０１０４】
カメラＳＤＫ４０２は、追加機能購入要求（インターバル撮影）を受けると、課金サーバ５００に追加機能購入要求（インターバル撮影）を送信する（Ｓ７１５）。
【０１０５】
課金サーバ５００は、追加機能購入要求（インターバル撮影）を受信すると、ユーザ認証を行い、ユーザへの課金などの追加機能購入処理を行い（Ｓ７１６）、購入処理が完了すると、カメラＳＤＫ４０２に追加機能購入完了（インターバル撮影）の通知を行う（Ｓ７１６ａ）。
【０１０６】
カメラＳＤＫ４０２は、課金サーバ５００から追加機能購入完了通知（インターバル撮影）を受けると、追加機能（インターバル撮影）の購入済み情報をスマートフォン２００のＲＯＭ２０２にＳＤＫの管理ファイルとして記録する（Ｓ７１７）。
【０１０７】
その後、カメラＳＤＫ４０２は、デジタルカメラ１００に対して、追加機能購入済み通知（インターバル撮影）を行う（Ｓ７１８）。
【０１０８】
デジタルカメラ１００は、カメラＳＤＫ４０２からの追加機能購入済み通知（インターバル撮影）を受けると、追加機能（インターバル撮影）を制御するオペレーションを追加し（Ｓ７１９）、カメラＳＤＫ４０２に対してデバイス情報の再取得要求を送信する（Ｓ７２０）。
【０１０９】
カメラＳＤＫ４０２は、デジタルカメラ１００からデバイス情報の再取得要求を受信すると、デバイス情報の取得要求をデジタルカメラ１００に送信する（Ｓ７２１）。  デジタルカメラ１００は、カメラＳＤＫ４０２からデバイス情報の取得要求を受信すると、現在のデバイス情報を送信する（Ｓ７２２）。なお、ここで送信されるデバイス情報には、Ｓ７１９で追加された追加機能（インターバル撮影）に関する情報も含まれる。なお、デジタルカメラ１００からカメラＳＤＫ４０２にデバイス情報を送信する場合、カメラのシリアル番号やＭＡＣアドレスなどカメラごとに異なる情報を用いて追加機能情報を暗号化して送信することで、デジタルカメラ１００とスマートフォン２００の間の通信プロトコルが解析され、追加機能を購入していないユーザが利用可能となるような事態を防ぐことができる。
【０１１０】
Ｓ７２２においてデジタルカメラ１００からデバイス情報を再取得することで、カメラＳＤＫ４０２はデジタルカメラ１００の制御において使用可能な機能を認識することができ、その中にインターバル撮影機能が含まれているため、カメラ制御アプリ４０１Ａに追加機能（インターバル撮影）有効通知を行う（Ｓ７２３）。
【０１１１】
カメラ制御アプリ４０１Ａは、Ｓ７２３で追加機能有効通知（インターバル撮影）を受けると、図６（ｃ）のアドイン購入画面６２１のインターバル撮影購入ボタン６２３に購入済みの表示を行い、購入済みであることをユーザに示す。
【０１１２】
インターバル撮影機能を購入した後に再度、図６（ａ）のカメラ制御ボタン６０３がユーザにより押されると、図６（ｄ）に示すカメラ制御画面６１１が表示され、スマートフォン２００からデジタルカメラ１００の制御が可能となる。スマートフォン２００が制御可能なデジタルカメラ１００の機能として、図６（ｄ）のＵＩ画面には、インターバル撮影機能を購入する前からあるライブビュー表示領域６１２、レリーズボタン６１３に加えて、インターバル撮影ボタン６１４が追加されている。
【０１１３】
カメラ制御アプリ４０１Ａは、図６（ｄ）のカメラ制御画面６１１が表示されると、カメラＳＤＫ４０２に対してＬＶ画像要求を行う（Ｓ７２４）。
【０１１４】
Ｓ７２４からＳ７２５の処理は、Ｓ７０６からＳ７０７でのＬＶ画像取得処理と同様である。
【０１１５】
次に、図６（ｄ）のＵＩ画面のインターバル撮影ボタン６１４が押された場合について説明する。
【０１１６】
ユーザ操作によりインターバル撮影ボタン６１４が押されると、カメラ制御アプリ４０１Ａは、カメラＳＤＫ４０２に対してインターバル撮影要求を行う（Ｓ７２６）。
【０１１７】
カメラＳＤＫ４０２は、インターバル撮影要求を受けると、デジタルカメラ１００にインターバル撮影要求を送信する（Ｓ７２７）。
【０１１８】
インターバル撮影要求を受信したデジタルカメラ１００は、カメラ内で設定されているインターバル撮影の撮影間隔、合計の撮影枚数をもとにインターバル撮影動作を行うことで、一定時間ごとに新たな撮影が行われ画像を取得する。
【０１１９】
本実施形態では、インターバル撮影の撮影間隔、合計の撮影枚数はカメラ側の設定で動作するが、別途、カメラ制御アプリ４０１Ａに、インターバル撮影の撮影間隔、合計の撮影枚数をデジタルカメラ１００に設定できる機能を設けても良い。
【０１２０】
次に、ユーザ操作によりカメラアプリケーション４００Ａが終了されると、カメラ制御アプリ４０１Ａは、カメラＳＤＫ４０２に対して切断要求を行う（Ｓ７２８）。
【０１２１】
カメラＳＤＫ４０２は切断要求を受けると、デジタルカメラ１００に切断要求を送信する（Ｓ７２９）。
【０１２２】
切断要求を受信したデジタルカメラ１００は、追加機能（インターバル撮影）のオペレーションを削除し、スマートフォン２００との通信を切断する。
【０１２３】
次に、図７で説明したように追加機能（インターバル撮影）を購入後、カメラ制御アプリ４０１Ａとは異なるカメラ制御アプリ４０１Ｂがデジタルカメラ１００を制御する処理シーケンスについて図８を参照して説明する。
【０１２４】
なお、カメラ制御アプリ４０１Ｂは、カメラ制御アプリ４０１Ｂが実行するカメラＳＤＫ４０２を使用する、開発元が異なるＢ社のカメラアプリケーション４００Ｂであるものとする。
【０１２５】
図８において、ユーザ操作によりスマートフォン２００でカメラアプリケーション４００Ｂが起動されると、図７のＳ７０１からＳ７０４と同様にカメラ制御アプリ４０１Ｂはデジタルカメラ１００との接続処理を行う（Ｓ８０１〜Ｓ８０４）。
【０１２６】
接続処理後、カメラＳＤＫ４０２は、ＲＯＭ２０２に記憶されているＳＤＫの管理ファイルを参照して、追加機能購入済み情報の有無を確認する。ここで、ＳＤＫの管理ファイルには、図７で説明したカメラ制御アプリ４０１Ａの使用時に購入した追加機能（インターバル撮影）の購入済み情報が存在するため、カメラＳＤＫ４０２はデジタルカメラ１００に対して追加機能（インターバル撮影）の購入済み通知を行う（Ｓ８０６）。
【０１２７】
その後、Ｓ８０７からＳ８１１では、図７のＳ７１９からＳ７２３と同様の処理を行う。
【０１２８】
次に、図６（ａ）のカメラ制御ボタン６０３がユーザにより押されると、図６（ｅ）に示すカメラ制御画面６５１が表示され、スマートフォン２００からデジタルカメラ１００の制御が可能となる。なお、このＵＩ画面６５１はカメラアプリケーション４００Ｂの起動と同時に表示しても良いし、カメラＳＤＫ４０２からＳ８１１までの処理が完了した通知を受けてから表示しても良い。
【０１２９】
図６（ｅ）のＵＩ画面では、ライブビュー表示領域６５２、静止画撮影ボタン６５３、インターバル撮影ボタン６５４、動画記録ボタン６５５、アドイン購入ボタン６５６が例示されている。カメラ制御アプリ４０１Ｂは、カメラ制御画面６５１が表示されると、追加機能（インターバル撮影）が購入済みであるためインターバル撮影ボタン６５４が有効となって表示される。また、カメラ制御画面６５１には、新規にインターバル撮影機能が有効になったことを示す「ＮＥＷ」６５７などの文字が表示される。なお、カメラ制御画面６５１が表示される際に、インターバル撮影機能が未購入の場合は、インターバル撮影ボタン６５４がグレーアウトなど無効状態で表示される。
【０１３０】
その後、Ｓ８１２からＳ８１８では、図７のＳ７２４からＳ７３０と同様の処理を行う。
【０１３１】
以上のように、本実施形態によれば、カメラ制御アプリ４０１で制御可能なデジタルカメラ１００の制御機能が追加購入されたことをカメラＳＤＫ４０２で管理することにより、カメラ制御アプリケーションごとに追加機能を購入することなく、一度の購入でカメラＳＤＫ４０２を使用するすべてのカメラ制御アプリケーションで追加機能を使用することが可能となる。
【０１３２】
なお、本実施形態では、同一のスマートフォン２００で２種類のカメラアプリケーション４００Ａ、４００Ｂを切り替える例を示したが、複数のスマートフォンごとに異なるカメラアプリケーションを使用する場合であっても良い。
【０１３３】
また、本実施形態では、カメラＳＤＫが追加機能購入済み情報をＳＤＫの管理ファイルで記録しているが、接続ごとに課金サーバに追加機能購入情報を確認することにすれば、ＳＤＫで追加機能購入済み情報を管理する必要がなくなる。この場合、カメラＳＤＫ４０２は、課金サーバ５００にアクセスしユーザ認証を受けることで追加機能購入情報をダウンロードできる。
【０１３４】
［他の実施形態］本発明は、以下の処理を実行することによっても実現される。即ち上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１３５】
１００…デジタルカメラ、１１２…撮像部、１２１…通信Ｉ／Ｆ、１２３…マイクロコンピュータ、２００…スマートフォン、２０１…ＣＰＵ、２０４…カメラ部、２１０…操作部、２１１…表示部、２１２…通信Ｉ／Ｆ
【図１】
0006357041.tif 000002
【図２】
0006357041.tif 000003
【図３】
0006357041.tif 000004
【図４】
0006357041.tif 000005
【図５】
0006357041.tif 000006
【図６】
0006357041.tif 000007
【図７】
0006357041.tif 000008
【図８】
0006357041.tif 000009