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