JP6151357B2 - 同じセンサーからの様々なパラメータを使用した並行するデータストリーミング - Google Patents

同じセンサーからの様々なパラメータを使用した並行するデータストリーミング Download PDF

Info

Publication number
JP6151357B2
JP6151357B2 JP2015523097A JP2015523097A JP6151357B2 JP 6151357 B2 JP6151357 B2 JP 6151357B2 JP 2015523097 A JP2015523097 A JP 2015523097A JP 2015523097 A JP2015523097 A JP 2015523097A JP 6151357 B2 JP6151357 B2 JP 6151357B2
Authority
JP
Japan
Prior art keywords
sensor
data stream
sensor data
module
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015523097A
Other languages
English (en)
Other versions
JP2015524970A5 (ja
JP2015524970A (ja
Inventor
ジョセフ・ツォンポ
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2015524970A publication Critical patent/JP2015524970A/ja
Publication of JP2015524970A5 publication Critical patent/JP2015524970A5/ja
Application granted granted Critical
Publication of JP6151357B2 publication Critical patent/JP6151357B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/024Guidance services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/161Indexing scheme relating to constructional details of the monitor
    • G06F2200/1614Image rotation following screen orientation, e.g. switching from landscape to portrait mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • User Interface Of Digital Computer (AREA)
  • Gyroscopes (AREA)
  • Indication And Recording Devices For Special Purposes And Tariff Metering Devices (AREA)
  • Navigation (AREA)

Description

本開示の態様は、センサーに関する。特に、同じセンサーからの異なる出力データストリームのための異なるデータストリームパラメータを有する複数の出力データストリームを有するセンサーのためのデバイス、システム、および方法。スマートフォン上で動作する複数のアプリケーションが、同じセンサーからの異なるデータストリームパラメータを有する情報を要求する、スマートフォンなどのモバイルデバイスと統合された特定の実施形態が提供される。
現在の携帯電話は、センサーとしばしば統合される。センサーの例は、カメラなどの光センサー、または加速度計などの運動センサーでもよい。モバイルデバイス内で現在構築されているようなセンサーは、単一のセンサーデータストリームを出力することができる。次いで、センサーデータストリームにおけるデータの追加の操作は、モバイルデバイスの別々の機能またはアプリケーションの一部として実行される。単一のセンサーデータストリームは、モバイルデバイスのプロセッサによってコピーされ、変更され得るが、センサーモジュール自体は、単一のデータストリームを出力する。
スマートフォンなどのモバイルデバイスのパワーが増加するにつれて、より多くのより多様なタイプのアプリケーションがそのようなモバイルデバイス上で動作され、したがって、モバイルデバイスに統合されるセンサーのためのセンサーデータを提供するための新しい有用な技法および構造の必要性が高まっている。
本明細書で説明する様々な実施形態は、同じセンサーからの異なる出力データストリームのための異なるデータストリームパラメータを有する複数の出力データストリームを有するセンサーのためのデバイス、システム、および方法を含む。たとえば、1つの潜在的な実施形態は、センサーオプティマイザで、第1のセンサー要素からのセンサーデータの第1の要求をプロセッサから受信するステップであり、センサーデータの第1の要求が、第1の組のデータストリームパラメータを識別する、ステップと、センサーオプティマイザで、第1のセンサー要素からのセンサーデータの第2の要求を受信するステップであり、第2の要求が、第1の組のデータストリームパラメータとは異なる第2の組のデータストリームパラメータを識別する、ステップと、センサーオプティマイザによって、第1の組のデータストリームパラメータおよび第2の組のデータストリームパラメータに基づいて、1組のソースパラメータを使用して、第1のセンサー要素にソースデータストリームを要求するステップと、センサーオプティマイザによって、ソースデータストリームから第1のセンサーデータストリームを作成するステップであり、第1のセンサーデータストリームが、第1の組のデータストリームパラメータに一致する、ステップと、センサーオプティマイザによって、ソースデータストリームから第2のセンサーデータストリームを作成するステップであり、第2のセンサーデータストリームが、第2の組のデータストリームパラメータに一致する、ステップと、第1のセンサーデータストリームおよび第2のセンサーデータストリームをプロセッサに並行して通信するステップとを含む方法である。
そのような一実施形態による別の潜在的な方法は、センサーデータの第1の要求が、較正されたデータの要求を含み、第1のセンサーデータストリームが、第1の組のデータストリームパラメータに一致し、較正されたデータを含む場合、機能し得る。
そのような一実施形態による別の潜在的な方法は、さらに、センサーデータの第2の要求が、較正されていないデータの要求を含み、第2のセンサーデータストリームが、第2の組のデータストリームパラメータに一致し、較正されていないデータを含む場合、機能し得る。そのような一実施形態による別の潜在的な方法は、さらに、センサーデータの第1の要求がプロセッサ上で動作している第1のアプリケーションから受信され、センサーデータの第2の要求がプロセッサ上で動作している第1のアプリケーションから受信される場合、機能し得る。
そのような一実施形態による別の潜在的な方法は、さらに、センサーデータの第1の要求がプロセッサ上で動作している第1のアプリケーションから受信され、センサーデータの第2の要求がプロセッサ上で動作している第2のアプリケーションから受信される場合、機能し得る。
そのような一実施形態による別の潜在的な方法は、さらに、第1のアプリケーションがカメラアプリケーションを備え、第2のアプリケーションがナビゲーションアプリケーションを備える場合、機能し得る。そのような一実施形態による別の潜在的な方法は、さらに、第1のセンサー要素がジャイロスコープを備える場合、機能し得る。そのような一実施形態による別の潜在的な方法は、さらに、第1のセンサー要素が加速度計を備える場合、機能し得る。
そのような一実施形態による別の潜在的な方法は、さらに、第1のアプリケーションがユーザインターフェース配向制御アプリケーションを備え、第2のアプリケーションがナビゲーションアプリケーションを備える場合、機能し得る。そのような一実施形態による別の潜在的な方法は、さらに、センサーデータの第1の要求がプロセッサ上で動作している第1のアプリケーションから受信され、センサーデータの第2の要求がプロセッサを備えるモバイルデバイス内の第2のプロセッサ上で動作している第2のアプリケーションから受信される場合、機能し得る。
そのような一実施形態による別の潜在的な方法は、さらに、第1のセンサーデータストリームおよび第2のセンサーデータストリームを作成するステップが、センサーオプティマイザの信号多重化モジュールで第1のセンサー要素からソースデータストリームを受信するステップと、第1のセンサーデータストリームを信号多重化モジュールからセンサーオプティマイザの第1の出力レジスタに出力するステップと、第2のセンサーデータストリームを信号多重化モジュールからセンサーオプティマイザの第2の出力レジスタに出力するステップとを含む場合、機能し得る。
そのような一実施形態による別の潜在的な方法は、さらに、第1のセンサーデータストリームを第1のアプリケーションに、および第2のセンサーデータストリームを第2のアプリケーションに並行して通信するステップが、第1の時間に開始し、第2の時間に終了する、センサーアドレス指定モジュールを介して、第1のセンサーデータストリームを第1の出力レジスタからプロセッサの第1のアプリケーションに通信するステップと、第3の時間に開始し、第4の時間に終了する、センサーアドレス指定モジュールを介して、第2のセンサーデータストリームを第2の出力レジスタからプロセッサの第2のアプリケーションに通信するステップであり、第3の時間が第1の時間よりも後であり、第3の時間が第2の時間よりも早い、ステップとを含む場合、機能し得る。
別の潜在的な実施形態は、第1のセンサー要素と、第1のセンサーモジュールに結合されたセンサーオプティマイザと、センサーオプティマイザを介して第1のセンサーモジュールに結合されたプロセッサとを備え、センサーオプティマイザが、第1のセンサーモジュールからソースセンサーデータストリームを受信し、ソースセンサーデータストリームから導出された少なくとも2つのセンサーデータストリームをプロセッサに並行して出力する、第1のセンサーモジュールを備えるデバイスとすることができる。
そのような一実施形態による別の潜在的なデバイスは、さらに、センサーオプティマイザが、信号多重化モジュールによって第1のセンサー要素に結合された複数のデジタルフィルタと、複数のデジタルフィルタのうちの1つの対応するデジタルフィルタに各々結合される複数の出力レジスタと、複数の出力レジスタに結合されたセンサーアドレス指定モジュールとを備える場合、機能し得る。
そのような一実施形態による別の潜在的なデバイスは、さらに、センサーオプティマイザが第1の較正モジュールを備え、
複数のデジタルフィルタが、第1のデジタルフィルタと、第2のデジタルフィルタとを備え、プロセッサが複数のアプリケーションを実行し、複数のアプリケーションの各アプリケーションが、複数のアプリケーションの各アプリケーションによるセンサーデータの要求の一部として、1組のデータストリームパラメータをセンサーアドレス指定モジュールへの通信のためにプロセッサに提供し、複数の出力レジスタが、第1のデジタルフィルタに結合された第1の出力レジスタと、第2のデジタルフィルタに結合された第2の出力レジスタとを備え、第1のデジタルフィルタが、第1の較正モジュールを介して第1の出力レジスタに結合される場合、機能し得る。
別の潜在的な実施形態は、センサーモジュールからのソースセンサーデータストリームをインターセプトするための手段と、ソースセンサーデータストリームから導出された少なくとも2つの異なるセンサーデータストリームを作成するための手段と、プロセッサに少なくとも2つの異なるセンサーデータストリームを並行して出力するための手段とを備えるデバイスとすることができる。
そのような一実施形態による別の潜在的なデバイスは、プロセッサからセンサーモジュールへのセンサーデータストリームの要求をインターセプトするための手段と、センサーデータストリームのインターセプトされた要求からの要求されたセンサーストリームパラメータに一致するように、各センサーデータストリームについての1組のセンサーストリームパラメータを調整するための手段とをさらに備え得る。
そのような一実施形態による別の潜在的なデバイスは、第2のセンサーモジュールからの第2のソースセンサーデータストリームをインターセプトするための手段と、第2のソースセンサーデータストリームから導出された少なくとも2つの異なるセンサーデータストリームを作成するための手段と、プロセッサに第2の少なくとも2つの異なるセンサーデータストリームを並行して出力するための手段とをさらに備え得る。
別の実施形態は、記憶媒体に結合されたプロセッサによって実行されると、デバイスに方法を実行させるコンピュータ可読命令を含む非一時的コンピュータ可読記憶媒体とすることができ、方法は、第1のセンサー要素からのセンサーデータの第1の要求をプロセッサからセンサーオプティマイザに通信するステップであり、センサーデータの第1の要求が、第1の組のデータストリームパラメータを識別する、ステップと、第1のセンサー要素からのセンサーデータの第2の要求をプロセッサからセンサーオプティマイザに通信するステップであり、第2の要求が、第1の組のデータストリームパラメータとは異なる第2の組のデータストリームパラメータを識別する、ステップと、センサーオプティマイザによって、第1の組のデータストリームパラメータおよび第2の組のデータストリームパラメータに基づいて、1組のソースパラメータを使用して、第1のセンサー要素にソースデータストリームを要求するステップと、センサーオプティマイザによって、ソースデータストリームから第1のセンサーデータストリームを作成するステップであり、第1のセンサーデータストリームが、第1の組のデータストリームパラメータに一致する、ステップと、センサーオプティマイザによって、ソースデータストリームから第2のセンサーデータストリームを作成するステップであり、第2のセンサーデータストリームが、第2の組のデータストリームパラメータに一致する、ステップと、第1のセンサーデータストリームおよび第2のセンサーデータストリームをプロセッサで並行して受信するステップとを含む。
そのような非一時的コンピュータ可読記憶媒体の追加の実施形態は、方法が、センサーデータの第1の要求を開始する第1のアプリケーションをプロセッサによって実行するステップと、第1のアプリケーションの実行と同時に第2のアプリケーションをプロセッサによって実行するステップであり、第2のアプリケーションが、センサーデータの第2の要求を開始する、ステップをさらに含む場合、機能し得る。
様々な実施形態の性質および利点のさらなる理解が、以下の図面を参照することによって実現され得る。添付の図面において、類似の構成要素または特徴は、同じ参照標識を有し得る。さらに、同じタイプの様々な構成要素は、参照標識の後に、複数の類似の構成要素を区別するダッシュおよび第2の標識を付けることによって、区別され得る。第1の参照標識のみが本明細書において使用される場合、その説明は、第2の参照標識とは関係なく同じ第1の参照標識を有する類似の構成要素の任意の1つに適用可能である。
1つの潜在的な実施形態によるデバイスを示す図である。 いくつかの実施形態による方法を示す図である。 1つの潜在的な実施形態によるデバイスを示す図である。 1つの潜在的な実施形態によるデバイスを示す図である。 1つの潜在的な実施形態によるモバイルデバイスを示す図である。 いくつかの実施形態による方法を示す図である。 本開示の1つまたは複数の態様が実装され得る例示的なコンピューティングシステムを示す図である。
本発明は、センサー、および統合されたセンサーを有する電子デバイスに関する。特に、センサー要素をプロセッサと統合することができるデバイスが記載されている。プロセッサは、複数のアプリケーションを並行して動作させることができ、各アプリケーションがセンサー要素に情報を要求する。様々な実施形態は、異なるアプリケーションに合わせて調整される、並行する別個のデータストリームを提供するように機能することができる。
たとえば、1つの潜在的な実施形態では、ナビゲーションアプリケーションおよびカメラアプリケーションを有するスマートフォンは、アプリケーションを並行して動作させることができる。ナビゲーションアプリケーションは、デバイスの移動を測定し、デバイスが移動するにつれて、方向を更新することによって、ジャイロスコープデータを使用して方向を提供することを支援することができる。カメラアプリケーションは、画像安定化機能にジャイロスコープデータを使用することができる。これらの2つの異なる使用は、データの異なる要件を有し得る。リアルタイムに連続的に較正が決定され、補正される場合、カメラアプリケーションの画像安定化機能は、より効果的に働き得る。一方、リアルタイムの較正および補正が不連続性またはデータへのジャンプをもたらし得、これはナビゲーションのパフォーマンスを劣化させ得るので、ナビゲーションアプリケーションは、較正されていないデータを必要とし得る。さらに、アプリケーションは、異なるデータレート、または他のパラメータの異なる設定を必要とし得る。したがって、両方のデバイスにデータを提供するために単一のデータストリームを使用することは、アプリケーションの一方または両方における非効率性および/またはパフォーマンス劣化を引き起こし得る。様々な実施形態によれば、第1のデータストリームは、写真アプリケーションにおける画像安定化のためにリアルタイムバイアス補正を作成する較正されたデータで作成され得、第2のデータストリームは、ナビゲーションアプリケーションのために較正されていないデータで作成され得、各データストリームは、異なっていても異なっていなくてもよい追加のパラメータを有する。
別の潜在的な例は、ユーザインターフェース配向制御アプリケーションおよびナビゲーションアプリケーションを有する、センサー要素として加速度計を含む、電話またはタブレット型コンピュータなどのデバイスである。ユーザインターフェース配向制御アプリケーションは、ユーザがデバイスを回転させるにつれて正しい縦-横の配向でデバイススクリーンにデータを提示するために、低い頻度で較正されたデータを要求することができる。ナビゲーションアプリケーションは、方向をユーザに提示するのを支援するために、より高い頻度で較正されていないデータを要求することができる。これらのアプリケーションのための並行する較正されたおよび較正されていないデータストリームを作成することが可能なシステムは、向上したアプリケーションパフォーマンスを提供することができる。
本明細書で説明する際、「センサー要素」は、物理的特性を測定し、その特性を表す信号を出力するために使用されるデバイスの任意の構成要素を指す。センサー要素の一例には、カメラ、および光を電子信号に変換する他の光検出要素がある。別の一例には、加速度計、および運動を測定する要素がある。さらなる一例は、感知要素として機能する受信機の位置を識別する電子信号を出力するために衛星信号を受信する全地球測位受信機である。センサー要素は、任意のそのようなトランシーバまたは測定要素でもよい。
本明細書で説明する際、「モジュール」は、ユニットとしての機能を実行するためにデバイスの一部として統合される1組の構成要素を指す。モジュールは、回路、ソフトウェア、ファームウェア、または様々な機能を実行するためのこれらの任意の組合せを含み得る。たとえば、ワイヤレスモジュールは、アンテナ、ならびにアンテナを使用して信号を送受信する際の基本的な機能のための任意のファームウェアおよびソフトウェアを含み得る。
本明細書で説明する際、「センサーモジュール」は、センサー要素によって測定される特性を記述する信号を出力するセンサー要素を含む1組の統合された構成要素を指す。センサー要素と統合されるそのような構成要素は、処理要素によって使用可能な形のセンサー要素からの信号をフォーマット化し、バッファリングする能動構成要素を含み得る。そのような構成要素の例には、センサー要素から出力されたアナログ信号を、センサーモジュールを含むデバイスにおけるアプリケーションとして実装される特定のアルゴリズムを実行するために汎用コンピューティングプロセッサによって使用可能なデジタル信号に変換することができるアナログデジタル変換器がある。様々なセンサーモジュールにおいて、センサー要素は、製造され、感知要素に直接結合された単一の集積回路ダイに接続された集積システムオンチップ構造を作成するために、回路構成要素と統合され得る。他のセンサーモジュールでは、プリント回路板は、プリント回路板において導電ラインを使用する構成要素に直接結合された感知要素を有する様々な構成要素を含み得る。
本明細書で説明する際、「データストリーム」は、時間がたつにつれて出力される情報を指す。たとえば、いくつかのセンサー要素は、センサー要素の環境の物理的特性の測定値が測定されるにつれて、アナログ信号を常に出力するように機能し得る。センサー要素からの一定の出力の一部として出力される情報は、センサーデータストリームとすることができる。様々な代替実施形態において、データストリームは、周期的でもよく、ランダムでもよく、またはセンサーモジュールを対象とする情報の特定の要求に関連付けられ得る。
本明細書で説明する際、「並行して出力されるセンサーストリーム」は、別のセンサーストリームのうちの少なくとも一部からのデータが出力されるのと同時に、各センサーストリームのうちの少なくとも一部からのデータが出力される複数のセンサーストリームを指す。各センサーストリームの出力は、同時に開始したり終了したりする必要はない。これは単に、第2のセンサーストリームからのデータがセンサーモジュールから出力されるのと同時に、第1のセンサーストリームからのデータがセンサーモジュールから出力されることを指す。
図1を参照すると、デバイス100は、デバイスの1つの潜在的な非限定的な例を示す。デバイス100は、センサー要素110およびデジタルデータ出力120を含み得るセンサー102を含む。デバイス100は、センサーオプティマイザ103およびアプリケーション150a〜dも含む。デバイス100は、センサーオプティマイザ103をそれぞれのアプリケーション150a〜dに通信可能に結合する通信リンク132a〜dをさらに含み得る。図1には4つのアプリケーションが示されているが、様々な実施形態に従って、任意の数の2つ以上のアプリケーションが機能することができる。
センサー102は、デバイス100と統合される任意の感知デバイスでもよく、情報を受信するためのセンサー要素110を含む。たとえば、センサー102は、ジャイロスコープ、加速度計、磁力計、電荷結合素子(CCD)、光電池、任意の光感知デバイス、温度感知デバイス、圧力感知デバイス、または任意の他の潜在的な感知デバイスまたは要素とすることができる。
デジタルデータ出力120は、アナログデータを作成するセンサー要素のためのアナログデジタル変換器を備え、デジタルフィルタ、デバイス較正設定、バイアス、およびスケール係数をさらに備え得る。様々な実施形態では、センサー要素110は、次いでさらにデバイス100に統合され得る集積回路またはパッケージ化電子デバイスの一部としてデジタルデータ出力120と統合され得る。
センサーオプティマイザ103は、デジタルデータ出力120を介してセンサー要素110からデータストリームを受信し、センサー要素110からの単一のデータストリームを、通信リンク132を介してアプリケーション150に通信され得る複数のデータストリームに変換するためのハードウェアモジュールまたはソフトウェアモジュールを備え得る。同様に、アプリケーション150と通信リンク132の両方は、ハードウェアモジュール、ファームウェアモジュール、ソフトウェアモジュールとして、またはそのようなモジュールの任意の組合せとして実装され得る。たとえば、1つの潜在的な実施形態では、デバイス100は、図3に記載されているプロセッサ710などのシングルプロセッサを備え得る。シングルプロセッサは、センサーオプティマイザ103、アプリケーション150a、150b、150cおよび150dを実施することができ、通信リンク132a、132b、132cおよび132dをさらに実施することができる。別の実施形態では、センサーオプティマイザ103は、アプリケーション150を実施する1つまたは複数のプロセッサまたはハードウェアモジュールに結合された集積回路またはデバイスを備え得る。通信リンク132は、デバイス100内の1つまたは複数の導電ラインでもよい。デバイス100内の任意のモジュールは、ハードウェア要素、ファームウェア要素、ソフトウェア要素、またはモジュールを実施するための要素の任意の組合せを使用して実施され得る。
図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を参照すると、センサーオプティマイザの1つの特定の実施形態が示される。デバイス200は、センサーモジュール202と、センサーオプティマイザ203と、アプリケーション290a〜dとを含む。センサーオプティマイザ203として示されるセンサーオプティマイザの実施形態は、信号多重化モジュール220と、デジタルフィルタ230a〜dと、較正モジュール240a〜dと、出力レジスタ250a〜dと、センサーアドレス指定モジュール260とを備える。4つのデジタルフィルタ230、4つの較正モジュール240、および4つの出力レジスタ250が示されているが、様々な実施形態に従って、いくつかの要素のうちの2つ以上の任意の数が存在してもよい。同様に、4つのアプリケーションが図3に示されているが、アプリケーションが少なくとも2つの並行するセンサーデータストリームを単一のセンサーモジュールに要求し、そこから受信するので、様々な実施形態に従って、任意の数のアプリケーションが機能することができる。
センサーモジュール202は、デバイス200と統合される任意の感知デバイスとすることができる。たとえば、感知要素は、ジャイロスコープ、加速度計、磁力計、電荷結合素子(CCD)、光電池、任意の光感知デバイス、温度感知デバイス、圧力感知デバイス、または任意の他の潜在的な感知デバイスまたは要素とすることができる。
信号多重化モジュール220は、センサー要素210からのセンサーデータを、別々の信号として複数のデジタルフィルタ230が使用するための複数のデータストリームに変換することができる。
デジタルフィルタ230は、各対応するデジタルフィルタ230に関連付けられたデータストリームの様々なパラメータを調整するために構成可能であり得るハードウェアデジタルフィルタを備え得る。たとえば、フィルタリング頻度は、サンプリングレートおよび測定範囲とともに、デジタルフィルタによって設定され得る。そのような設定は、センサーアドレス指定モジュールによってデジタルフィルタ230に直接通信され得る、または任意の適切な信号経路によってデジタルフィルタ230に通信され得る。様々な実施形態では、デジタルフィルタ230は、代替的に、ファームウェア、ハードウェア、ソフトウェア、またはセンサーソースデータストリームにおける任意の種類のデジタル操作またはデジタル処理における、もしくはそれを実施するための任意の組合せを備え得る。
較正モジュール240は、較正データで様々なデータストリームを修正するように機能することができる。潜在的な一実施形態では、各較正モジュール240は、較正データを記憶するメモリを備える。そのような較正データは、デバイスの動作の一部として作成され得、既知の入力がセンサー要素210に提供され、センサー要素210の出力は、較正データを作成するために、既知の入力の値と比較される。次いで、較正データは、較正モジュール240が使用するために記憶され得る。デジタルフィルタ230の機能と同様、較正モジュール240は、較正データを使用して関連するデータストリームを修正する、または較正データを使用して関連するデータストリームを修正しない旨のコマンドを、センサーアドレス指定モジュール260から直接受信するための入力を有することができる。そのような入力は、センサーアドレス指定モジュール260からの直接の信号、または較正モジュール240へのコマンド入力のための任意の他の可能な経路を介した入力を含み得る。様々な実施形態では、較正モジュール240は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組合せで実施され得る。較正モジュール240は、したがって、較正データを記憶するメモリを使用して実施され得、さらに、ソースデータストリームから較正されたデータストリームを作成するために較正データを使用する1つまたは複数のプロセッサを備え得る、またはそれに接続され得る。
様々な実施形態では、較正データは、工場設定で作成され得、センサーオプティマイザがセンサーモジュールを有するデバイスにあるとき、センサー出力測定値における変化を補償するために、すべてのユニットが既知の感知ターゲットと比較される。代替実施形態では、デバイスユーザは、較正パラメータを更新するために、デバイスにおける較正アプリケーションの一部として、較正ルーチンを実行することができる。さらなる実施形態では、デバイスは、リアルまたはほぼリアルタイムの較正を作成するために、自動化された較正または較正の更新を連続的または周期的に実施する自動化された較正ルーチンを含むことができる。
次いで、出力データレジスタ250は、それぞれのデジタルフィルタ230および較正モジュール240からの関連するデータストリームのためのデータを記憶することができる。そのようなレジスタは、任意の許容できるデータ記憶デバイスまたはメモリであってもよい。アプリケーション290は、センサー要素210に情報を要求するとき、センサーアドレス指定モジュール260との通信で特定の出力レジスタ250を直接アドレス指定することによって、そのような情報を要求することができ、または、単に1組のパラメータ群を有するデータストリームを要求し、対応する出力レジスタ250についてのデジタルフィルタ230および較正モジュール240ができるだけ密接にパラメータに一致することを確認した後、センサーアドレス指定モジュール260が出力レジスタ250にデータを要求できるようにすることができる。いくつかの実施形態では、センサーオプティマイザは、センサーモジュールを「スプーフィングする」ことができ、したがって、プロセッサがセンサーモジュールにメッセージを通信すると、センサーオプティマイザは、上記で説明したように、要求をインターセプトすることができる。図3の例では、センサーアドレス指定モジュールは、プロセッサ上で動作しているアプリケーションからの要求をインターセプトし、次いで、センサーモジュール202にソースセンサーデータストリームの要求を通信することができる。いくつかの実施形態では、プロセッサによって実行されるセンサーオプティマイザアプリケーションは、センサーデータの要求のインターセプションを容易にするために、センサーオプティマイザ303と連動して動作し得る。
さらなる代替実施形態では、センサーアドレス指定モジュール260は、追加のデータストリームの作成のための要素をさらに含み得る。たとえば、6つの異なるデータストリームがセンサー要素210から要求された場合、アドレス指定モジュール260は、出力データレジスタ250におけるデータストリームから追加のデータストリームを作成するためのファームウェア、ハードウェア、またはソフトウェアを含み得る。センサーアドレス指定モジュールは、さらに、出力データレジスタにおける単一のストリームから複数の出力ストリームを作成し、較正、サンプリングレート、帯域幅、または任意の他のそのようなデータストリームパラメータを調整することによって複数のデータストリームのうちの1つまたは複数を修正することが可能であり得る。そのような実施形態では、センサーアドレス指定モジュール260は、較正データを記憶するメモリ要素またはメモリモジュールを含み得る、またはそれに接続され得、処理要素または処理モジュールをさらに含み得る、またはそれに接続され得る。次いで、センサーアドレス指定モジュールは、出力データレジスタ250aなど単一の出力データレジスタからのデータストリームを使用して、異なるパラメータを有する複数のデータストリームを出力することができる。
図4は、別の潜在的な実施形態によるデバイスの別の例を示す。図4のデバイス300は、第1のセンサーモジュール301と、第2のセンサーモジュール302と、センサーオプティマイザ303と、プロセッサ398と、メモリ396とを含む。センサーオプティマイザ303は、信号多重化モジュール320と、デジタルフィルタ330a〜dと、較正モジュール340a〜dと、出力レジスタ350a〜dとを含む。センサーモジュール301およびセンサーモジュール302は、異なるタイプのセンサーモジュールでもよい。たとえば、センサーモジュール301は、ジャイロスコープモジュールとして機能することができ、センサーモジュール302は、カメラモジュールとして機能することができる。代替実施形態では、これらのセンサーモジュールは、同じ機能を実行する冗長なモジュールでもよい。
図4の実施形態では、センサー多重化モジュール320は、単一のソースデータストリームから複数のセンサーデータストリームを作成する二重機能を果たすことができ、また、異なるソースデータストリームを出力レジスタに関連付けられた異なる回路経路のための異なるセンサーモジュールから選択するためのスイッチとしても機能することができる。したがって、たとえば、3つのセンサーデータストリームがプロセッサ398上で動作しているアプリケーションによってセンサーモジュール301から要求され、1つのセンサーデータストリームがセンサーモジュール302からの要求である場合、信号多重化モジュール320は、ソースデータストリーム311から3つのセンサーデータストリーム323、324および325を作成し、ソースデータストリーム312から単一のセンサーデータストリーム322を作成することができる。次いで、様々なセンサーデータストリーム322〜325は、センサーアドレス指定モジュール360を介したプロセッサ398への通信のために出力レジスタ350でバッファリングされる前に、プロセッサによって要求されるセンサーストリームパラメータに一致するように、対応するデジタルフィルタ330および較正モジュール340によって修正され得る。
4の実施形態では、信号センサーアドレス指定モジュール360は、センサーモジュール301および302とプロセッサ398との間でセンサーデータおよびセンサーデータの要求をルーティングする。したがって、いくつかの実施形態では、単一のセンサーオプティマイザは、複数のセンサーモジュールのためのアドレス指定およびデータストリームの作成を可能にするように機能することができる。代替実施形態では、各センサーモジュールは、個別のセンサーオプティマイザを有し得る、またはセンサーモジュール群は、任意の潜在的な組合せで異なるセンサーオプティマイザに関連付けられ得る。
さらに、図4によって示されるように、アプリケーション390a、390bおよび390cは、非一時的記憶メモリ396と連動してプロセッサ398によって実行されるように動作する。そのようなアプリケーションは、センサーモジュール300および400にセンサーデータを要求するためにプロセッサ398によって実行されるように機能し、各アプリケーションの一部としてメモリ396内で使用するためのそのようなセンサーデータを記憶することができる。潜在的な一実施形態では、プロセッサ398によって実行されるアプリケーションは、センサーデータの要求のインターセプションを管理するために、異なるセンサーストリームパラメータの要求を管理するために、およびセンサーデータの競合するまたは過剰な数の要求を管理するために、センサーオプティマイザ303と連動して機能することができる。
4は、センサーモジュール301および302から導出されたセンサーデータストリームおよびセンサーデータのための信号経路をさらに示す。たとえば、ソースデータストリーム311は、センサー301から信号多重化モジュール320で受信され、ソースデータストリーム312は、センサーモジュール302から信号多重化モジュール320で受信される。これらのソースデータストリームは、センサーオプティマイザを管理するアプリケーションと連動してプロセッサからセンサーモジュールで受信された要求に応答して、信号センサーアドレス指定モジュール360からの要求に応答して、または信号多重化モジュール320、デジタルフィルタ330a、および較正モジュール340aを介した、出力レジスタ350からセンサーモジュール301への経路などセンサーデータストリーム経路に沿った通信に応答して、センサーモジュールから出力され得る。信号多重化モジュール320は、ソースデータストリーム311および312の任意の組合せを使用して作成され得る、センサーデータストリーム322、323、324、および325を出力する。
信号多重化モジュール320は、本質的に、その各々がセンサーデータストリームの出力を記憶し、管理するための出力レジスタ350を有する個別のハードウェアまたは回路経路に沿ってデータストリームを出力すると考えられ得る。そのストリームが出力レジスタによって管理される前に、特定のセンサーデータストリームに、フィルタリングおよび較正調整が行われるが、センサーデータストリーム上のいくつかのデータストリームパラメータを設定するために行われる任意の変更にもかかわらず、レジスタで受信される信号は、同じセンサーデータストリームであると、依然として考えられる。
たとえば図4に示すように、センサーデータストリーム322は、出力レジスタ350dに入力される較正されたセンサーデータストリーム342を作成するために、較正モジュール340dによってさらに修正され得る、フィルタリングされたセンサーデータストリーム332を作成するために、デジタルフィルタ330dによって修正され得るが、出力レジスタ350で受信される較正されたフィルタリングされたセンサーデータストリームは、依然としてセンサーデータストリーム322と考えられる。
他の実施形態の場合のように、図4に示される例は、各回路経路についての較正モジュールおよびデジタルフィルタを含むが、代替実施形態では、異なるデータストリームパラメータを有する単一のセンサーモジュールからの第1および第2のデータストリームの少なくとも一部の並行する出力を可能にするために、モジュールと経路との任意の組合せが存在していてもよい。
図5は、本明細書で説明する実施形態に関して使用され得るモバイルデバイスの1つの潜在的な実施形態を例示するブロック図である。そのようなモバイルデバイスは、単一のセンサーモジュールが異なるデータストリームパラメータを有する並行するセンサーデータストリームを出力することを可能にするために、センサーモジュールおよび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は、アプリケーションモジュールがセンサーモジュール501A〜Zにセンサーデータを要求すると、プロセッサ510によって実行されているアプリケーションモジュール521A〜Nからの要求をインターセプトすることができるセンサーオプティマイザ505を含む。加えて、上記のように、アプリケーションモジュール521は、センサーデータの要求のインターセプションを可能にするため、特定のデータストリームパラメータを有する特定のセンサーデータストリームのアドレス指定を支援するため、およびセンサーオプティマイザ505と連動して1つまたは複数のセンサーモジュール501からの利用可能なセンサーデータストリームを管理するために、センサーオプティマイザ505と連動して機能することができるセンサーオプティマイザアプリケーションモジュールを含み得る。
いくつかの実施形態では、メモリ520は、複数のアプリケーションモジュール521A〜Nを記憶する。アプリケーションモジュール521A〜Nは、プロセッサ510によって実行されるべき特定の命令を含む。メモリ520は、任意の数のアプリケーションモジュールを記憶することができる。アプリケーションモジュール521A〜Nのそれぞれは、たとえば、カレンダーアプリケーション、ジオフェンシングアプリケーション、電力管理アプリケーション、スマートアラートアプリケーション、ソーシャルメディアアプリケーション(たとえば、Twitter(商標)もしくはFacebook(商標))、またはプロセッサ510によって実行される命令を有する任意のアプリケーションタイプモジュールであってよい。いかなるそのようなアプリケーションも、センサーアドレス指定モジュールに、センサーデータまたはセンサーデータストリームの要求を通信することによって、センサーデータにアクセスすることができる。いくつかの実施形態では、メモリ520はオペレーティングシステム523を含む。オペレーティングシステム523は、アプリケーションモジュール521A〜Nによって提供された命令の実行を開始するように、かつ/またはセンサーモジュール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およびアプリケーションモジュール521A〜Nに加えて、モバイルデバイス500は、ディスプレイモジュール503と、ユーザ入力モジュール504とを有し得る。ディスプレイモジュール503は、デバイス500からの情報をユーザにグラフィカルに提示する。この情報は、1つもしくは複数のアプリケーションモジュール521A〜N、1つもしくは複数のセンサーモジュール501、それらの組合せ、または(たとえば、オペレーティングシステム524によって)ユーザ用のグラフィカルコンテンツを分解するための任意の他の適切な手段から導出され得る。ディスプレイモジュール503は、液晶ディスプレイ(LCD)技術、発光ポリマーディスプレイ(LPD)技術、または何らかの他のディスプレイ技術であってよい。いくつかの実施形態では、ディスプレイモジュール503は、容量性または抵抗性のタッチスクリーンであり、ユーザとの触覚および/または触知性接触に反応し得る。そのような実施形態では、ディスプレイモジュール503は、マルチタッチセンシティブディスプレイ(multi-touch-sensitive display)を含み得る。
モバイルデバイスのさらなる実施形態は、図7に関して下で詳述するようなコンピューティングデバイスの様々な部分をさらに含み得る。
図6は、潜在的な実施形態による、追加の代替方法について説明する。ステップS610で、センサーオプティマイザは、第1のセンサー要素からのセンサーデータの第1の要求をプロセッサから受信し、センサーデータの第1の要求が、第1の組のデータストリームパラメータを識別する。ステップS612で、センサーオプティマイザは、第1のセンサー要素からのセンサーデータの第2の要求を受信し、第2の要求が、第1の組のデータストリームパラメータとは異なる第2の組のデータストリームパラメータを識別する。
ステップS614で、センサーオプティマイザは、第1の組のデータストリームパラメータおよび第2の組のデータストリームパラメータに基づいて、1組のソースパラメータを使用して、センサー要素にソースデータストリームを要求する。ステップS616で、センサーオプティマイザは、ソースデータストリームから第1のセンサーデータストリームを作成し、第1のセンサーデータストリームが、第1の組のデータストリームパラメータに一致する。
ステップS618で、センサーオプティマイザは、ソースデータストリームから第2のセンサーデータストリームを作成し、第2のセンサーデータストリームが、第2の組のデータストリームパラメータに一致する。ステップS620で、センサーオプティマイザは、第1のセンサーデータストリームおよび第2のセンサーデータストリームをプロセッサに並行して通信する。
次に、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 デバイス
102 センサー
103 センサーオプティマイザ
110 センサー要素
120 デジタルデータ出力
130 デジタルフィルタ
132a〜d 通信リンク
140 較正モジュール
150a〜d アプリケーション
150a 出力レジスタ
150b 出力レジスタ
160 センサーアドレス指定モジュール
190a〜d アプリケーション

Claims (15)

  1. センサーオプティマイザで、第1のセンサー要素からのセンサーデータの第1の要求をプロセッサから受信するステップであり、センサーデータの前記第1の要求が、第1の組のデータストリームパラメータを識別する、ステップと、
    前記センサーオプティマイザで、前記第1のセンサー要素からのセンサーデータの第2の要求を受信するステップであり、前記第2の要求が、前記第1の組のデータストリームパラメータとは異なる第2の組のデータストリームパラメータを識別する、ステップと、
    前記センサーオプティマイザによって、前記第1の組のデータストリームパラメータおよび前記第2の組のデータストリームパラメータに基づいて、1組のソースパラメータを使用して、前記第1のセンサー要素からのソースデータストリームを要求するステップと、
    前記センサーオプティマイザによって、前記ソースデータストリームから第1のセンサーデータストリームを作成するステップであり、前記第1のセンサーデータストリームが、前記第1の組のデータストリームパラメータに一致する、ステップと、
    前記センサーオプティマイザによって、前記ソースデータストリームから第2のセンサーデータストリームを作成するステップであり、前記第2のセンサーデータストリームが、前記第2の組のデータストリームパラメータに一致する、ステップと、
    前記第1のセンサーデータストリームおよび前記第2のセンサーデータストリームを前記プロセッサに並行して通信するステップと
    を含み、
    センサーデータの前記第1の要求が、較正されたデータの要求を含み、
    前記第1のセンサーデータストリームが、前記第1の組のデータストリームパラメータに一致し、前記較正されたデータを備える
    方法。
  2. センサーデータの前記第2の要求が、較正されていないデータの要求を含み、
    前記第2のセンサーデータストリームが、前記第2の組のデータストリームパラメータに一致し、前記較正されていないデータを備える
    請求項1に記載の方法。
  3. センサーデータの前記第1の要求が前記プロセッサ上で動作している第1のアプリケーションから受信され、センサーデータの前記第2の要求が前記プロセッサ上で動作している前記第1のアプリケーションから受信される、請求項2に記載の方法。
  4. センサーデータの前記第1の要求が前記プロセッサ上で動作している第1のアプリケーションから受信され、センサーデータの前記第2の要求が前記プロセッサ上で動作している第2のアプリケーションから受信される、請求項2に記載の方法。
  5. 前記第1のアプリケーションがカメラアプリケーションを含み、前記第2のアプリケーションがナビゲーションアプリケーションを含む、請求項4に記載の方法。
  6. 前記第1のセンサー要素がジャイロスコープを含む、請求項5に記載の方法。
  7. 前記第1のセンサー要素が加速度計を含み、かつ/または、
    前記第1のアプリケーションがユーザインターフェース配向制御アプリケーションを含み、前記第2のアプリケーションがナビゲーションアプリケーションを含む、請求項4に記載の方法。
  8. センサーデータの前記第1の要求が前記プロセッサ上で動作している第1のアプリケーションから受信され、センサーデータの前記第2の要求が前記プロセッサを含むモバイルデバイス内の第2のプロセッサ上で動作している第2のアプリケーションから受信される、請求項2に記載の方法。
  9. 前記第1のセンサーデータストリーム、および前記第2のセンサーデータストリームを作成するステップが、
    前記センサーオプティマイザの信号多重化モジュールで前記第1のセンサー要素から前記ソースデータストリームを受信するステップと、
    前記第1のセンサーデータストリームを前記信号多重化モジュールから前記センサーオプティマイザの第1の出力レジスタに出力するステップと、
    前記第2のセンサーデータストリームを前記信号多重化モジュールから前記センサーオプティマイザの第2の出力レジスタに出力するステップと
    を含む、請求項4に記載の方法。
  10. 前記第1のセンサーデータストリームを前記第1のアプリケーションに、および前記第2のセンサーデータストリームを前記第2のアプリケーションに並行して通信するステップが、
    第1の時間に開始し、第2の時間に終了する、センサーアドレス指定モジュールを介して、前記第1のセンサーデータストリームを前記第1の出力レジスタから前記プロセッサの前記第1のアプリケーションに通信するステップと、
    第3の時間に開始し、第4の時間に終了する、前記センサーアドレス指定モジュールを介して、前記第2のセンサーデータストリームを前記第2の出力レジスタから前記プロセッサの前記第2のアプリケーションに通信するステップであり、前記第3の時間が前記第1の時間よりも後であり、前記第3の時間が前記第2の時間よりも早い、ステップと
    を含む、請求項9に記載の方法。
  11. 第1のセンサー要素を備える第1のセンサーモジュールと、
    前記第1のセンサーモジュールに結合されたセンサーオプティマイザと、
    前記センサーオプティマイザを介して前記第1のセンサーモジュールに結合されたプロセッサと
    を備え、前記センサーオプティマイザが、前記第1のセンサーモジュールからソースセンサーデータストリームを受信し、前記ソースセンサーデータストリームから導出された少なくとも2つのセンサーデータストリームを前記プロセッサに並行して出力し、
    前記センサーオプティマイザが、
    信号多重化モジュールによって前記第1のセンサー要素に結合された複数のデジタルフィルタと、
    前記複数のデジタルフィルタのうちの1つの対応するデジタルフィルタに各々結合される複数の出力レジスタと、
    前記複数の出力レジスタに結合されたセンサーアドレス指定モジュールと
    を備える、デバイス。
  12. 前記センサーオプティマイザが、第1の較正モジュールをさらに備え、
    前記複数のデジタルフィルタが、第1のデジタルフィルタと、第2のデジタルフィルタとを備え、
    前記プロセッサが複数のアプリケーションを実行し、前記複数のアプリケーションの各アプリケーションが、前記複数のアプリケーションの各アプリケーションによるセンサーデータの要求の一部として、1組のデータストリームパラメータを前記センサーアドレス指定モジュールへの通信のために前記プロセッサに提供し、
    前記複数の出力レジスタが、前記第1のデジタルフィルタに結合された第1の出力レジスタと、前記第2のデジタルフィルタに結合された第2の出力レジスタとを備え、
    前記第1のデジタルフィルタが、前記第1の較正モジュールを介して前記第1の出力レジスタに結合される
    請求項11に記載のデバイス。
  13. センサーモジュールからのソースセンサーデータストリームをインターセプトするための手段と、
    前記ソースセンサーデータストリームから導出された少なくとも2つの異なるセンサーデータストリームを作成するための手段と、
    プロセッサに少なくとも2つの異なるセンサーデータストリームを並行して出力するための手段と
    を備え、
    前記プロセッサから前記センサーモジュールへのセンサーデータストリームの要求をインターセプトするための手段と、
    センサーデータストリームの前記インターセプトされた要求からの前記プロセッサにより要求されたセンサーストリームパラメータに一致するように、各センサーデータストリームについての1組のセンサーストリームパラメータを調整するための手段と
    をさらに備える、デバイス。
  14. 第2のセンサーモジュールからの第2のソースセンサーデータストリームをインターセプトするための手段と、
    前記第2のソースセンサーデータストリームから導出された少なくとも2つの異なるセンサーデータストリームを作成するための手段と、
    前記プロセッサに第2の少なくとも2つの異なるセンサーデータストリームを並行して出力するための手段と
    をさらに備える請求項13に記載のデバイス。
  15. 記憶媒体に結合されたプロセッサによって実行されると、デバイスに請求項1乃至10の何れか1項に記載の方法を実行させるコンピュータ可読命令を含む、非一時的コンピュータ可読記憶媒体。
JP2015523097A 2012-07-17 2013-06-24 同じセンサーからの様々なパラメータを使用した並行するデータストリーミング Active JP6151357B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261672677P 2012-07-17 2012-07-17
US61/672,677 2012-07-17
US13/799,201 2013-03-13
US13/799,201 US9462632B2 (en) 2012-07-17 2013-03-13 Concurrent data streaming using various parameters from the same sensor
PCT/US2013/047295 WO2014014618A2 (en) 2012-07-17 2013-06-24 Concurrent data streaming using various parameters from the same sensor

Publications (3)

Publication Number Publication Date
JP2015524970A JP2015524970A (ja) 2015-08-27
JP2015524970A5 JP2015524970A5 (ja) 2016-08-04
JP6151357B2 true JP6151357B2 (ja) 2017-06-21

Family

ID=49946512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015523097A Active JP6151357B2 (ja) 2012-07-17 2013-06-24 同じセンサーからの様々なパラメータを使用した並行するデータストリーミング

Country Status (10)

Country Link
US (1) US9462632B2 (ja)
EP (1) EP2875416B1 (ja)
JP (1) JP6151357B2 (ja)
KR (1) KR102028141B1 (ja)
CN (1) CN104487914B (ja)
BR (1) BR112015001012B1 (ja)
ES (1) ES2710515T3 (ja)
IN (1) IN2015MN00036A (ja)
TW (1) TWI518513B (ja)
WO (1) WO2014014618A2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641266B2 (en) 2012-07-17 2017-05-02 Qualcomm Incorporated Sensor with concurrent data streaming using various parameters
CA2861215C (en) 2012-09-12 2015-09-08 Omron Corporation Data flow control order generating apparatus and sensor managing apparatus
US9816370B2 (en) * 2012-09-19 2017-11-14 Honeywell International Inc. System and method for optimizing an operation of a sensor used with wellbore equipment
WO2017019719A2 (en) * 2015-07-27 2017-02-02 Smash Solar, Inc. Sensing, interlocking solar panel system and installation method
EP2754524B1 (de) 2013-01-15 2015-11-25 Corning Laser Technologies GmbH Verfahren und Vorrichtung zum laserbasierten Bearbeiten von flächigen Substraten, d.h. Wafer oder Glaselement, unter Verwendung einer Laserstrahlbrennlinie
EP2781296B1 (de) 2013-03-21 2020-10-21 Corning Laser Technologies GmbH Vorrichtung und verfahren zum ausschneiden von konturen aus flächigen substraten mittels laser
US11556039B2 (en) 2013-12-17 2023-01-17 Corning Incorporated Electrochromic coated glass articles and methods for laser processing the same
US9517963B2 (en) 2013-12-17 2016-12-13 Corning Incorporated Method for rapid laser drilling of holes in glass and products made therefrom
US9607319B2 (en) 2013-12-30 2017-03-28 Adtile Technologies, Inc. Motion and gesture-based mobile advertising activation
US9436270B2 (en) * 2014-02-12 2016-09-06 Qualcomm Incorporated Wireless low-energy secure data transfer
CH709355A1 (it) * 2014-03-13 2015-09-15 Alessandro Pasquali Metodo e impianti per connessioni mediante raggi luminosi.
JP6364315B2 (ja) * 2014-07-04 2018-07-25 ルネサスエレクトロニクス株式会社 電子装置
EP3166895B1 (en) 2014-07-08 2021-11-24 Corning Incorporated Methods and apparatuses for laser processing materials
KR20170028943A (ko) 2014-07-14 2017-03-14 코닝 인코포레이티드 조정가능한 레이저 빔 촛점 라인을 사용하여 투명한 재료를 처리하는 방법 및 시스템
CN105806362B (zh) * 2014-12-30 2018-08-24 上海新跃仪表厂 一种ccd探测器辐射效应试验装置
EP3274306B1 (en) 2015-03-24 2021-04-14 Corning Incorporated Laser cutting and processing of display glass compositions
US11186060B2 (en) 2015-07-10 2021-11-30 Corning Incorporated Methods of continuous fabrication of holes in flexible substrate sheets and products relating to the same
US9578493B1 (en) 2015-08-06 2017-02-21 Adtile Technologies Inc. Sensor control switch
US10437463B2 (en) 2015-10-16 2019-10-08 Lumini Corporation Motion-based graphical input system
US10458812B2 (en) * 2015-10-30 2019-10-29 Invensense, Inc. Sensor output configuration
KR102525295B1 (ko) * 2016-01-06 2023-04-25 삼성전자주식회사 데이터 관리 방법 및 장치
JP6447531B2 (ja) 2016-01-29 2019-01-09 オムロン株式会社 信号処理装置、信号処理装置の制御方法、制御プログラム、および記録媒体
JP6447530B2 (ja) 2016-01-29 2019-01-09 オムロン株式会社 信号処理装置、信号処理装置の制御方法、制御プログラム、および記録媒体
US10196152B2 (en) 2016-03-29 2019-02-05 Simmonds Precision Products, Inc. Sensor data processing for condition monitoring systems
KR102078294B1 (ko) 2016-09-30 2020-02-17 코닝 인코포레이티드 비-축대칭 빔 스폿을 이용하여 투명 워크피스를 레이저 가공하기 위한 기기 및 방법
WO2018081031A1 (en) 2016-10-24 2018-05-03 Corning Incorporated Substrate processing station for laser-based machining of sheet-like glass substrates
CN106643604A (zh) * 2016-12-29 2017-05-10 成都多沐汽车工程有限公司 数据交互方法及装置、数字化检具系统
US9983687B1 (en) 2017-01-06 2018-05-29 Adtile Technologies Inc. Gesture-controlled augmented reality experience using a mobile communications device
CN107623789A (zh) * 2017-09-26 2018-01-23 惠州Tcl移动通信有限公司 移动终端及磁传感器数据控制方法、及存储介质
CN108770048B (zh) * 2018-04-28 2021-05-18 Oppo广东移动通信有限公司 功耗控制方法及相关装置
US11068530B1 (en) * 2018-11-02 2021-07-20 Shutterstock, Inc. Context-based image selection for electronic media
US10728633B2 (en) * 2018-12-19 2020-07-28 Simmonds Precision Products, Inc. Configurable distributed smart sensor system

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940004404B1 (ko) 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
US6362737B1 (en) * 1998-06-02 2002-03-26 Rf Code, Inc. Object Identification system with adaptive transceivers and methods of operation
DE10007813A1 (de) 2000-02-21 2001-09-06 Becker Gmbh Navigationssystem für ein Kraftfahrzeug und Verfahren zum Betreiben eines Navigationssystems
CA2418612C (en) 2002-12-06 2005-12-27 Marian Gavrila Hybrid communication terminal - alarm system
US7702015B2 (en) 2003-03-20 2010-04-20 Ge Security, Inc. Systems and methods for multi-resolution image processing
JP5028751B2 (ja) 2005-06-09 2012-09-19 ソニー株式会社 行動認識装置
EP2054804B1 (en) * 2006-04-07 2017-05-17 Qualcomm Incorporated Sensor interface, and methods and apparatus pertaining to same
RU2009107052A (ru) 2006-07-28 2010-09-10 Конинклейке Филипс Электроникс Н.В. (Nl) Распределенное совместно используемое пространство данных для персональных систем контроля состояния здоровья
US8769485B2 (en) 2006-12-04 2014-07-01 Tibco Software, Inc. Data parallelism and parallel operations in stream processing
US8466973B2 (en) 2007-01-22 2013-06-18 St-Ericsson Sa Computer device and method for adapting the compression rate of digital images
US20090003599A1 (en) 2007-06-29 2009-01-01 Honeywell International, Inc. Systems and methods for publishing selectively altered sensor data in real time
US8037485B1 (en) 2007-09-04 2011-10-11 Adobe Systems Incorporated Abstracting data acquisition and management
US8229535B2 (en) 2008-02-21 2012-07-24 Dexcom, Inc. Systems and methods for blood glucose monitoring and alert delivery
US8797178B2 (en) 2008-03-10 2014-08-05 Microsoft Corporation Efficient stream sharing for multi-user sensor data collection
US8212720B2 (en) 2008-09-24 2012-07-03 Texas Instruments Incorporated Detecting lack of movement to aid GNSS receivers
US20100097464A1 (en) 2008-10-17 2010-04-22 Volpe Industries Network video surveillance system and recorder
US9398536B2 (en) 2009-05-29 2016-07-19 Qualcomm Incorporated Method and apparatus for movement detection by evaluating elementary movement patterns
US9074897B2 (en) 2009-06-15 2015-07-07 Qualcomm Incorporated Real-time data with post-processing
US8645093B2 (en) * 2009-11-04 2014-02-04 Qualcomm Incorporated Calibrating multi-dimensional sensor for offset, sensitivity, and non-orthogonality
US8781737B2 (en) 2009-11-20 2014-07-15 Qualcomm Incorporated Spatial alignment determination for an inertial measurement unit (IMU)
US8612146B2 (en) 2010-02-15 2013-12-17 Texas Instruments Incorporated Accelerometer-aided gyroscope
US8310380B2 (en) 2010-03-02 2012-11-13 Invensense Inc. Selectable communication interface configurations for motion sensing device
US8271235B2 (en) 2010-03-30 2012-09-18 Qualcomm Incorporated Efficient concurrent sampling at different rates
US9501100B2 (en) * 2010-09-30 2016-11-22 Apple Inc. Communicating sensor data between electronic devices
EP2447667B1 (en) 2010-10-26 2015-11-11 BlackBerry Limited System and method for calibrating a magnetometer according to a quality threshold
EP2447669A1 (en) 2010-10-26 2012-05-02 Research In Motion Limited System and method for calibrating a magnetometer using partial and full calibrations
CA2819931A1 (en) 2010-12-30 2012-04-26 Arinnovation Ag Method for configuring a motion sensor as well as a configurable motion sensor and a system for configuring such a motion sensor
US8676528B2 (en) * 2011-02-08 2014-03-18 Blackberry Limited System and method for calibrating an accelerometer
US9541393B2 (en) * 2011-06-30 2017-01-10 Qualcomm Incorporated Reducing power consumption or error of digital compass
US9641266B2 (en) 2012-07-17 2017-05-02 Qualcomm Incorporated Sensor with concurrent data streaming using various parameters

Also Published As

Publication number Publication date
US9462632B2 (en) 2016-10-04
CN104487914A (zh) 2015-04-01
ES2710515T3 (es) 2019-04-25
CN104487914B (zh) 2017-08-04
BR112015001012B1 (pt) 2022-03-15
EP2875416B1 (en) 2018-12-12
BR112015001012A2 (pt) 2017-06-27
TW201405318A (zh) 2014-02-01
KR102028141B1 (ko) 2019-10-02
WO2014014618A3 (en) 2014-02-13
TWI518513B (zh) 2016-01-21
US20140023087A1 (en) 2014-01-23
JP2015524970A (ja) 2015-08-27
EP2875416A2 (en) 2015-05-27
IN2015MN00036A (en) 2015-10-16
KR20150036601A (ko) 2015-04-07
WO2014014618A2 (en) 2014-01-23

Similar Documents

Publication Publication Date Title
JP6151357B2 (ja) 同じセンサーからの様々なパラメータを使用した並行するデータストリーミング
US10530511B2 (en) Sensor with concurrent data streaming using various parameters
US20180007315A1 (en) Electronic device and image capturing method thereof
US10831792B2 (en) Sensor information using method and electronic device using the same
CN108353152B (zh) 图像处理设备及其操作方法
KR102506428B1 (ko) 전자 장치 및 이의 노이즈 제어 방법
US9967658B2 (en) Method for processing sound by electronic device and electronic device thereof
WO2017191908A1 (ko) 위치 정보 계산 방법 및 그 전자 장치
EP3905661A1 (en) Electronic device and method for recommending image capturing place
KR20180038892A (ko) 영상 처리 방법 및 이를 지원하는 전자 장치
WO2018034446A1 (ko) 전자장치, 이를 활용한 음성 신호의 노이즈 저감 방법
KR102662050B1 (ko) 복수의 어플리케이션에 카메라에서 획득한 이미지를 제공하는 전자 장치 및 그의 동작 방법
KR102666045B1 (ko) 클라우드 서비스를 제공하는 전자 장치 및 그 동작 방법
KR102650875B1 (ko) 전자 장치 및 전자 장치의 타임 존 설정 방법
EP4365721A1 (en) Electronic device including flexible display and method for operating same
KR20240024712A (ko) 외부 전자 장치의 설정 정보를 결정하는 전자 장치 및 전자 장치의 동작 방법
KR20200105366A (ko) 사용자 상태 기반의 지오펜싱 서비스를 지원하기 위한 전자 장치
JP2015210163A (ja) 情報処理システム、情報処理プログラム、および情報処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170524

R150 Certificate of patent or registration of utility model

Ref document number: 6151357

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250