(57)【要約】  実施形態は、センサー要素を有するデバイスを実施し、センサー要素に統合されたセンサーモジュールの一部として作成される異なるデータストリームは、単一のセンサー要素から複数のセンサーデータストリームを作成することができ、データストリームが各々異なるアプリケーションのパラメータ要件に一致するように、センサー要素から異なるデータパラメータ要件を有するそれぞれの異なるアプリケーションに情報を並行して運ぶことができる。
2015526987.tif 000002
【特許請求の範囲】
【請求項１】
第1のセンサー要素と、
信号多重化モジュールによって前記第1のセンサー要素に結合された複数のデジタルフィルタと、
前記複数のデジタルフィルタのうちの1つの対応するデジタルフィルタに各々結合される複数の出力レジスタと、
前記複数の出力レジスタに結合されたセンサーアドレス指定モジュールであり、前記センサーアドレス指定モジュールが、少なくとも2つのセンサーデータストリームを並行して出力し、前記少なくとも2つのセンサーデータストリームが前記複数の出力レジスタから前記センサーアドレス指定モジュールで受信され、前記少なくとも2つのセンサーデータストリームが異なるデータストリームパラメータを有する、センサーアドレス指定モジュールと
を備えるデバイス。
【請求項２】
前記少なくとも2つのセンサーデータストリームのための前記異なるデータストリームパラメータを作成するために使用される第1の組のデータストリームパラメータと第2の組のデータストリームパラメータとを提供する前記センサーアドレス指定モジュールに通信可能に結合されるプロセッサ
をさらに備える、請求項1に記載のデバイス。
【請求項３】
前記プロセッサが複数のアプリケーションを実行し、前記複数のアプリケーションの各アプリケーションが、前記複数のアプリケーションの各アプリケーションによるセンサーデータの要求の一部として、1組のデータストリームパラメータを前記センサーアドレス指定モジュールへの通信のために前記プロセッサに提供する、請求項2に記載のデバイス。
【請求項４】
第1の較正モジュールをさらに備え、
前記複数のデジタルフィルタが、第1のデジタルフィルタと、第2のデジタルフィルタとを備え、
前記複数の出力レジスタが、前記第1のデジタルフィルタに結合された第1の出力レジスタと、前記第2のデジタルフィルタに結合された第2の出力レジスタとを備え、
前記第1のデジタルフィルタが、前記第1の較正モジュールを介して前記第1の出力レジスタに結合される
請求項3に記載のデバイス。
【請求項５】
前記第1のセンサー要素がジャイロスコープセンサー要素であり、前記少なくとも2つのセンサーデータストリームが、較正されたセンサーデータストリームと、較正されていないセンサーデータストリームとを備える、請求項4に記載のデバイス。
【請求項６】
前記複数のアプリケーションのうちの第1のアプリケーションが、前記第1の出力レジスタから前記較正されたセンサーデータストリームを受信するカメラアプリケーションであり、前記複数のアプリケーションのうちの第2のアプリケーションが、前記第2の出力レジスタから前記較正されていないセンサーデータストリームを受信するナビゲーションアプリケーションである、請求項5に記載のデバイス。
【請求項７】
前記信号多重化モジュールがアナログデジタル変換器をさらに備え、前記複数のデジタルフィルタが前記アナログデジタル変換器に統合される、請求項1に記載のデバイス。
【請求項８】
前記第1のセンサー要素がマイクロフォンであり、前記信号多重化モジュールおよび前記複数のデジタルフィルタが単一の集積回路の一部である、請求項7に記載のデバイス。
【請求項９】
センサーから信号多重化モジュールにセンサーデータを直接通信するステップと、
第1のセンサーデータストリームおよび第2のセンサーデータストリームを前記信号多重化モジュールから出力するステップと、
第1の出力レジスタで前記第1のセンサーデータストリームを受信するステップと、
第2の出力レジスタで前記第2のセンサーデータストリームを受信するステップと、
センサーアドレス指定モジュールで前記第1のセンサーデータストリームの第1の要求を受信するステップと、
前記センサーアドレス指定モジュールで前記第2のセンサーデータストリームの第2の要求を受信するステップと、
前記センサーアドレス指定モジュールを介して、前記第1の出力レジスタから前記第1のセンサーデータストリームの少なくとも第1の部分と、前記第2の出力レジスタから前記第2のセンサーデータストリームの少なくとも第2の部分とを並行して出力するステップと
を含む方法。
【請求項１０】
前記第1のセンサーデータストリームの前記第1の要求を第1のアプリケーションの一部としてプロセッサから前記センサーアドレス指定モジュールに通信するステップと、
前記第2のセンサーデータストリームの前記第2の要求を第2のアプリケーションの一部として前記プロセッサから前記センサーアドレス指定モジュールに通信するステップと
をさらに含む、請求項9に記載の方法。
【請求項１１】
前記センサーアドレス指定モジュールを介して、前記第1の出力レジスタから前記第1のセンサーデータストリームの少なくとも前記第1の部分と、前記第2の出力レジスタから前記第2のセンサーデータストリームの少なくとも前記第2の部分とを並行して出力するステップが、第1の時間に開始し、第2の時間に終了する、前記第1のセンサーデータストリームを前記プロセッサの前記第1のアプリケーションに通信するステップと、第3の時間に開始し、第4の時間に終了する、前記第2のセンサーデータストリームを前記プロセッサの前記第2のアプリケーションに通信するステップであり、前記第3の時間が前記第1の時間よりも後であり、前記第3の時間が前記第2の時間よりも早い、ステップとを含む、請求項10に記載の方法。
【請求項１２】
前記センサーアドレス指定モジュールで、利用可能なストリームに関する第1の問合せを受信するステップと、
前記センサーアドレス指定モジュールで、1組の要求されたデータストリームパラメータを受信するステップと、
利用可能なストリームに関する前記第1の問合せに対する応答を通信するステップであり、前記第1のセンサーデータストリームの前記第1の要求が、前記第1の問合せに対する前記応答の通信によって生じるステップと
をさらに含む、請求項10に記載の方法。
【請求項１３】
前記1組の要求されたデータストリームパラメータを、前記センサーアドレス指定モジュールから、前記第1のセンサーデータストリームに関連付けられた第1のデジタルフィルタに通信するステップと、
前記第1の問合せに対する前記応答を通信する前に、前記第1のデジタルフィルタで、前記1組の要求されたデータストリームパラメータを使用して、前記第1のセンサーデータストリームを更新するステップと
をさらに含む、請求項12に記載の方法。
【請求項１４】
前記第1の問合せに対する前記応答を通信する前に、前記第1のセンサーデータストリームの現在のパラメータが、前記1組の要求されたデータストリームパラメータに一致することを識別するステップ
をさらに含む、請求項12に記載の方法。
【請求項１５】
記憶媒体に結合されたプロセッサによって実行されると、デバイスに方法を実行させるコンピュータ可読命令を含む非一時的コンピュータ可読記憶媒体であって、前記方法が、
センサーから信号多重化モジュールにセンサーデータを直接通信するステップと、
第1のセンサーデータストリームおよび第2のセンサーデータストリームを前記信号多重化モジュールから出力するステップと、
第1の出力レジスタで前記第1のセンサーデータストリームを受信するステップと、
第2の出力レジスタで前記第2のセンサーデータストリームを受信するステップと、
センサーアドレス指定モジュールで前記第1のセンサーデータストリームの第1の要求を受信するステップと、
前記センサーアドレス指定モジュールで前記第2のセンサーデータストリームの第2の要求を受信するステップと、
前記センサーアドレス指定モジュールを介して、前記第1の出力レジスタから前記第1のセンサーデータストリームと、前記第2の出力レジスタから前記第2のセンサーデータストリームとを並行して出力するステップと
を含む、非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記方法が、
前記第1のセンサーデータストリームの前記第1の要求を第1のアプリケーションの一部として前記プロセッサから前記センサーアドレス指定モジュールに通信するステップと、
前記第2のセンサーデータストリームの前記第2の要求を第2のアプリケーションの一部として前記プロセッサから前記センサーアドレス指定モジュールに通信するステップと
をさらに含む、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記方法が、
前記センサーアドレス指定モジュールで、利用可能なストリームに関する第1の問合せを受信するステップと、
前記センサーアドレス指定モジュールで、1組の要求されたデータストリームパラメータを受信するステップと、
前記1組の要求されたデータストリームパラメータを、前記センサーアドレス指定モジュールから、前記第1のセンサーデータストリームに関連付けられた第1のデジタルフィルタに通信するステップと、
前記第1のデジタルフィルタで、前記1組の要求されたデータストリームパラメータを使用して、前記第1のセンサーデータストリームを更新するステップと、
利用可能なストリームに関する前記第1の問合せに対する応答を通信するステップであり、前記第1のセンサーデータストリームの前記第1の要求が、前記第1の問合せに対する前記応答の通信によって生じるステップと
をさらに含む、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
センサーデータを作成するための少なくとも1つのセンサーと、
前記センサーデータから複数のセンサーデータストリームを作成するための手段と、
前記複数のセンサーデータストリームの各センサーデータストリームをフィルタリングするための手段と、
前記少なくとも1つのプロセッサ上で動作しているアプリケーションによって前記複数のセンサーデータストリームの1つまたは複数の要求に応答して、少なくとも1つのプロセッサに前記複数のセンサーデータストリームを並行して出力するための手段と
を備えるデバイス。
【請求項１９】
前記複数のセンサーデータストリームのうちの少なくとも1つを較正するための手段であり、前記複数のセンサーデータストリームが第1の較正されたデータストリームと第1の較正されていないデータストリームとを含む、手段
をさらに備える、請求項18に記載のデバイス。
【請求項２０】
複数のアプリケーションを実行するための手段であり、前記複数のアプリケーションの各アプリケーションが、前記複数のセンサーデータストリームのうちの少なくとも1つを受信する、手段
をさらに備える、請求項18に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、センサーに関する。特に、同じセンサーからの異なる出力データストリームのための異なるデータストリームパラメータを有する複数の出力データストリームを有するセンサーのためのデバイス、システム、および方法である。スマートフォン上で動作する複数のアプリケーションが、同じセンサーからの異なるデータストリームパラメータを有する情報を要求する、スマートフォンなどのモバイルデバイスと統合された特定の実施形態が提供される。
【背景技術】
【０００２】
現在の携帯電話は、センサーとしばしば統合される。センサーの例は、カメラなどの光センサー、または加速度計などの運動センサーでもよい。モバイルデバイス内で現在構築されているようなセンサーは、単一のセンサーデータストリームを出力することができる。次いで、センサーデータストリームにおけるデータの追加の操作は、モバイルデバイスの別々の機能またはアプリケーションの一部として実行される。単一のセンサーデータストリームは、モバイルデバイスのプロセッサによってコピーされ、変更され得るが、センサーモジュール自体は、単一のデータストリームを出力する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
スマートフォンなどのモバイルデバイスのパワーが増加するにつれて、より多くのより多様なタイプのアプリケーションがそのようなモバイルデバイス上で動作し、したがって、モバイルデバイスに統合されるセンサーのためのセンサーデータを提供するための新しい有用な技法および構造の必要性が高まっている。
【課題を解決するための手段】
【０００４】
本明細書で説明する様々な実施形態は、同じセンサーからの異なる出力データストリームのための異なるデータストリームパラメータを有する複数の出力データストリームを有するセンサーのためのデバイス、システム、および方法に関する。たとえば、一実施形態は、第1のセンサー要素と、信号多重化モジュールによって第1のセンサー要素に結合された複数のデジタルフィルタと、複数のデジタルフィルタのうちの1つの対応するデジタルフィルタに各々結合される複数の出力レジスタと、複数の出力レジスタに結合されたセンサーアドレス指定モジュールであり、センサーアドレス指定モジュールが、少なくとも2つのセンサーデータストリームを並行して出力し、少なくとも2つのセンサーデータストリームが複数の出力レジスタからセンサーアドレス指定モジュールで受信され、少なくとも2つのセンサーデータストリームが異なるデータストリームパラメータを有する、センサーアドレス指定モジュールとを備えるデバイスとすることができる。
【０００５】
そのようなデバイスによる別の実施形態は、少なくとも2つのセンサーデータストリームのための異なるデータストリームパラメータを作成するために使用される第1の組のデータストリームパラメータと第2の組のデータストリームとを提供するセンサーアドレス指定モジュールに通信可能に結合されるプロセッサをさらに備え得る。
【０００６】
そのようなデバイスによる別の実施形態は、さらに、プロセッサが複数のアプリケーションを実行し、複数のアプリケーションの各アプリケーションが、複数のアプリケーションの各アプリケーションによるセンサーデータの要求の一部として、1組のデータストリームパラメータをセンサーアドレス指定モジュールへの通信のためにプロセッサに提供する場合、機能し得る。
【０００７】
そのようなデバイスによる別の実施形態は、第1の較正モジュールをさらに備え得、複数のデジタルフィルタが、第1のデジタルフィルタと、第2のデジタルフィルタとを備え、複数の出力レジスタが、第1のデジタルフィルタに結合された第1の出力レジスタと、第2のデジタルフィルタに結合された第2の出力レジスタとを備え、第1のデジタルフィルタが、第1の較正モジュールを介して第1の出力レジスタに結合される。
【０００８】
そのようなデバイスによる別の実施形態は、さらに、第1のセンサー要素がジャイロスコープセンサー要素であり、少なくとも2つのセンサーデータストリームが、較正されたセンサーデータストリームと、較正されていないセンサーデータストリームとを備える場合、機能し得る。そのようなデバイスによる別の実施形態は、さらに、複数のアプリケーションのうちの第1のアプリケーションが、第1の出力レジスタから較正されたセンサーデータストリームを受信するカメラアプリケーションであり、複数のアプリケーションのうちの第2のアプリケーションが、第2の出力レジスタから較正されていないセンサーデータストリームを受信するナビゲーションアプリケーションである場合、機能し得る。
【０００９】
そのようなデバイスによる別の実施形態は、さらに、信号多重化モジュールがアナログデジタル変換器をさらに備え、複数のデジタルフィルタがアナログデジタル変換器に統合される場合、機能し得る。そのようなデバイスによる別の実施形態は、さらに、第1のセンサー要素がマイクロフォンであり、信号多重化モジュールおよび複数のデジタルフィルタが単一の集積回路の一部である場合、機能し得る。
【００１０】
別の実施形態は、センサーから信号多重化モジュールにセンサーデータを直接通信するステップと、第1のセンサーデータストリームおよび第2のセンサーデータストリームを信号多重化モジュールから出力するステップと、第1の出力レジスタで第1のセンサーデータストリームを受信するステップと、第2の出力レジスタで第2のセンサーデータストリームを受信するステップと、センサーアドレス指定モジュールで第1のセンサーデータストリームの第1の要求を受信するステップと、センサーアドレス指定モジュールで第2のセンサーデータストリームの第2の要求を受信するステップと、センサーアドレス指定モジュールを介して、第1の出力レジスタから第1のセンサーデータストリームの少なくとも第1の部分と、第2の出力レジスタから第2のセンサーデータストリームの少なくとも第2の部分とを並行して出力するステップとを含む方法とすることができる。
【００１１】
そのような方法による別の実施形態は、第1のセンサーデータストリームの第1の要求を第1のアプリケーションの一部としてプロセッサからセンサーアドレス指定モジュールに通信するステップと、第2のセンサーデータストリームの第2の要求を第2のアプリケーションの一部としてプロセッサからセンサーアドレス指定モジュールに通信するステップとをさらに含み得る。
【００１２】
そのような方法による別の実施形態は、さらに、センサーアドレス指定モジュールを介して、第1の出力レジスタから第1のセンサーデータストリームの少なくとも第1の部分と、第2の出力レジスタから第2のセンサーデータストリームの少なくとも第2の部分とを並行して出力するステップが、第1の時間に開始し、第2の時間に終了する、第1のセンサーデータストリームをプロセッサの第1のアプリケーションに通信するステップと、第3の時間に開始し、第4の時間に終了する、第2のセンサーデータストリームをプロセッサの第2のアプリケーションに通信するステップであり、第3の時間が第1の時間よりも後であり、第3の時間が第2の時間よりも早い、ステップとを含む場合、機能し得る。
【００１３】
そのような方法による別の実施形態は、センサーアドレス指定モジュールで、利用可能なストリームに関する第1の問合せを受信するステップと、センサーアドレス指定モジュールで、1組の要求されたデータストリームパラメータを受信するステップと、利用可能なストリームに関する第1の問合せに対する応答を通信するステップであり、第1のセンサーデータストリームの第1の要求が、第1の問合せに対する応答の通信によって生じるステップとをさらに含み得る。
【００１４】
そのような方法による別の実施形態は、1組の要求されたデータストリームパラメータを、センサーアドレス指定モジュールから、第1のセンサーデータストリームに関連付けられた第1のデジタルフィルタに通信するステップと、第1の問合せに対する応答を通信する前に、第1のデジタルフィルタで、1組の要求されたデータストリームパラメータを使用して、第1のセンサーデータストリームを更新するステップとをさらに含み得る。そのような方法による別の実施形態は、第1の問合せに対する応答を通信する前に、第1のセンサーデータストリームの現在のパラメータが、1組の要求されたデータストリームパラメータに一致することを識別するステップをさらに含み得る。
【００１５】
追加の実施形態は、記憶媒体に結合されたプロセッサによって実行されると、デバイスに方法を実行させるコンピュータ可読命令を含む非一時的コンピュータ可読記憶媒体とすることができ、方法は、センサーから信号多重化モジュールにセンサーデータを直接通信するステップと、第1のセンサーデータストリームおよび第2のセンサーデータストリームを信号多重化モジュールから出力するステップと、第1の出力レジスタで第1のセンサーデータストリームを受信するステップと、第2の出力レジスタで第2のセンサーデータストリームを受信するステップと、センサーアドレス指定モジュールで第1のセンサーデータストリームの第1の要求を受信するステップと、センサーアドレス指定モジュールで第2のセンサーデータストリームの第2の要求を受信するステップと、センサーアドレス指定モジュールを介して、第1の出力レジスタから第1のセンサーデータストリームと、第2の出力レジスタから第2のセンサーデータストリームとを並行して出力するステップとを含む。
【００１６】
そのような非一時的コンピュータ可読記憶媒体による別の実施形態は、方法が、第1のセンサーデータストリームの第1の要求を第1のアプリケーションの一部としてプロセッサからセンサーアドレス指定モジュールに通信するステップと、第2のセンサーデータストリームの第2の要求を第2のアプリケーションの一部としてプロセッサからセンサーアドレス指定モジュールに通信するステップとをさらに含む場合、さらに機能し得る。そのような非一時的コンピュータ可読記憶媒体による別の実施形態は、方法が、センサーアドレス指定モジュールで、利用可能なストリームに関する第1の問合せを受信するステップと、センサーアドレス指定モジュールで、1組の要求されたデータストリームパラメータを受信するステップと、1組の要求されたデータストリームパラメータを、センサーアドレス指定モジュールから、第1のセンサーデータストリームに関連付けられた第1のデジタルフィルタに通信するステップと、第1のデジタルフィルタで、1組の要求されたデータストリームパラメータを使用して、第1のセンサーデータストリームを更新するステップと、利用可能なストリームに関する第1の問合せに対する応答を通信するステップであり、第1のセンサーデータストリームの第1の要求が、第1の問合せに対する応答の通信によって生じるステップとをさらに含む場合、さらに機能し得る。
【００１７】
別の実施形態は、センサーデータから複数のセンサーデータストリームを作成するための手段と、複数のセンサーデータストリームの各センサーデータストリームをフィルタリングするための手段と、少なくとも1つのプロセッサ上で動作しているアプリケーションによって複数のセンサーデータストリームの1つまたは複数の要求に応答して、少なくとも1つのプロセッサに複数のセンサーデータストリームを並行して出力するための手段とを備えるデバイスとすることができる。
【００１８】
そのようなデバイスの追加の実施形態は、複数のセンサーデータストリームのうちの少なくとも1つを較正するための手段であり、複数のセンサーデータストリームが第1の較正されたデータストリームと第1の較正されていないデータストリームとを含む、手段をさらに備え得る。そのようなデバイスの追加の実施形態は、複数のアプリケーションを実行するための手段であり、複数のアプリケーションの各アプリケーションが、複数のセンサーデータストリームのうちの少なくとも1つを受信する、手段をさらに備え得る。
【００１９】
様々な特定の実施形態が記載されているが、様々な実施形態の要素、ステップ、および構成要素が、説明の範囲内にあり続けながらも代替の構造で構成され得ることを当業者は理解されよう。また、追加の実施形態は、本明細書での説明が与えられると明らかになり、したがって、説明は、具体的に記載されている実施形態に言及しているだけではなく、本明細書で説明する機能または構造が可能な任意の実施形態にも言及する。
【００２０】
様々な実施形態の性質および利点のさらなる理解が、以下の図面を参照することによって実現され得る。添付の図面において、類似の構成要素または特徴は、同じ参照標識を有し得る。さらに、同じタイプの様々な構成要素は、参照標識の後に、複数の類似の構成要素を区別するダッシュおよび第2の標識を付けることによって、区別され得る。第1の参照標識のみが本明細書において使用される場合、その説明は、第2の参照標識とは関係なく同じ第1の参照標識を有する類似の構成要素の任意の1つに適用可能である。
【図面の簡単な説明】
【００２１】
【図１】1つの潜在的な実施形態によるデバイスを示す図である。
【図２】いくつかの実施形態による方法を示す図である。
【図３】1つの潜在的な実施形態によるデバイスを示す図である。
【図４】いくつかの実施形態による方法を示す図である。
【図５】1つの潜在的な実施形態によるモバイルデバイスを示す図である。
【図６】いくつかの実施形態による方法を示す図である。
【図７】本開示の1つまたは複数の態様が実装され得る例示的なコンピューティングシステムを示す図である。
【発明を実施するための形態】
【００２２】
本発明は、センサー、および統合されたセンサーを有する電子デバイスに関する。特に、センサー要素を処理デバイスと統合することができるデバイスが記載されている。処理デバイスは、複数のアプリケーションを並行して動作させることができ、各アプリケーションがセンサー要素に情報を要求する。様々な実施形態は、異なるアプリケーションに合わせて調整される、並行する別個のセンサーデータストリームを提供するように機能することができる。
【００２３】
たとえば、1つの潜在的な実施形態では、ナビゲーションアプリケーションおよび写真アプリケーションを有するスマートフォンは、アプリケーションを並行して動作させることができる。ナビゲーションアプリケーションは、デバイスの移動を測定し、デバイスが移動するにつれて、方向を更新することによって、ジャイロスコープセンサーからのデータを使用して方向を提供することを支援することができる。写真アプリケーションは、画像安定化機能にジャイロスコープセンサーからのデータを使用することができる。これらの2つの異なる使用は、データの異なる要件を有し得る。リアルタイムに連続的に較正係数が決定され、補正される場合、画像安定化機能は、より効果的に機能し得る。一方、リアルタイムの較正および補正が不連続性またはデータへのジャンプをもたらし得、これはナビゲーションのパフォーマンスを劣化させ得るので、ナビゲーションアプリケーションは、較正されていないデータを必要とし得る。さらに、アプリケーションは、異なるデータレートを必要とし得る。したがって、両方のデバイスにデータを提供するために単一のセンサーデータストリームを使用することは、アプリケーションの一方または両方における非効率性および/またはパフォーマンス劣化を引き起こし得る。様々な実施形態によれば、第1のセンサーデータストリームは、写真アプリケーションにおける画像安定化のために較正係数補正で作成され得、第2のセンサーデータストリームは、ナビゲーションアプリケーションのために較正されていないデータで作成され得、各データストリームは、アプリケーションに合わせて調整されるデータレートおよび/または他のパラメータを有する。
【００２４】
本明細書で説明する際、「センサー要素」は、物理的特性を測定し、その特性を表す信号を出力するために使用されるデバイスの任意の構成要素を指す。センサー要素の一例には、カメラ、および光を電子信号に変換する他の光検出要素がある。別の一例には、加速度計、および運動を測定する要素がある。さらなる一例は、感知要素として機能する受信機の位置を識別する電子信号を出力するために衛星信号を受信する全地球測位受信機である。センサー要素は、任意のそのようなトランシーバまたは測定要素でもよい。
【００２５】
本明細書で説明する際、「モジュール」は、ユニットとしての機能を実行するためにデバイスの一部として統合される1組の構成要素を指す。モジュールは、回路、ソフトウェア、ファームウェア、または様々な機能を実行するためのこれらの任意の組合せを含み得る。たとえば、ワイヤレスモジュールは、アンテナ、ならびにアンテナを使用して信号を送受信する際の基本的な機能のための任意のファームウェアおよびソフトウェアを含み得る。
【００２６】
本明細書で説明する際、「センサーモジュール」は、センサー要素によって測定される特性を記述する信号を出力するセンサー要素を含む1組の統合された構成要素を指す。センサー要素と統合されるそのような構成要素は、処理要素によって使用可能な形のセンサー要素からの信号をフォーマット化し、バッファリングする能動構成要素を含み得る。そのような構成要素の例には、センサー要素から出力されたアナログ信号を、センサーモジュールを含むデバイスにおけるアプリケーションとして実装される特定のアルゴリズムを実行するために汎用コンピューティングプロセッサによって使用可能なデジタル信号に変換することができるアナログデジタル変換器がある。様々なセンサーモジュールにおいて、センサー要素は、製造され、感知要素に直接結合された単一の集積回路ダイに接続された集積システムオンチップ構造を作成するために、回路構成要素と統合され得る。他のセンサーモジュールでは、プリント回路板は、プリント回路板において導電ラインを使用する構成要素に直接結合された感知要素を有する様々な構成要素を含み得る。
【００２７】
本明細書で説明する際、「データストリーム」は、時間がたつにつれて出力される情報を指す。たとえば、いくつかのセンサー要素は、センサー要素の環境の物理的特性の測定値が測定されるにつれて、アナログ信号を常に出力するように機能し得る。センサー要素からの一定の出力の一部として出力される情報は、センサーデータストリームとすることができる。様々な代替実施形態において、データストリームは、周期的でもよく、ランダムでもよく、またはセンサーモジュールを対象とする情報の特定の要求に関連付けられ得る。
【００２８】
本明細書で説明する際、「並行して出力されるセンサーストリーム」は、別のセンサーストリームのうちの少なくとも一部からのデータが出力されるのと同時に、各センサーストリームのうちの少なくとも一部からのデータが出力される複数のセンサーストリームを指す。各センサーストリームの出力は、同時に開始したり終了したりする必要はない。これは単に、第2のセンサーストリームからのデータがセンサーモジュールから出力されるのと同時に、第1のセンサーストリームからのデータがセンサーモジュールから出力されることを指す。
【００２９】
図1を参照すると、モバイルデバイス100は、デバイスの1つの潜在的な非限定的な例を示す。デバイス100は、センサー要素110、信号多重化モジュール120、デジタルフィルタ130a〜d、較正モジュール140a〜d、出力レジスタ150a〜d、センサーアドレス指定モジュール160、およびアプリケーション190a〜dを含む。4つのデジタルフィルタ130、4つの較正モジュール140、および4つの出力レジスタ150が示されているが、様々な実施形態に従って、2つ以上の任意の数のいくつかの要素が存在していてよい。同様に、図1には4つのアプリケーションが示されているが、様々な実施形態に従って、2つ以上の任意の数のアプリケーションが機能することができる。
【００３０】
センサー要素110は、デバイス100と統合される任意の感知デバイスでもよい。たとえば、センサー要素は、ジャイロスコープ、加速度計、磁力計、電荷結合素子(CCD)、光電池、任意の光感知デバイス、温度感知デバイス、圧力感知デバイス、または任意の他の潜在的な感知デバイスまたは要素とすることができる。
【００３１】
信号多重化モジュール120は、センサー要素110からのセンサーデータを、別々の信号として複数のデジタルフィルタ130が使用するための複数のデータストリームに変換することができる。たとえば、信号多重化モジュール120は、アナログデータを作成するセンサー要素のためのアナログデジタル変換器を備え、複数の信号の作成を可能にするための様々な他の設定をさらに備え得る。様々な実施形態では、アナログデジタル変換器は最初にアナログ信号をデジタル信号に変換し、次いで、デジタル信号の複数のコピーが作られ得る。代替実施形態では、複数のアナログ信号が作られ得る。
【００３２】
デジタルフィルタ130は、各対応するデジタルフィルタ130に関連付けられたデータストリームの様々なパラメータを調整するために構成可能であり得るハードウェアデジタルフィルタを備え得る。たとえば、フィルタリング周波数は、サンプリングレートおよび測定範囲とともに、デジタルフィルタによって設定され得る。そのような設定は、センサーアドレス指定モジュールによってデジタルフィルタ130に直接通信され得る、または任意の適切な信号経路によってデジタルフィルタ130に通信され得る。様々な実施形態では、デジタルフィルタ130は、代替的に、ファームウェア、ハードウェア、ソフトウェア、またはセンサーソースデータストリームにおける任意の種類のデジタル操作またはデジタル処理における、もしくはそれを実施するための任意の組合せを備え得る。
【００３３】
較正モジュール140は、較正データで様々なデータストリームを修正するように機能することができる。潜在的な一実施形態では、各較正モジュール140は、較正データを記憶するメモリを備える。そのような較正データは、デバイスの動作の一部として作成され得、既知の入力がセンサー要素110に提供され、センサー要素110の出力は、較正データを作成するために、既知の入力の値と比較される。次いで、較正データは、較正モジュール140が使用するために記憶され得る。デジタルフィルタ130の機能と同様、較正モジュール140は、較正データを使用して関連するデータストリームを修正する、または較正データを使用して関連するデータストリームを修正しない旨のコマンドを、センサーアドレス指定モジュール160から直接受信するための入力を有することができる。そのような入力は、センサーアドレス指定モジュール160からの直接の信号、または較正モジュール140へのコマンド入力のための任意の他の可能な経路を介した入力を含み得る。様々な実施形態では、較正モジュール140は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組合せで実施され得る。較正モジュール140は、したがって、較正データを記憶するメモリを使用して実施され得、さらに、ソースデータストリームから較正されたデータストリームを作成するために較正データを使用する1つまたは複数のプロセッサを備え得る、またはそれに接続され得る。
【００３４】
様々な実施形態では、較正データは、工場出荷時設定で作成され得、センサー出力測定値における変化を補償するために、すべてのユニットが既知の感知ターゲットと比較される。代替実施形態では、デバイスユーザは、較正パラメータを更新するために、デバイスにおける較正アプリケーションの一部として、較正ルーチンを実行することができる。さらなる実施形態では、デバイスは、リアルタイムまたはほぼリアルタイムの較正を作成するために、自動化された較正または較正の更新を連続的または周期的に実施する自動化された較正ルーチンを含むことができる。
【００３５】
次いで、出力データレジスタ150は、それぞれのデジタルフィルタ130および較正モジュール140からの関連するデータストリームのためのデータを記憶することができる。そのようなレジスタは、任意の許容できるデータ記憶デバイスまたはメモリであってもよい。アプリケーション190は、センサー要素110に情報を要求するとき、センサーアドレス指定モジュール160との通信で特定の出力レジスタ150を直接アドレス指定することによって、そのような情報を要求することができ、または、単に1組のパラメータ群を有するデータストリームを要求し、対応する出力レジスタ150についてのデジタルフィルタ130および較正モジュール140ができるだけ密接にパラメータに一致することを確認した後、センサーアドレス指定モジュール160が出力レジスタ150にデータを要求できるようにすることができる。
【００３６】
さらなる代替実施形態では、センサーアドレス指定モジュール160は、追加のデータストリームの作成のための要素をさらに含み得る。たとえば、6つの異なるデータストリームがセンサー要素110から要求された場合、アドレス指定モジュール160は、出力データレジスタ150におけるデータストリームから追加のデータストリームを作成するためのファームウェア、ハードウェア、またはソフトウェアを含み得る。センサーアドレス指定モジュールは、さらに、出力データレジスタにおける単一のストリームから複数の出力ストリームを作成し、較正、サンプリングレート、帯域幅、または任意の他のそのようなデータストリームパラメータを調整することによって複数のデータストリームのうちの1つまたは複数を修正することが可能であり得る。そのような実施形態では、センサーアドレス指定モジュール160は、較正データを記憶するメモリ要素またはメモリモジュールを含み得る、またはそれに接続され得、処理要素または処理モジュールをさらに含み得る、またはそれに接続され得る。次いで、センサーアドレス指定モジュールは、出力データレジスタ150aなど単一の出力データレジスタからのデータストリームを使用して、異なるパラメータを有する複数のデータストリームを出力することができる。
【００３７】
図2は、一実施形態を実施する方法を表す。ステップS202で、第1のアプリケーション190aは、センサー要素110に利用可能なデータストリームに関する情報を要求することができる。そのような問合せは、第1のアプリケーションの選好に一致するように調整されたパラメータを有し得る未使用のデータストリームを識別することを試みることができ、または、識別されたパラメータに一致するデータストリームが利用可能であるかどうかを識別する旨の要求を、1組の好適なパラメータに提供することができる。ステップS204で、第1のアプリケーション190aは、データストリームの利用可能性を識別するセンサーアドレス指定モジュール160からの情報を受信することができ、アプリケーション190aは、パラメータとともにデータの要求を通信することができる。
【００３８】
ステップS206で、デバイス100において動作する第2のアプリケーション190bは、センサーデータを要求し、1組のパラメータを識別することができる。第2のアプリケーション190bは、アプリケーション190aとは異なり、データの複数のストリームが存在し得ることを確認するための統合されたシステムを備えていない場合がある。代わりに、センサーアドレス指定モジュール160など別のモジュールは、要求を受信し、適切なデータストリームの利用可能性を識別し、アプリケーション190bからの要求に基づいて、対応するデジタルフィルタ130および較正モジュール140の設定を行い、アプリケーション190bに透過的な方法で、アプリケーション190bにデータストリームを通信することができる。S204およびS206におけるこれらの要求は、同時に行われてもよく、または、1つのデータストリームが存在し得、そのとき、センサーデータの要求に応答して別のデータストリームが作成されるように、最初は別々の時間に行われてもよい。様々な代替実施形態では、アプリケーションの全部または任意の組合せは、上記のアプリケーション190aのものと同様の方法で機能することができる。他の代替実施形態では、アプリケーションの全部または任意の組合せは、アプリケーション190bのものと同様の方法で機能することができる。さらに、さらなる実施形態では、2つ以上の任意の数のアプリケーションは、並行するデータストリームを有するデバイス内で機能し得る。
【００３９】
ステップS210で、センサーアドレス指定モジュール160は、任意のデータ要求を受信し、各要求に応答するための適切なセンサーデータを識別することができる。そのような識別は、アプリケーションによって識別される出力レジスタを単に識別することができ、または、提供されたパラメータを、利用可能なデータストリームと一致させることができる。ステップS212で、較正選択(たとえばバイアスおよびスケール係数に関する)、データレート、周波数フィルタ、または任意の他の設定に対する任意の必要な更新は、データ要求に基づいて特定のデータストリームのために更新され得る。ステップS214で、適切なデータストリームが要求されたパラメータに基づくように設定された後、センサーアドレス指定モジュール160は、対応する適切なアプリケーションにデータストリームを並行して転送することができる。たとえば、アプリケーション190aによって提供されるパラメータを使用してデジタルフィルタ130dおよび較正モジュール140dが設定され、アプリケーション190bによって提供されるパラメータと一致するように、デジタルフィルタ130aおよび較正モジュール140aが設定される場合、出力レジスタ150dからのデータは、出力レジスタ150aからのデータがアプリケーション190bに送られるのと並行してアプリケーション190aに送られ得る。
【００４０】
そのようなシステムは、第1のデータストリームが連続的に送られる状態で動作し、一方、第2のデータストリームは、様々なアプリケーション要求に応答して繰り返し開始し、停止する。そのようなシステムは、任意の数の追加のデータストリームが並行して送られ、他のデータストリームが動作している間に、追加のデータストリームが開始し、終了し、各データストリームが異なる1組のパラメータを有する状態でさらに動作し得る。さらに、いくつかの実施形態では、いくつかのアプリケーションは、同じデータストリーム、または同じパラメータを有する異なるデータストリームが送られ得、一方、複数の追加のアプリケーションは、異なるパラメータを有する並行して送信されたデータストリームを受信する。
【００４１】
様々な代替実施形態では、データレートなどのパラメータの組合せ、較正パラメータの包含、および動的な値範囲、データレート、データ較正、データ出力範囲、データ出力解像度、サンプリングレート、測定範囲、フィルタリング周波数、または任意の他のそのようなパラメータの調整が使用され得る。そのようなパラメータは、デジタルフィルタ230b、較正モジュール240、または任意の他の追加のモジュールによって設定され得る。
【００４２】
次に、一実施形態の追加の潜在的な例について説明される。1つの潜在的な実施形態では、センサーアドレス指定モジュール160は、出力レジスタ150aに関連付けられたデータストリームが20Hzのサンプリングレートを有する較正されたデータを含み、出力レジスタ150bが100Hzのサンプリングレートを有する較正されていないデータを含むという情報を含み得る。アプリケーション190cが20Hzのサンプリングレートの較正されたデータを要求した場合、出力レジスタ150aからの情報は、単にアプリケーション190cに送られ得る。アプリケーション190dが200Hzの較正されていないデータを要求した場合、デジタルフィルタ130bは、サンプリングレートを調整するために修正され得、出力レジスタ150bにおけるデータが、アプリケーション190dからのパラメータ要求に一致するように調整されているとき、データはアプリケーション190dに送られ得る。
【００４３】
図2によって説明したように、センサーデータを要求するアプリケーションについてのパラメータを交渉する1つの潜在的な実装形態は、利用可能なストリームについてセンサーモジュールに問合せを行うことである。様々な代替実施形態において、アプリケーションは、いくつかのパラメータを有するデータストリームの要求を送ることができる。センサーアドレス指定モジュールは、そのような要求を受信し、要求されたパラメータに等しい現在のパラメータを有するストリームが存在するかどうかを識別することができる。要求されたパラメータに等しい現在のパラメータを有するデータストリームが存在する場合、センサーアドレス指定モジュールは、アプリケーションにデータストリームを通信することによって、またはデータストリームを識別することによって、応答することができる。次いで、そのデータストリームのパラメータは、アプリケーションによってリリースされるまで固定され得る。代替として、情報は、データストリームが要求されたパラメータにもはや一致しないことを示す、そのデータストリームのパラメータの後の更新の前にアプリケーションに送られ得る。
【００４４】
要求されたパラメータに等しい現在のパラメータを有するデータストリームが存在しない場合、センサーアドレス指定モジュールは、利用可能なデータストリームを識別し、要求されたデータストリームに一致するパラメータにデータストリームを更新するために、そのデータストリームに関連付けられたフィルタおよび/または較正モジュールと通信することができる。次いで、データストリーム、またはデータストリームに関連付けられた識別子は、要求側アプリケーションに送られ得る。すべてのデータストリームが使用中であり、データストリームのいずれも要求されたデータストリームパラメータに一致しない場合、データストリームが利用できないという指示が、データストリームパラメータの組を有するデータストリームの要求に応答して送られ得る。
【００４５】
図3は、別の潜在的な実施形態によるデバイスの別の例を表す。図3のデバイス303は、第1のセンサーモジュール300と、第2のセンサーモジュール400と、センサーアドレス指定モジュール360と、プロセッサ398と、メモリ396とを含む。センサーモジュール300は、センサー要素310と、信号多重化モジュール320と、デジタルフィルタ330a〜bと、較正モジュール340と、出力レジスタ350a〜bとを含む。センサーモジュール400は、センサー要素410と、信号多重化モジュール420と、デジタルフィルタ430a〜bと、較正モジュール440と、出力レジスタ450a〜bとを含む。センサーモジュール300およびセンサーモジュール400は、異なるタイプのセンサーモジュールでもよい。たとえば、センサーモジュール300は、ジャイロスコープモジュールとして機能することができ、センサーモジュール400は、カメラモジュールとして機能することができる。代替実施形態では、これらのセンサーモジュールは、同じ機能を実行する冗長なモジュールでもよい。
【００４６】
図3の実施形態では、信号センサーアドレス指定モジュール360は、センサーモジュール300とプロセッサ398との間と、センサーモジュール400とプロセッサ398との間との両方でセンサーデータおよびセンサーデータの要求を転送する。したがって、いくつかの実施形態では、単一のセンサーアドレス指定モジュールは、複数のセンサーモジュールのアドレス指定を可能にするように機能することができる。代替実施形態では、各センサーモジュールは、個別のセンサーアドレス指定モジュールを有し得、センサーモジュールの一部として統合され得る。
【００４７】
さらに、図3によって示されるように、アプリケーション390a、390bおよび390cは、非一時的記憶メモリ396と連動してプロセッサ398によって実行されるように動作する。そのようなアプリケーションは、センサーモジュール300および400にセンサーデータを要求するためにプロセッサ398によって実行されるように機能し、各アプリケーションの一部としてメモリ396内で使用するためのそのようなセンサーデータを記憶することができる。
【００４８】
図3は、センサー要素310および410から導出されるセンサーデータストリームおよびセンサーデータのための信号経路をさらに示す。たとえば、センサーデータ312は、センサー要素310から直接信号多重化モジュール320に出力される。信号多重化モジュール320は、センサーデータ312を使用して作成される、センサーデータストリーム323、およびセンサーデータストリーム322を出力する。信号多重化モジュール320は、本質的に、その各々がセンサーデータストリームの出力を記憶し、管理するための出力レジスタ350を有する個別のハードウェアまたは回路経路に沿ってデータストリームを出力すると考えられ得る。そのストリームが出力レジスタによって管理される前に、特定のセンサーデータストリームに、フィルタリングおよび較正調整が行われるが、センサーデータストリーム上のいくつかのデータストリームパラメータを設定するために行われる任意の変更にもかかわらず、レジスタで受信される信号は、同じセンサーデータストリームであると、依然として考えられる。
【００４９】
たとえば図3に示すように、センサーデータストリーム322は、出力レジスタ350bに入力される較正されたセンサーデータストリーム342を作成するために、較正モジュール340によってさらに修正され得る、フィルタリングされたセンサーデータストリーム332を作成するために、デジタルフィルタ330bによって修正され得るが、出力レジスタ350で受信される較正されたフィルタリングされたセンサーデータストリームは、依然としてセンサーデータストリーム322と考えられる。同様に、センサーモジュール400は、センサーデータ412と、センサーデータストリーム423と、センサーデータストリーム422と、フィルタリングされたセンサーデータストリーム432と、較正されたセンサーデータストリーム442とを有して示される。
【００５０】
次いで、図4は、いくつかの実施形態による追加の代替方法を表す。S410で、たとえばセンサー要素310またはセンサー要素410などのセンサー要素は、センサーモジュール内の信号多重化モジュールへの直接接続を使用してセンサーデータを出力する。そのような直接接続は、システムオンチップ内の導電性経路、回路板の一部としての導電性ワイヤまたはライン、回路パッケージングの導電性部分、スイッチの部分としての導電ライン、または2つの構成要素を分離する余分の機能がほとんどまたはまったくない、センサー要素から多重化モジュールへの直接の任意の他の経路を含み得る。
【００５１】
S412で、信号多重化ユニットは、センサーデータから少なくとも第1および第2のセンサーデータストリームを作成する。第1のセンサーデータストリームは第1のデジタルフィルタに通信され、第2のセンサーデータストリームは第2のデジタルフィルタに通信される。これは、本質的に、同じセンサー要素からセンサーデータストリームのための別々のハードウェア回路経路を開始する。
【００５２】
S414で、第1のフィルタリングされたセンサーデータストリームが第1のデジタルフィルタから出力され、第2のフィルタリングされたセンサーデータストリームが第2のデジタルフィルタから出力されるように、各デジタルフィルタは、データレートおよび任意の他の信号特性を設定する。S416で、フィルタリングされたセンサーデータストリームのうちの少なくとも1つが較正され、したがって、第1のフィルタリングされたセンサーデータストリームは、第1の較正されたセンサーデータストリームを作成するために、較正係数によって調整される。較正された、および較正されていないデータストリームの必要性を中心とする高度に最適化され得るセンサーモジュールでは、特に、重要なリソースまたは処理が較正のために必要とされる場合、較正モジュール340などの較正モジュールを有するセンサーデータストリームのための単一のハードウェア回路経路を有するセンサーモジュールは、効率的な方法で必要な複数のデータストリームを提供することができる。
【００５３】
S418で、第1の較正されたセンサーデータストリームは第1の出力レジスタに入力され、第2のフィルタリングされたセンサーデータストリームは第2の出力レジスタに入力される。アプリケーションによって要求されるまで、データストリームからの情報は各出力レジスタに記憶される。
【００５４】
S420で、センサーアドレス指定モジュールがセンサーデータの要求を受信すると、第1の較正されたセンサーデータストリームは、第1の出力レジスタから取り出され、第2のフィルタリングされたセンサーデータストリームは、第2の出力レジスタから取り出され得る。次いで、第1の較正されたセンサーデータストリームおよび第2のフィルタリングされたデータストリームは、センサーデータの要求に応答して、並行して通信され得る。
【００５５】
図5は、本明細書で説明する実施形態に関して使用され得るモバイルデバイスの1つの潜在的な実施形態を例示するブロック図である。そのようなモバイルデバイスは、センサーモジュール、およびセンサーモジュール内の単一のセンサー要素が並行するセンサーデータストリームを出力することが可能な機能を含む。また、そのようなモバイルデバイスは、様々な実施形態に関して説明したようにアプリケーションを実行することができ、したがって、アプリケーションは、単一のセンサーモジュールに、異なるデータストリームパラメータを有するセンサーデータを要求することができる。図5のモバイルデバイス500は、スマートフォン、セルラーフォン、携帯情報端末、タブレットコンピュータ、パーソナルメディアプレイヤ、ならびに類似の機能または組み合わされた機能を提供する任意の他のタイプのポータブル電子デバイスなど、任意のモバイルデバイスであってよい。デバイス500は、接触ボタン、電源デバイス(たとえば、電池)、ならびに、スマートセルラー電話などのポータブル電子デバイスに関連する他の構成要素も含み得ることを諒解されたい。したがって、一部の構成要素は省かれるため、図5は、限定的であると解釈されるべきではない。
【００５６】
図5に示す実施形態では、デバイス500は、いくつかの構成要素において動作を実行するための命令を実行するように構成され、たとえば、ポータブル電子デバイス内の実装に適した、汎用プロセッサ、またはマイクロプロセッサであってよいプロセッサ510を含む。プロセッサ510は、モバイルデバイス500内の複数の構成要素と伝達可能に結合される。この伝達可能結合を実現するために、プロセッサ510は、バス540を介して、他の例示された構成要素と通信することができる。バス540は、モバイルデバイス500内でデータを転送するように適合された任意のサブシステムであり得る。バス540は、複数のコンピュータバスであってよく、データを転送するための追加の回路を含む。
【００５７】
メモリ520は、プロセッサ510に接続され得る。いくつかの実施形態では、メモリ520は、短期ストレージと長期ストレージの両方を提供し、実際には、いくつかのユニットに分割され得る。メモリ520は、スタティックランダムアクセスメモリ(SRAM)および/もしくはダイナミックランダムアクセスメモリ(DRAM)など、揮発性であってよく、かつ/または読取り専用メモリ(ROM)、フラッシュメモリなど、不揮発性であってもよい。さらに、メモリ520は、セキュアデジタル(SD)カードなど、取外し可能記憶デバイスを含み得る。したがって、メモリ520は、モバイルデバイス500用のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。いくつかの実施形態では、メモリ520は、異なるハードウェアモジュールに分散され得る。
【００５８】
上記のようにいくつかの実施形態では、モバイルデバイス500は、各センサーモジュール内のセンサーデータを含む出力バッファをアドレス指定するための単一のセンサーアドレス指定モジュール505を有し得、代替実施形態では、各モジュールは、別のアドレス指定モジュールを有し得る。
【００５９】
いくつかの実施形態では、メモリ520は、複数のアプリケーションモジュール521〜522を記憶する。アプリケーションモジュール521〜522は、プロセッサ510によって実行されるべき特定の命令を含む。メモリ520は、任意の数のアプリケーションモジュールを記憶することができる。アプリケーションモジュール521〜522のそれぞれは、たとえば、カレンダーアプリケーション、ジオフェンシングアプリケーション、電力管理アプリケーション、スマートアラートアプリケーション、ソーシャルメディアアプリケーション(たとえば、Twitter(登録商標)もしくはFacebook(登録商標))、またはプロセッサ510によって実行される命令を有する任意のアプリケーションタイプモジュールであってよい。いかなるそのようなアプリケーションも、センサーアドレス指定モジュール505に、センサーデータまたはセンサーデータストリームの要求を通信することによって、センサーデータにアクセスすることができる。いくつかの実施形態では、メモリ520はオペレーティングシステム523を含む。オペレーティングシステム523は、アプリケーションモジュール521〜522によって提供された命令の実行を開始するように、かつ/またはセンサーモジュール501を管理するように動作可能であり得る。オペレーティングシステム523は、スレッディング(threading)と、リソース管理と、データ記憶制御と、他の類似の機能とを含めて、デバイス500の構成要素を通して他の動作を実行するように適合され得る。
【００６０】
いくつかの実施形態では、モバイルデバイス500は、1つまたは複数のワイヤレスモジュール512を含む。ワイヤレスモジュール512は、Wi-Fiトランシーバ、セルラー電話塔との通信のためのトランシーバ、またはワイヤレス通信を実施するための任意の他のそのようなモジュールを含み得る。
【００６１】
加えて、いくつかの実施形態では、モバイルデバイス500は、複数のセンサーモジュール501A〜501Zを含む。各センサーモジュール501は、デバイス500内の物理モジュールである。しかしながら、モジュール501の各々は、構造として永続的に構成されるが、モジュール501のそれぞれは、特定の機能を実行するように一時的に構成され得るか、または一時的にアクティブ化され得る。一般的な例は、シャッターリリースのためのカメラモジュール(すなわち、センサーモジュール)、および画像キャプチャのためにアクティブ化され、画像キャプチャの後に非アクティブ化される、またはビデオキャプチャストリームの形のセンサーデータストリームの作成のためにアクティブ化され、ビデオデータのキャプチャが終了すると非アクティブ化される画像キャプチャをプログラムすることができるアプリケーションモジュールである。さらに、センサーモジュール501に加えて、特定の機能を有する任意の数の追加のハードウェアモジュールがモバイルデバイス500内に含まれ得る。モジュール501のそれぞれは、たとえば、加速度計、衛星ナビゲーションシステム受信機(たとえば、GPSモジュール)、圧力モジュール、温度モジュール、音声出力および/または入力モジュール(たとえば、マイクロフォン)、カメラモジュール、近接センサー、代替回線サービス(ALS)モジュール、容量性タッチセンサー、近距離通信(NFC)モジュール、Bluetooth(登録商標)トランシーバ、セルラートランシーバ、磁力計、ジャイロスコープ、慣性センサー(たとえば、加速度計とジャイロスコープとを結合するモジュール)、周辺光センサー、相対湿度センサー、または知覚出力を提供するように、かつ/もしくは知覚入力を受信するように動作可能な任意の他の類似のモジュールであってよい。いくつかの実施形態では、センサーモジュール501の1つまたは複数の機能は、ソフトウェア内で実施され得る。
【００６２】
センサーモジュール501およびアプリケーションモジュール521〜522に加えて、モバイルデバイス500は、ディスプレイモジュール503と、ユーザ入力モジュール504とを有し得る。ディスプレイモジュール503は、デバイス500からの情報をユーザにグラフィカルに提示する。この情報は、1つもしくは複数のアプリケーションモジュール521〜522、1つもしくは複数のセンサーモジュール501、それらの組合せ、または(たとえば、オペレーティングシステム523によって)ユーザ用のグラフィカルコンテンツを分解するための任意の他の適切な手段から導出され得る。ディスプレイモジュール503は、液晶ディスプレイ(LCD)技術、発光ポリマーディスプレイ(LPD)技術、または何らかの他のディスプレイ技術であってよい。いくつかの実施形態では、ディスプレイモジュール503は、容量性または抵抗性のタッチスクリーンであり、ユーザとの触覚および/または触知性接触に反応し得る。そのような実施形態では、ディスプレイモジュール503は、マルチタッチセンシティブディスプレイ(multi-touch-sensitive display)を含み得る。
【００６３】
モバイルデバイスのさらなる実施形態は、図7に関して下で詳述するようなコンピューティングデバイスの様々な部分をさらに含み得る。
【００６４】
図6は、潜在的な実施形態による追加の代替方法を表す。特に、図6は、いくつかの実施形態で、単一のセンサー要素を有する単一のセンサーモジュールが、異なるセンサーデータストリームの要求の前に異なるデータストリームパラメータを有する複数のセンサーデータストリームを作成し、記憶することができ、したがって、複数のセンサーデータストリームは、センサーモジュールを含むモバイルデバイス上で動作している1つまたは複数のアプリケーションからの、センサーモジュールからのセンサーデータの要求に備えて、センサーモジュールの出力バッファに並行して記憶され得ることを表す。
【００６５】
S610で、センサーアドレス指定モジュールは、第1のデータストリーム設定を有する利用可能なデータストリームについての第1の問合せを受信する。S612で、センサーアドレス指定モジュールは、要求されたデータストリーム設定のリストを有する出力されたセンサーデータストリームが利用可能であることを確認し、データストリーム設定に対する任意の必要な更新を較正およびフィルタリングモジュールに通信する。
【００６６】
S614で、第1のデータストリーム設定を有する第1のセンサーデータストリームからの第1の組のセンサーデータは、第1の出力バッファに記憶され、センサーモジュールが第1の組のデータの要求を待つ間に更新され得、第1の出力バッファは、センサー要素を含むセンサーモジュールの統合された部分である。
【００６７】
S616で、第1のデータストリーム設定とは異なる第2のデータストリーム設定を有する第2のセンサーデータストリームからの第2の組のセンサーデータは、同じくセンサー要素を含むセンサーモジュールの統合された部分である第2の出力バッファに記憶される。第2のデータストリーム設定は、デフォルト設定でもよく、またはセンサーアドレス指定モジュールによって受信される利用可能なデータストリームについての第2の問合せに応答して設定されてもよい。
【００６８】
S618で、第1の組のセンサーデータは、第2の組のセンサーデータが第2の出力バッファに記憶されるのと並行して、第1の出力バッファに記憶され、したがって、第1のセンサーデータストリームの少なくとも一部分は、第1の出力バッファに記憶され、これは第1の時間に開始し、第2の時間に終了し、第2のセンサーデータストリームの少なくとも一部分は、第2の出力バッファに記憶され、これは第3の時間に開始し、第4の時間に終了し、第1の時間が第3の時間以後であり、第1の時間が第4の時間よりも早い。
【００６９】
次に、1つまたは複数のセンサー要素を有し、複数のアプリケーションを並行して動作させるデバイスの様々な態様が実施され得るコンピューティングシステムの一例について、図7に関して説明する。1つまたは複数の態様によれば、図7に示されるようなコンピュータシステムは、本明細書で説明される特徴、方法、および/または方法ステップのいずれか、および/またはすべてを実施し、実行し、および/または遂行できるコンピューティングデバイスの一部として組み込むことができる。たとえば、コンピュータシステム700は、携帯デバイスの構成要素のうちのいくつかを表すことができる。携帯デバイスは、カメラおよび/またはディスプレイユニットなどの、感覚入力ユニット(input sensory unit)を備えた任意のコンピューティングデバイスでよい携帯デバイスの例には、これに限定されないが、ビデオゲームコンソール、タブレット、スマートフォン、テレビ、およびモバイルデバイスがある。一実施形態では、システム700は、上記で説明した方法のうちの任意のものを実施するように構成される。図7は、本明細書で説明する様々な他の実施形態によって提供される方法を実行し得、かつ/あるいは、ホストコンピュータシステム、リモートキオスク/端末、販売時点管理(point-of-sale)デバイス、モバイルデバイス、セットトップボックスおよび/またはコンピュータシステムとして機能し得る、コンピュータシステム700の一実施形態の概略図を与える。図7は、様々な構成要素を含む一般化された図を提供することをもっぱら意図しており、様々な構成要素のいずれか、および/またはすべてを、適宜、利用することができる。したがって、図7は、個別のシステム要素が、比較的分離された、または比較的より一体化された方式で、どのように実装され得るかを広範囲に示している。
【００７０】
コンピュータシステム700は、バス705を介して電気的に結合され得る(あるいはその他の様式で、適宜、通信し得る)ハードウェア要素を備えるように図示されている。これらのハードウェア要素は、1つまたは複数の汎用プロセッサおよび/または1つまたは複数の専用プロセッサ(デジタル信号処理チップ、グラフィックスアクセラレーションプロセッサ、および/または同様のものなど)を限定なしに含む1つまたは複数のプロセッサ710と、カメラ、マウス、キーボード、および/または同様のものを限定なしに含み得る1つまたは複数の入力デバイス715と、表示ユニット、プリンタ、および/または同様のものを限定なしに含み得る1つまたは複数の出力デバイス720とを含むものとしてよい。いくつかの実施形態では、1つまたは複数のプロセッサ710は、図1および図2に関して上記で説明した機能のサブセットまたはすべてを実行するように構成され得る。たとえば、上記のように、アプリケーション190a〜dの任意の組合せは、1つまたは複数のプロセッサ710を使用して実施され得る。プロセッサ710は、たとえば、一般のプロセッサ、および/またはアプリケーションプロセッサを備え得る。様々な実施形態では、プロセッサは、カメラ入力、ジャイロスコープ入力、またはたとえばアナログデジタル変換器などの追加の要素、もしくはたとえばデジタルデータ出力120などのデジタルデータ出力によって修正され得る他のセンサー要素入力を処理する要素に統合される。
【００７１】
コンピュータシステム700は、1つもしくは複数の非一時的記憶デバイス725をさらに含むこと(および/またはそれらと通信すること)ができ、非一時的記憶デバイス725は、ローカルおよび/もしくはネットワークアクセス可能なストレージを限定なしに備えることができ、かつ/またはプログラム可能、フラッシュ更新可能などであり得る、ディスクドライブ、ドライブアレイ、光記憶デバイス、ランダムアクセスメモリ(「RAM」)および/もしくは読取り専用メモリ(「ROM」)などのソリッドステート記憶デバイスを限定なしに含み得る。このような記憶デバイスは、様々なファイルシステム、データベース構造体、および/または同様のものを限定なしに含む、任意の適切なデータストレージを実装するように構成され得る。
【００７２】
コンピュータシステム700は、通信サブシステム730も含むことができ、通信サブシステム730は、モデム、ネットワークカード(ワイヤレスもしくはワイヤード)、赤外線通信デバイス、ならびに/または(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)ワイヤレス通信デバイスおよび/もしくはチップセットなどを限定なしに含むことができる。通信サブシステム730は、(一例を挙げると、下で説明するネットワークなど)ネットワーク、他のコンピュータシステム、および/または本明細書で説明した任意の他のデバイスとのデータの交換を可能にし得る。多くの実施形態では、コンピュータシステム700は、上で説明したRAMまたはROMデバイスを含み得る非一時的ワーキングメモリ735をさらに備えることになる。
【００７３】
コンピュータシステム700はまた、オペレーティングシステム740、デバイスドライバ、実行可能ライブラリ、および/または1つもしくは複数のアプリケーションプログラム745などの他のコードを含む、現在、ワーキングメモリ735内に配置されたものとして示されている、ソフトウェア要素も備えることができ、他のコードは、様々な実施形態によって提供されるコンピュータプログラムを備えることができ、かつ/または本明細書で説明するように、他の実施形態によって提供される方法を実施するように、および/もしくはシステムを構成するように設計され得る。単に例として、たとえば図2に関して説明したような、上述の方法に関して説明した1つまたは複数の手順は、コンピュータ(および/または、コンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装することができ、次いで、ある態様では、そのようなコードおよび/または命令は、説明した方法による1つまたは複数の動作を実行するために、汎用コンピュータ(または他のデバイス)を構成および/または適合するために使用され得る。プロセッサ710、メモリ735、オペレーティングシステム740、および/またはアプリケーションプログラム745は、図1〜図2に関して説明した様々なブロックを実施するために使用され得る。
【００７４】
これらの命令および/またはコードのセットは、上で説明した記憶デバイス725などのコンピュータ可読記憶媒体上に記憶され得る。場合によっては、記憶媒体は、コンピュータシステム700などのコンピュータシステム内に組み込まれることが可能である。他の実施形態では、ストレージ媒体が、命令/コードを記憶した汎用コンピュータをプログラム、構成、および/または適用するために使用され得るように、ストレージ媒体は、コンピュータシステムから分離され得(たとえば、コンパクトディスクなどの取外し可能媒体)、かつ/またはインストールパッケージ内に備えられ得る。これらの命令は、コンピュータシステム700で実行可能であり、かつ/または、(たとえば、様々な一般的に利用できるコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピュータシステム700上にコンパイルおよび/またはインストールすると、実行コードの形態を取るソースコードおよび/またはインストール可能コード(installable code)の形態を取り得る、実行コードの形態を取り得る。
【００７５】
大幅な変形が、特定の要件に従ってなされ得る。たとえば、カスタマイズされたハードウェアもまた、使用されることがあり、および/または特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、または両方で実装されることもある。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が、使用され得る。
【００７６】
いくつかの実施形態は、本開示による方法を実行するために、(コンピュータシステム700など)コンピュータシステムを使用し得る。たとえば、説明した方法の手順のうちのいくつかまたはすべては、ワーキングメモリ735に含まれる(オペレーティングシステム740、および/またはアプリケーションプログラム745などの他のコード内に組み込まれ得る)1つもしくは複数の命令の1つもしくは複数のシーケンスを実行しているプロセッサ710に応答して、コンピュータシステム700によって実行され得る。そのような命令は、記憶デバイス725のうちの1つまたは複数など、別のコンピュータ可読媒体からワーキングメモリ735内に読み込まれ得る。単に例として、ワーキングメモリ735に含まれる命令のシーケンスの実行は、プロセッサ710に本明細書で説明した方法、たとえば図1〜図2に関して説明した方法の、1つまたは複数の手順を実行させ得る。
【００７７】
本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の方式で動作させるデータを提供することに関与する任意の媒体を指す。コンピュータシステム700を使用して実装される一実施形態では、様々なコンピュータ可読媒体が、実行のためにプロセッサ710に命令/コードを与えることに関与し、かつ/またはそのような命令/コード(たとえば、信号)を記憶および/または搬送するために使用されることがある。多くの実装形態では、コンピュータ可読媒体は、物理的および/または有形のストレージ媒体である。そのような媒体は、限定はしないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む多くの形態を取り得る。不揮発性媒体には、たとえば、記憶デバイス725などの光ディスクおよび/または磁気ディスクが含まれる。揮発性媒体は、限定はしないが、ワーキングメモリ735などの動的メモリを含む。伝送媒体は、限定はしないが、バス705、ならびに通信サブシステム730(および/または通信サブシステム730が他のデバイスとの通信を提供する媒体)の様々な構成要素を備える線を含めて、同軸ケーブル、銅線、および光ファイバーを含む。したがって、伝送媒体はまた、(限定はしないが、無線波通信および赤外線データ通信中に生成されるような無線波、音波、および/または光波を含めて)波の形態を取り得る。
【００７８】
一般的な形態の物理的および/または有形コンピュータ可読媒体には、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、後に説明するような搬送波、または、コンピュータが命令および/もしくはコードを読み取ることができる任意の他の媒体が含まれる。
【００７９】
様々な形態のコンピュータ可読媒体は、実行のためにプロセッサ710に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与し得る。単に例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上で搬送され得る。リモートコンピュータは、命令をその動的メモリ内にロードし、コンピュータシステム700によって受信および/または実行される伝送媒体上の信号として、命令を送信し得る。電磁信号、音響信号、光信号などの形態であり得るこれらの信号は、すべて、本発明の様々な実施形態による、命令が符号化され得る搬送波の例である。
【００８０】
通信サブシステム730(および/またはその構成要素)は、一般に信号を受信し、次いで、バス705は、信号(および/または、信号によって搬送されるデータ、命令など)をワーキングメモリ735に搬送することができ、プロセッサ710は、ワーキングメモリ735から命令を取り出し、実行する。ワーキングメモリ735によって受信された命令は、オプションで、プロセッサ710による実行の前または後のいずれかに、非一時的記憶デバイス725上に記憶され得る。
【００８１】
上記で議論した方法、システム、およびデバイスは例である。様々な実施形態において、様々な手順または構成要素を、適宜、省略し、置換し、または加えることができる。たとえば、代替構成では、説明する本方法は、説明する順序とは異なる順序で実行されてもよく、ならびに/または、様々なステージが加えられ、省略され、および/もしくは組み合わされてもよい。また、いくつかの実施形態に関して説明する特徴が、様々な他の実施形態と組み合わされてもよい。実施形態の様々な態様および要素を同様に組み合わせることができる。また、技術は発展し、したがって、要素の多くは、本開示の範囲をそれらの特定の例に限定しない例である。
【００８２】
実施形態の完全な理解を与えるために、説明に具体的な詳細が与えられている。しかしながら、実施形態は、これらの具体的な詳細なしに実践され得る。たとえば、実施形態が不明瞭になることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不必要な詳細を記載せずに示されている。この説明は、例示的な実施形態のみを提供し、本発明の範囲、適用可能性、または構成を限定しようとするものではない。むしろ、これらの実施形態の上述の説明は、本発明の実施形態を実装することを可能にする説明を当業者に提供することになる。本発明の趣旨および範囲から逸脱することなく、要素の機能および構成に様々な変更を行うことができる。
【００８３】
また、いくつかの実施形態を、フロー図またはブロック図として示すプロセスとして説明した。各々は動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。加えて、動作の順序は並び替えられ得る。プロセスは、図に含まれていない追加のステップを有することができる。さらに、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、関連するタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に記憶され得る。プロセッサは関連するタスクを実行し得る。
【００８４】
いくつかの実施形態について説明してきたが、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなく使用され得る。たとえば、上記の要素は単により大きいシステムの構成要素であってもよく、他のルールが本発明の適用に優先してもよく、または他の方法で本発明の適用を修正してもよい。また、上記の要素が考慮される前、間、または後に、いくつかのステップを行うことができる。したがって、上記の説明は、本開示の範囲を制限しない。
【符号の説明】
【００８５】
100  モバイルデバイス
110  センサー要素
120  信号多重化モジュール
130a〜d  デジタルフィルタ
140a〜d  較正モジュール
150a〜d  出力レジスタ
160  センサーアドレス指定モジュール
190a〜d  アプリケーション
230b  デジタルフィルタ
240  較正モジュール
300  第1のセンサーモジュール
303  デバイス
310  センサー要素
312  センサーデータ
320  信号多重化モジュール
322  単一のセンサーデータストリーム
330a〜d  デジタルフィルタ
340  較正モジュール
350a〜d  出力レジスタ
360  信号センサーアドレス指定モジュール
390a  アプリケーション
390b  アプリケーション
390c  アプリケーション
396  メモリ
398  プロセッサ
400  第2のセンサーモジュール
410  センサー要素
412  センサーデータ
420  信号多重化モジュール
422  センサーデータストリーム
423  センサーデータストリーム
430a〜b  デジタルフィルタ
432  フィルタリングされたセンサーデータストリーム
440  較正モジュール
442  較正されたセンサーデータストリーム
450a〜b  出力レジスタ
500  モバイルデバイス
501A〜Z  センサーモジュール
503  ディスプレイモジュール
504  ユーザ入力モジュール
505  センサーアドレス指定モジュール
510  プロセッサ
512  ワイヤレスモジュール
520  メモリ
521〜522  アプリケーションモジュール
523  オペレーティングシステム
540  バス
700  コンピュータシステム
705  バス
710  プロセッサ
715  入力デバイス
720  出力デバイス
725  非一時的記憶デバイス
730  通信サブシステム
735  非一時的ワーキングメモリ
740  オペレーティングシステム
745  アプリケーションプログラム
【図１】
2015526987.tif 000003
【図２】
2015526987.tif 000004
【図３】
2015526987.tif 000005
【図４】
2015526987.tif 000006
【図５】
2015526987.tif 000007
【図６】
2015526987.tif 000008
【図７】
2015526987.tif 000009
【国際調査報告】
2015526987.tif 000010
2015526987.tif 000011
2015526987.tif 000012