(57)【特許請求の範囲】
【請求項１】
光源によって放出された可視光を介して通信されているデータを検出するようにコンフィギュレーションされている、モバイルシステムであって、
カメラと、
前記カメラを使用して画像を取り込み、取り込まれた前記画像内に特定のオブジェクトが認識されるか否かをリモートデータベースに問い合わせることにより決定し、前記特定のオブジェクトが認識された後にのみ、前記データを検出することを開始するようにコンフィギュレーションされている、少なくとも１つのプロセッサと、を備える、モバイルシステム。
【請求項２】
前記少なくとも１つのプロセッサが、前記特定のオブジェクトが認識されることを決定すると、可視光を介してデータが通信されているか否かを検出することを開始するために、更なるセンサを作動させるようにコンフィギュレーションされている、請求項１に記載のモバイルシステム。
【請求項３】
前記少なくとも１つのプロセッサが、前記更なるセンサから受信された信号が、可視光を介して通信されるデータを含むか否かを監視するように、及び、前記信号が可視光を介して通信されるデータを含まないことを決定すると、前記更なるセンサを作動停止させるようにコンフィギュレーションされている、請求項２に記載のモバイルシステム。
【請求項４】
前記更なるセンサが、前記カメラよりも広い視野を有する、請求項２又は３に記載のモバイルシステム。
【請求項５】
前記少なくとも１つのプロセッサが、前記特定のオブジェクトが認識されることを決定すると、可視光を介してデータが通信されているか否かを検出することを開始するために、前記カメラの設定を変更するようにコンフィギュレーションされている、請求項１乃至４のいずれか一項に記載のモバイルシステム。
【請求項６】
前記少なくとも１つのプロセッサが、前記カメラによって取り込まれた別の画像から、及び／又は、更なるセンサから受信された信号から、可視光を介してデータが通信されているか否かを検出するようにコンフィギュレーションされている、請求項１乃至５のいずれか一項に記載のモバイルシステム。
【請求項７】
前記少なくとも１つのプロセッサが、前記取り込まれた画像内で認識された特定のオブジェクトに関連して、いずれの情報を前記モバイルシステムに提供するべきかを、前記リモートデータベースが決定することを可能にする情報を、前記リモートデータベースに提供するようにコンフィギュレーションされている、請求項１乃至６のいずれか一項に記載のモバイルシステム。
【請求項８】
前記少なくとも１つのプロセッサが、前記取り込まれた画像内で認識された前記特定のオブジェクトに関連付けられているプロトコル情報を取得するように、及び、取得された前記プロトコル情報を使用して、前記可視光を介して通信されるデータの少なくとも一部を復号するようにコンフィギュレーションされている、請求項１乃至７のいずれか一項に記載のモバイルシステム。
【請求項９】
前記少なくとも１つのプロセッサが、前記取り込まれた画像内で認識された前記特定のオブジェクトに関連付けられている解読キーを取得するように、及び、取得された前記解読キーを使用して、前記可視光を介して通信されるデータの少なくとも一部を復号するようにコンフィギュレーションされている、請求項１乃至８のいずれか一項に記載のモバイルシステム。
【請求項１０】
前記少なくとも１つのプロセッサが、前記取り込まれた画像内で認識された前記特定のオブジェクトに関連付けられている領域情報であって、認識された前記オブジェクトの領域を識別する、領域情報を取得するように、及び、前記可視光を介して通信されているデータを検出及び／又は復号するために、取り込まれた画像内の前記認識されたオブジェクトの前記領域のみを分析するようにコンフィギュレーションされている、請求項１乃至９のいずれか一項に記載のモバイルシステム。
【請求項１１】
前記少なくとも１つのプロセッサが、前記カメラを使用して更なる画像を取り込み、取り込まれた前記更なる画像内に特定のオブジェクトが認識されるか否かを決定し、前記取り込まれた更なる画像内に特定のオブジェクトが認識されないことを決定すると、可視光を介して通信されているデータを検出することを停止するようにコンフィギュレーションされている、請求項１乃至１０のいずれか一項に記載のモバイルシステム。
【請求項１２】
前記少なくとも１つのプロセッサが、前記取り込まれた画像内の特定のオブジェクトに関連付けられている、特定の形状又は特定のパターンを認識することによって、前記取り込まれた画像内の特定のオブジェクトを認識するようにコンフィギュレーションされている、請求項１乃至１１のいずれか一項に記載のモバイルシステム。
【請求項１３】
可視光通信の検出の方法であって、
カメラを使用して画像を取り込むステップと、
取り込まれた前記画像内に特定のオブジェクトが認識されるか否かをリモートデータベースに問い合わせることにより決定するステップと、
前記特定のオブジェクトが認識された後にのみ、光源によって放出された可視光を介して通信されているデータを検出することを開始するステップと、
を含む、方法。
【請求項１４】
少なくとも１つのソフトウェアコード部分を含むコンピュータプログラム若しくはコンピュータプログラム一式、又は、少なくとも１つのソフトウェアコード部分を記憶しているコンピュータプログラムであって、前記ソフトウェアコード部分が、コンピュータシステム上で実行されると、請求項１３に記載の方法が実行されることを可能にするようにコンフィギュレーションされている、コンピュータプログラム若しくはコンピュータプログラム一式又はコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可視光通信の検出及び／又は復号のためのモバイルシステムに関する。
【０００２】
本発明は更に、可視光通信の検出及び／又は復号の方法に関する。
【０００３】
本発明はまた、そのような方法をコンピュータシステムが実行することを可能にする、コンピュータプログラム製品にも関する。
【背景技術】
【０００４】
可視光通信（Visible Light Communication；ＶＬＣ）は、例えば蛍光ランプ又はＬＥＤを使用して、可視光を介してデータを通信するための技術である。２０１４年９月のＭｏｂｉＣｏｍ'１４  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２０ｔｈ  ａｎｎｕａｌ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｏｂｉｌｅ  ｃｏｍｐｕｔｉｎｇ  ａｎｄ  ｎｅｔｗｒｏｋｉｎｇの４４７〜４５８ページで公開された、Ｋｕｏらによる論文「Ｌｕｘａｐｏｓｅ：Ｉｎｄｏｏｒ  Ｐｏｓｉｔｉｏｎｉｎｇ  ｗｉｔｈ  Ｍｏｂｉｌｅ  Ｐｈｏｎｅｓ  ａｎｄ  Ｖｉｓｉｂｌｅ  Ｌｉｇｈｔ」は、ＶＬＣベースの屋内測位に関する方法を開示している。この方法は、人間が感知不可能な光パルスで符号化されている識別子及び／又は位置を送信する、ＬＥＤ照明器具の助けを借りて、カメラ付きスマートフォンの位置を決定することを含む。カメラ付きスマートフォンは、送信された可視光データを検出及び復号するために、その露出及びＩＳＯ設定が変更されている、未修正のスマートフォンである。
【０００５】
Ｙｉ−Ｙｕａｎ  Ｃｈｅｎらによる論文「Ｒｏｂｕｓｔ  Ｌｉｇｈｔ  Ｏｂｊｅｃｔｓ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｂａｓｅｄ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ｖｉｓｉｏｎ」は、画像内の光オブジェクトの位置を認識するための方法を開示しており、この方法は、光オブジェクトの幾何学的配置及び点滅周波数の基準を、画像処理技術と共に使用して、光オブジェクトの状態及び位置を迅速に認識するものである。
【０００６】
Ｌｕｘａｐｏｓｅ論文に開示されている方法の欠点は、可視光を使用してデータが送信され得る場合に、カメラが常にオンであり、かつ特別な設定を使用する必要がある点、並びに、それゆえカメラが、他の用途、例えば、他人と共有される写真を撮影することに関しては、露出及びＩＳＯ設定が当該用途に関して最適ではないため、最適に使用されることができない点である。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の第１の目的は、可視光通信を検出及び／又は復号することが可能であると共に、この用途のために使用するリソースがより少ない、モバイルシステムを提供することである。
【０００８】
本発明の第２の目的は、可視光通信を検出及び／又は復号するリソース使用を低減する、可視光通信の検出及び／又は復号の方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明の第１の態様では、モバイルシステムは、光源によって放出された可視光を介して通信されているデータを検出するようにコンフィギュレーションされており、モバイルシステムは、カメラと、カメラを使用して画像を取り込み、取り込まれた画像内に、特定のオブジェクト、例えば、光源を含む特定のオブジェクトが認識されるか否かを決定し、特定のオブジェクトが認識された後にのみ、データを検出（及び／又は復号）することを開始するようにコンフィギュレーションされている、少なくとも１つのプロセッサとを備える。モバイルシステムは、単一のデバイス、例えば、カメラ付きスマートフォン、又は複数のデバイス、例えば、短距離通信を使用してスマートフォンと通信するスマートグラスを含んでもよい。例えば、特定のオブジェクトは、光源であってもよく、光源がその部分のうちの１つであるオブジェクトであってもよく、又は、１つ以上の基準マーカを含んでもよい。
【００１０】
本発明者らは、取り込まれた画像内に、特定のオブジェクト、例えば、可視光を介してデータを送信し得るオブジェクトが認識される場合にのみ、ＶＬＣ信号を検出及び／又は復号することによって、当該タスクが、検出及び／又は復号が継続的に実行される場合よりも、少ない電力を消費することを認識している。更には、この場合カメラは、他の用途、例えば、拡張現実、及び／又は、他人と共有される写真を撮影するために使用可能であってもよく、ＶＬＣ信号を受信するために更なるセンサが使用される場合には、更なるセンサは、常時オンに切り替えられている必要はない。いずれにせよ、カメラが（殆ど）継続的に、例えば、拡張現実の用途に関して使用されている場合、ＶＬＣ信号の検出及び復号は、著しい追加的リソースを使用することなく実施されてもよい。
【００１１】
ＶＬＣ信号の検出が、継続的に実行される場合であっても、取り込まれた画像内に特定のオブジェクトが認識される場合にのみ、ＶＬＣ信号を復号することによって、タスクはまた、復号が継続的に実行される場合よりも、少ない電力を消費する。例えば、アクセス制御により、ＶＬＣ信号を復号するために必要とされるプロトコル情報及び／又は解読キーを、モバイルシステムが取得することを禁止してもよい。この場合には、モバイルシステムは、ＶＬＣ信号を（完全には）復号することができず、それゆえ、少なくとも１つのプロセッサは、より少ないリソースを消費することになる。
【００１２】
少なくとも１つのプロセッサは、特定のオブジェクトが認識されることを決定すると、可視光を介してデータが通信されているか否かを検出することを開始するために、更なるセンサを作動させるようにコンフィギュレーションされてもよい。ＶＬＣ信号を受信するための更なるセンサ、例えば、第２のカメラ又はフォトダイオードを使用すること、並びに、他の用途、例えば、拡張現実、及び／又は他人と共有される写真を撮影することのために画像を取り込んだカメラを（継続して）使用することが、有利であり得る。更なるセンサが、継続的に作動されている必要がない場合には、電力消費が低減される。
【００１３】
少なくとも１つのプロセッサは、更なるセンサから受信された信号が、可視光を介して通信されるデータを含むか否かを監視するように、及び、信号が可視光を介して通信されるデータを含まないことを決定すると、更なるセンサを作動停止させるようにコンフィギュレーションされてもよい。電力消費を低減するためには、更なるセンサが、もはや必要とされない可能性が高い場合に、更なるセンサを作動停止させることが有益である。信号が、可視光を介して通信されるデータを含まない場合、更なるセンサは、その時点でもはや必要とされないと想定されてもよい。あるいは、更なるセンサは、認識されたオブジェクトを含む画像をカメラがもはや取り込まない場合に、作動停止されてもよいが、このことは、更なるセンサがカメラよりも広い視野を有する場合には、さほど有益ではない。カメラよりも広い視野を有する更なるセンサの使用は、取り込まれた単一の画像が、関連するＶＬＣ信号の全体を含まない場合に有益である。ＶＬＣ信号が、特定の（その後にＶＬＣ信号が繰り返される）時間にわたって受信される必要がある場合、より広い視野を有する更なるセンサは、ＶＬＣ信号を受信することをより容易にする。
【００１４】
少なくとも１つのプロセッサは、特定のオブジェクトが認識されることを決定すると、可視光を介してデータが通信されているか否かを検出することを開始するために、カメラの設定を変更するようにコンフィギュレーションされてもよい。Ｌｕｘａｐｏｓｅ論文で開示されているように、従来のスマートフォンカメラ（ＣＭＯＳイメージャが、典型的には、ＶＬＣデータを検出及び復号するために使用され得るローリングシャッター効果を提供するもの）の使用は、より低いコストを結果としてもたらしてもよく、及び／又は、カメラが他の用途に関しても使用可能であり得ることを確実にしてもよい。しかしながら、カメラの設定は、ＶＬＣ信号の周波数を考慮して、通常とは異ならざるを得ない場合がある。もはやＶＬＣ信号が受信される可能性がない場合に、以前のカメラの設定に戻ることによって、カメラは、他の用途に関して、それらの他の用途に最適な設定で使用されてもよい。
【００１５】
少なくとも１つのプロセッサは、取り込まれた画像から、カメラによって取り込まれた別の画像から、及び／又は、更なるセンサから受信された信号から、可視光を介してデータが通信されているか否かを検出するようにコンフィギュレーションされてもよい。例えば、オブジェクトが認識され得る画像であって、かつＶＬＣ信号も同様に検出され得る画像を取り込む、カメラ及びカメラ設定が使用されてもよい。取り込まれた画像内に特定のオブジェクトが認識される場合にのみ、取り込まれた画像は、ＶＬＣ信号の存在に関して分析されることになる。オブジェクトが認識可能であるが、ＶＬＣ信号が検出可能ではない、取り込まれた画像を結果的にもたらす、カメラ設定が使用される場合には、ＶＬＣ信号を検出及び復号するために、異なるカメラ設定で別の画像が取り込まれることが必要であり得る。カメラが、いずれの設定でもＶＬＣ信号を検出するために好適ではない場合、又は、カメラが、別の用途のために特定の設定を維持する必要がある場合には、更なるセンサが使用されてもよい。
【００１６】
少なくとも１つのプロセッサは、取り込まれた画像内に特定のオブジェクトが認識されるか否かを決定するために、リモートデータベースに問い合わせるようにコンフィギュレーションされてもよい。ＶＬＣ信号に関連付けられている、例えば、ＶＬＣ信号を送信する、１つ以上のオブジェクトの特性を、モバイルシステム自体に記憶させることも可能であり得るが、オブジェクトの集合が膨大であり、及び／又は（比較的）動的である場合には、リモートデータベースを使用することが有益である。更には、リモートデータベースは、例えば、モバイルシステムがＶＬＣ信号を復号することを許可されるか否か、又は、モバイルシステムのユーザが、復号されたＶＬＣ信号を見ることを許可されるか否かの、アクセス制御を実施することを、より容易にする。この場合には、モバイルシステムが信頼できるものであることは必須ではない。
【００１７】
少なくとも１つのプロセッサは、取り込まれた画像内で認識された特定のオブジェクトに関連して、いずれの情報をモバイルシステムに提供するべきかを、リモートデータベースが決定することを可能にする情報を、リモートデータベースに提供するようにコンフィギュレーションされてもよい。少なくとも１つのプロセッサは、例えば、リモートデータベースに、ユーザ識別子、グループ識別子、及び／又はパスコードを提供するようにコンフィギュレーションされてもよい。リモートデータベースによってモバイルシステムに提供される情報は、モバイルシステムから受信された情報に依存し得る。例えば、ユーザ識別子及び／又はグループ識別子が、それぞれ、取り込まれた画像内で認識された特定のオブジェクトに関連付けられている、ユーザ識別子のリスト及び／又はグループ識別子のリスト内にある場合にのみ、プロトコル情報及び／又は解読キーが、モバイルシステムに提供されてもよい。プロトコル情報及び／又は解読キーは、例えば、モバイルシステムが正しいパスキーを提供する場合にのみ、モバイルシステムに提供されてもよい。
【００１８】
少なくとも１つのプロセッサは、取り込まれた画像内で認識された特定のオブジェクトに関連付けられているプロトコル情報を取得するように、及び、取得されたプロトコル情報を使用して、可視光を介して通信されるデータの少なくとも一部を復号するようにコンフィギュレーションされてもよい。プロトコル情報は、例えば、ＶＬＣ信号のビットが、どのようにして使用可能な情報に復号されるべきかを、定義してもよい。例えば、マンチェスタ符号化ＶＬＣ信号が復号された場合、これは、多数のビットを結果的にもたらすが、それらのビットの意味は、種々のやり方で解釈可能であってもよい（例えば、それらのビットは、テキストメッセージ又はＵＲＬを形成してもよく、又は、それらのビットは、ＧＰＳの位置を形成してもよい）。全ての光源／ビーコンに関して、すなわち、全ての受信ＶＬＣ信号に対して、同じプロトコル情報を使用しないことによって、モバイルシステムは、多くの異なる種類の光源／ビーコンと共に機能することが可能であり得る。
【００１９】
少なくとも１つのプロセッサは、取り込まれた画像内で認識された特定のオブジェクトに関連付けられている解読キーを取得するように、及び、取得された解読キーを使用して、可視光を介して通信されるデータの少なくとも一部を復号するようにコンフィギュレーションされてもよい。例えば、マンチェスタ符号化ＶＬＣ信号が復号された場合には、多数のビットを結果的にもたらすが、それらのビットは、解読キーを所有している認可されたモバイルシステム／ユーザのみが、復号／閲覧することを可能にする、暗号化されたメッセージを形成してもよい。
【００２０】
少なくとも１つのプロセッサは、取り込まれた画像内で認識された特定のオブジェクトに関連付けられている領域情報であって、認識されたオブジェクトの領域を識別する、領域情報を取得するように、及び、可視光を介して通信されているデータを検出及び／又は復号するために、取り込まれた画像内の認識されたオブジェクトの領域のみを分析するようにコンフィギュレーションされてもよい。このことにより、ＶＬＣ信号の検出及び／又は復号を単純化して、少なくとも１つのプロセッサの電力消費を低減してもよい。
【００２１】
少なくとも１つのプロセッサは、カメラを使用して更なる画像を取り込み、取り込まれた更なる画像内に特定のオブジェクトが認識されるか否かを決定し、取り込まれた更なる画像内に特定のオブジェクトが認識されないことを決定すると、可視光を介して通信されているデータを検出することを停止するようにコンフィギュレーションされてもよい。ＶＬＣ信号を送信しているとして認識されるオブジェクトが、カメラの視野内に存在している限り、可視光を介して通信されているデータの復号及び／又は検出は、継続されてもよい。異なる情報（例えば、異なるプロトコル又は異なる領域情報）が、異なるオブジェクトに関連付けられてもよく、そのため、第２の取り込まれた画像内で、第１の取り込まれた画像内とは異なるオブジェクトが認識される場合には、その時点で、異なる情報が取得されることが必要であり得る。
【００２２】
少なくとも１つのプロセッサは、取り込まれた画像内の特定のオブジェクトに関連付けられている、特定の形状又は特定のパターンを認識することによって、取り込まれた画像内の特定のオブジェクトを認識するようにコンフィギュレーションされてもよい。オブジェクトは、エッジ検出の後に続く形状検出を含めた、従来のオブジェクト認識技術を使用することによって認識されてもよい。新たなＶＬＣ信号発信光ビーコンは、ＶＬＣ信号発信光ビーコンのデータベースの既に一部である（例えば、照明器具又は光源の）特別な形状を有して製造されてもよい。ＶＬＣ信号発信光ビーコンのデータベースはまた、既存のＶＬＣ信号発信光ビーコンに関連付けられている形状、例えば、特定の既存のモデルの光源及び／又は照明器具の形状を含んでもよい。あるいは、又は更に、容易に識別可能な特定のパターン（例えば、色、ドット、及び／又は線の配列）により、オブジェクトが（容易に）認識されることを可能にしてもよい。当該パターンは、新たなＶＬＣ信号発信光ビーコンに適用又は取り付けられる特別なパターンであってもよく、又は、既存のＶＬＣ信号発信光ビーコン上で識別可能なパターンであってもよい。
【００２３】
本発明の第２の態様では、可視光通信の検出（及び／又は復号）の方法は、カメラを使用して画像を取り込むステップと、取り込まれた画像内に特定のオブジェクトが認識されるか否かを決定するステップと、特定のオブジェクトが認識された後にのみ、光源によって放出された可視光を介して通信されているデータを検出（及び／又は復号）することを開始するステップとを含む。この方法は、ハードウェア及び／又はソフトウェアとして実装されてもよい。
【００２４】
更には、本明細書で説明される方法を実践するためのコンピュータプログラム、並びに、コンピュータプログラムを記憶している非一時的コンピュータ可読記憶媒体が提供される。コンピュータプログラムは、例えば、既存のデバイスによってダウンロードされるか、又は、既存のデバイスにアップロードされてもよく、あるいは、これらのシステムの製造時に記憶されてもよい。
【００２５】
非一時的コンピュータ可読記憶媒体は、少なくとも１つのソフトウェアコード部分を記憶し、ソフトウェアコード部分は、コンピュータによって実行又は処理されると、カメラを使用して画像を取り込むステップと、取り込まれた画像内に特定のオブジェクトが認識されるか否かを決定するステップと、特定のオブジェクトが認識された後にのみ、光源によって放出された可視光を介して通信されているデータを検出（及び／又は復号）することを開始するステップとを含む、実行可能動作を実行するようにコンフィギュレーションされている。
【００２６】
当業者には理解されるように、本発明の諸態様は、デバイス、方法、又はコンピュータプログラム製品として具現化されてもよい。したがって、本発明の諸態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、あるいは、ソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形態を取ってもよく、それらは全て、本明細書では「回路」、「モジュール」、又は「システム」と総称されてもよい。本開示で説明される機能は、コンピュータのプロセッサ／マイクロプロセッサによって実行される、アルゴリズムとして実装されてもよい。更には、本発明の諸態様は、１つ以上のコンピュータ可読媒体として具現化されている、コンピュータプログラム製品の形態を取ってもよく、１つ以上のコンピュータ可読媒体は、その上に具現化されている、例えば記憶されている、コンピュータ可読プログラムコードを有する。
【００２７】
１つ以上のコンピュータ可読媒体の任意の組み合わせが、利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、限定するものではないが、電子、磁気、光学、電磁気、赤外線、又は半導体の、システム、装置、若しくはデバイス、あるいは、上述の任意の好適な組み合わせであってもよい。より具体的なコンピュータ可読記憶媒体の例としては、限定するものではないが、１つ以上のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（random access memory；ＲＡＭ）、読み出し専用メモリ（read-only memory；ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（erasable programmable read-only memory；ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ（portable compact disc read-only memory；ＣＤ−ＲＯＭ）、光学記憶デバイス、磁気記憶デバイス、又は上述の任意の好適な組み合わせを挙げることができる。本発明の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又はそれらに関連して使用するためのプログラムを含むか、又は記憶することが可能な、任意の有形媒体であってもよい。
【００２８】
コンピュータ可読信号媒体としては、例えばベースバンド内又は搬送波の一部として、内部に具現化されているコンピュータ可読プログラムコードを有する、伝搬データ信号を挙げることができる。そのような伝搬信号は、限定するものではないが、電磁気、光学、又はこれらの任意の好適な組み合わせを含めた、様々な形態のうちのいずれを取ってもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、若しくはデバイスによって、又はそれらに関連して使用するためのプログラムを、通信、伝搬、又は伝送することが可能な、任意のコンピュータ可読媒体であってもよい。
【００２９】
コンピュータ可読媒体上に具現化されているプログラムコードは、限定するものではないが、無線、有線、光ファイバ、ケーブル、ＲＦなど、又は上述の任意の好適な組み合わせを含めた、任意の適切な媒体を使用して送信されてもよい。本発明の諸態様に関する動作を実施するためのコンピュータプログラムコードは、Ｊａｖａ（商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、及び、「Ｃ」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含めた、１つ以上のプログラミング言語の任意の組み合わせで書き込まれてもよい。プログラムコードは、スタンドアロン型ソフトウェアパッケージとして、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で実行されてもよく、部分的にユーザのコンピュータ上かつ部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ若しくはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（local area network；ＬＡＮ）若しくは広域ネットワーク（wide area network；ＷＡＮ）を含めた任意のタイプのネットワークを通じて、ユーザのコンピュータに接続されてもよく、又は、接続は、外部コンピュータに対して（例えば、インターネットサービスプロバイダを使用してインターネットを通じて）実施されてもよい。
【００３０】
本発明の実施形態による方法、装置（システム）、及びコンピュータプログラム製品の、フローチャート図及び／又はブロック図を参照して、本発明の諸態様が以下で説明される。フローチャート図及び／又はブロック図の各ブロック、並びに、フローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータプログラム命令によって実装されることができる点が理解されるであろう。コンピュータプログラム命令は、マシンを作り出すために、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置の、プロセッサ、特にマイクロプロセッサ又は中央処理ユニット（central processing unit；ＣＰＵ）に提供されてもよく、それにより、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスのプロセッサを介して実行される命令が、フローチャート及び／又はブロック図のブロック内で指定されている機能／行為を実施するための手段を作り出す。
【００３１】
コンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスに、特定の方式で機能するように指示することが可能な、コンピュータ可読媒体内に記憶されてもよく、それにより、コンピュータ可読媒体内に記憶されている命令が、フローチャート及び／又はブロック図のブロック内で指定されている機能／行為を実施する命令を含む、製品を作り出す。
【００３２】
コンピュータプログラム命令はまた、コンピュータ実施プロセスを作り出すために、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードされて、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上で一連の動作ステップを実行させてもよく、それにより、コンピュータ又は他のプログラマブル装置上で実行される命令が、フローチャート及び／又はブロック図のブロック内で指定されている機能／行為を実施するためのプロセスを提供する。
【００３３】
図におけるフローチャート及びブロック図は、本発明の様々な実施形態によるデバイス、方法、及びコンピュータプログラム製品の可能な実装の、アーキテクチャ、機能性、及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定されている論理関数を実施するための１つ以上の実行可能命令を含む、コードのモジュール、セグメント、又は部分を表してもよい。また、一部の代替的実装形態では、ブロック内に記されている機能は、図に記されている順序と異なる順序で行われてもよい点にも留意されたい。例えば、連続して示されている２つのブロックは、実際には、実質的に同時に実行されてもよく、又は、それらのブロックは、関与している機能性に応じて、逆の順序で実行される場合があってもよい。また、ブロック図及び／又はフローチャート図の各ブロック、並びに、ブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定されている機能若しくは行為を実行する専用ハードウェアベースのシステム、又は、専用ハードウェアとコンピュータ命令との組み合わせによって実施されることができる点にも留意されたい。
【図面の簡単な説明】
【００３４】
本発明のこれらの態様及び他の態様は、以下の図面から明らかであり、例として、それらの図面を参照して更に解明されるであろう。
【図１】本発明のモバイルシステムの実施形態のブロック図である。
【図２】本発明の方法のフローチャートである。
【図３】本発明の方法の第１の実施形態のフローチャートである。
【図４】本発明の方法の第２の実施形態のフローチャートである。
【図５】本発明の方法の第３の実施形態のフローチャートである。
【図６】本発明の方法の第４の実施形態のフローチャートである。
【図７】本発明の方法を例示するための、取り込まれた画像の一実施例を示す。
【図８】本発明の方法を例示するための、認識されたオブジェクトの一実施例を示す。
【図９】図３の方法の実施形態を例示するための、認識されたオブジェクトの領域の一実施例を示す。
【図１０】認識可能な光源を備える光ビーコンの一実施例を示す。
【図１１】認識可能なパターンを備える光ビーコンの一実施例を示す。
【図１２】本発明の方法を実行するための、例示的なデータ処理システムのブロック図である。  図面中の対応する要素は、同じ参照番号によって示される。
【発明を実施するための形態】
【００３５】
図１は、本発明のモバイルシステムの２つの実施形態である、モバイルシステム１及びモバイルシステム１１を示す。モバイルシステム１及びモバイルシステム１１は、カメラ３及びプロセッサ５を備える。プロセッサ５は、カメラ３を使用して画像を取り込み、取り込まれた画像内に、特定のオブジェクト、例えば、光ビーコン１５が認識されるか否かを決定し、特定のオブジェクトが認識されることに応じて、可視光を介して通信されているデータを検出及び／又は復号することを開始するようにコンフィギュレーションされている。
【００３６】
プロセッサ５は、取り込まれた画像から、カメラ３によって取り込まれた別の画像から、及び／又は、更なるセンサから、例えば更なるカメラから受信された信号から、可視光を介してデータが通信されているか否かを検出するようにコンフィギュレーションされてもよい。カメラセンサは、典型的には低レート（例えば、毎秒２５フレーム）で、多くの画素を読み取る。しかしながら、可視光通信は、眼には不可視であるべきであり、遥かに高いレート（２００Ｈｚ以上、更にはＭＨｚ）で放出されるべきである。これらの変動をカメラを使用して検出するためには、特別なカメラ、例えば、高速ダイオード画素でインタレースされる低速カメラ画素の組み合わせを使用するカメラが使用されてもよい。カメラ画素は、高速変動する光源の位置を検出する。次いで、ダイオード画素が、感知された変動を高速で読み出す。また、スマートフォン内のカメラの一般的なタイプである、既存のローリングシャッターカメラを使用することも可能であり得る。ローリングシャッターカメラでは、異なる行の読み出しの間に、わずかな遅延が存在する。このことは、高速変動する光源（又は、光効果）が、カメラの行上に異なる強度を供給し、結果として黒色及び白色の縞をもたらすことを意味する。写真を撮影する際には、カメラ処理が、このことを補償し得る。
【００３７】
例えば、モバイルシステム１及びモバイルシステム１１は、携帯電話、例えばスマートフォンであってもよい。図１に示される実施形態では、モバイルシステム１及びモバイルシステム１１は双方とも、単一のデバイスを含む。異なる実施形態では、モバイルシステムは、複数のデバイスを含んでもよく、例えば、スマートフォンがプロセッサ５を含んでもよく、スマートグラスがカメラ３を含んでもよい。
【００３８】
モバイルシステム１のプロセッサ５は、特定のオブジェクトが認識されることを決定すると、可視光を介してデータが通信されているか否かを検出することを開始するために、カメラ３の設定を変更するようにコンフィギュレーションされている。設定は、例えば、Ｌｕｘａｐｏｓｅ論文で説明されている設定に変更されてもよい。モバイルシステム１は、通信インタフェース９を備える。モバイルシステム１のプロセッサ５は、取り込まれた画像内に特定のオブジェクトが認識されるか否かを決定するために、通信インタフェース９を使用してリモートデータベース１９に問い合わせるようにコンフィギュレーションされている。
【００３９】
光ビーコン１５が、有線又は無線ネットワーク（図示せず）に接続されている場合、光ビーコン１５は、ＶＬＣ信号がモバイルシステムによって検出及び／又は復号されていることを通知されてもよく、例えばモバイルシステム自体によって通知されてもよい。次いで、光ビーコン１５は、例えば、モバイルシステムのユーザへの指示として、例えば、ユーザが光ビーコン１５の方向に自身のモバイルシステムを向けることを望んでもよい指示として、光源の色を変更してもよい。モバイルシステムは、例えば、ＺｉｇＢｅｅ、Ｂｌｕｅｔｏｏｔｈ、又はＷｉ−Ｆｉを使用して、光ビーコン１５に通知してもよい。
【００４０】
モバイルシステム１のプロセッサ５は、通信インタフェース９を使用して、リモートデータベース１９に、情報、例えば、パスキー、ユーザ識別子、及び／又はグループ識別子を提供するようにコンフィギュレーションされてもよく、これにより、リモートデータベース１９は、例えばアクセス制御を考慮して、取り込まれた画像内で認識された特定のオブジェクトに関連して、いずれの情報をモバイルシステム１に提供するべきかを決定することが可能となる。モバイルシステム１は、記憶手段７を備える。記憶手段７は、例えば、取り込まれた画像、並びに／あるいは、モバイルシステム１によって使用される更なるデータ及びプログラムを記憶してもよい。
【００４１】
モバイルシステム１１は、更なるセンサ１３を更に備える。モバイルシステム１１のプロセッサ５は、特定のオブジェクトが認識されることを決定すると、可視光を介してデータが通信されているか否かを検出することを開始するために、更なるセンサ１３を作動させるようにコンフィギュレーションされている。更なるセンサ１３は、カメラ３よりも広い視野を有してもよい。更なるセンサ１３は、例えば、更なるカメラ、又はフォトダイオードを含んでもよい。更なるカメラは、例えば、「ＬＥＤ  ａｎｄ  ＣＭＯＳ  Ｉｍａｇｅ  Ｓｅｎｓｏｒ  Ｂａｓｅｄ  Ｏｐｔｉｃａｌ  Ｗｉｒｅｌｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｏｒ  Ａｕｔｏｍｏｔｉｖｅ  Ａｐｐｌｉｃａｔｉｏｎｓ」（Ｔａｋａｉら、ＩＥＥＥ  Ｐｈｏｔｏｎｉｃｓ  Ｊｏｕｒｎａｌ  Ｖｏｌｕｍｅ  ５、Ｎｕｍｂｅｒ  ５、２０１３年１０月）で説明されているカメラであってもよい。
【００４２】
モバイルシステム１１のプロセッサ５は、更なるセンサ１３から受信された信号が、可視光を介して通信されるデータを含むか否かを監視するように、及び、信号が可視光を介して通信されるデータを含まないことを決定すると、更なるセンサ１３を作動停止させるようにコンフィギュレーションされてもよい。モバイルシステム１１は、記憶手段７を備える。記憶手段７は、例えば、取り込まれた画像、ＶＬＣ信号を送信し得るオブジェクトが記録されているデータベース、並びに／又は、モバイルシステム１１によって使用される更なるデータ及びプログラムを記憶してもよい。モバイルシステム１１は、通信インタフェース（図示せず）、例えば、モバイルシステム１の通信インタフェース９と同様の通信インタフェースを備えてもよい。
【００４３】
図１に示される実施形態では、モバイルシステム１及びモバイルシステム１１は、１つのプロセッサ５を備える。代替的実施形態では、モバイルシステムは、複数のプロセッサを備える。モバイルシステム１及びモバイルシステム１１のプロセッサ５は、例えばＡＲＭ若しくはＱｕａｌｃｏｍｍ製の汎用プロセッサ、又は、特定用途向けプロセッサであってもよい。モバイルシステム１及びモバイルシステム１１のプロセッサ５は、例えば、ｉＯＳ、Ｗｉｎｄｏｗｓ、又はＡｎｄｒｏｉｄオペレーティングシステムを実行してもよい。本発明は、１つ以上のプロセッサ上で実行される、コンピュータプログラムを使用して実装されてもよい。
【００４４】
モバイルシステム１の通信インタフェース９は、例えば、ＷｉＦｉ、ＧＰＲＳ、ＥＤＧＥ、ＵＭＴＳ、ＬＴＥ、及び／又は５Ｇ技術を使用して、通信ネットワークの基地局１７と通信してもよい。基地局１７は、例えば、モバイル通信ネットワークの一部、又はローカルエリアネットワークの一部であってもよい。基地局１７は、インターネットに（直接、又は他の構成要素を介して）接続されてもよい。モバイルシステム１及びモバイルシステム１１は、モバイルシステムに典型的な他の構成要素、例えば、バッテリ及びディスプレイを備えてもよい。外部データベース１９は、例えば、インターネット上に配置されている、サーバ、例えばウェブサーバであってもよい。
【００４５】
一実施形態では、プロセッサ５は、取り込まれた画像内で認識された特定のオブジェクトに関連付けられているプロトコル情報を取得するように、及び、取得されたプロトコル情報を使用して、可視光を介して通信されるデータの少なくとも一部を復号するようにコンフィギュレーションされている。異なる実施形態又は同じ実施形態では、プロセッサ５は、取り込まれた画像内で認識された特定のオブジェクトに関連付けられている解読キーを取得するように、及び、取得された解読キーを使用して、可視光を介して通信されるデータの少なくとも一部を復号するようにコンフィギュレーションされている。
【００４６】
一実施形態では、プロセッサ５は、取り込まれた画像内で認識された特定のオブジェクトに関連付けられている領域情報であって、認識されたオブジェクトの領域を識別する、領域情報を取得するように、及び、可視光を介して通信されているデータを検出及び／又は復号するために、取り込まれた画像内の認識されたオブジェクトの領域のみを分析するようにコンフィギュレーションされている。
【００４７】
一実施形態では、プロセッサ５は、カメラ３を使用して更なる画像を取り込み、取り込まれた更なる画像内に特定のオブジェクトが認識されるか否かを決定し、取り込まれた更なる画像内に特定のオブジェクトが認識されないことを決定すると、可視光を介して通信されているデータを検出することを停止するようにコンフィギュレーションされている。
【００４８】
一実施形態では、プロセッサ５は、取り込まれた画像内の特定のオブジェクトに関連付けられている、特定の形状又は特定のパターンを認識することによって、取り込まれた画像内の特定のオブジェクトを認識するようにコンフィギュレーションされている。
【００４９】
本発明の可視光通信の検出及び／又は復号の方法は、少なくとも３つのステップを含む（図２を参照）。ステップ２１は、カメラを使用して画像を取り込むステップを含む。ステップ２３は、取り込まれた画像内に特定のオブジェクトが認識されるか否かを決定するステップを含む。ステップ２５は、特定のオブジェクトが認識されることに応じて、可視光を介して通信されているデータを検出及び／又は復号するステップを含む。一実施形態では、ステップ２３とステップ２５との間の中間ステップは、特定のオブジェクトを、又は特定のオブジェクトが検出されたことをユーザに通知するステップと、検出及び／又は復号が開始されるべきか否かをユーザに尋ねるステップとを含んでもよい。当該実施形態では、ステップ２５は、ユーザが、検出及び／又は復号が開始されるべきであることを示す場合に実行される。同じ実施形態又は異なる実施形態では、認識されたオブジェクトは、他の画像要素とは別個に、若しくは他の画像要素を伴わずに表示されるか、又は、取り込まれた画像内で強調表示される。このことにより、ユーザに、認識されたオブジェクトを認知させてもよく、例えば、可視光を介して通信されているデータが重要である（と予想される）場合には、ユーザは、カメラの視野内に、又は更なるセンサの視野内に、ＶＬＣ信号が留まることを確実にするために、停止することを決定してもよい。このことは、例えば、上述の中間ステップの一部として行われてもよい。
【００５０】
取り込まれた画像の一実施例が、図７に示される。取り込まれた画像７１は、光ビーム７５を放出する灯台７３を示している。灯台７３の画像、又は灯台７３の１つ以上の特徴（例えば、形状）は、例えば、ＶＬＣ信号を送信し得るオブジェクトが記録されているデータベース内に記憶されてもよい。ステップ２３で、灯台７３は、例えば、図８に示されるように、取り込まれた画像７１内の光ビーコンとして認識されてもよい。
【００５１】
本方法の第１の実施形態では、ステップ２１及びステップ２３の後に、ステップ３１が続く（図３を参照）。ステップ３１は、認識されたオブジェクトに領域情報が関連付けられているか否かを決定するステップを含む。認識されたオブジェクトに領域情報が関連付けられている場合には、ステップ３３が実行される。ステップ３３の後、ステップ３５が実行される。認識されたオブジェクトに領域情報が関連付けられていない場合には、ステップ３３はスキップされる。
【００５２】
ステップ３３は、取り込まれた画像内で認識された特定のオブジェクトに関連付けられている、領域情報を取得するステップを含む。領域情報は、認識されたオブジェクトの領域、好ましくは光ビーコンの光源を識別する。図９は、光ビーコンとして認識されている灯台７３の一実施例を示し、領域９５は、灯台７３の光源に対応している。
【００５３】
図３の実施形態では、ステップ２５（図２を参照）は、ステップ３５及びステップ３７を含む。ステップ３５は、可視光を介して通信されているデータを検出するために、取り込まれた画像７１内の認識されたオブジェクト、すなわち灯台７３の、領域９５のみを分析するステップを含む。そのようなデータが検出される場合には、ステップ３７が次に実行される。ステップ３７は、データを復号するステップを含む。そのようなデータが検出されない場合には、本方法は、ステップ３７に進む代わりに、ステップ２１に戻る。ステップ３７が実行された後、本方法は、ステップ２１に戻る。
【００５４】
本方法の第２の実施形態では、ステップ２１及びステップ２３の後に、ステップ４１が続く（図４を参照）。ステップ４１は、認識されたオブジェクトにプロトコル情報が関連付けられているか否かを決定するステップを含む。認識されたオブジェクトにプロトコル情報が関連付けられている場合には、ステップ４３が実行される。ステップ４３は、認識されたオブジェクトに関連付けられている、プロトコル情報を取得するステップを含む。ステップ４３の後、ステップ４５が実行される。認識されたオブジェクトにプロトコル情報が関連付けられていない場合には、ステップ４３はスキップされる。
【００５５】
図４の実施形態では、ステップ２５（図２を参照）は、ステップ４５及びステップ４７を含む。ステップ４５は、可視光を介して通信されているデータを検出するために、取り込まれた画像を分析するステップを含む。そのようなデータが検出される場合には、ステップ４７が次に実行される。ステップ４７は、データを復号するステップを含む。ステップ４３で、プロトコル情報が取得された場合には、プロトコル情報は、可視光を介して通信されているデータを復号するために使用される。ステップ４５で、そのようなデータが検出されない場合には、本方法は、ステップ４７に進む代わりに、ステップ２１に戻る。ステップ４７が実行された後、本方法は、ステップ２１に戻る。
【００５６】
本方法の第３の実施形態（図５を参照）では、ステップ２１、ステップ２３、ステップ４１、及びステップ４３は、第２の実施形態の場合と同じであるが、ステップ２５は、ステップ４５及びステップ４７の代わりに、ステップ５１及びステップ５３を含む。ステップ５１は、更なるセンサ、例えば、フォトダイオード、又はＶＬＣ信号の受信に特化されたカメラを使用して、可視光を介して通信されているデータを検出するステップを含む。そのようなデータが検出される場合には、ステップ５３が次に実行される。ステップ５３は、更なるセンサを使用してステップ５１で検出されたデータを、復号するステップを含む。ステップ４３でプロトコル情報が取得された場合には、プロトコル情報は、可視光を介して通信されているデータを復号するために使用される。ステップ５１でそのようなデータが検出されない場合には、本方法は、ステップ５３に進む代わりに、ステップ２１に戻る。ステップ５３が実行された後、本方法は、ステップ２１に戻る。
【００５７】
本方法の第４の実施形態では、ステップ２１及びステップ２３の前に、ステップ５１が先行する（図６を参照）。ステップ５１は、更なるセンサ、例えばフォトダイオードを使用して、可視光を介してデータが通信されているか否かを検出するステップを含む。当該実施形態では、更なるセンサは、例えば、継続的に作動されてもよい。ステップ２１及びステップ２３は、可視光を介して通信されているデータが、ステップ５１で検出される場合に実行される。そのようなデータが検出されない場合には、ステップ５１が繰り返される。
【００５８】
ステップ２１及びステップ２３の後に、ステップ６１が続く。ステップ６１は、認識されたオブジェクトに解読キーが関連付けられているか否かを決定するステップを含む。認識されたオブジェクトに解読キーが関連付けられている場合には、ステップ６３が実行される。ステップ６３は、認識されたオブジェクトに関連付けられている、解読キーを取得するステップを含む。ステップ６３の後、ステップ６５が実行される。認識されたオブジェクトに解読キーが関連付けられていない場合には、ステップ６３はスキップされる。
【００５９】
図６の実施形態では、ステップ２５（図２を参照）は、ステップ６５を含む。ステップ６５は、更なるセンサを使用してステップ５１で検出されたデータを復号するステップを含む。ステップ６３で、解読キーが取得された場合には、当該キーは、ステップ６５で、可視光を介して通信されているデータを復号するために使用される。ステップ６５が実行された後、本方法は、ステップ５１に戻る。
【００６０】
図７に示される取り込まれた画像７１の実施例では、認識されたオブジェクトは、それ自体が光源ではない。あるいは、又は更に、光ビーコンの光源を認識することが可能であってもよい。例えば、ランプ１０１は、ウサギの頭の形状を有する、光源１０３を含む（図１０を参照）。光源１０３の形状が、認識可能であってもよい。
【００６１】
特定のオブジェクトに関連付けられている特定の形状を認識する代わりに、又はそれに加えて、特定のオブジェクトに関連付けられている特定のパターン若しくはテクスチャが認識されてもよい。例えば、都市案内標識１１１は、特定のパターン又はロゴを有する頂部１１９を含んでもよい（図１１を参照）。都市案内標識１１１は、経路表示器１１３及び経路表示器１１５、並びにＶＬＣ信号を送信する光源１１７を更に含む。
【００６２】
図１２は、図２〜図６を参照して説明されたような方法を実行し得る、例示的なデータ処理システムを示すブロック図を示す。
【００６３】
図１２に示されるように、データ処理システム３００は、システムバス３０６を介してメモリ要素３０４に結合されている、少なくとも１つのプロセッサ３０２を含んでもよい。それゆえ、データ処理システムは、メモリ要素３０４内にプログラムコードを記憶してもよい。更には、プロセッサ３０２は、システムバス３０６を介してメモリ要素３０４からアクセスされるプログラムコードを実行してもよい。一態様では、データ処理システムは、プログラムコードを記憶及び／又は実行するために好適な、コンピュータとして実装されてもよい。しかしながら、データ処理システム３００は、本明細書内で説明される機能を実行することが可能な、プロセッサ及びメモリを含む任意のシステムの形態で実装されてもよい点を理解されたい。
【００６４】
メモリ要素３０４は、例えば、ローカルメモリ３０８及び１つ以上の大容量記憶デバイス３１０などの、１つ以上の物理メモリデバイスを含んでもよい。ローカルメモリとは、プログラムコードの実際の実行中に一般に使用される、ランダムアクセスメモリ又は他の非永続的メモリデバイスを指してもよい。大容量記憶デバイスは、ハードドライブ又は他の永続的データ記憶デバイスとして実装されてもよい。処理システム３００はまた、実行中に大容量記憶デバイス３１０からプログラムコードが取得されなければならない回数を低減するために、少なくとも一部のプログラムコードの一時記憶を提供する、１つ以上のキャッシュメモリ（図示せず）を含んでもよい。
【００６５】
入力デバイス３１２及び出力デバイス３１４として示される、入出力（input/output；Ｉ／Ｏ）デバイスが、オプションとして、データ処理システムに結合されることができる。入力デバイスの例としては、限定するものではないが、キーボード、マウスなどのポインティングデバイスなどを挙げることができる。出力デバイスの例としては、限定するものではないが、モニタ又はディスプレイ、スピーカなどを挙げることができる。入力デバイス及び／又は出力デバイスは、直接、又は介在Ｉ／Ｏコントローラを介して、データ処理システムに結合されてもよい。
【００６６】
一実施形態では、入力デバイス及び出力デバイスは、複合型入力／出力デバイス（入力デバイス３１２及び出力デバイス３１４を取り囲む破線で図１２に示されるもの）として実装されてもよい。そのような複合型デバイスの一例は、「タッチスクリーンディスプレイ」又は単に「タッチスクリーン」と称される場合もある、タッチ感知ディスプレイである。そのような実施形態では、デバイスへの入力は、タッチスクリーンディスプレイ上、又はタッチスクリーンディスプレイの近くでの、例えばスタイラス又はユーザの指などの、物理的実体の移動によって提供されてもよい。
【００６７】
ネットワークアダプタ３１６もまた、データ処理システムに結合されて、介在する私設ネットワーク又は公衆ネットワークを介して、そのデータ処理システムが、他のシステム、コンピュータシステム、リモートネットワークデバイス、及び／又はリモート記憶デバイスに結合されることを可能にしてもよい。ネットワークアダプタは、上述のシステム、デバイス、及び／又はネットワークによってデータ処理システム３００に送信されるデータを受信するための、データ受信機と、データ処理システム３００から上述のシステム、デバイス、及び／又はネットワークにデータを送信するための、データ送信機とを含んでもよい。モデム、ケーブルモデム、及びＥｔｈｅｒｎｅｔカードは、データ処理システム３００と共に使用されてもよい、種々のタイプのネットワークアダプタの例である。
【００６８】
図１２に示されるように、メモリ要素３０４は、アプリケーション３１８を記憶してもよい。様々な実施形態では、アプリケーション３１８は、ローカルメモリ３０８、１つ以上の大容量記憶デバイス３１０内に記憶されてもよく、あるいは、ローカルメモリ及び大容量記憶デバイスとは別個であってもよい。データ処理システム３００は、アプリケーション３１８の実行を容易にすることが可能なオペレーティングシステム（図１２には示さず）を、更に実行してもよい点を理解されたい。アプリケーション３１８は、実行可能プログラムコードの形態で実装されており、データ処理システム３００によって、例えばプロセッサ３０２によって、実行されることができる。アプリケーションの実行に応答して、データ処理システム３００は、本明細書で説明される１つ以上の動作又は方法ステップを実行するようにコンフィギュレーションされてもよい。
【００６９】
本発明の様々な実施形態は、コンピュータシステムと共に使用するためのプログラム製品として実装されてもよく、プログラム製品のプログラムは、（本明細書で説明される方法を含めた）実施形態の機能を定義する。一実施形態では、プログラムは、様々な非一時的コンピュータ可読記憶媒体上に含まれることができ、本明細書で使用されるとき、「非一時的コンピュータ可読記憶媒体」という表現は、全てのコンピュータ可読媒体を含むが、唯一の例外は一時的な伝搬信号である。別の実施形態では、プログラムは、様々な一時的コンピュータ可読記憶媒体上に含まれることができる。例示的なコンピュータ可読記憶媒体としては、限定するものではないが、（ｉ）情報が永続的に記憶される、書き込み不可記憶媒体（例えば、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスク、ＲＯＭチップ、又は任意のタイプの不揮発性固体半導体メモリなどの、コンピュータ内部の読み出し専用メモリデバイス）、及び（ｉｉ）変更可能な情報が記憶される、書き込み可能記憶媒体（例えば、フラッシュメモリ、ディスケットドライブ若しくはハードディスクドライブ内部のフロッピーディスク、又は任意のタイプのランダムアクセス固体半導体メモリ）が挙げられる。コンピュータプログラムは、本明細書で説明されるプロセッサ３０２上で実行されてもよい。
【００７０】
本明細書で使用される用語法は、特定の実施形態を説明することのみを目的とするものであり、本発明を限定することを意図するものではない。本明細書で使用されるとき、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうではないことを明確に示さない限り、複数形も含むことが意図される。本明細書で使用されるとき、用語「含む（comprises）」及び／又は「含んでいる（comprising）」は、記述された特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指すものであるが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらの群の存在若しくは追加を排除するものではない点が、更に理解されるであろう。
【００７１】
以下の請求項における全てのミーンズプラスファンクション又はステッププラスファンクションの要素の、対応する構造、材料、行為、及び均等物は、具体的に特許請求される他の特許請求要素と組み合わせて機能を実行するための、任意の構造、材料、又は行為を含むことが意図される。本発明の実施形態の説明は、例示を目的として提示されてきたが、網羅的であるか、又は開示された形態の実装形態に限定されることを意図するものではない。本発明の範囲及び趣旨から逸脱することなく、多くの修正形態及び変形形態が当業者には明らかとなるであろう。実施形態は、本発明の原理及び一部の実際的応用を最良に説明し、想到される特定の用途に適するような様々な修正を有する様々な実施形態に関して、他の当業者が本発明を理解することを可能にするために、選択及び説明されるものとした。
【図１】
0006986079.tif 000002
【図２】
0006986079.tif 000003
【図３】
0006986079.tif 000004
【図４】
0006986079.tif 000005
【図５】
0006986079.tif 000006
【図６】
0006986079.tif 000007
【図７】
0006986079.tif 000008
【図８】
0006986079.tif 000009
【図９】
0006986079.tif 000010
【図１０】
0006986079.tif 000011
【図１１】
0006986079.tif 000012
【図１２】
0006986079.tif 000013