The present disclosure relates to input devices for electronic devices and, more particularly, to methods and devices for receiving reflectance-based input.
Electronic devices are often equipped with one or more input devices for receiving instructions, commands, and other input from users of such electronic devices. For example, electronic devices often have one or more depressible buttons or keys which may be activated by a user to input instructions, commands, and other input to the electronic device. Such input devices may include a track pad, trackball, or touch pad, which may be used for providing navigational input to the electronic device. Recently, touchscreen display screens have become commonplace. Touchscreen displays are displays which have a touch-sensitive overlay for receiving input.
While input devices for electronic devices are available in many different shapes and sizes, such input devices often require a user to engage a specific portion of an electronic device (such as a button) through direct contact with that portion (e.g. by pressing a button). Such contact may soil the electronic device. For example, touchscreen displays sometimes become obscured from fingerprints which are left on the display following user contact. In addition to attracting dirt and debris, repeated contact on mechanically activated input devices may result in failure of such input devices over time (e.g. repeated pressing of a button may result in failure of that button).
Reference will now be made, by way of example, to the accompanying drawings which show example embodiments of the present application and in which:
Like reference numerals are used in the drawings to denote like elements and features.
In one aspect, the present disclosure describes a method for receiving reflectance-based input on an electronic device. The electronic device includes a plurality of electromagnetic radiation emitting devices and one or more electromagnetic radiation receiving devices is for receiving reflected light from the electromagnetic radiation emitting devices. The method includes: repeatedly performing a reflectance measuring routine, the reflectance measuring routine including: i) alternatingly outputting light at each of the plurality of electromagnetic radiation emitting devices; and ii) monitoring light received at one or more of the electromagnetic radiation receiving devices as a result of the alternating output. The method further includes: determining, based on the light received at the one or more electromagnetic radiation receiving devices, whether a predetermined gesture has been performed; and performing a function associated with the predetermined gesture when the predetermined gesture has been performed.
In yet another aspect, the present disclosure describes an electronic device. The electronic device includes a reflectance-based input device. The reflectance-based input device comprises a plurality of electromagnetic radiation emitting devices and one or more electromagnetic radiation receiving devices for receiving reflected light from the electromagnetic radiation emitting devices. The reflectance-based input device may be configured to alternatingly output light at each of a plurality of the electromagnetic radiation emitting devices and to monitor light received at one or more of the electromagnetic radiation receiving devices as a result of the alternating output. The electronic device includes a processor which is configured to: determine, based on the light received at the one or more electromagnetic radiation receiving devices, whether a predetermined gesture has been performed; and perform a function associated with the predetermined gesture when the predetermined gesture has been performed.
In yet another aspect, the present disclosure describes a gesture companion device. The gesture companion device includes a reflectance-based input device. The reflectance-based input device includes a plurality of electromagnetic radiation emitting devices and one or more electromagnetic radiation receiving devices for receiving reflected light from the electromagnetic radiation emitting devices. The gesture companion device further includes a short range communication subsystem for sending data to a primary electronic device based on the received reflected light.
In yet another aspect, the present disclosure describes a reflectance-based input device. The reflectance-based input device comprises: four infrared diodes arranged in a rectangle; and one or more photodiodes for receiving reflected light from the infrared diodes.
Other example embodiments of the present disclosure will be apparent to those of ordinary skill in the art from a review of the following detailed descriptions in conjunction with the drawings.
Example Electronic Device with Reflectance-Based Input Device
Reference will now be made to
The reflectance-based input device 261 is configured to allow a user of the electronic device 201 to input one or more instructions, commands, or other input to the electronic device 201. More particularly, the reflectance-based input device 261 may be configured to receive contactless input from a user of the electronic device 201. Contactless input, which may also be referred to as touch-less input, is input which does not require a user to physically touch the electronic device 201. For example, the contactless input may be provided by a user to the electronic device 201 through movement of a hand 506 (
More particularly, the contactless input may be provided by a user by moving a hand 506 (
In the embodiment of
As illustrated in
The infrared diodes 102a, 102b, 102c, 102d are configured to emit infrared light from one side of the electronic device 201. That is, the infrared diodes 102a, 102b, 102c, 102d may be diodes which emit light which is outside of the visible spectrum. The side of the electronic device 201 which emits such light may be referred to as the sensing side 112.
As will be discussed in greater detail below with reference to
When light is emitted by the infrared diodes 102a, 102b, 102c, 102d, the light may be reflected by an object (such as a hand 506 (
The reflectance-based input device 261 of the electronic device 201 includes one or more electromagnetic radiation receiving devices. In one example, the reflectance-based input device 261 of the electronic device 201 includes photodiodes 104a, 104b for receiving light which is output from the infrared diodes 102a, 102b, 102c, 102d and reflected by an object (such as a hand 506 (
The example reflectance-based input device 261 of
The photodiodes 104a, 104b may each be located along a line whose endpoints are defined by two of the infrared diodes 102a, 102b, 102c, 102d. For example, in the illustrated embodiment, a first photodiode 104a is located along a line defined by the first infrared diode 102a and the fourth infrared diode 102d and a second photodiode 104b is located along a line defined by the second infrared diode 102b and the third infrared diode 102c. The photodiodes 104a, 104b may each be disposed midway between two of the infrared diodes 102a, 102b, 102c, 102d. For example, the first photodiode 104a may be located midway between the first infrared diode 102a and the fourth infrared diode 102d and the second photodiode 104b may be located midway between the second infrared diode 102b and the third infrared diode 102c.
The photodiodes 104a, 104b and the infrared diodes 102a, 102b, 102c, 102d may be mounted on a substrate 108 (
The photodiodes 104a, 104b are generally oriented so that the photodiodes sense little or no direct light from the infrared diodes 102a, 102b, 102c, 102d. That is, the light emitted from the infrared diodes 102a, 102b, 102c, 102d is not directed at the photodiodes 104a, 104b. Instead, the photodiodes 104a, 104b are orientated to capture reflected light. That is, the photodiodes 104a, 104b are oriented to capture light which is emitted from the infrared diodes 102a, 102b, 102c, 102d and which reflects off of an object and is then directed at the photodiodes 104a, 104b. In the embodiment of
The reflectance-based input device 261 has a sensing area 106. The sensing area 106 is a region in space in which an object located within that area may receive light from one of the infrared diodes 102a, 102b, 102c, 102d and may reflect the light to one of the photodiodes 104a, 104b. Accordingly, the sensing area 106 is defined, at least in part, by the infrared diodes 102a, 102b, 102c, 102d.
For the purposes of illustration, the sensing area 106 has been illustrated as a region which is a rectangular prism, having corners which are formed by the infrared diodes 102a, 102b, 102c, 102d. While such a sensing area 106 is useful for illustration and conceptual purposes, such a well-defined sensing area may not exist in practice. The sensing area 106 may not be a rectangular prism and may not be static. That is, the sensing area 106 may not be the same for all purposes, and in all environments. The sensing area 106 may, for example, depend on the shape of an object reflecting light, the ambient lighting, the material of the object and its ability to reflect light, and other factors. The sensing area 106 is a three-dimensional area. That is, the sensing area is a region of space and is not an area in the mathematic sense.
Furthermore, the sensing area 106 will typically not be aligned with the infrared diodes 102a, 102b, 102c, 102d as illustrated in
As will be discussed in greater detail with respect to
The type of movement may, for example, be a vertical gesture (i.e. a gesture in which an object is moved perpendicular to the plane 110 defined by the infrared diodes 102a, 102b, 102c, 102c, 102d), or a horizontal gesture (i.e. a gesture in which an object is moved parallel to the plane 110 defined by the infrared diodes 102a, 102b, 102c, 102d), or a rotational gesture (i.e. a gesture in which an object is rotated relative to the plane 110 defined by the infrared diodes 102a, 102b, 102c, 102d).
In at least some embodiments, the electronic device 201 may determine one or more movement characteristics regarding the movement of the object. For example, in at least some embodiments, the electronic device 201 may determine, based on the reflected light received at the photodiodes 104a, 104b, the direction of movement of the object. For example, in some embodiments, when the movement is a vertical gesture, the electronic device 201 may determine whether the movement is an inward vertical gesture (i.e. a movement of the object towards the electronic device 201) or an outward vertical gesture (i.e. a movement of the object away from the electronic device 201). Similarly, in at least some embodiments, the electronic device 201 may be configured to determine a velocity of the movement.
Accordingly, in at least some embodiments, based on the reflected light received at the photodiodes 104a, 104b, the electronic device 201 may determine whether one or more gestures have been performed.
In the embodiment of
In other embodiments, the electronic device 201 may be a smartphone. A smartphone is a mobile phone which offers more advanced computing capability than a basic non-smart cellular phone. For example, a smartphone may have the ability to run third party applications which are stored on the smartphone.
The electronic device 201 may, in other embodiments, be of another type. For example, in some embodiments, the electronic device may be a remote control, such as a television remote control, a navigation system, such as a Global Positioning System, a wearable computer, such as a watch, a personal digital assistant (PDA), a desktop, netbook, notebook or laptop style computer system, or a television.
As will be described in greater detail below with reference to
The electronic device 201 may, in other embodiments, be of a type not specifically listed herein.
One or more modifications may be made to the reflectance-based input device 261 of
Similarly, while the embodiment of
Similarly, while the embodiment of
An overview having been provided, reference will now be made to
The electronic device 201 of
The electronic device 201 may include a touchscreen display in some example embodiments. The touchscreen display may be constructed using a touch-sensitive input surface connected to an electronic controller. The touch-sensitive input surface overlays the display 204 and may be referred to as a touch-sensitive overlay. The touch-sensitive overlay and the electronic controller provide a touch-sensitive input interface 206 and the processor 240 interacts with the touch-sensitive overlay via the electronic controller. That is, the touchscreen display acts as both an input interface 206 and an output interface 205.
The communication subsystem 211 includes a receiver 214, a transmitter 216, and associated components, such as one or more antenna elements 218 and 221, local oscillators (LOs) 213, and a processing module such as a digital signal processor (DSP) 215. The antenna elements 218 and 221 may be embedded or internal to the electronic device 201 and a single antenna may be shared by both receiver 214 and transmitter 216, as is known in the art. The particular design of the wireless communication subsystem 211 depends on the wireless network 101 in which the electronic device 201 is intended to operate.
The electronic device 201 may communicate with any one of a plurality of fixed transceiver base stations of the wireless network 101 within its geographic coverage area. The electronic device 201 may send and receive communication signals over the wireless network 101 after the required network registration or activation procedures have been completed. Signals received by the antenna 218 through the wireless network 101 are input to the receiver 214, which may perform such common receiver functions as signal amplification, frequency down conversion, filtering, channel selection, etc., as well as analog-to-digital (A/D) conversion. A/D conversion of a received signal allows more complex communication functions such as demodulation and decoding to be performed in the DSP 215. In a similar manner, signals to be transmitted are processed, including modulation and encoding, for example, by the DSP 215. These DSP-processed signals are input to the transmitter 216 for digital-to-analog (D/A) conversion, frequency up conversion, filtering, amplification, and transmission to the wireless network 101 via the antenna 221. The DSP 215 not only processes communication signals, but may also provide for receiver and transmitter control. For example, the gains applied to communication signals in the receiver 214 and the transmitter 216 may be adaptively controlled through automatic gain control algorithms implemented in the DSP 215.
In some example embodiments, the auxiliary input/output (I/O) subsystems 250 may include an external communication link or interface, for example, an Ethernet connection. The electronic device 201 may include other wireless communication interfaces for communicating with other types of wireless networks; for example, a wireless network such as an orthogonal frequency division multiplexed (OFDM) network.
In some example embodiments, the electronic device 201 also includes a removable memory module 230 (typically including flash memory) and a memory module interface 232. Network access may be associated with a subscriber or user of the electronic device 201 via the memory module 230, which may be a Subscriber Identity Module (SIM) card for use in a GSM network or other type of memory module for use in the relevant wireless network type. The memory module 230 may be inserted in or connected to the memory module interface 232 of the electronic device 201.
The electronic device 201 may store data 227 in an erasable persistent memory, which in one example embodiment is the flash memory 244. In various example embodiments, the data 227 may include service data having information required by the electronic device 201 to establish and maintain communication with the wireless network 101. The data 227 may also include user application data such as email messages, address book and contact information, calendar and schedule information, notepad documents, image files, and other commonly stored user information stored on the electronic device 201 by its user, and other data.
The data 227 stored in the persistent memory (e.g. flash memory 244) of the electronic device 201 may be organized, at least partially, into a number of databases or data stores each containing data items of the same data type or associated with the same application. For example, email messages, contact records, and task items may be stored in individual databases within the electronic device 201 memory.
The data port 252 may be used for synchronization with a user's host computer system. The data port 252 enables a user to set preferences through an external device or software application and extends the capabilities of the electronic device 201 by providing for information or software downloads to the electronic device 201 other than through the wireless network 101. The alternate download path may for example, be used to load an encryption key onto the electronic device 201 through a direct, reliable and trusted connection to thereby provide secure device communication.
In some example embodiments, the electronic device 201 is provided with a service routing application programming interface (API) which provides an application with the ability to route traffic through a serial data (i.e., USB) or Bluetooth® (Bluetooth® is a registered trademark of Bluetooth SIG, Inc.) connection to the host computer system using standard connectivity protocols. When a user connects their electronic device 201 to the host computer system via a USB cable or Bluetooth® connection, traffic that was destined for the wireless network 101 is automatically routed to the electronic device 201 using the USB cable or Bluetooth® connection. Similarly, any traffic destined for the wireless network 101 is automatically sent over the USB cable Bluetooth® connection to the host computer for processing.
The electronic device 201 also includes a battery 238 as a power source, which is typically one or more rechargeable batteries that may be charged, for example, through charging circuitry coupled to a battery interface 236 such as the serial data port 252. The battery 238 provides electrical power to at least some of the electrical circuitry in the electronic device 201, and the battery interface 236 provides a mechanical and electrical connection for the battery 238. The battery interface 236 is coupled to a regulator (not shown) which provides power V+ to the circuitry of the electronic device 201.
The short-range communication subsystem 262 is an additional optional component which provides for communication between the electronic device 201 and different systems or devices, which need not necessarily be similar devices. For example, the short-range communication subsystem 262 may include an infrared device and associated circuits and components, or a wireless bus protocol compliant communication mechanism such as a Bluetooth® communication module to provide for communication with similarly-enabled systems and devices.
The electronic device 201 includes a reflectance-based input device 261. The reflectance-based input device 261 is an input interface 206 which allows the electronic device 201 to receive contactless input. The reflectance-based input device 261 includes plurality of infrared diodes 102a, 102b, 102c, 102d which may, for example, be the infrared diodes 102a, 102b, 102c, 102d of
The reflectance-based input device 261 also includes a diode controller 269. The diode controller 269 is electrically connected to the infrared diodes 102a, 102b, 102c, 102d and is configured to control the infrared diodes. That is, the diode controller 269 is configured to cause one or more infrared diodes to emit a pulse of infrared light. In at least some embodiments, the diode controller 269 may include timing components. The timing components may be hardware or software based components which may be used to cause the infrared diodes to emit a pulse of infrared light according to a timing schedule. In at least some embodiments, the diode controller 269 is configured to cause the infrared diodes to alternatingly output a pulse of light. That is, the diode controller 269 may cause a pulse of infrared light to be alternatingly output from each of a plurality of infrared diodes 102a, 102b, 102c, 102d. More particularly, the diode controller 269 may be configured to trigger the infrared diodes 102a, 102b, 102c, 102d so that no two infrared diodes emit light at any given time. That is, while one infrared diode is emitting light, the diode controller 269 may cause the other infrared diodes to remain idle (i.e. to not emit any light).
Accordingly, in at least some embodiments, the diode controller 269 is configured to trigger the infrared diodes 102a, 102b, 102c, 102d one-by-one. After an infrared diode is triggered, the diode controller 269 may wait before triggering another one of the infrared diodes. For example, after an infrared diode is triggered, the diode controller 269 may wait a predetermined period of time before triggering another infrared diode. This period of time may allow the electronic device 201 to observe the amount of light that is reflected following each pulse. The diode controller 269 may alternatingly trigger the infrared diodes until all of the infrared diodes have been triggered (i.e. until all of the infrared diodes have had an opportunity to emit a pulse of light). After all of the infrared diodes have been triggered, the diode controller 269 may begin the triggering process again. For example, the diode controller 269 may then cause an infrared diode which was already triggered (i.e. which already emitted light) to do so again.
The diode controller 269 is also electrically connected to the one or more photodiodes 104a, 104b. More particularly, the diode controller 269 is configured to act as a receiver and to receive signals from the photodiodes 104a, 104b which are representative of the light received by the photodiodes 104a, 104b. That is, the signals which are output by the photodiodes 104a, 104b and received at the diode controller 269 may indicate the amount of light received at the photodiodes 104a, 104b.
In at least some embodiments, the diode controller 269 is configured to sample the light received at one or more of the photodiodes 104a, 104b during or immediately after each pulse of light emitted from an infrared diode 102a, 102b, 102c, 102d. That is, when one of the infrared diodes 102a, 102b, 102c, 102d emits a pulse of light, the diode controller 269 observes the amount of light that is received at one or more of the photodiodes 104a, 104b. That is, the diode controller 269 may be configured to observe the amount of light received at one or more of the photodiodes 104a, 104b as a result of a pulse of light being emitted from an infrared diode 102a, 102b, 102c, 102d.
In at least some embodiments, the diode controller 269 may be configured to sample the light received at all of the photodiodes 104a, 104b. That is, when light is emitted from an infrared diode 102a, 102b, 102c, 102d, the diode controller 269 may sample the light received at all of the photodiodes 104a, 104b to allow the electronic device 201 to assess the amount of emitted light which was reflected to each photodiode 104a, 104b. In other embodiments, the diode controller 269 may not, during or immediately after each pulse of light, sample the light received at all photodiodes 104a, 104b. For example, in at least some embodiments, when light is emitted from an infrared diode 102a, 102b, 102c, 102d, the diode controller 269 may only sample the light received at one of the photodiodes 104a, 104b. That is, in at least some embodiments, the measurement of the amount of light from only one of the photodiodes 104a, 104b may be monitored and/or considered. Accordingly, in at least some embodiments, when a pulse of light is emitted at an infrared diode 102a, 102b, 102c, 102d, the received light at one of the photodiodes 104a, 104b may be monitored and/or considered and the received light at another one of the photodiodes 104a, 104b may be ignored (i.e. either not monitored or not considered or both).
In at least some embodiments, the photodiode 104a, 104b which is used for the monitoring (i.e. the photodiode 104a, 104b which is sampled) will depend on the infrared diode 102a, 102b, 102c, 102d which emitted the pulse of infrared light. For example, in some embodiments, the photodiode 104a, 104b which is closest to the infrared diode 102a, 102b, 102c, 102d which emitted the light will be used to measure the reflected light. For example, when light is emitted from a first infrared diode 102a, the light received at the photodiode 104a, 104b which is closest to that infrared diode 102a may be considered and/or monitored (e.g. in the example embodiment of
In at least some embodiments, the diode controller 269 is configured to store data representing the received light to a memory, such as in a cache or a permanent memory. In some embodiments, the diode controller 269 may output data representing the received light to the processor 240 of the electronic device 201. In at least some such embodiments, the processor 240 may store the data in memory, such as a cache. Accordingly, the diode controller 169 may be communicably connected to the processor 240.
The diode controller 269 may, in at least some embodiments, be configured to perform signal processing on signals received from the photodiodes 104a, 104b. For example, in some example embodiments, the diode controller 269 may be configured to perform noise filtering and/or to filter out effects due to ambient light (e.g. light from sources other than the infrared diodes 104a, 104b, 104c, 104d). In at least some such embodiments, the diode controller 269 may be equipped with one or more hardware or software based filters.
By way of further example, in at least some embodiments, the diode controller 269 may be configured to amplify the signals received from the photodiodes 104a, 104b. For example, the diode controller 269 may be equipped with a signal amplifier which may be used to amplify such signals. In at least some embodiments, the diode controller 269 may output data based on the amplified signals to the processor 240 and/or store data representing the amplified signals to memory.
In at least some embodiments, the diode controller 269 may include a processor and/or memory. In at least some embodiments, the processor may be configured to determine, from the signals from the photodiodes, whether one or more predetermined gestures have been performed. In at least some embodiments, the processor of the diode controller 269 may be configured to perform the functions of the gesture interpretation module 297 described below. In at least some such embodiments, a memory associated with the processor of the diode controller 269 may include computer readable instructions which, when executed, cause the processor of the diode controller 269 to perform one or more of the functions of the gesture interpretation module 297 which are discussed in greater detail below.
A predetermined set of applications that control basic device operations, including data and possibly voice communication applications may be installed on the electronic device 201 during or after manufacture. Additional applications and/or upgrades to an operating system 222 or software applications 224 may also be loaded onto the electronic device 201 through the wireless network 101, the auxiliary I/O subsystem 250, the data port 252, the short-range communication subsystem 262, or other suitable device subsystems 264. The downloaded programs or code modules may be permanently installed; for example, written into the program memory (e.g. the flash memory 244), or written into and executed from the RAM 246 for execution by the processor 240 at runtime.
In some example embodiments, the electronic device 201 may provide two principal modes of communication: a data communication mode and a voice communication mode. In the data communication mode, a received data signal such as a text message, an email message, or webpage download will be processed by the communication subsystem 211 and input to the processor 240 for further processing. For example, a downloaded webpage may be further processed by a web browser or an email message may be processed by the email messaging application and output to the display 204. A user of the electronic device 201 may also compose data items, such as email messages; for example, using an input interface 206 in conjunction with the display 204. These composed items may be transmitted through the communication subsystem 211 over the wireless network 101.
In the voice communication mode, the electronic device 201 provides telephony functions and may operate as a typical cellular phone. The overall operation is similar to the data communication mode, except that the received signals would be output to the speaker 256 and signals for transmission would be generated by a transducer such as the microphone 258. The telephony functions are provided by a combination of software/firmware (i.e., a voice communication module) and hardware (i.e., the microphone 258, the speaker 256 and input devices). Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, may also be implemented on the electronic device 201. Although voice or audio signal output may be accomplished primarily through the speaker 256, the display 204 may also be used to provide an indication of the identity of a calling party, duration of a voice call, or other voice call related information.
The processor 240 operates under stored program control and executes software modules 220 stored in memory such as persistent memory; for example, in the flash memory 244. As illustrated in
The gesture interpretation module 297 is configured to determined, based on the amount of light received at the photodiodes, whether a predetermined gesture has occurred. The predetermined gesture may, for example, be a contactless gesture which does not require contact with the electronic device 201. That is, the predetermined gesture may be a gesture which is performed in space. Example methods for determining whether a predetermined gesture has been performed will be discussed below with reference to
The electronic device 201 may include a range of additional software applications 224, including, for example, a notepad application, voice communication (i.e. telephony) application, mapping application, a media player application, or any combination thereof. Each of the software applications 224 may include layout information defining the placement of particular fields and graphic elements (e.g. text fields, input fields, icons, etc.) in the user interface (i.e. the display 204) according to the application.
The software modules 220 or parts thereof may be temporarily loaded into volatile memory such as the RAM 246. The RAM 246 is used for storing runtime data variables and other types of data or information. Although specific functions are described for various types of memory, this is merely one example, and a different assignment of functions to types of memory could also be used.
Referring now to
In at least some embodiments, one or more functions or features of the method 400 may be performed by the reflectance-based input device 261 (
In at least some embodiments, one or more of the functions or features of the method 400 of
At 402, the reflectance-based input device 261 of the electronic device 201 repeatedly performs a reflectance measuring routine. The reflectance measuring routine may be controlled by a diode controller 269 (
During the reflectance measuring routine, the infrared diodes 102a, 102b, 102c, 102d of the electronic device 201 are alternatingly activated by the diode controller 269. That is, the diode controller 269 may cause a pulse of infrared light to be alternatingly output from each of a plurality of infrared diodes 102a, 102b, 102c, 102d. Accordingly, during each cycle of the reflectance measuring routine, a pulse of infrared light may be output from each of the infrared diodes 102a, 102b, 102c, 102d.
In at least some embodiments, during the reflectance measuring routine, infrared light is only output from one of the infrared diodes 102a, 102b, 102c, 102d at any given time. That is, each infrared diode 102a, 102b, 102c, 102d may take its turn at outputting infrared light while the other infrared diodes 102a, 102b, 102c, 102d are idle. For example, during the reflectance measuring routine, infrared light may be first output from the first infrared diode 102a while the other infrared diodes 102b emit no light and then light may be output from another one of the infrared diodes, such as a second diode 102b while the other infrared diodes emit no light, and then light may be output from another one of the infrared diodes, such as the third diode 102c while the other infrared diodes emit no light, and then light may be output from another one of the infrared diodes, such as the fourth diode 102d while the other infrared diodes emit no light.
During the reflectance measuring routine, the amount of infrared light received at one or more of the photodiodes 104a, 104b during (or immediately after) each pulse is monitored. That is, the amount of light received at one or more of the photodiodes 104a, 104b as a result of the pulses is monitored and may be logged. By way of example, in some embodiments, the diode controller 269 may act as a receiver and may be connected to the photodiodes 104a, 104b. The diode controller 269 may receive signals from the photodiodes 104a, 104b which are representative of the light received by the photodiodes 104a, 104b. That is, the signals which are output by the photodiodes 104a, 104b and received at the diode controller 269 may be proportional to the amount of light received at the photodiodes 104a, 104b. In at least some embodiments, the diode controller 269 stores data representing the received light to a memory, such as in a cache. In some embodiments, the diode controller 269 may output data representing the received light to the processor 240 (
In at least some embodiments, at 402, the diode controller 269 and/or the processor 240 associates the received light from a photodiode 104a, 104b with the infrared diode 102a, 102b, 102c, 102d which caused that received light. That is, the diode controller 269 and/or the processor 240 track which infrared diode 102a, 102b, 102c, 102d was triggered immediately before the receipt of the light at the photodiode 104a, 104b and associate that infrared diode 102a, 102b, 102c, 102d with that received light. The diode controller 269 and/or the processor 240 do not meld the received light caused by all of the infrared diodes 102a, 102b, 102c, 102d. The diode controller 269 and/or the processor 240 handle the data regarding the received light so that an association between the received light and the infrared diode which caused that received light is maintained. For example, in some embodiments, when data representing the received light is stored, it is associated, in memory, with the infrared diode 102a, 102b, 102c, 102d which caused that received light.
By maintaining an association between the received light and the infrared diode 102a, 102b, 102c, 102d which caused that received light, the electronic device 201 is able to monitor how light reflectance in various regions of the sensing area 106 (
In order to monitor changes in reflected light caused by each of the infrared diodes 102a, 102b, 102c, 102d, the reflectance measuring routine may be performed repeatedly. That is, the reflectance measuring routine may be performed more than once so that it is possible to assess reflectance changes in various regions of the electronic device 201. Accordingly, in at least some embodiments, each of the infrared diodes 102a, 102b, 102c, 102d may emit a plurality of pulses of light during 402 of
Thus, at 402, the electronic device 201 effectively monitors changes in reflected light at various regions of the electronic device 201 over time.
While the example embodiment of
In at least some embodiments, the photodiodes 104a, 104b which is used for the monitoring will depend on the infrared diode 102a, 102b, 102c, 102d which emitted the pulse of infrared light. For example, in some embodiments, the photodiode 104a, 104b which is closest to the infrared diode 102a, 102b, 102c, 102d which emitted the light will be used to measure the reflected light. For example, after light is emitted from a first infrared diode 102a, the light received at the photodiode 104a, 104b which is closest to that infrared diode 102a may be considered and/or monitored (e.g. in the example embodiment of
Referring still to
When an object, such as a hand 506 (
Example gestures which may be detected and methods which may be used to detect such gestures will be described in greater detail below with reference to
404 may, in some embodiments, be performed by a processor 240 (
In at least some embodiments, if the electronic device 201 determines that no predetermined gesture has occurred (at 404), then the electronic device 201 may continue, at 408, to perform the reflectance measuring routine. That is, the electronic device 201 may continue to alternatingly output light from the infrared diodes 102a, 102b, 102c, 102d and to measure the reflected light received at one or more of the photodiodes 104a, 104b. Then, in at least some embodiments, after the reflectance measuring routine has been performed at 408, the electronic device 201 may again (at 404) attempt to determine whether a predetermined gesture has been performed.
If, however, at 404 the electronic device 201 determines that a predetermined gesture has occurred, then at 406, the electronic device 201 may perform a function associated with that predetermined gesture. The function which is performed may depend on the specific gesture which is detected. That is, different gestures may be associated with different functions.
As noted above, in at least some embodiments, the method 400 of
For example, in at least some embodiments, 402 and 408 of
In at least some embodiments, the electronic device 201 may be configured to detect a vertical gesture. Characteristics of such vertical gestures and methods of detecting such gestures will now be described.
Referring to
A vertical gesture is a gesture in which a hand 506 (or other object) is moved within the sensing area 106 (
Accordingly, a vertical gesture may be an inward vertical gesture, which may be defined as a vertical gesture in which the hand is moved within the sensing area 106 (
Similarly, a vertical gesture may be an outward vertical gesture, which may be defined as a vertical gesture in which the hand 506 is moved within the sensing area 106 (
Referring now to
The reflected light which is associated with each infrared diode 102a, 102b, 102c, 102d (
Accordingly, the example photodiode output 600 includes a separate amplitude curve 602a, 602b, 602c, 602d for each of the infrared diodes 102a, 102b, 102c, 102d. A first amplitude curve 602a indicates the amount of light received over time at a first infrared diode 102a, a second amplitude curve 602b indicates the amount of light received over time at a second infrared diode 102b, a third amplitude curve 602c indicates the amount of light received over time at a third infrared diode 102c and a fourth amplitude curve 602d indicates the amount of light received over time at a fourth infrared diode 102d. Each of the amplitude curves 602a, 602b, 602c, 602d represents the light received at one of the photodiodes 104a, 104b. The photodiode 104a, 104b associated with the amplitude curves may not be the same for all of the amplitude curves. In some embodiments, only the light received at the photodiode 104a, 104b which is closest to the infrared diode 102a, 102b, 102c, 102d will be used.
In some embodiments, amplitude curves 602a, 602b, 602c, 602d for each of the infrared diodes 102a, 102b, 102c, 102d may, for example, be obtained at 402 or 404 of the method 400 of
The example photodiode output of
As illustrated in
During the inward vertical gesture (which is represented by the inward vertical gesture component 622), the amplitudes of received light associated with all of the infrared diodes 102a, 102b, 102c, 102d increase at the same time. That is, during the inward vertical gesture, the amplitudes of received light associated with all of the infrared diodes 102a, 102b, 102c, 102d exhibit a trend in which such amplitudes increase at the same time or approximately the same time.
During the outward vertical gesture (which is represented by the outward vertical gesture component 620), the amplitudes of received light associated with all of the infrared diodes 102a, 102b, 102c, 102d decrease at the same time. That is, during the outward vertical gesture, the amplitudes of received light associated with all of the infrared diodes 102a, 102b, 102c, 102d exhibit a trend in which such amplitudes decrease at the same time or approximately the same time. The outward vertical gesture component 620 and the inward vertical gesture component 622 are separated at a point 610 at which the amplitude curves 602a, 602b, 602c, 602d experience a maximum.
Thus, in at least some embodiments, at 404 of
In at least some embodiments, at 404 of
In at least some embodiments, the electronic device 201 may determine whether an outward vertical gesture has been performed by determining whether the amplitudes of received light associated with each of the infrared diodes 102a, 102b, 102c, 102d have corresponding periods of decreasing amplitudes of received light. That is, the electronic device 201 may determine whether the amount of received light associated with each infrared diode has exhibited a trend in which the amplitude of light received decreased for all of the infrared diodes. If so, then the electronic device 201 may determine that an outward vertical gesture has been performed.
It will be appreciated that, to account for noise and other interference, the trends in received light may need to exist for at least a predetermined period of time and/or the amplitudes may need to change by at least a predetermined amplitude threshold, before the electronic device 201 will determine that a gesture has been performed. For example, the electronic device 201 may ignore minor fluctuations in the amplitudes, since such minor fluctuations may be the result of noise. Accordingly, the corresponding periods which result in the electronic device 201 determining that an inward or outward vertical gesture has been performed may be required to be of a predetermined duration and/or to exhibit a predetermined change in amplitude.
In at least some embodiments, when the electronic device 201 determines that a vertical gesture, inward vertical gesture and/or outward vertical gesture has been performed, then the electronic device 201 may (at 406 of
In at least some embodiments, the electronic device 201 may be configured to detect a horizontal gesture. Characteristics of such horizontal gestures and methods of detecting such gestures will now be described.
Referring to
A horizontal gesture is a gesture in which a hand 506, (or other object) is moved within the sensing area (
While, in some embodiments, a horizontal gesture may be performed in any direction which is substantially parallel to the plane 110 (
A fifth direction 710 is also illustrated. The fifth direction 710 is substantially parallel to the plane 110 (
Referring now to
As discussed above with reference to
Accordingly, the example photodiode output 800 includes a separate amplitude curve 802a, 802b, 802c, 802d for each of the infrared diodes 102a, 102b, 102c, 102d. A first amplitude curve 802a indicates the amount of light received over time at a first infrared diode 102a, a second amplitude curve 802b indicates the amount of light received over time at a second infrared diode 102b, a third amplitude curve 802c indicates the amount of light received over time at a third infrared diode 102c and a fourth amplitude curve 802d indicates the amount of light received over time at a fourth infrared diode 102d. Each of the amplitude curves 802a, 802b, 802c, 802d represents the light received at one of the photodiodes 104a, 104b. The photodiode 104a, 104b associated with the amplitude curves may not be the same for all of the amplitude curves. In some embodiments, only the light received at the photodiode 104a, 104b which is closest to the infrared diode 102a, 102b, 102c, 102d will be used to measure light emitted from that infrared diode.
In some embodiments, amplitude curves 802a, 802b, 802c, 802d for each of the infrared diodes 102a, 102b, 102c, 102d may, for example, be obtained (at 402 or 404 of the method 400 of
The example photodiode output of
As illustrated in
Accordingly, in at least some embodiments, at 404 of
In at least some embodiments, at 404 of
As noted above with reference to
In at least some embodiments, when the electronic device 201 determines that a horizontal gesture (also known as a swipe gesture) has been performed, the electronic device 201 may (at 406 of
Thus, methods of determining the direction associated with the performed gesture will now be discussed. In at least some embodiments, such methods may be performed by the electronic device 201 when determining whether a predetermined gesture has been performed at 404 of
Direction Determination
In at least some embodiments, the electronic device 201 may determine a general direction of a horizontal gesture by examining the order of peaks in the amplitude curves for the various infrared diodes. That is, the infrared diode associated with the first curve to experience a peak may indicate the location where the gesture began. That is, the electronic device 201 may determine that the gesture was initiated at the location associated with that infrared diode. Similarly, the infrared diode associated with the last curve to experience a peak may indicate the location where the gesture ends. That is, the electronic device 201 may determine that the gesture was initiated at the location associated with that infrared diode.
In at least some embodiments, it may be necessary or desirable to obtain a more specific direction of movement. In at least some such embodiments, the electronic device 201 may determine an angle of the direction of movement. Referring now to
In at least some embodiments, the angle of the direction of movement may be determined based on the delay in the amplitude curves 802a, 802b, 80c, 80d (
In at least some such embodiments, the electronic device 201 may determine the angle of movement by cross correlating the amplitude curves to determine a delay in the x direction and a delay in the y direction (at 902). Accordingly, in at least some embodiments, the electronic device 201 may perform a cross correlation on the amplitude curves 802a, 802b, 802c, 802d themselves. In other embodiments, the electronic device 201 may obtain derivatives of the amplitude curves and may perform the cross correlation on the derivatives. The delay in the x direction may be calculated based on both sets of infrared diodes which are oriented in the x direction. For example, the delay in the x direction may be calculated based on the delay between the curve associated with the first infrared diode 102a and the curve associated with the fourth infrared diode 102d and also based on the delay between the curve associated with the second infrared diode 102b and the curve associated with the third infrared diode 102c. For example, the delay in the x direction may be calculated as an average of these two delays.
Similarly, the delay in the y direction may be calculated based on both sets of infrared diodes which are oriented in the y direction. For example, the delay in the y direction may be calculated based on the delay between the curve associated with the first infrared diode 102a and the second infrared diode 102b and based on the delay between the curve associated with the third infrared diode 102c and the curve associated with the fourth infrared diode 102d. For example, the delay in the y direction may be calculated as an average of these two delays.
Based on the delays in the x direction and the delays in the y direction, the electronic device 201 may, at 904, calculate the direction of movement. That is, the electronic device 201 may use trigonometry on the delays to determine the angle of movement of the gesture. That is, a trigonometric function may be applied to the delay in the x direction and the delay in the y direction. For example, in some embodiments, the angle of movement, φ, may be determined as:
Velocity Determination
In at least some embodiments, if a horizontal gesture is performed, the electronic device 201 may determine a velocity associated with the horizontal gesture. The velocity may, in at least some embodiments, affect the function which is performed by the electronic device 201 in response to the gesture. For example, in some embodiments where a horizontal gesture is associated with a scrolling function, the velocity may affect the amount, rate or degree of scrolling which is applied by the electronic device 201 in response to the horizontal gesture.
In at least some embodiments, the velocity may be calculated based on the delay in the x direction and the delay in the y direction. The delay in the x direction and the delay in the y direction may be determined in the manner described above with reference to
In some embodiments, the velocity may also be calculated based on the distances between the infrared diodes 102a, 102b, 102c, 102d.
Accordingly, in at least some embodiments, x and y velocity components may be determined as:
where dx is a distance between the pairs of infrared diodes oriented in the x direction and dy is a distance between the pairs of infrared diodes oriented in the y direction.
In at least some embodiments, x and y velocity components may be combined to yield an overall velocity. For example, an overall velocity may be calculated as:
While the discussion of
As discussed previously, the amplitude curves for the infrared diodes when a vertical gesture is performed will have no delay, or very little delay. In contrast, when a horizontal gesture is performed, some of the amplitude curves have a relatively large delay (i.e. they experience peaks at different times). Accordingly, in at least some embodiments, the electronic device 201 may be configured to determine whether a horizontal gesture has been performed and also to determine whether a vertical gesture has been performed.
Referring now to
In some embodiments, at 1002, an amplitude curve for each of the infrared diodes 102a, 102b, 102c, 102d may be obtained based on the reflected light which is observed at 402 of
Next, at 1004, the electronic device 201 may determine whether one or more predetermined conditions is met. In the embodiment of
In at least some embodiments, if the predetermined condition(s) is/are satisfied, then at 1006, the electronic device 201 may obtain a first derivative curve for each of the amplitude curves.
Next, at 1008, in some embodiments, the electronic device 201 may perform a cross correlation based on the amplitude curves and may find one or more delays associated with the amplitude curves. In at least some embodiments, the cross correlation may be performed on the amplitude curves. However, in at least some embodiments, the cross correlation may be performed on the first derivatives. The delay represents the elapsed time between the spikes and/or maximums in the amplitude curves.
Next, at 1010, the electronic device 201 determines whether the delay is greater than a predetermined threshold. If the delay is not greater than the predetermined threshold, then at 1012, the electronic device 201 determines that a vertical gesture has been performed.
If, however, the delay is less than the threshold, then at 1014 the electronic device determines that a horizontal gesture has been performed.
In at least some embodiments, the electronic device 201 may be configured to recognize and interpret one or more rotational gesture. A rotational gesture is a gesture in which an object, such as a hand 506 is rotated relative to the electronic device and/or the plane 110 (
The rotation may be a rotation about an x axis and/or a y axis. These axes may be defined based on the layout of the infrared diodes. For example, a y axis 1106 may be defined to be parallel to a line extending through the first infrared diode 102a and the second infrared diode 102b and to a line extending through the fourth diode 102d and the third diode 102c.
Referring to
Similarly, an x axis 1206 may be defined to be parallel to a line extending through the second infrared diode 102b and the third infrared diode 102c and to a line extending through the first diode 102a and the fourth diode 102d.
Referring to
Referring now to
The method 1300 includes features which may be provided by an electronic device 201, such as the electronic device 201 of
In at least some embodiments, one or more functions or features of the method 1300 may be performed by the reflectance-based input device 261 (
In at least some embodiments, one or more of the functions or features of the method 1300 of
First, at 1302, the electronic device determines whether one or more predetermined triggers have been received. A predetermined trigger may be a command which must be input to the electronic device 201 to begin using rotational gestures on the electronic device 201. That is, the predetermined trigger may be user input which may be input to the electronic device through one or more input interfaces 206 (
Since rotational gestures require the presence of an object in a sensing area 106 (
If the predetermined trigger(s) are not received, then at 1304, the electronic device 201 will not enter the rotational gesture mode.
If, however, the predetermined trigger(s) are received, then at 1306, the electronic device 1306 will select a neutral orientation for an object within the sensing area 106. That is, the electronic device 201 will select a reference point which will be considered a neutral position. When the object is in the neutral position, no rotation will be interpreted as occurring. Any rotation of the object will be evaluated relative to the neutral position. Accordingly, in at least some embodiments, at 1306 the electronic device may log reflectance measurements which are obtained by performing the reflectance measuring routine described above with reference to 402 of
In at least some embodiments, at 1306, x and y scrolling positions, which represent the neutral orientation, may be determined as:
where a1(n) is the amplitude of received light associated with the first infrared diode 102a, a2(n) is the amplitude of received light associated with the second infrared diode 102b, a3(n) is the amplitude of received light associated with the third infrared diode 102c, and a4(n) is the amplitude of received light associated with the fourth infrared diode 102d. These amplitudes may be determined based on the reflected light obtained during the reflectance monitoring routine.
After the neutral orientation is established, at 1307, the reflectance monitoring routine described above with reference to 402 of
At 1308, the electronic device 201 considers the changes in reflected light at the photodiodes 104a, 104b during the reflectance monitoring routine of 1307. More particularly, the electronic device 201 determines, in at least some embodiments, whether any such change should be interpreted as a change in the x direction or whether any such change should be interpreted as a change in the y direction. That is, the electronic device 201 may determine whether the change during that measuring routine was primarily a change in the x direction or a change in the y direction. For example, the electronic device 201 may determine whether the object, such as the hand 506 was primarily rotated in the manner illustrated in
In at least some embodiments, in order to determine whether the rotation was primarily a rotation in the x direction (that is, whether the change was primarily a change in the x direction), the electronic device 201 may compare the change in reflected light in the x direction with the change in reflected light in the y direction. For example, in some embodiments, the electronic device 201 may determine whether the following expression is true and, if so, determine that the change is primarily a change in the x direction:
({dot over (a)}′1(n)+{dot over (a)}′2(n)|>|{dot over (a)}′1(n)+{dot over (a)}′4(n)|)̂(|{dot over (a)}′1(n)+{dot over (a)}′2(n)|>|{dot over (a)}′2(n)+{dot over (a)}′3(n)|))V((|{dot over (a)}′3(n)+{dot over (a)}′4(n)|>|{dot over (a)}′1(n)+{dot over (a)}′4(n)̂(|{dot over (a)}′3(n)+{dot over (a)}′4(n)|>|{dot over (a)}′2(n)+{dot over (a)}′3(n)|))
where {dot over (a)}′i(n) may be the smoothed first derivative of received light associated with an infrared diode i.
If, at 1308, the electronic device determines that the change is primarily a change in the y direction, then at 1310, the electronic device 201 may determine whether an amount of change exceeds a predetermined threshold. This feature ensures that minor movements of an object due a person's inability to hold the object perfectly still are not inadvertently treated as intentional movements.
In at least some embodiments, at 1310, the electronic device 201 may quantify the change. That is, the electronic device 201 may determine a number which represents the amount of change in the y direction. In at least some embodiments, this change in the x direction, dy, may be determined as:
d
y
=c·({dot over (a)}′1(n)+{dot over (a)}′4(n)−{dot over (a)}′2(n)−{dot over (a)}′3(n))
where c is a predetermined constant.
Accordingly, in at least some embodiments, at 1310, the electronic device 201 may determine whether the change in the y direction is greater than a predetermined threshold. If the change in the y direction is greater than the predetermined threshold, then at 1314 the scrolling positions may be updated (e.g. the neutral orientation may effectively be re-established) and a function (such as a scrolling function) may be performed on the electronic device 201 based on the change (for example, the electronic device 201 may scroll a document or otherwise navigate in the y direction). This function may be performed at 406 of
If, however, the change in the y direction is not greater than the threshold, then, at 1312, the electronic device 201 may not update the scrolling position and may not perform a function based on the change.
If, at 1308, the change is interpreted as a change in the x direction, then at 1316, the electronic device 201 may quantify the change. That is, the electronic device 201 may determine a number which represents the amount of change in the x direction. In at least some embodiments, this change in the y direction, dx, may be determined as:
d
x
=c·({dot over (a)}′3(n)+{dot over (a)}′4(n)−{dot over (a)}′2(n)−{dot over (a)}′1(n))
where c is a predetermined constant.
Accordingly, in at least some embodiments, at 1316, the electronic device 201 may determine whether the change in the x direction is greater than a predetermined threshold. If the change in the x direction is greater than the predetermined threshold, then at 1320 the scrolling positions may be updated (e.g. the neutral orientation may effectively be re-established) and a function (such as a scrolling function) may be performed on the electronic device 201 based on the change (for example, the electronic device 201 may scroll a document or navigate in the x direction). This function may be performed at 406 of
If, however, the change in the x direction is not greater than the threshold, then, at 1318, the electronic device 201 may not update the scrolling position and may not perform a function based on the change.
After the updates at 1314 or 1320 and/or the lack of updates at 1312 or 1318, the method 1300 may return to 1307 where the reflectance measuring routine may again be performed.
Accordingly, the method 1300 of
As noted above, in at least some embodiments, features described herein may be provided collectively by two or more electronic devices. For example, in some embodiments a gesture companion device 1400 (an example of which is illustrated in
The gesture companion device 1400 may include a short range communication subsystem (not shown), which may be of the type described above with reference to
Thus, the gesture companion device 1400 may include features described above with reference to
The gesture companion device 1400 may be configured to perform a reflectance measuring routine of the type described above and to transmit, via the short range communication subsystem, an output based on the results of the reflectance measuring routine. That is, the gesture companion device 1400 may transmit the output to the primary electronic device. The primary electronic device may then perform a function based on the received data.
As illustrated in
The gesture companion device 1400 may, in some embodiments, be used solely to act as a peripheral (i.e. an input device) for the primary electronic device. In other embodiments, the gesture companion device 1400 may have advanced functionality which allows it to provide one or more autonomous features (e.g. it may provide one or more features which do not rely on the primary electronic device). For example, in some embodiments, the gesture companion device 1400 may provide typical watch functions such as, for example, displaying a time and/or date via a display 204 associated with the gesture companion device 1400.
In some embodiments, the gesture companion device 1400 may be equipped with a near field communication (NFC) device which allows the gesture companion device 1400 to communicate with other NFC enabled devices or tags. For example, in at least some embodiments, an NFC equipped gesture companion device 1400 could be used to unlock a door which has an NFC enabled lock. In some embodiments, the NFC device could allow the gesture companion device 1400 to pair with the primary electronic device to allow these electronic devices to communicate over the short range communication subsystem.
The gesture companion device 1400 performs the reflectance measuring routine described above and receives, at the photodiodes 104a, 104b of the reflectance-based input device 261, infrared light. In at least some embodiments, the gesture companion device 1400 transmits this raw data to the primary electronic device where it will be analyzed. In other embodiments, the gesture companion device 1400 analyzes the raw data to determine whether a predetermined gesture has been performed and transmits a message to the primary electronic device if it determines that a predetermined gesture has been performed. The message may specify the type of gesture which was performed. By way of example, if it determines that a horizontal gesture has been performed, it may advise the primary electronic device that a horizontal gesture has been performed.
While
While the present application is primarily described in terms of methods, a person of ordinary skill in the art will understand that the present application is also directed to various apparatus such as a handheld electronic device and a server. The handheld electronic device and the server include components for performing at least some of the example aspects and features of the described methods, be it by way of hardware components (such as the memory and/or the processor), software or any combination of the two, or in any other manner. Moreover, an article of manufacture for use with the apparatus, such as a pre-recorded storage device or other similar computer readable medium including program instructions recorded thereon, or a computer data signal carrying computer readable program instructions may direct an apparatus to facilitate the practice of the described methods. It is understood that such apparatus, articles of manufacture, and computer data signals also come within the scope of the present application.
The term “computer readable medium” as used herein means any medium which can store instructions for use by or execution by a computer or other computing device including, but not limited to, a portable computer diskette, a hard disk drive (HDD), a random access memory (RAM), a read-only memory (ROM), an erasable programmable-read-only memory (EPROM) or flash memory, an optical disc such as a Compact Disc (CD), Digital Versatile Disc (DVD) or Blu-Ray™ Disc, and a solid state storage device (e.g., NAND flash or synchronous dynamic RAM (SDRAM)).
Example embodiments of the present application are not limited to any particular operating system, system architecture, mobile device architecture, server architecture, or computer programming language.
The various embodiments presented above are merely examples and are in no way meant to limit the scope of this application. Variations of the innovations described herein will be apparent to persons of ordinary skill in the art, such variations being within the intended scope of the present application. In particular, features from one or more of the above-described example embodiments may be selected to create alternative example embodiments including a sub-combination of features which may not be explicitly described above. In addition, features from one or more of the above-described example embodiments may be selected and combined to create alternative example embodiments including a combination of features which may not be explicitly described above. Features suitable for such combinations and sub-combinations would be readily apparent to persons skilled in the art upon review of the present application as a whole. The subject matter described herein and in the recited claims intends to cover and embrace all suitable changes in technology.
Number | Date | Country | |
---|---|---|---|
20130207936 A1 | Aug 2013 | US |