JP2021096522A - 情報処理装置、制御方法およびプログラム - Google Patents
情報処理装置、制御方法およびプログラム Download PDFInfo
- Publication number
- JP2021096522A JP2021096522A JP2019225758A JP2019225758A JP2021096522A JP 2021096522 A JP2021096522 A JP 2021096522A JP 2019225758 A JP2019225758 A JP 2019225758A JP 2019225758 A JP2019225758 A JP 2019225758A JP 2021096522 A JP2021096522 A JP 2021096522A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- information
- processing device
- notification
- communication device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Printers Characterized By Their Purpose (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】通信相手の装置の自装置に対する相対位置に基づく制御を可能とする情報処理装置を提供する。【解決手段】情報処理装置の周囲に位置する通信装置の情報処理装置に対する相対位置に関する情報を取得し、取得された相対位置に関する情報に基づいて、通知手段による通知情報の出力を制御する。【選択図】図16
Description
本発明は、無線通信が可能な情報処理装置、制御方法およびプログラムに関する。
特許文献1には、Bluetooth通信を用いて、デバイス同士の距離を特定する技術が記載されている。
しかしながら、特許文献1ではデバイス同士の距離を特定することについて記載しているものの、通信相手となる装置の方向を検知することによる制御については考慮されていなかった。
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、通信相手の装置の自装置に対する相対位置に基づく制御を可能とする情報処理装置、制御方法およびプログラムを提供することを目的とする。
上記課題を解決するため、本発明に係る情報処理装置は、通信装置と通信可能な情報処理装置であって、通知情報を出力する通知手段と、前記情報処理装置の周囲に位置する前記通信装置の前記情報処理装置に対する相対位置に関する情報を取得する取得手段と、前記取得手段により取得された前記相対位置に関する情報に基づいて、前記通知手段による前記通知情報の出力を制御する制御手段とを備えることを特徴とする。
本発明によれば、通信相手の装置の自装置に対する相対位置に基づく制御を可能とする。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1実施形態]
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、例えば、携帯型端末としてのスマートフォンが用いられる。しかしながら、これに限定されず、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、例えば、プリンタが用いられる。しかしながら、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯型端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、例えば、携帯型端末としてのスマートフォンが用いられる。しかしながら、これに限定されず、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、例えば、プリンタが用いられる。しかしながら、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯型端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
本実施形態が適用可能なシーンの一例を説明する。例えば、通信装置151であるプリンタは、情報処理装置101であるスマートフォンからの指示により印刷を実行する。ここで、プリンタは、フィーダやフィニッシャ等を有する大型の生産設備型のプリンタである。そして、プリンタには、プリンタの周囲にいるスマートフォンを携帯しているユーザから視認可能な液晶ディスプレイ(もしくは液晶パネル)が設けられている。なお、プリンタは、予め設けられたレールの上を自走可能であり、さらに、液晶ディスプレイは、軸周りに回転可能であり、また、その表示面の角度や高さを調整可能なように構成されている。なお、プリンタは、レール以外を自由に走行する形態でも構わない。プリンタ内部でインク切れ等のワーニングが発生した場合には、液晶ディスプレイにその旨の通知情報が表示される。そのとき、その印刷をスマートフォンにより指示したユーザは、プリンタの周囲にいるとしても、プリンタの筐体のサイズの大きさのため、液晶ディスプレイに対して正対する位置にいるとは限らない。そこで、本実施形態では、ユーザに対して通知情報を液晶ディスプレイに表示する場合には、ユーザの携帯するスマートフォンのプリンタに対する相対位置情報を取得し、その相対位置情報に基づいて液晶ディスプレイの高さや角度を調整する。また、プリンタそのものが自走可能である場合には、スマートフォンの位置に近づくようプリンタそのものを移動させる。また、スマートフォンを携帯するユーザが一定距離以上離れた位置にいる場合には、そのスマートフォンの表示画面に通知情報の内容を表示させる。その際、通知情報の内容がインク交換等のプリンタにおけるユーザ操作を必要とする場合には、通知情報の内容に、プリンタへの接近を促すメッセージを含める。また、ユーザが一定距離以上離れた位置にいる場合には、プリンタの液晶ディスプレイを消灯させる。
このように、本実施形態によれば、ユーザが液晶ディスプレイの正対位置からずれた位置にいたとしても、ユーザ操作を要することなく、液晶ディスプレイの視認性および利便性を向上させることができる。また、ユーザが一定距離以上離れた位置にいる場合には、液晶ディスプレイの省電力化を実現することができる。
なお、以下の説明においては、ユーザが保持する情報処理装置101の位置を、そのユーザの位置と等価なものとして説明する。また、以下の説明においては、まず、本通信システムの各装置の構成について説明し、上記の相対位置情報を取得するための、情報処理装置101と通信装置151の間で行われる通信技術について説明する。その後、上記の一例で示される動作を説明する。
図1は、情報処理装置101と、情報処理装置101と通信可能な通信装置151の構成を示している。まず、情報処理装置101について説明するが、通信装置151と通信を行うことが可能な装置に関して適用可能なものであれば、図示された機能に限定するものではない。
情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部109、近距離無線通信部110を有する。入力インタフェース102は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理的なキーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース107と入力インタフェース102とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。
CPU103は、システム制御部であり、情報処理装置101の全体を制御する。ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを記憶する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、不図示のデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに記憶することができる。また、情報処理装置101の設定情報や情報処理装置101の管理データ等を記憶するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとして用いられる場合がある。
外部記憶装置106は、印刷実行機能を提供するアプリケーション、通信装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム等を記憶している。また、外部記憶装置106は、通信部109を介して接続している通信装置151との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を記憶している。
出力インタフェース107は、表示部108がデータの表示や情報処理装置101の状態の通知を行うための制御を行うインタフェースである。表示部108は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や情報処理装置101の状態の通知を行う。なお、表示部108上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部108を介してユーザからの入力を受け付けても良い。この場合、表示部108が入力インタフェース102の役割を担う。
通信部109は、通信装置151と接続して、データ通信を実行するための構成である。例えば、通信部109は、通信装置151内のアクセスポイント(不図示)に接続可能である。通信部109と通信装置151内のアクセスポイントが接続することで、情報処理装置101と通信装置151は相互に通信可能となる。なお、通信部109は無線通信で通信装置151とダイレクトに通信しても良いし、情報処理装置101や通信装置151の外部に存在する外部アクセスポイント(アクセスポイント131)を介して通信しても良い。無線通信方式としては、例えば、Wi−Fi(WirelessFidelity)(商標登録)やBluetooth(商標登録)である。また、アクセスポイント131としては、例えば、無線LANルータ等の機器などがある。なお、本実施形態において、情報処理装置101と通信装置151とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置101と通信装置151とが外部アクセスポイント131を介して接続する方式をインフラストラクチャー接続方式という。
近距離無線通信部110は、通信装置151と近距離で無線接続してデータ通信を実行するための構成であり、通信部109とは異なる通信方式によって通信を行う。近距離無線通信部110は、通信装置151内の近距離無線通信部157と接続可能である。なお、本実施形態では、近距離無線通信部110の通信方式として、Bluetooth5.1が用いられるものとする。なお、Bluetooth5.1には、Classic Bluetoothと、Bluetooth Low Energy(BLE)の両規格が含まれるが、本実施形態では近距離無線通信部110の通信方式として、BLEが用いられるものとする。
通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157を有する。
通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置101の通信部109に接続可能である。なお、通信部156は無線通信で情報処理装置101とダイレクトに通信しても良いし、アクセスポイント131を介して通信しても良い。通信方式としては、例えば、Wi−Fi(商標登録)やBluetooth(登録商標)である。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。
近距離無線通信部157は、情報処理装置101と近距離で無線接続するための構成である。本実施形態では、近距離無線通信部157の通信方式として、Bluetooth5.1が用いられるものとする。より具体的には、本実施形態では近距離無線通信部157の通信方式として、BLEが用いられるものとする。
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、不図示のデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに記憶することができる。また、通信装置151の設定情報や通信装置151の管理データ等を記憶するメモリエリアもRAM153に設けられている。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられ、情報処理装置101等から受信した印刷情報を一旦記憶するための受信バッファとして機能したり、各種の情報を記憶する。ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを記憶する。本実施形態では、ROM152に記憶されている各制御プログラムは、ROM152に記憶されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
CPU154は、システム制御部であり、通信装置151の全体を制御する。プリントエンジン155、RAM153に記憶された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を用いて用紙等の記録媒体上に画像形成し、印刷結果を出力する。この時、情報処理装置101等から送信される印刷ジョブは、送信データ量が大きく、高速な通信が求められるため、近距離無線通信部157よりも高速に通信可能な通信部156を介して受信する。
なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置151に記憶される情報は、当該メモリに記憶されても良い。また、通信装置151は、接続設定処理により接続モードが設定され、設定された接続モードに基づいた接続形態により、情報処理装置101と通信を行う。通信装置151は、インフラストラクチャー接続により通信を行う場合は、接続モードとしてインフラストラクチャー接続モードが設定され、ダイレクト接続により通信を行う場合は、接続モードとしてダイレクト接続モードが設定される。
出力インタフェース158は、音声出力装置(スピーカ)160及び表示部161がデータの出力や通信装置151の状態の通知を行うための制御を行うインタフェースである。表示部161は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの出力や通信装置151の状態の通知を行う。なお、表示部161上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部108を介してユーザからの入力を受け付けても良い。この場合、表示部161が入力インタフェースの役割を担う。なお、図1では不図示であるが、通信装置151が別途入力インタフェースを備えていても良い。また、スピーカ160は、指向性スピーカでも良いし、無指向型のスピーカでも良い。指向性スピーカの場合は、出力される向きと範囲がCPU154の制御により変更可能である。また、スピーカ160の出力量(音量)もCPU154の制御により変更可能である。
駆動制御部159は、CPU154の制御により、出力インタフェース158を介してスピーカ160や表示部161の機構を制御する。スピーカ160や表示部161の機構とは、それらの各デバイスの高さや角度を調整するための機構である。駆動制御部159は、例えば軸周りの回転量や昇降量を制御パラメータとして、スピーカ160や表示部161の機構を制御する。さらに、駆動制御部159は、通信装置151自体の移動も制御する。例えば、通信装置151自体が床上に設けられたレール上をスライド可能な場合(即ち、自走可能)には、駆動制御部159は、移動量を制御パラメータとして、通信装置151の移動を制御する。
本実施形態では、一例として情報処理装置101と通信装置151との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。例えば、図1の情報処理装置101と通信装置151の内部の構成は、逆の構成であっても良いし、同じ構成であっても良い。例えば、情報処理装置101がプリンタであり、通信装置151がスマートフォン等の携帯型端末であっても良い。その場合は、図1の情報処理装置101がプリントエンジン155を含むことになり、通信装置151のスピーカ160および表示部161、駆動制御部159の構成が情報処理装置101側に含まれることになる。また、その場合、例えば、情報処理装置101の表示部やスピーカは、CPU103の制御により、その角度、高さが調整される。
本実施形態では、情報処理装置101は、ROM104や外部記憶装置106等の記憶領域に所定のアプリケーションを記憶しているものとする。所定のアプリケーションとは、例えば、情報処理装置101内の画像データや文書データ等を印刷させるための印刷ジョブを、通信装置151に送信するためのアプリケーションプログラムである。このような機能を有するアプリケーションを、以降、「印刷アプリ」という。なお、印刷アプリは、印刷機能以外に、他の機能を備えていても良い。例えば、印刷アプリは、通信装置151がスキャン機能を備えている場合に、通信装置151にセットされた原稿をスキャンさせる機能や、通信装置151の他の設定を行う機能、通信装置151の状態を確認する機能等を備えていても良い。即ち、印刷アプリは、印刷ジョブ以外に、スキャンジョブや設定ジョブを通信装置151に送信する機能を有していても良い。また、所定のアプリケーションは、印刷アプリに限定されず、印刷以外の機能を備えているアプリケーションプログラムであっても良い。
また、本実施形態では、近距離無線通信部110および近距離無線通信部157はBLEによって通信を行うものとして説明する。なお、本実施形態では、近距離無線通信部157が、後述のアドバタイズ情報をブロードキャストするアドバタイザ(又はスレーブ)として機能し、近距離無線通信部110が、アドバタイズ情報を受信するスキャナ(又はマスタ)として機能する。また、通信部109および通信部156は無線LAN(Wi−Fi)によって通信を行うものとして説明する。
ここで、BLE規格におけるアドバタイズ情報の送信及びBLE接続要求の受信の処理について説明する。本実施形態では、上述したように近距離無線通信部157がスレーブ機器として動作するため、近距離無線通信部157が上記処理を行うものとする。近距離無線通信部157は、2.4GHzの周波数帯を40チャネル(0〜39ch)に分割して通信を行う。近距離無線通信部157は、そのうち、37〜39番目のチャネルをアドバタイズ情報の送信やBLE接続要求の受信に利用し、0〜36番目のチャネルをBLE接続後のデータ通信に利用している。
図2では、縦軸が近距離無線通信部157の消費電力を示し、横軸が時間を示しており、1つのチャネルを利用してアドバタイズ情報を送信する際の消費電力を各処理別に示している。Tx205は、アドバタイズ情報をブロードキャストする処理である送信処理における総消費電力を、Rx206は、BLE接続要求を受信するための受信器を有効にしておく処理である受信処理における総消費電力を示している。送信電力207は送信処理による瞬間消費電力を示している。また、受信電力203は受信処理による瞬間消費電力を示している。また、マイコン動作電力201は、近距離無線通信部157内のマイコンが動作している場合の瞬間消費電力を示している。なお、Tx205とRx206の前後や間にもマイコンが動作しているのは、送信・受信処理の実行や停止のためには事前にマイコンが起動している必要があるからである。また、アドバタイズ情報の送信を複数チャネルで行う場合は、アドバタイズ情報の送信を行うチャネルの数だけ消費電力が増えることになる。また、マイコンが動作を行っておらず、近距離無線通信部157が省電力状態となっている間は、スリープ電力204が近距離無線通信部157の瞬間消費電力となる。このように、近距離無線通信部157は、所定のチャネルを用いて送信処理を行った後、同一のチャネルを用いて一定時間受信処理を行うことで、情報処理装置101からBLE接続要求が送信されるのを待つ。
また、近距離無線通信部157は、図3に示すように、アドバタイズ情報の送信処理と受信処理を、チャネル別に3回繰り返した後、マイコンの動作を停止させ一定時間省電力状態になる。以下、所定のチャネルによるアドバタイズ情報の送信処理と受信処理の組み合わせをアドバタイズと言う。また、所定のチャネルによってアドバタイズ情報を送信する時間間隔をアドバタイズ間隔という。なお、1回目のアドバタイズを行ってから省電力状態になるまでに繰り返すアドバタイズの回数は、3回以下であれば任意に変更可能である。また、図3ではアドバタイズ時のチャネルは37番目のチャネル、38番目のチャネル、39番目のチャネルの順番で順次使用している。しかしながら、この順番はランダムであってもよく、順番は1回目のアドバタイズと2回目のアドバタイズ、3回目以降のアドバタイズとでそれぞれ異なっていてもよい。
図9は、近距離無線通信部157が通信装置151の周辺にブロードキャストするアドバタイズ情報の構造の一例を示す図である。近距離無線通信部157は、電力の供給が開始されると初期化処理を行い、アドバタイジング状態となる。近距離無線通信部157は、アドバタイジング状態となると、アドバタイズ間隔に基づいて定期的にアドバタイズ情報を周辺にブロードキャストする。アドバタイズ情報とは、基本的なヘッダ情報(当該アドバタイズ情報を送信する装置を識別するための識別情報等)を含む信号であり、ヘッダ901とペイロード902を含んで構成される。情報処理装置101は、このアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。さらに、情報処理装置101は、通信装置151にBLE接続要求を送信することで通信装置151とBLE接続することができる。ヘッダ901は、アドバタイズ情報のタイプやペイロード902の大きさの情報などが格納される領域である。ペイロード902は、識別情報としてのデバイス名903や搭載プロファイル情報、通信装置151とBLE接続するための接続情報904、アドバタイズ情報の送信電力(Tx Power)905等の情報が格納される。なお、通信装置の識別情報906をアドバタイズ情報に含めても良い。通信装置の識別情報906としては、通信装置151のMACアドレスや、通信装置151のサービス情報、通信装置151内のアクセスポイントのSSID、パスワード等が該当する。
本実施形態では、近距離無線通信部157は、通信装置151の電源がONになった場合にアドバタイジング状態となり、アドバタイズ情報の送信を開始するものとする。ただし、近距離無線通信部157がアドバタイズ情報の送信を開始するタイミングは、上述の形態に限定されず、例えば、BLE機能を有効にするための所定の操作が行われたタイミング等であっても良い。
なお、例えば近距離無線通信部157が、まず第1アドバタイズ情報を送信し、第1アドバタイズ情報に対するスキャンレスポンスを情報処理装置101から受け取った場合、第1アドバタイズ情報と内容が異なる第2アドバタイズ情報を送信する形態でも良い。第1アドバタイズ情報は、例えば、アドバタイズ情報の送信電力に関する情報や近距離無線通信部157の識別情報等を含むものとする。そして、第2アドバタイズ情報は、例えば、通信装置151の識別情報や、通信装置151が備えている機能やハードウェアに関する情報等を含むものとする。このような形態の場合、情報処理装置101の印刷アプリは、第2アドバタイズ情報をハンドリングするものとして設計される。そのため、以下の説明において印刷アプリがハンドリングするアドバタイズ情報は、第2アドバタイズ情報であるものとする。
図6は、通信装置151内の近距離無線通信部157が送信するアドバタイズ情報を用いて、情報処理装置101が通信装置151の方向を検知する機能を説明するためのブロック図である。情報処理装置101内の近距離無線通信部110はアンテナ601とアンテナ602とアンテナ603を備え、通信装置151内の近距離無線通信部157はアンテナ604とアンテナ605とアンテナ606を備える。なお、近距離無線通信部110と近距離無線通信部157に備わっているアンテナの本数はこの限りではない。アンテナの本数は1本もしくは2本、あるいは4本以上であってもよい。また、近距離無線通信部110と近距離無線通信部157に備わっているアンテナの本数はそれぞれで異なっていてもよい。また、図6では、近距離無線通信部110と近距離無線通信部157に備わっているアンテナは直線上に配置されているよう記載したが、アンテナの配置はこの限りではない。
図5は、情報処理装置101に通信装置151との距離、及び通信装置151が位置する方向を検知させるために、通信装置151内の近距離無線通信部157が送信するアドバタイズ情報の構造の一例である。Constant Tone Extension(CTE)は、情報処理装置101に対する通信装置151の方向を検知するために使用されるデータである。Preamble501は、情報処理装置101が通信装置151のアドバタイズ情報を受信する際のクロック同期用のデータである。Access−Address502は、情報処理装置101が通信装置151のアドバタイズ情報を受信する際のフレーム同期用のデータである。PDU503は、通信装置151が送信するアドバタイズ情報における実データ部分である。なお、図9で示すアドバタイズ情報であるヘッダ901とペイロード902は、PDU503の中に含まれる情報である。CRC504はPDU503の通信時の誤り検出符号値である。
情報処理装置101と通信装置151との間の距離は、通信装置151からブロードキャストされるアドバタイズ情報に含まれるアドバタイズ情報の送信電力(Tx Power)905と、その受信強度とに基づいて検知される。
以下、情報処理装置101が通信装置151の方向を推定する手法について説明する。また、以下の説明は、通信装置151が情報処理装置101の方向を推定する手法についても同様に適用される。
情報処理装置101が通信装置151の方向を推定する手法は、(1)近距離無線通信部110(受信側)が複数のアンテナを有する場合に実現される手法と、(2)近距離無線通信部157が複数のアンテナを有する場合に実現される手法とに分類される。
これらの手法のうちの(1)の手法を、図7を用いて説明する。図7の構成では、受信側装置である近距離無線通信部110の複数のアンテナを用いて、それぞれのアンテナへ到来した際の電波の位相差に基づいて、近距離無線通信部110が、受信した電波の到来角を推定する。以下では、到来角(Angle of Arrival)をAoAと呼ぶ場合がある。
図7において、近距離無線通信部157は、アンテナ604を用いて、CTE505を含んだ無線フレーム(AoA Radio Signal703)によってアドバタイズ情報を送信する。近距離無線通信部110は、複数のアンテナ(アンテナ601とアンテナ602の両方)でこの無線フレームを受信する。このとき、アンテナ601とアンテナ602のアンテナ間距離701がd1であり、AoA702がθであったとする。この場合、アンテナ601で受信される電波は、アンテナ602で受信される電波より、d1×cos(θ)だけ長い距離を経て受信される。このため、電波の波長をλとすると、アンテナ601で受信される電波の位相は、アンテナ602で受信される電波の位相より、
ψ1=2π×(d1×cos(θ)/λ) ・・・(1)
だけ遅れることとなる。ここで、ψ1は、アンテナ602で受信される電波の位相と、アンテナ601で受信される電波の位相との差である。式(1)から、AoA702は、
θ=arccos((ψ1×λ)/(2π×d1)) ・・・(2)
のように算出することができる。したがって、情報処理装置101は、式(2)のような計算を行うことにより、通信装置151の方向を推定することができる。
ψ1=2π×(d1×cos(θ)/λ) ・・・(1)
だけ遅れることとなる。ここで、ψ1は、アンテナ602で受信される電波の位相と、アンテナ601で受信される電波の位相との差である。式(1)から、AoA702は、
θ=arccos((ψ1×λ)/(2π×d1)) ・・・(2)
のように算出することができる。したがって、情報処理装置101は、式(2)のような計算を行うことにより、通信装置151の方向を推定することができる。
続いて、上述の手法のうちの(2)の手法を、図8を用いて説明する。図8の構成では、送信側装置である近距離無線通信部157の複数のアンテナから、それぞれ異なる期間において、CTE505を含んだ無線フレーム(AoD Radio Signal803)によってアドバタイズ情報が送信される。例えば、図8(A)に示すように、アンテナ604によるAoD Radio Signal803の送信期間が設定され、その直後にアンテナ605によるAoD Radio Signal803の送信期間が設定されたものとする。この場合、近距離無線通信部157においては、アンテナ604によるAoD Radio Signal803の送信とアンテナ605によるAoD Radio Signal803の送信との間に、無信号区間は発生しない。一方、近距離無線通信部110は、これらの無線信号を図8(B)のような形式で受信し得る。すなわち、アンテナ605から送信された信号は、アンテナ604から送信された信号より長い経路を経て、遅れて近距離無線通信部110に到来するため、これらの信号の間に無信号区間が生じる。また、アンテナ605が先に信号を送信した場合は、アンテナ605から送信された信号の全てが近距離無線通信部110に到着する前に、アンテナ604から送信された信号が近距離無線通信部110に届くことになる。また、アンテナ604の信号送信期間の完了後に所定長の無信号区間を設定し、アンテナ605からの信号送信期間を設定した場合、近距離無線通信部110において受信される無線信号においては、その無信号区間が所定長より長く観測される。同様に、アンテナ605の信号送信期間の完了後に所定長の無信号区間を設定し、アンテナ604からの信号送信期間を設定した場合、近距離無線通信部110において受信される無線信号においては、その無信号区間が所定長より短く観測される。このように、複数のアンテナからそれぞれ送信された信号は、近距離無線通信部110においてそれぞれの経路長に応じたタイミングのずれとして観測される。なお、タイミングのずれの観測のために、どのアンテナからどのタイミングで信号が送信されるかのスケジューリングの情報が、(例えば近距離無線通信部157又は他の装置から)事前に近距離無線通信部110に通知される。
なお、受信タイミングのずれは、受信信号の位相のずれに対応する。例えば、図8の例では、アンテナ605から送信された信号は、アンテナ604から送信された信号より、d2×cos(φ)だけ長い経路を経て、近距離無線通信部110に到来する。ここで、d2は、アンテナ604とアンテナ605との間のアンテナ間距離801である。この経路長の差により、光の伝搬速度をcとすると、d2×cos(φ)/c秒の受信タイミングずれが発生するが、同時に
ψ2=2π×d2×cos(φ)/λ ・・・(3)
だけの位相差が発生する。なお、λは、上述のように、電波の波長である。また、φは、近距離無線通信部157と近距離無線通信部110とを結ぶ直線と、アンテナ604とアンテナ605とを結ぶ直線とのなす角である。なお、このなす角は、Angle of Departureと呼ばれ、以下では、AoD802と表記する。近距離無線通信部110は、例えば、近距離無線通信部157から送信された複数の信号のうちの1つ目に受信された信号を基準として、相関検出を行うことなどによって、位相差ψ2を特定することができる。そして、近距離無線通信部110は、式(3)から、その位相差ψ2を用いて、AoD802を
φ=arccos((ψ2×λ)/(2π×d2)) ・・・(4)
のように算出することができる。なお、近距離無線通信部110は、事前に、近距離無線通信部157又は他の装置から、アンテナ間距離d2の情報を取得しておく。近距離無線通信部110は、AoD802を式(4)のように算出することにより、近距離無線通信部157から見た近距離無線通信部110の方向を特定することができる。また、近距離無線通信部110は、アンテナ604とアンテナ605が、どのように配置されているかを知ることにより、AoD802に基づいて、電波が到来した方向を推定することができる。すなわち、アンテナ604がアンテナ605の西側に配置されており、AoD802が45°と推定された場合、近距離無線通信部110は、南東方向から電波が到来したと推定することができる。さらに、近距離無線通信部110は、電波の受信強度とその電波の送信電力とから、近距離無線通信部157との距離を推定することができ、これにより、近距離無線通信部157との位置関係を認識することができる。また、近距離無線通信部110は、近距離無線通信部157が配置されている位置の情報を取得することにより、自装置の位置を高精度に推定することができる。
ψ2=2π×d2×cos(φ)/λ ・・・(3)
だけの位相差が発生する。なお、λは、上述のように、電波の波長である。また、φは、近距離無線通信部157と近距離無線通信部110とを結ぶ直線と、アンテナ604とアンテナ605とを結ぶ直線とのなす角である。なお、このなす角は、Angle of Departureと呼ばれ、以下では、AoD802と表記する。近距離無線通信部110は、例えば、近距離無線通信部157から送信された複数の信号のうちの1つ目に受信された信号を基準として、相関検出を行うことなどによって、位相差ψ2を特定することができる。そして、近距離無線通信部110は、式(3)から、その位相差ψ2を用いて、AoD802を
φ=arccos((ψ2×λ)/(2π×d2)) ・・・(4)
のように算出することができる。なお、近距離無線通信部110は、事前に、近距離無線通信部157又は他の装置から、アンテナ間距離d2の情報を取得しておく。近距離無線通信部110は、AoD802を式(4)のように算出することにより、近距離無線通信部157から見た近距離無線通信部110の方向を特定することができる。また、近距離無線通信部110は、アンテナ604とアンテナ605が、どのように配置されているかを知ることにより、AoD802に基づいて、電波が到来した方向を推定することができる。すなわち、アンテナ604がアンテナ605の西側に配置されており、AoD802が45°と推定された場合、近距離無線通信部110は、南東方向から電波が到来したと推定することができる。さらに、近距離無線通信部110は、電波の受信強度とその電波の送信電力とから、近距離無線通信部157との距離を推定することができ、これにより、近距離無線通信部157との位置関係を認識することができる。また、近距離無線通信部110は、近距離無線通信部157が配置されている位置の情報を取得することにより、自装置の位置を高精度に推定することができる。
また上述では、情報処理装置101と通信装置151のどちらか一方の装置が複数のアンテナを使用する実施形態について述べたが、この限りではない。両方の装置がともに複数のアンテナを用いてもよい。
また、上述では、情報処理装置101が、1台の通信装置151の方向を検知する形態について述べたが、この限りではない。情報処理装置101が、2台以上の通信装置151の方向を検知しても良い。また、情報処理装置101は、2台以上の通信装置151の方向を検知し、それぞれの検知データを参照することで、1台の通信装置151の方向を検知する形態と比較し、高精度に、装置間の距離や方向、位置を検知することができる。
ここで、BLE規格におけるGATT(Generic Attribute Profile)通信の概要について説明する。GATTとは、BLE規格において情報の読み書き(送受信)を司るプロファイルである。
GATT通信においては、データの転送元と転送先に基づいて、GATTクライアントとGATTサーバの2つのロールが定義されている。GATTクライアントは、GATTサーバにリクエストを送信し、GATTサーバからの応答を受信する。ここでは、情報処理装置101がGATTクライアントとなる。GATTクライアントは、GATTサーバの近距離無線通信部内の記憶領域に保持されている情報の読み取り(リード)及び、当該記憶領域に対する情報の書き込み(ライト)を実行することが出来る。GATTサーバは、GATTクライアントからの要求を受信すると、GATTクライアントに対して応答を返す。ここでは、通信装置151がGATTサーバとなり、情報処理装置101がGATTクライアントとして説明する。通信装置151がGATTクライアントとなり、情報処理装置101がGATTクライアントとなる場合も、その説明を適用可能である。なお、GATTサーバは、GATTサーバの状態情報等の情報を記憶するデバイスとして動作する。
次に、GATTのデータ形式について説明する。GATTのデータは、図11に示すような階層構造を持っており、サービス、キャラクタリスティック、ディスクリプタと呼ばれる3つの要素を含んで構成される。ただし、ディスクリプタは存在していなくても良く、本実施形態では、近距離無線通信部157が構成するGATTデータにはディスクリプタは存在しないものとする。サービス、キャラクタリスティック、ディスクリプタは32桁で表現されるUUID(Universally Unique Identifier)で識別することができる。ここで言う、UUIDとは、ソフトウエア上でオブジェクトを一意に識別するための識別子として使用されるものである。UUIDは128ビットの数値だが、通常は16進数で550e8400−e29b−41d4−a716−446655440000のように表現される。なお、サービス、キャラクタリスティック、ディスクリプタには、Bluetooth SIG の標準で定義されているものやベンダー固有のもの等がある。ベンダー固有のもののUUIDは、上述のように32桁で表現されるが、Bluetooth SIG の標準で定義されているもののUUIDについては4桁で表現される。すなわち、例えば、Bluetooth SIG の標準で定義されているもののUUIDは、2A49のように表現される。
サービスは、GATTのデータ中のアトリビュートを共通区分ごとにグループ化したものであり、各サービスには1以上のキャラクタリスティックが含まれる。キャラクタリスティックには、キャラクタリスティック毎に単一の値が設定されている。ディスクリプタは、キャラクタリスティックに付加情報が必要な際に用いられる属性値が設定されている。サービス、キャラクタリスティック、ディスクリプタには、それぞれ、GATTクライアントにリードやライトを許可するか否かを示す設定値であるリード・ライトの属性を設定することが出来る。
GATTクライアントは、サービス、キャラクタリスティックそれぞれのUUIDを指定することで、指定したキャラクタリスティックに設定されている値に対して、リード・ライトを実行することが出来る。ただし、リード・ライトが実行できるか否かは、各サービス、キャラクタリスティックに設定されているリード・ライト属性に基づく。
近距離無線通信部157によって構築されているGATTデータの例を、図12に示す。図12のGATTデータにおいて、「Service UUID」は、各サービスに割り振られているUUIDを示す。「Service名」は、各サービスの名前を示す。「Charactaristic UUID」は、各キャラクタリスティックに割り振られているUUIDを示す。「Charactaristic名」は、各キャラクタリスティックの名前を示す。「Service リード可能」は、各サービスに関する値を情報処理装置101がリード(読み取り)可能か否かを示す。「Service ライト可能」は、各サービスに関する値を情報処理装置101がライト(書き込み)可能か否かを示す。「Charactaristic リード可能」は、各キャラクタリスティックに関する値を情報処理装置101がリード可能か否かを示す。「Charactaristic ライト可能」は、各キャラクタリスティックに関する値を情報処理装置101がライト(書込み)可能か否かを示す。「Charactaristic インディケイト可能」は、各キャラクタリスティックに関する値を通信装置151が更新した場合に情報処理装置101へインディケイト(通知)可能か否かを示す。「ペアリング必要」は、各キャラクタリスティックに関する値をペアリング済みでなければ情報処理装置101にライトもしくはリードを許可しないか否かを示す。情報処理装置101は、「Service リード可能」がリード可能(○)を示し且つ「Charactaristic リード可能」がリード可能を示(○)している場合、対応するキャラクタリスティックに関する値を読み取ることができる。また、情報処理装置101は、「Service リード可能」がリード可能(○)を示し且つ「Charactaristic リード可能」がリード不可能(空欄)を示している場合、対応するキャラクタリスティックに関する値を読み取ることができない。「値」は、各キャラクタリスティックに設定された値を示す。また、「ペアリング必要」がペアリング不要(空欄)を示している場合、情報処理装置101は、通信装置151とペアリングをしていない状態でも、対応するキャラクタリスティックに関する値を読み書きすることができる。一方、「ペアリング必要」がペアリング必要(○)を示している場合、情報処理装置101は、通信装置151とペアリングをしている状態でなければ、対応するキャラクタリスティックに関する値を読み書きすることができない。
本実施形態では、情報処理装置101と通信装置151間で認証を行い、装置間でGATT通信によりデータの読み書きを実行するためのペアリング処理を実施する。情報処理装置101と通信装置151間でのペアリングが実行されていない状態では、通信装置151は、GATT通信による情報の読み書きを許可しない構成とする。このようにすることで、ペアリングを行っていない情報処理装置101と通信装置151が通信を行ってしまい、例えば、通信装置151が保持する情報がペアリングを行っていない情報処理装置101に不用意に取得されてしまうことを防ぐことができる。なお、本実施形態では、ペアリングを行っていない状態で許可されるGATT通信と、ペアリングを行っていない状態では許可されないGATT通信とがあるものとする。秘匿性の低い情報は、ペアリングを行っていない状態で許可されるGATT通信で通信可能とすることで、通信の利便性を向上させることができる。一方、秘匿性の高い情報は、ペアリングを行っていない状態では許可されないGATT通信でのみ通信可能とすることで、通信のセキュリティを向上させることができる。
ペアリング処理の詳細について説明する。まず、情報処理装置101は、前述の印刷アプリが起動され、印刷アプリを介してユーザからペアリング処理の実行指示を受け付けた場合、特定の装置情報を有するアドバタイズ情報のサーチを開始する。なお、特定の装置情報とは、例えば、印刷アプリに対応する装置(プリンタ等)のUUIDやMACアドレス等である。そして、情報処理装置101は、特定の装置情報を有するアドバタイズ情報を受信すると、特定の装置情報を有するアドバタイズ情報の送信元の装置のリストを表示部に表示し、ペアリング対象となる装置の選択をユーザから受け付ける。ここでは、通信装置151が選択されたものとして説明する。
そして、情報処理装置101は、ペアリング対象となる装置の選択を受け付けた場合、セキュリティーマネージャプロトコルによる通信により、通信装置151に、ペアリング要求を送信する。なお、ペアリングが終了するまで、装置間の通信は、セキュリティーマネージャプロトコルによって行われるものとする。通信装置151は、ペアリング要求を受信すると、表示部161に、図4(a)に示すようなPINコード表示画面400を表示する。PINコード表示画面400には、PINコード401と、ペアリング処理をキャンセルするためのCancelボタン402が表示される。そして、情報処理装置101は、ペアリング要求を送信すると、表示部108に、図4(b)に示すようなPINコード入力画面410を表示する。PINコード入力画面410には、ユーザによるPINコード401の入力を受け付けるためのPINコード入力領域411と、入力されたPINコード401を通信装置151に送信するためのOKボタン413が表示される。また、PINコード入力画面410には、ペアリング処理をキャンセルするためのCancelボタン412が表示される。PINコード入力領域411にPINコード401が入力された状態で、OKボタン413が押下されると、情報処理装置101は、入力されたPINコード401を含む情報を通信装置151に送信する。通信装置151は、受信した情報に含まれるPINコード401が、PINコード表示画面400に表示したPINコード401と一致するか否かを判定し、一致すると判定した場合は、情報処理装置101にペアリングを許可する。具体的には、通信装置151は、PINコード401をもとに所定の方法で作成されたリンクキー(認証情報)を、BLE規格のSMP(Security Manager Protocol)を利用して情報処理装置101と交換する。交換されたリンクキーは、情報処理装置101の持つ記憶領域(ROM104等)と通信装置151の持つ記憶領域(ROM152等)にそれぞれ保存される。これによりペアリングが完了し、以降、装置間でBLE通信を実行することが許可される。なお、通信装置151は、ペアリングが完了すると、PINコード表示画面400を非表示とし、元の画面を再度表示する。
ペアリング完了後は、情報処理装置101は、通信装置151に対してGATT通信要求を送信する際には、ペアリング処理時に記憶領域に保存したリンクキーを通信装置151に通知する。通信装置151は、GATT通信要求を受信した場合、ペアリング処理時に記憶領域に保存したリンクキーと通知されたリンクキーを比較して、GATT通信要求を発信している装置が、ペアリング済みの装置であるかを確認する。そして、通信装置151は、ペアリング済みの装置であると確認できた場合は、情報処理装置101とのGATT通信による情報の読み書きを開始する。これにより、情報処理装置101は、一旦通信装置151とのペアリング処理を完了しておけば、以降はユーザによるPINコードの入力なしに通信装置151とのGATT通信を実行することができる。なお、上述では、PINコード入力領域411に、PINコード表示画面400に表示されているPINコード401をユーザに入力させる形態を説明したが、この形態に限定されない。例えば、PINコード401を固定の(ユーザが任意に変更できない)情報とし、印刷アプリのインストールと共に情報処理装置101に格納される形態とすることで、ユーザの入力なしにPINコード401が通信装置151に通知される形態としてもよい。また、ペアリング処理が開始されるタイミングも上述の形態に限定されず、例えば、印刷アプリを介してユーザが印刷を指示したタイミングや、接続設定処理においてBLE接続が行われる前のタイミング等であっても良い。
また、情報処理装置101が表示するPINコード入力画面410は、印刷アプリによって表示されなくとも良い。例えば、情報処理装置101は、設定用アプリケーション(以降、設定用アプリ)を有していても良い。設定用アプリとは、OSにより実行される機能に関する設定を行うためのアプリーションプログラムである。設定用アプリは、例えば、OSが情報処理装置101にインストールされる一連の処理において一緒にインストールされたり、情報処理装置101の着荷時にOSと一緒に予め情報処理装置101にインストールされたりしているアプリーションプログラムである。情報処理装置101は、通信装置151とペアリングを行う際に、設定用アプリを起動させて印刷アプリをバックグラウンドに遷移させ、設定用アプリにより表示されるBluetooth設定画面に対するペアリングのための入力をユーザから受け付けても良い。
また上述では、PINコード入力式のペアリング方法について説明したが、ペアリングの方法は、上述の方法に限定されない。以下に、PINコード入力式以外のペアリング方法について説明する。情報処理装置101は、通信装置151が保持している情報である、鍵シードと呼ばれる情報を、BLE接続を介して通信装置151から取得する。そして、情報処理装置101と通信装置151は、それぞれが予め認識している法則に従って、鍵シードからリンクキーを生成する。生成されたリンクキーは、情報処理装置101の持つ記憶領域(ROM104等)と通信装置151の持つ記憶領域(ROM152等)にそれぞれ保存される。すなわち、情報処理装置101と通信装置151は、同じリンクキーをそれぞれが保持することとなる。このようにしてリンクキーを生成し、当該リンクキーを用いたGATT通信が可能となることで、通信装置151と情報処理装置101との間の認証が行われ、ペアリング処理が完了する。ペアリング処理が完了した後は、情報処理装置101と通信装置151との間の通信において、リンクキーに基づいて暗号化した情報が通信される。情報処理装置101と通信装置151は、リンクキーに基づいて暗号化された情報を受信した場合、自身が保持するリンクキーを用いて暗号化を解除することで、暗号化される前の情報を認識することができる。
図13は、情報処理装置101と通信装置151との間におけるBLE通信を説明するためのシーケンス図である。なおこの処理シーケンスが示す通信装置151の処理は、CPU154が、ROM152又は通信装置151が備えるHDD(不図示)に記憶されている制御プログラムをRAM153にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す情報処理装置101の処理は、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムをRAM105にロードし、その制御プログラムを実行することで実現される。
以下の説明において、通信装置151は、所定の間隔でアドバタイズ情報を送信するアドバタイザであるものとする。また、情報処理装置101は、周辺にあるアドバタイザから送信されるアドバタイズ情報を待ち受けるスキャナであるものとする。まず、通信装置151内の近距離無線通信部157は、アドバタイズ情報の送信を行う(S1301〜S1303)。情報処理装置101は、近距離無線通信部110が近距離無線通信部157から送信されたアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。
情報処理装置101は、通信装置151を認識し、通信装置151と接続することを決定したら、接続要求情報を通信装置151に送信する。具体的には、近距離無線通信部110が、BLEによるネットワーク接続を確立する接続イベントに遷移するための要求であるCONNECT_REQを送信する(S1304)。近距離無線通信部157がCONNECT_REQを受信すると、情報処理装置101及び通信装置151は、接続イベントに遷移する準備をする。具体的には、近距離無線通信部110及び近距離無線通信部157が、それぞれCPU103及びCPU154にGATT通信のための接続処理が完了した旨を通知する。
その後、情報処理装置101及び通信装置151はそれぞれスキャナとアドバタイザからマスタとスレーブに遷移し、マスタである情報処理装置101とスレーブである通信装置151は、GATT通信のための接続(BLE接続)を確立する。なお、BLE規格では、マスタは、スレーブと「1:多」のスター型のトポロジーを形成することができる。情報処理装置101と通信装置151は、BLE接続を確立したら、以後、GATT通信方式によってデータ通信を行うことができる。
さて、情報処理装置101は、GATT通信により通信装置151のGATTデータにアクセスする前に、通信装置151がどのような構成のGATTデータを有しているかを取得する必要がある。GATTデータの構成とは例えば、GATTデータ内のサービスの数、キャラクタリスティックの数、それぞれのUUIDの値やリードの可否を示す属性等である。GATTデータの構成を情報処理装置101が取得する構成のことをディスカバリと呼ぶ。
そこで情報処理装置101は、S1304でBLE接続が確立された後に、S1305で、ディスカバリを開始する。具体的には情報処理装置101は、通信装置151のGATTデータの構成を示す情報を要求するためのディスカバリ要求を通信装置151へと送信する。これにより、ディスカバリ要求の応答として、通信装置151は、情報処理装置101へGATTデータの構成を示す情報を送信する。GATTデータの構成を示す情報を受信した情報処理装置101は、通信装置151のGATTデータ内の、ハッシュ値が格納されている領域を特定し、ハッシュ値のリードを行う。なおハッシュ値は、図12のCharacteristic UUIDが0x2B2AのDatabase Hashキャラクタリスティックに格納されている値である。通信装置151は、Database Hashキャラクタリスティックの値として、通信装置151があらかじめGATTデータの構成から算出したハッシュ値を格納している。すなわちハッシュ値とは、通信装置151のGATTデータの構成に応じて一意に定められる値である。
なお、情報処理装置101は、過去に情報処理装置101がBLEによって接続したことがある端末からリードしたハッシュ値を、情報処理装置101が備えるメモリ(ROM104等)に格納している。そこでS1306で、情報処理装置101は、S1305でリードしたハッシュ値が、過去にリードしたハッシュ値(情報処理装置101が備えるメモリに格納されているハッシュ値)と一致するものがあるかを比較する。すなわち情報処理装置101は、通信装置151が、過去に情報処理装置101がBLEによって接続したことがある端末か否かを判定する。このとき情報処理装置101は、ハッシュ値だけでなく、通信装置151のMACアドレスなどの個体識別情報等の他の情報を判定条件に加えてもよい。
S1306でNOと判定された場合、情報処理装置101は、通信装置151のGATTデータの残りの構成を把握するために、ディスカバリを継続する。そのためS1307で情報処理装置101は、通信装置151のGATTデータの構成を示す情報を要求するためのディスカバリ要求を通信装置151へと送信する。当該要求を受け付けた通信装置151は、S1308で、情報処理装置101へGATTデータの構成を示す情報を送信する。なお、ディスカバリ要求の送受信及びGATTデータの構成を示す情報の送受信は、GATTデータ内のサービス、キャラクタリスティック、ディスクリプタの数の分だけ繰り返される。そのため、S1309では、GATTデータの構成を示すすべての情報の送信が完了されるまで、ディスカバリ要求の送受信及びGATTデータの構成を示す情報の送受信が繰り返される。
GATTデータの構成を示すすべての情報の送信が完了されると、S1310で、情報処理装置101は、通信装置151のGATTデータの構成をキャッシュとして情報処理装置101が備えるメモリに格納する。このとき情報処理装置101は、通信装置151のGATTデータの構成のキャッシュと通信装置151から得たハッシュ値とを対応付けてメモリへの格納を行う。なお情報処理装置101は、通信装置151のMACアドレスなどの個体識別情報等の他の情報をさらに対応付けてメモリへの格納を行ってもよい。
なお、S1306でYESと判定された場合、情報処理装置101は、通信装置151のGATTデータの構成を既にキャッシュしていることになるため、S1307〜S1310までの処理を省略しても良い。
通信装置151のGATTデータの構成を取得することにより、以降、情報処理装置101は、通信装置151との任意のGATT通信を実行することが可能となる。そのため、情報処理装置101は、S1311で、通信装置151との任意のGATT通信を実行する。
GATT通信が完了した後、情報処理装置101は、S1312にて、解放要求を送信する。解放要求を受け取った通信装置151は、S1313にて解放応答を送信し、装置間のBLE接続を終了する。装置間のBLE接続が終了すると、情報処理装置101と通信装置151はそれぞれスキャナとアドバタイザに戻り、通信装置151は、アドバタイズ情報の送信を再開する。
図10は、情報処理装置101と通信装置151とが、BLE通信方式によってネットワーク接続を行う場合のシーケンス図である。ここでは、ハンドオーバーによってジョブの送受信を行う場合を例にして説明する。なお、ハンドオーバーとは、通信を行うそれぞれの装置が、まず近距離通信方式によって高速通信方式による通信を行うための接続情報をやり取りした後、高速通信方式に切り替えてデータの送受信を行う技術である。本実施形態では、近距離通信方式としてBLEを、高速通信方式としてWi−Fiを用いている。GATT通信(装置間でBLE接続を確立することによって可能となる双方向通信)の通信速度は、Wi−Fi通信と比較して低速である。そのため、GATT通信では装置間の認証やWi−Fi通信のための接続情報のやり取り等を行い、通信速度の速いWi−Fi通信で容量の多いデータ(ここではジョブ)の転送を行うことで、効率的なデータ転送を図ることができる。なお、ハンドオーバーにおいて利用される通信方式は、上述の形態に限定されず、近距離通信方式及び高速通信方式として種々の通信方式が利用されて良い。例えば、NFC通信やWi−Fi Aware通信にてWi−Fi通信のための接続情報をやり取りし、その後Wi−Fi通信にてデータのやり取りを行うような構成としても良い。
なお、この処理シーケンスが示す通信装置151の処理は、CPU154が、ROM152又は通信装置151が備えるHDD(不図示)に記憶されている制御プログラムをRAM153にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す情報処理装置101の処理は、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムをRAM105にロードし、その制御プログラムを実行することで実現される。
以下の説明において、通信装置151は、所定の間隔でアドバタイズ情報を送信するアドバタイザであるものとする。また、情報処理装置101は、周辺にあるアドバタイザから送信されるアドバタイズ情報を待ち受けるスキャナであるものとする。まず、近距離無線通信部157は、アドバタイズ情報の送信を行う(S1001〜S1003)。情報処理装置101は、近距離無線通信部110が近距離無線通信部157から送信されたアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。
情報処理装置101は、通信装置151を認識し、通信装置151と接続することを決定したら、接続要求情報を通信装置151に送信する。具体的には、近距離無線通信部110が、BLEによるネットワーク接続を確立する接続イベントに遷移するための要求であるCONNECT_REQを送信する(S1004)。近距離無線通信部157がCONNECT_REQを受信すると、情報処理装置101及び通信装置151は、接続イベントに遷移する準備をする。具体的には、近距離無線通信部110及び近距離無線通信部157が、それぞれCPU103及びCPU154にGATT通信のための接続処理が完了した旨を通知する。その後、情報処理装置101及び通信装置151はそれぞれスキャナとアドバタイザからマスタとスレーブに遷移し、マスタである情報処理装置101とスレーブである通信装置151は、GATT通信のための接続(BLE接続)を確立する。なお、BLE規格では、マスタは、スレーブと「1:多」のスター型のトポロジーを形成することができる。情報処理装置101と通信装置151は、BLE接続を確立したら、以後、GATT通信方式によってデータ通信を行うことができる。なお、GATT通信とは、BLE接続を確立した後にGATTプロファイルを用いて行われる通信であり、それぞれの装置の近距離無線処理部を介して行われる通信である。また、通信装置151は、BLE接続を確立した場合、アドバタイズを停止しても良いし、送信するアドバタイズ情報の内容を切り替えても良い。具体的には通信装置151は、受信した装置が接続要求を送信可能なアドバタイズ情報(ADV_IND)から、受信した装置が接続要求を送信できないアドバタイズ情報(ADV_SCAN_INDやADV_NONCONN_IND)に切り替えても良い。
その後、S1005では、近距離無線通信部110は、近距離無線通信部157に対して、通信装置151が利用可能な通信プロトコルの情報を要求する。この要求には情報処理装置101が利用可能な通信プロトコルの情報が含まれており、近距離無線通信部157は、この要求を受信することで、情報処理装置101がWi−Fi等の通信方式を利用可能であることを認識することができる。近距離無線通信部157は、S1006において、S1005で受け取った要求に対して、自身の利用可能な通信プロトコルの情報を応答する。これによって互いの装置は、BLE以外の互いの利用可能な通信プロトコルを把握することができる。
ここで、BLE以外の互いの利用可能な通信プロトコルを把握することにより、装置間の通信をWi−Fi通信に切り替えることが情報処理装置101によって決定されたとする。なお、このとき、通信方式の切り替えを行うか否かは通信装置151が決定しても良い。通信方式の切り替えが決定された場合、S1007およびS1008にて、それぞれの装置は、通信相手を特定するアドレスの情報やSSIDの情報等の、Wi−Fiで通信を行うために必要な通信情報を交換する。その後S1009にて、近距離無線通信部110は、装置間の通信方式をGATT通信からWi−Fi通信へと切り替える要求(通信切り替え要求)を送信する。近距離無線通信部157は、切り替えの要求を受信すると、S1010にて応答を行う。
切り替えの要求と応答が正しく行われたら、S1011では、情報処理装置101は、通信装置151との通信に利用する通信部を近距離無線通信部110から通信部109へ切り替える。さらに、S1012では、通信装置151は、情報処理装置101との通信に利用する通信部を近距離無線通信部157から通信部156へ切り替える。切り替えを行った後、S1013にて、近距離無線通信部110は解放要求を送信する。解放要求を受け取った近距離無線通信部157は、S1014にて解放応答を送信し、装置間のBLE接続を終了する。装置間のBLE接続が終了すると、情報処理装置101と通信装置151はそれぞれスキャナとアドバタイザに戻り、近距離無線通信部157は、アドバタイズ情報の送信を再開する。
その後、それぞれの装置は、S1007およびS1008で交換したWi−Fi通信を行うために必要な情報を利用し、Wi−Fi通信を行う。まずS1015では、通信部109は、通信装置151がジョブの取得が可能かを通信部156に確認をする。ここでは、例えば、通信装置151に転送しようとする画像を一時保存するための空き容量の情報などが確認される。通信部156は、確認の要求を受け取った後、S1016にて確認に対する応答を送信する。
正しい応答が得られ、通信装置151がジョブの取得が可能であると判断した場合、S1017にて、通信部156は、ジョブを要求する。その後、ジョブの要求を受けた通信部109は、S1018にて情報処理装置101に存在する画像データ等を含むジョブを通信部156に対して送信する。なお、このとき送信するジョブの選択は、例えば、BLE接続が確立する前やBLE接続が確立した後、Wi−Fi接続が確立した後等のタイミングで行われる。また、送信されるジョブは、印刷ジョブに限らず、例えば、通信装置151にスキャンを指示するためのスキャンジョブや情報処理装置101が通信装置151の状態の情報を取得するためのジョブ等であっても良い。また、例えば通信装置151の設定の変更等、通信装置151に対する各種操作を実行するためのコマンド等であっても良い。なお、情報処理装置101は、ジョブの送信が完了した場合、通信装置151とのWi−Fi接続を切断して、ハンドオーバー直前のネットワーク状態に戻る。具体的には、例えば情報処理装置101は、ハンドオーバーを実行する前に、3GやLTE等の移動体通信網やルータ等のアクセスポイントに接続していた場合は、当該移動体通信網やアクセスポイントへの接続を再度確立する。そのため、情報処理装置101は、ハンドオーバーを実行する前に、ハンドオーバー直前のネットワーク状態の情報及び、当該ネットワーク情報を確立するために必要な通信情報等を保持しておく。
このように、ハンドオーバー技術を用いることで、ユーザビリティの高い通信方式(近距離通信方式)によって、高速通信方式で通信するための接続情報をやり取りし、その後、高速通信方式によって、容量の大きいデータのやり取りを高速で行うことができる。
なお、ハンドオーバーによってGATT通信からWi−Fi通信へ通信方式の切り替えが行われた場合、装置間のBLE接続は切断されるため、近距離無線通信部157は、アドバタイズ情報の送信を再開する。
なお、ハンドオーバーによってGATT通信からWi−Fi通信へ通信方式の切り替えが行われた場合、装置間のBLE接続は切断されるため、近距離無線通信部157は、アドバタイズ情報の送信を再開する。
以下、本実施形態が適用されるシーンの一例を用いて説明した動作について説明する。なお、以下の動作においては、情報処理装置101を可動式の液晶ディスプレイが設けられたプリンタとし、通信装置151をスマートフォン等の携帯型端末として説明する。まず、情報処理装置101が通知したい情報の対象となるユーザが携帯する通信装置151を特定する手順を説明する。
図14は、本実施形態を実現するための通信システムの全体構成の一例を示す図である。この通信システムは、液晶ディスプレイ1401が搭載された情報処理装置101と、複数の通信装置151、171、181、および情報処理装置101と複数の通信装置を接続するアクセスポイント131を含んで構成される。通信装置171と181の構成は通信装置151と同じである。液晶ディスプレイ1401は、図1の情報処理装置101の内部構成を通信装置151とした場合の表示部161に対応している。
図15は、情報処理装置101が複数の通信装置から、情報を通知したいユーザの通信装置をBLE通信によって特定し、液晶ディスプレイ1401に通知情報を表示するまでの処理全体を表したフローチャートである。通知情報が複数ある場合は、図15の通知情報の表示処理を繰り返す。なお、S1504の通知処理は、液晶ディスプレイ1401に情報を表示する処理であり、その詳細については後述する。
まず、図15のS1501において、CPU103は、ユーザに通知すべき情報(通知情報)が存在するかを判定する。ここで、通知情報とは、情報処理装置101で発生したエラーやワーニングに関する情報やアプリケーションタスクの状態通知などである。通知情報が存在しないと判定された場合は、図15の処理を終了する。
S1501で通知情報が存在すると判定された場合、S1502において、CPU103は、情報処理装置101とBLE通信している通信装置が存在するかを確認し、確認できた場合にはその通信装置を使用しているユーザを特定する。ユーザの特定は、例えば、通信装置の固有情報とユーザIDとが対応づけられた情報に基づいて行われる。そのような情報は、ROM104等の記憶領域に格納されているようにしても良い。通信装置の存在確認には、情報処理装置101と通信装置がBLE接続しているかだけでなく、他の要素に基づいて行われても良い。例えば、情報処理装置101とのBLE通信に特定のアプリケーションを使用しているか、BLEにおける距離を検知する機能情報から情報処理装置101と通信装置との距離が閾値より近いか遠いかなどの情報に基づいて、総合的に判定される。S1502で、情報処理装置101とBLE通信している通信装置が存在しないと判定された場合、もしくは、通信装置が存在してもその通信装置に対応するユーザが特定できない場合は、図15の処理を終了する。ユーザが特定できない場合とは、例えば、ゲストアカウントなど不特定なユーザでログインしていた場合である。
S1502で通信装置が存在し且つその通信装置に対応するユーザが特定された場合、S1503において、CPU103は、通知情報をその特定されたユーザに通知可能であるか判定する。S1503の判定は、通知情報の属性に基づいて行われる。例えば、ユーザの個人情報やパスワードなどの機密情報を含むメッセージを通知する場合、特定されたユーザが個人情報や機密情報を所有するユーザでない場合にはメッセージを通知可能でないと判定する。一方、情報処理装置101に故障等の重大な問題が発生し、すぐに対処が必要な場合は、BLE接続している通信装置のユーザであれば、どのユーザが特定されても通知を行うと判定する。通知情報を特定されたユーザに通知可能でないと判定される場合とは、例えば、通知情報が当該特定されたユーザ以外の機密情報である場合、特定されたユーザに対する通知情報がない場合、通知情報に紐づくユーザが特定できない場合である。通知情報を特定されたユーザに通知可能でないと判定された場合には、図15の処理を終了する。
S1503で通知情報を特定されたユーザに通知可能であると判定された場合、S1504において、情報処理装置101に搭載された液晶ディスプレイ1401上に通知情報を表示するための処理を行う。S1504の通知処理については後述する。
S1504で情報処理装置101に搭載された液晶ディスプレイ1401に通知情報が表示されると、S1505において、必要に応じて、その通知情報に従った情報処理装置101のユーザ操作が行われる。ユーザ操作とは、例えば、ワーニングを解除するためのメンテナンス操作である。ユーザ操作中もしくはユーザ操作終了後、S1506において、CPU103は、他の通知すべき情報(第2の通知情報)が存在するかを判定する。第2の通知情報とは、例えば、S1501で存在すると判定された通知情報のうち、S1504で通知した以外の通知情報である。そのような第2の通知情報は、当該ユーザに対して通知するもの、当該ユーザと異なる他のユーザに対して通知するものを含む。S1506で第2の通知情報が存在しないと判定された場合、S1507において、CPU103は、終了処理を行う。S1507の終了処理については後述する。S1507の後、図15の処理を終了する。
S1506で第2の通知情報が存在すると判定された場合、S1508において、CPU103は、S1502で特定されたユーザに対して、第2の通知情報を通知可能であるかを判定する。S1508の判定については前述のS1503と同様である。S1508で第2の通知情報を通知可能であると判定された場合は、S1504からの処理を繰り返す。一方、第2の通知情報を通知可能でないと判定された場合は、S1502からの処理を繰り返す。その際、S1505のユーザ操作がまだ行われている場合には、そのユーザ操作の終了後にS1502からの処理が繰り返される。つまり、第2の通知情報を通知可能でないと判定された場合には、現在特定されているユーザへの通知処理を終了し、S1502からの処理において、他の通信装置に対応するユーザに対する通知処理を行う。
図16は、前述したS1504の通知処理を示すフローチャートである。図15のS1503までに通知情報とユーザが特定されており、当該ユーザに対し、液晶ディスプレイ1401に通知情報を表示する。ここで、情報処理装置101にBLE接続している通信装置151、171、181のうち、図15のS1502で特定されたユーザが携帯する通信装置を通信装置151とする。
まず、S1601において、CPU103は、情報処理装置101とユーザが携帯する通信装置151が予め定められた一定距離内にあるかを、図7及び図8で説明したBLEにおける距離、方向、位置を検知する機能により判定する。予め定められた一定距離とは、通信装置151を持つユーザが液晶ディスプレイ1401の画面に表示された内容を確認可能な距離の内側にいるか、外側にいるかである。そのような距離、視野角の情報は、視野情報としてROM104等の記憶領域に格納されている。例えば、ユーザが液晶ディスプレイ1401の背面に立っていた場合は、視野角の外にいるため、液晶ディスプレイ1401の画面に表示された内容を確認することができない。このような場合は一定距離外にいると判定する。また、視野角内にいたとしても、ユーザと液晶ディスプレイ1401の距離が閾値より遠く、画面に表示された文字やアイコンが確認できないと判断される場合、CPU103は、一定距離外にいると判定する。また、情報処理装置101が自走しても到達できない場所にいる場合も、CPU103は、一定距離外にいると判定する。
S1601で一定距離内にいないと判定された場合、S1602において、CPU103は、通知情報をユーザが持つ通信装置151の画面上に表示させる。例えば、CPU103は、通知情報を表示するための表示データを通信装置151に対して表示コマンドとともに送信する。S1602の処理後の動作は、通知情報の属性に応じて以下のように分岐する。
例えば、情報処理装置101がインクジェットプリンタの場合、インクの残量が少なくなったことを通知するのであれば、ユーザの持つ通信装置151の画面に、「インク残量少(Ink Low)」といった内容の通知情報を表示させる。この場合、すぐにインクジェットプリンタの動作に影響を与えることがなく、インクジェットプリンタを操作して処置する必要がない。そのため、S1602の処理後、図16及び図15の処理を終了する。
一方、通知情報が「インク残量なし(Ink Out)」や「紙詰まり(Paper Jam)」の場合、インクジェットプリンタの動作に影響を与えるため、すぐにインクジェットプリンタを操作して処置する必要がある。この場合、ユーザの持つ通信装置151の画面には、「インクジェットプリンタに近づいてください」等、情報処理装置101に近接する旨の情報を表示し、ユーザが情報処理装置101に近づくよう促す。ここで、通信装置151の画面に表示する通知情報は、通信装置151の画面の大きさに応じて、内容を異ならせるようにしても良い。例えば、通信装置151がスマートフォンの場合、画面が大きく、ある程度の情報を表示できるため、50〜100文字程度で表示する。一方、通信装置151がスマートウォッチやスマートグラスの場合、画面が小さいため、20文字程度にまとめた内容を表示する。
情報処理装置101と通信装置151が一定距離外のためS1602に遷移した場合、ユーザから情報処理装置101の液晶ディスプレイ1401の通知情報は視認できない。この場合、液晶ディスプレイ1401やそのバックライトを点灯させていると消費電力の無駄になる。従って、S1602に遷移した場合は、CPU103は、省電力機能により、液晶ディスプレイ1401やそのバックライトを消灯する処理を行っても良い。若しくは、通知情報の内容に応じて、情報処理装置101本体のスリープやシャットダウンを行っても良い。その場合、スリープやシャットダウンを行う旨を通信装置151に表示させる内容に含めても良い。
S1601で情報処理装置101とユーザが持つ通信装置151が一定距離内にいると判定された場合、S1603に進む。また、ユーザがS1602で通信装置151の画面に表示された情報に促されて情報処理装置101の一定距離内に近づいた結果、S1601で一定距離内にいると判定された場合にも、S1603に進む。
S1603において、CPU103は、情報処理装置101が自走可能であるかを判定する。自走可能であると判定された場合、S1604において、CPU103は、BLEにおける距離、方向、位置を検知する機能を用いて、ユーザが液晶ディスプレイ1401を視認しやすい位置に最大限近づくよう、情報処理装置101を移動させる。視認しやすい位置とは、例えば、ユーザと液晶ディスプレイ1401が正対する位置である。一方、S1603で情報処理装置101が自走可能でないと判定された場合は、S1604の処理を行わず、S1605に進む。
情報処理装置101が自走可能であるとは、例えば、情報処理装置101自身が車輪等の駆動によりレール上を移動可能であることである。S1603では、ユーザと液晶ディスプレイ1401が正対する位置を目標位置として情報処理装置101の移動が行われるが、目標位置に到達不可であると判断される場合には、移動可能な範囲内で目標位置に最も接近可能な距離まで移動が行われる。
S1605において、CPU103は、液晶ディスプレイ1401の角度と高さの調整可能範囲内にユーザ(即ち、対応する通信装置151)がいるかを、BLEにおける距離、方向、位置を検知する機能により判定する。調整範囲内にいると判定された場合、S1606において、CPU103は、ユーザが液晶ディスプレイ1401を視認しやすい位置(例えば、ユーザと液晶ディスプレイ1401が正対する位置)に、液晶ディスプレイ1401の角度と高さを調整する。S1605で液晶ディスプレイ1401の角度と高さの調整可能範囲内にいないと判定された場合は、S1606の処理を行わず、S1607に進む。また、S1606では、ユーザと液晶ディスプレイ1401が正対する位置を目標位置として調整が行われるが、目標位置に到達不可である場合には、調整可能量内で最大調整可能分の調整が行われる。
S1607において、CPU103は、図15のS1501で存在すると判定された通知情報を液晶ディスプレイ1401に表示する。この時、S1604での情報処理装置101の移動やS1606での液晶ディスプレイ1401の角度・高さの調整によっても、ユーザが液晶ディスプレイ1401に対し、ユーザが斜め横の位置(例えば、視野角境界位置)に立っている状況があり得る。そのような状況がBLEにおける距離、方向、位置を検知する機能から確認された場合、CPU103は、液晶ディスプレイ1401のコントラストを、例えばより濃くなるよう調整する。調整を行うことにより、ユーザは、液晶ディスプレイ1401を視認しやすくなる。また、BLEにおける距離を検知する機能から、ユーザと液晶ディスプレイ1401を計測し、距離に応じて、液晶ディスプレイ1401の画面に表示する文字やアイコン等、画像のサイズを調整するようにしても良い。S1607の後、図16の処理を終了する。
なお、S1602において通信装置151の画面上に通知すべき情報や情報処理装置101への近接を促す旨の情報を表示していた場合は、通信装置151の画面上からこれらの情報を消す。これは、S1607の処理に至った時点で、ユーザは直接、液晶ディスプレイ1401に表示されている内容を直接見ることができるためである。
次に、S1507の終了処理について説明する。図17は、S1507の終了処理を示すフローチャートである。終了処理は、通知情報が液晶ディスプレイ1401に表示され、ユーザが液晶ディスプレイ1401に表示された情報に基づいて情報処理装置101を操作した後、通知情報の通知がすべて行われた時点で、図15の処理を終了するために行う処理である。
S1701において、CPU103は、すべての通知情報が液晶ディスプレイ1401に表示された後、液晶ディスプレイ1401およびそのバックパネルが点灯されているか消灯しているかを判定する。ここで、消灯していると判定された場合は、図17の処理を終了する。一方、点灯していると判定された場合は、S1702において、CPU103は、情報処理装置101とユーザが携帯する通信装置151との相対距離を、BLEにおける距離、方向、位置を検知する機能および電波強度から計測する。そして、CPU103は、その計測結果に基づいて、情報処理装置101とユーザが携帯する通信装置151とが一定距離以上に離れたかを判定する。S1702で一定距離以上に離れたと判定された場合、S1703において、CPU103は、液晶ディスプレイ1401およびバックパネルを消灯し、図17の処理を終了する。一定距離以上に離れていないと判定された場合、S1703の処理を行わず、図17の処理を終了する。
以上のように、本実施形態によれば、ユーザが液晶ディスプレイの正対位置からずれた位置にいたとしても、ユーザ操作を要することなく、液晶ディスプレイの視認性および利便性を向上させることができる。また、ユーザが一定距離以上離れた位置にいる場合には、液晶ディスプレイの省電力化を実現することができる。
[第2実施形態]
以下、第1実施形態と異なる点について第2実施形態を説明する。第1実施形態では、1人のユーザに対して通知情報を表示するケースについて説明した。なお、このケースとは、1人のユーザしか存在しないケースも複数のユーザから1人が選択されたケースも含む。本実施形態では、情報処理装置101に複数の液晶ディスプレイが搭載されている場合や、液晶ディスプレイが分割表示可能な画面の場合を想定する。即ち、本実施形態では、同時に複数のユーザに対して通知情報を表示可能な構成を想定している。
以下、第1実施形態と異なる点について第2実施形態を説明する。第1実施形態では、1人のユーザに対して通知情報を表示するケースについて説明した。なお、このケースとは、1人のユーザしか存在しないケースも複数のユーザから1人が選択されたケースも含む。本実施形態では、情報処理装置101に複数の液晶ディスプレイが搭載されている場合や、液晶ディスプレイが分割表示可能な画面の場合を想定する。即ち、本実施形態では、同時に複数のユーザに対して通知情報を表示可能な構成を想定している。
図18は、本実施形態を実現するための通信システムの全体構成の一例を示す図である。図18に示す構成は、情報処理装置101に複数の液晶ディスプレイ1401及び1402が構成され、液晶ディスプレイの画面が画面1801、1802、1803、1804と分割可能な点で図14と異なる。図18では、情報処理装置101に搭載された液晶ディスプレイは2枚、分割画面数は各液晶ディスプレイにつき2画面となっている。しかしながら、液晶ディスプレイが3枚以上、分割画面数が3画面以上でも良く、また、各液晶ディスプレイで画面分割数が異なっていてもよい。
図19は、同時に複数ユーザに対して通知情報を表示するためのフローチャートである。本実施形態では、液晶ディスプレイおよび分割画面をまとめて通知部と呼ぶ。まず、S1901において、CPU103は、液晶ディスプレイの枚数、各液晶ディスプレイの画面の分割数に基づいて、通知部の数を特定する。例えば、液晶ディスプレイの数が3枚、各液晶ディスプレイの分割画面数が3画面、1画面(分割機能なし)、2画面とすると、通知部の数は6として特定される。
次に、S1902において、CPU103は、通知情報を表示する通知部を決定する。例えば、CPU103は、上記の6つの通知部の中から、通知情報を表示する通知部を1つ選択する。S1903において、CPU103は、情報処理装置101内に通知情報が存在するか、存在する場合は情報処理装置101とBLE通信している通信装置が存在するか、通信装置のユーザは特定可能か、通知情報は当該ユーザに対して通知可能かを確認する。即ち、S1903では、図15のS1501〜S1503の処理が行われ、S1902で選択された通知部と、通知情報と、通信装置を持つユーザとが関連付けられる。図19の処理の開始後、最初に行われるS1902及びS1903は、ユーザ数分について繰り返し行われる。
S1903の後、S1904において、各通知部について第1実施形態と同様に図15のS1504の処理が行われる。その結果、本実施形態では、複数のユーザに対して同時に表示される。そのため、図16のS1604及びS1606では、複数のユーザそれぞれに対して各通知部が目標位置(ユーザへの正対位置)に概ね近づくような移動および調整が行われる。例えば、ユーザA〜Fの6人の中心位置を目標位置としてS1604での情報処理装置101の移動が行われ、S1606において各通知部の調整が行われるようにしても良い。なお、情報処理装置101の移動方法としては、例えば、ユーザAが最も視認しやすい位置に情報処理装置101が移動し、次にユーザBが最も視認しやすい位置に情報処理装置101が移動する。この移動処理をユーザFまで行っても良い。このような移動方法が行われる場合は、各位置に応じて、角度、コントラスト、画面サイズ等が調整される。また、調整が行われた結果、依然として、各通知部の位置が対応するユーザに対する正対位置の条件を満たさない場合には、コントラスト調整、画像サイズの調整等の画像調整を行うようにしても良い。
S1904で各通知部上に通知情報が表示された後、S1905において、CPU103は、S1904で通知された通知情報以外に通知すべき情報(第3の通知情報)が存在するかを判定する。第3の通知情報とは、例えば、S1903で存在すると判定された通知情報のうち、S1904で通知した以外の通知情報である。そのような第3の通知情報は、当該通知されているユーザに対して通知するもの、当該通知されているユーザと異なる他のユーザに対して通知するものを含む。S1905で第3の通知情報が存在しないと判定された場合、S1908において、CPU103は、図15のS1507と同様に終了処理を行う。S1908の後、図19の処理を終了する。
S1905で第3の通知情報があると判定された場合、S1906において、CPU103は、第3の通知情報を通知可能な通知部がS1902で選択された通知部以外に存在するかを判定する。ここで、存在すると判定された場合、S1902に戻り、CPU103は、先に選択された通知部以外の通知部を選択する。その後、S1903以降の処理が繰り返される。一方、存在しないと判定された場合、S1907において、CPU103は、通知処理が行われた通知部に対応するユーザ操作の終了を待機する。ユーザ操作が終了すると、当該ユーザに対応する通知部が選択され、S1903からの処理が繰り返される。その後、S1904の通知処理においては、その選択されている通知部の画面が第3の通知情報で更新される。即ち、S1905以降の処理により、空いている通知部があれば、第3の通知情報を表示し、空いている通知部がないのであれば、ユーザ操作が終了した通知部において第3の通知情報を表示する。
以上のように、本実施形態によれば、複数のユーザに対して複数の通知部により通知する構成においても、ユーザ操作を要することなく、液晶ディスプレイの視認性および利便性を向上させることができる。
[第3実施形態]
以下、第1及び第2実施形態と異なる点について第3実施形態を説明する。第1実施形態および第2実施形態では、BLEにおける距離、方向、位置を検知する機能を用いて、液晶ディスプレイに表示する文字やアイコン等を視認しやすくするための処理を説明した。本実施形態では、BLEにおける距離、方向、位置を検知する機能を用いて、スピーカから出力される音をユーザに聞き取りやすくするための処理を説明する。
以下、第1及び第2実施形態と異なる点について第3実施形態を説明する。第1実施形態および第2実施形態では、BLEにおける距離、方向、位置を検知する機能を用いて、液晶ディスプレイに表示する文字やアイコン等を視認しやすくするための処理を説明した。本実施形態では、BLEにおける距離、方向、位置を検知する機能を用いて、スピーカから出力される音をユーザに聞き取りやすくするための処理を説明する。
図20は、本実施形態を実現するための通信システムの全体構成の一例を示す図である。図20の構成は、情報処理装置101に搭載されるデバイスが音声出力装置(スピーカ)2001である点について図14と異なる。スピーカ2001は、図1の情報処理装置101の内部構成を通信装置151とした場合のスピーカ160に対応している。
通信システム構成における処理全体のフローチャートは、図15における説明と同様である。第1実施形態において、S1504では、情報処理装置101に搭載された液晶ディスプレイ1401に通知情報を表示するための処理を行っていた。一方、本実施形態においては、スピーカ2001から音声を出力するための処理が行われる。
図21は、スピーカ2001から通知すべき情報を出力するためのS1504の処理を示すフローチャートである。図15のS1503までに通知情報とユーザは特定されており、当該ユーザに対し、スピーカ2001から通知情報を出力する。ここで、情報処理装置101にBLE接続している通信装置151、171、181のうち、図15のS1502で特定されたユーザが携帯する通信装置を通信装置151とする。
まず、S2101において、CPU103は、情報処理装置101とユーザが携帯する通信装置151が予め定められた一定距離内にあるかを、図7及び図8で説明したBLEにおける距離、方向、位置を検知する機能により判定する。予め定められた一定距離とは、通信装置151を持つユーザがスピーカ2001から出力された内容を確認できる距離の内側にいるか、外側にいるかである。例えば、ユーザがスピーカ2001の背面に立っていた場合は、音が聞き取りにくく、スピーカ2001からの内容を判別することができない。このような場合は一定距離外にいると判断する。また、ユーザがスピーカ2001の背面に立っていなかったとしても、ユーザとの距離が遠い場合には、一定距離外にいると判定する。
S2101で一定距離内にいないと判定された場合、S2102において、CPU103は、情報処理装置101のスピーカ2001から出力すべき通知情報をユーザが持つ通信装置151のスピーカから出力させる。例えば、CPU103は、通知情報を音声出力するための出力データを通信装置151に対して出力コマンドとともに送信する。S2102の処理後の動作は、通知情報の属性に応じて以下のように分岐する。
例えば、情報処理装置101がインクジェットプリンタであり、通知情報が「インク残量少(Ink Low)」の場合、すぐにインクジェットプリンタの動作に影響を与えることがなく、ユーザはインクジェットプリンタを操作して処置する必要はない。従って、その場合には、図21の処理を終了する。
一方、通知情報が「インク残量なし(Ink Out)」や「紙詰まり(Paper Jam)」の場合、インクジェットプリンタの動作に影響を与えるため、すぐにインクジェットプリンタを操作して処置する必要がある。この場合、ユーザの持つ通信装置151のスピーカからは、本来スピーカ2001から出力する通知情報に追加して、「インクジェットプリンタに近づいてください」等、情報処理装置101への近接を促す旨の音声を出力させる。
情報処理装置101と通信装置151が一定距離外のためS2102に遷移した場合、ユーザは、情報処理装置101に搭載されたスピーカ2001の音が聞こえ難いことが想定される。この場合、スピーカ2001から音を出力させていると消費電力の無駄になる。従って、S2102に遷移した場合は、CPU103は、スピーカ2001を消音する処理を行っても良い。若しくは、通知情報の内容に応じて、情報処理装置101本体のスリープやシャットダウンを行っても良い。その場合、スリープやシャットダウンを行う旨を通信装置151に出力させる内容に含めても良い。
S2101で情報処理装置101とユーザが持つ通信装置151が一定距離内にいると判定された場合、S2103の処理に進む。また、ユーザがS2102で通信装置151のスピーカから出力された音声に促されて情報処理装置101の一定距離内に近づいた結果、S2101で一定距離内にいると判定された場合にも、S2103の処理に進む。
S2103において、CPU103は、情報処理装置101が自走可能であるかを判定する。自走可能であると判定された場合、S2104において、CPU103は、BLEにおける距離、方向、位置を検知する機能を用いて、ユーザがスピーカ2001の音を聞き取りやすい位置に最大限近づくよう、情報処理装置101を移動させる。ユーザがスピーカ2001の音を聞き取りやすい位置とは、例えば、ユーザとスピーカ2001が正対する位置である。一方、S2103で情報処理装置101が自走可能でないと判定された場合は、S2104の処理を行わず、S2105に進む。
情報処理装置101が自走可能であるとは、例えば、情報処理装置101自身が車輪等の駆動によりレール上を移動可能であることである。S2103では、ユーザとスピーカ001が正対する位置を目標位置として情報処理装置101の移動が行われるが、目標位置に到達不可であると判断される場合には、移動可能な範囲内で目標位置に最も接近可能な距離まで移動が行われる。
S2105において、CPU103は、図15のS1501で存在すると判定された通知情報をスピーカ2001から出力する。この時、スピーカ2001の角度や高さが調整可能な場合は、BLEにおける位置を検知する機能により、通信装置151の位置を確認し、その方向に合わせて、スピーカ2001の角度や高さを調整する。また、BLEにおける距離を検知する機能から、ユーザが持つ携帯端末151とスピーカ2001の距離に応じて、スピーカから出力する音量を調整する。
ここで、情報処理装置101とBLE通信している通信装置が複数存在する場合、通知情報を伝えたいユーザが存在する一方で、それ以外のユーザに対しては、通知情報を伝えないようにしたい場合も想定される。この場合、通知情報を伝えたいユーザだけでなく、通知情報を伝えない他のユーザの位置も考慮し、スピーカ2001の角度や高さ、出力する音量を調整するようにしても良い。例えば、スピーカ2001が指向性スピーカの場合には、他のユーザが除外されるよう指向領域を狭めるように調整が行われても良い。さらに、スピーカ2001が複数のチャネルから構成されている場合、各スピーカ単独での角度や高さ、出力音量を調整するだけでなく、各スピーカ間の音量バランスに基づいて調整を行うようにしても良い。S2105の後、図21の処理を終了する。
なお、S2102において、ユーザが携帯する通信装置151のスピーカから通知情報や情報処理装置101への近接を促す旨の音声を出力させていた場合は、通信装置のスピーカからのそれらの音声の出力を停止する。これは、S2105の処理に至った時点で、ユーザは直接、スピーカ2001から出力された音声を聞き取ることができるためである。
以上のように、本実施形態によれば、ユーザが液晶ディスプレイの正対位置からずれた位置にいたとしても、ユーザ操作を要することなく、スピーカの可聴性および利便性を向上させることができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
101 情報処理装置: 103、154 CPU: 108、161 表示部: 151 通信装置: 160 スピーカ
Claims (20)
- 通信装置と通信可能な情報処理装置であって、
通知情報を出力する通知手段と、
前記情報処理装置の周囲に位置する前記通信装置の前記情報処理装置に対する相対位置に関する情報を取得する取得手段と、
前記取得手段により取得された前記相対位置に関する情報に基づいて、前記通知手段による前記通知情報の出力を制御する制御手段と、
を備えることを特徴とする情報処理装置。 - 前記制御手段は、前記通知手段の出力の向きを制御することを特徴とする請求項1に記載の情報処理装置。
- 前記制御手段は、前記通知手段の機構を制御することにより、前記通知手段の出力の向きを制御することを特徴とする請求項2に記載の情報処理装置。
- 前記通知手段の機構の制御は、高さ、角度の少なくともいずれかの変更を含むことを特徴とする請求項3に記載の情報処理装置。
- 前記制御手段はさらに、前記情報処理装置を移動させるための機構を制御することにより、前記通知手段の出力の向きを制御することを特徴とする請求項2乃至4のいずれか1項に記載の情報処理装置。
- 前記通知手段は、表示装置を含むことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
- 前記制御手段はさらに、前記表示装置の表示を制御することを特徴とする請求項6に記載の情報処理装置。
- 前記表示装置の表示の制御は、該表示される画像のサイズの変更、該表示される画像のコントラストの変更、の少なくともいずれかを含むことを特徴とする請求項7に記載の情報処理装置。
- 前記通知手段は、音声出力装置を含むことを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
- 前記制御手段はさらに、前記音声出力装置の出力を制御することを特徴とする請求項9に記載の情報処理装置。
- 前記音声出力装置の出力の制御は、音量の変更、該出力される音声の指向性の変更、の少なくともいずれかを含むことを特徴とする請求項10に記載の情報処理装置。
- 前記取得手段により取得された前記相対位置に関する情報に基づいて、前記通知手段による前記通知情報の出力を制御するか否かを判定する判定手段、をさらに備え、
前記判定手段により前記通知手段による前記通知情報の出力を制御すると判定された場合、前記制御手段は、前記通知手段による前記通知情報の出力を制御することを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。 - 前記判定手段により前記通知手段による前記通知情報の出力を制御しないと判定された場合、前記制御手段は、前記通信装置にメッセージを出力させるよう前記通信装置を制御することを特徴とする請求項12に記載の情報処理装置。
- 前記制御手段は、前記通知情報の内容に応じて、前記通信装置に出力させる前記メッセージを異ならせることを特徴とする請求項13に記載の情報処理装置。
- 前記通知情報の内容が前記情報処理装置のユーザ操作を要する場合には、前記メッセージは、前記情報処理装置への接近を促すメッセージを含むことを特徴とする請求項14に記載の情報処理装置。
- 前記通信装置が前記情報処理装置から一定距離以上離れた場合、前記制御手段は、前記通知手段による前記通知情報の出力を停止することを特徴とする請求項1乃至15のいずれか1項に記載の情報処理装置。
- 前記通知手段が複数ある場合、前記制御手段は、複数の前記通知手段それぞれについて、前記取得手段により取得された前記相対位置に関する情報に基づいて、複数の前記通知手段それぞれによる前記通知情報の出力を制御することを特徴とする請求項1乃至16のいずれか1項に記載の情報処理装置。
- 前記情報処理装置はプリンタであり、前記通信装置は携帯型端末であることを特徴とする請求項1乃至17のいずれか1項に記載の情報処理装置。
- 通信装置と通信可能な情報処理装置において実行される制御方法であって、
前記情報処理装置の周囲に位置する前記通信装置の前記情報処理装置に対する相対位置に関する情報を取得する取得工程と、
前記取得工程において取得された前記相対位置に関する情報に基づいて、通知情報を出力する通知手段による前記通知情報の出力を制御する制御工程と、
を有することを特徴とする制御方法。 - 請求項19に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019225758A JP2021096522A (ja) | 2019-12-13 | 2019-12-13 | 情報処理装置、制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019225758A JP2021096522A (ja) | 2019-12-13 | 2019-12-13 | 情報処理装置、制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021096522A true JP2021096522A (ja) | 2021-06-24 |
Family
ID=76431344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019225758A Pending JP2021096522A (ja) | 2019-12-13 | 2019-12-13 | 情報処理装置、制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021096522A (ja) |
-
2019
- 2019-12-13 JP JP2019225758A patent/JP2021096522A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6184580B1 (ja) | 情報処理装置、制御方法およびプログラム | |
JP7330765B2 (ja) | 装置、およびそのプログラム | |
JP6866209B2 (ja) | 情報処理装置、制御方法、プログラム | |
US11321029B2 (en) | Information processing method that executes processing based on a signal received from a communication apparatus in a group satisfying a predetermined condition, and information processing apparatus | |
JP6667476B2 (ja) | 通信装置、制御方法及びプログラム | |
CN112019996A (zh) | 执行通信的装置及其控制方法 | |
CN110611904B (zh) | 控制方法、信息处理设备和非暂时性计算机可读存储介质 | |
CN112014795B (zh) | 信息处理装置、信息处理方法和位置检测系统 | |
JP2017188875A (ja) | 通信装置、情報処理装置の制御方法、プログラム及びおよび通信システム | |
JP2020197870A (ja) | 情報処理装置、表示制御方法およびプログラム | |
US11194534B2 (en) | Information processing apparatus, control method, and storage medium | |
JP2021096522A (ja) | 情報処理装置、制御方法およびプログラム | |
US11564197B2 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
JP6888037B2 (ja) | 情報処理装置、制御方法およびプログラム | |
US11303766B2 (en) | Information processing apparatus, control method, and non-transitory computer-readable medium | |
US20230102657A1 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
JP2023044218A (ja) | 情報処理装置、通信装置、その制御方法、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |