JP6416962B2 - 掴み検出の較正 - Google Patents

掴み検出の較正 Download PDF

Info

Publication number
JP6416962B2
JP6416962B2 JP2017055735A JP2017055735A JP6416962B2 JP 6416962 B2 JP6416962 B2 JP 6416962B2 JP 2017055735 A JP2017055735 A JP 2017055735A JP 2017055735 A JP2017055735 A JP 2017055735A JP 6416962 B2 JP6416962 B2 JP 6416962B2
Authority
JP
Japan
Prior art keywords
computing device
vector
sensor data
hyperplane
data
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.)
Expired - Fee Related
Application number
JP2017055735A
Other languages
English (en)
Other versions
JP2017182800A (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 JP2017182800A publication Critical patent/JP2017182800A/ja
Application granted granted Critical
Publication of JP6416962B2 publication Critical patent/JP6416962B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D18/00Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D21/00Measuring or testing not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/169Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated pointing device, e.g. trackball in the palm rest area, mini-joystick integrated between keyboard keys, touch pads or touch stripes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3231Monitoring the presence, absence or movement of users
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/033Indexing scheme relating to G06F3/033
    • G06F2203/0339Touch strips, e.g. orthogonal touch strips to control cursor movement or scrolling; single touch strip to adjust parameter or to implement a row of soft keys
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Description

本開示は、一般に、モバイル・コンピューティング・デバイスに関する。
モバイル・コンピューティング・デバイス、例えば、スマートフォン、タブレット・コンピュータ、またはラップトップ・コンピュータなどは、そのロケーション、方向、または向きを決定するための機能、例えば、GPS受信機、コンパス、またはジャイロスコープなどを含み得る。そのようなデバイスは、無線通信、例えば、BLUETOOTH(登録商標)通信、近距離無線通信(NFC)、もしくは赤外線(IR)通信、または、無線ローカル・エリア・ネットワーク(WLAN)もしくはセルラ電話ネットワークとの通信などのための機能も含み得る。そのようなデバイスは、1もしくは複数のカメラ、スキャナ、タッチスクリーン、マイクロフォン、またはスピーカも含み得る。モバイル・コンピューティング・デバイスは、ソフトウェア・アプリケーション、例えば、ゲーム、ウェブ・ブラウザ、またはソーシャルネットワーキング・アプリケーションなども実行し得る。ソーシャルネットワーキング・アプリケーションを用いると、ユーザは、それらのソーシャル・ネットワーク内で、他のユーザとつながり、通信し、情報を共有し得る。
例示的なモバイル・コンピューティング・デバイスを例示する図。 例示的なモバイル・コンピューティング・デバイスの例示的なセンサ構成を例示する図。 ユーザの推定される意図に基づいて、コンピューティング・デバイスの所定の機能を開始するための例示的な方法を例示する図。 例示的なセンサ・データにおける遷移の例示的な検出を例示する図。 例示的なセンサ・データにおける遷移の例示的な検出を例示する図。 ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を例示する図。 センサ・データの例示的な分類を例示する図。 センサ・データがクライアント・システムの所定の使用に対応するか否かを決定するための例示的な方法を例示する図。 例示的な射影の計算を通じた、センサ・データの成分の例示的な分離を例示する図。 センサ・データの成分を分離する例示的な方法を例示する図。 例示的なコンピューティング・システムを例示する図。
特定の実施形態において、ユーザ・アクションをキャプチャするために異なるロケーションに配置される複数のタッチ・センサを有するデバイスに関して、一定のユーザ経験の改善は、人間の手または他の人体部分に関する物理的状態間の遷移(例えば、デバイスに近付くこと、デバイスに接触すること、デバイスを把持すること、デバイスを移動させること、デバイスを離すこと、デバイスから離れること)によって生成されるセンサ入力からユーザ意図を推測することによって可能にされ得る。しかしながら、センサ入力に基づく、そのような遷移の検出は、デバイスに接触し、デバイスを把持する(デバイスを「掴む」)手のアクションに関する、正確な基準値を決定することに依存し、生のセンサ・データについての基準値は、ユーザの手のサイズ、ユーザの手の向き、温度、湿度等における差異に依存して変動し得る。遷移は、有意義な観点であるため、この問題は、検出空間を生のセンサ・データの導関数として扱うことによって対処され得る。また、(物理的コ
ンテキストにおける多くのバリエーション、例えば、ズボンの後ろポケットから、ジャケットの前ポケットから、バッグから、またはホルスタから電話を掴みながら、歩くこと、走ること、じっと立っていること、バス内で立っていること、じっと座っていること、電車内で座っていること、または自転車に乗っていることに基づいて)広範囲なデータ点を収集することによって、データ点は、トレーニング・データのセットを生成するために使用され得る。例えば、サポート・ベクトル・マシン(SVM)モデルは、トレーニング・データに基づいて生成され、検出された遷移を「掴み(grab)」として、または「非掴み(not−a−grab)」として分類するために、センサ入力に対してリアルタイムで適用され得る。
N個のタッチ・センサを有するモバイル・デバイスの特定の実施形態は、N次元空間におけるベクトル(サポート・ベクトル)を備えるタプルを生成するために、各センサの出力の導関数を計算する。(複数のタイプのユーザについての、複数のタイプの物理的コンテキストにまたがる)複数のサポート・ベクトルが生成され得、各サポート・ベクトルは、サポート・ベクトルの2つのセットのうちの1つ(例えば、「掴み」または「非掴み」)に分類され得る。N次元空間における分離超平面は、サポート・ベクトルの2つのセットに基づいて計算され得る。SVMは、リアルタイム・センサ入力をN次元空間内にマッピングし、超平面に対するドット積を計算し、それによって、センサ入力をトリガするイベントを分類するために適用され得る。
状態間のそのような遷移の検出の正確さにおける改善は、他のタイプのセンサ、例えば、(1)モーション・センサ(例えば、加速度計またはジャイロスコープ)、(2)近接センサ(光学または環境)、(3)圧力センサ(例えば、ピエゾ抵抗)、(4)温度センサ等からの入力データを使用して、さらに相関され得る。そのような相関させることは、「掴み」の検出を確認することに役立てるために使用され得る。
いったん通信デバイスが「掴み」をより正確に検出することができるようになると、そのデバイスは、ユーザによるデバイスの使用が差し迫っていることを推測し、したがって、デバイス上のアプリケーションおよび/またはデータを最新にするために、データをダウンロードおよび/またはアップロードするための任意のプロセスを開始することが可能になり得る。
図1は、例示的なモバイル・コンピューティング・デバイスを例示する。特定の実施形態において、クライアント・システムは、前述されたようなモバイル・コンピューティング・デバイス10であり得る。本開示は、任意の適切な物理的形態をとるモバイル・コンピューティング・デバイス10を企図する。特定の実施形態において、モバイル・コンピューティング・デバイス10は、後述されるようなコンピューティング・システムであり得る。限定ではなく例として、モバイル・コンピューティング・デバイス10は、シングルボード・コンピュータ・システム(SBC:single−board computer system)(例えば、コンピュータ・オン・モジュール(COM:computer−on−module)もしくはシステム・オン・モジュール(SOM:system−on−module)など)、ラップトップ・コンピュータ・システムもしくはノートブック・コンピュータ・システム、携帯電話、スマートフォン、携帯情報端末(PDA:personal digital assistant)、タブレット・コンピュータ・システム、または、これらのうちの2つ以上の組合せであり得る。特定の実施形態において、モバイル・コンピューティング・デバイス10は、入力コンポーネントとして一次タッチ・センサ12を有し得る。容量タッチ・センサの場合においては、3つのタイプの電極、すなわち、送信、受信、およびローディングがあり得る。これらの電極は、電気パルスを用いて送信電極を駆動するように設計されたコントローラに接続され得る。図1の例において、タッチ・センサ12は、モバイル・コンピューティング・デバイス10
の前面上に組み込まれている。図1の例において、1または複数の二次タッチ・センサ14A〜14Dは、モバイル・コンピューティング・デバイス10の1または複数の面内に組み込まれ得る。特定の実施形態において、1または複数の二次タッチ・センサ14A〜14Dは、モバイル・コンピューティング・デバイス10の複数の面の一部、例えば、側面または底面の一部などに対するカバレッジを有し得る。後述されるように、モバイル・コンピューティング・デバイス10に関連付けられているユーザの意図は、1もしくは複数のタッチ・センサ12および14A〜14D、またはセンサ・タイプの任意の組合せによって検出されるセンサ・データにおける遷移を通じて推定され得る。
モバイル・コンピューティング・デバイス10は、イーサネット(登録商標)もしくは他の有線ベースのネットワークもしくは無線NIC(WNIC:wireless NIC)と通信するための通信コンポーネント、無線ネットワーク、例えば、WI−FIネットワークなどと通信するための無線アダプタ、またはセルラネットワーク、例えば、第3世代モバイル通信(3G)ネットワークもしくはロング・ターム・エボリューション(LTE:Long Term Evolution)ネットワークなどと通信するためのモデムを含み得る。本開示は、任意の適切なネットワークと、そのための任意の適切な通信コンポーネントとを企図する。限定ではなく例として、モバイル・コンピューティング・デバイス10は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN:personal area network)、ローカル・エリア・ネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、メトロポリタン・エリア・ネットワーク(MAN:metropolitan area network)、もしくはインターネット、または、これらのうちの2つ以上の組合せの1もしくは複数の部分と通信し得る。これらのネットワークのうちの1または複数の1または複数の部分は、有線でも、無線でもよい。別の例として、モバイル・コンピューティング・デバイス10は、無線PAN(WPAN:wireless PAN)(例えば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラ電話ネットワーク(例えば、汎ヨーロッパ・デジタル移動通信システム(GSM(登録商標):Global
System for Mobile Communications)ネットワーク、3Gネットワーク、もしくはLTEネットワークなど)、もしくは他の適切な無線ネットワーク、または、これらのうちの2つ以上の組合せと通信し得る。モバイル・コンピューティング・デバイス10は、適当な場合には、これらのネットワークのうちの任意のものについての任意の適切な通信コンポーネントを含み得る。
特定の実施形態において、モバイル・コンピューティング・デバイス10は、複数の動作状態を有し得る。限定ではなく例として、モバイル・コンピューティング・デバイス10が、そのユーザによってある期間(例えば、数秒間)使用されていなかった場合、モバイル・コンピューティング・デバイス10は、電力節約状態に入り得る。電力節約状態において、モバイル・コンピューティング・デバイス10は、エネルギーを節約し、バッテリ寿命を延ばすために、より低い電力レベルで動作し得る。モバイル・コンピューティング・デバイス10のディスプレイは、薄暗くなるか、またはパワー・ダウンさせられ得る。いかなるときでも、モバイル・コンピューティング・デバイス10は、例えば、ユーザが現在、モバイル・コンピューティング・デバイス10を使用中であるか否か、モバイル・コンピューティング・デバイス10の直近の使用から経過した時間、モバイル・コンピューティング・デバイス10の物理的環境(例えば、携帯用ケース、ポケット、または引き出しの中)に応じて、任意の適切な動作状態にあり得る。
特定の実施形態において、モバイル・コンピューティング・デバイス10のアプリケーション・プロセッサによって実行されるアプリケーションは、ユーザに対して所定の期間内に具体的なアクションを実行するように促して、機械学習アルゴリズム、例えば、サポ
ート・ベクトル・マシン(SVM:support vector machine)、ニューラル・ネットワーク、確率伝搬法、またはk平均アルゴリズムなどのためのトレーニング・データとして機能し得るセンサ・データを提供し得る。限定ではなく例として、ユーザは、アプリケーションに対して、特定のアクション、例えば、自転車に乗ること、モバイル・コンピューティング・デバイス10をポケットに入れて座ること、またはモバイル・コンピューティング・デバイス10をポケットから取り出すことなどが実行されていることを示し得、トレーニング・アプリケーションは、1または複数のタイプのセンサを通じて、特定のアクションに対応するセンサ・データを記録し得る。特定の実施形態において、アクションの各々は、モバイル・コンピューティング・デバイス10に関連付けられている複数の状態、例えば、モバイル・コンピューティング・デバイス10と物理的接触することに関連付けられているアクション、またはモバイル・コンピューティング・デバイス10との物理的接触に関連付けられていないアクションなどのうちの特定の1つに分類され得る。
限定ではなく例として、モバイル・コンピューティング・デバイス10は、センサ・データを、測定値の配列および各アクションに関連付けられている特定の状態に対応する状態値として送り得る。例えば、トレーニング・データは、モバイル・コンピューティング・デバイス10の1または複数のタッチ・センサからの容量値の配列であり得る。別の例として、トレーニング・データは、特定のアクションが実行されている間に加速度計によって測定された加速度を含み得る。前述されたように、トレーニング・データは、特定のアクションをモバイル・コンピューティング・デバイス10の特定の状態、例えば、モバイル・コンピューティング・デバイス10との物理的な接触などに関連付けるインジケータ情報も含み得る。限定ではなく例として、「0」は、ある面、例えば、テーブル上に置かれているモバイル・コンピューティング・デバイス10を表す状態に割り当てられ得る。別の例として、「1」は、モバイル・コンピューティング・デバイス10と物理的に接触していること、例えば、テーブルから拾い上げることなどを表す状態に割り当てられる。本開示は、モバイル・コンピューティング・デバイスに関連付けられている特定の数の特定の状態についてトレーニング・データを収集することを説明するが、本開示は、任意の適切なコンピューティング・デバイスに関連付けられている任意の適切な数の状態についてトレーニング・データを収集することを企図する。
特定の実施形態において、リアルタイム・センサ・データは、リアルタイム・センサ・データとトレーニング・データとを比較することに少なくとも部分的に基づいて、モバイル・コンピューティング・デバイス10の1または複数の所定の意図される使用に対応するイベントであると決定され得る。後述されるように、トレーニング・データは、センサ・データをモバイル・コンピューティング・デバイス10の複数の所定の使用に分類し、センサ・データをモバイル・コンピューティング・デバイス10の所定の使用に分離する超平面を定義するために使用され得る。さらに、超平面を定義するパラメータは、モバイル・コンピューティング・デバイス10へ送られ得、モバイル・コンピューティング・デバイス10のプロセッサ(例えば、センサ・ハブ)は、後述されるように、超平面に対するリアルタイム・センサ・データの比較に少なくとも部分的に基づいて、リアルタイム・センサがモバイル・コンピューティング・デバイス10の所定の意図される使用のうちの1つに対応するイベントであると決定し得る。
特定の実施形態において、リアルタイム・センサ・データは、リアルタイム・センサ・データのベクトル・マッピング(写像)の射影を解析することに少なくとも部分的に基づいて、モバイル・コンピューティング・デバイス10の切迫した(imminent)使用に対応すると決定され得る。後述されるように、定常状態条件に対応するベクトルへのリアルタイム・センサ・データに対応するベクトルの射影は、ベクトルの線形依存性を低減し得る。さらに、プロセッサ(例えば、センサ・ハブ)は、後述されるように、ベクト
ルのドット積を計算することを通じて射影を計算し、モバイル・コンピューティング・デバイス10の切迫した使用を決定し得る。
図2は、例示的なモバイル・コンピューティング・デバイスの例示的なセンサ構成を例示する。特定の実施形態において、モバイル・コンピューティング・デバイス10のセンサ・アレイ20は、1または複数のタイプのセンサを含み得る。1または複数のタイプのセンサは、タッチ・センサ、加速度計、ジャイロスコープ、光学近接センサ、環境光センサ、画像センサ、マイクロフォン、または、これらの任意の組合せを含み得る。異なるセンサ・タイプのセンサ・アレイ20の各々は、異なるタイプのデータを測定し得る。本開示は、特定のタイプのセンサによる、モバイル・コンピューティング・デバイスに関連付けられている環境データの収集を説明するが、本開示は、任意の適切なタイプのセンサによる、モバイル・コンピューティング・デバイスに関連付けられているセンサ・データの収集を企図する。センサ・アレイ20の1または複数のセンサは、モバイル・コンピューティング・デバイス10のセンサ・ハブ40に結合され得る。限定ではなく例として、センサ・ハブ40は、センサ・アレイ20の1または複数のセンサを制御し、センサのための電力を管理し、センサ入力を処理し、センサ・データをアグリゲートし、一定のセンサ機能を実行する低電力消費プロセッサであり得る。特定の実施形態において、センサ・アレイ20の1または複数のタイプのセンサは、コントローラ42に結合され得る。限定ではなく例として、センサ・ハブ40は、センサ・アレイ20に次に結合されるコントローラ42に結合され得る。特定の実施形態において、センサ・モニタは、センサ・アレイ20を管理し得る。特定の実施形態において、モバイル・コンピューティング・デバイス10のセンサ・ハブ40またはアプリケーション・プロセッサは、後述されるように、センサ・アレイ20の1または複数のタイプのセンサによって測定されるデータにおける遷移を検出し、異なるタイプのセンサからのデータにおける遷移とモバイル・コンピューティング・デバイス10の切迫した意図される使用とを相関させる。
特定の実施形態において、前述されたように、モバイル・コンピューティング・デバイス10のセンサ・アレイ20は、1または複数の他のタイプのセンサに加えて、加速度計を含み得る。加速度計によって提供されるセンサ・データは、ユーザがモバイル・コンピューティング・デバイス10を使用することを意図するか否かを少なくとも部分的に推定するために使用され得る。モバイル・コンピューティング・デバイス10がユーザのポケットに格納されている場合、モバイル・コンピューティング・デバイス10は、ユーザが移動するにつれて移動し得る。しかしながら、そのような移動は、比較的長期間にわたって発生する。他方で、ユーザが、モバイル・コンピューティング・デバイス10と物理的接触し、モバイル・コンピューティング・デバイス10をポケットから取り出して、ユーザの顔の正面に持ってくる場合、比較的短期間のうちにモバイル・コンピューティング・デバイス10の移動速度の上昇があり得る。モバイル・コンピューティング・デバイス10の移動速度におけるこの変化は、加速度計によって供給されるセンサ・データに基づいて検出され得る。
特定の実施形態において、前述されたように、モバイル・コンピューティング・デバイス10のセンサ・アレイ20は、1または複数の他のタイプのセンサに加えて、ジャイロスコープを含み得る。ジャイロスコープは、1または複数の位置軸に沿った角速度を測定するように構成されたセンサの一種である。さらに、ジャイロスコープは、モバイル・コンピューティング・デバイス10の向きを測定するために使用され得る。限定ではなく例として、モバイル・コンピューティング・デバイス10がユーザのポケットに格納されている場合、モバイル・コンピューティング・デバイス10は、特定の向きに沿って実質的に定位置に留まり得る。しかしながら、ユーザがモバイル・コンピューティング・デバイス10と物理的接触し、モバイル・コンピューティング・デバイス10をポケットから取り出して、ユーザの顔の正面に持ってくる場合、比較的短期間で発生する、モバイル・コ
ンピューティング・デバイス10の向きの変化があり得る。モバイル・コンピューティング・デバイス10の向きの変化は、ジャイロスコープによって検出および測定され得る。モバイル・コンピューティング・デバイス10の向きが著しく変化した場合、向きの変化は、別のタイプのセンサからのデータ、例えば、タッチ・センサ・データまたは加速度計データなどとともに、ユーザがモバイル・コンピューティング・デバイス10と物理的接触したかもしれないという補強インジケータとなり得る。
特定の実施形態において、モバイル・コンピューティング・デバイス10のセンサ・アレイ20は、光学近接センサを含み得る。光学近接センサによって供給されるセンサ・データは、モバイル・コンピューティング・デバイス10が具体的な物体、例えば、いつユーザの手などに極めて近接しているか検出するために解析され得る。特定の実施形態において、モバイル・コンピューティング・デバイス10は、その背面に配置される赤外線発光ダイオード(IR LED:infrared light−emitting diode)とともに、光学近接センサを有し得る。限定ではなく例として、ユーザがモバイル・コンピューティング・デバイス10をユーザの手の中に保持する場合、ユーザの手の手のひらは、IR LEDを覆い得る。結果として、IR LEDは、いつある物体がモバイル・コンピューティング・デバイス10に近接しているか検出し得る。特定の実施形態において、モバイル・コンピューティング・デバイス10に近接した物体の決定は、別のタイプのセンサからのデータ、例えば、タッチ・センサ・データまたは加速度計データなどとともに、ユーザがモバイル・コンピューティング・デバイス10と物理的接触したかもしれないという補強インジケータとなり得る。
特定の実施形態において、個々のタイプのセンサ・データを相関させることは、モバイル・コンピューティング・デバイス10に関するユーザの意図を推定するために使用され得る(例えば、ユーザが、モバイル・コンピューティング・デバイス10を把持し、使用することを本当に意味するか否か)。後述されるように、複数のタイプのセンサ・データを組み合わせて使用することは、単一のタイプのセンサからのデータを単独で使用することと比較して、モバイル・コンピューティング・デバイス10に関するユーザの意図のより正確な推定を生み出し得る。限定ではなく例として、モバイル・コンピューティング・デバイス10の使用は、1または複数のタッチ・センサを通じて、モバイル・コンピューティング・デバイス10に近接するユーザの身体の一部を検出することに加えて、加速度計を通じて、モバイル・コンピューティング・デバイス10の移動の速度における著しい上昇を検出することに部分的に基づいて、推定され得る。別の例として、モバイル・コンピューティング・デバイス10の使用は、光学近接センサを通じて、モバイル・コンピューティング・デバイス10に近接するユーザの身体部分を検出することに加えて、ジャイロスコープを通じて、モバイル・コンピューティング・デバイス10の向きの変化を検出することに部分的に基づいて、推定され得る。特定の実施形態において、モバイル・コンピューティング・デバイス10の所定の機能は、後述されるように、モバイル・コンピューティング・デバイス10に関するユーザの推定された意図に少なくとも部分的に基づいて、開始され得る。限定ではなく例として、モバイル・コンピューティング・デバイス10は、電力節約状態から通常の動作状態にされ(例えば、モバイル・デバイスのディスプレイをオンにし)、モバイル・コンピューティング・デバイス10の入力コンポーネントは、ユーザがモバイル・コンピューティング・デバイス10を使用しようとしているかもしれないと推定することに少なくとも部分的に基づいて、自動的に解除され得る。
図3は、切迫した意図される使用に基づいてコンピューティング・デバイスの所定の機能を開始するための例示的な方法を例示する。本方法は、コンピューティング・デバイスが複数のセンサ・タイプのコンピューティング・デバイスからリアルタイム・センサ・データを受信する、工程300において開始し得る。後述されるように、コンピューティング・デバイスは、センサ・データにおける遷移を決定するために、センサ・データの導関
数を計算し得る。限定ではなく例として、モバイル・コンピューティング・デバイスのプロセッサは、センサ・データを受信し、演算、例えば、センサ・データの導関数を時間の関数として計算することなどを実行し得る。特定の実施形態において、コンピューティング・デバイスのうちの1つのセンサは、異なるセンサ・タイプ、例えば、タッチ・センサ、加速度計、ジャイロスコープ、光学近接センサ、または、これらの任意の組合せなどを含む。
工程302は、コンピューティング・デバイスによって、異なるセンサ・タイプのセンサからのリアルタイム・センサ・データを相関させる。特定の実施形態において、プロセッサは、データが時間について重なり合うか否かを決定するために、センサ・データに対して畳み込み演算を適用し得る。例示的な畳み込み演算は、下記の方程式によって例示され得る。

Mは、複数のタイプのセンサからのデータの畳み込みの結果であり、f’およびg’は、センサからのデータの導関数である。例えば、f’は、加速度計によって測定されたデータの導関数であり得、g’は、タッチ・センサによって測定されたデータの導関数などであり得る。特定の実施形態において、畳み込み演算の結果は、異なるタイプのセンサからのセンサ・データにおける遷移が時間について重なり合うか否かを決定し得る。別の実施形態において、先験的な関数、例えば、ヘヴィサイド関数またはシグモイド関数などは、導関数演算子を置換し得る。限定ではなく例として、プロセッサは、第1のタイプのセンサ、例えば、タッチ・センサなどによって測定されるデータを、第2のタイプのセンサ、例えば、加速度計などによって測定されるデータで畳み込み得る。別の例として、モバイル・コンピューティング・デバイスのアプリケーション・プロセッサまたはセンサ・ハブは、第1のタイプのセンサ、例えば、タッチ・センサなどによって測定されるデータを、第2のタイプのセンサ、例えば、光学近接センサなどによって測定されるデータで畳み込み得る。工程304は、コンピューティング・デバイスによって、上記相関させることに基づいて、コンピューティング・デバイスの意図される切迫した使用を決定し得る。特定の実施形態において、時間について重なり合う、複数のセンサ・タイプのデータにおける遷移に少なくとも部分的に基づく。限定ではなく例として、コンピューティング・デバイスは、実質的に同時に発生するタッチ・センサおよび加速度計からのリアルタイム・センサ・データにおける遷移に少なくとも部分的に基づいて、コンピューティング・デバイスの切迫した意図される使用を決定し得る。
工程306において、コンピューティング・デバイスは、コンピューティング・デバイスの意図される切迫した使用の決定に少なくとも部分的に基づいて、コンピューティング・デバイスの所定の機能を自動的に開始し得る。この時点で、本方法は終了し得る。限定ではなく例として、所定の機能は、方程式(1)によって例示される畳み込み演算Mの結果が所定の閾値よりも大きいことに応答して、開始され得る。特定の実施形態において、所定の機能は、畳み込み演算の結果が所定の閾値よりも大きいことに応答して、センサに関連付けられているコンピューティング・デバイスをパワー・ダウンさせ得る。本開示は、図3の方法の特定の工程が特定の順序で発生するものとして説明および例示するが、本開示は、図3の方法の任意の適切な工程が任意の適切な順序で発生することを企図する。特定の実施形態は、適当な場合には、図3の方法の1または複数の工程を繰り返してもよ
い。さらに、本開示は、図3の方法の特定の工程を実施する特定のコンポーネントを説明および例示するが、本開示は、任意の適切なコンポーネントの任意の適切な組合せ、例えば、図3の方法の任意の適切な工程を実施する、モバイル・コンピューティング・デバイスのプロセッサなどを企図する。
図4A〜図4Bは、例示的なセンサ・データにおける遷移の例示的な検出を例示する。本開示は、特定の線形関数、例えば、導関数などを通じて、センサ・データを前処理することを説明するが、本開示は、ここでは任意の適切な線形関数、例えば、ヘヴィサイド関数またはシグモイド関数を用いる畳み込みなどを通じて、センサ・データを前処理することを企図する。特定の実施形態において、1または複数のセンサからのセンサ・データ52および54は、図4Aの例において44および46によって例示されるように、時間の関数として測定され得、センサ・データ52および54は、センサに関連付けられているコンピューティング・デバイスに関するユーザの意図を推定するために解析され得る。特定の実施形態において、特定のコンピューティング・デバイスに関するユーザの意図の推定は、複数のセンサ・タイプからのセンサ・データ52および54から実行され得る。限定ではなく例として、センサ・データ52は、モバイル・コンピューティング・デバイスのタッチ・センサによって測定されるデータであり得、センサ・データ54は、加速度計によって測定されるデータであり得る。さらに、本開示は、任意の適切な形式のセンサ・データ52および54、例えば、電流、電圧、電荷、または、これらの任意の組合せなどを企図する。
特定の実施形態において、コンピューティング・デバイスの意図される使用は、前述されたように、コンピューティング・デバイスに関連付けられているセンサによって測定される1つの状態から別の状態へのデータにおける遷移を通じて決定され得る。限定ではなく例として、センサ・データにおける遷移は、前述されたように、モバイル・コンピューティング・デバイスが拾い上げられ、使用されようとしていることを示し得る。特定の実施形態において、センサ・データ52および54における遷移は、図4Bの例において48および50によって例示されるように、センサ・データ52および54のそれぞれの導関数56および58を計算することに少なくとも部分的に基づいて、検出され得る。限定ではなく例として、センサ・データ52および54のそれぞれの導関数56および58における変化は、センサ・データ52および54における変化が比較的小さくなり得る場合には、期間49の間に検出可能であり得る。別の例として、センサ・データの導関数56および58は、前述されたように、コンピューティング・デバイスの意図される即時使用を決定するために、プロセッサへ提供され得る。
図5は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示す。ネットワーク環境100は、互いにネットワーク110によって接続されたユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を含む。図5は、ユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示すが、この開示は、ユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の好適な構成を企図する。限定するものとしてではなく一例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170の2以上は、ネットワーク110をバイパスして互いに直接的に接続されてもよい。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170の2以上が、全体として、または部分的に互いに物理的に、または論理的に同じ場所にあってもよい。さらに、図5は、特定の数のユーザ101、クライアント・システム130、ソーシャルネットワーキング
・システム160、サードパーティ・システム170、およびネットワーク110を示すが、この開示は、任意の好適な数のユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を企図する。限定するものとしてではなく一例として、ネットワーク環境100は、複数のユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含んでもよい。
特定の実施形態において、ソーシャルネットワーキング・システム160は、1または複数のサーバを含み得る。各サーバは、単一サーバ、または、複数のコンピュータもしくは複数のデータセンタに広がる分散サーバであり得る。サーバは、色々なタイプ、例えば、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、プロキシ・サーバ、本明細書において説明される機能もしくはプロセスを実行するために適切な別のサーバ、または、これらの任意の組合せなどであり得るが、これらに限定されない。特定の実施形態において、各サーバは、ハードウェア・コンポーネント、ソフトウェア・コンポーネント、もしくは埋め込みロジック・コンポーネント、または、サーバによって実装またはサポートされる適当な機能を実施するための2つ以上のそのようなコンポーネントの組合せを含み得る。特定の実施形態において、ソーシャルネットワーキング・システム164は、1または複数のデータ・ストアを含み得る。データ・ストアは、色々なタイプの情報を格納するために使用され得る。特定の実施形態において、データ・ストアに格納される情報は、具体的なデータ構造に従って体系化され得る。特定の実施形態において、各データ・ストアは、リレーショナル・データベース、カラム型データベース、相関関係データベース、または他の適切なデータベースであり得る。本開示は、特定のタイプのデータベースを説明または例示するが、本開示は、任意の適切なタイプのデータベースを企図する。特定の実施形態は、クライアント・システム130、ソーシャルネットワーキング・システム160、または第三者システム170が、データ・ストアに格納される情報を管理し、検索し、変更し、追加し、または削除することを可能にするインターフェースを提供し得る。
特定の実施形態において、前述されたように、クライアント・システム130から受信されるセンサ・データは、機械学習アルゴリズム、例えば、ソーシャルネットワーキング・システム160上で実行されるSVM、k平均、ベイズ推論、またはニューラル・ネットワークなどのためのトレーニング・データとして機能し得る。限定ではなく例として、ソーシャルネットワーキング・システム160の1または複数のサーバは、クライアント・システム130(例えば、モバイル・コンピューティング・デバイス)のうちの1または複数からトレーニング・データを受信し、クライアント・システム130を使用する特定のアクティビティからのセンサ・データ値とクライアント・システム130の1または複数の特定の状態とを相関させるために、機械学習アルゴリズムを使用し得る。限定ではなく例として、機械学習アルゴリズムを実行する1または複数のサーバは、クライアント・システム130のセンサ、例えば、1または複数のクライアント・システム130の加速度計、ジャイロスコープ、環境光センサ、光学近接センサ、または別のセンサなどからのセンサ値を受信し得る。特定の実施形態において、トレーニング・データから決定される超平面を定義するデータは、クライアント・システム130の切迫した意図される使用を決定するために、クライアント・システム130へ送られ得る。特定の実施形態において、後続のセンサ・データは、超平面を再定義するために、モバイル・コンピューティング・デバイス10によって送られ得る。さらに、超平面を再定義する更新済みデータは、モバイル・コンピューティング・デバイス10によって受信され得る。
特定の実施形態では、ユーザ101は、ソーシャルネットワーキング・システム160
と、またはソーシャルネットワーキング・システム160を通じて対話、すなわち通信する個人(人間のユーザ)、エンティティ(たとえば、企業、事業者、またはサードパーティ・アプリケーション)、または(たとえば、個人またはエンティティの)グループであってよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャルネットワーキング・システム160は、たとえばユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の好適なデータなど、ソーシャル・ネットワーキング・データを生成、記憶、受信、および送信する。ソーシャルネットワーキング・システム160は、ネットワーク環境100の他の構成要素によって、直接的に、またはネットワーク110を通じてアクセスされてもよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、ユーザ101がたとえば適切なプライバシ設定を設定することによってなど、自分達のアクションをソーシャルネットワーキング・システム160によって記録させる、または他のシステム(たとえば、サードパーティ・システム170)と共有させることについてオプトインまたはオプトアウトすることを可能にする認可サーバ(または他の適切な構成要素)を含んでもよい。ユーザのプライバシ設定は、そのユーザに関連付けられているどの情報が記録されるか、そのユーザに関連付けられている情報がどのように記録されるか、そのユーザに関連付けられている情報がいつ記録されるか、そのユーザに関連付けられている情報を誰が記録するか、そのユーザに関連付けられている情報が誰と共有されるか、およびそのユーザに関連付けられている情報が何の目的で記録され共有されるかを決定することができる。認可サーバは、ブロッキング、データのハッシュ化、匿名化、または他の適切な技術を通じて、ソーシャルネットワーキング・システム160のユーザの1以上のプライバシ設定を適切に実施するために用いられる。サードパーティ・システム170は、ネットワーク環境100の他の構成要素によって、直接的に、またはネットワーク110を通じてアクセスされてもよい。特定の実施形態では、1または複数のユーザ101が1または複数のクライアント・システム130を使用し、ソーシャルネットワーキング・システム160またはサードパーティ・システム170にアクセスし、データを送り、それらからデータを受信してもよい。クライアント・システム130は、ソーシャルネットワーキング・システム160またはサードパーティ・システム170に直接的に、ネットワーク110を通じて、またはサードパーティ・システムを通じてアクセスしてもよい。限定するものとしてではなく一例として、クライアント・システム130は、サードパーティ・システム170にソーシャルネットワーキング・システム160を通じてアクセスしてもよい。クライアント・システム130は、たとえばパーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなど、任意の好適なコンピューティング・デバイスであってよい。
この開示は、任意の好適なネットワーク110を企図する。限定するものとしてではなく一例として、ネットワーク110の1または複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、携帯電話ネットワーク、またはこれらの2以上の組合せを含んでもよい。ネットワーク110は、1または複数のネットワーク110を含んでもよい。
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続する。この開示は、任意の好適なリンク150を企図する。特定の実施形態では、1または複数のリンク150は、1または複数の有線(たとえば、デジタル加入者
線(DSL)またはDOCSIS(Data Over Cable Service Interface Specification)など)、無線(たとえば、Wi−FiまたはWiMAX(Worldwide interoperability for
Microwave Access)など)、または光(たとえば、同期光ネットワーク(SONET)または同期デジタル・ハイアラーキ(SDH)など)リンクを含む。特定の実施形態では、1または複数のリンク150は、それぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク150、または2以上のそのようなリンク150の組合せを含む。リンク150は、必ずしもネットワーク環境100全体を通じて同じであることを必要としない。1または複数の第1のリンク150は、1または複数の点で1または複数の第2のリンク150と異なってもよい。
図6は、例示的な機械学習アルゴリズムを使用した、センサ・データの例示的な分類を例示する。前述されたように、クライアント・システム、例えば、モバイル・コンピューティング・デバイスの1または複数のセンサからのトレーニング・データは、特定のアクティビティの実行中にキャプチャされる各センサからのセンサ・データと、その特定のアクティビティに関連付けられている、クライアント・システムの特定の状態に対応するインジケータ情報とを含み得る。限定ではなく例として、センサ・データは、センサからの生(処理前)の測定データ、または、前述されたように、例えば、生のセンサ・データの導関数を計算するためなどに、前処理されたセンサ・データであり得る。さらに、センサ・データは、クライアント・システムの物理的状態における遷移(例えば、移動)に対応し得る。特定の実施形態において、センサ・データは、例えば、フィルタリング演算または畳み込み演算などを通じて、さらに処理され得る。限定ではなく例として、各特定のアクティビティからのトレーニング・データは、前述されたように、センサ・データの各セットに関連付けられているインジケータ情報に少なくとも部分的に基づいて、クライアント・デバイスに関連付けられている2つの特定の状態のうちの1つに分類され得る。例えば、センサ・データの1または複数のセットは、モバイル・コンピューティング・デバイスとの物理的接触に関連付けられているアクティビティ、例えば、モバイル・コンピューティング・デバイスを保持することに対応し得、センサ・データの1または複数のセットは、モバイル・コンピューティング・デバイスとの物理的接触に関連付けられていないアクティビティ、例えば、モバイル・コンピューティング・デバイスをテーブル上に置いておくことに対応し得る。
図6の例に例示されるように、各特定のアクションについてのトレーニング・データは、N次元空間200におけるベクトル202A〜202Bとして表され得る。ここで、Nは、クライアント・システムのセンサの数に等しくなり得る。限定ではなく例として、各ベクトル202A〜202Bは、カーネル関数を通じてN次元空間200にマッピングされ得る。さらに、各ベクトル202A〜202Bは、センサ・データの導関数のNタプルに少なくとも部分的に基づき得る。図6の例に例示されるように、ベクトル202A〜202Bは、N次元空間200における超平面206または非線形表面によって分離される、クライアント・システムに関連付けられている2つの特定の状態のうちの1つに分類され得る。特定の実施形態において、超平面206はN−1次元を有し、各状態の1または複数のサポート・ベクトルとの一定なドット積を有する点のセットによって定義され得る。限定ではなく例として、サポート・ベクトルは、最大の導関数を有する各特定の状態についてのベクトルとして定義され得、超平面206と各サポート・ベクトルとの間の距離は、最大化され得る。特定の実施形態において、超平面206を定義するデータは、クライアント・システムへ送られ得る。特定の実施形態において、超平面206は、クライアント・システムから受信される後続のセンサ・データから決定される後続のベクトルに基づいて、変更され得る。さらに、超平面206を再定義する更新済みデータは、クライア
ント・システムへ送られ得る。
特定の実施形態において、クライアント・システムの切迫した使用は、クライアント・システムからの後続のセンサ・データに対応するベクトルの、クライアント・システムの特定の状態への分類に少なくとも部分的に基づいて、クライアント・システムによって決定され得る。特定の実施形態において、後続のセンサ・データに対応するベクトルの分類は、超平面206に対するベクトルの位置に少なくとも部分的に基づき得る。限定ではなく例として、クライアント・システムのユーザがクライアント・システムを使用することを意図することは、後続のセンサ・データに対応するベクトルがクライアント・システムとの物理的接触に対応する状態に分類されること、例えば、ベクトル202Aによって定義されることなどに少なくとも部分的に基づいて、推定され得る。さらに、クライアント・システムの切迫した使用は、ベクトルが超平面206のベクトル202Aと同じ側に存在する場合に、クライアント・システムとの物理的接触に対応すると決定され得る。そうでない場合、後続のベクトルが、超平面206のベクトル202Bと同じ側に位置する場合、クライアント・システムは実質的に動いていないと決定され得る。特定の実施形態において、クライアント・システムのプロセッサは、後続のベクトルをクライアント・システムの特定の状態に分類することに少なくとも部分的に基づいて、クライアント・システムの所定の機能を開始し得る。
図7は、センサ・データがクライアント・システムの所定の使用に対応するか否かを決定する例示的な方法を例示する。本方法は、コンピューティング・デバイスがそのコンピューティング・デバイス上のセンサからリアルタイム・センサ・データを受信する、工程310において開始し得る。特定の実施形態において、リアルタイム・センサ・データは、コンピューティング・デバイスのユーザによって引き起こされる、コンピューティング・デバイスの物理的状態における遷移に対応し得る。工程312は、コンピューティング・デバイスによって、各センサからのリアルタイム・センサ・データに対して線形関数を適用する。限定ではなく例として、線形関数は、フィルタリング関数、導関数、ヘヴィサイド関数もしくはシグモイド関数の畳み込み、または、これらの任意の組合せを備え得る。さらに、モバイル・コンピューティング・デバイスのプロセッサは、センサ・データを受信し、演算、例えば、センサ・データの導関数を時間の関数として計算することなどを実行し得る。工程314は、コンピューティング・デバイスによって、導関数のタプルに基づいてベクトルを決定する。特定の実施形態において、タプルは、センサの数に等しい次元を有し得る。工程316において、コンピューティング・デバイスは、ベクトルと所定の超平面とを比較し得る。前述されたように、超平面は、コンピューティング・デバイスのセンサの数よりも1つ少ない次元を有し得る。
工程318において、コンピューティング・デバイスは、上記比較に基づいて、遷移がコンピューティング・デバイスの所定の切迫した使用のいずれかに対応するイベントであるか否かを決定し得る。この時点で、本方法は終了し得る。特定の実施形態において、この決定は、所定の超平面に対するベクトルの位置を決定することを通じて行われ得る。本開示は、図7の方法の特定の工程を特定の順序で発生するものとして説明および例示するが、本開示は、図7の方法の任意の適切な工程が任意の適切な順序で発生することを企図する。特定の実施形態は、適当な場合には、図7の方法の1または複数の工程を繰り返してもよい。さらに、本開示は、図7の方法の特定の工程を実施する特定のコンポーネントを説明および例示するが、本開示は、任意の適切なコンポーネントの任意の適切な組合せ、例えば、図7の方法の任意の適切な工程を実施する、モバイル・コンピューティング・デバイスのプロセッサなどを企図する。
図8は、例示的な射影の計算を通じた、センサ・データの成分の例示的な分離を例示する。特定の実施形態において、センサ・データをN次元の空間200にマッピングするこ
とは、センサ・データの特定の成分を分離するために使用され得る。限定ではなく例として、ある程度の空間的な重なりを有する、1つのセンサから別のセンサへの線形依存性は、後述されるように、1つのセンサから別のセンサへのデータの射影84Aの決定を通じて低減され得る。特定の実施形態において、モバイル・コンピューティング・デバイスは、図1の例に例示されるように、モバイル・コンピューティング・デバイスの複数のロケーションにおいて複数のタッチ・センサを含み得る。限定ではなく例として、モバイル・コンピューティング・デバイスは、モバイル・コンピューティング・デバイスのある側面に沿ったカバレッジを有したタッチ感応領域を有する第1のタッチ・センサと、2つ以上の面(例えば、側面と底面)の少なくとも一部を含み得るタッチ感応領域を有する第2のタッチ・センサとを含み得る。別の例として、ある程度の時間的分離を有する、センサ・データの線形依存性は、センサ・データの射影の決定を通じて低減され得る。例えば、現在のセンサ・データの一部は、過去の定常状態条件に対応するベクトルへの、現在のセンサ・データに対応するベクトルの射影を決定することに少なくとも部分的に基づいて、分離され得る。
さらに、クライアント・システムの切迫した使用は、射影84Aまたは84Bを解析することによって決定され得る。限定ではなく例として、クライアント・システムからのセンサ・データは、1または複数の空間的に重なるセンサからの時間的に分離されたデータであり、クライアント・システムの定常状態条件からの遷移に対応し得る。特定の実施形態において、射影は、生の測定データ、または、前述されたように、例えば、生のセンサ・データの導関数を計算することなどによって、前処理されたセンサ・データを使用して計算され得る。さらに、センサ・データは、例えば、フィルタリング演算または畳み込み演算などを通じて、さらに処理され得る。特定の実施形態において、特定の時間にキャプチャされたセンサ・データの各々は、N次元空間200におけるベクトル80および82として表され得る。ここで、Nは、クライアント・システムのセンサの数に等しくなり得る。限定ではなく例として、各ベクトル80および82は、カーネル関数を通じてN次元空間200にマッピングされ得る。さらに、各ベクトル80および82は、センサ・データの導関数のNタプルに少なくとも部分的に基づき得る。
特定の実施形態において、リアルタイム・センサ・データに対応するベクトル82への、定常状態条件に対応するベクトル80の射影84Aは、ベクトル80および82のドット積に少なくとも部分的に基づいて、決定され得る。図4の例に例示されるように、ベクトル80および82は、クライアント・システムのセンサ・データの導関数であり得る。特定の実施形態において、時間的に分離された測定からベクトル80と異なるベクトル82の1または複数の成分は、ベクトル80へのベクトル82の射影84Aによって分離され得る。ベクトル80へのベクトル82の射影84Aの例示的な計算は、下記の方程式によって例示され得る。

また、原点に平行移動された、ベクトル80へのベクトル82の射影84Bの例示的な計算は、下記の方程式によって例示され得る。

80は、定常状態条件に関連付けられているベクトルであり、|80|は、ベクトル80の大きさであり、θは、ベクトル80および82によって形成される角度である。
限定ではなく例として、定常状態条件(すなわち、空間200のベクトル80)は、ある面(例えば、テーブル)上に置いてあり得るモバイル・コンピューティング・デバイスに対応し得、リアルタイム・データ(すなわち、ベクトル82)は、モバイル・コンピューティング・デバイスを拾い上げることに関連付けられている物理的接触に対応し得る。さらに、ベクトル80への射影84Aは、方程式(2)によって例示されるように、ドット積を通じて計算され得る。特定の実施形態において、図8の例の84Bによって例示されるように、射影84Aは、後述されるように、クライアント・システムに関するユーザの意図を推定するために、N次元空間200の原点に平行移動され得る。
さらに、クライアント・システムに関するユーザの意図は、射影84Bの解析に少なくとも部分的に基づいて、推定され得る。特定の実施形態において、射影84Bは、前述されたように、クライアント・システムの予め定義された切迫した使用に分類され得る。特定の実施形態において、射影84Bは、クライアント・システムの切迫した使用に対応する予め定義された射影と比較され得る。限定ではなく例として、特定のクライアント・システムのユーザがそのクライアント・システムを使用することを意図することは、射影84Bがクライアント・システムとの物理的接触に対応する状態に分類されることに少なくとも部分的に基づいて、決定され得る。前述されたように、クライアント・システムのプロセッサは、射影84Bの解析に少なくとも部分的に基づいてユーザの意図を推定することに少なくとも部分的に基づいて、クライアント・システムの所定の機能を開始し得る。
図9は、センサ・データの成分を分離する例示的な方法を例示する。本方法は、コンピューティング・デバイスがそのコンピューティング・デバイス上のセンサからリアルタイム・センサ・データを受信する、工程320において開始し得る。特定の実施形態において、センサは、コンピューティング・デバイスの複数の面に位置し得る。工程322は、コンピューティング・デバイスによって、定常状態からのリアルタイム・センサ・データにおける遷移を検出する。限定ではなく例として、モバイル・コンピューティング・デバイスのプロセッサは、センサ・データを受信し、演算、例えば、センサ・データの導関数を時間の関数として計算することなどを実行し得る。工程324において、コンピューティング・デバイスは、上記検出に基づいて、コンピューティング・デバイスの切迫した使用を決定し得る。この時点で、本方法は終了し得る。特定の実施形態において、コンピューティング・デバイスは、導関数のタプルに基づいてベクトルを決定することと、コンピューティング・デバイスの定常状態のベクトルへの、リアルタイム・センサ・データのベクトルの射影を計算することとを含み得る。特定の実施形態において、上記決定は、上記射影と1または複数の切迫した使用に対応する所定の射影とを比較することを通じて行われ得る。本開示は、図9の方法の特定の工程を特定の順序で発生するものとして説明および例示するが、本開示は、図9の方法の任意の適切な工程が任意の適切な順序で発生することを企図する。特定の実施形態は、適当な場合には、図9の方法の1または複数の工程を繰り返してもよい。さらに、本開示は、図9の方法の特定の工程を実施する特定のコンポーネントを説明および例示するが、本開示は、任意の適切なコンポーネントの任意の適切な組合せ、例えば、図9の方法の任意の適切な工程を実施する、モバイル・コンピュー
ティング・デバイスのプロセッサなどを企図する。
図5は、例示的なコンピューティング・システム60を示す。特定の実施形態では、1または複数のコンピュータ・システム60は、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施する。特定の実施形態では、1または複数のコンピュータ・システム60は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、1または複数のコンピュータ・システム60上で動作するソフトウェアは、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、1または複数のコンピュータ・システム60の1または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを包含してもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、1または複数のコンピュータ・システムを包含してもよい。
この開示は、任意の好適な数のコンピュータ・システム60を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム60を企図する。限定するものとしてではなく一例として、コンピュータ・システム60は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル・コンピューティング・システム10、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2以上の組合せであってよい。適切な場合、コンピュータ・システム60は、1または複数のコンピュータ・システム60を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータセンタに跨ってもよく、クラウド内にあってもよく、クラウドは、1または複数のネットワーク内で1または複数のクラウド・コンポーネントを含んでもよい。適切な場合、1または複数のコンピュータ・システム60は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。限定するものとしてではなく一例として、1つまたは複数のコンピュータ・システム60は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。1または複数のコンピュータ・システム60は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。
特定の実施形態では、コンピュータ・システム60は、プロセッサ62、メモリ64、ストレージ66、入力/出力(I/O)インターフェース68、通信インターフェース70、およびバス72を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。
特定の実施形態では、プロセッサ62は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ62は、内部レジスタ、内部キャッシュ、メモリ64、またはストレージ66から命令を取り出し(またはフェッチし)、それらを復号および実行し、次いで、1または複数の結果を内部レジスタ、内部キャッシュ、メモリ64、ま
たはストレージ66に書き込む。特定の実施形態では、プロセッサ62は、データ、命令、またはアドレス用に1または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ62を企図する。限定するものとしてではなく一例として、プロセッサ62は、1または複数の命令キャッシュ、1または複数のデータ・キャッシュ、および1または複数の変換索引バッファ(TLB)を含んでもよい。命令キャッシュ内の命令は、メモリ64またはストレージ66内の命令のコピーであってもよく、命令キャッシュは、プロセッサ62によるこれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ62にて実行される命令が操作するための、メモリ64またはストレージ66内のデータのコピー、プロセッサ62で実行される後続の命令によるアクセスための、またはメモリ64もしくはストレージ66に書き込むための、プロセッサ62で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ62による読出しまたは書込み動作を高速化する。TLBは、プロセッサ62のために仮想アドレス変換を高速化する。特定の実施形態では、プロセッサ62は、データ、命令、またはアドレス用に1または複数の内部レジスタを含む。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ62を企図する。適切な場合、プロセッサ62は、1または複数の算術論理演算ユニット(ALU)を含むことができ、マルチコア・プロセッサであってもよく、1または複数のプロセッサ62を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ64は、プロセッサ62が実行するための命令、またはプロセッサ62が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム60は、ストレージ66または別のソース(たとえば、別のコンピュータ・システム60など)からメモリ64に命令をロードする。次いで、プロセッサ62は、メモリ64から内部レジスタまたは内部キャッシュに命令をロードする。命令を実行するために、プロセッサ62は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号する。命令の実行中、または実行後、プロセッサ62は、1または複数の結果(中間結果であることも最終結果であることもある)を内部レジスタまたは内部キャッシュに書き込む。次いで、プロセッサ62は、それらの結果の1または複数をメモリ64に書き込む。特定の実施形態では、プロセッサ62は、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ66もしくは他の場所ではなく)メモリ64内の命令だけを実行し、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ806もしくは他の場所ではなく)メモリ64内のデータだけを操作する。1または複数のメモリ・バス(それぞれがアドレス・バスとデータ・バスを含むことがある)がプロセッサ62をメモリ64に結合してもよい。バス72は、下記に記載されているように、1または複数のメモリ・バスを含んでもよい。特定の実施形態では、1または複数のメモリ管理ユニット(MMU)が、プロセッサ62とメモリ64との間に存在し、プロセッサ62によって要求されるメモリ64へのアクセスを容易にする。特定の実施形態では、メモリ64は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であってよい。さらに、適切な場合、このRAMは、シングルポート型またはマルチポート型RAMであってよい。この開示は、任意の好適なRAMを企図する。メモリ64は、適切な場合、1または複数のメモリ64を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。
特定の実施形態では、ストレージ66は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ66は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)ディスク・ドライブ、フラッシュ・メモリ、
光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらの2以上の組合せを含んでもよい。ストレージ66は、適切な場合、取外し式または非取外し式(または固定)媒体を含んでもよい。ストレージ66は、適切な場合、コンピュータ・システム60に対して内部であっても外部であってもよい。特定の実施形態では、ストレージ66は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ66は、読出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムドROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、もしくはフラッシュ・メモリ、またはこれらの2以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ66を企図する。ストレージ66は、適切な場合、プロセッサ62とストレージ66の間の通信を容易にする1または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ66は、1または複数のストレージ66を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース68は、コンピュータ・システム60と1または複数のI/Oデバイスとの間の通信のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム60は、適切な場合、これらのI/Oデバイスの1または複数を含んでもよい。これらのI/Oデバイスの1または複数は、人とコンピュータ・システム60の間の通信を可能にする。限定するものとしてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオ・カメラ、別の好適なI/Oデバイス、またはこれらの2以上の組合せを含んでもよい。I/Oデバイスは、1または複数のセンサを含んでもよい。この開示は、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインターフェース68を企図する。適切な場合、I/Oインターフェース68は、プロセッサ62がこれらのI/Oデバイスの1または複数を駆動することを可能にする1または複数のデバイスまたはソフトウェア・ドライバを含む。I/Oインターフェース68は、適切な場合、1または複数のI/Oインターフェース68を含んでもよい。この開示は、特定のI/Oインターフェースについて記載し示しているが、この開示は、任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース70は、コンピュータ・システム60と1もしくは複数の他のコンピュータ・システム60または1もしくは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インターフェース70は、ETHERNET(登録商標)もしくは他の有線ベースのネットワークとの通信のためのインターフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなど無線ネットワークとの通信のための無線NIC(WNIC)もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インターフェース70を企図する。限定するものとしてではなく一例として、コンピュータ・システム60は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1もしくは複数の部分、あるいはこれらの2以上の組合せと通信する。これらのネットワークの1または複数のうちの1または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム60は、無線PAN(WPAN)(たとえば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネ
ットワーク、携帯電話ネットワーク(たとえば、グローバル移動体通信システム(GSM(登録商標))ネットワークなど)、もしくは他の好適な無線ネットワーク、またはこれらの2以上の組合せと通信する。コンピュータ・システム60は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース70を含んでもよい。通信インターフェース70は、適切な場合、1または複数の通信インターフェース70を含んでもよい。この開示は、特定の通信インターフェースについて記載し示しているが、この開示は、任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス72は、コンピュータ・システム60の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス72は、アクセラレィティッド・グラフィックス・ポート(AGP)もしくは他のグラフィックス・バス、EISA(Enhanced Industry Standard Architecture)バス、フロントサイド・バス(FSB)、HT(HYPERTRANSPORT)相互接続、ISA(Industry Standard Architecture)バス、インフィニバンド相互接続、LPC(low−pin−count)バス、メモリ・バス、MCA(Micro Channel
Architecture)バス、PCI(Peripheral Component Interconnect)バス、PCIエクスプレス(PCIe)バス、SATA(serial advanced technology attachment)バス、VLB(Video Electronics Standards Association local)バス、もしくは別の好適なバス、またはこれらの2以上の組合せを含んでもよい。バス72は、適切な場合、1または複数のバス72を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。
本明細書では、1または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、1または複数の半導体ベースの、もしくは他の集積回路(IC)(たとえば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC))、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはセキュア・デジタル・ドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの2以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
本明細書では、「または(もしくは)」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的(inclusive)であり、排他的なものではない。したがって、本明細書では、「AまたはB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「A、B、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「AおよびB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「AおよびBを共同で、または個別的に」意味する。
この開示の範囲は、当業者であれば理解するであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定
の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、オンにされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。

Claims (20)

  1. コンピューティング・デバイスが、前記コンピューティング・デバイスの複数のセンサからのセンサ・データを受信する工程であって、前記センサ・データは、前記コンピューティング・デバイスに関連付けられている特定の状態に対応する、工程と、
    前記コンピューティング・デバイスが、受信した前記センサ・データに対応するベクトルを決定するベクトル決定工程と、
    前記コンピューティング・デバイスが、所定の超平面を定義するデータを受信する工程であって、所定の超平面を定義する前記データは、前記所定の超平面とサポート・ベクトルとの間の距離を最大化するデータであり、前記所定の超平面は、前記コンピューティング・デバイスの複数の差し迫った使用に対応する、工程と、
    前記コンピューティング・デバイスが、前記ベクトルを前記所定の超平面と比較する工程と
    前記コンピューティング・デバイスが、前記ベクトルと前記所定の超平面との前記比較に基づいて、前記コンピューティング・デバイスに関連付けられている特定の状態が前記コンピューティング・デバイスの複数の差し迫った使用のうちの特定の1つに対応するか否かを決定するイベント決定工程と
    を備える、方法。
  2. 記超平面は、複数のコンピューティング・デバイスからのセンサ・データを分類することによって決定される、請求項1に記載の方法。
  3. 複数のコンピューティング・デバイスからの更新済みセンサ・データに少なくとも部分的に基づいて前記超平面を再定義する更新済みデータを受信する工程をさらに備える、請求項1に記載の方法。
  4. 前記ベクトルの決定は、各センサからの受信した前記センサ・データの導関数を計算することを含む、請求項1に記載の方法。
  5. 前記ベクトルは、受信した前記センサ・データのタプルを含む、請求項1に記載の方法。
  6. 前記コンピューティング・デバイスに関連付けられている特定の状態が前記コンピューティング・デバイスの前記複数の差し迫った使用のうちの前記特定の1つに対応するか否かの決定は、前記ベクトルの位置が前記超平面の、前記複数の差し迫った使用のうちの前記特定の1つに関連付けられているトレーニング・データと同じ側に存在するか否かを決定することを含む、請求項1に記載の方法。
  7. 前記トレーニング・データは、複数のコンピューティング・デバイスのセンサからの値の配列と、各コンピューティング・デバイスの前記複数の差し迫った使用のうちの1つに対応する状態値とを含む、請求項6に記載の方法。
  8. 受信した前記センサ・データをフィルタリング演算または畳み込み演算を用いて処理する工程をさらに備える、請求項1に記載の方法。
  9. 前記超平面は、サポート・ベクトル・マシン(SVM)、k平均、ベイズ推論、またはニューラル・ネットワーク・アルゴリズムを含む機械学習アルゴリズムを用いて生成される、請求項1に記載の方法。
  10. 前記超平面は、前記複数の差し迫った使用のうちの1つに対応するセンサ・データを各々表す複数のサポート・ベクトルを計算することによって決定される、請求項1に記載の方法。
  11. 前記超平面は、前記複数の差し迫った使用のうちのそれぞれ1つを表す前記サポート・ベクトルとの一定なドット積を有する点のセットによって定義される、請求項10に記載の方法。
  12. 前記ベクトルが非イベントであるか否かを決定する工程をさらに備える、請求項1に記載の方法。
  13. 前記コンピューティング・デバイスに関連付けられている前記特定の状態が前記複数の差し迫った使用のうちの前記特定の1つに対応するか否かの決定に基づき、前記コンピューティング・デバイスの所定の機能を開始する工程をさらに備える、請求項1に記載の方法。
  14. 前記所定の機能は、前記コンピューティング・デバイスをオンにすること、前記コンピューティング・デバイスのロックを解除すること、または前記コンピューティング・デバイスを電力節約状態から戻すことを含む、請求項13に記載の方法。
  15. 前記コンピューティング・デバイスは、モバイル・コンピューティング・デバイスであり、
    前記複数の差し迫った使用のうちの前記特定の1つは、ユーザと前記モバイル・コンピューティング・デバイスとの間の物理的な接触に対応する、
    請求項1に記載の方法。
  16. 前記センサのうちの1または複数は、タッチ・センサ、ジャイロスコープ、加速度計、光学近接センサ、または環境光センサを含む、請求項1に記載の方法。
  17. センサ・データの第1のセットは、前記コンピューティング・デバイスとの物理的接触に関連付けられているアクティビティに対応し、センサ・データの第2のセットは、前記コンピューティング・デバイスとの物理的接触に関連付けられていないアクティビティに対応する、請求項1に記載の方法。
  18. 前記ベクトルの次元は、前記複数のセンサの数に対応する、請求項1に記載の方法。
  19. ソフトウェアを具現する1または複数の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは、実行時、
    コンピューティング・デバイスの複数のセンサからのセンサ・データを受信する工程であって、前記センサ・データは、前記コンピューティング・デバイスに関連付けられている特定の状態に対応する、工程と、
    受信した前記センサ・データに対応するベクトルを決定するベクトル決定工程と、
    所定の超平面を定義するデータを受信する工程であって、所定の超平面を定義する前記データは、前記所定の超平面とサポート・ベクトルとの間の距離を最大化するデータであり、前記所定の超平面は、前記コンピューティング・デバイスの複数の差し迫った使用に対応する、工程と、
    前記ベクトルを前記所定の超平面と比較する工程と、
    前記ベクトルと前記所定の超平面との前記比較に基づいて、前記コンピューティング・デバイスに関連付けられている特定の状態が前記コンピューティング・デバイスの複数の差し迫った使用のうちの特定の1つに対応するか否かを決定するイベント決定工程と
    を行うように構成されている、媒体。
  20. プロセッサと、
    前記プロセッサに結合されソフトウェアを具現する1または複数の非一時的なコンピュータ可読記憶媒体と、
    を備えるデバイスであって、前記ソフトウェアは、
    コンピューティング・デバイスの複数のセンサからのセンサ・データを受信する工程であって、前記センサ・データは、前記コンピューティング・デバイスに関連付けられている特定の状態に対応する、工程と、
    受信した前記センサ・データに対応するベクトルを決定するベクトル決定工程と、
    前記コンピューティング・デバイスが、所定の超平面を定義するデータを受信する工程であって、所定の超平面を定義する前記データは、前記所定の超平面とサポート・ベクトルとの間の距離を最大化するデータであり、前記所定の超平面は、前記コンピューティング・デバイスの複数の差し迫った使用に対応する、工程と、
    前記ベクトルを前記所定の超平面と比較する工程と
    前記ベクトルと前記所定の超平面との前記比較に基づいて、前記コンピューティング・デバイスに関連付けられている特定の状態が前記コンピューティング・デバイスの複数の差し迫った使用のうちの特定の1つに対応するか否かを決定するイベント決定工程と
    を行うように構成されている、デバイス。
JP2017055735A 2013-07-12 2017-03-22 掴み検出の較正 Expired - Fee Related JP6416962B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/941,289 2013-07-12
US13/941,289 US9372103B2 (en) 2013-07-12 2013-07-12 Calibration of grab detection

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016525473A Division JP6117438B2 (ja) 2013-07-12 2014-07-10 掴み検出の較正

Publications (2)

Publication Number Publication Date
JP2017182800A JP2017182800A (ja) 2017-10-05
JP6416962B2 true JP6416962B2 (ja) 2018-10-31

Family

ID=52277778

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016525473A Active JP6117438B2 (ja) 2013-07-12 2014-07-10 掴み検出の較正
JP2017055735A Expired - Fee Related JP6416962B2 (ja) 2013-07-12 2017-03-22 掴み検出の較正

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016525473A Active JP6117438B2 (ja) 2013-07-12 2014-07-10 掴み検出の較正

Country Status (10)

Country Link
US (3) US9372103B2 (ja)
EP (1) EP3019934B1 (ja)
JP (2) JP6117438B2 (ja)
KR (2) KR102068541B1 (ja)
CN (2) CN107422790B (ja)
AU (2) AU2014287240B2 (ja)
CA (2) CA2955848C (ja)
IL (2) IL243505A (ja)
MX (1) MX349635B (ja)
WO (1) WO2015006523A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372103B2 (en) * 2013-07-12 2016-06-21 Facebook, Inc. Calibration of grab detection
US20160320850A1 (en) * 2015-04-29 2016-11-03 Samsung Electronics Co., Ltd. User interface control using impact gestures
JPWO2019017099A1 (ja) * 2017-07-20 2020-07-16 ソニー株式会社 電子機器、情報処理装置及び情報処理方法
JP6963450B2 (ja) 2017-09-22 2021-11-10 三菱パワー株式会社 回転機械の制御装置、回転機械設備、回転機械の制御方法、及び回転機械の制御プログラム
CN109491525B (zh) * 2018-11-13 2022-04-01 宁波视睿迪光电有限公司 实现交互笔低功耗的方法及装置
CN113487674B (zh) * 2021-07-12 2024-03-08 未来元宇数字科技(北京)有限公司 一种人体位姿估计系统和方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5911011A (en) * 1997-02-28 1999-06-08 Canon Kabushiki Kaisha Multidimensional close neighbor search
JP2003141498A (ja) * 2001-10-30 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> 解答抽出方法、装置、プログラム、および同プログラムを記録した記録媒体
KR100668341B1 (ko) * 2005-06-29 2007-01-12 삼성전자주식회사 사용자의 파지 형태를 이용한 휴대용 단말기의 기능 입력방법 및 장치.
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
US20090265671A1 (en) 2008-04-21 2009-10-22 Invensense Mobile devices with motion gesture recognition
US20090017910A1 (en) * 2007-06-22 2009-01-15 Broadcom Corporation Position and motion tracking of an object
US8942764B2 (en) * 2007-10-01 2015-01-27 Apple Inc. Personal media device controlled via user initiated movements utilizing movement based interfaces
US8836502B2 (en) * 2007-12-28 2014-09-16 Apple Inc. Personal media device input and output control based on associated conditions
US8971565B2 (en) * 2008-05-29 2015-03-03 Hie-D Technologies, Llc Human interface electronic device
FI20095570L (fi) * 2009-05-22 2009-09-11 Valtion Teknillinen Kontekstin tunnistaminen mobiiliaitteissa
US9398536B2 (en) 2009-05-29 2016-07-19 Qualcomm Incorporated Method and apparatus for movement detection by evaluating elementary movement patterns
JP5356923B2 (ja) 2009-06-11 2013-12-04 Kddi株式会社 携帯端末装置の移動状態を推定する方法及びシステム
WO2010151183A1 (en) * 2009-06-23 2010-12-29 Telefonaktiebolaget L M Ericsson (Publ) Method and an arrangement for a mobile telecommunications network
US8847880B2 (en) * 2009-07-14 2014-09-30 Cywee Group Ltd. Method and apparatus for providing motion library
US9690386B2 (en) 2009-07-14 2017-06-27 Cm Hk Limited Method and apparatus for performing motion recognition using motion sensor fusion, and associated computer program product
US8432368B2 (en) * 2010-01-06 2013-04-30 Qualcomm Incorporated User interface methods and systems for providing force-sensitive input
US8335935B2 (en) * 2010-03-29 2012-12-18 Intel Corporation Power management based on automatic workload detection
US8874129B2 (en) * 2010-06-10 2014-10-28 Qualcomm Incorporated Pre-fetching information based on gesture and/or location
US8913056B2 (en) * 2010-08-04 2014-12-16 Apple Inc. Three dimensional user interface effects on a display by using properties of motion
US9229489B2 (en) * 2011-05-03 2016-01-05 Facebook, Inc. Adjusting mobile device state based on user intentions and/or identity
CN102288398B (zh) * 2011-05-16 2013-04-10 南京航空航天大学 基于支持向量机的动量轮故障检测装置及方法
US9372103B2 (en) * 2013-07-12 2016-06-21 Facebook, Inc. Calibration of grab detection
US9393693B1 (en) * 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices

Also Published As

Publication number Publication date
AU2017201926A1 (en) 2017-04-13
AU2014287240B2 (en) 2017-04-13
CN105531645B (zh) 2017-07-14
US10742798B1 (en) 2020-08-11
US20150019153A1 (en) 2015-01-15
CN105531645A (zh) 2016-04-27
JP2016532186A (ja) 2016-10-13
WO2015006523A1 (en) 2015-01-15
AU2014287240A1 (en) 2016-03-03
KR20170039765A (ko) 2017-04-11
US10582038B2 (en) 2020-03-03
CA2917970A1 (en) 2015-01-15
JP2017182800A (ja) 2017-10-05
KR20160032173A (ko) 2016-03-23
US9372103B2 (en) 2016-06-21
AU2017201926B2 (en) 2019-05-16
CA2955848C (en) 2018-10-09
CA2917970C (en) 2017-03-07
US20160261734A1 (en) 2016-09-08
EP3019934B1 (en) 2019-09-04
CN107422790B (zh) 2020-07-07
EP3019934A1 (en) 2016-05-18
MX349635B (es) 2017-08-07
CA2955848A1 (en) 2015-01-15
IL243505A (en) 2017-02-28
IL249974A0 (en) 2017-03-30
JP6117438B2 (ja) 2017-04-19
CN107422790A (zh) 2017-12-01
IL249974B (en) 2018-02-28
MX2016000428A (es) 2016-10-26
KR102068541B1 (ko) 2020-01-22
EP3019934A4 (en) 2017-03-15
KR101726825B1 (ko) 2017-04-13

Similar Documents

Publication Publication Date Title
JP6416962B2 (ja) 掴み検出の較正
JP6097886B2 (ja) マルチセンサ手検出
JP5956102B1 (ja) モバイル・デバイス電極の分離

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180507

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: 20180904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181004

R150 Certificate of patent or registration of utility model

Ref document number: 6416962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees