以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、一実施形態にかかるカメラシステム5の利用環境の一例を示す。無線システムの一例としてのカメラシステム5は、カメラ10aおよび10b、閃光装置であるスピードライト20aおよび20b、コンピュータ30ならびに複数の無線装置40a〜fを備える。カメラシステム5の説明において、a、b等の符号の添え字を省略して、各構成要素を総称する場合がある。例えば、カメラ10aおよび10bを、カメラ10と総称する場合がある。
無線装置40は、それぞれ対応する機器に装着され、相互に無線通信する。一例として、無線装置40は同一の通信方式、同一の通信フォーマット、そして同一のチャンネル(周波数帯)で通信する。無線装置40は、それぞれに割り当てられた固有の識別コードで識別される。無線装置40が無線信号でパケットを受信した場合に、宛先の識別コードに基づいて自分宛てのパケットでないと判断された場合には、当該パケットは無視する。このために、無線装置40の無線信号の受信用の制御ロジックには、受信したパケットの宛先が自身の識別コードと一致した場合にだけ受信割込を発生する機構が組み込まれる。これにより、パケットのデータ処理にかかる負担を低減することができる。カメラシステム5の説明において、この固有の識別コードを機器IDと呼ぶ。機器IDとしてMACアドレスを採用すれば、無線装置40の固体を識別することができる。機器IDとして任意の管理番号や名前等を使用できるようにしてもよい。この場合、完全な個体識別は実現できない場合があるが、限られた無線システム内では個体識別できるように機器IDを設定することができる。いずれにしても、カメラシステム5において、識別すべき無線装置40を識別するために機器IDが使用される。カメラシステム5においては、無線装置40間で予め無線通信の相手先として許可した無線装置40を、機器IDを用いて特定する。カメラシステム5において、少なくとも一方の無線装置40が通信の相手先の機器IDを記憶することをペアリングと呼ぶ。無線装置40同士が機器IDを相互に記憶し合うことを、ペアリングするとしてもよい。
無線装置40aは、無線リモートコントローラである。無線装置40aは単体で機能する。カメラシステム5の説明では、無線リモートコントローラをリモコンと略称する場合がある。リモコンは、例えば、遠方に設置したカメラ10を起動したり、撮影を指示したりする。また、リモコンは、カメラのシャッタ速度や絞り値など各種の設定を行ったり、当該設定を読み出したりする。
無線装置40bおよび40cは、カメラ10に着脱可能に装着される機器である。無線装置40bおよび40cは、いわゆるカメラ用アクセサリであり、カメラ10に無線機能を追加する。本図において、無線装置40bは、カメラ10bに装着され、無線装置40cは、カメラ10bに装着される。カメラ用アクセサリは、装着されたカメラ10と通信してカメラ10の動作を制御する。また、カメラ用アクセサリは、スピードライト20、コンピュータ30等の機器と通信して、種々の制御を実現する能力を持つ。カメラ用アクセサリがカメラ10の動作を制御するためには、カメラ用アクセサリおよびカメラ10の両方がそれらの制御を実現するファームウェア等のソフトウェアを搭載している必要がある。新たな機能を追加する場合は、カメラ用アクセサリおよびカメラ10の動作を新たな機能に対応する無線コマンドに対応させたり、カメラ用アクセサリおよびカメラ10のファームウェアを新たな機能に対応するファームウェアに書き換えることによって、機能を追加できる。いわゆるファームウェアのアップデート機能によって、新たな機能を追加することができる。
無線装置40dおよび40eは、スピードライト20に着脱可能に装着される機器である。無線装置40dおよび40eは、いわゆるスピードライト用アクセサリであり、スピードライト20に無線機能を追加する。スピードライト用アクセサリは、遠隔に設けたスピードライト20を制御するための無線通信用のアクセサリである。本図において、無線装置40dは、スピードライト20aに装着され、無線装置40eは、スピードライト20bに装着される。一灯撮影ではカメラ10に閃光装置を直接取り付けて使う場合もあるが、多灯撮影では少なくとも1台はカメラ10が無線通信で発光制御等を行う場合が多い。もちろん、一灯撮影でも、遠隔に設けた1台のスピードライト20を用いて撮影できる。複数のスピードライト20を用いた撮影では、1以上のカメラ10が、複数のスピードライト用アクセサリと通信を行う。
無線装置40fは、コンピュータ30に着脱可能に装着される機器である。無線装置40fは、装着されたコンピュータ30に無線機能を追加する。例えば、無線装置40fは、カメラ10と通信できるPC用アクセサリである。PC用アクセサリは、例えば、コンピュータ30のUSB(ユニバーサルシリアルバス)端子に接続できるコネクタを有しており、USBドングル等とも呼ばれる。コンピュータ30とUSBドングルの通信はUSBを通じて行われる。PC用アクセサリは、コンピュータ30にインストールされたソフトウェアの機能によって、カメラ10との間の各種の無線通信制御が実現される。
カメラ10は、被写体を撮像して、画像データを記録する。スピードライト20は閃光を発光して、短時間に被写体を照明する。カメラ10は、スピードライト20の発光に同期して撮像する。具体的には、カメラ10aは、無線装置40aからの撮影を指示するコマンドを無線信号で受信した場合、閃光を発光する必要があると判断したときは、無線装置40bを通じて、無線装置40dに閃光を発光するコマンドを無線信号で送信する。無線装置40dは、当該コマンドを受信すると、スピードライト20に閃光を発光するよう指示する。カメラ10aは、コマンドを送信した後に、スピードライト20aから十分な発光量に達するまでに要する予め定められた時間だけウェイトした後、撮影動作を行う。このように、カメラ10aは、無線装置40bを介して無線装置40aからの撮像指示を受信して、無線装置40bおよび無線装置40dを介してスピードライト20aを発光させ、発光に同期して撮像する。カメラ10b、無線装置40c、無線装置40eおよびスピードライト20bも同様に動作する。すなわち、カメラ10bは、無線装置40cを介して無線装置40aからの撮像指示を受信して、無線装置40cおよび無線装置40eを介してスピードライト20bを発光させ、発光に同期して撮像する。
ここで、カメラシステム5が有する4種類のアクセサリのうち、リモコンはカメラ10を制御する機器であるから、リモコンの通信相手はカメラ用アクセサリに限定されることが望ましい。スピードライト用アクセサリは、カメラ10から制御される機器であるから、通信相手はカメラ用アクセサリに限定されることが望ましい。PC用アクセサリの用途としては、コンピュータ30をリモコンとして代用したり、カメラから画像データを受信してモニタ上に表示させたりする用途が考えられる。かかる用途でコンピュータ30を利用する場合、PC用アクセサリの通信相手はカメラ用アクセサリに限定されることが望ましい。なお、各アクセサリの検査機能をコンピュータ30のアプリケーションで提供する等する場合には、PC用アクセサリは検査対象の全アクセサリと通信させるとしてもよい。
このように、カメラ用アクセサリは、リモコン、スピードライト用アクセサリ、PC用アクセサリの全てと通信できることが望ましい。また、2台以上のカメラ10を連動してレリーズさせる機能を実現する場合は、レリーズ操作したカメラに装着された無線アクセサリから他のカメラ10のカメラ用アクセサリに撮影指示コマンドを送信する必要があるので、カメラ用アクセサリ間でも通信できることが望ましい。
本例で示したように、一の無線システムの中に機能が異なる無線装置40が存在する場合、無線装置40が通信すべき相手の組み合わせが異なる。したがって、無線通信のペアリング相手を異ならせることが望ましい。本例では、リモコン、スピードライト用アクセサリ、PC用アクセサリはカメラ用アクセサリとだけペアリングを許可してよいが、カメラ用アクセサリは他の全てのアクセサリとペアリングを許可する必要がある。アクセサリの検査を行うためには、PC用アクセサリも全ての無線装置40とペアリングを許可する必要がある。
ユーザは、各無線装置40が備えるペアリングボタン80a〜fを操作することでペアリングを行うことができる。例えば無線装置40aと無線装置40bとの間でペアリングを行う場合、ユーザがペアリングボタン80aを押し込み、ペアリングボタン80bを押し込むことで、無線装置40aと無線装置40bとの間で無線通信によってペアリングされる。具体的には、ユーザがペアリングボタン80aを押し込むことで、無線装置40aから、予め定められた期間、ペアリング要求信号がブロードキャストで送信され続ける。また、ユーザがペアリングボタン80bを押し込むことで、無線装置40bから、予め定められた期間、ペアリング要求信号がブロードキャストで送信され続ける。無線装置40bは、予め定められた期間内に無線装置40aからのペアリング要求信号を受信すると、当該ペアリング要求信号の送信元IDをペアリング相手の機器IDとして記憶する。同様に、無線装置40aは、予め定められた期間内に無線装置40bからのペアリング要求信号を受信すると、当該ペアリング要求信号の送信元IDをペアリング相手の機器IDとして記憶する。これにより、各無線装置40は、無線信号で受信した新たなコマンドのうち、送信元IDがペアリング相手のIDとして記憶しているコマンドだけを受け付けることができる。
ここで、ペアリング要求信号には、各無線装置40が有する機能を示す機能情報と、送信元IDとしての機器IDとが含まれる。例えば、無線装置40aであれば、リモコン送信の機能を有する旨を示す機能情報が含まれる。無線装置40bは、リモコン送信の機能に対応するリモコン受信の機能を有しているので、無線装置40aの機器IDをペアリング相手の機器IDとして記憶する。しかし、スピードライト用アクセサリである無線装置40dおよび無線装置40eは、リモコン受信の機能を有しない。したがって、無線装置40dは、ペアリングボタン80dが押し込まれてから予め定められた期間に無線装置40aからのペアリング要求信号を受信した場合でも、無線装置40aの機器IDをペアリング相手の機器IDとして記憶することはない。このため、無線装置40dは、無線装置40aから送信されたコマンドを受信した場合でも、当該コマンドを破棄するだけであり、当該コマンドを受け付けない。無線装置40eも同様である。したがって、無線装置40dおよび40eは、無線装置40aからのコマンドを受信した場合、送信元IDをチェックしてペアリング相手でないと判断した場合は、コマンドの内容を判断することなくコマンドを破棄するだけでよい。このため、コマンド処理にかかる負荷を軽減することができる。
本図において、ペアリング関係を有する機器を矢印で例示した。上述したように、無線装置40bおよび無線装置40cは、無線装置40aの機器IDをペアリング相手として記憶する。また、無線装置40dは、無線装置40bの機器IDをペアリング相手として記憶する。無線装置40eは、無線装置40cの機器IDをペアリング相手として記憶する。また、無線装置40bおよび無線装置40cは、無線装置40fの機器をペアリング相手として更に記憶することができる。このように、各無線装置40は、対応する機能を持つ他の無線装置40との間でペアリングを許容する。このため、各無線装置40は、他の無線装置40のうちペアリングする相手を限定することができる。したがって、無線装置40aにおいてコマンド処理にかかる負荷が軽減される。
図2は、無線装置40が有する無線通信モジュール200の機能ブロックの一例を示す。ここでは、無線通信モジュール200の機能ブロックを、無線装置40が有するメモリ部270とともに示す。無線通信モジュール200は、通信制御MPU210、RF通信回路204およびアンテナ202を有する。
通信制御MPU210は、メインMPUとの間で信号を入出力する入出力部208、RF通信回路204との間で信号を入出力する入出力部206、受付部230、判断部220、通信先特定部240、メモリ制御部250および通知部260を有する。
アンテナ202は、無線信号を受信する。アンテナ202で受信された無線信号は、RF通信回路において復調されてパケットが生成される。生成されたパケットは、入出力部206に出力される。アンテナ202およびRF通信回路204の機能ブロックは、ペアリング情報、コマンド等の無線信号を受信する受信部として機能する。すなわち、アンテナ202およびRF通信回路204の機能ブロックは、ペアリングを要求する他の無線装置40を送信元とし、他の無線装置40が有する機能を示す機能情報を含むペアリング要求信号を、無線で受信する受信部として機能する。入出力部206で生成されたパケットは、受付部230、判断部220、通知部260に供給される。
ペアリング要求信号を受信した場合の動作について説明する。判断部220は、ペアリング要求信号に含まれる機能情報で示される機能に対応する機能である対応機能を自身が有するか否かを判断する。無線装置40が対応機能を有すると判断した場合、ペアリング要求信号の送信元を識別する識別情報をメモリ制御部250に供給する。メモリ制御部250は、無線装置40が対応機能を有すると判断された場合に、ペアリング要求信号の送信元を識別する識別情報を、ペアリング相手の識別情報としてメモリ部270に記憶する。メモリ制御部250は、ペアリング情報格納部280として機能するメモリ領域に、当該識別情報を記憶する。識別情報としては、ペアリング要求信号に含まれる送信元ID、すなわちペアリング要求信号を送信した無線装置40の機器IDを例示することができる。
なお、ペアリング情報格納部280は、ペアリング相手として許容できる他の無線装置40の数である予め定められた許容数を上限として、ペアリング相手の識別情報を記憶する。許容数は、無線装置40固有の値としてペアリング情報格納部280に記憶されている。また、許容数は、複数の機能に対応づけて格納される。メモリ制御部250は、機能毎に予め定められた許容数を上限として、ペアリング相手の識別情報を対応機能毎にペアリング情報格納部280に記憶させる。このように許容数に設定することで、メモリ部270内にペアリング情報格納部280として確保するメモリ領域を削減することができる。
メモリ部270内には、通信履歴を格納する通信履歴格納部290用の記憶領域が確保される。通信履歴格納部290は、ペアリング情報格納部280に記憶されている識別情報で識別される他の無線装置40との間の通信履歴を格納する。例えば、通信履歴格納部290は、他の無線装置40との間で最後に通信した時刻を、他の無線装置40を識別する識別情報に対応づけて格納する。通信先特定部240は、通信履歴格納部290が格納している通信履歴に基づいて、最も過去に通信した通信先を特定する。具体的には、メモリ制御部250は、通信履歴格納部290に記憶されている通信履歴を通信先特定部240に供給する。通信先特定部240は、最も古い時刻に対応して格納されている識別情報を、最も過去に通信した通信先の識別情報として特定する。
判断部220は、ペアリング情報格納部280に記憶されていない識別情報を送信元とする新たなペアリング要求信号が受信され、自身が対応機能を有すると判断された場合に、ペアリング相手としてペアリング情報格納部280に記憶されている識別情報の数が許容数に達しているときは、通信先特定部により特定された他の無線装置40の識別情報に代えて、新たなペアリング要求信号の送信元の識別情報をペアリング情報格納部280に記憶させる。したがって、頻繁に通信した無線装置40の識別情報がペアリング情報格納部280から削除されることを抑制できる。
通知部260は、ユーザに情報を通知する。例えば、通知部260は、画像表示、発光、音、振動等を用いてユーザに通知するべく、メインMPUに指示する。具体的には、通知部260は、ペアリング要求信号の送信元の識別情報をペアリング情報格納部280に格納した場合に、ペアリング相手を記憶した旨をユーザに通知する。このため、ユーザは、ペアリングが完了したことを容易に認識することができる。
また、通知部260は、ペアリング情報格納部280に記憶されていない識別情報を送信元とする新たなペアリング要求信号が受信され、自身が対応機能を有すると判断された場合に、ペアリング相手としてペアリング情報格納部280に記憶されている識別情報の数が許容数に達しているときは、許容数に達している旨をユーザに通知してもよい。これにより、ユーザはペアリングの許容数に達していることを容易に認識することができる。
また、通知部260は、ペアリング情報格納部280に記憶されている識別情報の送信元とするペアリング要求信号を受信した場合に、ペアリング相手として記憶されている旨をユーザに通知してよい。
なお、ペアリングが完了したことを通知する場合と、ペアリング相手が許容数に達している旨を通知する場合と、ペアリング相手として記憶されている旨を通知する場合とで、発光パターン、音パターン、振動パターンの少なくともいずれかを異ならせてよい。例えば、通知部260は、発光時間、発光間隔、発光強度および色の少なくともいずれかを異ならせることで、発光パターンを異ならせるとしてよい。また、通知部260は、音の継続時間、間隔、音量および周波数の少なくともいずれかを異ならせることで、音パターンを異ならせるとしてよい。また、通知部260は、振動の継続時間、振動の間隔、振動の振幅および振動の周波数の少なくともいずれかを異ならせることで、振動パターンを異ならせるとしてよい。
次に、上述したコマンドを他の無線装置40から受信した場合の動作について説明する。受付部230は、入出力部206から供給されたパケットを取得する。受信部において自身を宛先とする無線信号を受信した場合に、受付部230は、当該無線信号の送信元を識別する識別情報がペアリング情報格納部280に記憶されていることを条件として、当該無線信号を受け付ける。具体的には、メモリ制御部250は、ペアリング情報格納部280から識別情報を読み出して、受付部230に供給する。受付部230は、メモリ制御部250から供給された識別情報が、入出力部206からパケットの送信元を識別する識別情報と一致するか否かを判断して、一致する場合に、パケットを受け付ける。例えば、受付部230は、メモリ制御部250から供給された機器IDが、入出力部206からパケットの送信元IDと一致する場合に、パケットを受け付ける。受付部230は、受け付けたパケットを、入出力部208を介してメインMPUに供給する。メインMPUは、パケットに従って無線装置40の各部を制御する。
一方、受付部230は、メモリ制御部250から供給された機器IDが、入出力部206からパケットの送信元IDと一致しない場合には、メインMPUにパケットを供給しない。したがって、当該パケットは無線通信モジュール200において破棄される。したがって、コマンドの内容を解析する等、コマンドを解析するようなことをしなくて済む。
次に、他の無線装置40にコマンドを無線信号で送信する場合について説明する。コマンドはメインMPUで生成され、入出力部208を通じて、受付部230に供給される。受付部230は、ペアリング情報格納部280に記憶されているペアリング相手の識別情報を宛先とするパケットを生成して、入出力部206に供給する。パケットは入出力部206からRF通信回路204に出力され、RF通信回路204においてパケットデータで変調した変調信号を生成してアンテナ202へ供給する。アンテナ202は、例えば2.4GHz帯の予め定められたいずれかのチャンネルの無線信号として、変調信号を送出する。
図3は、カメラシステム5においてペアリング要求信号のデータ構成の一例を示す。ペアリング要求パケット300は、ヘッダ部およびデータ部を含む。ヘッダ部は、送信元ID310および宛先ID320を格納するフィールドを含む。送信元IDには、パケットを送信する無線装置40に割り当てられた機器IDが格納される。ペアリング要求信号は、ブロードキャストで送信されるので、宛先IDにはブロードキャストであることを示す値が格納される。例えば、宛先IDにはゼロ値が格納される。
データ部330は、コマンドIDおよび機能情報を格納するフィールドを含む。コマンドIDのフィールド340には、ペアリング要求であることを示す予め定められた値が格納される。機能情報のフィールド350には、送信元の無線装置40が有する機能を示す情報が格納される。例えば、機能情報は16ビットのビット列であり、予め定められた16個の機能を送信元の無線装置40が有するか否かが、対応するビット位置のビット値で表される。
図4は、機能情報の各ビットに割り当てられる機能の一例を表形式で示す。無線装置40としては、機能の実行を要求する側と、要求された機能を実行する側がある。例えばリモコンは撮像等を指示する側であり、カメラ用アクセサリは撮像等を実行する側である。また、カメラ用アクセサリは閃光動作を指示する側でもあり、スピードライト用アクセサリは閃光動作を実行する側である。このように、機能の実行を要求する側と、要求された機能を実行する側があるので、一つの機能に対して、指示する機能と、実行する機能との2つがある。そして、指示する機能と、実行する機能とが、互いに対応機能となる。
図3に関連して説明したように、機能情報はバイナリデータとしてペアリング要求信号に含まれて送信される。バイナリデータの各ビットに、各機能が割り当てられる。ここでは、カメラシステム5で利用される機能として、リモコン制御、スピードライト制御、画像送信制御の3つの機能について例示する。
機能情報の第1ビット(bit0)から第8ビット(bit7)までは、指示側の機能が割り当てられる。本図において、第1ビットは、リモコン制御に関し、リモコン信号を送信する機能を有するか否かを示す。例えば、第1ビットは、カメラ10の撮影を制御したり、ウェイクアップを指示したりする機能を有するか否かを示す。
第2ビット(bit1)は、閃光制御に関し、閃光関連の動作を指示する機能を有するか否かを示す。例えば、第2ビットは、スピードライト20の各種制御、例えば閃光タイミング、発光量等を指示する機能を有するか否かを示す。
第3ビット(bit2)は、画像送信制御に関し、画像の送信を要求する機能を有するか否かを示す。例えば、第3ビットは、画像を送信するよう指示する機能を有するか否かを示す。
第8ビット(bit7)から第16ビット(bit15)までは、受け側の機能が割り当てられる。本図において、第8ビット(bit7)は、リモコン制御に関し、リモコン信号を受信する機能を有するか否かを示す。例えば、第8ビットは、カメラ10に対して撮像に関する各種動作を実行させる機能を有するか否かを示す。具体的には、第8ビットは、撮影指示に応じてカメラ10に撮影動作を行わせたり、ウェイクアップの指示に応じてカメラ10をウェイクアップさせたりする機能を有するか否かを示す。
第9ビット(bit8)は、閃光制御に関し、閃光動作を実行する機能を有するか否かを示す。例えば、第9ビットは、スピードライト20に閃光関連の各種動作を実行させる機能を有するか否かを示す。具体的には、第9ビットは、スピードライト20を閃光させ、発光量を指示する機能を有するか否かを示す。
第10ビット(bit9)は、画像送信制御に関し、画像の送信要求に応じて、画像を送信する機能を有するか否かを示す。
本図において第4ビット(bit3)から第8ビット(bit7)、および、第11ビット(bit10)から第16ビット(bit15)には、機能は定義されていない。これらのビット領域は、カメラシステム5において将来利用できる機能を追加するためのリザーブ領域として確保される。
本図において、リモコン、カメラ用アクセサリ、スピードライト用アクセサリ、PC用アクセサリのそれぞれが機能情報として送信するビット列を示す。ビット値1は、対応する機能を有することを示し、ビット値0は対応する機能を有しないことを示す。リザーブ領域のビットには0が設定される。
リモコンである無線装置40aは、機能情報として、1000000000000000を送信する。すなわち、無線装置40aは、リモコン送信機能を有する旨を機能情報として送信する。
カメラ用アクセサリである無線装置40bおよび40cは、機能情報として、1110000010100000を送信する。すなわち、無線装置40bおよび無線装置40cは、リモコン送信の機能、閃光制御を指示する機能、画像の送信を要求する機能、リモコン受信の機能および画像を送信する機能を有する旨を機能情報として送信する。
スピードライト用アクセサリである無線装置40dおよび40eは、機能情報として、0000000001000000を送信する。すなわち、無線装置40dおよび40eは、閃光動作を実行する機能を有する旨を機能情報として送信する。
PC用アクセサリである無線装置40fは、機能情報として、1010000000000000を送信する。すなわち、無線装置40fは、リモコン送信の機能および画像の送信を要求する機能を有する旨を機能情報として送信する。
無線装置40は、それぞれが持つ機能をビット列で記憶する。当該ビット列は、メモリ部270に記憶され、ペアリング要求信号を送信する場合に読み出されて、ペアリング要求信号の機能情報として設定される。また、他の無線装置40からペアリング要求信号を受信した場合、メモリ部270から読み出されて対応機能を有するか否かの判断に用いられる。具体的には、ペアリング要求信号を受信した無線装置40の判断部220は、ペアリング要求信号に含まれる機能情報において、無線装置40が持つ指示機能が1のビットに対応する実行機能のビットが1である場合に、対応機能を持つと判断する。また、判断部220は、ペアリング要求信号に含まれる機能情報において、無線装置40が持つ実行機能が1のビットに対応する指示機能のビットが1である場合に、対応機能を持つと判断する。ペアリング要求信号を受信した無線装置40が複数の機能を有する場合、その中の少なくとも1つが対応機能と判断された場合は、ペアリング相手として記憶してよい。
このように、ペアリング要求信号は、複数の機能にそれぞれ対応し、対応する機能を他の無線装置40が有するか否かを示す複数のビットフィールドを含むビット情報を、機能情報として含む。各無線装置40が有する判断部220は、ペアリング要求信号に含まれるビット情報に基づいて、自身の無線装置40が対応機能を有するか否かを判断する。判断部220は、ペアリング要求信号を発光した無線装置40が有する機能のうち少なくとも一つの機能の対応機能を有する場合に、対応機能を有すると判断してよい。
本図に例示した、リモコン、カメラ用アクセサリ、スピードライト用アクセサリ、PC用アクセサリのうち、リモコン送信の対応機能であるリモコン受信の機能は、カメラ用アクセサリだけが有する。したがって、無線装置40aがペアリング要求信号を送信した場合、無線装置40bおよび40cの少なくとも一方が、無線装置40aの機器IDをペアリング相手として記憶し得る。同様に、無線装置40bがペアリング要求信号を送信した場合、無線装置40cだけがペアリング相手として記憶し得る。
また、リモコンは、リモコン受信の対応機能であるリモコン送信の機能を有する。したがって、リモコン受信の機能を有する無線装置40bおよび40cがペアリング要求信号を送信した場合、リモコンである無線装置40aは、無線装置40bおよび40cをペアリング相手として記憶し得る。なお、カメラ用アクセサリおよびPC用アクセサリもリモコン送信の機能を有するので、無線装置40bおよび40cがペアリング要求信号を送信した場合、当該ペアリング要求信号を受信した無線装置40bまたは40c、PC用アクセサリである無線装置40fも、無線装置40bおよび40cの機器IDをペアリング相手として記憶し得る。
上述したように本図の例では第4ビット(bit3)から第8ビット(bit7)、および、第11ビット(bit10)から第16ビット(bit15)には、機能は定義されていない。カメラシステム5で利用できる機能を増やす場合、機能が定義されていないビットに対応して新たな機能を追加することができる。この場合、本機能マップが改訂され、それに従って新たな無線装置40が投入され得るが、既存の機能マップに対しては上位互換性を保つことができるので、既存の無線装置40と併存させることが出来る。また、ビットに対応する機能を他の機能に変更したり、機能を削除したりする等、カメラシステム5において対応する機能を更新することも容易である。
また、無線装置40においては、ファームウェアアップデート等によって対応する機能が更新等される場合がある。この場合、機能情報として送信するビット列も更新すればよい。機能が更新された場合でも、本図に例示したビット列を更新するだけで、更新された機能の対応機能を持つ新たな相手とペアリングすることが可能になる。
図5は、相互にペアリング相手として記憶できる無線装置40の種類をテーブル形式で示す。図4に関連して説明したように、リモコンはカメラ用アクセサリをペアリング相手として記憶し得る。カメラ用アクセサリは、リモコン、他のカメラ用アクセサリ、スピードライト用アクセサリ、PC用アクセサリをペアリング相手として記憶し得る。また、スピードライト用アクセサリおよびPC用アクセサリは、カメラ用アクセサリをペアリング相手として記憶し得る。このように、各無線装置40は、ペアリング相手として記憶する機器を、対応機能を有する機器に制限することができる。このため、各無線装置40におけるコマンド処理にかかる処理量を削減することができる。
図6は、ペアリング情報格納部280が格納する情報の一例をテーブル形式で示す。ペアリング情報格納部280は、機能ID、許容数および記憶機器数を対応づけて格納する。機能IDは、図4に関連して説明した機能を識別するID情報である。許容数は、ペアリング相手として記憶できる無線装置40の数の上限を示す。記憶機器数は、現在ペアリング相手として記憶されている機器IDの数を示す。
本例では、カメラ用アクセサリである無線装置40bが格納する情報の一例を例示した。機能ID1、機能ID2、機能ID4、機能ID256および機能ID1024は、それぞれリモコン送信の機能、閃光制御を指示する機能、画像の送信を要求する機能、リモコン受信の機能および画像を送信する機能に対応する。
本図の例では、無線装置40bがリモコン制御の実行側として機能する場合は、ペアリング相手としてリモコン、カメラ用アクセサリ、PC用アクセサリの無線装置40の機器IDを、5個まで記憶できる。また、無線装置40bが閃光制御の指示側として機能する場合は、スピードライトの無線装置40の機器IDを3個まで記憶できる。また、無線装置40bが画像送信の指示側として機能する場合は、カメラ用アクセサリの無線装置40の機器IDを3個まで記憶できる。また、無線装置40bがリモコンの送信側として機能する場合は、ペアリング相手としてカメラ用アクセサリの無線装置40の機器IDを5個まで記憶できる。また、無線装置40bが画像送信の実行側として機能する場合は、ペアリング相手としてPC用アクセサリの無線装置40の機器IDを3個まで記憶できる。
結果的には、カメラ用アクセサリはリモコン、カメラ用アクセサリ、PC用アクセサリの3種類の無線装置40の機器IDをペアリング相手として記憶できる。カメラシステム5において当該3種類以外の無線装置40が追加された場合でも、その無線装置40が例えばリモコン制御の指示側の機能を有しているときは、自身は対応機能を有しているのでペアリングは許容される。
このように、無線装置40によれば、一の機能に対して複数の他の無線装置40をペアリングさせることができる。例えば、カメラ用アクセサリは、複数のリモコンとそれぞれペアリングすることができる。したがって、ユーザは、複数のリモコンのうちのいずれのリモコンからでも、カメラ10を起動させることができる。
なお、一の機能について、ペアリング要求信号を送信した無線装置40の機器の種類毎に機器IDを記憶できるようにしてもよい。例えばリモコン送信およびリモコン受信の機能を持つカメラ用アクセサリを、複数のカメラ10に装着することで、1台のカメラを起動するコマンドを送信した場合に当該カメラに装着されたカメラ用アクセサリから、ペアリングした他のカメラ用アクセサリに同様のコマンドを送信することで、複数のカメラを連動して起動し撮影することができる。したがって、同じリモコン受信の機能において、リモコンとカメラ用アクセサリとでは、ペアリングできる許容数を別々に設定することが好ましい。すなわち、同一機能であってもペアリングする無線装置40の種類毎に、許容数を記憶できるように、記憶領域の管理および確保を行うことが望ましい。ペアリング要求信号には、機能情報に加えて、送信元の無線装置40の種類を示す情報も含ませることが望ましい。
図7は、ペアリング情報格納部280が格納する情報の一例をテーブル形式で示す。ペアリング情報格納部280は、機能IDに対応づけて、ペアリング相手として現在記憶している機器IDを格納する。機能IDについては図6に関連して説明したので、説明を省略する。機器IDは、ペアリング相手の識別情報として現在記憶している。具体的には、ペアリング要求信号に含まれる送信元IDの値が、機器IDとして記憶される。
ペアリング情報格納部280には、機器IDを記憶する記憶エリアが、各機能につき機能に対応する許容数だけ確保される。図6に関連して説明したように、機能ID1には許容数5が設定されているので、機能ID1に対応する記憶エリアとして5個の記憶エリアが確保される。同様に、機器ID2に対応する記憶エリアとして3個の記憶エリアが確保される。
判断部220において対応機能を有すると判断された場合、メモリ制御部250は、対応機能を示す機能IDに対して確保されたエリアに、機器IDを格納する。対応機能を複数有すると判断された場合、メモリ制御部250は、いずれか1つの対応機能のエリアに機器IDを格納してよい。例えば、カメラ用アクセサリは、他のカメラ用アクセサリからペアリング要求信号を受信した場合に、他のカメラ用アクセサリの機器IDを機能ID1に格納してもよいし、機能ID4に対応するエリアに格納してもよい。
なお、メモリ制御部250は、機器IDが格納されていないエリアが最も多い機能IDを特定して、機器IDが格納されていないエリアが最も多い対応機能のエリアに、機器IDを格納してよい。メモリ制御部250は、複数の対応機能を示す複数の機能IDに対応づけて記憶されている許容数および記憶機器数に基づいて、機器IDが格納されていないエリアが最も多い対応機能を特定することができる。このように、より多くの空きエリアを持つ機能IDに対応するエリアに、より優先して機器IDを格納することによって、ペアリング相手の機器IDの数が許容数に早期に達してしまうことを未然に防ぐことができる。このため、機器IDを格納するエリアを効率的に使用することができる。
なお、各機能に割り当てる許容数は、ペアリング相手として記憶することが期待される機器が多いほど、より多く設定してよい。例えば、リモコン制御についてはリモコンだけでなく他のカメラ用アクセサリとの間でペアリング相手となり得るのに対して、画像送信についてはパーソナルコンピュータだけがペアリング相手となり得る。このため、リモコン受信の機能に対応する許容数を、画像送信の機能に対する許容数より多くしてよい。このため、より多くの機器が有することが期待される機能の対応機能に、より大きい許容数を割り当てることで、ペアリング相手の機器IDの数が早期に許容数に達してしまうことを未然に防ぐことができる。
図8は、通信履歴格納部290に格納される情報の一例をテーブル形式で示す。通信履歴格納部290には、機器IDに対応づけて最終通信日時を格納する。通信履歴格納部290には、ペアリング情報格納部280に格納されている1以上の機器IDに対応づけて、最終通信日時が格納される。したがって、当該機器IDを送信元とするコマンドを受信する毎に、最終通信日時が更新される。
通信先特定部240は、ペアリング情報格納部280に格納されていない機器IDを送信元とするペアリング要求信号を受信した場合に、最も古い最終通信日時に対応づけて通信履歴格納部290に格納されている機器IDを特定する。判断部220は、特定した機器IDに代えて、当該ペアリング要求信号の送信元の機器IDをペアリング情報格納部280に格納すべき旨を判断する。通信履歴格納部290は、通信先特定部240により特定された機器IDに代えて、当該ペアリング要求信号の送信元の機器IDを格納し、ペアリング要求信号を受信した日時を最終通信日時として格納する。このため、ユーザにペアリング相手を手動で削除させることなく、新たなペアリング要求信号を送信した無線装置40を自動的に記憶することができる。
図9は、無線装置40が無線信号を送信する場合の動作フローの一例を示す。本フローは電源ボタンが押し込まれることで電源ONされ、無線信号を送信するための初期化処理等が完了した場合に、開始される。本フローにかかる処理は、特に断らない限り無線通信モジュール200が主体となって実行する。
本フローが開始すると、ステップS902において、無線信号を送信するか否かを判断する。具体的には、受付部230が、送信すべきパケットが存在するか否かを判断する。ここでは分かり易く説明するために、パケットの存在をポーリングで検出するとした。しかし、パケットはメインMPU側から随時に供給されるのでパケットの検出は随時に発生し得る。このため、送信すべきパケットを割込によって検出することが好ましい。
送信すべきパケットが存在すると判断された場合、ステップS904において、当該パケットをペアリング要求信号のパケットであるか否かを判断する。送信すべきパケットがペアリング要求信号のパケットである場合、ペアリング要求信号をブロードキャストで送信する(ステップS906)。すなわち、ペアリング要求信号を不特定の相手先に送信する。
続いて、ステップS908において、ペアリング期間中であるか否かを判断する。例えば、ペアリングボタン80が押し込まれてから定められた期間が経過していない場合に、ペアリング期間中と判断する。ペアリング期間中と判断された場合は、ステップS906でペアリング要求信号の送信を繰り返す。この場合、予め定められた時間間隔でペアリング要求信号が送信されるようにしてよい。ステップS908の判断でペアリング期間中でないと判断された場合は、動作を終了するか否かを判断する(ステップS920)。例えば、メインMPUにおいて電源ボタンが押し込まれることにより電源をOFFにすると判断された場合に、動作を終了すると判断する。動作を終了しないと判断された場合、ステップS902に処理を移行させる。
なお、ステップS904の判断において、送信すべきパケットがペアリング要求信号のパケットでないと判断された場合、他のコマンドを送信し(ステップS912)、ステップS920に処理を進める。ステップS912においては、ペアリング相手としてペアリング情報格納部280に記憶された機器IDを宛先として、対応するコマンドを送信してよい。
図10は、無線装置40が無線信号を受信する場合の動作フローの一例を示す。本フローは、電源ボタンが押し込まれることで電源ONされ、無線信号を受信するための初期化処理等が完了した場合に、開始される。本フローにかかる処理は、特に断らない限り無線通信モジュール200が主体となって実行する。
本フローが開始すると、ステップS1002において、無線信号を受信したか否かを判断する。ここでは分かり易く説明するために、無線信号の受信をポーリングで検出するとした。しかし、無線信号は他の無線装置40から随時に送信されるので無線信号の受信検出は随時に発生し得る。このため、無線信号の受信を割込によって検出することが好ましい。
無線信号を受信した場合、受信したパケットがブロードキャストのパケットであるか否かを判断する(ステップS1004)。ブロードキャストのパケットであると判断された場合、パケットのコマンドを分析する(ステップS1006)。例えば、パケットからコマンドIDを抽出する。
ステップS1008において、受信パケットがペアリング要求であるか否かを判断する。ペアリング要求であると判断された場合、ペアリング期間中であるか否かを判断する(ステップS1010)。具体的には、ペアリングボタン80を押し込まれてから予め定められた時間経過していない場合に、ペアリング期間中と判断する。ペアリング期間中と判断された場合、機能情報を抽出する(ステップS1012)。続いて、ステップS1014において、ペアリング要求信号の送信元の機能に対応する機能を有するか否かを判断する。具体的には、図4等に関連して説明したように、機能情報のビット列と、メモリ部270に記憶されている自身の機能を示すビット列とを比較することにより、対応する機能を有するか否かを判断する。
対応する機能を有すると判断された場合、ペアリング要求信号の送信元IDをペアリング情報格納部280の機器IDとして格納する。これにより、ペアリング相手として記憶される(ステップS1016)。図7に関連して説明したように、複数の対応機能のうちいずれの対応機能の機能IDに対応づけて記憶するかは、現在機器IDが記憶されていない空きエリアの数に基づいて決定してよい。また、対応機能に対応するいずれの機能IDにも空きエリアがない場合は、図8に関連して説明したように、最も古い最終通信日時に対応づけて記憶されている機器IDに代えて、ペアリング要求信号の送信元IDを記憶してよい。
なお、ステップS1016において、ペアリング要求信号の送信元IDをペアリング情報格納部280に格納するとともに、通信履歴格納部290に送信元IDに対応づけて現在時刻を最終通信日時として記憶してよい。また、送信元IDがペアリング相手としてペアリング情報格納部280に既に格納されている場合は、当該送信元IDをペアリング情報格納部280に新たに追加せず、通信履歴格納部290の最終通信日時を現在時刻で更新してよい。また、ペアリング情報格納部280に格納する処理が完了した場合、ペアリング相手として記憶したことをユーザに通知してよい。ペアリング相手として記憶する処理が完了すると、ステップS1050に処理を進める。
ステップS1014においてペアリング要求信号の送信元の機能に対応する機能を有しないと判断された場合、ペアリング情報格納部280に機器IDを格納することなく、ステップS1050に処理を進める。
ステップS1010においてペアリング期間中でないと判断された場合、ペアリング要求信号の送信元が既にペアリング相手として記憶されているか否かを判断する(ステップS1022)。具体的には、ペアリング要求信号の送信元IDが、ペアリング情報格納部280の機器IDとして格納されているか否かを判断する。ペアリング要求信号の送信元が既にペアリング相手として記憶されていると判断された場合、ペアリング済みであることをユーザに通知し(ステップS1024)、ステップS1050に処理を進める。ステップS1022の判断においてペアリング要求信号の送信元が既にペアリング相手として記憶されていないと判断された場合、ステップS1050に処理を進める。
ステップS1008の判断において、ペアリング要求でないと判断された場合、ブロードキャストコマンドに従って、処理を実行する(ステップS1032)。
ステップS1004の判断において、受信した無線信号がブロードキャストのパケットでないと判断された場合、無線信号の宛先IDが自身の機器IDと一致するか否かを判断する(ステップS1042)。宛先IDが自身の機器IDと一致すると判断された場合、パケットの送信元IDがペアリング相手としてペアリング情報格納部280に格納されているか否かを判断する(ステップS1044)。パケットの送信元IDがペアリング相手として格納されていると判断された場合、コマンドを分析する(ステップS1046)。例えば、メインMPUは、パケットのデータ部に含まれるコマンドID等を分析して、実行すべき処理を決定する。続いて、ステップS1048において、メインMPUは、コマンドに従って処理を実行する(ステップS1048)。また、通信履歴格納部290に送信元IDに対応づけて格納された最終通信日時を現在日時で更新する。ステップS1048の処理が完了すると、ステップS1050に処理を進める。
ステップS1042の判断において、無線信号の宛先IDが自身の機器IDと一致しないと判断された場合、ステップS1050に処理を進める。また、ステップS1044の判断において、パケットの送信元IDがペアリング相手の機器IDとして格納されていないと判断された場合、ステップS1050に処理を進める。
ステップS1050において、動作を終了するか否かを判断する。例えば、メインMPUにおいて、電源ボタンが押し込まれることにより電源をOFFにすると判断された場合に、動作を終了すると判断する。動作を終了しないと判断された場合、ステップS1002に処理を移行させる。
以上に説明したように、無線装置40がそれぞれ有する機能を図4に関連して説明したようなビット列で機能情報を記憶して、無線装置40を識別する機器IDと共に、機能情報をペアリング要求信号として送信する。このため、ペアリング許可の判定を行うようにすれば、現在はまだ存在しない無線装置40に対しても将来ペアリングさせることが可能となり、しかも機器の機能毎に定められた許容数を上限として無線装置40とペアリングさせることができる。ペアリングを許容する台数を機能毎に制限することで、ペアリング相手として記憶する記憶領域が不足する可能性を低減することができる。ペアリング相手として記憶している台数が許容数に達している場合は、上述したように最終通信日時が最も古い無線装置40の機器IDがオーバーライトされるが、機能毎に許容数を設定することで、各機能につき少なくとも1台のペアリング相手を記憶し続けることができる。もちろん、ペアリング相手の機器IDを記憶する充分な記憶領域を用意することで、機能別の許容数を設定しない構成を採用することもできる。
このように、カメラシステム5によれば、対応する機能が異なる複数の無線装置40を備える通信システムにおいて、無線装置40同士が無駄にペアリングすることを抑制することができる。カメラシステム5とは異なり、共通の機能を有する無線装置をペアリングするような単純なシステムにおいては、機能を考慮せずに無条件にペアリングしても問題はない。例えば、リモコンの送信機および受信機を備える無線システムや、複数の無線通話器を備える無線システムでは、無条件にペアリングしても問題はない。
しかし、カメラシステム5のように、対応する機能が異なる複数の無線装置40が無線システム内に存在する場合、単純なペアリングをすると不都合が生じる。例えば無線装置40aはリモコン送信の機能だけに対応し、無線装置40dは閃光制御の受信機能だけに対応し、無線装置40bはリモコン受信の機能および閃光制御の指示機能に対応している場合、無線装置40bは無線装置40aおよび無線装置40dの両方とペアリングできる必要があるが、無線装置40aと無線装置40dとはペアリングできないことが望ましい。このように、異なる機能を有する無線装置が混在する無線システムに、単純なペアリング方法を適用すると不都合が生じる。
Bluetooth(登録商標)は、異なる機能を持つ機器に適用できるプロトコルであり、これらの機器間ではいわゆるペアリングも行われる。例えば、Bluetooth(登録商標)では機器の種類ごとにプロトコルが策定される。これらのプロトコルはプロファイルと呼ばれる。通信しようとする機器同士が同じプロファイルを持っている場合に限り、そのプロファイルに従って通信を行うことができる。しかし機器の種類毎にプロトコルを用意する方法では、通信にかかる処理が重く、通信制御プロセッサまたはメインプロセッサにかかる負担も大きい。また1台の機器が複数の機能を有する場合に対応することも容易ではない。
しかし、カメラシステム5によれば、異なる機能を持つ無線装置40が混在する場合に、無線装置40間でもペアリングの可否を適切に判断することができる。また、一旦ペアリングが完了すると、単に送信元IDがペアリング相手として記憶されているか否かを判断するだけでよく、機能をいちいちチェックする必要もない。このため、通信にかかる処理が著しく重くなることもない。
以上に説明したカメラシステム5の無線装置40の処理は、各機器の各部、例えば通信制御MPU210、メインMPU等のプロセッサが、プログラムに従って動作することにより、実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体を読み込むことによって、当該プログラムをロードすることができる。
以上の説明では、無線装置40b〜fについては、他の機器に装着されて使用されるとしたが、これらの無線装置40の機能が機器に予め組み込まれてよいことは言うまでもない。また、複数の機能を有する無線装置40bおよび40cならびに無線装置40fと、単機能の無線装置40a、無線装置40dおよび無線装置40eがシステムの中に存在する、カメラシステム5を取り上げて、各機器の機能および動作の一例を説明した。しかし、カメラシステム5に限らず、オーディオシステム、テレビ等の映像システム等、カメラシステム以外の種々のシステムに適用できることは言うまでもない。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。