スマートフォン等の端末を用いた可視光通信では、端末に付属するカメラ等の受光部を用いてデータが受信される。ここで、受光部が捉えた画像を端末のユーザに見せる必要はないため、受光部が捉えた画像をユーザに見せず、可視光通信プログラムをバックグラウンドで動かす、というケースが考えられる。なお、受光部を用いて処理を行うプログラムを、以下、受光部使用プログラムという。可視光通信プログラムは、受光部使用プログラムの一種であって、受光部を用いて可視光通信を行うプログラムである。
ここで、可視光通信プログラムをバックグラウンドで動かしたまま、別の受光部使用プログラム(例えば撮影アプリケーションプログラム)が後から起動された場合、それらのプログラムによって受光部の使用の競合が生じる。このとき、その後から起動された受光部使用プログラムは、可視光通信プログラムによって既に確保されている受光部を確保することができず、強制終了されてしまうことがある。つまり、ユーザは、バックグラウンドで動いている可視光通信プログラムに気付かずに、自らが好む別の受光部使用プログラムを後から起動すると、その別の受光部使用プログラムが強制終了されるため、端末に原因不明の不具合が生じたと考え、端末に対していろいろな操作をしてしまう。このように、従来の情報通信方法では、ユーザ・インターフェースが不十分であり、余計な操作をユーザにさせてしまう。
このような問題を解決するために、本発明の一態様に係る情報通信方法は、可視光通信を行う情報通信方法であって、光を検出する受光部を用いて可視光通信を行うための第1のプログラムと、前記受光部を用いて前記可視光通信と異なる処理を行うための第2のプログラムとによって、前記受光部の使用の競合が発生するか否かを判定する判定ステップと、競合が発生すると判定されたときには、前記競合が生じることを前記受光部のユーザに通知する通知ステップと、前記ユーザによる操作に応じて、前記第1および第2のプログラムの何れか一方に前記受光部の使用を許可する競合解決ステップと、前記第1のプログラムに使用が許可された場合に、前記受光部によって検出される光に応じた可視光通信を前記第1のプログラムがコンピュータに実行させる可視光通信ステップとを含む。
例えば、第1のプログラムは可視光通信プログラムであり、第2のプログラムは受光部使用プログラムである。これにより、受光部の使用の競合が発生する場合には、その競合が生じることが受光部のユーザに通知され、ユーザの操作によって、何れかのプログラムに受光部の使用が許可されため、ユーザは、その受光部を備えた端末において生じている状況を容易に把握することができる。さらに、その状況を把握したうえで、ユーザは端末を操作することができるため、余計な操作をすることなく、受光部の使用の競合を簡単に解決することができる。その結果、ユーザ・インターフェースの向上を図り、ユーザへの負担を軽減することができる。
また、前記通知ステップでは、さらに、前記受光部を使用する前記第1および第2のプログラムのうちの何れか一方を選択するための選択画面を表示し、前記競合解決ステップでは、前記ユーザによる前記選択画面に対する操作に応じて、前記第1および第2のプログラムのうちの何れか一方が選択された場合には、選択されたプログラムに前記受光部の使用を許可してもよい。
これにより、ユーザは、受光部の使用が許可されるプログラムを自らの操作によって選択することができるため、受光部を使用する複数のプログラムの起動の順番に関わらず、所望のプログラムに受光部を使用させることができる。また、後から起動されたプログラムに受光部を使用させるために、先に起動されて受光部を使用していたプログラムを終了させるための操作をユーザがわざわざする必要がないため、ユーザの操作をさらに軽減することができる。
なお、本発明は、次のような情報提供方法であってもよい。つまり、この情報提供方法は、受光部を確保したプログラムが実行中の状態で、受光部を使用する別のプログラムを起動した場合に、ユーザが受光部の使用を許可するプログラムを選択可能な情報を表示部に提供する情報提供方法であって、ユーザから指示を受けたプログラムを起動する起動ステップと、受光部を使用中のプログラムが存在するか否かを確認する確認ステップと、受光部が使用可能な場合に受光部を確保する確保ステップと、受光部を確保したことを記録する記録ステップと、受光部が確保できなかった場合にユーザに提示する受光部使用の競合情報を作成する競合情報作成ステップと、作成した競合情報を表示する表示ステップと、表示した競合情報からユーザが選択したプログラムを起動し、選択されなかったプログラムを終了する実行プログラム更新ステップと、を有する、情報提供方法である。
また、前記通知ステップでは、前記第1および第2のプログラムのそれぞれがバックグラウンドで動作するか否かを示す情報を含む前記選択画面を表示してもよい。
これにより、受光部を使用しようとするプログラムのそれぞれがバックグラウンドで動作するか否かがユーザに知らされるため、ユーザは、適切なプログラムに受光部を使用させることができる。
また、前記競合解決ステップでは、前記ユーザによる操作に応じて、前記第1および第2のプログラムの何れか一方に他の受光部を割り当て、前記可視光通信ステップでは、前記第1のプログラムに前記他の受光部が割り当てられた場合には、前記他の受光部によって検出される光に応じた可視光通信を前記第1のプログラムが前記コンピュータに実行させてもよい。
これにより、第1および第2のプログラムのそれぞれに受光部または他の受光部の使用が許可されるため、それらのプログラムの一方を終了させることなく、それぞれを同時に起動させておくことができる。したがって、可視光通信と、可視光通信と異なる処理とを並列に実行することができ、処理時間を短くすることができる。
また、前記可視光通信ステップでは、前記可視光通信が実行されることによってデータを取得し、前記情報通信方法は、さらに、取得された前記データを利用することが可能な複数のアプリケーションプログラムから何れかのアプリケーションプログラムを選択するためのアプリケーション選択画面を表示するアプリケーション表示ステップと、前記ユーザによる前記アプリケーション選択画面に対する操作に応じて、何れかのアプリケーションプログラムが選択された場合には、選択されたアプリケーションプログラムが、前記データを用いた処理をコンピュータに実行させるアプリケーション実行ステップとを含んでもよい。
これにより、可視光通信によって取得されたデータを適切なアプリケーションプログラムに処理させることができる。
また、前記情報通信方法は、さらに、輝度変化により信号を送信する被写体を、前記受光部であるイメージセンサによって継続的に撮像する撮像ステップと、前記被写体を識別するための被写体像と枠線とを含む撮像画像を、撮像時における前記イメージセンサと前記被写体との位置関係に応じて前記撮像画像上の前記被写体像の位置を継続的に更新しながら、表示する撮像画像表示ステップと、前記被写体像が前記枠線内に収まるか否かを判定する被写体判定ステップとを含み、前記可視光通信ステップでは、前記枠線内に前記被写体像が収まると判定されたときに、前記被写体から送信される信号の受信を前記第1のプログラムが前記コンピュータに実行させてもよい。
これにより、輝度変化により信号を送信する複数の被写体が寄り集まって存在する場合でも、所望の被写体の被写体像を枠線内に収めるだけで、その被写体のみからの信号を簡単に受信することができる。
また、前記情報通信方法は、さらに、輝度変化により信号を送信する複数の被写体を、前記受光部であるイメージセンサによって撮像する撮像ステップと、撮像によって得られる、前記複数の被写体のそれぞれの像を含む撮像画像を表示する表示ステップと、前記イメージセンサを備えた端末装置が振られたか否かを判定するジェスチャー判定ステップとを含み、前記可視光通信ステップでは、前記複数の被写体のそれぞれから送信される信号の受信を前記第1のプログラムが前記コンピュータに実行させ、前記表示ステップでは、前記複数の被写体のそれぞれから送信されて受信された信号のうち、何れかの被写体からの信号に応じて生成される画像であって、当該被写体に関する内容を示す画像である内容通知画像を、当該被写体の像に対応付けた状態で前記撮像画像に重畳し、前記端末装置が振られたと判定されたときには、振られた方向にある他の被写体からの信号に応じて生成される画像であって、当該他の被写体に関する内容を示す画像である他の内容通知画像を、当該他の被写体の像に対応付けた状態で前記撮像画像に重畳してもよい。
これにより、例えば、被写体に関する内容(詳細情報)が吹き出しの中に記述された内容通知画像が、その被写体の像に対応付けられた状態で表示されるため、ユーザは、その被写体に関する内容を適切に把握することができる。また、端末装置を振ることによって、内容通知画像が表示される対象となる被写体を簡単に切り替えることができる。さらに、その対象は、端末装置が振られた方向にある被写体に切り替えられるため、ユーザに直感的にその切り替えをさせることができ、ユーザ・インターフェースをさらに向上することができる。
また、前記表示ステップでは、さらに、前記複数の被写体の像のうち、前記内容通知画像または前記他の内容通知画像が対応付けられた被写体の像を除く、残りの被写体の像のそれぞれに対しては、当該残りの被写体に関する内容を提示することが可能であることを通知するための提示可能通知画像を前記撮像画像に重畳してもよい。
これにより、内容通知画像(他の内容通知画像)が表示されていない被写体の像には、例えば詳細情報が記述されていない小さい吹き出しの形をした提示可能通知画像が表示されるため、ユーザは、端末装置を振ることによって、その被写体に関する内容(詳細情報)を内容通知画像として表示させることができると判断することができる。
また、前記情報通信方法は、さらに、複数の露光ラインを有するイメージセンサの各露光ラインの露光を順次異なる時刻で開始し、かつ、前記各露光ラインの露光時間が、隣接する露光ラインとの間で、部分的に時間的な重なりを持つように、第1の露光時間で撮影を行うことにより第1の画像データを取得する通常撮影ステップを含み、前記可視光通信ステップでは、前記各露光ラインの露光を順次異なる時刻で開始し、かつ、前記各露光ラインの露光時間が、隣接する露光ラインとの間で、部分的に時間的な重なりを持つように、前記第1の露光時間よりも短い第2の露光時間で撮影を行うことにより第2の画像データを取得し、前記第2の画像データに現れる、前記各露光ラインに対応する輝線パターンを復調することにより情報を取得し、前記可視光通信ステップは、前記第2の露光時間を、1/480秒以下に設定することにより、前記輝線パターンを前記第2の画像データに発生させてもよい。
これにより、後述の実施の形態5に示すように、1/480秒以下に第2の露光時間が設定されることにより、適切な輝線パターンを画像データに発生させ、高速の信号伝送を行うことが可能となる。
また、前記情報通信方法は、さらに、情報の配信の依頼を依頼者から受け付ける処理を行う依頼受け付けステップと、前記第1のプログラムによる前記可視光通信によって受信された信号に対応する対応情報として、依頼された前記情報を配信する配信ステップと、前記情報の配信に応じて、前記依頼者に課金するための情報処理を行う課金ステップとを含んでもよい。
これにより、後述の実施の形態6に示すように、可視光通信を伴う情報提供において適切な課金処理を行うことができる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
本実施の形態における情報通信方法は、受光部使用プログラムの一種である可視光通信プログラムが既に起動している状態で、別の受光部使用プログラムが起動されることによって、受光部の使用の競合が発生した場合に、受光部の使用が許可されるプログラムをユーザに選択させる方法である。
図1は、本実施の形態におけるシステム構成を示す図である。
データ送信照明C0100は、光を使ってデータを送信する。つまり、データ送信照明は、可視光通信を行う照明機器であって、輝度変化によって信号を送信する。
端末C0200は、ハードウェア部C0203、プラットフォーム部C0202、およびアプリケーション部C0201を有する。ハードウェア部C0203は、データ送信照明C0100が発する光を受光(検出)するとともに、受光時のシャッター速度(露光時間)を変更することが可能である受光部C0203aと、ユーザに情報を表示する表示部C0203bと、ユーザからの入力を受け取る入力部C0203cとを有する。受光部C0203aは、端末C0200に複数備えられてもよい。プラットフォーム部C0202は、受光部C0203aの受光の開始と終了、および受光部C0203aのシャッター速度を制御する機能を有する受光制御部C0202aと、表示部C0203bを制御する表示制御部C0202bと、入力部C0203cを制御する入力制御部C0202cと、アプリケーション部C0201が持つプログラムを制御するプログラム制御部C0202dと、受光部C0203aを使用しているプログラムの情報を保持する受光部使用中プログラム情報保持部C0202eとを有する。
アプリケーション部C0201は、可視光通信プログラムC0201aと、可視光通信プログラムC0201aとは異なる受光部使用プログラムC0201bとを有する。可視光通信プログラムC0201aは、受光制御部C0202aを用いて、受光部C0203aのシャッター速度を変更する機能を有する。また、可視光通信プログラムC0201aは、受光制御部C0202aを介して、受光部C0203aから、データ送信照明C0100が発する光に応じたデータを取得する機能を有する。また、可視光通信プログラムC0201aは、データ送信照明C0100から取得したデータを基に、Webサーバへの問い合わせを行い、Webサーバから更に付加的な情報を取得する機能を有する場合がある。また、可視光通信プログラムC0201aと受光部使用プログラムC0201bとは、それぞれ端末C0200に複数備えられてもよい。
図2は、プログラムを起動する端末C0200の処理動作を示すフローチャートである。
まず、端末C0200の入力部C0203cは、可視光通信プログラムC0201aまたは受光部使用プログラムC0201bを起動する指示(起動指示またはプログラム起動指示)を受ける(ステップSC0102)。プログラム制御部C0202dは、入力制御部C0202cを介して、ユーザの起動指示を受け取り、起動が指示されたプログラムを起動する(ステップSC0103)。その次に、プログラム制御部C0202dは、起動されたプログラムが受光部C0203aを使用するか否かを、そのプログラムの受光部使用情報に含まれる、受光部使用有無を示す情報に基づいて判定する(ステップSC0104)。
図3は、受光部使用情報の一例を示す図である。
プログラムの受光部使用情報は、図3の(a)に示すように、プログラムID_ID0501と、そのプログラムID_ID0501によって識別されるプログラムの名称であるプログラム名C0502と、そのプログラムが受光部を使用するか否か(受光部使用有無)を示す情報C0503と、そのプログラムによって使用される受光部を識別するための使用受光部ID_C0504とを含む。また、他のプログラムの受光部使用情報は、図3の(b)に示すように、プログラムID_ID0505と、そのプログラムID_ID0505によって識別されるプログラムの名称であるプログラム名C0506と、そのプログラムが受光部を使用するか否か(受光部使用有無)を示す情報C0507と、そのプログラムによって使用される受光部を識別するための使用受光部ID_C0508とを含む。
なお、図3に示すプログラムID(C0501、C0505)は、文字と数字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図3に示すプログラム名(C0502、C0506)は、文字のみ、文字と数字の組合せ、数字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。図3に示す受光部使用有無を示す情報(C0503、C0507)は、文字以外に、数字のみ、記号のみ、文字と数字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。図3に示す使用受光部ID(C0504、C0508)は、数字以外に、文字のみ、記号のみ、文字と数字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。
図2に示すステップSC0104において、起動されたプログラムが受光部C0203aを使用すると判定された場合、つまり、起動されたプログラムの受光部使用情報に、受光部を使用することが明記されている場合(ステップSC0104のYES)、プログラム制御部C0202dは、受光部C0203aを現在使用しているプログラムがあるか否かを判定するために、言い換えれば、受光部C0203aの使用の競合が発生するか否かを判定するために、受光部使用中プログラム情報保持部C0202eが保持する受光部使用中プログラムリストを確認する(ステップSC0105)。プログラム制御部C0202dは、その確認結果に基づいて、光を検出する受光部C0203aを用いて可視光通信を行うための可視光通信プログラムC0201aと、受光部C0203aを用いて可視光通信と異なる処理を行うための受光部使用プログラムC0201bとによって、受光部C0203aの使用の競合が発生するか否かを判定する(ステップSC0106)。ここで、競合が発生しないと判定される場合、つまり、受光部C0203aを使用しているプログラムがないと判定された場合(ステップSC0106のYES)、プログラム制御部C0202dは、受光制御部C0202aを介して、受光部C0203aを確保する(ステップSC0107)。その後、プログラム制御部C0202dは、起動したプログラムの情報を、受光部使用中プログラム情報保持部C0202eが保持する受光部使用中プログラムリストに登録する。
図4は、受光部使用中プログラム情報保持部C0202eに保持される受光部使用中プログラムリストの一例を示す図である。
受光部使用中プログラムリストは、図4に示すように、受光部C0203aを使用しているプログラムを識別するためのプログラムID_C1701と、そのプログラムの名称であるプログラム名C1702と、使用されている受光部C0203aを識別するための使用受光部ID_C1703とを含む。なお、図4に示すプログラムID_C1701は、数字と文字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図4に示すプログラム名C1702は、数字と文字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されてもよい。また、図4に示す使用受光部ID_C1703は、数字以外に、文字のみ、記号のみ、数字と文字の組合せ、数字と記号の組合せ、または、数字と文字と記号の組合せで表現されてもよい。
図2に示すステップSC0106において、競合が発生すると判定された場合、つまり、受光部使用中プログラムリストに受光部C0203aを使用しているプログラムが登録されている場合(ステップSC0106のNO)、プログラム制御部C0202dは、その受光部使用中プログラムリストを使って、受光部競合情報を作成する(ステップSC0109)。さらに、プログラム制御部C0202dは、表示制御部C0202bを介して、その受光部競合情報に基づく通知画像を表示部C0203bに表示させる(ステップSC0110)。
図5は、受光部競合情報の一例を示す図である。
受光部競合情報は、図5に示すように、受光部C0203aを使用しようとするプログラムごとに、そのプログラムのプログラムID_C0301と、そのプログラムのプログラム名C0302と、そのプログラムによる受光部C0203aの使用状況を示す情報C0303と、そのプログラムが使用しようとする受光部C0203aを識別するための使用受光部ID_C0304とを含む。なお、図5に示すプログラムID_C0301は、数字と文字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図5に示すプログラム名C0302は、数字と文字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図5に示す受光部使用状況を示す情報C0303は、文字以外に、数字のみ、記号のみ、数字と文字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図5に示す使用受光部IDC0304は、数字以外に、文字のみ、記号のみ、数字と文字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。
図6は、表示部C0203bに表示される、受光部競合情報に基づく通知画像の一例を示す図である。
表示部C0203bは、受光部(例えばカメラ)を複数のプログラム(アプリケーションプログラム)が使用しているため、受光部を使用するプログラムをユーザに選択させるための画像C0401を通知画像として表示する。このような通知画像が表示されることによって、受光部C0203aを具備する端末C0200のユーザに、競合が生じることが通知される。また、この通知画像は、受光部C0203aを使用する可視光通信プログラムC0201aおよび受光部使用プログラムC0201bのうちの何れか一方を選択するための選択画面である。
図2に示すステップSC0110の後、ユーザから入力部C0203cに、使用するプログラムの選択結果が入力されると(ステップSC0111のYES)、プログラム制御部C0202dは、入力制御部C0202cを介して、ユーザの選択結果を受け取り、選択されなかったプログラムを終了し、選択されたプログラムに受光部を確保させる(ステップSC01112)。
図7は、図2に示すステップSC0112の詳細な処理動作を示すフローチャートである。
プログラム制御部C0202dは、まず、後から起動されたプログラムがユーザによって選択されたか否かを判定する(ステップSC0112b)。ここで、プログラム制御部C0202dは、先に起動されたプログラムが選択されたと判定すると(ステップSC0112bのNO)、後から起動されたプログラムを終了する(ステップSC0112h)。一方、後から起動されたプログラムが選択されたと判定すると(ステップSC0112bのYES)、プログラム制御部C0202dは、先に起動されたプログラムによって確保されている受光部C0203aを解放し(ステップSC0112c)、受光部使用中プログラム情報保持部C0202eの受光部使用中プログラムリストをクリアする(ステップSC0112d)。そして、プログラム制御部C0202dは、選択されなかったプログラムを終了する(ステップSC0112e)。そして、プログラム制御部C0202dは、受光制御部C0202aを介して、受光部C0203aを確保する(ステップSC0112f)。最後に、プログラム制御部C0202dは、ユーザが選択したプログラムを、受光部使用中プログラム情報保持部C0202eの受光部使用中プログラムリストに登録する(ステップSC0112g)。
なお、図2に示すステップSC0111によって、可視光通信プログラムC0201aが選択された場合には、ステップSC0112では、プログラム制御部C0202dは、可視光通信プログラムC0201aに受光部C0203aの使用を許可する。受光部C0203aの使用が許可された可視光通信プログラムC0201aは、自らに確保された受光部C0203aによって検出される光に応じた可視光通信を端末C0200のコンピュータに実行させる。
このように、本実施の形態では、受光部C0203aの使用の競合が発生する場合には、その競合が生じることが受光部C0203aのユーザに通知され、ユーザの操作によって、何れかのプログラムに受光部C0203aの使用が許可されため、ユーザは、その受光部C0203aを備えた端末C0200において生じている状況を容易に把握することができる。さらに、その状況を把握したうえで、ユーザは端末C0200を操作することができるため、余計な操作をすることなく、受光部C0203aの使用の競合を簡単に解決することができる。その結果、ユーザ・インターフェースの向上を図り、ユーザへの負担を軽減することができる。
(変形例1)
本変形例に係る情報通信方法は、受光部の使用の競合が発生した場合に、受光部使用プログラムがバックグラウンドで動作するかフォアグラウンドで動作するかを示す情報を用いて、受光部の使用が許可されるプログラムをユーザに選択させる方法である。なお、実施の形態1で既に説明された図においては、重複して説明しない。
図8は、本変形例に係るプログラムの受光部使用情報の一例を示す図である。なお、この受光部使用情報は、図3に示す受光部使用情報と同様、図2に示すフローチャートのステップSC0104において、受光部C0203aを使用するか否かの判定に使用される。
本変形例に係る受光部使用情報は、図8の(a)および(b)に示すように、図3に示す受光部使用情報と異なり、動作形式を示す情報(C0605、C0610)を含む。この動作形式を示す情報は、対象とされる受光部使用プログラムが、そのプログラムに応じた画面が表示部C0203bに常に表示される態様であるフォアグラウンドで動作するか、その画面が表示部C0203bに表示されない(端末C0200のユーザからはその画面が見えない)態様であるバックグラウンドで動作するかを示す情報である。
なお、図8に示すプログラムID(C0601、C0606)は、文字と数字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図8に示すプログラム名(C0602、C0607)は、文字のみ、文字と数字の組合せ、数字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。図8に示す受光部使用有無を示す情報(C0603、C0608)は、文字以外に、数字のみ、記号のみ、文字と数字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。図8に示す使用受光部ID(C0604、C0609)は、数字以外に、文字のみ、記号のみ、文字と数字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図8に示す動作形式を示す情報(C0605、C0610)は、文字以外に、数字、記号、数字と文字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。
図9は、本変形例に係る受光部使用中プログラムリストの一例を示す図である。
本変形例に係るプログラム制御部C0202dは、図8に示す形式の受光部使用情報を使用し、図2に示すフローチャートのステップSC0108において、受光部使用中プログラム情報保持部C0202eに、図9に示す受光部使用中プログラムリストを登録する。
本変形例に係る受光部使用中プログラムリストは、図4に示す受光部使用中プログラムリストと異なり、動作形式を示す情報C0704を含む。この動作形式を示す情報C0704は、受光部C0203aを確保した受光部使用プログラムが、そのプログラムに応じた画面が表示部C0203bに常に表示される態様であるフォアグラウンドで動作するか、その画面が表示部C0203bに表示されない(端末C0200のユーザからはその画面が見えない)態様であるバックグラウンドで動作するかを示す情報である。
なお、図9に示すプログラムID_C0701は、文字と数字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図9に示すプログラム名C0702は、文字のみ、または、文字と数字の組合せ以外に、数字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。図9に示す使用受光部ID_C0703は、数字以外に、文字のみ、記号のみ、文字と数字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図9に示す動作形式を示す情報C0704は、文字以外に、数字、記号、数字と文字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。
図10は、本変形例に係る受光部競合情報の一例を示す図である。
本変形例に係るプログラム制御部C0202dは、図9に示す形式の受光部使用中プログラムリストを使用し、図2に示すフローチャートのステップSC0109において、図10に示す受光部競合情報を作成する。
本変形例に係る受光部競合情報は、図5に示す受光部競合情報と異なり、動作形式を示す情報C0805を含む。この動作形式を示す情報C0805は、受光部C0203aの使用において競合したプログラムがフォアグラウンドで動作するか、バックグラウンドで動作するかを示す情報である。なお、図10に示すプログラムID_C0801は、数字と文字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図10に示すプログラム名C0802は、数字と文字の組合せ以外に、数字のみ、文字のみ、記号のみ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図10に示す受光部使用状況を示す情報C0803は、文字以外に、数字のみ、記号のみ、数字と文字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図10に示す使用受光部ID_C0804は、数字以外に、文字のみ、記号のみ、数字と文字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図10に示す動作形式を示す情報C0805は、文字以外に、数字、記号、数字と文字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。
図11は、本変形例に係る通知画像の一例を示す図である。
図10に示す受光部競合情報が使われる場合、図2に示すフローチャートのステップSC0110では、表示部C0203bは、図11に示す通知画像C0901を表示する。この通知画像C0901には、図6に示す通知画像C0401と違い、バックグラウンドで動作する受光部使用プログラムに対して、「バックグラウンドで動作」という文言が明記されている。バックグラウンドで動作する受光部使用プログラムに対してその文言が明記されていることで、ユーザは、どの受光部使用プログラムであれば、受光部C0203aを使用しないプログラムと同時に実行できるかを判断した上で、どの受光部使用プログラムを使用するかを選択できる。なお、図11に示す通知画像C0901は、図10に示す受光部競合情報を用いて表示される一例であり、バックグラウンドで動作するか否かを示す代わりに、受光部C0203aを使用しないプログラムと同時に実行できるか否かを示していても良い。また、通知画像C0901は、バックグラウンドで動作する受光部使用プログラムではなく、フォアグラウンドで動作する受光部使用プログラムに対して、フォアグラウンドで動作することを示していても良い。また、通知画像C0901は、フォアグラウンドで動作する受光部使用プログラムに対して、受光部C0203aを使用しない他のプログラムと同時に実行できないことを示していても良い。また、受光部C0203aを使用しない他のプログラムと同時に実行可能か否かをユーザに伝えるためには、文章による説明以外に、プログラム名のテキストの文字色、プログラム名を記載した箇所の背景色、または、プログラム名の記載箇所へのマークの付与を利用しても良い。
このように、本変形例では、受光部C0203aを使用しようとするプログラムのそれぞれがバックグラウンドで動作するか否かがユーザに知らされるため、ユーザは、適切なプログラムに受光部C0203aを使用させることができる。
(変形例2)
本変形例における情報通信方法は、複数の受光部を1つまたは複数のプログラムが同時に使用できる端末において、受光部の使用の競合が発生した場合に、何れのプログラムに何れの受光部の使用を許可するかをユーザに選択させる方法である。なお、実施の形態1およびその変形例1ですでに説明された図においては、重複して説明しない。また、本変形例に係る端末C0200は、例えば2つの受光部C0203aを備え、一方の受光部C0203aは端末C0200の前面に配設され、他方の受光部C0203aは端末C0200の背面に配設されている。
図12は、複数の受光部を同時に使用可能な端末C0200が受光部使用プログラムを起動する処理動作の一例を示すフローチャートである。
本変形例に係る端末C0200の処理動作は、以下の点で図2に示す処理動作と異なる。その異なる点は、起動されたプログラムの受光部使用情報から使用する受光部を特定する点(ステップSC0205)と、受光部使用中プログラム情報保持部C0202eが保持する受光部使用中プログラムリストに記載されている使用中の受光部と、後に起動されたプログラムの受光部使用情報に掲載されている受光部が一致するか否かを確認する点(ステップSC0207)と、受光部競合情報の作成に、受光部使用中プログラムリストに加え、受光部リストを使う点(ステップSC0210)と、ユーザからの入力の種類に、各プログラムに割り当てられる受光部の選択と、プログラムの終了の指示との2種類がある点(ステップSC0212、SC0213、SC0214)である。
図12のステップSC0207において、プログラム制御部C0202dは、受光部使用中プログラム情報保持部C0202eの受光部使用中プログラムリストに記載されている使用中の受光部(使用受光部ID)と、後に起動されたプログラムの受光部使用情報に掲載されている受光部(使用受光部ID)とが一致しないか否かを判定する。つまり、プログラム制御部C0202dは、受光部の使用の競合が発生するか否かを判定する。ここで、一致しないと判定される場合(ステップSC0207のYES)、つまり、競合が発生しないと判定される場合、後から起動されたプログラムは、受光部使用情報に記載の使用受光部IDによって示される受光部を使用できる。このため、プログラム制御部C0202dは、受光部使用情報に記載されている使用受光部IDによって示される受光部を確保し(ステップSC0208)、起動されたプログラムの情報を受光部使用中プログラム情報保持部C0202eに登録する(ステップSC0209)。
一方、受光部使用中プログラム情報保持部C0202eの受光部使用中プログラムリストに記載されている使用中の受光部(使用受光部ID)と、後に起動されたプログラムの受光部使用情報に掲載されている受光部(使用受光部ID)が一致すると判定される場合(ステップSC0207のNO)、つまり、競合が発生すると判定される場合、後から起動されたプログラムは、その受光部使用情報に掲載されている使用受光部IDによって示される受光部を使用できない。したがって、プログラム制御部C0202dは、受光制御部C0202aが保持する受光部リストと、受光部使用中プログラム情報保持部C0202eに登録されている受光部使用中プログラムリストを使って、受光部競合情報を作成する(ステップSC0210)。さらに、プログラム制御部C0202dは、表示制御部C0202bを介して、その受光部競合情報に基づく通知画像を表示部C0203bに表示させる(ステップSC0211)。
図13は、受光制御部C0202aが保持する受光部リストの一例を示す図である。受光部リストは、端末C0200に備えられている受光部ごとに、受光部を識別するための受光部ID_C1001と、その受光部が付いている端末C0200の面を示す情報C1002と、現時点のその受光部の使用状況を示す情報C1003とを含む。なお、図13に示す受光部ID_C1001は、数字以外に、文字のみ、記号のみ、文字と数字の組合せ、数字と記号の組合せ、文字と記号の組合せ、または、数字と文字と記号の組合せで表現されても良い。また、図13の、受光部が付いている端末の面を示す情報C1002は、文字以外に、端末の面を表す文字のみ、端末の面を表す記号のみ、端末の面を表す文字と数字の組合せ、端末の面を表す数字と記号の組合せ、端末の面を表す文字と記号の組合せ、または、端末の面を表す数字と文字と記号の組合せで表現されても良い。また、図13に示す受光部の使用状況を示す情報C1003は、文字以外に、受光部の使用状況を表す数字のみ、受光部の使用状況を表す記号のみ、受光部の使用状況を表す文字と数字の組合せ、受光部の使用状況を表す数字と記号の組合せ、受光部の使用状況を表す文字と記号の組合せ、または、受光部の使用状況を表す数字と文字と記号の組合せで表現されても良い。
図14は、図12に示すステップSC0211において表示される通知画像の一例を示す図である。この通知画像C1101は、受光部C0203aを使用しようとしているプログラムが複数あることをユーザに通知するとともに、対象とされるプログラムに使用させる受光部C0203a(前面または背面)の選択、または、そのプログラム(アプリケーションプログラム)の終了をユーザに促す。
図12のステップSC0211において通知画像C1101が表示されると、端末C0200のユーザは、受光部C0203aの使用を競合しているプログラムにどの受光部C0203aを割り当てるか、または受光部C0203aの使用を競合しているプログラムを終了するかを選択する。これにより、その選択結果が入力部C0203cに対して入力される。プログラム制御部C0202dは、入力制御部C0202cを介して、ユーザの選択結果が入力されたか否かを判定する(ステップSC0212)。ここで、プログラム制御部C0202dは、入力されたと判定したときには(ステップSC0212のYES)、その選択結果を受け取り、その選択結果に応じて、使用する受光部を選択する(ステップSC0213)。
図15は、図12に示すステップSC0213の詳細な処理動作を示すフローチャートである。プログラム制御部C0202dは、まず、対象とされているプログラムに対して、ユーザによって何が選択されたかを判定する(ステップSC0213b)。ここで、他のプログラムで使用されている受光部が、対象とされているプログラムに対して選択されたと判定された場合、プログラム制御部C0202dは、他のプログラムが確保済みの受光部C0203aを解放し(ステップSC0213c)、受光部使用中プログラム情報保持部C0202eに登録されている、他のプログラムの情報を受光部使用中プログラムリストからクリアする(ステップSC0213d)。そして、プログラム制御部C0202dは、確保済みの受光部が解放されたプログラム(他のプログラム)の情報を、受光部競合情報に追加する(ステップSC0213e)。そして、プログラム制御部C0202dは、受光制御部C0202aを介して、対象とされているプログラムに対して受光部を確保する(ステップSC0213f)。最後に、プログラム制御部C0202dは、対象とされているプログラムの情報を、受光部使用中プログラム情報保持部C0202eの受光部使用中プログラムリストに登録する(ステップSC0213g)。
一方、ステップSC0213bにおいて、ユーザによってプログラムの終了が選択されたと判定された場合、プログラム制御部C0202dは、対象とされているプログラムを終了する(ステップSC0213h)。また、ステップSC0213bにおいて、対象とされているプログラムが確保済みの受光部がユーザによって選択されたと判定された場合、プログラム制御部C0202dは何もせず処理を抜ける。
以上の処理を実行後、プログラム制御部C0202dは、受光部競合情報から、受光部C0203aを選択したプログラム、または終了されたプログラムに関する情報を削除する(ステップSC0213i)。
そして、図12に示すステップSC0214において、プログラム制御部C0202dは、受光部競合情報に含まれる全ての情報が削除されたか否かを判定する(ステップSC0214)。ここで、受光部競合情報に、受光部C0203aの使用が競合している情報が残っている場合、プログラム制御部C0202dは、残っている情報について、図12に示すステップSC0211からの処理を実行する。つまり、プログラム制御部C0202dは、対象とされるプログラムを変えて、ステップSC0211からの処理を実行する。一方、受光部競合情報に含まれる全ての情報が削除された場合、プログラム制御部C0202dは、処理を終了する。
このように、本変形例では、ユーザによる操作に応じて、例えば端末C0200の前面にある受光部C0203aの使用を競合する可視光通信プログラムC0201aおよび受光部使用プログラムC0201bのうちの何れか一方に、端末C0200の背面にある受光部C0203aを割り当てることによって、その競合を解決する。そして、可視光通信プログラムC0201aに背面の受光部C0203aが割り当てられた場合には、背面の受光部C0203aによって検出される光に応じた可視光通信を可視光通信プログラムC0201aがコンピュータに実行させる。
これにより、可視光通信プログラムC0201aおよび受光部使用プログラムC0201bのそれぞれに背面の受光部C0203aまたは前面の受光部C0203aの使用が許可されるため、それらのプログラムの一方を終了させることなく、それぞれを同時に起動させておくことができる。したがって、可視光通信と、可視光通信と異なる処理とを並列に実行することができ、処理時間を短くすることができる。
(変形例3)
本変形例に係る情報通信方法は、受光部の使用の競合が発生した場合に、その競合が発生したことをユーザに通知するとともに、ユーザの確認が得られた後に、後から起動された受光部使用プログラムを終了させる方法である。なお、実施の形態1とその変形例1および2ですでに説明された図においては、重複して説明しない。
図16は、本変形例における端末C0200の処理動作を示すフローチャートである。
本変形例に係る端末C0200の処理動作は、表示部C0203bに表示した通知画像に対するユーザからの入力として、どのプログラムに受光部の使用を許可するかではなく、受光部競合情報を確認したか否かの情報を受け取る点(ステップSC0311)で、図2に示す処理動作と異なる。
図16に示すステップSC0306において、受光部C0203aの競合が確認された場合、プログラム制御部C0202dは、受光部使用中プログラムリストを基に、受光部競合情報を作成する(ステップSC0309)。さらに、プログラム制御部C0202dは、表示制御部C0202bを介して、その受光部競合情報に応じた通知画像を表示部C0203bに表示させる。
図17は、本変形例に係る表示部C0203bに表示される通知画像の一例を示す図である。この通知画像C1201は、受光部C0203aを使用しようとしているプログラムが複数あることをユーザに通知するとともに、後から起動されたプログラムの終了の確認をユーザに促す。このような通知画像が表示されることによって、受光部C0203aを具備する端末C0200のユーザに、競合が生じることが通知される。
プログラム制御部C0202dは、入力部C0203cおよび入力制御部C0202cを介して、ユーザの確認を意味する入力を受け取った後、ステップSC0303で起動されたプログラム(後から起動されたプログラム)を終了する(ステップSC0312)。
このような本変形例においても、実施の形態1と同様、受光部C0203aの使用の競合が発生する場合には、その競合が生じることが受光部C0203aのユーザに通知され、ユーザの操作によって、先に起動されているプログラムに受光部の使用が許可されため、ユーザは、その受光部C0203aを備えた端末C0200において生じている状況を容易に把握することができる。さらに、その状況を把握したうえで、ユーザは端末C0200を操作することができるため、余計な操作をすることなく、受光部C0203aの使用の競合を簡単に解決することができる。その結果、ユーザ・インターフェースの向上を図り、ユーザへの負担を軽減することができる。
(実施の形態2)
本実施の形態における情報通信方法は、例えばスマートフォン(多機能携帯電話)として構成される受信機が、輝度変化する被写体を撮像することによって得られる画像に基づいて、その輝度変化によって示される情報を取得する方法である。ここで、受信機は、撮像によって得られる画像において、予め定められた枠線内に、被写体の位置を示すマークが収まる場合に、その被写体の輝度変化によって示される情報を取得する。
図18および図19は、本実施の形態における受信機の使用例を示す図である。
スマートフォンとして構成される受信機C1300のユーザは、自らが興味を持つ看板C1320を見つける。この看板C1320は、データ送信照明C0100の一例であって、輝度変化によって信号を送信している。ユーザは、受信機C1300のカメラ(受光部)を看板C1320に向け、その看板C1320を被写体として撮像する。なお、本実施の形態における受信機C1300は、実施の形態1の端末C0200と同一の構成を有し、可視光通信プログラムC0201aを用いて可視光通信を行ってもよい。
図20は、撮像によって得られる画像の一例を示す図である。
受信機C1300は、看板C1320を撮像することによって、受信機C1300のディスプレイ上に、枠線C1302と、看板C1320の位置を示すマークC1301とを表示する。つまり、マークC1301と枠線C1302とを含む撮像画像が、受信機C1300のディスプレイに表示される。また、マークC1301は、被写体である看板C1320を識別するための被写体像であり、枠線C1302は、ディスプレイの予め定められた位置に表示される。ここで、撮像は、予め定められた周期で繰り返し継続的に行われる。したがって、ユーザが受信機C1300を動かすと、枠線C1302のディスプレイ上における位置は変わらないが、マークC1301は移動する。つまり、受信機C1300は、看板C1320を識別するためのマークC1301と枠線C1302とを含む撮像画像を、撮像時におけるカメラのイメージセンサと看板C1320との位置関係に応じてその撮像画像上のマークC1301の位置を継続的に更新しながら、表示する。
そして、本実施の形態における受信機C1300は、このマークC1301が枠線C1302内に入ったときに、看板C1320から輝度変化によって送信される信号を受信して復調することによって、その看板C1320からの情報を取得する。
図21は、マークC1301が枠線C1302内に入ったときの様子を示す図である。
受信機C1300は、マークC1301が枠線C1302内に入ったと判定すると、例えばその枠線C1302が強調されるように、その枠線C1302の色を変えたり、枠線C1302を太く表示する。そして、受信機C1300は、枠線C1302内に入ったマークC1301に対応する看板C1320から輝度変化によって送信される信号を受信して復調することによって、その看板C1320からの情報を取得する。
図22および図23は、本実施の形態における受信機の他の使用例を示す図である。
スマートフォンとして構成される受信機C1300のユーザは、自らが興味を持つ看板C1320を見つける。この看板C1320は輝度変化によって信号を送信している。ユーザは、受信機C1300のカメラ(受光部)を看板C1320に向け、その看板C1320を被写体として撮像する。ここで、看板C1320の近くには、看板C1321がある。この看板C1321も、看板C1320と同様にデータ送信照明C0100の一例であって、輝度変化によって信号を送信している。したがって、看板C1320に向けられた受信機C1300のカメラの撮像範囲には、看板C1321も含まれることがある。
図24は、撮像によって得られる画像の他の例を示す図である。
受信機C1300は、看板C1320を撮像することによって、受信機C1300のディスプレイ上に、枠線C1302と、看板C1320の位置を示すマークC1301とを表示する。また、看板C1321も受信機C1300のカメラの撮像範囲に含まれているため、そのディスプレイ上には、看板C1321の位置を示すマークC1303が、マークC1301とともに表示される。
ここで、マークC1303は、被写体である看板C1321を識別するための被写体像であり、枠線C1302は、上述と同様に、ディスプレイの予め定められた位置に表示される。また、撮像は、予め定められた周期で繰り返し継続的に行われる。したがって、ユーザが受信機C1300を動かすと、枠線C1302のディスプレイ上における位置は変わらないが、マークC1301およびマークC1303は移動する。つまり、受信機C1300は、看板C1320および看板C1321をそれぞれ識別するためのマークC1301およびマークC1303と枠線C1302とを含む撮像画像を、撮像時におけるカメラのイメージセンサと看板C1320および看板C1321との位置関係に応じてその撮像画像上のマークC1301およびマークC1303の位置を継続的に更新しながら、表示する。
本実施の形態における受信機C1300は、このマークC1301およびマークC1303のうちの何れかが枠線C1302内に入ったときに、その枠線C1302内のマークに対応する看板から輝度変化によって送信される信号を受信して復調することによって、その看板からの情報を取得する。
図25は、マークC1301が枠線C1302内に入ったときの様子を示す図である。
受信機C1300は、マークC1301が枠線C1302内に入ったと判定すると、例えばその枠線C1302が強調されるように、その枠線C1302の色を変えたり、枠線C1302を太く表示する。そして、受信機C1300は、マークC1301およびマークC1303のうち、その枠線C1302内に入ったマークC1301に対応する看板C1320から輝度変化によって送信される信号のみを受信して復調することによって、その看板C1320からの情報のみを取得する。
このように、本実施の形態における情報通信方法では、例えばバックグラウンドで動作する可視光通信プログラムが、どの被写体(看板などのデータ送信照明)からのデータを受信するかをユーザに簡単に選択させることを可能にする。
図26は、本実施の形態における受信機C1300として構成される端末C0200の処理動作を示すフローチャートである。
まず、可視光通信プログラムC0201aは、受光制御部C0202aを用いて、受光部C0203aのシャッター速度を速くした状態で、受光制御部C0202aを介して、受光部C0203aを用いた撮像を行う(ステップSC0401)。次に、可視光通信プログラムC0201aは、受光制御部C0202aを介して、受光部C0203aが撮像した画像を取得する(ステップSC0402)。このステップSC0401における撮像と、ステップSC0402における撮像した画像の取得とは、一定周期で繰り返し実施される。
次に可視光通信プログラムC0201aは、受光部C0203aが撮像した画像(以下、撮像画像という)を新たに取得する度に、撮像画像における、輝度が一定の閾値を超えた領域と、その中心座標とを特定する(ステップSC0403)。可視光通信プログラムC0201aは、例えば以下に示す中心座標の特定方法によって、その中心座標を特定する。その中心座標の特定方法では、撮像画像の幅方向をx軸、撮像画像の高さ方向をy軸とした場合に、輝度が一定の閾値を超えた画素のうち、最も左端にある画素のx座標と、最も右端にある画素のx座標との中間のx座標を、輝度が一定の閾値を超えた領域の中心のx座標とする。さらに、輝度が一定の閾値を超えた画素のうち、最も上端にある画素のy座標と、最も下端にある画素のy座標との中間のy座標を、輝度が一定の閾値を超えた領域の中心のy座標とする。
次に、可視光通信プログラムC0201aは、表示制御部C0202bを介して、輝度が一定の閾値を超えた領域の中心座標に対応する表示部C0203b(ディスプレイ)上の位置(以下、マーク位置という)を特定し、表示部C0203bのそのマーク位置にマークを表示する(ステップSC0404)。表示部C0203bに既にマークが表示されている場合は、可視光通信プログラムC0201aは、それまで表示されていたマークを一旦消した後で、新たに計算したマーク位置に、マークを表示する。例えば、可視光通信プログラムC0201aは、撮像画像の中心と表示部C0203bの中心とを対応付け、撮像画像の上端と表示部C0203bの上端とを対応付け、撮像画像の下端と表示部C0203bの下端とを対応付け、撮像画像の左端と表示部C0203bの左端とを対応付け、撮像画像の右端と表示部C0203bの右端とを対応付け、撮像画像および表示部C0203bの各辺の長さの比から、マーク位置を求める。具体的には、撮像画像の幅は480ピクセル、高さは640ピクセルで、左上を原点、左下の座標を(0,640)、右上の座標を(480,0)と仮定する。また、表示部C0203b(ディスプレイ)の大きさは幅が960ピクセル、高さは1280ピクセル、左上を原点、左下の座標を(0,1280)、右上の座標を(960,0)と仮定する。この条件において前述の対応付けを用いた場合、可視光通信プログラムC0201aは、撮像画像上の上記領域の中心座標(100,200)に対応する表示部C0203b上の位置(マーク位置)として、座標(200,400)を特定する。マーク位置へのマークの表示は、可視光通信プログラムC0201aが受光制御部C0202aを介して受光部C0203aから撮像画像を取得する度に行われる。
また、可視光通信プログラムC0201aは、表示部C0203bに、図20に示す枠線C1302を表示する(ステップSC0405)。可視光通信プログラムC0201aは、表示部C0203bに表示した枠線C1302の表示部C0203b上の座標と、マーク位置とを比較し、そのマーク位置が枠線C1302の中にあるか否かを判定する(ステップSC0406)。例えば、表示部C0203bの幅は960ピクセル、高さは1280ピクセルである。そして、表示部C0203bの座標系では、左上が原点であり、左下の座標が(0,1280)であり、右上の座標が(960,0)である。また、表示している枠線C1302の左上の座標が(450,610)であり、左下の座標が(450,670)であり、右上の座標が(510,610)であり、右下の座標が(510,670)である。この時、マーク位置を(x,y)とすると、「450≦x≦510かつ610≦y≦670」である場合に、マーク位置が枠線C1302の中にあると判定される。
ここで、可視光通信プログラムC0201aは、マーク位置が枠線C1302の中にあると判定された場合に(ステップSC0406のYES)、その輝度が一定の閾値を超えた領域に対応するデータ送信照明(看板など)が送信する信号を取得する(ステップSC0407)。
例えば、図20に示す状態では、マークC1301の中心座標は枠線C1302の外にあるため、可視光通信プログラムC0201aは、マークC1301に対応するデータ送信照明が送信する信号を受信しない。一方、図21に示す状態では、マークC1301の中心座標は枠線C1302の中にあるため、可視光通信プログラムC0201aは、マークC1301に対応するデータ送信照明が送信する信号を受信する。また、図22に示すように、看板などのデータ送信照明が複数あり、図23に示すように、複数のデータ送信照明を受光部C0203aが同時に撮像する。このとき、図24に示すように、全てのマークC1301、C1303の中心座標が枠線C1302の外にある場合は、可視光通信プログラムC0201aは、どのデータ送信照明からも信号を受信しない。一方、図25に示すように、中心座標が枠線C1302の中にマークC1301が存在する場合は、可視光通信プログラムC0201aは、そのマークC1301に対応するデータ送信照明から信号を受信する。
本実施の形態では、複数のデータ送信照明が受光部C0203aで撮像された場合、それぞれのデータ送信照明に対応するマーク位置にマークが表示される。マークはデータ送信照明毎に異なる。マークの違いは、例えば、形の違い、色の違い、テキストの違い、またはイラストの違いによって表現される。そして、複数のデータ送信照明のうち、マーク位置が枠線C1302の中にあると判定されたデータ送信照明から送信される信号が受信される。マーク位置が枠線C1302の中に複数存在する場合には、可視光通信プログラムC0201aは、いずれか1つを選択して、選択したマーク位置に対応するデータ送信照明から送信される信号を受信する。例えば、可視光通信プログラムC0201aは、先に枠線C1302の中に入ったマーク位置に対応するデータ送信照明から送信される信号を受信する。または、可視光通信プログラムC0201aは、輝度が一定の閾値を超えた領域が大きいデータ送信照明から送信される信号を受信する。
なお、本実施の形態では、表示部C0203bに表示された枠線の座標とマーク位置とを比較することによって、信号の取得先となるデータ送信照明を選択したが、枠線を表示しなくてもよい。例えば、ユーザが入力部C0203cに対して指定した点の表示部C0203b上の座標とマーク位置とを比較し、それら間の距離が一定範囲以内であるマーク位置に対応するデータ送信照明を、信号の取得先となるデータ送信照明として選択する。
なお、受光部C0203aが撮像した画像をそのまま表示部C0203bに表示する場合は、輝度が一定の閾値を超えた領域を表すマークを表示部C0203bに表示しなくてもよい。
このように、本実施の形態では、輝度変化により信号を送信する複数の被写体が寄り集まって存在する場合でも、所望の被写体の被写体像を枠線内に収めるだけで、その被写体のみからの信号を簡単に受信することができる。
(実施の形態3)
従来、スマートフォン等の端末における、使用可能なアプリケーション(アプリケーションプログラム)の自動起動や、アプリケーションインストールサイトへのアクセスには、カメラでのQRコード(登録商標)の読み取りが使われていた。しかしながら、従来の方法では、読み取りのためにQRコードを接写する必要があり、離れた場所からの読み取りや、複数端末での同時読み取りは困難であった。
本実施の形態では、かかる課題を解決するもので、端末を撮影対象に近づけることなく、また複数端末同時に、使用可能なアプリケーションの自動起動や、アプリケーションインストールサイトへの自動アクセスを実現する。
つまり、本実施の形態における情報通信方法は、可視光を受光する受光ステップと、受光した光からデータを取り出すデコードステップと、取得したデータに関する情報をサーバに問い合わせて結果を得る問合せステップと、得られた問合せ結果を使って使用可能なアプリケーション、またはインストール可能なアプリケーションを特定する特定ステップと、特定結果に応じて使用可能またはインストール可能なアプリケーションをユーザに対して表示する表示ステップと、通知を受けたユーザが選択したアプリケーションを起動またはインストールする実行ステップとを含む。これにより、このような情報通信方法を行う端末は、撮影対象に近づくことなく、使用可能またはインストール可能なアプリケーションの情報を取得することができる。また、このような情報通信方法を行う複数の端末は、同時に、使用可能またはインストール可能なアプリケーションの情報を取得することができる。
以下、本実施の形態について詳細に説明する。
本実施の形態は、端末がデータ送信照明から受信したデータを利用できる、端末にインストールされたアプリケーションの一覧を表示し、ユーザの選択したアプリケーションを起動させる、情報通信方法である。
図27は、本実施の形態におけるシステム構成を示す図である。
データ送信照明C5100は、実施の形態1のデータ送信照明C0100と同様、光を使ってデータを送信する。端末C5200は、データ送信照明C5100が発する光を撮影する受光部C5201と、受光部C5201が受光した光からデータをデコードデータとして取り出すデコード部C5205と、デコード部C5205が取り出したデコードデータをサーバC5300に送信し、そのデコードデータを利用可能なアプリケーションの一覧(利用可能アプリケーション一覧)をサーバC5300から受信する通信部C5202と、サーバC5300から受信した利用可能アプリケーション一覧の中から、端末C5200にインストールされているアプリケーションを特定する利用可能アプリケーション検索部C5203と、端末C5200にインストールされているアプリケーションの情報を保持するインストール済みアプリケーションDB_C5206と、ユーザに情報を表示する表示部C5204と、ユーザからの入力を受け付ける入力部C5208と、ユーザが入力部C5208に対して指示したアプリケーションを起動するアプリケーション起動部C5207とを有する。受光部C5201は、受光時のシャッター速度を変更する機能を有する。また受光部C5201は、端末C5200に複数備えられてもよい。
サーバC5300は、端末C5200からデコードデータを受信し、そのデコードデータを利用可能なアプリケーションの一覧を送信する通信部C5301と、端末C5200から受信したデコードデータを利用可能なアプリケーションを特定する利用可能アプリケーション特定部C5302と、データ送信照明が送信するデータ(デコードデータ)と、そのデータを利用可能なアプリケーションとの対応関係を保持するデータ・アプリケーション対応DB_C5303とを有する。
図28は、端末C5200が可視光通信の可視光を受光して、利用可能なアプリケーションをユーザに通知する処理動作を示すフローチャートである。
ユーザが図29に示すように端末C5200をデータ送信照明C5100に向けると、端末C5200は、受光部C5201を用いて、そのデータ送信照明C5100から発せられる可視光通信の可視光を受光するための処理を行う(ステップSC5102)。次に、端末C5200は、可視光が受光されたか否かを判定する(ステップSC5103)。ここで、受光されたと判定しときには(ステップSC5103のYES)、端末C5200は、デコード部C5205を用いて、受光部C5201が受光した光から、デコードデータを取得するための処理を行う(ステップSC5104)。
図30は、取得されるデコードデータの一例を示す図である。例えば、取得されるデコードデータは「1000」である。
図28に示すステップSC5104の後、端末C5200は、デコードデータが取得されたか否かを判定する(ステップSC5105)。ここで、デコードデータが取得されたと判定したときには(ステップSC5105のYES)、端末C5200は、通信部C5202を用いて、取得したデコードデータをサーバC5300に送信し、取得したデコードデータを利用可能なアプリケーションがあるかを問い合せる(ステップSC5106)。その後、端末C5200は、サーバC5300から、取得したデコードデータを利用可能なアプリケーションの一覧(利用可能アプリケーション一覧)を通信部C5202で受信する。
図31は、受信する利用可能アプリケーション一覧の一例を示す図である。
この利用可能アプリケーション一覧は、図31に示すように、デコードデータC5501と、そのデコードデータに対応付けられた利用可能なアプリケーションごとに、そのアプリケーションを識別するための利用可能アプリケーションID_C5502とを含む。
図28に示すステップSC5107では、端末C5200は、サーバC5300から受信した利用可能アプリケーション一覧に基づいて、ステップSC5104で取得されたデコードデータを利用可能なアプリケーションが1つ以上存在するか否かを判定する(ステップSC5107)。ここで、1つ以上存在すると判定された場合(ステップSC5107のYES)、端末C5200は、利用可能アプリケーション検索部C5203を用いて、サーバ5300から受信した利用可能アプリケーション一覧の中の各利用可能アプリケーションIDと、インストール済みアプリケーションDB_C5206が保持するインストール済みアプリケーション一覧の中の各アプリケーションIDとを比較する。その結果、端末C5200は、利用可能アプリケーション一覧によって示される少なくとも1つのアプリケーション(利用可能アプリケーション)の中から、インストール済みのアプリケーションを特定する(ステップSC5108)。
図32は、インストール済みアプリケーションDB_C5206が保持する情報(インストール済みアプリケーション一覧)の一例を示す図である。
このインストール済みアプリケーション一覧は、図32に示すように、端末C5200にインストールされているアプリケーションごとに、そのアプリケーションを識別するためのアプリケーションID_C5601と、そのアプリケーションの名称(アプリケーション名)C5602とを含む。
図28に示すステップSC5109において、端末C5200は、利用可能なアプリケーションが1つ以上インストールされているか否かを判定する(ステップSC5109)。そして、1つ以上インストールされていると判定した場合(ステップSC5109のYES)、端末C5200は、インストールされている利用可能アプリケーションを一覧にして表示部C5204に表示する(ステップSC5110)。
図33は、表示部C5204に表示される利用可能アプリケーションの一覧の一例を示す図である。
表示部C5204は、例えば図33に示すように、インストールされている利用可能アプリケーションごとに、その名称を表示する。このように表示部C5204に表示される画面は、取得されたデコードデータを利用することが可能な複数のアプリケーションプログラムから何れかのアプリケーションプログラムを選択するためのアプリケーション選択画面である。
図28に示すステップSC5111では、端末C5200は、入力部C5208を用いて、表示部C5204に表示された少なくとも1つの利用可能アプリケーションの中から利用するアプリケーションがユーザによって選択されたか否かを判定する(ステップSC5111)。ここで、端末C5200は、選択されたと判定すると(ステップSC5111のYES)、端末C5200は、アプリケーション起動部C5207を用いて、ユーザが選択したアプリケーションを起動する(ステップSC5112)。
なお、ステップSC5107において、ステップSC5104で取得されたデコードデータを利用可能なアプリケーションが1つ以上存在しないと判定された場合、または、ステップSC5109において、利用可能なアプリケーションが1つ以上インストールされていないと判定された場合には、端末C5200は、利用可能アプリケーションがないことを表示部5204に表示する(ステップSC5113)。
図34は、サーバC5300が、デコードデータを利用可能なアプリケーションを検索する処理動作を示すフローチャートである。
まず、サーバC5300は、通信部C5301を用いて端末C5200からデコードデータを受信する(ステップSC5302)。次に、サーバC5300は、利用可能アプリケーション特定部C5302を用いて、データ・アプリケーション対応DB_C5303が保持する情報から、そのデコードデータを利用可能なアプリケーション(利用可能アプリケーション)を検索する(ステップSC5303)。
図35は、データ・アプリケーション対応DB_C5303が保持する情報の一例を示す図である。
この情報は、アプリケーションごとに、そのアプリケーションを識別するためのアプリケーションID_C5401と、そのアプリケーションが利用可能な少なくとも1つのデコードデータC5402とを含む。
つまり、図34に示すステップSC5303では、サーバC5300の利用可能アプリケーション特定部C5302は、データ・アプリケーション対応DB_C5303が保持する情報の中から、端末C5200から受信されたデコードデータを検索し、そのデコードデータに対応付けられたアプリケーションIDによって識別されるアプリケーションを、利用可能アプリケーションとして特定する。
その結果、サーバC5300は、利用可能アプリケーションがあるか否かを判定する(ステップSC5304)。ここで、利用可能アプリケーションがあると判定すると(ステップSC5304のYES)、サーバC5300は、その利用可能アプリケーションを示す利用可能アプリケーション一覧を端末C5200に送信する(ステップSC5305)。一方、利用可能アプリケーションがないと判定すると(ステップSC5304のNO)、サーバC5300は、その利用可能アプリケーションがないこと通知するための情報を端末C5200に送信する(ステップSC5306)。
このように本実施の形態では、取得されたデコードデータを利用することが可能な複数のアプリケーションプログラムから何れかのアプリケーションプログラムを選択するための図33に示すアプリケーション選択画面が表示される。そして、ユーザによるそのアプリケーション選択画面に対する操作に応じて、何れかのアプリケーションプログラムが選択された場合には、選択されたアプリケーションプログラムが、デコードデータを用いた処理をコンピュータに実行させる。これにより、可視光通信によって取得されたデータを適切なアプリケーションプログラムに処理させることができる。
(変形例)
本変形例は、端末がデータ送信照明から受信したデータを利用可能なアプリケーションのうち、端末にインストールされていないアプリケーションの一覧を表示し、ユーザの選択したアプリケーションをインストールする、情報通信方法である。
図36は、本変形例に係るシステム構成を示す図である。
データ送信照明C7100は、実施の形態1のデータ送信照明C0100と同様、光を使ってデータを送信する。端末C7200は、データ送信照明C7100が発する光を撮影する受光部C7201と、受光部C7201が受光した光からデータをデコードデータとして取り出すデコード部C7205と、デコード部C7205が取り出したデコードデータをサーバC7300に送信し、そのデコードデータを利用可能なアプリケーションの一覧(利用可能アプリケーション一覧)をサーバC7300から受信する通信部C7202と、サーバC7300から受信した利用可能アプリケーション一覧の中から、端末C7200にインストール可能なアプリケーションを特定するインストール可能アプリケーション特定部C7203と、端末C7200にインストールされているアプリケーションの情報を保持するインストール済みアプリケーションDB_C7206と、ユーザに情報を表示する表示部C7204と、ユーザからの入力を受け付ける入力部C7208と、ユーザが入力部C7208に対して指示したアプリケーションをインストールするアプリケーションインストール部C7207とを有する。受光部C7201は、受光時のシャッター速度を変更する機能を有する。また受光部C7201は、端末C7200に複数備えられてもよい。
サーバC7300は、端末C7200からデコードデータを受信し、そのデコードデータを利用可能なアプリケーションの一覧を送信する通信部C7301と、端末C7200から受信したデコードデータを利用可能なアプリケーションを特定する利用可能アプリケーション特定部C7302と、データ送信照明が送信するデータ(デコードデータ)と、そのデータを利用可能なアプリケーションとの対応関係を保持するデータ・アプリケーション対応DB_C7303とを有する。
図37は、端末C7200が可視光通信の可視光を受光して、利用可能なアプリケーションをユーザに通知する処理動作を示すフローチャートである。
ユーザが端末C7200をデータ送信照明C7100に向けると、端末C7200は、受光部C7201を用いて、そのデータ送信照明C7100から発せられる可視光通信の可視光を受光するための処理を行う(ステップSC7102)。次に、端末C7200は、可視光が受光されたか否かを判定する(ステップSC7103)。ここで、受光されたと判定したときには(ステップSC7103のYES)、端末C7200は、デコード部C7205を用いて、受光部C7201が受光した光から、図30に示すデコードデータを取得するための処理を行う(ステップSC7104)。ここで、端末C7200は、デコードデータが取得されたか否かを判定する(ステップSC7105)。
デコードデータが取得されたと判定したときには(ステップSC7105のYES)、端末C7200は、通信部C7202を用いて、取得したデコードデータをサーバC7300に送信し、取得したデコードデータを利用可能なアプリケーションがあるかを問い合せる(ステップSC7106)。その後、端末C7200は、サーバC7300から、取得したデコードデータを利用可能なアプリケーションの一覧(利用可能アプリケーション一覧)を通信部C7202で受信する。
図38は、受信する利用可能アプリケーション一覧の一例を示す図である。
この利用可能アプリケーション一覧は、図38に示すように、デコードデータC7501と、そのデコードデータに対応付けられた利用可能なアプリケーションごとに、そのアプリケーションを識別するためのアプリケーションID_C7502と、そのアプリケーションの名称であるアプリケーション名C7503とを含む。
図37に示すステップSC7107では、端末C5200は、サーバC7300から受信した利用可能アプリケーション一覧に基づいて、ステップSC7104で取得されたデコードデータを利用可能なアプリケーションが1つ以上存在するか否かを判定する(ステップSC7107)。ここで、1つ以上存在すると判定された場合(ステップSC7107のYES)、端末C7200は、インストール可能アプリケーション特定部C7203を用いて、サーバC7300から受信した利用可能アプリケーション一覧の中の各利用可能アプリケーションIDと、インストール済みアプリケーションDB_C7206が保持するインストール済みアプリケーション一覧の中の各アプリケーションIDとを比較する。その結果、端末C7200は、利用可能アプリケーション一覧によって示される少なくとも1つのアプリケーション(利用可能アプリケーション)の中から、その時点で端末C7200にインストールされておらず、端末C7200にインストール可能なアプリケーションを特定する(ステップSC7108)。
図39は、インストール済みアプリケーションDB_C7206が保持する情報(インストール済みアプリケーション一覧)の一例を示す図である。
このインストール済みアプリケーション一覧は、図39に示すように、端末C7200にインストールされているアプリケーションごとに、そのアプリケーションを識別するためのアプリケーションID_C7601と、そのアプリケーションの名称(アプリケーション名)C7602とを含む。
図37に示すステップSC7109において、端末C7200は、インストール可能なアプリケーションが1つ以上存在するか否かを判定する(ステップSC7109)。例えば、端末C7200は、利用可能アプリケーション一覧に示される少なくとも1つのアプリケーションIDのうち、インストール済みアプリケーション一覧にはないアプリケーションIDがあれば、インストール可能なアプリケーション(インストール可能アプリケーション)が1つ以上存在すると判定する。そして、1つ以上存在すると判定した場合(ステップSC7109のYES)、端末C7200は、インストール可能アプリケーションを一覧にして表示部C7204に表示する(ステップSC7110)。
図40は、表示部C7204に表示されるインストール可能アプリケーションの一覧の一例を示す図である。
表示部C7204は、例えば図40に示すように、インストールすることが可能なアプリケーションごとに、その名称を表示する。
図37に示すステップSC7111では、端末C7200は、入力部C7208を用いて、表示部C7204に表示された少なくとも1つのインストール可能アプリケーションの中からインストールするアプリケーションがユーザによって選択されたか否かを判定する(ステップSC7111)。ここで、端末C5200は、選択されたと判定すると(ステップSC7111のYES)、端末C7200は、アプリケーションインストール部C7207を用いて、ユーザが選択したアプリケーションをインストールする(ステップSC7112)。
なお、ステップSC7107において、ステップSC7104で取得されたデコードデータを利用可能なアプリケーションが1つ以上存在しないと判定された場合、または、ステップSC7109において、インストール可能なアプリケーションが1つ以上存在しないと判定された場合には、端末C7200は、インストール可能アプリケーションがないことを表示部7204に表示する(ステップSC7113)。
サーバC7300は、図34に示す処理動作と同様の処理動作を行うが、図38に示すように、利用可能なアプリケーションの名称であるアプリケーション名C7503を含む利用可能アプリケーション一覧を生成して、端末C7200に送信する。
図41は、データ・アプリケーション対応DB_C7303が保持する情報の一例を示す図である。
この情報は、アプリケーションごとに、そのアプリケーションを識別するためのアプリケーションID_C7401と、そのアプリケーションの名称であるアプリケーション名C7402と、そのアプリケーションが利用可能な少なくとも1つのデコードデータC7403とを含む。サーバC7300の利用可能アプリケーション特定部C7302は、データ・アプリケーション対応DB_C7303が保持する情報に基づいて、受信したデコードデータを利用可能なアプリケーションを特定し、その特定されたアプリーションの一覧である、図38に示すような利用可能アプリケーション一覧を生成する。つまり、利用可能アプリケーション特定部C7302は、データ・アプリケーション対応DB_C7303が保持する情報の中から、受信したデコードデータを検索し、そのデコードデータに対応付けられたアプリケーションID_C7401およびアプリケーション名C7402を特定する。そして、利用可能アプリケーション特定部C7302は、特定されたアプリケーションID_C7401およびアプリケーション名C7402を含む利用可能アプリケーション一覧を生成する。
なお、図38に示すアプリケーションID_C7502、図39に示すアプリケーションID_C7601、および図41に示すアプリケーションID_C7401は、アプリケーションのパッケージ名であってもよい。
このように本変形例では、可視光通信によって取得されたデータを利用可能な幾つかのアプリケーションプログラムが端末にインストールされていなくても、それらのアプリケーションプログラムからユーザの操作に応じて選択されたアプリケーションプログラムがインストールされる。したがたって、上記実施の形態3と同様に、可視光通信によって取得されたデータを適切なアプリケーションプログラムに処理させることができる。
(実施の形態4)
街中にある街灯や電光看板、サイネージ、および車のライト等の発光機器はそれぞれ、可視光発信機器として発光することにより、それぞれ異なる可視光IDを送信する。このような場合に、ユーザが意図する可視光発信機器からのみ容易に可視光IDを取得できないという課題がある。この課題は、可視光IDを示す光を受光するためにスマートフォンやタブレット等のモバイル端末に付属するカメラを用いて、カメラに映る複数の可視光発信機器の中から、ユーザが意図する可視光発信機器のみに限定した可視光IDを取得する方法がないために生じる。また、室内にある家電機器や照明機器等の発光可能な機器が可視光発信機器として構成されている場合においても、特定の可視光発信機器のみから可視光IDを取得する必要が生じることがあるため、同様の課題が生じる。
そこで、本実施の形態では、モバイル端末へのユーザのジェスチャー操作と、可視光IDの取得先となる可視光発信機器との対応付けを予め定義しておく。これにより、可視光IDの受光時にユーザがモバイル端末に対して実施するジェスチャー操作を検知すれば、その定義を参照することによって、可視光IDの取得先となる可視光発信機器を、ユーザの意図に応じた可視光発信機器に限定することが可能となる。
また、ジェスチャー操作のような明示的なユーザ操作以外にも、モバイル端末の筐体姿勢を検知することで、自動的に可視光IDの取得先となる可視光発信機器を限定したり、モバイル端末に複数搭載されているカメラのいずれを利用するかを決定したりすることができるため、ユーザの暗示的な意図をくみ取ることも可能となる。
以下、本実施の形態における情報通信方法、つまり、モバイル端末B0101へのジェスチャー動作に応じて可視光IDを選別する方法について、詳細に説明する。
図42は、本実施の形態におけるシステム構成を示す図である。
図42に示すシステムでは、モバイル端末B0101内が備える前面カメラB0106または背面カメラB0107は、可視光発信機器B0120が発光する可視光を受光して、可視光ID受光処理部B0105は、その可視光を可視光IDへ変換する。なお、可視光IDは、その可視光IDに対応付けられた詳細情報を識別するための識別子である。
一方、可視光IDを選別するために、モバイル端末B0101に対するユーザのジェスチャー操作が用いられる。ジェスチャー操作を取得するために、モバイル端末B0101が備えるセンシング部B0103によって取得されたセンシングデータが用いられる。なお、センシング部B0103は、9軸センサなどによって構成されている。センシング部B0103によって取得されたセンシングデータが一定時間、または、一定回数蓄積された後、ジェスチャー検知部B0102は、蓄積されたセンシングデータに基づいてジェスチャー操作を検知(判定)する。ジェスチャー検知部B0102がユーザのジェスチャー操作を検知する処理については、後述する図46を用いて詳細に説明する。
受光ID選別部B0104は、ジェスチャー検知部B0102にて検知(判定)されたユーザのジェスチャー操作に基づいて、可視光ID受光処理部B0105による変換によって得られた可視光IDに対応する詳細情報が、ユーザが現状知りたい情報であるか否かを選別する。この選別によって、可視光IDに対応する詳細情報が必要とされる場合、受光ID選別部B0104は、可視光IDに対応する情報取得要求を通信部B0108へ依頼する。これにより、通信部B0108は、公衆ネットワークB0130を介して、ID対応情報変換サーバB0111へ、可視光IDを伴う情報取得要求を送信し、ID対応情報変換サーバB0111から、詳細情報のための可視光ID対応情報(例えばURL)を取得する。
一方、可視光IDに対応する詳細情報が不要とされる場合、または、通信部B0108によるID対応情報変換サーバB0111からの可視光ID対応情報の取得が完了した場合には、受光ID選別部B0104は、表示部B0109に対して、それらの場合に応じた表示の依頼を行う。
ID対応情報変換サーバB0111の通信部B0112は、モバイル端末B0101の通信部B0108から、可視光IDを伴う情報取得要求を受け付ける。この場合、変換情報判定部B0113は、その可視光IDに対応する可視光ID対応情報をID対応情報保持部B0114から取得する。変換情報判定部B0113は、取得した可視光ID対応情報を通信部B0112へ渡す。その結果、通信部B0112は、公衆ネットワークB0130を介して、モバイル端末B0101へ可視光ID対応情報を送信する。
図43は、モバイル端末B0101の処理動作を示すフローチャートであって、特に、ユーザのジェスチャー操作の検知と、受光した可視光IDの選別とを行う処理動作を示すフローチャートである。
モバイル端末B0101が可視光IDを受光するための処理を開始すると、ジェスチャー検知部B0102は、センシング部B0103からのセンシングデータの通知を監視することで、モバイル端末B0101に対するユーザのジェスチャー操作を検知するための処理を行う(ステップSB0202)。次に、ジェスチャー検知部B0102は、ユーザのジェスチャー操作が検知されたか否かを判定する(ステップSB0203)。検知されたと判定されると(ステップSB0203のYES)、ステップSB0204の処理が行われ、検知されていないと判定されると(ステップSB0203のNO)、ステップSB0202の処理が繰り返し行われる。ジェスチャー検知部B0102の動作については、後述の図46を用いて詳細に説明する。
次に、ステップSB0204では、ジェスチャー検知部B0102は、受光ID選別部B0104に対して検知されたユーザのジェスチャー操作を通知する(ステップSB0204)。次に、受光ID選別部B0104は、後述の図49に示す自らが保持するジェスチャー・モード対応テーブルを参照して受光モードを決定し、可視光ID受光処理部B0105は、可視光IDを示す光を受光するカメラ(前面カメラB0106または背面カメラB0107)のシャッタースピードを上げる(ステップSB0205)。
受光ID選別部B0104は、可視光ID受光処理部B0105から可視光IDの通知を受けたか否かを判定する(ステップSB0206)。通知を受けたと判定されると(ステップSB0206のYES)、ステップSB0207の処理が行われ、通知を受けていないと判定されると(ステップSB0206のNO)、ステップSB0202の処理が繰り返し行われる。ステップSB0207では、受光ID選別部B0104は、ステップSB0205で決定された受光モードに応じた可視光IDの取り扱いを決めるため、自らが保持する後述の図50に示すID取り扱いテーブルを参照する(ステップSB0207)。つまり、受光ID選別部B0104は、通知された可視光IDごとに、その可視光IDが、詳細情報が必要とされる可視光IDであるか、詳細情報が必要とされない可視光IDであるかを選別する。
図44は、モバイル端末B0101の処理動作を示すフローチャートであって、特に、表示を行う処理動作を示すフローチャートである。
図43に示すステップSB0207の後、受光ID選別部B0104は、上述の選別の結果に基づいて、通知された可視光IDごとに、その可視光IDに対する情報取得要求を通信部B0108に依頼をするか否かを判定する(ステップSB0302)。ここで、依頼すると判定されると(ステップSB0302のYES)、ステップSB0303の処理が行われ、依頼しないと判定されると(ステップSB0302のNO)、ステップSB0306の処理が行われる。ステップSB0303では、受光ID選別部B0104は、通信部B0108に対して、可視光IDに対応する可視光ID対応情報をID対応情報変換サーバB0111から取得するように依頼する(ステップSB0303)。通信部B0108は、公衆ネットワークB0130を介して、ID対応情報変換サーバB0111へ情報取得要求を行う(ステップSB0304)。つまり、通信部B0108は、可視光IDに対応する可視光ID対応情報を自らに送信するように要求する命令(可視光IDを伴う情報取得要求)をID対応情報変換サーバB0111に送信する。
次に、ID対応情報変換サーバB0111からその情報取得要求に対する通知情報が送信されると、通信部B0108は、公衆ネットワークB0130を介してID対応情報変換サーバB0111からその通知情報を受信する(ステップSB0311)。
そして、ステップSB0311の後、または、ステップSB0302で依頼しないと判定されると(ステップSB0302のNO)、受光ID選別部B0104は、通知された可視光IDごとに、その可視光IDに対応する詳細情報を表示部B0109に表示するか否かを判定する(ステップSB0306)。例えば、受光ID選別部B0104は、可視光IDが、詳細情報が必要とされる可視光IDであると選別されているときには、その可視光IDに対応する詳細情報を表示部B0109に表示すると判定する。逆に、受光ID選別部B0104は、可視光IDが、詳細情報が必要とされない可視光IDであると選別されているときには、その可視光IDに対応する詳細情報を表示部B0109に表示させないと判定する。また、受光ID選別部B0104は、ステップSB03111において可視光IDに対応する通知情報が受信されている場合には、その可視光IDに対応する詳細情報を表示部B0109に表示すると判定する。
ここで、可視光IDに対応する詳細情報を表示部B0109に表示すると判定されると(ステップSB0306のYES)、ステップSB0307の処理が行われ、表示されないと判定されると(ステップSB0306のNO)、モバイル端末B0101は可視光IDに対応する詳細情報の表示の処理を終了する。
ステップSB0307では、受光ID選別部B0104は、表示部B0109に対して、可視光IDに対する通知情報を渡す(ステップSB0307)。そして、表示部B0109は、受け取った通知情報に基づいて、可視光IDに対して表示可能な詳細情報(可視光ID対応情報)を表示して処理を終了する。具体的には、通知情報に可視光ID対応情報が含まれ、その可視光ID対応情報がURL(Uniform Resource Locator)である場合、モバイル端末B0101は、そのURLによって示される場所から詳細情報を取得して、その詳細情報を表示部B0109に表示する。
図45は、モバイル端末B0101から情報取得要求を受けた場合のID対応情報変換サーバB0111の処理動作を示すフローチャートである。
ID対応情報変換サーバB0111の通信部B0112は、モバイル端末B0101から情報取得要求を受信したか否かを判定する(ステップSB0402)。ここで、受信したと判定されると(ステップSB0402のYES)、ステップSB0403の処理が行われ、受信しなかったと判定される(ステップSB0402のNO)と、ステップSB0402の処理が繰り返し行われる。
ステップSB0403では、通信部B0112は、受信した情報取得要求に付随する可視光IDを変換情報判定部B0113へ通知する(ステップSB0403)。次に、変換情報判定部B0113は、通知された可視光IDに対応する可視光ID対応情報をID対応情報保持部B0114へ問い合せる(ステップSB0404)。ここで、ID対応情報保持部B0114は、自らが保持するID・対応情報テーブル内に、通知された可視光IDが存在するか否かを判定する(ステップSB0405)。ここで、可視光IDが存在すると判定されると(ステップSB0405のYES)、ステップSB0406の処理が行われ、可視光IDが存在しないと判定されると(ステップSB0405のNO)、ステップSB0409の処理が行われる。
ステップSB0406では、ID対応情報保持部B0114は、後述する図51によって示されるID・対応情報テーブル内から、その可視光IDに対応付けられた可視光ID対応情報を変換情報判定部B0113へ通知する(ステップSB0406)。次に、変換情報判定部B0113は、その可視光ID対応情報を含む通知情報を生成して、通信部B0112へ渡す(ステップSB0407)。
ステップSB0409では、ID対応情報保持部B0114は、後述する図51によって示されるID・対応情報テーブルには、その可視光IDが存在しないことを変換情報判定部B0113へ通知する(ステップSB0409)。次に、変換情報判定部B0113は、その可視光ID対応情報がないことを示す通知情報を生成して、通信部B0112へ渡す(ステップSB0410)。
ステップSB0407またはステップSB0410の後、通信部B0112は情報取得要求元のモバイル端末B0101へ、変換情報判定部B0113から受け取った通知情報を返す(ステップSB0408)。
図46は、モバイル端末B0101がユーザのジェスチャー操作を検知する処理動作を示すフローチャートである。この処理動作によって検知されたジェスチャー操作は、ユーザがモバイル端末B0101を操作した際に生じたジェスチャーであり、モバイル端末B0101による受光によって得られる可視光IDを選別するために用いられる。
ジェスチャー検知部B0102によるユーザのジェスチャー操作の検知が開始されると、ジェスチャー検知部B0102は、センシングデータ受信回数を0に初期化する(ステップSB0502)。そして、ジェスチャー検知部B0102は、センシング部B0103からのセンシングデータを待ち受ける状態(データ受信待ち状態)になる(ステップSB0503)。次に、ジェスチャー検知部B0102は、センシング部B0103からセンシングデータを受信したか否かを判定する(ステップSB0504)。ここで、受信したと判定すると(ステップSB0504のYES)、ステップSB0505の処理が行われ、受信していないと判定すると(ステップSB0504のNO)、ステップSB0503の処理が繰り返し行われる。
ステップSB0505では、ジェスチャー検知部B0102は、センシングデータを一時的に保持するとともに、センシングデータ受信回数に1を加算する(ステップSB0505)。そして、ジェスチャー検知部B0102は、センシングデータ受信回数が所定回数以上であるか否かを判定する(ステップSB0506)。なお、ステップSB0502において、ジェスチャー検知部B0102が、センシングデータ受信回数を0に初期化する代わりに、センシングデータの待ち受けを開始してからの経過時間であるセンシングデータ受信経過時間を0に初期化してもよい。この場合、ステップSB0506では、ジェスチャー検知部B0102は、センシングデータ受信経過時間が所定時間以上であるか否かを判定する。センシングデータ受信回数が所定回数以上であると判定されると、または、センシングデータ受信経過時間が所定時間以上であると判定されると(ステップSB0506のYES)、ステップSB0507の処理が行われ、センシングデータ受信回数が所定回数未満であると判定されると、または、センシングデータ受信経過時間が所定時間未満であると判定されると(ステップSB0506のNO)、ステップSB0503の処理が繰り返し行われる。
次に、ジェスチャー検知部B0102は、一時的に保持されている少なくとも1つのセンシングデータを用いて現在のジェスチャー操作を検知する(ステップSB0507)。このとき、ジェスチャー検知部B0102は、その検知されたジェスチャー操作を現状のジェスチャー操作として保持する。そして、ジェスチャー検知部B0102は、一時的に保持されている少なくとも1つのセンシングデータを削除する(ステップSB0508)。
ここで、ジェスチャー検知部B0102は、受光ID選別部B0104から、ジェスチャー操作の検知を停止することを要求する信号(検知停止要求信号)を受信したか否かを判定する(ステップSB0509)。ここで、受信したと判定されると(ステップSB0509のYES)、ジェスチャー検知部B0102は、ジェスチャー操作を検知する処理動作を終了する。一方、受信していないと判定されると(ステップSB0509のNO)、ジェスチャー検知部B0102は、ステップSB0502からの処理を繰り返し実行する。なお、図46に示すジェスチャー操作を検知する処理動作は、一定時間経過後、または、センシング部B0103から生じる割り込み処理等を契機に、再度、ステップSB0502の処理から開始される。
図47は、モバイル端末B0101がジェスチャー操作によって可視光IDを選別する動作を説明するための図である。
例えば、街灯B0605〜B0608およびタクシーB0601〜B0603は、それぞれ可視光発信機器B0120を有し、可視光を発することによって可視光IDを送信している。ここで、一般的な従来のカメラを備えた端末は、カメラが撮影する方向に存在するすべて可視光発信機器からの可視光IDのそれぞれに対応する詳細情報を取得することとなる。しかし、例えば、本実施の形態では、ユーザが例えばタクシーB0601〜B0603の詳細情報のみを取得したいという意図と、ユーザが例えば上方向(図47中の矢印方向)にモバイル端末B0101を動かすジェスチャー操作とを連動させることで、モバイル端末B0101は、取得する詳細情報を、タクシーB0601〜B0603の詳細情報のみに制限する。
これにより、ユーザにとって不要な詳細情報の取得を制限できる。つまり、表示部B0109上に表示される詳細情報(可視光ID対応情報)を選別できることにより、ユーザ・インターフェースの見易さ向上や、可視光ID対応情報のネットワークを介した取得を制限することができる等の効果が得られる。なお、カメラ(前面カメラB0106および背面カメラB0107)は、可視光IDを受光する際はシャッタースピードを高速に切り替える処理を行う。
図48は、ジャスチャー操作によって表示される詳細情報の選択を行う処理動作の一例を示す図である。
モバイル端末B0101は、上述のように、上方向にモバイル端末B0101を動かすジェスチャー操作を検知すると、タクシーB0601〜B0603の詳細情報のみを取得する。そして、モバイル端末B0101は、カメラ(前面カメラB0106および背面カメラB0107)による撮影によって得られた撮像画像を表示する。このとき、モバイル端末B0101は、詳細情報が取得されていることを示す吹き出し画像(提示可能通知画像)B0702〜B0704のそれぞれを、タクシーB0601〜B0603のそれぞれの像に対応付けた状態で、表示される撮像画像に重畳する。さらに、モバイル端末B0101は、タクシーB0601〜B0603の詳細情報のうち、何れか1つのタクシーの詳細情報だけを、そのタクシーの吹き出し画像に表示させる。例えば、タクシーB0601の詳細情報「10%割引中」だけが、吹き出し画像B0702に表示される。このような詳細情報を含む吹き出し画像は、被写体であるタクシーからの可視光IDに応じて生成される画像であって、そのタクシーに関する内容を示す内容通知画像である。また、上述の提示可能通知画像(詳細情報を含まない吹き出し画像)は、詳細情報を示すことが可能であることを通知するための画像である。
ここで、ユーザがモバイル端末B0101を右上方向(図48中の矢印方向)に振ると、モバイル端末B0101のジェスチャー検知部B0102は、その右上方向に振るというジェスチャー操作を検知する。その結果、モバイル端末B0101は、吹き出し画像B0702に表示されている詳細情報を隠す。さらに、このとき、モバイル端末B0101は、撮像画像上の吹き出し画像B0702に最も近い右上方向にある吹き出し画像B0703に、その吹き出し画像B0702に対応付けられた像のタクシーB0602の詳細情報「長距離割引中」を表示させる。
このように、本実施の形態では、ユーザは、モバイル端末B0101を振るジェスチャー操作をすることで、表示させる詳細情報を簡単に変更することができる。
図49は、受光ID選別部B0104が保持するジェスチャー・モード対応テーブルの一例を示す図である。
ジェスチャー・モード対応テーブルは、ジェスチャー操作ごとに、そのジェスチャー操作B0801と、そのジェスチャー操作に対応付けられた受光モードB0802とを示す。例えば、モバイル端末をユーザの目前にかざす操作(または、モバイル端末を上に掲げる操作)であるホールド・アップというジェスチャー操作に対しては、タクシーの詳細情報を表示するための受光モード「タクシー」が対応付けられている。また、モバイル端末を左右に振る操作であるシェイクというジェスチャー操作に対しては、現在設定されている受光モードを解除する受光モード「解除」が対応付けられている。
図50は、受光ID選別部B0104が保持するID取り扱いテーブルの一例を示す図である。
このID取り扱いテーブルは、受光モードごとに、その受光モードB0901と、その受光モードを識別するための第1グループID_B0902と、その受光モードにおいて候補とされる可視光IDを送信する可視光発信機器の名称B0903と、その可視光発信機器を識別するための第2グループID_B0904と、その可視光発信機器に基づく詳細情報を表示部B0109に表示される対象とすべきか否かを示す情報B0905と、その詳細情報をID対応情報変換サーバB0111から取得するべきか否かを示す情報B0906とを含む。例えば、タクシーの詳細情報を表示するための受光モード(タクシー)に対しては、第1グループID「TAXIAA1」と、可視光発信機器の名称「行灯」および「ヘッドライト」とが対応付けられている。そして、可視光発信機器の名称「行灯」に対しては、第2グループID「XX001」と、その行灯に基づく詳細情報を表示部B0109に表示される対象とすべきことを示す「要」と、その詳細情報をID対応情報変換サーバB0111から取得すべきことを示す「要」とが対応付けられている。
図51は、ID対応情報保持部B0114が保持するID・対応情報テーブルの一例を示す図である。
このID・対応情報テーブルは、可視光IDごとに、その可視光ID_B1001と、その可視光IDに対応付けられた可視光ID対応情報B1002とを含む。このID・対応情報テーブルに示すように、可視光IDは、ハイフン(―)で結びつけられた、三つの文字数字列から成る。これらの文字数字列のうちのはじめの文字数字列は、図50に示す第1グループID_B0902に該当し、真ん中の文字数字列は、図50に示す第2グループID_B0904に該当し、最後の文字数字列は、可視光ID対応情報を識別するためのIDである。可視光ID対応情報は、例えばURLなどによって示される。モバイル端末B0101は、通知情報に含まれる可視光ID対応情報がURLの場合には、そのURLによって示される場所から詳細情報を取得する。また、図51に示すID・対応情報テーブルに含まれる可視光ID_B1001のうち、「TAXIAA1−XX001−0001」、「TAXIAA1−XX001−0002」、「TAXIAA1−XX001−0003」および「TAXIAA1−XX001−0004」は、タクシーの行灯から可視光によって送信される可視光IDである。また、図51に示すID・対応情報テーブルに含まれる可視光ID_B1001のうち、「TAXIAA1−HR001−0001」および「TAXIAA1−HR001−0002」は、タクシーのヘッドライトから可視光によって送信される可視光IDである。
なお、上記実施の形態では、ユーザのジェスチャー操作によって受光モードを決定したが、他の要因によって受光モードを決定してもよい。例えば、モバイル端末B0101の姿勢によって受光モードを決定してもよい。
図52は、モバイル端末B0101の姿勢によって受光モードを決定する処理を説明するための図である。
モバイル端末B0101のセンシング部B0103は、モバイル端末B0101の筐体の姿勢を検知する。モバイル端末B0101は、その結果に基づいて、可視光発信機器B0120からの可視光B1101の受光を行うカメラを、前面カメラB0106および背面カメラB0107のうちの一方に決定する。これにより、前面カメラB0106および背面カメラB0107のうちの一方でのみ、可視光B1101の受光を行う。したがって、前面カメラB0106および背面カメラB0107のそれぞれによって得られる可視光IDの中から、ユーザにとって必要とされる詳細情報に対応する可視光IDを、そのモバイル端末B0101の姿勢によって簡単に選別することができる。さらに、反射光等による不正動作の誘発を軽減することができ、また、電力消費を抑えることができる。
例えば、図52の(a)に示すように、モバイル端末B0101の筐体の姿勢として、その筐体が前面側を上に向けて鉛直方向に対して45度以上傾いている状態(例えば60度傾いている状態)が検知されると、モバイル端末B0101は、前面カメラB0106のみを起動する。一方、図52の(b)に示すように、モバイル端末B0101の筐体の姿勢として、その筐体が前面側をユーザに向けて鉛直方向に対して45度より小さく傾いている状態(例えば10度傾いている状態)が検知されると、モバイル端末B0101は、背面カメラB0107のみを起動する。
なお、本実施の形態では、タクシーが可視光によって送信する可視光IDに対応する詳細情報のみを取得する場合について説明した。しかし、このような詳細情報以外にも、街中にある店舗看板やサイネージが可視光によって送信する可視光IDに対応する詳細情報のみを取得したり、室内にある家電等(例えばLEDランプやテレビ映像)が可視光によって送信する可視光IDに対応する詳細情報のみを取得したりしてもよい。
このように本実施の形態では、複数の被写体(タクシーなど)のそれぞれから送信されて受信された信号(可視光ID)のうち、何れかの被写体からの信号に応じて生成される画像であって、その被写体に関する内容を示す画像である内容通知画像(詳細情報を含む吹き出し画像)が、その被写体の像に対応付けられた状態で撮像画像に重畳される。さらに、端末装置(モバイル端末)が振られたと判定されたときには、振られた方向にある他の被写体からの信号に応じて生成される画像であって、当該他の被写体に関する内容を示す画像である他の内容通知画像が、当該他の被写体の像に対応付けられた状態で撮像画像に重畳される。したがって、例えば、被写体に関する詳細情報が吹き出しの中に記述された内容通知画像が、その被写体の像に対応付けられた状態で表示されるため、ユーザは、その被写体に関する情報を適切に把握することができる。また、端末装置を振ることによって、内容通知画像が表示される対象となる被写体を簡単に切り替えることができる。さらに、その対象は、端末装置が振られた方向にある被写体に切り替えられるため、ユーザに直感的にその切り替えをさせることができ、ユーザ・インターフェースをさらに向上することができる。
さらに、本実施の形態では、複数の被写体の像のうち、内容通知画像が対応付けられた被写体の像を除く、残りの被写体の像のそれぞれに対しては、その残りの被写体に関する内容(詳細情報)を提示することが可能であることを通知するための提示可能通知画像が撮像画像に重畳される。したがって、内容通知画像が表示されていない被写体の像には、例えば詳細情報が記述されていない小さい吹き出しの形をした提示可能通知画像が表示されるため、ユーザは、端末装置を振ることによって、その被写体に関する内容(詳細情報)を内容通知画像として表示させることができると判断することができる。
図53Aは、本発明の一態様に係る情報通信方法のフローチャートである。
本発明の一態様に係る情報通信方法は、可視光通信を行う情報通信方法であって、ステップS11、S12、S13およびS14を含む。
つまり、この情報通信方法は、光を検出する受光部を用いて可視光通信を行うための第1のプログラムと、前記受光部を用いて前記可視光通信と異なる処理を行うための第2のプログラムとによって、前記受光部の使用の競合が発生するか否かを判定する判定ステップ(S11)と、競合が発生すると判定されたときには、前記競合が生じることを前記受光部のユーザに通知する通知ステップ(S12)と、前記ユーザによる操作に応じて、前記第1および第2のプログラムの何れか一方に前記受光部の使用を許可する競合解決ステップ(S13)と、前記第1のプログラムに使用が許可された場合に、前記受光部によって検出される光に応じた可視光通信を前記第1のプログラムがコンピュータに実行させる可視光通信ステップ(S14)とを含む。
図53Bは、本発明の一態様に係る情報通信装置のブロック図である。
本発明の一態様に係る情報通信装置10は、可視光通信を行う情報通信装置であって、構成要素11、12、13および14を備える。
つまり、この情報通信装置10は、光を検出する受光部を用いて可視光通信を行うための第1のプログラムと、前記受光部を用いて前記可視光通信と異なる処理を行うための第2のプログラムとによって、前記受光部の使用の競合が発生するか否かを判定する判定部11と、競合が発生すると判定されたときには、前記競合が生じることを前記受光部のユーザに通知する通知部12と、前記ユーザによる操作に応じて、前記第1および第2のプログラムの何れか一方に前記受光部の使用を許可する競合解決部13と、前記第1のプログラムに使用が許可された場合に、前記受光部によって検出される光に応じた可視光通信を前記第1のプログラムにしたがって実行する可視光通信部14とを備える。
このような図53Aおよび図53Bによって示される情報通信方法および情報通信装置10では、受光部の使用の競合が発生する場合には、その競合が生じることが受光部のユーザに通知され、ユーザの操作によって、何れかのプログラムに受光部の使用が許可されため、ユーザは、その受光部を備えた端末において生じている状況を容易に把握することができる。さらに、その状況を把握したうえで、ユーザは端末を操作することができるため、余計な操作をすることなく、受光部の使用の競合を簡単に解決することができる。その結果、ユーザ・インターフェースの向上を図り、ユーザへの負担を軽減することができる。
なお、上記各実施の形態および変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。例えばプログラムは、図53Aのフローチャートによって示される情報通信方法をコンピュータに実行させる。
(実施の形態5)
以下、実施の形態5について説明する。
(発光部の輝度の観測)
1枚の画像を撮像するとき、全ての撮像素子を同一のタイミングで露光させるのではなく、撮像素子ごとに異なる時刻に露光を開始・終了する撮像方法を提案する。図54は、1列に並んだ撮像素子は同時に露光させ、列が近い順に露光開始時刻をずらして撮像する場合の例である。ここでは、同時に露光する撮像素子の露光ラインと呼び、その撮像素子に対応する画像上の画素のラインを輝線と呼ぶ。
この撮像方法を用いて、点滅している光源を撮像素子の全面に写して撮像した場合、図55のように、撮像画像上に露光ラインに沿った輝線(画素値の明暗の線)が生じる。この輝線のパターンを認識することで、撮像フレームレートを上回る速度の光源輝度変化を推定することができる。これにより、信号を光源輝度の変化として送信することで、撮像フレームレート以上の速度での通信を行うことができる。光源が2種類の輝度値をとることで信号を表現する場合、低い方の輝度値をロー(LO),高い方の輝度値をハイ(HI)と呼ぶ。ローは光源が光っていない状態でも良いし、ハイよりも弱く光っていても良い。
この方法によって、撮像フレームレートを超える速度で情報の伝送を行う。
一枚の撮像画像中に、露光時間が重ならない露光ラインが20ラインあり、撮像のフレームレートが30fpsのときは、1.67ミリ秒周期の輝度変化を認識できる。露光時間が重ならない露光ラインが1000ラインある場合は、3万分の1秒(約33マイクロ秒)周期の輝度変化を認識できる。なお、露光時間は例えば10ミリ秒よりも短く設定される。
図55は、一つの露光ラインの露光が完了してから次の露光ラインの露光が開始される場合を示している。
この場合、1秒あたりのフレーム数(フレームレート)がf、1画像を構成する露光ライン数がlのとき、各露光ラインが一定以上の光を受光しているかどうかで情報を伝送すると、最大でflビット毎秒の速度で情報を伝送することができる。
なお、ラインごとではなく、画素ごとに時間差で露光を行う場合は、さらに高速で通信が可能である。
このとき、露光ラインあたりの画素数がm画素であり、各画素が一定以上の光を受光しているかどうかで情報を伝送する場合には、伝送速度は最大でflmビット毎秒となる。
図56のように、発光部の発光による各露光ラインの露光状態を複数のレベルで認識可能であれば、発光部の発光時間を各露光ラインの露光時間より短い単位の時間で制御することで、より多くの情報を伝送することができる。
露光状態をElv段階で認識可能である場合には、最大でflElvビット毎秒の速度で情報を伝送することができる。
また、各露光ラインの露光のタイミングと少しずつずらしたタイミングで発光部を発光させることで、発信の基本周期を認識することができる。
図57Aは、一つの露光ラインの露光が完了する前に次の露光ラインの露光が開始される場合を示している。即ち、隣接する露光ラインの露光時間が、部分的に時間的な重なりを持つ構成となっている。このような構成により、(1)一つの露光ラインの露光時間の終了を待って次の露光ラインの露光を開始する場合に比べ、所定の時間内におけるサンプル数を多くすることができる。所定時間内におけるサンプル数が多くなることにより、被写体である光送信機が発生する光信号をより適切に検出することが可能となる。即ち、光信号を検出する際のエラー率を低減することが可能となる。更に、(2)一つの露光ラインの露光時間の終了を待って次の露光ラインの露光を開始する場合に比べ、各露光ラインの露光時間を長くすることができるため、被写体が暗い場合であっても、より明るい画像を取得することが可能となる。即ち、S/N比を向上させることが可能となる。なお、全ての露光ラインにおいて、隣接する露光ラインの露光時間が、部分的に時間的な重なりを持つ構成となる必要はなく、一部の露光ラインについて部分的に時間的な重なりを持たない構成とすることも可能である。一部の露光ラインについて部分的に時間的な重なりを持たないように構成するにより、撮像画面上における露光時間の重なりによる中間色の発生を抑制でき、より適切に輝線を検出することが可能となる。
この場合は、各露光ラインの明るさから露光時間を算出し、発光部の発光の状態を認識する。
なお、各露光ラインの明るさを、輝度が閾値以上であるかどうかの2値で判別する場合には、発光していない状態を認識するために、発光部は発光していない状態を各ラインの露光時間以上の時間継続しなければならない。
図57Bは、各露光ラインの露光開始時刻が等しい場合に、露光時間の違いによる影響を示している。7500aは前の露光ラインの露光終了時刻と次の露光ラインの露光開始時刻とが等しい場合であり、7500bはそれより露光時間を長くとった場合である。7500bのように、隣接する露光ラインの露光時間が、部分的に時間的な重なりを持つ構成とすることにより、露光時間を長くとることが可能となる。即ち、撮像素子に入射する光が増大し、明るい画像を得ることができる。また、同一の明るさの画像を撮像するための撮像感度を低く抑えられることで、ノイズの少ない画像が得られるため、通信エラーが抑制される。
図57Cは、露光時間が等しい場合に、各露光ラインの露光開始時刻の違いによる影響を示している。7501aは前の露光ラインの露光終了時刻と次の露光ラインの露光開始時刻とが等しい場合であり、7501bは前の露光ラインの露光終了より早く次の露光ラインの露光を開始する場合である。7501bのように、隣接する露光ラインの露光時間が、部分的に時間的な重なりを持つ構成とすることにより、時間あたりに露光できるラインを増やすことが可能となる。これにより、より解像度が高くなり、多くの情報量が得られる。サンプル間隔(=露光開始時刻の差)が密になることで、より正確に光源輝度の変化を推定することができ、エラー率が低減でき、更に、より短い時間における光源輝度の変化を認識することができる。露光時間に重なりを持たせることで、隣接する露光ラインの露光量の差を利用して、露光時間よりも短い光源の点滅を認識することができる。
図57B、図57Cで説明したように、隣接する露光ラインの露光時間が、部分的に時間的な重なりをもつように、各露光ラインを順次露光する構成において、露光時間を通常撮影モードよりも短く設定することにより発生する輝線パターンを信号伝送に用いることにより通信速度を飛躍的に向上させることが可能になる。ここで、可視光通信時における露光時間を1/480秒以下に設定することにより適切な輝線パターンを発生させることが可能となる。ここで、露光時間は、フレーム周波数=fとすると、露光時間<1/8×fと設定する必要がある。撮影の際に発生するブランキングは、最大で1フレームの半分の大きさになる。即ち、ブランキング時間は、撮影時間の半分以下であるため、実際の撮影時間は、最も短い時間で1/2fとなる。更に、1/2fの時間内において、4値の情報を受ける必要があるため、少なくとも露光時間は、1/(2f×4)よりも短くする必要が生じる。通常フレームレートは、60フレーム/秒以下であることから、1/480秒以下の露光時間に設定することにより、適切な輝線パターンを画像データに発生させ、高速の信号伝送を行うことが可能となる。
図57Dは、各露光ラインの露光時間が重なっていない場合、露光時間が短い場合の利点を示している。露光時間が長い場合は、光源は7502aのように2値の輝度変化をしていたとしても、撮像画像では7502eのように中間色の部分ができ、光源の輝度変化を認識することが難しくなる傾向がある。しかし、7502dのように、一つの露光ラインの露光終了後、次の露光ラインの露光開始まで所定の露光しない空き時間(所定の待ち時間)tD2を設ける構成とすることにより、光源の輝度変化を認識しやすくすることが可能となる。即ち、7502fのような、より適切な輝線パターンを検出することが可能となる。7502dのように、所定の露光しない空き時間を設ける構成は、露光時間tEを各露光ラインの露光開始時刻の時間差tDよりも小さくすることにより実現することが可能となる。通常撮影モードが、隣接する露光ラインの露光時間が、部分的に時間的な重なりを持つ構成である場合において、露光時間を通常撮影モード時よりも、所定の露光しない空き時間が生じるまで短く設定することにより、実現することができる。また、通常撮影モードが、前の露光ラインの露光終了時刻と次の露光ラインの露光開始時刻とが等しい場合であっても、所定の露光しない時間が生じるまで露光時間を短く設定することにより、実現することができる。また、7502gのように、各露光ラインの露光開始時刻の間隔tDを大きくすることによっても、一つの露光ラインの露光終了後、次の露光ラインの露光開始まで所定の露光しない空き時間(所定の待ち時間)tD2を設ける構成をとることができる。この構成では、露光時間を長くすることができるため、明るい画像を撮像することができ、ノイズが少なくなることからエラー耐性が高い。一方で、この構成では、一定時間内に露光できる露光ラインが少なくなるため、7502hのように、サンプル数が少なくなるという欠点があるため、状況によって使い分けることが望ましい。例えば、撮像対象が明るい場合には前者の構成を用い、暗い場合には後者の構成を用いることで、光源輝度変化の推定誤差を低減することができる。
なお、全ての露光ラインにおいて、隣接する露光ラインの露光時間が、部分的に時間的な重なりを持つ構成となる必要はなく、一部の露光ラインについて部分的に時間的な重なりを持たない構成とすることも可能である。また、全ての露光ラインにおいて、一つの露光ラインの露光終了後、次の露光ラインの露光開始まで所定の露光しない空き時間(所定の待ち時間)を設ける構成となる必要はなく、一部の露光ラインについて部分的に時間的な重なりを持つ構成とすることも可能である。このような構成とすることにより、それぞれの構成における利点を生かすことが可能となる。また、通常のフレームレート(30fps、60fps)にて撮影を行う通常撮影モードと、可視光通信を行う1/480秒以下の露光時間にて撮影を行う可視光通信モードとにおいて、同一の読み出し方法または回路にて信号の読み出しを行ってもよい。同一の読み出し方法または回路にて信号を読み出すことにより、通常撮影モードと、可視光通信モードとに対して、それぞれ別の回路を用いる必要がなくなり、回路規模を小さくすることが可能となる。
図57Eは、光源輝度の最小変化時間tSと、露光時間tEと、各露光ラインの露光開始時刻の時間差tDと、撮像画像との関係を示している。tE+tD<tSとした場合は、必ず一つ以上の露光ラインが露光の開始から終了まで光源が変化しない状態で撮像するため、7503dのように輝度がはっきりとした画像が得られ、光源の輝度変化を認識しやすい。2tE>tSとした場合は、光源の輝度変化とは異なるパターンの輝線が得られる場合があり、撮像画像から光源の輝度変化を認識することが難しくなる。
図57Fは、光源輝度の遷移時間tTと、各露光ラインの露光開始時刻の時間差tDとの関係を示している。tTに比べてtDが大きいほど、中間色になる露光ラインが少なくなり、光源輝度の推定が容易になる。tD>tTのとき中間色の露光ラインは連続で2ライン以下になり、望ましい。tTは、光源がLEDの場合は1マイクロ秒以下、光源が有機ELの場合は5マイクロ秒程度となるため、tDを5マイクロ秒以上とすることで、光源輝度の推定を容易にすることができる。
図57Gは、光源輝度の高周波ノイズtHTと、露光時間tEとの関係を示している。tHTに比べてtEが大きいほど、撮像画像は高周波ノイズの影響が少なくなり、光源輝度の推定が容易になる。tEがtHTの整数倍のときは高周波ノイズの影響がなくなり、光源輝度の推定が最も容易になる。光源輝度の推定には、tE>tHTであることが望ましい。高周波ノイズの主な原因はスイッチング電源回路に由来し、多くの電灯用のスイッチング電源ではtHTは20マイクロ秒以下であるため、tEを20マイクロ秒以上とすることで、光源輝度の推定を容易に行うことができる。
図57Hは、tHTが20マイクロ秒の場合の、露光時間tEと高周波ノイズの大きさとの関係を表すグラフである。tHTは光源によってばらつきがあることを考慮すると、グラフより、tEは、ノイズ量が極大をとるときの値と等しくなる値である、15マイクロ秒以上、または、35マイクロ秒以上、または、54マイクロ秒以上、または、74マイクロ秒以上として定めると効率が良いことが確認できる。高周波ノイズ低減の観点からはtEは大きいほうが望ましいが、前述のとおり、tEが小さいほど中間色部分が発生しづらくなるという点で光源輝度の推定が容易になるという性質もある。そのため、光源輝度の変化の周期が15〜35マイクロ秒のときはtEは15マイクロ秒以上、光源輝度の変化の周期が35〜54マイクロ秒のときはtEは35マイクロ秒以上、光源輝度の変化の周期が54〜74マイクロ秒のときはtEは54マイクロ秒以上、光源輝度の変化の周期が74マイクロ秒以上のときはtEは74マイクロ秒以上として設定すると良い。
図57Iは、露光時間tEと認識成功率との関係を示す。露光時間tEは光源の輝度が一定である時間に対して相対的な意味を持つため、光源輝度が変化する周期tSを露光時間tEで割った値(相対露光時間)を横軸としている。グラフより、認識成功率をほぼ100%としたい場合は、相対露光時間を1.2以下にすれば良いことがわかる。例えば、送信信号を1kHzとする場合は露光時間を約0.83ミリ秒以下とすれば良い。同様に、認識成功率を95%以上としたい場合は相対露光時間を1.25以下に、認識成功率を80%以上としたい場合は相対露光時間を1.4以下にすれば良いということがわかる。また、相対露光時間が1.5付近で認識成功率が急激に下がり、1.6でほぼ0%となるため、相対露光時間が1.5を超えないように設定すべきであることがわかる。また、認識率が7507cで0になった後、7507dや、7507e、7507fで、再度上昇していることがわかる。そのため、露光時間を長くして明るい画像を撮像したい場合などは、相対露光時間が1.9から2.2、2.4から2.6、2.8から3.0となる露光時間を利用すれば良い。例えば、図59の中間モードとして、これらの露光時間を使うと良い。
図58のように、撮像装置によっては、露光を行わない時間(ブランキング)が存在することがある。
ブランキングが存在する場合には、その時間の発光部の輝度は観察できない。
発光部が同じ信号を2回以上繰り返して送信する、または、誤り訂正符号を付加することで、ブランキングによる伝送損失を防ぐことができる。
発光部は、同じ信号が常にブランキングの間に送信されることを防ぐために、画像を撮像する周期と互いに素となる周期、または、画像を撮像する周期より短い周期で信号を送信する。
(実施の形態6)
図60は、既に説明した実施の形態に記載の受信方法を用いたサービス提供システムを示す図である。
まず、サーバex8002を管理する企業A ex8000に対して、他の企業Bや個人ex8001が、携帯端末への情報の配信を依頼する。例えば、サイネージと可視光通信した携帯端末に対して、詳細な広告情報や、クーポン情報、または、地図情報などの配信を依頼する。サーバを管理する企業A ex8000は、任意のID情報に対応させて携帯端末へ配信する情報を管理する。携帯端末ex8003は、可視光通信により被写体ex8004からID情報を取得し、取得したID情報をサーバex8002へ送信する。サーバex8002は、ID情報に対応する情報を携帯端末へ送信するとともに、ID情報に対応する情報を送信した回数をカウントする。サーバを管理する企業A ex8000は、カウントした回数に応じた料金を、依頼した企業Bや個人ex8001に対して課金する。例えば、カウント数が大きい程、課金する額を大きくする。
図61は、サービス提供のフローを示すフローチャートである。
Step ex8000において、サーバを管理する企業Aが、他企業Bより情報配信の依頼を受ける。次に、Step ex8001において、企業Aが管理するサーバにおいて、配信依頼を受けた情報を、特定のID情報と関連付ける。Step ex8002では、携帯端末が、可視光通信により、被写体から特定のID情報を受信し、企業Aが管理するサーバへ送信する。可視光通信方法の詳細については、他の実施の形態において既に説明しているため省略する。サーバは、携帯端末から送信された特定のID情報に対応する情報を携帯端末に対して送信する。Step ex8003では、サーバにおいて、情報配信した回数をカウントする。最後に、Step ex8004において、情報配信したカウント数に応じた料金を企業Bに対して課金する。このように、カウント数に応じて、課金を行うことにより、情報配信の宣伝効果に応じた適切な料金を企業Bに課金することが可能となる。
図62は、他の例におけるサービス提供を示すフローチャートである。図61と重複するステップについては説明を省略する。
Step ex8008において、情報配信の開始から所定時間が経過したか否か判断する。所定時間内と判断されれば、Step ex8011において、企業Bに対しての課金は行わない。一方、所定期間が経過していると判断された場合には、Step ex8009において、情報を配信した回数をカウントする。そして、Step ex8010において、情報配信したカウントに応じた料金を企業Bに対して課金する。このように、所定期間内は無料で情報配信を行うことから、企業Bは宣伝効果などを確認した上で、課金サービスを受けることができる。
図63は、他の例におけるサービス提供を示すフローチャートである。図62と重複するステップについては説明を省略する。
Step ex8014において、情報を配信した回数をカウントする。Step ex8015において、情報配信開始から所定期間が経過していないと判断された場合には、Step ex8016において課金は行わない。一方、所定期間が経過していると判断された場合には、Step ex8017において、情報を配信した回数が所定値以上か否か判断を行う。情報を配信した回数が所定値に満たない場合には、カウント数をリセットし、再度、情報を配信した回数をカウントする。この場合、情報を配信した回数が所定値未満だった、所定期間については企業Bに対して課金は行わない。Step ex8017において、カウント数が所定値以上であれば、Step ex8018においてカウント数を一度リセットし、再度カウントを再開する。Step ex8019において、カウント数に応じた料金を企業Bに対して課金する。このように、無料で配信を行った期間内におけるカウント数が少なかった場合に、再度、無料配信の期間を設けることで、企業Bは適切なタイミングで課金サービスを受けることができる。また、企業Aもカウント数が少なかった場合に、情報内容を分析し、例えば、季節と対応しない情報になっているような場合に、情報内容を変更するように企業Bに対し提案することが可能となる。なお、再度、無料の情報配信期間を設ける場合には、初回の所定の期間よりも短い期間としてもよい。初回の所定の期間よりも短くすることにより、企業Aに対する負担を小さくすることができる。また、一定期間を空けて、無料の配信期間を再度設ける構成としてもよい。例えば、季節の影響を受ける情報であれば、季節が変わるまで一定期間を空けて、再度、無料の配信期間を設けることができる。
なお、情報の配信回数によらず、データ量に応じて、課金料金を変更するとしてもよい。一定のデータ量の配信は無料として、所定のデータ量以上は、課金する構成としてもよい。また、データ量が大きくなるにつれて、課金料金も大きくしてもよい。また、情報を特定のID情報に対応付けて管理する際に、管理料を課金してもよい。管理料として課金することにより、情報配信を依頼した時点で、料金を決定することが可能となる。
以上、本発明の一つまたは複数の態様に係る情報通信方法および情報通信装置について、実施の形態およびその変形例に基づいて説明したが、本発明は、この実施の形態及びその変形例に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。
なお、以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。