WO2014081949A2 - Gestion à faible consommation d'énergie d'une architecture de puce intégrée à plusieurs capteurs - Google Patents
Gestion à faible consommation d'énergie d'une architecture de puce intégrée à plusieurs capteurs Download PDFInfo
- Publication number
- WO2014081949A2 WO2014081949A2 PCT/US2013/071277 US2013071277W WO2014081949A2 WO 2014081949 A2 WO2014081949 A2 WO 2014081949A2 US 2013071277 W US2013071277 W US 2013071277W WO 2014081949 A2 WO2014081949 A2 WO 2014081949A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processor
- sensor
- computing device
- modality
- block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the embodiments described herein relate to multiple and varied communication sensors within an integrated chip architecture and more particularly to managing sensor data from the multiple and varied communication sensors.
- GNSS global navigation satellite system
- GPS global positioning satellite
- GLONASS global navigation satellite system
- RFID radio frequency identification
- sensors involving motion such as accelerometers, gyroscopes, magnetometers, as well as other micro-electro-mechanical system devices (MEMS). Imaging sensors, microphone sensors, and proximity sensors may also be employed within a sophisticated computing device.
- a sensor may include a modem, a transceiver, a processor, and the like.
- computing devices are typically battery operated and, as such, power consumption is an important feature in marketing these devices.
- Many computing devices are capable of entering a low power state to conserve battery power. During the low power state, most of the resources of the computing device are powered down resulting in limited capability of the device. Accordingly, there is a need for improved techniques to allow for low power management of multiple sensors in an integrated chip architecture for a computing device while, for instance, the computing device is in a low power state.
- FIG. 1A is a block diagram illustrating one embodiment of a multiple sensor integrated chip architecture for a computing device in accordance with various aspects set forth herein.
- FIG. IB is a block diagram illustrating another embodiment of a multiple sensor integrated chip architecture for a computing device in accordance with various aspects set forth herein.
- FIG. 2 is a block diagram illustrating another embodiment of a multiple sensor integrated chip architecture for a computing device in accordance with various aspects set forth herein.
- FIG. 3 is a block diagram illustrating a system for performing contextual engine training with various aspects described herein.
- FIG. 4 is a flow chart of one embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 5 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 6 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 7 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 8 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 9 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- ⁇ ⁇ FIG. 10 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 11 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 12 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 13 is a flow chart of one embodiment of a method of performing an algorithm in a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 14 is a flow chart of another embodiment of a method of performing an algorithm in a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 15 is a flow chart of one embodiment of a method of low-power management of a multiple sensor integrated chip architecture of a computing device with various aspects described herein.
- FIG. 16 is a flow chart of one embodiment of a method of determining an accumulated movement of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- FIG. 17 is a ladder diagram showing example signals that may be exchanged between a geo-fence engine and an accumulated movement algorithm operating in a multiple sensor integrated chip architecture of a computing device with various aspects described herein.
- FIG. 18 is a flow chart of one embodiment of a method of determining a modality of in vehicle for a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- [uuzoj r'IG. 19 is a flow chart of one embodiment of a method of determining a modality of out of vehicle for a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- Described herein is a method for managing processor analysis of multiple sensors in a computing device that includes monitoring a first sensor signal that may be coupled to a sensor hub processor and thereafter comparing the first monitored sensor signal with a predetermined signature for establishing a confidence relationship associated with received sensor signaling from multiple sensors. Alternatively, the first monitored sensor signal may simply be compared with the predetermined signature.
- the efficacy of operation for the multiple sensors may be determined; and a second sensor signal that is coupled to a low power core may be monitored.
- the second monitored sensor signal may be compared with another predetermined signature for establishing a confidence relationship associated with received sensor signaling from multiple sensors.
- the method confirms that one or more sensors has met a predetermined confidence state.
- a short range wireless subsystem may be coupled to a low power core. That is one or more application programming interfaces (APIs) may exist between the WiFi subsystem and the low power core to monitor and operate on WiFi scan results such as: received signal strength indicator (RSSI), service set identifier (SSID), basic service set identifier (BSSID), a trigger that an SSID matches a stored SSID, or a trigger that a BSSID matches a stored BSSID.
- RSSI received signal strength indicator
- SSID service set identifier
- BSSID basic service set identifier
- This methodology can provide a low power geofence for points of interest to a mobile computing device user.
- the APIs may also comprise means for determining modem connectivity status.
- a location manager and location determination engine may reside within the low power core.
- Such an architecture can be employed to have the location determination engine produce a geolocation (based on latitude, longitude, elevation/ iioor, and confidence, for example) using WiFi AP database including metadata.
- a satellite positioning sensor such as a GNSS subsystem to the low power core.
- the GNSS subsystem may include a GPS subsystem or a GLONASS subsystem.
- APIs application programming interfaces
- the scan rates can be either receiver scan rate or a reporting scan rate.
- an application processor is directly coupled to the low power core to enable programmability of a short range wireless subsystem.
- the programmability may determine starting and stopping of a short range wireless scan such as a WiFi scan, and the rate of the short range wireless scan.
- this disclosure describes example embodiments of determining a modality of a user's activities while in possession of a computing device.
- a modality may also be referred to as a context state.
- the modality of the user's activities may be determined by collecting sensor data on the computing device and inferring activities associated with the user of the computing device by extracting features from the sensor data to determine a modality of the user's activities.
- the inferred activities may include motion states, location states, environment states, communication states, other states, or any combination thereof. While a modality may be a motion state, an environment state, a communication state or another state, a modality may also be determined using any combination of these states.
- Motion states may be associated with a movement (or lack thereof) of a user in possession of the computing device and may include being stationary, walking, jogging, running, driving a vehicle, riding on a vehicle such as a car, bus or plane, riding an escalator or elevator, the like, or any combination thereof.
- Motion states may use sensor data from an accelerometer sensor, a gyroscope, or the like.
- Location states may be associated with the location of a user in possession of the computing device. Location states may use sensor data from a GNSS sensor such as a GPS sensor or a GLONASS sensor, a short range wireless sensor such as a WiFi sensor, or the like.
- Environment states may be associated with the environment surrounding a user in possession of a computing device.
- Environment states may use sensor data from a microphone or the like.
- Communication states may be associated with man-made sounds such as speech made in the proximity of a user in possession of a computing device. Further, this disclosure describes example embodiments of partitioning functions associated with determining a modality of a user's activities amongst various processors of the computing device with the effect of reducing power consumption by the computing device.
- the terms computing device or mobile computing device may be a central processing unit (CPU), controller or processor, or may be conceptualized as a CPU, controller or processor (for example, the first processor 101 of FIG. IB).
- a computing device may be a CPU, controller or processor combined to one or more additional hardware components.
- the computing device operating as a CPU, controller or processor may be operatively coupled with one or more peripheral devices, such as a display, navigation system, stereo, entertainment center, WiFi access point (AP), or the like.
- peripheral devices such as a display, navigation system, stereo, entertainment center, WiFi access point (AP), or the like.
- the term computing device may refer to a mobile computing device, such as a smartphone, mobile station (MS), terminal, cellular phone, cellular handset, personal digital assistant (PDA), smartphone, wireless phone, organizer, handheld computer, desktop computer, laptop computer, tablet computer, set-top box, television, appliance, game device, medical device, display device, or some other like terminology.
- the computing device may output content to its local display or speaker(s).
- the computing device may output content to an external display device (e.g., over short range wireless such as WiFi) such as a TV or an external computing system.
- FIG. 1A is a block diagram illustrating one embodiment of a multiple sensor integrated chip architecture 100a for a computing device in accordance with various aspects set forth herein.
- the architecture 100a may be configured to include a second processor 120, a third processor 110, a first modem processor 130, a second modem processor 140, and a peripheral subsystem 150.
- Each of the second processor 120 and the third processor 110 may be configured to process computer instructions and data. Further, each processor may be configured to be a computer processor or a controller.
- the second processor 120 may be a processor such as a low power core (LPC).
- the third processor 110 may be an application processor and may include multiple computer processors.
- a single chip architecture 105 may be configured to include the second processor 120, the third processor 110, the first modem processor 130 and the second modem processor 140.
- the third processor 110 may be operationally coupled to the second processor 120, the first modem processor 130, and the second modem processor 140.
- the first modem processor 130 may be configured to receive or transmit data signals associated with a GNSS system such as GPS or GLONASS.
- the second modem processor 140 may be configured to receive or transmit data signals corresponding to short range wireless signals such as WiFi signals, Bluetooth signals, FM radio signals, another communication protocol, or any combination thereof.
- modem processors may be contemplated as being operationally coupled to the third processor 110 or the second processor 120, such as those modem processors capable of sending or receiving data signals for a radio frequency identification (RFID) communication protocol, a near field communication (NFC) protocol, a local-area network (LAN) protocol, a wide-area network (WAN) protocol, a computer network protocol, a wireless network protocol, a telecommunications network protocol, another like communication protocol signals, or any combination thereof.
- RFID radio frequency identification
- NFC near field communication
- LAN local-area network
- WAN wide-area network
- the second processor 120 may be capable of receiving or transmitting sensory data from the peripheral subsystem 150.
- the peripheral subsystem 150 may be configured to include an accelerometer 152, a gyroscope 154, a magnetometer 156, a barometer 158, and another sensor 160 such as an ambient light sensor (ALS), a proximity sensor or an odor sensor, or any combination thereof.
- ALS ambient light sensor
- FIG. IB is a block diagram illustrating one embodiment of a multiple sensor integrated chip architecture 100b for a computing device in accordance with various aspects set forth herein.
- the architecture 100b may be configured to include a first processor 101, a second processor 120, a third processor 110, a first modem processor 130, a second modem processor 140, and a peripheral subsystem 13U.
- £,acn of the first processor 101, the second processor 120, and the third processor 110 may be configured to process computer instructions and data.
- each processor may be configured to be a computer processor or a controller.
- the first processor 101 may be a controller such as a sensor hub.
- the second processor 120 may be a processor such as an LPC.
- the third processor 110 may be an application processor and may include multiple computer processors.
- Various components of the architecture 100b may be combined into a single integrated circuit architecture comprised of silicon or some other suitable material for employing high-rate chip technology.
- a single chip architecture 105 may be configured to include the second processor 120, the third processor 110, the first modem processor 130 and the second modem processor 140.
- the third processor 110 may be operationally coupled to the first processor 101, the second processor 120, the first modem processor 130, and the second modem processor 140.
- the first modem processor 130 may be configured to receive or transmit data signals associated with a GNSS system such as GPS or GLONASS.
- the second modem processor 140 may be configured to receive or transmit data signals corresponding to short range wireless signals such as WiFi signals, Bluetooth signals, FM radio signals, another communication protocol signals, or any combination thereof.
- modem processors may be contemplated as being operationally coupled to the third processor 110 or the second processor 120, such as those modem processors capable of sending or receiving data signals for a radio frequency identification (RFID) communication protocol, a near field communication (NFC) protocol, a local-area network (LAN) protocol, a wide-area network (WAN) protocol, a computer network protocol, a wireless network protocol, a telecommunications network protocol, another like communication protocol or any combination thereof.
- RFID radio frequency identification
- NFC near field communication
- LAN local-area network
- WAN wide-area network
- the second processor 120 may be coupled to the third processor 110, the first modem processor 130, the second modem processor 140, and the first processor 101.
- the peripheral subsystem 150 may be configured to include an accelerometer 152, a gyroscope 154, a magnetometer 156, a barometer 158, another sensor 160 such as an ambient light sensor (ALS), a proximity sensor or an odor sensor, or any combination thereof.
- the first processor mi may aiso be configured to receive input data from a digital signal processor (DSP) operationally coupled to a microphone, for example.
- DSP digital signal processor
- the first processor 101 may be operationally coupled to the third processor 110, the peripheral subsystem 150 and the second processor 120. Further, the first processor 101 may be operationally coupled to an accelerometer 152, a gyroscope 154, a magnetometer 156, a barometer 158, or another sensor 160.
- the architecture 100b may allow for the first processor 101 to receive motion data, location data or modality data from the peripheral subsystem 150 while the second processor 120 and the third processor 110 are in a low power state such as a standby mode or a sleep mode. Further, the architecture 100b may allow motion data, location data or modality data to be received by the second processor 120 while the third processor 110 is in a low power state such as a standby mode or a sleep mode.
- the first processor 101 may receive motion data from the peripheral subsystem 150 and may determine whether the computing device is moving or stationary. In response to detecting motion, the first processor 101 may activate the second processor 120. In one example, a processor may activate another processor or electronic component by providing it with power. In another example, a processor may activate another processor or electronic component by initializing or interrupting the other processor or electronic component. In another example, a processor may activate another processor or electronic component by changing an operating state of the other processor or electronic component.
- the second processor 120 may receive location data from the first modem processor 130 such as GNSS location data or from the second modem processor 140 such as short range wireless location data such as WiFi location data to determine a modality of the computing device. In response to determining a particular modality, the first processor 101 or the second processor 120 may activate the third processor 110.
- the third processor 110 may only be operatively coupled to the first modem processor 130 or the second modem processor 140 using the second processor 120. This configuration may allow, for example, phone calls or data transmission over the Internet without waking the third processor 110.
- LUU4ij m another embodiment, any sensors having an active mode current of less than one milliamp (1 mA) measured during the determination of one sample are operationally coupled to the first processor 101. Further, any sensors having an active mode current of at least one milliamp (1 mA) measured during the determination of one sample are operationally coupled to the second processor 120.
- any sensors having an active mode current of less than ten milliamps (10 mA) measured during the determination of one sample are operationally coupled to the first processor 101. Further, any sensors having an active mode current of at least ten milliamps (10 mA) measured during the determination of one sample are operationally coupled to the second processor 120.
- FIG. 2 is a block diagram illustrating another embodiment of a multiple sensor integrated chip architecture 200 for a computing device in accordance with various aspects set forth herein.
- the architecture 200 may be configured to include a first processor 201, a second processor 220, and a third processor 210.
- Each of the first processor 201, the second processor 220, and the third processor 210 may be configured to process computer instructions and data.
- each processor may be configured to be a computer processor or a controller.
- the first processor 201 may be a controller such as a sensor hub.
- the second processor 220 may be a processor such as an LPC.
- the third processor 210 may be an application processor and may include multiple computer processors.
- data is information in a form suitable for use by a computer. It is important to note that a person having ordinary skill in the art will recognize that the subject matter of this disclosure may be implemented using various operating systems or combinations of operating systems.
- the first processor 201 may be configured to include interface ports 271 to 278, an interrupt controller 279, other elements, or any combination thereof.
- the interface ports 271 to 278 of the first processor 201 may be a serial port, a multi-master serial single-ended computer bus port such as an I 2 C port, a serial peripheral interface (SPI) port, a parallel port, a general purpose input and output (GPIO) port, a game port, a universal serial bus (USB), a micro-USB port, a high definition multimedia interface (HDMI) port, a video port, an audio port, a short range wireiess port such as a Bluetooth port, an NFC port, a WiFi port or the like, a GNSS port, another like interface port, or any combination thereof.
- a serial port such as an I 2 C port, a serial peripheral interface (SPI) port, a parallel port, a general purpose input and output (GPIO) port, a game port, a universal serial bus (USB), a micro-USB
- the interrupt controller 279 may be used to provide a software interface between the first processor 201 and the interrupt hardware.
- the interface port 271 may be used to operatively couple the first processor 201 to an accelerometer sensor 252, a gyroscope sensor 254, a magnetometer sensor 256, a barometer sensor 258, an ambient light sensor 256, a proximity sensor 257, another sensor 258 such as an ambient light sensor (ALS), a proximity sensor or an odor sensor, or any combination thereof.
- ALS ambient light sensor
- the interface port 274 may be used to operatively couple the first processor 201 to a display 287 using a display interface 285.
- the display interface 285 may be configured as a communication interface and may provide functions for rendering video, graphics, images, text, other information, or any combination thereof on the display 287.
- a communication interface may include a serial port, a parallel port, a general purpose input and output (GPIO) port, a game port, a universal serial bus (USB), a micro-USB port, a high definition multimedia interface (HDMI) port, a video port, an audio port, a Bluetooth port, a near-field communication (NFC) port, another like communication interface, or any combination thereof.
- the display interface 285 may be operatively coupled to a local display, such as a touch-screen display associated with the computing device.
- the display interface 285 may be configured to provide video, graphics, images, text, other information, or any combination thereof for an external/remote display that is not necessarily connected to the computing device.
- a desktop monitor may be utilized for mirroring or extending graphical information that may be presented on the computing device.
- the display interface 285 may wirelessly communicate, for example, using the first modem processor 230, the second modem processor 240, or another modem processor to an external/remote display.
- the interface port 273 may be used to operatively couple the first processor 201 to a touch screen 288 using a touch screen interface 286.
- the display 287 may be combined with the touch screen 288 to form a touch-sensitive display.
- the interface port 275 may be used to operatively couple the first processor 201 to the second processor 220.
- the interface port 276 may be used to operatively coupie me nrst processor 201 to the third processor 210.
- the interface port 277 may be used to operatively couple the first processor 201 to a digital signal processor (DSP) 282.
- DSP 282 may be operatively coupled to a microphone 283 or a speaker.
- the interface port 278 may be used to operatively couple the first processor 201 to a haptic integrated circuit (IC) 284.
- the power management IC 281 may be used to provide various voltages to elements of the system. Also, the power management IC 281 may provide a clock such as thirty two kilohertz (32 KHz) to the first processor 201.
- a single chip architecture 205 may be configured to include the second processor 220, the third processor 210, a first modem processor 230, a second modem processor 240, memory 211, interface ports 212 and 213, an interrupt controller 214, other element, or any combination thereof.
- the third processor 210 may be operatively coupled to the first modem processor 230, the second modem processor 240 and the memory 211. Further, the third processor 210 may be operatively coupled to the second processor 220 using the memory 211.
- the third processor 210 may be operatively coupled to the first processor 201 using the interface port 212.
- the second processor 220 may be operatively coupled to the first modem processor 230 and the second modem processor 240 using the memory 211. Further, the second processor 230 may be operatively coupled to the first processor 201 using the interface port 213.
- the interrupt controller 214 may be used to provide a software interface between the second processor 220 and the interrupt hardware. Further, the interrupt controller 279 may be used to provide a software interface between the third processor 210 and the interrupt hardware.
- the first modem processor 230 may be configured to receive or transmit data signals associated with a GNSS subsystem such as GPS or GLONASS satellites or with another communication protocol.
- the second modem processor 240 may be configured to receive or transmit data signals corresponding to short range wireless signals such as WiFi signals, Bluetooth signals, FM radio signals, another communication protocol signals, or any combination thereof.
- Other modem processors may be contemplated as being operationally coupled to the third processor
- the other modem processors may include modem processors capable of sending or receiving data signals for an RFID, an NFC, a local- area network (LAN), a wide-area network (WAN), a computer network, a wireless network, a telecommunications network, another like network or any combination thereof.
- the communication functions of these other modem processors may include data communication, voice communication, multimedia communication, short-range communications, near-field communication, another like communication function, or any combination thereof.
- another modem processor may include cellular communication.
- the memory 211 may provide storage or caching of data or computer instructions during the execution of software programs such as the operating system, application programs, device drivers and firmware.
- software programs such as the operating system, application programs, device drivers and firmware.
- RAM random access memory
- ROM read only memory
- PROM programmable read-only memory
- EPROM erasable programmable read-only memory
- EEPROM electrically erasable programmable read-only memory
- magnetic disks optical disks
- floppy disks hard disks
- flash drives electrically erasable programmable read-only memory
- the memory 211 may be configured to include an operating system, an application program such as a web browser application, a widget or gadget engine or another application, a data file and RAM.
- the memory 211 may also be configured to include a number of physical drive units, such as a redundant array of independent disks (RAID), a floppy disk drive, a flash memory, a USB flash drive, an external hard disk drive, thumb drive, pen drive, key drive, a high-density digital versatile disc (HD-DVD) optical disc drive, an internal hard disk drive, a Blu-Ray optical disc drive, a holographic digital data storage (HDDS) optical disc drive, an external mini-dual in-line memory module (DIMM) synchronous dynamic random access memory (SDRAM), an external micro- DIMM SDRAM, a smartcard memory such as a subscriber identity module or a removable user identity (SIM/RUIM) module, other memory, or any combination thereof.
- RAID redundant array of independent disks
- HD-DVD high-density digital versatile disc
- HD-DVD high-density digital versatile disc
- HDDS holographic digital data storage
- DIMM mini-dual in-line memory module
- SDRAM
- the memory 211 may allow the second processor 220 or the third processor 210 to access computer-executable instructions, application programs or the like, stored on transitory or non-transitory memory media, to off-load data, or to upload aaia.
- An article of manufacture, such as one utilizing a communication system may be tangibly embodied in a storage medium, which may comprise a computer-readable medium.
- FIG. 3 is a block diagram illustrating a system 300 for performing contextual engine training with various aspects described herein.
- the system 300 may be configured to include a first computing device 301, a second computing device 302 and an offline processor 321.
- the system 300 may conduct the contextual engine training offline using the second computing device 302.
- the second computing device 302 may capture sensory data 306 during a particular user physical activity 304.
- the computing device 302 may collect the sensory data 306 from sensors within the computing device 302.
- the user physical activity 304 may include stationary, walking, running, driving, or other type of physical activity.
- the internal sensors of the computing device 302 may include an accelerometer, a magnetometer, a GNSS sensor such as a GPS sensor, a short range wireless sensor such as a WiFi sensor, a barometer sensor, a gyroscope, a microphone, or other like sensor.
- the computing device 302 may provide the sensory data 306 to the offline processor 321.
- the offline processor may be a computer server having access to a network such as the Internet.
- the offline processor may be another computing device.
- the offline processor 321 may be the second computing device 302.
- the offline processor 321 may be configured to include a preprocessing module 323, a feature extraction module 325, and a machine learning module 327.
- the offline processor 321 may perform offline training by processing the sensory data 306 to develop learned parameters 329 used as predetermined signatures for a confidence level for use by the first computing device 301.
- the second computing device 302 may be the same as the first computing device 301.
- the preprocessing module 323 may be used to extract sensor data specific to a particular activity.
- the feature extraction module 325 may be used to extract statistical and non-statistical information from the sensor data 306.
- the machine learning module 327 may be used to determine learned parameters 329 based on the extracted information.
- the learned parameters 329 may be directly used in a modality determination engine 307 of the computing device 301.
- the confidence of sensory aaia may be developed for greater accuracy based on the machine learning during the training stage. Two or more threshold levels of confidence may be used in the modality determination engine 307 of the computing device 301.
- the modality determination engine 307 may be configured to include a preprocessing module 309, a feature extraction module 311, an apply learned parameters module 313 and a determined modality module 317.
- a first level of confidence may include the use of the sensory data 305 associated with an accelerometer signal.
- a second level of confidence may include the use of the sensory data 305 associated with a short range wireless signal such as a WiFi signal or a GNSS signal such as a GPS signal when, for instance, an application processor is in an idle state.
- a first, second or third level of confidence may include the use of sensory data associated with a microphone, an ambient light sensor (ALS), a proximity sensor, another sensor, or any combination thereof.
- ALS ambient light sensor
- FIG. 4 is a flow chart of one embodiment of a method 400 of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2.
- the multiple sensor integrated chip architecture may be configured to include a first processor 401, a second processor 420, and a third processor.
- the first processor 401 may be a sensor hub
- the second processor 420 may be an LPC
- the third processor may be an application processor.
- the method 400 may begin at, for instance, block 403 where the first processor 401 may receive, from an application or feature of the third processor, a request for the modality of the computing device.
- the method 400 may determine a motion state using a machine learning-based content algorithm and first sensor data from a first sensor.
- the first sensor may be at least one of an accelerometer, a magnetometer, a gyroscope, a barometer, and the like.
- the first sensor is an accelerometer.
- the motion state may be, for instance, still, walking, running, driving, or the like.
- the method 400 may determine whether a second sensor is needed to provide a second level of confidence.
- the driving state may require the second sensor to provide a second level of confidence.
- the second sensor may be at least one of a GNSS sensor such as a GPS sensor and a short range wireless sensor such as a WiFi sensor.
- the method 400 may determine the motion state using the machine learning-based content algorithm and second sensor data from the second sensor.
- the first processor 401 may send, to the second processor 420, a request to provide the second level of confidence. Further, the first processor 401 may send, to the second processor 420, the first sensor data from the first sensor or information associated with the first level of confidence. Also, the first processor 401 may need to activate the second processor 420.
- the method 400 may determine whether the current iteration is the first time to determine the modality.
- the method 400 may determine whether the modality is different from the previous modality. If the modality is different, at block 413, the method 400 may send the modality of the computing device to the third processor using, for instance, a subscriber manager element of the first processor 401. Otherwise, if the modality is the same, the method 400 may return to block 405.
- the method 400 may determine whether there are any other requests for the modality of the computing device by an application or function of the second processor or the third processor.
- the method 400 may unregister the request for the modality of the computing device made by the specific application or feature of the second processor or the third processor.
- FIG. 5 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB.
- the multiple sensor integrated chip architecture may be configured to include a first processor 501, a second processor 520, and a third processor.
- the first processor 501 may be a sensor hub
- the second processor 520 may be a low power core
- the third processor may be an application processor.
- the memoQ suu may begin at, for instance, block 525 where the second processor 520 may receive, from an application or feature of the third processor, a request for a modality of the computing device.
- the method 500 may start or resume the modality detection performed by the first processor 501.
- the method 500 may start or resume the modality detection performed by the first processor 501.
- the method 500 may determine a motion state using a machine learning-based content algorithm and first sensor data from a first sensor.
- the first sensor may be at least one of an accelerometer, a magnetometer, a gyroscope, a barometer, and the like.
- the first sensor is an accelerometer.
- the motion state may be, for instance, still, walking, running, driving, or the like.
- the method 500 may determine whether a second sensor is needed to provide a second level of confidence.
- the driving state may require the second sensor to provide a second level of confidence.
- the second sensor may be at least one of a GNSS sensor such as a GPS sensor and a short range wireless sensor such as a WiFi sensor.
- the method 500 may determine the motion state using the machine learning-based content algorithm and second sensor data from the second sensor.
- the first processor 501 may send, to the second processor 520, a request to provide the second level of confidence. Further, the first processor 501 may send, to the second processor 520, the first sensor data from the first sensor or information associated with the first level of confidence. Also, the first processor 501 may need to activate the second processor 520.
- the method 500 may determine whether the current iteration is the first time to determine the modality.
- the method 500 may determine whether the modality is different from the previous modality. If the content state is different, at block 513, the method 500 may send the modality of the computing device to, for instance, a subscriber manager element of me second processor 520. Otherwise, if the content state is the same, the method 500 may return to block 503.
- the method 500 may receive the modality of the computing device from the first processor 501.
- the method 500 may determine whether there are any other requests for the modality of the computing device by an application or function of the third processor.
- the method 500 may unregister the request for the modality of the computing device made by a specific application or feature of the third processor.
- FIG. 6 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2. Further, the multiple sensor integrated chip architecture may be configured to include a first processor, a second processor, and a third processor.
- the method 600 may begin at, for instance, block 601 where the computing device may be powered-up.
- the method 600 may initialize a first sensor such as a GNSS sensor.
- the method 600 may obtain location data such as ephemeral data to aid the first sensor.
- the location data may be obtained by the computing device from a cellular network or a short range wireless network such as a WiFi network.
- the method 600 may initialize a second sensor such as a short range wireless sensor.
- the method 600 may initialize a modality sensor algorithm by setting, for instance, a modality to a first state such as a null state.
- the method 600 may execute an interaction engine handler.
- the interaction engine handler may be used to execute algorithms such as the modality sensor algorithm to determine the modality of the computing device or the motion detection algorithm to determine whether the computing device is moving.
- the method 600 may scan for a GNSS signal or a short range wireless signal.
- the GNSS signal and the short range wireless signal may also be individually or collectively referred to as a sensor signal or sensor data.
- method 600 may scan for a GNSS location. Otherwise, if a short range wireless signal is detected using the second sensor, at block 612, method 600 may scan for a short range wireless location. A ur aa locanon and a short range wireless location may be individually or collectively referred to as a location. If neither a GNSS signal nor a short range wireless signal is detected, then the method 600 may continue to block 617. At block 615, the method 600 may determine whether a GNSS location is obtained. At block 614, the method 600 may determine whether a short range wireless location is obtained. At block 617, the method 600 may determine whether the modality is a first state such as a stationary state or a state associated with the computing device not moving.
- a first state such as a stationary state or a state associated with the computing device not moving.
- the method 600 may determine whether the modality is a second state such as a driving state or a state associated with the computing device moving at speeds associated with a car, a bus, a train, a plane, or the like. If the modality corresponds to the second state, at block 631, the method 600 may adjust the location scanning duty cycle based on the velocity of the computing device.
- the velocity of the computing device may be determined using the sensor data from the GNSS sensor or the WiFi sensor.
- a person of ordinary skill in the art will recognize various techniques for determining a velocity from sensor data of a GNSS sensor or a short range wireless sensor such as a WiFi sensor.
- the method 600 may determine whether the modality corresponds to a third state such as a walking state or a state associated with the computing device moving at speeds associated with walking. If the modality corresponds to the third state, at block 629, the method 600 may adjust the location scanning duty cycle based on a velocity of the computing device. Further, a third sensor such as an accelerometer or a gyroscope may be used to determine a heading or direction that the computing device is moving or to perform functions of a pedometer.
- a third sensor such as an accelerometer or a gyroscope may be used to determine a heading or direction that the computing device is moving or to perform functions of a pedometer.
- the method 600 may determine whether the modality corresponds to a fourth state such as an indoor state or a state associated with the computing device being indoors.
- a fourth state such as an indoor state or a state associated with the computing device being indoors.
- a GNSS signal may be difficult to detect, whereas an in-building short range wireless signal such as a WiFi signal may be easier to detect.
- the method 600 may decrease a short range wireless scanning duty cycle. For example, in an in-building WiFi network, a lower duty cycle may still allow for me detection of multiple closely spaced access points (APs) while a user possessing a computing device walks around a building.
- APs closely spaced access points
- the method 600 may determine whether a location scanning timer has expired. At block 626, if the scanning time has not expired, then the method 600 may decrease the short range wireless scanning duty cycle or the GNSS scanning duty cycle if a location is not found within a certain time. Otherwise, if the scanning time has expired, then the method 600 may return to the interaction engine handler, at block 609.
- a multiple sensor integrated chip architecture for a computing device may be configured to include additional components or processors for audio, multimedia, or power management, for example.
- a multiple sensor integrated chip architecture for a computing device may include a multimode wireless communication integrated circuit or chipset.
- a threshold for waking up an application processor may use a receiver signal strength indicator (RSSI) or a desired confidence level.
- RSSI receiver signal strength indicator
- Other thresholds such as confirming the contextual aware state or providing an acknowledgement of a point of interest, for example, may be based on a motion sensor, an audio level, or any other environmental sensory data. Power management may also be performed based on received threshold levels.
- FIG. 7 is a flow chart of another embodiment of a method 700 of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2.
- the multiple sensor integrated chip architecture may be configured to include a first processor, a second processor, and a third processor.
- the method 700 may be performed by the first processor such as a sensor hub.
- the first processor may perform the method 700 while the second processor such as an LPC or the third processor such as an application processor is in a low power mode.
- the method 700 may begin at, for instance, block 701 where it may determine whether a stowed register is set.
- the stowed register may be usea ro enaole or disable a stowed algorithm, which is used to determine whether the computing device is stowed in a container such as a purse or a pocket. If the stowed register is not set, then method 700 may return to block 701. Otherwise, if the stowed register is set, at block 703, the method 700 may read ambient light sensor (ALS) data from an ALS sensor or proximity data from a proximity sensor.
- ALS ambient light sensor
- the method 700 may determine whether an object is in the proximity of the computing device.
- an object is in the proximity of the computing device if it is within a distance from the computing device of less than fifty millimeters (50 mm) or within a distance sufficient to determine whether the computing device is being stored in a container such as a purse or a wallet.
- an object is in the proximity of the computing device if it is within a distance from the computing device of less than thirty millimeters (30 mm).
- the method 700 may determine whether the ALS data corresponds to being less than a first luminance threshold such as twenty (20) lux or less than a luminance associated with the computing device being in a dimly lighted room. Otherwise, if an object is not in the proximity of the computing device, at block 706, the method 700 may report that the computing device is not stowed. If the ALS data corresponds to being at least the first luminance threshold, at block 709, the method 700 may determine whether the current stowed state is stowed. Otherwise, if the ALS data corresponds to being less than the first luminance threshold, at block 708, the method 700 may report that the computing device is stowed.
- a first luminance threshold such as twenty (20) lux or less than a luminance associated with the computing device being in a dimly lighted room. Otherwise, if an object is not in the proximity of the computing device, at block 706, the method 700 may report that the computing device is not stowed. If the ALS data corresponds to being at least the first lumina
- the method 700 may determine whether the ALS data is greater than a second luminance threshold such as fifty (50) lux or greater than a luminance associated with the computing device being in a shadow of a lighted room. If the ALS data is greater than the second luminance threshold, at block 713, the method 700 may report that the computing device is not stowed. Otherwise, if the ALS data is less than or equal to the second luminance threshold, the method 700 may return to block 701.
- a second luminance threshold such as fifty (50) lux or greater than a luminance associated with the computing device being in a shadow of a lighted room.
- FIG. 8 is a flow chart of another embodiment of a method 800 of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or ii z.
- the multiple sensor integrated chip architecture may be configured to include a first processor, a second processor, and a third processor.
- the method 800 may be performed by the first processor such as a sensor hub. Further, the first processor may perform the method 800 while the second processor such as an LPC or the third processor such as an application processor is in a low power mode.
- the method 800 may begin at, for instance, block 801 where it may determine whether a face up or face down register is set.
- the face up or face down register may be used to enable or disable a face up or face down algorithm, which is used to determine whether the computing device is face up or face down. If the face up or face down register is set, at block 803, the method 800 may read accelerometer data. Otherwise, if the face up or face down register is not set, at block 819, the method 800 may report that the face up or face down state of the computing device is unknown.
- the method 800 may determine whether each of an x-axis, a y-axis and a z-axis of the computing device is equal to zero, which may be associated with insufficient accelerometer data to perform the face up or face down algorithm or the first iteration through the algorithm. If each of the x-axis, the y-axis and the z-axis of the computing device is equal to zero, at block 807, the method 800 may apply a low pass filter or perform an averaging function on the accelerometer data. Otherwise, if each of the x-axis, the y-axis or the z-axis of the computing device is not equal to zero, the method 800 may return to block 803.
- the method 800 may determine a magnitude of the filtered accelerometer data.
- the method 800 may determine whether the magnitude of the filtered accelerometer data is less than a predetermined acceleration such as one meter per second squared (1 m/s 2 ). If the filtered accelerometer data is at least the predetermined acceleration threshold, at block 813, the method 800 may determine a tilt angle of the computing device.
- a predetermined acceleration such as one meter per second squared (1 m/s 2 .
- the method 800 may determine whether the tilt angel along the z-axis of the computing device is in the range of a first angle threshold such as negative ninety degrees (-90°) and a second angle threshold such as negative seventy five degrees (-75°) or less than or equal to a third angle mresnoia such as negative fifteen degrees (-15°) relative to a surface perpendicular to a direction of gravity.
- a first angle threshold such as negative ninety degrees (-90°) and a second angle threshold such as negative seventy five degrees (-75°) or less than or equal to a third angle mresnoia such as negative fifteen degrees (-15°) relative to a surface perpendicular to a direction of gravity.
- the first angle threshold may be in the range from negative seventy degrees (-70°) to negative eighty nine degrees (-89°).
- the third angle threshold may be in the range of negative twenty degrees (-20°) to negative one degree (-1°).
- the method 800 may report that the computing device is face down.
- the first processor may report that the computing device is face down to the second processor or the third processor.
- the first processor may activate the second processor or a third processor prior to or contemporaneous with reporting that the computing device is face down.
- the method 800 may determine whether the computing device is between a fourth angle threshold such as seventy five degrees (75°) and a fifth angle threshold such as ninety degrees (90°) or less than or equal to a sixth angle threshold such as fifteen degrees (15°) relative to a surface perpendicular to the direction of gravity. .
- the fourth angle may be in the range from seventy degrees (70°) to eighty nine degrees (89°).
- the sixth angle threshold may be in the range of twenty degrees (20°) to negative one degree (1°). If the tilt angle of the computing device is between the third angle and the fourth angle, at block 818, the method 800 may report that the computing device is face up. Otherwise, if the tilt angle is outside this range, at block 819, the method 800 may report that the face up or face down state of the computing device is unknown.
- FIG. 9 is a flow chart of another embodiment of a method 900 of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2.
- the multiple sensor integrated chip architecture may be configured to include a first processor 901, a second processor 920, and a third processor.
- the method 900 may be performed by the first processor 901 such as a sensor hub and the second processor 920 such as an LPC.
- the memoQ ⁇ uu may be performed by the first processor 901.
- the method 900 may be performed by the second processor 920.
- the first processor 901 or the second processor 920 may perform the method 900 while the third processor such as an application processor is in a low power mode. Further, while the first processor 901 is performing its portion of the method 900, the second processor 920 may be in a low power mode. Similarly, while the second processor 920 is performing its portion of the method 900, the first processor 901 may be in a low power mode.
- the method 900 may begin at, for instance, block 902 where it may determine whether a motion register is set.
- the motion register may be used to enable or disable a motion detection algorithm, which is used to determine whether the computing device is in motion or motionless. If the motion register is set, at block 903, the method 900 may initialize an accelerometer sensor. Otherwise, if the motion register is not set, the method 900 may return to block 902.
- Multiple applications or features executed by the second processor or the third processor may request that the first processor provide an interrupt to notify it when motion is detected. Each of the applications or features of the second processor or the third processor may also request a duration of time by which the first processor must interrupt the second processor or the third processor.
- the method 900 may determine a minimum duration of time from a set of durations of time requested by applications or features of the second processor or the third processor prior to or contemporaneous with interrupting a processor.
- the method 900 may read an accelerometer sensor to receive accelerometer data.
- the method 900 may determine whether the computing device is moving or stationary using the accelerometer data. If the device is moving, at block 912, the method 900 may accumulate an amount of time that the computing device is moving. If the device is stationary, at block 911, the method 900 may accumulate a continuous amount of time that the computing device is stationary.
- the method 900 may determine whether the accumulated amount of time that the computing device is stationary is at least a minimum stationary time for determining whether the computing device is stationary.
- the minimum stationary time may be five (5) seconds or an amount of time needed to determine whether an object is stationary.
- the minimum stationary time may be in the range of one (1) second to ten (10) seconds. If the accumulated amount of time that the computing device is stationary is at least the minimum stationary time, at block 923, the method 900 may have the first processor activate the second processor, so that the second processor may determine the modality of the computing device using the detection of the computing device as stationary.
- the second processor may activate the third processor to provide the modality.
- the second processor may report the modality to the first processor.
- the fist processor may then report the modality to the third processor.
- the second processor may then enter a low power mode. If the amount of time that the computing device is stationary is less than the minimum stationary time, then the method 900 may return to block 907.
- the method 900 may determine whether the accumulated amount of time that the computing device is moving is at least the minimum move time for determining whether the computing device is moving.
- the minimum move time for determining whether the computing device is moving is ten (10) seconds. In another example, the minimum move time may be in the range of one (1) second to ten (10) seconds. If the amount of time that the computing device is moving is at least the minimum move time, at block 923, the method 900 may have the first processor activate the second processor, so that the second processor may determine the modality of the computing device using the detection of the movement of the computing device.
- FIG. 10 is a flow chart of another embodiment of a method 1000 of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2. Further, the multiple sensor integrated chip architecture may be configured to include a first processor 1001, a second processor 1020, and a third processor.
- the method 1000 may be performed by the first processor 1001 such as a sensor hub and the second processor 1020 such as an LPC. In another example, the method 1000 may be performed by the first processor 1001. In another example, the method 1000 may be performed by the second processor 1020. The first processor or the second processor may perform the method 1000 while the third processor is in a low power mode. Further, while the first processor is performing its portion of the method 1000, the second processor may be in a low power mode. In FIG. 10, the method 1000 may begin at, for instance, block 1003 where the second processor 1020, the third processor or another processor may register to receive a motion state of the computing device. In one example, applications or features of the third processor may register with the first processor 1001 to receive the motion state of the computing device. At block 1005, the method 1000 may perform a motion detection algorithm on sensor data 1006 such as from an accelerometer sensor. A person of ordinary skill in the art will recognize various algorithms for determining whether an object is stationary or moving.
- the method 1000 may determine whether the computing device is stationary or moving. If the computing device is moving, at block 1009, the method 1000 may determine whether a modality determination engine is on. If the modality determination engine is on, then the first processor 1001 may send a request to the second processor 1020 to start the modality determination engine. In one example, the first processor 1001 may activate the second processor 1020 prior to or contemporaneous with requesting the start of the modality determination engine. If the computing device is stationary, at block 1010, the method 1000 may determine whether a modality determination engine is off. If the modality determination engine is on, then the first processor 1001 may send a request to the second processor 1020 to start the modality determination engine. At block IUZJ, me method 1000 may receive requests from the first processor 1001 to start or stop the modality determination engine controller. Further, the modality determination engine controller may start, stop, or control the modality determination engine.
- the method 1000 may determine whether the modality determination engine controller is on or off. If the engine is off, at block 1026, the method 1000 may place the second processor 1020 into a low power mode or perform another function or task of the second processor 1020. If the engine is on, the method 1000 may commence the modality determination engine.
- the method 1000 may perform the modality determination engine by performing functions associated with a preprocessing block 1027, a feature extraction block 1029, an apply learned parameters module 1031, and a determine modality block 1033.
- the preprocessing block 1027 may be used to extract sensor data 1006 specific to a particular activity.
- the feature extraction block 1029 may be used to extract statistical and non- statistical information from the sensor data 1006.
- the apply learned parameters block 1031 may apply learned parameters to the extracted features of the sensor data 1006.
- the method 1000 may determine the modality. Further, the method 1000 may provide the determined modality to the modality registration manager, as referenced at block 1013. Also, the method 1000 may return to check whether the modality determination engine is on or off, as referenced at block 1025.
- the confidence of the sensor data 1006 may be developed for greater accuracy based on the machine learning during the training stage.
- One or more levels of confidence may be used in the modality determination engine of the computing device.
- a first level of confidence may include the use of the sensory data associated with the accelerometer.
- a second level of confidence may include the use of sensory data associated with a short range wireless signal or a GNSS signal.
- a first, second or third level of confidence may include the use of sensory data associated with a microphone, an ambient light sensor (ALS), a proximity sensor, another sensor, or any combination thereof.
- the method 1000 may receive the determined modality.
- the second processor 1020 may activate the first processor 1001 prior to or contemporaneous with sending the determined modality to the first processor 1001.
- the method 1000 may determine whether the determined modality meets a modality criteria provided by, for instance, an application or feature of the third processor.
- the third processor may register the modality criteria with the first processor 1001, as referenced at block 1014.
- the method 1000 may send a response to the third processor.
- the first processor 1001 may activate the third processor prior to or contemporaneous with sending the response that the determined modality meets or exceeds the modality criteria.
- FIG. 11 is a flow chart of one embodiment of a method 1100 of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2.
- the multiple sensor integrated chip architecture may be configured to include a first processor 1101, a second processor 1120, and a third processor.
- the first processor 1101 may be a sensor hub
- the second processor 1120 may be an LPC
- the third processor may be an application processor.
- the method 1100 may begin at, for instance, block 1103 where the first processor 1101 may receive, from an application or feature of the third processor, a request for the modality of the computing device.
- the method 1100 may perform a motion detection algorithm using first sensor data from a first sensor.
- the first sensor may be at least one of an accelerometer, a magnetometer, a gyroscope, a barometer, and the like.
- the first sensor is an accelerometer.
- the method 1100 may determine whether the computing device is stationary or moving. If the computing device is moving, at block 1123, the method 1100 may determine a motion state using a machine learning- oasea content algorithm, the first sensor data from the first sensor and second sensor data from the second sensor.
- the second sensor may be, for instance, a GNSS sensor or a short range wireless sensor.
- the first processor 1101 may need to activate the second processor 1120 prior to requesting the second processor to perform the machine learning-based content algorithm. If the computing device is stationary, at block 1109, the method 1100 may determine whether the current iteration is the first time for the first processor 1101 to determine the modality.
- the method 1100 may determine whether the modality is different from the previous modality.
- the method 1100 may send the modality of the computing device to the third processor using, for instance, a subscriber manager element of the first processor 1101.
- the method 1100 may determine whether there are any other requests for the modality of the computing device by an application or function of the application processor.
- the method 1100 may unregister the request for the modality of the computing device made by the application processor.
- FIG. 12 is a flow chart of another embodiment of a method of determining a modality of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB.
- the multiple sensor integrated chip architecture may be configured to include a first processor 1201, a second processor 1220, and a third processor.
- the first processor 1201 may be a sensor hub
- the second processor 1220 may be a low power core
- the third processor may be an application processor.
- the method 1200 may begin at, for instance, block 1225 where the second processor 1220 may receive, from an application or feature of the third processor, a request for the modality of the computing device.
- the method 1200 may start or resume the modality detection performed by the first processor 1201.
- the method 1200 may start or resume the modality detection performed by the first processor 1201.
- the method 1200 may perform a motion detection algorithm using first sensor data from a first sensor.
- the first sensor may be at least one of an accelerometer, a magnetometer, a gyroscope, a barometer, and the like.
- me first sensor is an accelerometer.
- the method 1200 may determine whether the computing device is stationary or moving. If the computing device is moving, at block 1223, the method 1200 may determine a motion state using a machine learning- based content algorithm, the first sensor data from the first sensor and second sensor data from the second sensor.
- the second sensor may be, for instance, a GNSS sensor or a short range wireless sensor.
- the method 1200 may determine whether the current iteration is the first time to determine the modality.
- the method 1200 may determine whether the modality is different from the previous modality.
- the method 1200 may send the modality of the computing device to, for instance, a subscriber manager element of the second processor 1220.
- the method 1200 may receive the modality of the computing device from the first processor 1201. At block 1231, the method 1200 may determine whether there are any other requests for the modality of the computing device by an application or function of the application processor. At block 1233, the method 1200 may unregister the request for the modality of the computing device made by the application processor.
- FIG. 13 is a flow chart of one embodiment of a method 1300 of performing an algorithm in a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2.
- the multiple sensor integrated chip architecture may be configured to include a first processor 1301, a second processor 1320, and a third processor.
- the first processor 1301 may be a sensor hub
- the second processor 1320 may be an LPC
- the third processor may be an application processor.
- the method 1300 may begin at, for instance, block 1303 where the first processor 1301 may receive, from an application or feature of the third processor, a request to perform an algorithm.
- the method 1300 may perform the algorithm using a first level of confidence associated with first sensor data from a first sensor.
- the first sensor may be at least one or an accelerometer, a magnetometer, a gyroscope, a barometer, and the like.
- the first sensor is an accelerometer.
- the method 1300 may determine whether a second level of confidence is needed.
- the algorithm may detect whether the computing device is stationary or in motion using the first level of confidence and may detect the modality of the computing device using the second level of confidence.
- the second level of confidence may be associated with second sensor data from a second sensor.
- the second sensor may be a sensor associated with a location of the computing device such as a GNSS sensor or a short range wireless sensor, a sensor associated with an environment surrounding the computing device such as a microphone sensor, or a sensor associated with a communication performed proximate to the computing device such as a microphone sensor.
- the method 1300 may perform the algorithm using the second level of confidence associated with the second sensor data from the second sensor.
- the first processor 1301 may send, to the second processor 1320, the first sensor data from the first sensor or other information associated with the first level of confidence. Also, the first processor 1301 may need to activate the second processor 1320.
- the method 1300 may determine whether the current iteration is the first time to perform the algorithm.
- the method 1300 may determine whether a result of the algorithm has changed. If the result is different, at block 1313, the method 1300 may send the result to the third processor using, for instance, a subscriber manager element of the first processor 1301. Otherwise, if the result is the same, the method 1300 may return to block 1305.
- the method 1300 may determine whether there are any other requests to perform the algorithm by an application or function of the second processor or the third processor.
- the method 1300 may unregister the request to perform the algorithm made by the specific application or feature of the second processor or the third processor.
- FIG. 14 is a flow chart of one embodiment of a method 1400 of performing an algorithm in a computing device having a multiple sensor integrated cnip arcniiecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2. Further, the multiple sensor integrated chip architecture may be configured to include a first processor 1401, a second processor 1420, and a third processor.
- the first processor 1401 may be a sensor hub
- the second processor 1420 may be a low power core
- the third processor may be an application processor.
- FIG. 14 is a flow chart of one embodiment of a method 1400 of performing an algorithm in a computing device having a multiple sensor integrated cnip arcniiecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2. Further, the multiple sensor integrated chip architecture may be configured to include a first processor 1401, a second processor 1420, and a third
- the method 1400 may begin at, for instance, block 1425 where the second processor 1420 may receive, from an application or feature of the third processor, a request to perform an algorithm.
- the method 1400 may start or resume the algorithm performed by the first processor 1401.
- the method 1400 may start or resume the algorithm performed by the first processor 1401.
- the method 1400 may perform the algorithm using a first level of confidence associated with first sensor data from a first sensor.
- the first sensor may be at least one of an accelerometer, a magnetometer, a gyroscope, a barometer, and the like. In one example, the first sensor is an accelerometer.
- the method 1400 may determine whether a result of the algorithm requires a second level of confidence associated with second sensor data from a second sensor.
- the second sensor may be a sensor associated with a location of the computing device such as a GNSS sensor or a short range wireless sensor, a sensor associated with an environment surrounding the computing device such as a microphone sensor, or a sensor associated with a communication performed proximate to the computing device such as a microphone sensor. If the second level of confidence is required, at block 1423, the method 1400 may perform the algorithm using the second level of confidence associated with the second sensor data from the second sensor.
- the first processor 1401 may send, to the second processor 1420, the first sensor data from the first sensor or other information associated with the first level of confidence. Also, the first processor 1401 may need to activate the second processor 1420.
- the method 1400 may determine whether the current iteration is the first time to perform the algorithm.
- the method 1400 may determine whether a result of the algorithm has changed. If the result is airrerent, at block 1413, the method 1400 may send the result to a subscriber manager element of the second processor 1420. Otherwise, if the result is the same, the method 1400 may return to block 1405.
- the method 1400 may receive the result of the algorithm from the first processor 1401.
- the method 1400 may determine whether there are any other requests to perform the algorithm by an application or function of the third processor.
- the method 1400 may unregister the request to perform the algorithm made by a specific application or feature of the third processor.
- FIG. 15 is a flow chart of one embodiment of a method 1500 of low- power management of a multiple sensor integrated chip architecture of a computing device with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2.
- the multiple sensor integrated chip architecture may be configured to include a first processor, a second processor, and a third processor.
- the method 1500 may be performed by the first processor such as a sensor hub.
- the first processor may perform the method 1500 while the second processor such as an LPC or the third processor such as an application processor is in a low power mode.
- the method 1500 may begin at, for instance, block 1501 where the first processor may be operating at a first clock rate while waiting for sensor data from a sensor operating at a first data rate. While waiting for the sensor data from the sensor, the first processor operating at the first clock rate may operate in a low power state such as a standby mode or a sleep mode.
- the sensor may be an accelerometer.
- the sensor data may represent one or more readings of the sensor.
- the method 1500 may determine whether the sensor data from the sensor indicates motion of the computing device. In one example, the sensor may be used to activate the first processor when the sensor senses motion of the computing device. In another example, the sensor data from the sensor may be used by the first processor to determine motion of the computing device.
- the method 1500 may perform a first motion state algorithm using the sensor data from the sensor.
- the first motion siaie aigonmm may be used to determine whether the computing device is in a first motion state.
- the first motion state may be associated with the computing device being stationary.
- the method 1500 may change the first processor to a second clock rate or change the sensor to a second data rate.
- the second clock rate may be fifty percent (50%) greater than the first clock rate or a sufficient clock rate to meet the processing needs of an algorithm or function to be performed next by the first processor such as another motion state algorithm. In another example, the second clock rate may be in the range of zero percent (0%) to one hundred percent (100%) greater than the first clock rate. In one example, the second data rate may be fifty percent (50%) greater than the first data rate or a data rate sufficient to meet the data needs of an algorithm or function to be performed next by the first processor such as another motion state algorithm. In another example, the second data rate may be in the range of zero percent (0%) to one hundred percent (100%) greater than the first data rate.
- the method 1500 may perform a second motion state algorithm using the sensor data from the sensor.
- the second motion state algorithm may be used to determine whether the computing device is in a second motion state.
- the second motion state may be associated with the computing device moving at a walking speed.
- the method 1500 may determine whether the computing device is in the second motion state. If the computing device is in the second motion state, then the method 1500 may return to block 1511. Otherwise, if the computing device is not in the second motion state, at block 1515, the method 1500 may change the clock rate of the first processor to a third clock rate or change the data rate of the sensor to a third data rate.
- the third clock rate may be fifty percent (50%) greater than the first or second clock rates or a sufficient clock rate to meet the processing needs of an algorithm or function to be performed next by the first processor such as another motion state algorithm. In another example, the third clock rate may be in the range or zero percent (0%) to one hundred percent (100%) greater than the first or second clock rates. In one example, the third data rate may be fifty percent (50%) greater than the first or second data rates or a data rate sufficient to meet the data needs of an algorithm or function to be performed next by the first processor such as another motion state algorithm. In another example, the third data rate may be in the range of zero percent (0%) to one hundred percent (100%) greater than the first or second data rates.
- the method 1500 may perform a third motion state algorithm using the sensor data from the sensor.
- the third motion state algorithm may be used to determine whether the computing device is in a third motion state.
- the third motion state may be associated with the computing device moving at a running speed.
- the method 1500 may determine whether the computing device is in the third motion state. If the computing device is in the third motion state, then the method 1500 may return to block 1517. Otherwise, if the computing device is not in the third motion state, at block 1521, the method 1500 may change the first processor to a fourth clock rate or change the sensor to a fourth data rate.
- the fourth clock rate may be fifty percent (50%) greater than the first, second or third clock rates or a sufficient clock rate to meet the processing needs of an algorithm or function to be performed next by the first processor such as another motion state algorithm. In another example, the fourth clock rate may be in the range of zero percent (0%) to one hundred percent (100%) greater than the first, second or third clock rates. In one example, the fourth data rate may be fifty percent (50%) greater than the first, second or third data rates or a data rate sufficient to meet the data needs of an algorithm or function to be performed next by the first processor such as another motion state algorithm. In another example, the fourth data rate may be in the range of zero percent (0%) to one hundred percent (100%) greater than the first, second or third data rates.
- the method 1500 may perform a fourth motion state algorithm using the sensor data from the sensor.
- the fourth motion state algorithm may be used to determine whether the computing device is in a fourth motion state.
- the fourth motion state may be associated with the computing device moving at a vehicle speed.
- the method 1500 may determine whether the computing device is in the fourth motion state. If the computing device is in the fourth motion state, then the method 1500 may return to block 1523. Otherwise, if the computing device is not in the fourth motion state, then the method 1500 may return to block 1501.
- FIG. 16 is a flow chart of one embodiment of a method 1600 of determining an accumulated movement of a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2. Further, the multiple sensor integrated chip architecture may be configured to include a first processor, a second processor, and a third processor.
- the method 1600 may be performed by the first processor such as a sensor hub. Further, the first processor may perform the method 1600 while the second processor such as an LPC or the third processor such as an application processor is in a low power mode.
- the method 1600 may begin at, for instance, block 1601 where the first processor may receive, from an application or feature of the second or third processor, a request to perform an accumulated movement algorithm.
- the method 1600 may determine whether the computing device is stationary or in motion. If the computing device is stationary, then the method 1600 may wait until the computing device is in motion. Otherwise, if the computing device is in motion, at block 1605, the method 1600 may determine which type of movement algorithm to use.
- the type of movement algorithm may be a movement algorithm based on time or a movement algorithm based on distance.
- the method 1600 may accumulate a move time.
- the method 1600 may determine whether a move time is at least a move time threshold.
- the move time threshold may correspond to a certain distance based on an assumed rate.
- the move time threshold may be set to ten (10) seconds corresponding to the computing device moving thirty meters at an assumed rate of three meters per second (3 m/s).
- the move time threshold may be set to twenty (20) seconds corresponding to the computing device moving one nunarea and twenty (120) meters at an assumed rate of three meters per second (6 m/s).
- the method 1600 may report the move time or that the move time of the computing device is at least the move time threshold.
- the first processor may report that the move time of the computing device is at least the move time threshold to the second processor or the third processor.
- the first processor may activate the second processor or a third processor prior to or contemporaneous with reporting that the move time of the computing device is at least the move time threshold.
- the method 1600 may determine whether a hold-off duration has expired.
- the hold-off duration may be used to trigger a response to another processor after the expiration of the hold-off duration. In one example, the hold-off duration may be twenty (20) seconds. If the hold-off duration has expired, at block 1615, the method 1600 may report that the hold-off duration has expired. Otherwise, if the hold-off duration has not expired, then the method 1600 may return to block 1603.
- the method 1600 may determine whether a modality is detected.
- the modality may include being stationary, micro-motion, walking, jogging, running, driving, in vehicle, out of vehicle or the like.
- the modality determination algorithm may be performed in parallel in the first processor or the second processor. If the modality is not detected, at block 1609, the method 1600 may accumulate a first move distance.
- the first move distance may be determined by accumulating a first predetermined distance.
- the first predetermined move distance may be a product of a duty cycle of the accumulated movement algorithm and a predetermined movement velocity such as a vehicular velocity.
- the duty cycle of the movement algorithm may be one Hertz (1 Hz) and the predetermined movement velocity may be six meters per second (6 m/s).
- the first predetermined move distance is six meters (6 m).
- the method 1600 may determine whether the first move distance is at least a move distance threshold. If the first move distance is at least the move distance threshold, at block 1615, the method 1600 may report the first move distance or that the first move distance is at least the move distance threshold. Otherwise, if the first move distance is less than the move distance mresnoia, ai block 1614, the method 1600 may determine whether a hold-off duration has expired.
- the method 1600 may accumulate a second move distance by adding a modality move distance to the first move distance.
- the modality move distance may be determined using a velocity of the detected modality. Further, the modality move distance may be predetermined for each modality.
- the modality move distance may be a product of a duty cycle of the accumulated movement algorithm and the velocity of the detected modality.
- a duty cycle of the movement algorithm may be one Hertz (1 Hz)
- the detected modality may be walking
- the velocity for walking may be one and one -half meters per second (1.5 m/s).
- the modality move distance is one and one-half meters (1.5 m).
- a duty cycle of the movement algorithm may be one Hertz (1 Hz), the detected modality may be jogging, and the velocity for jogging may be three meters per second (3 m/s). Thus, the modality move distance is three meters (3 m).
- a duty cycle of the movement algorithm may be one Hertz (1 Hz), the detected modality may be running, and the velocity for running may be four meters per second (4 m/s). Thus, the modality move distance is four meters (4 m).
- a duty cycle of the movement algorithm may be one Hertz (1 Hz), the detected modality may be driving, and the velocity for the driving modality may be six meters per second (6 m s). Thus, the modality move distance is six meters (6 m).
- the method 1600 may determine whether the second move distance is at least a move distance threshold. If the second move distance is at least the move distance threshold, at block 1615, the method 1600 may report the second move distance or that the second move distance is at least the move distance threshold. Otherwise, if the second move distance is less than the move distance threshold, at block 1614, the method 1600 may determine whether a hold-off duration has expired.
- FIG. 17 is a ladder diagram 1700 showing example signals that may be exchanged between a geo-fence engine and an accumulated movement algorithm operating in a multiple sensor integrated chip architecture of a computing device with various aspects described herein.
- a geo-fence may be a virtual perimeter for a real-world geographic area.
- a geo-fence may be a dynamically generated virtual boundary around a location.
- a geo-fence may be a predetermined set of boundaries.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2. Further, the multiple sensor integrated chip architecture may be configured to include a first processor, a second processor, and a third processor.
- the ladder diagram 1700 may include a geo-fence engine 1701 and a first processor 1703.
- the second processor such as an LPC or the third processor such as an application processor may include the geo-fence engine.
- the geo-fence engine 1701 may request a GNSS position from a GNSS sensor, as referenced at block 1704.
- the geo-fence engine 1701 may receive a GNSS position from the GNSS sensor, as referenced at block 1705. In response to receiving the GNSS position, the geo-fence engine 1701 may determine a move distance threshold to a geo-fence boundary around the GNSS position. Further, the geo-fence engine 1701 may send to the first processor 1703 a signal to request to accumulate movement, which may also include a move distance threshold, such as described in FIG. 16, as described by reference number 1709. The geo-fence engine 1701 may also send to the first processor 1703 a hold-off duration, such as described in FIG. 16.
- the first processor 1703 may perform an accumulated movement algorithm 1711, such as described in FIG. 16. After the execution of the accumulated movement algorithm, the first processor 1703 may send a signal to the geo-fence engine reporting the results of the accumulated movement algorithm, as described by reference number 1713. In one example, in response to the accumulated movement being at least the move distance threshold, the first processor 1703 may send a signal to the geo-fence engine 1701 reporting the accumulated movement or that the accumulated movement is at least the move distance threshold. In another example, in response to the hold-off duration expiring, the first processor 1703 may send a signal to the geo-fence engine 1701 reporting that the hold-off duration expired.
- the geo-fence engine 1701 may send a signal to the first processor to remove the request to accumulate movement, as described by rererence number 1715.
- the first processor 1703 may remove the request to accumulate movement.
- FIG. 18 is a flow chart of one embodiment of a method 1800 of determining a modality of in vehicle for a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2.
- the multiple sensor integrated chip architecture may be configured to include a first processor, a second processor, and a third processor.
- the method 1800 may be performed by the third processor such as an application processor.
- the method 1800 may be performed by the second processor such as an LPC.
- a portion of the method 1800 may be performed by the third processor while another portion of the method 1800 is performed by the second processor.
- the method 1800 may begin at, for instance, block 1801 where it may receive, from an application or feature of the second processor or the third processor, a request to perform an in vehicle modality algorithm.
- the method 1800 may determine whether the computing device is connected to a static access point (AP).
- AP static access point
- a static AP is a device that allows a wireless device to couple to a wired network using short range wireless communication such as WiFi or related standards and is fixed to a geographic location.
- the method 1800 may determine whether a modality is equal to a first predetermined state.
- the first predetermined state may be in vehicle or a state associated with the computing device moving at a vehicle velocity. It is important to recognize that the modality may be determined independent of the method 1800 and may change contemporaneous with the operation of the method 1800. In one example, the modality may be determined by, for instance, a modality determination algorithm performed in the first processor or the second processor. If the computing device is connected to the static AP, then the method 1800 may return to block 1803.
- the method 1800 may determine whether GNSS data has been requested from a GNSS sensor within a first GNSS request time.
- the first GNSS request time may be such one hundred and twenty (120) seconds.
- the first GNSS request time may be in the range of thirty (30) seconds to two hundred and forty (240) seconds. Otherwise, if the modality is not equal to the first predetermined state, then the method 1800 may wait for the modality to equal the first state.
- the method 1800 may receive GNSS data from the GNSS sensor.
- the GNSS data may represent one or more readings of the GNSS sensor.
- the method 1800 may determine a first velocity using the GNSS data.
- the first velocity may be determined from GNSS data associated with three (3) consecutive readings of the GNSS sensor.
- the first velocity may be determined from GNSS data associated with three (3) readings of the GNSS sensor within a certain period of time such as ten (10) seconds.
- the method 1800 may determine whether the first velocity is at least a first velocity threshold.
- the first velocity threshold may be six meters per second (6 m/s) or faster than a typical person may run. In another example, the first velocity threshold may be in the range of five meters per second (5 m/s) to ten meters per second (10 m/s). If the first velocity is at least the first velocity threshold, at block 1871, the method 1800 may report to the requesting application or feature of the second processor or the third processor that the modality of the computing device is in vehicle.
- the second processor may report that the modality is in vehicle to an application or a feature of the third processor.
- the second processor may activate the third processor prior to or contemporaneous with reporting that the modality is in vehicle.
- the third processor may report that the modality is in vehicle to an application or a feature of the third processor.
- the method 1800 may determine whether the modality is equal to a second predetermined state.
- the second predetermined state may be a walking state or a state associated with the computing device moving ax a wai ing velocity.
- the second predetermined state may be a running state or a state associated with the computing device moving at a running velocity.
- the second predetermined state may be the walking state or the running state. If the modality equals the second predetermined state, then the method 1800 may return to block 1801.
- the method 1800 may determine whether the GNSS data indicates that a received GNSS signal from the GNSS sensor is weak.
- the received GNSS signal may be determined to be weak if the GNSS sensor is not able to acquire three or more satellite vehicles (SVs) with a carrier to noise ratio (C/N 0 ) of greater than twenty decibels (20 dB) or equivalent to a moderate signal strength.
- the received GNSS signal may be determined to be weak if the GNSS sensor is not able to determine a velocity from the received GNSS signal. If the received GNSS signal is weak, then the method 1800 may return to block 1811.
- the method 1800 may deactivate the GNSS sensor for a first delay time and return to block 1801.
- the first delay time may be one hundred and twenty (120) seconds.
- the first delay time may be in the range of thirty (30) seconds to two hundred and forty (240) seconds.
- the first delay time may increase after each iteration starting at, for instance, thirty (30) seconds.
- the method 1800 may determine a percentage of time that the modality is equal to the first state over a measurement period such as sixty (60) seconds or one hundred and twenty (120) seconds. In one example, the method 1800 may determine the percentage of time that the modality is equal to the first state by dividing an accumulated time associated with the computing device being in the first state by a total time of the measurement. In one example, the method 1800 may reset the accumulated time associated with the computing device being in the first state when a waling state or a running state is detected by a modality determination engine. At block 1833, the method 1800 may determine whether the percentage of time that the modality is equal to the first state is at least a first modality percentage threshold.
- the first modality percentage threshold may be about sixty-six percent (66%). In another example, the first modality percentage mresnoia may be in the range of about fifty percent (50%) to about one hundred percent (100%). If the percentage of time that the modality is equal to the first state is less than the first modality percentage threshold, then the method 1800 may wait for the percentage of time that the modality is equal to the first state to be at least the first modality percentage threshold. Otherwise, if the percentage of time that the modality is equal to the first state is at least the first modality percentage threshold, at block 1835, the method 1800 will wait until the modality is the first predetermined state such as an in vehicle state as reported by a modality determination engine.
- the first predetermined state such as an in vehicle state as reported by a modality determination engine.
- the method 1800 may scan for static APs when the computing device is at different locations. Further, the method 1800 may determine a time duration between successive locations that a scan is performed. The method 1800 may obtain AP identification data such as a service set identification (SSID), a basic service set identification (BSSID), a received signal strength indication (RSSI), other AP information, or combination of AP information from each scanned static AP at each successive location.
- AP identification data such as a service set identification (SSID), a basic service set identification (BSSID), a received signal strength indication (RSSI), other AP information, or combination of AP information from each scanned static AP at each successive location.
- the method 1800 may request, from a server using a wireless or wired network, successive locations of the computing device based on the scanned static APs. As part of the request for the successive locations of the computing device based on the scanned static APs sent to the server, the method 1800 may provide the SSID, BSSID, RSSI or other information for each scanned static AP to the server. In one example, the server may be associated with a service such as Google Location ServiceTM. In response to the request for the successive locations of the computing device based on the scanned static APs, at block 1841, the method 1800 may receive, from the server, the successive locations of the computing device.
- the method 1800 may determine a second velocity using a distance between the successive locations of the computing device and the time duration between successive locations.
- the method 1800 may determine whether the second velocity is at least a second velocity threshold.
- the second velocity threshold may be six meters per second (6 m/s) or faster than a typical person may run.
- the second velocity threshold may be in the range of five meters per second (5 m/s) to ten meters per second (10 m/s). If the second velocity is at least the second velocity mresnoia, ax block 1871, the method 1800 may report to the requesting application or feature of the second processor or the third processor that the modality of the computing device is in vehicle. Otherwise, if the second velocity is less than the second velocity threshold, then the method 1800 may return to block 1831.
- the method 1800 may determine whether there is any passive GNSS data.
- passive GNSS data may be GNSS data derived from a request for GNSS data from other than the in vehicle modality algorithm such as from an application or feature of the second processor or the third processor. If there is passive GNSS data, at block 1855, the method 1800 may determine a third velocity using the passive GNSS data. In one example, the third velocity may be determined from the passive GNSS data associated with three (3) consecutive readings of the GNSS sensor. In another example, the third velocity may be determined from the passive GNSS data associated with three (3) readings of the GNSS sensor within a certain period of time such as ten (10) seconds.
- the method 1800 may wait for passive GNSS data.
- the method 1800 may determine whether the third velocity is at least a third velocity threshold.
- the third velocity threshold may be twelve meters per second (12 m/s) or faster than a typical person may run. In another example, the third velocity threshold may be in the range of five meters per second (5 m s) to fifteen meters per second (15 m/s). If the third velocity is at least the third velocity threshold, at block 1871, the method 1800 may report to the requesting application or feature of the second processor or the third processor that the modality of the computing device is in vehicle. Otherwise, if the third velocity is less than the third velocity threshold, then the method 1800 may return to block 1851.
- FIG. 19 is a flow chart of one embodiment of a method 1900 of determining a modality of out of vehicle for a computing device having a multiple sensor integrated chip architecture with various aspects described herein.
- the multiple sensor integrated chip architecture may be similar to the architecture described by FIG. IB or FIG. 2. Further, the multiple sensor integrated chip architecture may be configured to include a first processor, a second processor, and a mira processor.
- the method 1900 may be performed by the third processor such as an application processor.
- the method 1900 may be performed by the second processor such as an LPC.
- the method 1900 may be added to the method 1800.
- FIG. 1 the method 1900 may be performed by the third processor such as an application processor.
- the method 1900 may be performed by the second processor such as an LPC.
- the method 1900 may be added to the method 1800.
- the method 1900 may begin at, for instance, block 1901 where it may receive, from an application or feature of the second processor or the third processor, a request to perform an out of vehicle modality algorithm.
- the method 1900 may determine a percentage of time that the modality is equal to a third state.
- the third state may be a walking state or a running state.
- the method 1900 may determine the percentage of time that the modality is equal to the third state by dividing an accumulated time associated with the computing device being in the third state by a measurement period such as sixty (60) seconds or one hundred and twenty (120) seconds.
- the method 1900 may determine whether the percentage of time that the modality is equal to the third state over a measurement period such as sixty (60) seconds or one hundred and twenty (120) seconds is at least a second modality percentage threshold.
- the second modality percentage threshold may be about fifty percent (50%).
- the second modality percentage threshold may be in the range of about forty percent (40%) to about one hundred percent (100%). If the percentage of time that the modality is equal to the third state is at least the second modality percentage threshold, at block 1915, the method 1900 may report to the requesting application or feature of the second processor or the third processor that the modality of the computing device is out of vehicle.
- the method 1900 may determine a fourth state time that the modality of the computing device remains in the fourth state.
- the fourth state may be associated with the computing device being stationary.
- the method 1900 may determine whether the fourth state time is at least a fourth state threshold. If the fourth state time is at least the fourth state threshold, at block 1915, the method 1900 may report to the requesting application or feature of the second processor or the third processor that me moaanty of the computing device is out of vehicle. Otherwise, if the fourth state time is less than the fourth state threshold, at block 1911, the method 1900 may determine a fifth state time that the modality of the computing device remains in the fifth state.
- the fifth state may be associated with the computing device having micro-motion or an unknown state.
- micro-motion may be associated with the computing device having small random movements detected by a sensor.
- the method 1900 may determine whether the fifth state time is at least a fifth state threshold. If the fifth state time is at least the fifth state threshold, at block 1915, the method 1900 may report to the requesting application or feature of the second processor or the third processor that the modality of the computing device is out of vehicle. Otherwise, if the fifth state time is less than the fifth state threshold, the method 1900 may return to block 1903.
- a method may be configured to receive, at the first processor, first sensor data from a first sensor.
- the method may determine, at the first processor, a motion state of the computing device using the first sensor data.
- the method may activate the second processor.
- the method may receive, at the second processor, second sensor data from a second sensor.
- the method may determine, by the second processor, that the motion state corresponds to the predetermined motion state using the second sensor data.
- the method may send the motion state to the third processor.
- the method may send, by the first processor, the motion state to the third processor.
- the method may send, by the second processor, the motion state to the third processor.
- the method may activate, by the first processor, the third processor.
- the method may receive, by the first processor, from the third processor, a request for the motion state.
- the method may receive, by the second processor, from the third processor, a request for the motion state.
- the method may determine the motion state of the computing device using the first sensor data and a first predetermined signature.
- the method may determine the motion state of the computing device using the second sensor data and a second predetermined signature.
- the method may determine that the motion state corresponds to the predetermined motion state by using the first sensor data of the first sensor and the second sensor data of the second sensor.
- the method may manage, by the first processor, a current consumption of the second processor using the motion state.
- the method may manage, by the first processor, a current consumption of the third processor using the motion state.
- the method may manage, by the second processor, a current consumption of the first processor using the motion state.
- the method may manage, by the second processor, a current consumption of the third processor using the motion state.
- the method may determine, by the first processor, that the motion state corresponds to the computing device being stationary for at least a minimum stationary time.
- the method may determine, by the first processor, that the motion state corresponds to the computing device being in motion for at least a minimum move time.
- the method may designate, at the first processor, a modality of the computing device using the motion state.
- the method may designate, at the second processor, a modality of the computing device using the motion state.
- the first sensor may use less average current consumption than the second sensor.
- the first sensor may be an accelerometer.
- the first sensor may be a gyroscope.
- the second sensor may be a global navigation satellite system (GNSS) sensor.
- GNSS global navigation satellite system
- the second sensor may be a short range wireless sensor.
- the first processor may be a sensor hub.
- the second processor may be a low-power processor (LPC).
- LPC low-power processor
- the third processor is an application processor.
- the method may use a training algorithm and training data to determine the motion state.
- a system may be configured to include a first processor operatively coupled to a first sensor.
- the system may be configured to include a second processor operatively coupled to the first processor and a second sensor. Further, the system may be configured to include a third processor operatively coupled to the second processor.
- the first processor may be configured to receive first sensor data from the first sensor. Further, the first processor may determine a motion state of the system using the first sensor data. In response to determining that the motion state corresponds to a predetermined motion state, the first processor may activate the second processor.
- the second processor may be configured to receive second sensor data from the second sensor. Further, the second processor may be configured to determine that the motion state corresponds to the predetermined motion state using the second sensor data.
- the first processor or the second processor may send the motion state to the third processor.
- the system may be configured to include a first processor operatively coupled to a third processor. Further, the first processor may be configured to activate the third processor.
- a method may receive, at the first processor, first sensor data from a first sensor. The method may determine, at the first processor, a motion state of the computing device using the first sensor data. In response to determining that the motion state of the computing device has changed and corresponds to a movement of the computing device, activating, by the first processor, the second processor. The method may determine, by the second processor, that the motion state corresponds to a predetermined motion state using the first sensor data and a first predetermined signature. In response to determining that the motion state corresponds to the predetermined motion state, the method may send the motion state to the third processor.
- a computing device having a first processor, a second processor, a third processor and a first sensor, wherein the first processor is operatively coupled to the second processor and the first sensor, wherein the second processor is operatively coupled to the third processor, wherein the improvement comprises determining, by the first processor and the second processor, that the computing device is in motion using an average current consumption by the first processor, the second processor, the third processor and the first sensor of less than eighteen milliamps (18 mA).
- a computing device having a first processor, a second processor, a third processor and a first sensor, wherein the first processor is operatively coupled to the second processor and the first sensor, wherein the second processor is operatively coupled to the third processor, wherein the improvement comprises determining, by the first processor and the second processor, that the computing device is motionless using an average current consumption by the first processor, the second processor, the third processor and the first sensor of less than seventy microamps (70 uA).
- a computing device having a first processor, a second processor, a third processor and a first sensor, wherein the first processor is operatively coupled to the second processor and the first sensor, wherein the second processor is operatively coupled to the third processor, wherein the improvement comprises determining, by the first processor and the second processor, that the computing device is in motion with an average current consumption by the first processor, the second processor, the third processor and the first sensor of less than eighteen milliamps (18 mA).
- a method may perform, at the first processor, an algorithm using a first level of confidence associated with a first sensor. In response to determining that a second level of confidence associated with a second sensor is needed, the method may activate the second processor. Further, the method may determine, by the second processor, a result of the algorithm using the second level of confidence associated with the second sensor. In response to determining that the result of the algorithm corresponds to a predetermined result, the method may send the result of the algorithm to the third processor.
- a method may perform, by the second processor, a first scan at a first scan rate for first location data using a sensor.
- the method may receive, at the second processor, from the sensor, the first location data. Further, the method may determine, by the second processor, a first location using the first location data.
- the method may receive, by the second processor, a modality of the computing device. In response to determining the first location, the method may determine, by the second processor, that the modality corresponds to a predetermined state. In response to determining that the modality corresponds to the predetermined state, the method may perform, by the second processor, a second scan at a second scan rate for second location data using the sensor.
- the method may determine, by the second processor, the velocity of the computing device using the first location data. Further, me memoa may determine, by the second processor, the second scan rate based on the velocity of the computing device.
- the predetermined state may be a stationary state.
- the predetermined state may be an in driving state.
- the second scan rate may be based on a velocity of the computing device.
- the predetermined state may be an indoor state.
- the method may decrease, by the second processor, the second scan rate below the first scan rate.
- the predetermined state may be a walking state.
- the second scan rate may be based on a velocity of the computing device.
- the method may activate a third sensor. Further, the method may receive, from the third sensor, sensor data associated with a movement of the computing device. Also, the method may determine a direction of the movement of the computing device using the sensor data.
- the third sensor may be an accelerometer.
- the method may activate a third sensor.
- the method may receive, from the third sensor, sensor data associated with a movement of the computing device. Further, the method may perform functions associated with a pedometer using the sensor data.
- the method may determine, by the first processor, the modality.
- the method may determine, by the second processor, the modality.
- the first sensor may be a GNSS sensor.
- the first sensor may be a short range wireless sensor.
- a method may receive, by the first processor operating at a first clock rate, first sensor data from a first sensor operating at a first data rate. The method may determine, by the first processor, a movement of the computing device using the first sensor data. In response to determining the movement of the computing device, the method may perform, by the first processor, a first motion state algorithm to determine whether a modality of the computing device is a first motion state.
- the method may change, by the first processor, at least one of the first processor to operate at a second clock rate sufficient to perform a second motion state algorithm and changing the first sensor to operate at a second data rate sufficient to perform the second motion state algorithm.
- the second motion state algorithm may be used to determine whether the modality of the computing device is a second motion state.
- At least one of the second processor and the third processor may be in a low power mode.
- the method may determine, by the first processor, that the modality of the computing device is the second motion state. Further, the method may send, by the first processor, the modality to at least one of the second processor and the third processor.
- the method in response to determining that the modality of the computing device is the second motion state, may activate, by the first processor, at least one of the second processor and the third processor.
- the method may determine, by the first processor, that the modality of the computing device is not the second motion state. In response to determining that the modality of the computing device is not the second motion state, the method may change, by the first processor, at least one of the first processor to operate at the first clock rate sufficient to perform the first motion state algorithm and changing the first sensor to operate at the first data rate sufficient to perform the first motion state algorithm.
- the second clock rate may be greater than the first clock rate.
- the second clock rate may be about fifty percent (50%) greater than the first clock rate.
- the second data rate may be greater than the first data rate.
- the second data rate may be about fifty percent (50%) greater than the first data rate.
- the first motion state may be associated with the computing device being stationary and the second motion state may be associated with the computing device moving at a walking speed.
- the first motion state may be associated with the computing device moving at a walking speed and the second motion state may be associated with the computing device moving at a running speed.
- the first motion state may be associated with the computing device moving at a running speed and the second motion state may be associated with the computing device moving at a vehicle speed.
- the first sensor may be an accelerometer.
- the method in response to determining the movement of the computing device, may change, by the first processor, at least one of the first processor to operate at a third clock rate sufficient to perform the first motion state algorithm and the first sensor to operate at a third data rate sufficient to perform the first motion state algorithm.
- the third clock rate may be greater than the first clock rate.
- the third clock rate may be and less than the second clock rate.
- the third data rate may be greater than the first data rate and less than the second data rate.
- a method may receive, by the first processor, sensor data from a first sensor. The method may determine, by the first processor, a movement by the computing device using the sensor data. Further, the method may receive, by the first processor, a modality of the computing device. In response to determining that the modality corresponds to a predetermined state, determining, by the first processor, a modality move distance associated with the predetermined state. The method may determine, by the first processor, a move distance of the computing device using the modality move distance.
- the method may determine, by the first processor, that the move distance of the computing device is at least a move distance threshold. In response to determining that the move distance of the computing device is at least a move distance threshold, reporting, by the first processor, to at least one of the second processor and the third processor, that the move distance of the computing device is at least the move distance threshold.
- the method may receive, by the first processor, from at least one of the second processor and the third processor, a request to perform an accumulated movement algorithm.
- the method may receive the request to perform the accumulated movement algorithm including receiving the move distance threshold.
- the modality move distance may be a product of the duty cycle of an accumulated movement algorithm and a velocity of the predetermined state.
- the method may request, by at least one of the second processor and the third processor, a global navigational satellite system (GNSS) position from a second sensor.
- the method may receive, by at least one of the second processor and the third processor, the GNSS position from the second sensor. Further, the method may determine, by at least one of the second processor and the third processor, a move distance threshold from the GNSS position to a geo- fence boundary. Also, the method may send, by at least one of the second processor and the third processor, to the first processor, a request to perform an accumulated movement algorithm LU 18» j m another embodiment, the method may send the request to perform the accumulated movement algorithm including sending the move distance threshold.
- GNSS global navigational satellite system
- the method may report includes reporting the move distance.
- the first sensor may be an accelerometer.
- a method may determine, by the second processor, a percentage of time that a modality of the computing device is a first predetermined state. In response to determining that the percentage of time that the modality of the computing device is the first predetermined state is at least a first modality percentage threshold, the method may perform, by the second processor, a first scan at a first time of first available access points (APs) using a sensor. The method may receive, at the second processor, first AP identification data for each first available AP using the sensor. Further, the method may send, from the second processor, to a server, the first AP identification data.
- APs first available access points
- the method may receive, at the second processor, from the server, a first location of the computing device associated with the first time. Also, the method may perform, by the second processor, a second scan at a second time of the second available APs using the sensor. The method may send, from the second processor, to the server, the second AP identification data. The method may receive, at the second processor, from the server, a second location of the computing device associated with the second time. Further, the method may determine, by the second processor, a velocity of the computing device using at least one of the first location, the second location, the first time and the second time. In response to the velocity of the computing device being at least a predetermined velocity threshold, reporting, by the second processor, to the third processor, that the modality is in vehicle.
- the first AP identification data may include at least one of a received signal strength indicator (RSSI), a service set identifier (SSID) and a basic service set identifier (BSSID).
- the second AP identification data may include at least one of a received signal strength indicator (RSSI), a service set identifier (SSID) and a basic service set identifier (BSSID).
- the method may determine, by the second processor, that the computing device is communicatively coupled to the first static AP using the sensor.
- the method may perform the first scan at the first time of first available APs while the modality is the first predetermined state.
- the method may perform the second scan at the second time of second available APs while the modality is the first predetermined state.
- the method in response to the velocity of the computing device being at least a certain velocity threshold, the method may activate, by the second processor, the third processor.
- the first predetermined state may be an in vehicle state.
- the first modality percentage threshold may be in the range of about fifty percent (50%) to about one hundred percent (100%).
- the predetermined velocity threshold may be in the range of five meters per second (5 m/s) to ten meters per second (10 m/s).
- a method may determine, by the second processor, that a modality of the computing device is a first predetermined state. In response to determining that the modality is the first predetermined state, the method may receive, by the second processor, sensor data from a sensor. The method may determine, by the second processor, a velocity of the computing device using the sensor data. Further, the method may determine, by the second processor, that the velocity of the computing device is at least a predetermined velocity threshold. In response to determining that the velocity of the computing device is at least the predetermined velocity threshold, the method may report, by the second processor, to the third processor, that the modality of the computing device is in vehicle.
- the first predetermined state may be an in vehicle state.
- the senor may be a GNSS sensor.
- connection means that one function, feature, structure, component, element, or characteristic is directly joined to or in communication with another function, feature, structure, component, element, or characteristic.
- coupled means that one function, feature, structure, component, element, or characteristic is directly or indirectly joined to or in communication with another function, feature, structure, component, element, or characteristic. Relational terms such as “first” and “second,” and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.
- the term “or” is intended to mean an inclusive or.
- processors such as microprocessors, digital signal processors, customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the method and/or apparatus described herein.
- processors or “processing devices”
- FPGAs field programmable gate arrays
- unique stored program instructions including both software and firmware
- these methods, devices, systems, or articles of manufacture may include or not include additional components, elements, memoers, modules, nodes, peripherals, or the like.
- the various aspects described herein may be implemented using standard programming or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computing device to implement the disclosed subject matter.
- the term "article of manufacture” as used herein is intended to encompass a computer program accessible from any computing device, carrier, or media.
- a non- transitory computer-readable medium may include: a magnetic storage device such as a hard disk, a floppy disk or a magnetic strip; an optical disk such as a compact disk (CD) or digital versatile disk (DVD); a smart card; and a flash memory device such as a card, stick or key drive.
- a carrier wave may be employed to carry computer-readable electronic data including those used in transmitting and receiving electronic data such as electronic mail (e-mail) or in accessing a computer network such as the Internet or a local area network (LAN).
- a person of ordinary skill in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Telephone Function (AREA)
Abstract
La présente invention se rapporte à un procédé, à un dispositif, à un système ou à un article de fabrication, adaptés pour exécuter une gestion à faible consommation d'énergie d'une architecture de puce intégrée à plusieurs capteurs. Dans l'un des modes de réalisation de l'invention, un procédé comprend : l'exécution, à un dispositif informatique qui comprend un premier processeur, un deuxième processeur et un troisième processeur, d'un premier balayage en rapport avec des premières données de position, à une première vitesse de balayage, au moyen d'un capteur ; la réception des premières données de position, au deuxième processeur, en provenance du capteur ; la détermination d'une première position, par le deuxième processeur, au moyen des premières données de position ; la réception d'une modalité du dispositif informatique, par le deuxième processeur ; en réponse à la détermination de la première position, la détermination, par le deuxième processeur, que la modalité correspond à un prédéterminé état ; et, en réponse à la détermination selon laquelle la modalité correspond à l'état prédéterminé, l'exécution, par le deuxième processeur, d'un second balayage en rapport avec des secondes données de position, à une seconde vitesse de balayage, au moyen du capteur.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261728921P | 2012-11-21 | 2012-11-21 | |
US61/728,921 | 2012-11-21 | ||
US201361776868P | 2013-03-12 | 2013-03-12 | |
US61/776,868 | 2013-03-12 | ||
US201361827458P | 2013-05-24 | 2013-05-24 | |
US61/827,458 | 2013-05-24 | ||
US13/930,567 | 2013-06-28 | ||
US13/930,567 US20140351560A1 (en) | 2013-05-24 | 2013-06-28 | Low Power Management of Multiple Sensor Integrated Chip Architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2014081949A2 true WO2014081949A2 (fr) | 2014-05-30 |
WO2014081949A3 WO2014081949A3 (fr) | 2014-12-18 |
Family
ID=49887199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2013/071277 WO2014081949A2 (fr) | 2012-11-21 | 2013-11-21 | Gestion à faible consommation d'énergie d'une architecture de puce intégrée à plusieurs capteurs |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2014081949A2 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183136A (zh) * | 2015-09-07 | 2015-12-23 | 联想(北京)有限公司 | 电子设备和信息处理方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107197440A (zh) * | 2017-06-16 | 2017-09-22 | 深圳市华域无线技术股份有限公司 | 利用加WiFi数据降低定位频率的方法及定位终端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7359713B1 (en) * | 2003-02-28 | 2008-04-15 | Trimble Navigation Limited | Battery consumption optimization for mobile users |
US8325088B2 (en) * | 2009-02-04 | 2012-12-04 | Google Inc. | Mobile device battery management |
US20110215903A1 (en) * | 2010-03-04 | 2011-09-08 | Nokia Corporation | Apparatus and Associated Methods |
US9880604B2 (en) * | 2011-04-20 | 2018-01-30 | Microsoft Technology Licensing, Llc | Energy efficient location detection |
-
2013
- 2013-11-21 WO PCT/US2013/071277 patent/WO2014081949A2/fr active Application Filing
Non-Patent Citations (1)
Title |
---|
None |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183136A (zh) * | 2015-09-07 | 2015-12-23 | 联想(北京)有限公司 | 电子设备和信息处理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014081949A3 (fr) | 2014-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9348434B2 (en) | Low power management of multiple sensor integrated chip architecture | |
CN107076561B (zh) | 在位置确定期间考虑室内-室外过渡 | |
EP3137849B1 (fr) | Detection automatique de stationnement et d'emplacement de vehicules | |
US10440651B2 (en) | Operating geographic location systesm | |
US9880604B2 (en) | Energy efficient location detection | |
KR20170017591A (ko) | 경로 정보 제공 방법 및 그 방법을 처리하는 전자 장치 | |
WO2012001462A1 (fr) | Procédé et appareil permettant le contrôle de la consommation d'énergie sur la base du contexte | |
EP3612862B1 (fr) | Suivi de localisation basé sur l'état | |
US11059438B2 (en) | Vehicle on-boarding recognition method and electronic device implementing same | |
EP2923250B1 (fr) | Gestion à faible consommation d'énergie d'une architecture de puce intégrée à plusieurs capteurs | |
US20230098616A1 (en) | Method for Invoking NFC Application, Electronic Device, and NFC Apparatus | |
KR20170114636A (ko) | 식별 정보를 제공하는 전자 장치 및 방법 | |
EP2891343B1 (fr) | Détection de proximité efficace | |
WO2014081949A2 (fr) | Gestion à faible consommation d'énergie d'une architecture de puce intégrée à plusieurs capteurs | |
WO2014081956A2 (fr) | Gestion basse puissance d'architecture de puce intégrée à multiples capteurs | |
WO2014081952A2 (fr) | Gestion à faible consommation d'énergie d'une architecture de puce intégrée à plusieurs capteurs | |
KR20170111241A (ko) | 식별 정보를 제공하는 전자 장치 및 방법 | |
US11864154B2 (en) | Crowdsourced building structure detection with synthetic data generation | |
KR101573198B1 (ko) | 관심 지점 자동 인식을 위한 방법 및 장치, 이를 위한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13815190 Country of ref document: EP Kind code of ref document: A2 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 16/10/2015) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13815190 Country of ref document: EP Kind code of ref document: A2 |