(58)【調査した分野】(Int.Cl.,DB名)
前記決定手段が前記第1の周期を決定してもなお、前記第1の通信手段による通信タイミングと前記第2の通信手段による通信タイミングが重なる場合に、前記決定手段は更に、前記第2の通信手段による通信タイミング以外の期間に位置するように前記第1の周期のタイミングを決定し、前記第1の通信手段は、前記決定手段により決定されたタイミングに前記第1の周期のタイミングを変更することを要求するための信号を前記第1の他の装置に送信することを特徴とする請求項2に記載の通信装置。
前記第2の通信手段が前記所定の信号を受信する場合、前記決定手段は、前記第2の通信手段により受信された前記所定の信号に基づいて、前記第1の周期のタイミングを決定することを特徴とする請求項3に記載の通信装置。
前記第2の通信手段が前記所定の信号を送信する場合、前記決定手段は、前記第2の通信手段により送信される前記所定の信号に基づいて、前記第1の周期のタイミングを決定することを特徴とする請求項3に記載の通信装置。
前記第1の無線通信方式は、BLE((Bluetooth Low Energy))に基づく無線通信方式であり、前記第2の無線通信方式は、IEEE802.11axに基づく無線通信方式であり、前記第1の通信手段による通信タイミングは前記第1の他の装置によるBLEデータの送信のタイミングであり、前記第2の通信手段による通信タイミングは、前記第2の他の装置または前記通信装置によるビーコンパケットの送信のタイミングであることを特徴とする請求項1に記載の通信装置。
前記第1の周期と、前記第2の通信手段により周期的に通信されるビーコンパケットの周期である第2の周期の自然数倍との差が所定値より大きいか否かを判定する判定手段と、
前記差が前記所定値より大きい場合に、前記差が前記所定値以下となるように、前記第1の周期を決定する決定手段を更に有し、
前記第1の通信手段は、前記決定手段により決定された周期に前記第1の周期を変更することを要求するための信号を前記第1の他の装置に送信することを特徴とする請求項6に記載の通信装置。
前記決定手段が前記第1の周期を決定してもなお、前記第1の通信手段による通信タイミングと前記第2の通信手段による通信タイミングが重なる場合に、前記決定手段は更に、前記第2の周期の通信タイミング以外の期間に位置するように前記第1の周期のタイミングを決定し、前記第1の通信手段は、前記決定手段により決定されたタイミングに前記第1の周期のタイミングを変更することを要求するための信号を前記第1の他の装置に送信することを特徴とする請求項7に記載の通信装置。
前記第2の通信手段が前記ビーコンパケットを受信する場合、前記決定手段は、前記第2の通信手段により受信された前記ビーコンパケットに基づいて、前記第1の周期のタイミングを決定することを特徴とする請求項8に記載の通信装置。
前記第2の通信手段が前記ビーコンパケットを送信する場合、前記決定手段は、前記第2の通信手段により送信される前記ビーコンパケットに基づいて、前記第1の周期のタイミングを決定することを特徴とする請求項8に記載の通信装置。
【発明を実施するための形態】
【0012】
以下、添付の図面を参照して、本発明をその実施形態の一例に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【0013】
[第1の実施形態]
図1に、第1の実施形態における通信システム10の構成の概略図を示す。図示するように、通信システム10は、カメラ101、制御端末102、アクセスポイント(AP)103、およびサーバ104から構成される。カメラ101は、IEEE802.11ax(以下、802.11ax)通信機能とBLE(Bluetooth Low Energy)通信機能を有する。制御端末102は例えばスマートフォンであり、BLE通信機能を有する。AP103とサーバ104は、802.11ax通信機能を有する。
【0014】
カメラ101は、制御端末102と低消費電力のBLEに基づいて接続し、制御端末102から画像データアップロードや撮影等のリモート制御を受けつける。また、カメラ101は、AP103と、BLEより消費電力が大きい802.11axに基づいて接続し、AP103に対して画像データのアップロード等を行う。BLEと802.11axによる通信は、同一の周波数帯を使用し得る。なお、消費電力の観点から、カメラ101は、サーバ104への画像データのアップロード時を除き、802.11ax通信機能を停止するよう動作してもよい。
【0015】
BLE通信は、BLE親局であるセントラルとBLE子局であるペリフェラル間の通信であり、セントラルが決定した周期(connInterval)毎に行われる。本実施形態では、カメラ101は、BLE子局であるペリフェラル、制御端末102は、BLE親局であるセントラルとして動作する。すなわち、カメラ101は、制御端末102が決定した周期によりBLE通信を行う。なお、後述するように、カメラ101は、802.11ax通信の電波とBLE通信の電波が干渉しないよう、制御端末102に対してBLE通信周期/BLE通信タイミングの変更を要求する。
【0016】
次に、カメラ101の構成ついて
図2を参照して説明する。
図2は、カメラ101の構成の概略図である。カメラ101は、
図2に示すように、制御部201、記憶部202、撮像部203、ユーザインタフェース(UI)204、無線LAN通信部205、BLE通信部206を含んで構成される。
【0017】
制御部201は、例えば、一つ以上のCPUやMPU等のプロセッサー、ASIC(特定用途向け集積回路)、DSP(デジタルシグナルプロセッサー)、FPGA(フィールドプログラマブルゲートアレイ)等により構成される。ここで、CPUはCentral Processing Unitの頭字語であり、MPUはMicro Processing Unitの頭字語である。制御部201は、後述の記憶部202に記憶されたプログラムとOSとの協働によりカメラ101全体を制御する。ここで、OSはOperating Systemの頭字語である。
【0018】
記憶部202は、例えば、ROM、RAMの両方、または、それらのいずれか一方により構成され、後述する各種動作を行うためのプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。ここで、ROMは、Read Only Memoryの頭字語であり、RAMは、Random Access Memoryの頭字語である。なお、記憶部202として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体が用いられてもよい。記憶部202は、例えば、制御部201が実行する制御プログラムを格納するためのROM、及び、制御プログラムを実行するために必要な作業領域として使用するためのRAMを含んで構成される。
【0019】
撮像部203は、CCDセンサやCMOSセンサ等の撮像素子とレンズ等の光学系により構成される。ここで、CCDは、Charged Coupled Deviceの頭文字であり、CMOSは、Complementary Metal Oxide Semiconductorの頭文字である。
【0020】
UI204は、ユーザからの各種操作の受付を行うためのボタン等の入力装置と、ユーザに対して各種出力を行うための液晶ディスプレイや音声/振動等により情報を出力する装置とを含んで構成される。UIは、User Interfaceの頭字語である。なお、UI204は、タッチパネルのように、入力と出力の両方を1つのモジュールで実現するようにした装置によって構成されてもよい。
【0021】
無線LAN通信部205は、802.11ax通信機能を担う。無線LAN通信部205は、802.11ax規格に準拠した変復調回路と無線周波数回路とを含んで構成され、アンテナ207を介して、無線LAN子局であるステーションとして動作するための機能を有する。
【0022】
BLE通信部206は、BLE通信機能を担う。BLE通信部206は、アンテナ208を介して、BLE規格に準拠した変復調回路と無線周波数回路とを含んで構成され、BLE子局であるペリフェラルとして動作するための機能を有する。
【0023】
続いて、カメラ101が実行する本実施形態の処理の流れについて、
図3〜7を参照して説明する。
図3は、カメラ101が制御端末102からBLE通信によるリモート制御により、画像データをサーバ104にアップロードする処理のフローチャート例である。
図3の各ステップは、例えば、カメラ101の制御部201のCPUが、記憶部202に記憶されたプログラムを実行することによって実行される。
【0024】
初期状態では、制御部201は、無線LAN通信部205とBLE通信部206に対して電源供給を停止し、それらの動作を停止させることで消費電力を低減させているものとする。この初期状態から、ユーザがUI204を介してカメラ101に対してBLE起動を指示すると、制御部201はBLE通信部206の電源供給を開始し、BLE通信部206を起動する(S301)。続いて、制御部201は、BLE通信部206に対して、アドバタイズパケット(ADV_IND)の送信開始を指示する(S302)。この指示に応じて、BLE通信部206は、ADV_INDを送信する。BLE規格では、ADV_INDは、アドバタイズイベント毎に、複数のチャネル(37ch(2402MHz)、38ch(2426MHz)、39ch(2480MHz))で送信される。また、BLE規格では、アドバタイズイベントの間隔(ADV_INDの送信間隔)は、20m秒以上10.24秒以下の範囲において、625μ秒の自然数倍となる任意の値に設定可能である。
【0025】
制御端末102は、ADV_INDを受信し、これに応答して、接続要求パケット(CONNECT_REQ)をカメラ101に送信する。ここで、制御端末102のCONNECT_REQ送信は、ユーザによる制御端末102に対する操作により行われるようにしてもよい。また、ユーザ等が予めカメラ101と制御端末102をペアリングする場合は、制御端末102は、カメラ101のアドバタイズパケットを受信すると自動的にCONNECT_REQを送信するようにしてもよい。
【0026】
制御部201は、BLE通信部206が接続要求パケット(CONNECT_REQ)を受信したことを検出すると、BLE接続が確立したものと判断する(S303)。BLE接続確立後は、BLE親局である制御端末102が、コネクションイベント毎にBLE通信を行う。コネクションイベントの周期(制御端末102がカメラ101へBLEデータパケットを送信する周期(connInterval))は、BLE親局である制御端末102により指定される。connIntervalは、例えば、制御端末102の送信するCONNECT_REQ内のIntervalフィールドで指定された値となる。なお、BLE規格では、接続確立後にconnIntervalを変更することが可能である。
【0027】
BLE接続確立後、BLE通信部206が、制御端末102から画像データアップロード指示を受信すると(S304でYES)、制御部201は、無線LAN通信部205の電源供給を開始する。これにより、無線LAN通信部205が起動する(S305)。なお、制御端末102から送信される画像データアップロード指示には、カメラ101がサーバ104にデータ送信を行うために必要となるAP103のSSIDやサーバ104のIPアドレス等の情報が含まれる。SSIDはService Set IDentifierの頭文字である。続いて、制御部201は、無線LAN通信部205をスキャン状態に設定する。その後、無線LAN通信部205は、AP103から送信されたビーコンパケットを受信する(ステップS306)。
【0028】
ここで、ビーコンパケットについて説明する。本実施形態では、AP103は、802.11ax規格に準拠した802.11ax親局として動作する。AP103の送信するビーコンパケットには、ビーコン送信周期(Beacon Interval)に関する情報に加え、802.11ax子局の媒体アクセスタイミングを示すTWT情報が含まれる。TWTとはTarget Wake Timeの頭文字である。
図4に、TWT情報を使用した802.11axの通信動作例を示す。
【0029】
802.11ax規格では、MU−MIMOやOFDMAを用いることで、複数の子局が同時に送受信を行うことで周波数利用効率を高めるマルチユーザ動作が規定されている。ここで、MU−MIMOはMulti User Multiple Input Multiple Outputの頭文字であり、OFDMAはOrthogonal Frequency Division Multiple Accessの頭文字である。
図4に示すように、802.11ax親局(AP)は、所定の周期、すなわちBeacon Intervalで、ビーコンパケット401を周期的に送信する。802.11ax子局(STA1、STA2)は、APから受信したビーコンパケット401に含まれるTWT情報(TWT1、TWT2)により、マルチユーザ動作の開始タイミングを把握する。
【0030】
マルチユーザ動作としては、アップリンク動作とダウンリンク動作が規定されている。アップリンク動作では、TWT1後にAPから送信されたTriggerフレーム402を受信することに応答して、STA1とSTA2は、MU−MIMOまたはOFDMAを使用して同時にデータフレーム403を送信する。APは、データフレーム403の受信に成功すると、確認応答404を送信する。ダウンリンク動作では、TWT2後にAPがSTA1とSTA2に対して同時にデータフレーム405を送信する。STA1とSTA2は、データフレーム405の受信に成功すると、確認応答406をMU−MIMOまたはOFDMAを使用して同時に送信する。
【0031】
STA1とSTA2は、Beacon Intervalにおいて、APから信号を受信せず、また、自身から信号を送信しない間、低消費電力のスリープモードに遷移するよう動作する。すなわち、
図4のSleep407〜409の期間で、STA1とSTA2はスリープ状態となる。
【0032】
図5に、S306の時点でのカメラ101、制御端末102、AP103のそれぞれが送受信する無線信号のタイミングの例を示す。
図5において、カメラ101は、AP103がBeacon Interval毎に送信するビーコンパケット501を受信する。一方、カメラ101は、制御端末102とconnInterval毎にBLEデータパケット502、503を送受信し合う。ここで、802.11ax通信とBLE通信では、それぞれ親局である制御端末102とAP103が独自に通信タイミングを決定している。そのため、ビーコンパケット501とBLEデータパケット502、503は同時に送信されることがあり、干渉が発生し得る。干渉が発生していると、カメラ101は、ビーコンパケット501を正常に受信できるまでスキャン状態を継続する必要があり、消費電力の観点から効率が悪い。本実施形態では、このような干渉の発生を回避するために、カメラ101の制御部201は、以下に説明するように、S307以降の処理を行う。
【0033】
すなわち、制御部201は、まず、受信したビーコンパケット501からBeacon Intervalの情報とTWT(TWT1、TWT2)の情報を得て、connIntervalとBeacon Intervalとを比較する。そして、制御部201は、connIntervalとBeacon IntervalのN倍(Nは自然数)との差分が所定値(DImax)を超えるか否かを判定する(S307)。S307でYesの場合、制御部201は、connIntervalがBeacon IntervalのN倍との差分が所定値以下(DImax以下)となるようなconnIntervalを決定する。続いて、BLE通信部206は、制御端末102に対して、制御部201により決定されたconnIntervalでconnIntervaの変更要求を行う(S308)。すなわち、S307とS308の処理では、connIntervalとBeacon Interval×Nとが略等しくなるように、制御部201が動作する。
【0034】
ここで、S307とS308の処理を、より具体な例を用いて説明する。BLE規格では、connIntervalは、7.5ms以上4s以下かつ1.25msの整数倍の値であることが定められている。一方、802.11規格では、Beacon Intervalは1.024msの整数倍の値であることが定められている。例えば、一つの例において、connInterval=30ms(1.25ms×24)、Beacon Interval=102.4ms(1.024ms×100)、DImax=500μs、N=1とする。この場合、S307では、connIntervalがBeacon IntervalのN倍の差分は72.4msとなるため、処理はS308に進む。そして、S308では、制御部201は、connIntervalがBeacon IntervalのN倍との差分がDImax以下となるように、connInterval=102.5ms(1.25ms×82)と決定する。これを受けて、BLE通信部206は、制御端末102に対して、決定したconnInterval=102.5msでconnInterval変更要求を行う。
【0035】
BLE規格では、connInterval変更要求は、接続パラメータ要求パケット(LL_CONNECTION_PARAM_REQ)を使用して行うことが可能である。より詳細には、BLE通信部206は、Interval_MinフィールドとInterval_Maxフィールドを82(0x52)と設定されたLL_CONNECTION_PARAM_REQを、BLE親局である制御端末102に送信する。
【0036】
制御端末102は、カメラ101から送信されたconnIntervalの変更要求(LL_CONNECTION_PARAM_REQ)を受信する。続いて、制御端末102は、接続更新要求パケット(LL_CONNECTION_UPDATE_REQ)で応答する。
【0037】
正常に接続パラメータ要求パケット(LL_CONNECTION_PARAM_REQ)と接続更新要求パケット(LL_CONNECTION_UPDATE_REQ)の送受信が完了すると、connIntervalが102.5msに変更される。connIntervalは、接続更新要求パケット(LL_CONNECTION_UPDATE_REQ)のInstantフィールドで指定されたタイミングで変更され得る。
【0038】
図6に、S308の処理が完了した後の、カメラ101、制御端末102、AP103の送受信する無線信号のタイミングの例を示す。
図6に示すように、S308の処理が完了した後は、connIntervalとBeacon Intervalが略一致した状態となる。なお、この時点では、BLE通信と無線LAN通信のタイミングはランダムに決定されており、
図6は、BLE通信がマルチユーザアップリンク通信(TWT1とTWT2の間)と重なっている様子を示している。
【0039】
図3に戻り、続くS309では、制御部201は、802.11axのスリープ期間外でBLE通信が行われるか否かを判定する。本実施形態では、制御部201は、802.11axのTWT1により指定されるスリープ期間(
図4のSleep407)外でBLE通信が行われるか否かを判定する。BLE通信がスリープ期間外で行われると判定した場合(S309でYes)、制御部201は、BLE通信タイミングがスリープ期間となるように(802.11axの通信タイミング以外の期間に位置するように)BLE通信タイミングを決定する。これを受けて、BLE通信部206は、制御端末102に対して、決定したBLE通信タイミングでのBLE通信タイミング変更要求を行う(S310)。なお、
図3の例では、S308とS310の要求は別々に行っているが、併せて行ってもよい。
【0040】
BLE通信タイミングの変更要求は、connIntervalと同様に接続パラメータ要求パケット(LL_CONNECTION_PARAM_REQ)を使用することで行われる。接続パラメータ要求パケット(LL_CONNECTION_PARAM_REQ)のOffsetフィールドでタイミングの変更を1.25msの自然数倍で指定することが可能である。
【0041】
制御端末102は、接続パラメータ要求パケット(LL_CONNECTION_PARAM_REQ)を受信すると、これに対して接続更新要求パケット(LL_CONNECTION_UPDATE_REQ)で応答する。これにより、BLE通信タイミングが変更される。
【0042】
図7にS310の処理が完了した後の、カメラ101、制御端末102、AP103の送受信する無線信号のタイミングの例を示す。
図7に示すように、カメラ101と制御端末102は、TWT1により指定されるスリープ期間内でBLE通信が行われる状態となる。なお、上述した例では、Beacon Interval=102.4msに対して、connInterval=102.5msであるため、次第にBLE通信タイミングがスリープ期間外にずれていくこととなる。このため、カメラ101は、以降の処理では、802.11ax通信処理(S314〜S316)が完了するまで、802.11ax通信処理とBLE通信タイミング調整処理(S311〜S312)を並列に実行する。なお、BLE通信タイミング調整処理(S311〜S312)は、S309〜S310と同じ処理であるため、その説明は省略する。
【0043】
S314では、制御部201は、無線LAN通信部205に対して、AP103との無線LAN接続を確立するよう指示する。この指示に応じて、無線LAN通信部205は、AP103との無線LAN接続処理を行う。無線LAN接続確立後、制御部201は、無線LAN通信部205に対して、AP103にマルチユーザアップリンク通信を使用して画像データを送信するよう指示する。この指示に応じて、無線LAN通信部205は、画像データをAP103に送信する(アップロードする)(S315)。そして、画像データのアップロードが完了すると、制御部201は、無線LAN通信部205への電源供給を停止する(S316)。
【0044】
このように、本実施形態では、無線LAN子局かつBLE子局として動作するカメラ101が、802.11axのスリープ期間にBLE通信が行われるよう、BLE親局に要求する。これにより、BLE通信と802.11ax通信との干渉を防ぐことができる。なお、本実施形態では、当該BLE親局への要求は、BLE通信周期と通信タイミングに関するパラメータの変更要求に対応するが、802.11axのスリープ期間にBLE通信を行うための要求であれば、他のパラメータ変更要求であってもよい。
【0045】
また、本実施形態では、カメラ101は、制御端末102に対して、802.11axのTWT1により指定されるスリープ期間(
図4のSleep407)にBLE通信を行うための要求を行った。他の形態として、他のスリープ期間(
図4のSleep408、409)にBLE通信を行うための要求を行うように構成してもよい。
【0046】
また、本実施形態では、カメラ101は無線LAN子局かつBLE子局として動作するものとしたが、無線LAN親局かつBLE子局として動作する場合においても、本実施形態は同様に適用可能である。この場合、カメラ101は、ビーコンパケット受信を行うS306は不要であり、自身の送信するビーコンパケットに基づいてS307〜S315の処理を行うことで、802.11axのスリープ期間にBLE通信を行うよう動作する。
【0047】
また、本実施形態では、無線通信方式として、無線LANとして802.11axを用いるものとして説明したが、本実施形態はこれに限定されるものではない。PCF(Point Coordination Function)等、スケジューリングが行われる無線LAN通信であれば、無線LAN通信期間外にBLE通信タイミングを調整することで、本実施形態と同様に効果を得ることができる。
【0048】
<実施形態2>
実施形態1では、無線LAN子局かつBLE子局として動作するカメラ101が、BLE親局に接続パラメータとして、BLE通信周期とBLE通信タイミングの変更を要求した。実施形態2として、親局と子局の役割を変更するよう要求する実施形態を説明する。すなわち、本実施形態では、カメラ101がBLE親局、制御端末102がBLE子局として動作するよう役割を変更し、BLE親局となったカメラ101がBLE通信周期とBLE通信タイミングを変更する。以下、実施形態1と異なる点について説明し、共通の事項は説明を省略する。
【0049】
本実施形態における役割変更の処理の流れを示すシーケンスチャートを
図8に示す。
図8のシーケンスチャートにおいて、初期状態ではカメラ101はBLE子局、制御端末102はBLE親局として動作しているものとする。この初期状態において、カメラ101は、制御端末102から画像データアップロード指示を受信する(S801)と、制御端末102に役割変更要求を送信する(S802)。制御端末102は、役割変更要求を受信すると、BLEデータパケットの送信を停止し(S803)、ADV_INDの送信を開始する(S804)。一方、カメラ101は制御端末102のBLEデータパケット送信が停止したことを検出すると(S805)、アドバタイズスキャン状態へと遷移する(S806)。そして、カメラ101は制御端末102の送信するADV_INDに対してCONNECT_REQを送信することで、カメラ101をBLE親局、制御端末102をBLE子局としたBLE接続が確立される(S807)。
【0050】
カメラ101はBLE親局となった後、実施形態1と同様に、802.11axの通信期間外であるスリープ期間にBLE通信が行われるようBLE通信周期とBLE通信タイミングを変更する。この変更は、BLE規格に準拠して行う。具体的には、まずカメラ101は、接続パラメータ要求パケット(LL_CONNECTION_PARAM_REQ)を送信する。そして、制御端末102は、接続パラメータ要求パケット(LL_CONNECTION_PARAM_REQ)の内容を確認した後、接続パラメータ応答パケット(LL_CONNECTION_PARAM_RSP)を送信する。カメラ101は、接続パラメータ応答パケット(LL_CONNECTION_PARAM_RSP)に対して接続更新要求パケット(LL_CONNECTION_UPDATE_REQ)を送信することで、BLE通信周期とBLE通信タイミングを変更可能である。
【0051】
このように、以上に説明した実施形態によれば、BLE親局となったカメラ101がマルチユーザアップリンク通信期間外であるスリープ期間にBLE通信が行われるようにBLE通信周期とBLE通信タイミングを変更する。これにより、BLE通信とマルチユーザアップリンク通信との干渉を防ぐことが可能となる。
【0052】
なお、上述の各実施形態ではIEEE802.11axとBLEの通信を例に説明したが、同一の周波数帯を用いる任意の複数の無線通信に適用可能である。例えば、その他のIEEE802.11シリーズやBluetooth(例えばバージョン4.0以外のバージョンのBluetooth)の通信にも適用可能である。ここで、同一の周波数帯とは、周波数の値が完全に一致するものに限定されるのではなく、周波数帯域の少なくとも一部が重なるものや、通信エラーを引き起こす干渉が発生する程度に近接した周波数帯を含むものである。
【0053】
また、上述の各実施形態におけるカメラ101は通信装置の一例であり、スマートフォンやPC、プリンタ、ディスプレイ等のその他の装置であってもよい。
【0054】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。