An example embodiment of the present invention relates generally to the recognition of user input and, more particularly, to a method, apparatus and computer program product for recognizing and responding to user input based upon relative finger position.
Users can provide input to a computing device in a variety of different manners. For example, users may provide input via a computer mouse, a touch pad, a touch screen, audible commands, e.g., voice commands, or the like. By way of example, a head mounted display, such as a pair of augmented reality glasses, may require user input to be provided based upon the user's touch or actuation of one or more buttons or sensors of the head mounted display. For example, the stems of a pair of augmented reality glasses may include one or more buttons or other sensors that may be actuated by a user in order to provide input.
The user input provided to a head mounted display via one or more buttons or sensors may not be intuitive for the user and may therefore require the user to focus upon user input operation and be distracted from other activities in which the user is engaged. Further, the provision of user input via one or more buttons or other sensor carried by a head mounted display may seem unnatural to others in the vicinity of the user and may draw unwanted attention to the user.
A method, apparatus and computer program product are provided according to an example embodiment of the present invention in order to facilitate user input based upon relative position of a user's fingers. In particular, a method, apparatus and computer program product are provided in accordance with one embodiment in order to receive and recognize user input that is provided by the relative position of the user's fingers in a manner that is not distracting, either to the user or to other persons in the vicinity of the user. While the method, apparatus and computer program product of an example embodiment may be employed in conjunction with a variety of computing devices that are responsive to user input, a method, apparatus and computer program product of one embodiment may provide input to a head mounted display, such as a pair of augmented reality glasses, so as to permit a user to interact with the head mounted display while continuing to view their surroundings and without drawing unwanted attention to the user.
In one embodiment, a method is provided that includes receiving sensor information indicative of a position of a first finger relative to a second finger. In one embodiment, the first finger is a thumb such that the sensor information is indicative of the position of the thumb relative to the second finger. In conjunction with the receipt of sensor information, the method receives sensor information from a sensor that is offset from an interface between the first and second fingers so as not to be positioned between the first and second fingers. The method of this embodiment also determines, with a processor, the position of the first finger relative to the second fingerbased upon the sensor information and causes performance of an operation in response to the position of the first finger relative to the second finger.
The receipt of the sensor information may include receiving sensor information from a magnetometer carried by one of the first and second fingers indicative of the position of the magnetometer relative to a magnet carried by the other one of the first and second fingers. The method of this embodiment may also determine the position of the first finger relative to the second fingerby determining the position of the first finger relative to the second finger in at least one dimension. In another embodiment, the receipt of the sensor information may include receiving sensor information from first and second magnetometers carried by one of the first and second fingers indicative of the position of the first and second magnetometers relative to a magnet carried by the other one of the first and second fingers. In this embodiment, the determination of the position of the first finger relative to the second finger may include determining the position of the first finger relative to the second fingerin at least two dimensions. The first and second magnetometers of this embodiment may be carried by one of the first and second fingers so as to have a predefined offset therebetween.
The method of one embodiment may also include determining a direction of movement of the first finger across the second finger based upon the position of the first finger relative to the second finger at two or more instances. In this embodiment, the method may cause the performance of the operation by causing performance of the operation in response to the direction of movement of the first finger across the second finger. In another embodiment, the receipt of the sensor information may include receiving the sensor information from first and second magnetometers carried by the first and second fingers, respectively, indicative of the position of the first and second magnetometers within an electromagnetic field. In this embodiment, the determination of the position of the first finger relative to the second fingermay include determining the position of the first finger relative to the second fingerin at least two dimensions. In another embodiment, a textured surface is carried by at least one of the first and second sensors. In this embodiment, the receipt of the sensor information may include receiving sensor information from a vibration or acoustic sensor indicative of movement of one of the first and second fingers across a textured surface.
In another embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least receive sensor information indicative of a position of a first finger relative to the second finger. In one embodiment, the first finger is a thumb such that the sensor information is indicative of the position of the thumb relative to the second finger. The sensor information is received from a sensor that is offset from an interface between the first and second fingers so that it is not positioned between the first and second fingers. The at least one memory and the computer program code are also configured to, with the processor, cause the apparatus to determine the position of the first finger relative to the second fingerbased upon the sensor information and to cause performance of an operation in response to the position of the first finger relative to the second finger.
The at least one memory and the computer program code are configured to, with the processor, cause the apparatus of one embodiment to receive the sensor information by receiving sensor information from a magnetometer carried by one of the first and second fingers indicative of the position of the magnetometer relative to the magnet carried by the other one of the first and second fingers. In this embodiment, the at least one memory and the computer program code are also configured to, with the processor, cause the apparatus to determine the position of the first finger relative to the second fingerby determining the position of the first finger relative to the second fingerin at least one dimension. The at least one memory and the computer program code are configured to, with the processor, cause the apparatus of another embodiment to receive the sensor information by receiving sensor information from first and second magnetometers carried by one of the first and second fingers indicative of the position of the first and second magnetometers relative to the magnet carried by the other one of the first and second fingers. In this embodiment, the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to determine the position of the first finger relative to the second fingerby determining the position of the first finger relative to the second fingerin at least two dimensions. The first and second magnetometers may be carried by one of the first and second fingers so as to have a predefined offset therebetween.
The at least one memory and the computer program code are configured to, with the processor, cause the apparatus of one embodiment to determine a direction of movement of the first finger across the second finger based upon the position of the first finger relative to the second finger at two or more instances. In this embodiment, the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to cause performance of the operation by causing performance of the operation in response to the direction of movement of the first finger across the second finger. The at least one memory and the computer program code may be configured to, with the processor, cause the apparatus of another embodiment to receive the sensor information by receiving sensor information from first and second magnetometers carried by the first and second fingers, respectively, indicative of the position of the first and second magnetometers within an electromagnetic field. In this embodiment, the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to determine the position of the first finger relative to the second fingerby determining the position of the first finger relative to the second fingerin at least two dimensions. In another embodiment, a textured surface is carried by at least one of the first and second fingers. In this embodiment, the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to receive the sensor information by receiving sensor information from a vibration or acoustic sensor indicative of movement of one of the first and second fingers across the textured surface.
In a further embodiment, a computer program product including at least one non-transitory computer-readable storage medium having computer-executable program code portions stored therein is provided with the computer-executable program code portions including program code instructions for receiving sensor information indicative of a position of a first finger relative to a second finger. In one embodiment, the first finger is a thumb such that the sensor information is indicative of the position of the thumb relative to the second finger. The program code instructions for receiving the sensor information may include program code instructions for receiving sensor information from a sensor that is offset from the interface between the first and second fingers so as not to be positioned between the first and second fingers. The computer-executable program code portions also include program code instructions for determining the position of the first finger relative to the second finger based upon the sensor information and the program code instructions for causing performance of an operation in response to the position of the first finger relative to the second finger.
The program code instructions for receiving the sensor information may include program code instructions for receiving sensor information from at least one magnetometer carried by one of the first and second fingers indicative of the position of the at least one magnetometer relative to the magnet carried by the other one of the first and second fingers. In this embodiment, the program code instructions for determining the th position of the first finger relative to the second fingermay include program code instructions for determining the position of the first finger relative to the second fingerin at least one dimension. In another embodiment, a textured surface is carried by at least one of the first and second fingers. In this embodiment, the program code instructions for receiving the sensor information may include program code instructions for receiving sensor information from a vibration or acoustic sensor indicative of movement of one of the first and second fingers across the textured surface.
In yet another embodiment, an apparatus is provided that includes means for receiving sensor information indicative of a position of a first finger, such as a thumb, relative to a second finger. In this regard, the means for receiving sensor information may include means for receiving sensor information from a sensor that is offset from an interface between the first and second fingers so as not to be positioned between the first and second fingers. The apparatus of this embodiment also includes means for determining the position of the first finger relative to the second fingerbased upon the sensor information and means for causing performance of an operation in response to the position of the first finger relative to the second finger.
Having thus described some embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
Additionally, as used herein, the term ‘circuitry’ refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term ‘circuitry’ also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term ‘circuitry’ as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
As defined herein, a “computer-readable storage medium,” which refers to a non-transitory physical storage medium (e.g., volatile or non-volatile memory device), can be differentiated from a “computer-readable transmission medium,” which refers to an electromagnetic signal.
A method, apparatus and computer program product are provided according to an example embodiment in order to receive and respond to user input provided on the basis of relative position and, in some embodiments, movement between two or more fingers of the user. The user input based upon the relative finger position may provide input for a variety of different computing devices. By way of example, but not of limitation, the user input based upon the relative position of the user's fingers may provide input to a head mounted display, such as a pair of augmented reality glasses in order to permit the user to interact with the head mounted display in a manner that does not obstruct the user's view of their surroundings and in a manner that does not attract undesired attention from others in the vicinity.
A head mounted display permits a user to optically view a scene external to the head mounted display. By way of example, a head mounted display may be in the form of a pair of glasses. The glasses may be worn by user such that the user may view a scene, e.g., a field of view, through the lenses of the glasses. However, the glasses may also be configured to present a visual representation of other information upon the lenses so as to augment or supplement the user's view of the scene through the lenses of the glasses. As such, the glasses may support augmented reality and other applications. While augmented reality glasses are one example of a head mounted display, a head mounted display may be embodied in a number of different manners with a variety of form factors, each of which may permit a user to optically see through the display so as to view the user's surroundings and each of which (along with a number of other types of computing devices) may benefit from the method, apparatus and computer program product of an example embodiment of the present invention as described below.
In one embodiment, an apparatus 10 may be provided in order to receive sensor information indicative of the relative position of the user's fingers and to cause performance of an operation in response to the relative position. In one embodiment, the apparatus may be embodied by the computing device to which the user is providing input via the relative position of their fingers. For example, a head mounted display, such as a pair of augmented reality glasses, may embody the apparatus of one embodiment so as to receive the sensor information indicative of the relative position of the user's fingers and to cause performance of an operation in response thereto. Alternatively, the apparatus may be embodied by a different computing device different than that for which the user is providing input based upon the relative position of their fingers. For example, a computing device, such as a portable digital assistant (PDAs), mobile telephone, smartphone, pager, mobile television, gaming device, laptop computer, camera, tablet computer, touch surface, video recorder, audio/video player, radio, electronic book, positioning device (e.g., global positioning system (GPS) device), or any combination of the aforementioned, and other types of voice and text communications systems, may embody the apparatus of one embodiment so as to receive and process the sensor information indicative of the relative position of the user's fingers. In this embodiment, the computing device that embodies the apparatus may then provide direction to another computing device, such as a head mounted display, to which the user is providing input based upon the relative position of their fingers.
Referring now to
In some embodiments, the processor 12 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory device 14 via a bus for passing information among components of the apparatus. The memory device may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor). The memory device may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus 10 to carry out various functions in accordance with an example embodiment of the present invention. For example, the memory device could be configured to buffer input data for processing by the processor. Additionally or alternatively, the memory device could be configured to store instructions for execution by the processor.
As noted above, the apparatus 10 may be embodied by a computing device, such as a head mounted display or the like, configured to employ an example embodiment of the present invention. However, in some embodiments, the apparatus may be embodied as a chip or chip set. In other words, the apparatus may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single “system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
The processor 12 may be embodied in a number of different ways. For example, the processor may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processor may include one or more processing cores configured to perform independently. A multi-core processor may enable multiprocessing within a single physical package. Additionally or alternatively, the processor may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
In an example embodiment, the processor 12 may be configured to execute instructions stored in the memory device 14 or otherwise accessible to the processor. Alternatively or additionally, the processor may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor may be a processor of a specific device (e.g., a head mounted display) configured to employ an embodiment of the present invention by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processor may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor.
Meanwhile, the communication interface 16 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 10. For example, the communication interface may be configured to communicate with one or more sensors 18 that provide the sensor information indicative of relative movement between the user's fingers. Additionally, the communication interface may be configured to communicate with other components of the computing device in an instance in which the apparatus is embodied by the computing device for which the user is providing input or with a remote computing device in an instance in which the apparatus is separate from the computing device for which the user is providing input.
In this regard, the communication interface 16 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications wirelessly. Additionally or alternatively, the communication interface 26 may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). For example, the communications interface may be configured to communicate wirelessly with the sensor(s) 18, such as via Wi-Fi, Bluetooth or other wireless communications techniques. Likewise, the communications interface may be configured to communicate wirelessly with a remote computing device in an instance in which the apparatus is separate from the computing device for which the user is providing input.
In some environments, the communication interface 16 may alternatively or also support wired communication. As such, for example, the communication interface may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms. For example, the communication interface may be configured to communicate via wired communication with other components of a computing device in an instance in which the apparatus 10 is embodied by the computing device for which the user is providing input.
Referring now to
With reference to
With respect to the magnetometer 34, the magnetometer may be carried by the user's finger, such as the user's thumb 30, in various manners, but, in one embodiment, the first magnetometer is mounted upon and carried by the back side or side surface of the user's finger so as not to obstruct the pad of the user's finger that may be utilized for other purposes. For example, a first magnetometer may be mounted upon the thumbnail of the user's thumb. The first magnetometer may be mounted upon the thumbnail in various manners including temporarily adhering the first magnetometer to the user's thumbnail or incorporating the first magnetometer into a ring that is mounted upon or worn by the user's thumb such that the first magnetometer overlies the user's thumbnail.
As noted above, a magnet 37, such as a permanent magnet, may be carried by another one of the user's fingers 32. While the magnet may be carried by another one of the user's fingers in various manners, the magnet of one embodiment may be included within or carried by a ring 36 that is worn by the user on the other finger. In this embodiment, the ring may be configured so as to be mounted upon the user's other finger in a manner that causes the magnet to be maintained in a predefined orientation with respect to the user's other finger. In this regard, the magnet may be carried by the user's other finger so as to be positioned along the side of the user's other finger such that the north and south poles of the magnet have a predefined position and orientation relative to the user's other finger.
As a result of the interaction of the magnet 37 and the magnetometer 31 carried by the user's fingers, sensor information indicative of the relative position of the user's fingers may be provided to the apparatus 10. In an instance in which the sensor information is provided by a single magnetometer based upon the position of the single magnetometer carried by one of the user's fingers relative to a magnet carried by another one of the user's fingers, the magnetometer may provide sensor information indicative of the distance between the magnetometer and the magnet. Various types of sensor information may be provided by the magnetometer including, for example, sensor information that indicates the strength of the magnetic field established by the magnet at the current location of the magnetometer, such that the apparatus, such as the processor 12, may determine the distance between the magnetometer and the magnet.
In order to provide a context for the relative position and, in some embodiments, movement between the user's fingers, the user's fingers may be positioned in a predefined manner. As shown in
In another embodiment depicted in
As noted above, the user's finger, such as the thumb 30, may carry one or more magnetometers. In the embodiment depicted in
In this embodiment, the first and second magnetometers 34, 38 interact with the magnet 37 carried by another finger 32 of the user such that the relative position between the user's fingers may be determined in at least two dimensions, such as in three dimensions in one embodiment. As described above, the finger that carries the magnet may be positioned so as to define a reference plane within which relative position of the first and second magnetometers with respect to the magnet is determined. For example, in the embodiment of
In another embodiment, the user's finger, such as the thumb 30, may carry three or more magnetometers with the magnetometers being offset from one another. For example, the user's thumb may carry three magnetometers with a predefined offset between each of the three magnetometers. By way of example, the first magnetometer may be carried by a thumbnail, while the second and third magnetometers are carried by opposite side surfaces of the user's thumb. While the magnetometers may be adhered to the user's thumb, the magnetometers of another embodiment may be incorporated within or carried by a ring that is mounted upon the user's finger, such as the user's thumb. Based upon the position of the user's finger, such as the thumb, relative to the user's other finger that carries the magnet 37, the first, second and third magnetometers of this embodiment may provide sensor information to the apparatus 10 that is representative of the position of the respective magnetometer relative to the magnet. Based upon the sensor information provided by the first, second and third magnetometers of this embodiment, the apparatus, such as the processor 12, of one embodiment may determine the direction of the movement of the user's finger that carries the magnetometers across the finger that carries the magnet in at least three dimensions.
In order to avoid unintended user input, a trigger may be incorporated by one embodiment to provide an indication that the sensor information that will thereafter be provided will be indicative of the relative position of the user's fingers and is intended to serve as user input. For example, the user may trigger operation of the method of one embodiment by performing a predefined action, such as by holding a first magnetometer 34 in contact with or within a predefined distance of the magnet 37 for a predefined period of time. Alternatively, a secondary sensor may be provided to detect acoustic or capacitive coupling between the first magnetometer and the magnet, which may serve as the trigger. Prior to the trigger, any sensor information that may be provided may be disregarded by the apparatus 10 so as to avoid inadvertent or unintended user input. However, following receipt of an indication of the trigger signal, sensor information provided by the sensors 18 should be analyzed by the apparatus, such as the processor 12, in order to determine the relative position of the user's fingers and to cause performance of an operation in response to the relative position of the user's fingers.
Returning to block 20 of
As shown in block 24, the apparatus 10 of one embodiment may also include means, such as the processor 12 or the like, for determining a direction of movement of the first finger across the second finger based on the position of the first finger relative to the second finger at two or more instances. In this regard, the sensor information that is received at any one instant in time may be representative of the current position of each magnetometer with respect to the magnet. As such, the apparatus, such as the processor, may consider sensor information provided over the course of time such that the change in the position of each magnetometer with respect to the magnet may be determined, thereby defining the movement of the magnetometer(s) with respect to the magnet and, in turn, the direction of movement of the user's finger that carries the magnetometer(s) to the user's finger that carries the magnet.
In an embodiment in which the sensor information is provided by a single magnetometer 34 carried by the first finger, the apparatus 10, such as the processor 12, may determine the direction of the movement in at least one dimension. However, in an embodiment in which first and second magnetometers 34, 38 are carried by the first finger, the apparatus, such as the processor, may determine the direction and movement in at least two dimensions, such as in three dimensions. Further, in an instance in which first, second and third magnetometers are carried by the first finger, the apparatus, such as the processor, may determine the direction of movement in at least three dimensions.
The determination of the relative position of the user's fingers by the apparatus 10, such as the processor 12, may be facilitated by the predefined offset between the magnetometers in an instance in which two or more magnetometers are carried by the first finger 30. Further, the position of the first finger, such as the user's thumb, relative to the user's second finger 32 that carries the magnet 37 and that is configured in a predefined configuration, such as a bent configuration, a straightened configuration or the like, may also facilitate the determination of the relative position of the user's fingers.
By way of example, in an embodiment in which a magnet 37 is carried by the user's second finger, such as the user's middle finger 32, and first and second magnetometers 34, 38 are carried by the user's first finger, such as the user's thumb 30, the magnet creates a two-dimensional polar coordinate system that is sensed by the first and second magnetometers. Each magnetometer may generate a reading representative of its location with respect to the magnet that may be represented as [Ha, Hb, Hc]. The readings of the first and second magnetometers may be provided, in one embodiment, to the apparatus 10 such that the apparatus, e.g., the processor 12, may then rotate the readings provided by the first and second magnetometers by a transformation matrix T such that [Ha, Hb, Hc]=T*[Hr, Ht, 0] with Hr being the strength of the magnetic field in the radial direction and Ht being the strength of the magnetic field in the tangential direction. As a result of the predefined offset between the first and second magnetometers of one embodiment, there will only be a single transformation matrix, or a small range of transformation matrices, that provides a solution. The apparatus, such as the processor, may then be configured to transform the readings of the first and second magnetometers into a corresponding radius R value and angle θ value with Hr=(M/2*π*R3)*cos (θ) and Ht=(M/4*π*R3)*sin (θ). The apparatus, such as the processor, may then transform the radius and angle values into corresponding X and Y values utilizing conventional trigonometric relationships. By determining the position of the first and second magnetometers of this embodiment as defined by the X and Y values corresponding to the magnetometer readings that are provided at two or more instances, the relative movement of the first and second magnetometers with respect to the magnet carried by another finger of the user and, as such, the direction of the movement of the user's finger, such as the user's thumb, that carries the first and second magnetometers with respect to the user's finger that carries the magnet may be determined. In addition to providing an indication as to the position of the user's finger, such as the user's thumb, that carries the first and second magnetometers with respect to the user's finger that carries the magnet, the magnetometer readings provided by the first and second magnetometers to the apparatus may also permit the apparatus, such as the processor, to determine the orientation of the user's thumb, such as by estimating the pitch, roll and yaw of the user's thumb.
In the foregoing embodiments, one or more magnetometers were carried by one of the user's fingers, such as the user's thumb 30, and a magnet 37 was carried by another one of the user's fingers 32. However, the fingers that carry the magnetometers and the magnet may be reversed with the magnet carried by the user's thumb and one or more magnetometer being carried by the user's other finger(s), such as the user's middle finger, the user's forefinger or the like. Additionally, magnetometers may be carried by more than one finger of the user with readings provided by each of the magnetometers. In response, the apparatus 10, such as the processor 12, may be configured to determine the respective position of each of the fingers that carry one or more magnetometers with respect to the finger that carries the magnet, thereby permitting more complex user inputs to be provided.
In yet another embodiment that is illustrated in
Although the magnetometers have served as the sensor(s) 18 in the foregoing embodiments, other types of sensors may be utilized to provide the sensor information from which a direction of movement of the user's first and second fingers may be determined. By way of example, a textured surface 46 may be carried by one of the first and second fingers. For example, a sleeve having a textured surface may be slid upon one of the user's fingers 32. Alternatively, a textured surface may be adhered to one of the user's fingers. Regardless, the textured surface has a texture that varies or differs in different directions, such as in the X and Y directions and/or in a radial direction from the center of the textured surface to a peripheral edge of the textured surface. In this embodiment, a user may provide input by rubbing one of their fingers across the textured surface carried by another one of their fingers. As a result of the variations in the texture, the movement of the user's finger across the textured surface generates different vibrations or sounds depending upon the type of texture with which the user's finger is in contact.
A vibration or acoustic sensor 48 may be positioned in proximity to the user's hand, such as by being carried by the user's hand, such as by being adhered to the user's thumbnail or being in the form of a ring, a bracelet or the like. The vibration or acoustic sensor may be configured to receive the vibration or acoustical signals generated by movement of one of the user's fingers across the textured surface carried by another one of the user's fingers. The sensor information that is provided by the vibration or acoustic sensor to the apparatus 10 may be analyzed such that the apparatus, such as the processor 12, may determine the direction of movement of the user's finger across the texture surface based upon variations in the vibrations or sounds occasioned by the different types of texture with which the user's finger makes contact as it is slid across the textured surface.
Referring now to block 26 of
As such, a user may provide input via the method, apparatus and computer program product of an example embodiment of the present invention in a manner that is not obtrusive to the user and that does not draw undesired attention from others in the proximity of the user. Although several different sensors 18 have been described in regards to the provision of the sensor information that is analyzed by the apparatus 10, the sensors that provide the sensor information are offset from an interface between the first and second fingers so as not to be positioned between the first and second fingers. In this regard, the first and second fingers may carry magnetometers, magnets, acoustic surfaces, vibration or acoustic sensors or the like to collect sensor information indicative of the relative movement of the first and second fingers, but the sensors are not positioned between the first and second fingers and are instead, offset therefrom, such as by being carried by the back side of the finger, the side surfaces of the fingers or the like. As such, the user may utilize their hand in a conventional fashion even as the user provides input based upon the relative movement of two or more of the user's fingers.
As described above,
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.