A method, system, and one or more computer-readable storage media for providing multi-dimensional haptic touch screen interaction are provided herein. The method includes detecting a force applied to a touch screen by an object and determining a magnitude, direction, and location of the force. The method also includes determining a haptic force feedback to be applied by the touch screen on the object based on the magnitude, direction, and location of the force applied to the touch screen, and displacing the touch screen in a specified direction such that the haptic force feedback is applied by the touch screen on the object.
|
1. A method for providing multi-dimensional haptic touch screen interaction, comprising:
detecting a force applied to a touch screen by a first object, wherein the touch screen comprises a first and second display tile contacting the first object, wherein the first and second display tile of the touch screen move in a plurality of planes to apply a force on the first object and a second object, respectively;
determining a magnitude, a direction, and a location of the force applied to the first and second display tile of the touch screen; and
determining a haptic force feedback to be applied by the first display tile of the touch screen on the first object based on the magnitude, the direction, and the location of the force applied to the first and second display tile of the touch screen; where the touch screen locks for a user annotation in response to a detected force on the touch screen in a second position.
18. One or more computer-readable storage media for storing computer-readable instructions, the computer-readable instructions providing a system for providing multi-dimensional haptic touch screen interaction when executed by one or more processing devices, the computer-readable instructions comprising code configured to:
detect a force applied to a touch screen by a first finger of a user, wherein the touch screen comprises a first and second display tile contacting the first finger and a second finger of a user, respectively, wherein the first and second display tile of the touch screen move in a plurality of planes to apply a force on the first and the second finger, respectively;
determine a magnitude, a direction, and a location of the force applied to the first and second display tile of the touch screen;
determine a haptic force feedback to be applied by the first display tile of the touch screen on the first finger of the user based on the magnitude, the direction, and the location of the force applied to the first and second display tile of the touch screen, where the touch screen locks for a user annotation in response to a detected force on the touch screen in a second position.
10. A computing system for providing multi-dimensional haptic touch screen interaction, comprising:
a haptic touch screen device comprising a touch screen and a force sensor, wherein the force sensor is configured to detect a force applied to the touch screen by a first object, and wherein the touch screen comprises a first and second display tile contacting the first object and a second object, respectively, wherein the first and second display tile of the touch screen move in a plurality of planes to apply a force on the first and second object, respectively;
a processor that is adapted to execute stored instructions; and
a system memory, wherein the system memory comprises code configured to: determine a magnitude, a direction, and a location of the force applied to the first and second display tile of the touch screen; and
determine a haptic force feedback to be applied by the first display tile of the touch screen on the first object based on the magnitude, the direction, and the location of the force applied to the first and second display tile of the touch screen, where the touch screen locks for a user annotation in response to a detected force on the touch screen in a second position.
2. The method of
3. The method of
determining a z-coordinate of a position of the touch screen during displacement of the touch screen in a z-direction; and
rendering a stereographic three-dimensional image on the touch screen based on the location of the force applied to the touch screen and the z-coordinate of the position of the touch screen.
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
displacing the touch screen in a positive z-direction if the force applied is increased; and
displacing the touch screen in a negative z-direction if the force applied is decreased.
9. The method of
11. The system of
12. The system of
13. The system of
14. The system of
15. The system of
16. The system of
17. The system of
|
According to current technology, two-dimensional (e.g., x-axis and y-axis) touch screen interaction is fairly ubiquitous and intuitive. A user's finger may contact a touch screen at a specific position to affect a visual result corresponding to the specific position on the touch screen. In some cases, three-dimensional (3D) touch screen interaction is provided using an on-screen slider, a mouse scroll wheel, a reassigned mouse axis, a joystick, or the like. However, such devices do not provide for intuitive 3D (e.g., z-axis) touch screen interaction or offer any haptic feedback. Moreover, while some degree of haptic sensing may be provided using token spring compliance or object shape built-in technology, haptic technology in general is widely overlooked in current human-computer interaction (HCI) applications.
The following presents a simplified summary of the subject innovation in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview of the claimed subject matter. It is intended to neither identify key or critical elements of the claimed subject matter nor delineate the scope of the subject innovation. Its sole purpose is to present some concepts of the claimed subject matter in a simplified form as a prelude to the more detailed description that is presented later.
An embodiment provides a method for providing multi-dimensional haptic touch screen interaction. The method includes detecting a force applied to a touch screen by an object and determining the magnitude, direction, and location of the force applied to the touch screen. The method also includes determining a haptic force feedback to be applied by the touch screen on the object based on the magnitude, direction, and location of the force applied to the touch screen, and displacing the touch screen in a specified direction such that the haptic force feedback is applied by the touch screen on the object.
Another embodiment provides a computing system for providing multi-dimensional haptic touch screen interaction. The computing system includes a haptic touch screen device including a touch screen and a force sensor. The force sensor is configured to detect a force applied to the touch screen by an object. The computing system also includes a processor that is adapted to execute stored instructions and a system memory. The system memory includes code configured to determine the magnitude, direction, and location of the force applied to the touch screen. The system memory also includes code configured to determine a haptic force feedback to be applied by the touch screen on the object based on the magnitude, direction, and location of the force applied to the touch screen. In addition, the haptic touch screen device is configured to move the touch screen such that the haptic force feedback is applied by the touch screen on the object.
In addition, another embodiment provides one or more computer-readable storage media for storing computer-readable instructions. The computer-readable instructions provide a system for providing multi-dimensional haptic touch screen interaction when executed by one or more processing devices. The computer-readable instructions include code configured to detect a force applied to a touch screen by a finger of a user and determine the magnitude, direction, and location of the force applied to the touch screen. The computer-readable instructions also include code configured to determine a haptic force feedback to be applied by the touch screen on the finger of the user based on the magnitude, direction, and location of the force applied to the touch screen, and move the touch screen a in a specified direction such that the haptic force feedback is applied by the touch screen on the finger of the user. The movement of the touch screen is controlled in real-time based on variations in the force applied to the touch screen by the finger of the user.
The following description and the annexed drawings set forth in detail certain illustrative aspects of the claimed subject matter. These aspects are indicative, however, of but a few of the various ways in which the principles of the innovation may be employed and the claimed subject matter is intended to include all such aspects and their equivalents. Other advantages and novel features of the claimed subject matter will become apparent from the following detailed description of the innovation when considered in conjunction with the drawings.
As discussed above, current devices do not provide for intuitive three-dimensional (3D) touch screen interaction, especially in the haptic domain. Accordingly, embodiments described herein are directed to providing intuitive multi-dimensional haptic touch screen interaction. Specifically, embodiments described herein provide a computing system including a haptic touch screen that provides for an intuitive multi-dimensional interaction in response to a user “pushing” on the touch screen by applying a force exceeding a threshold to move the touch screen away from the user or “pulling” on the touch screen by applying a force that does not exceed the threshold to move the touch screen toward the user. Additional haptic capabilities may also be provided as linear and non-linear forces to the force feedback signal as a function of touch pressure and z-axis position. Such linear and non-linear forces may be manifested as viscous feel, a discernible detent at certain z-positions, or texture of a function of z-position, for example. Furthermore, although embodiments are described herein with relation to 3D interaction in the z-direction, it is to be understood that embodiments described herein may also be used to provide interaction in any other suitable dimension or plane.
As a preliminary matter, some of the figures describe concepts in the context of one or more structural components, variously referred to as functionality, modules, features, elements, or the like. The various components shown in the figures can be implemented in any manner, such as via software, hardware (e.g., discrete logic components), or firmware, or any combinations thereof. In some embodiments, the various components may reflect the use of corresponding components in an actual implementation. In other embodiments, any single component illustrated in the figures may be implemented by a number of actual components. The depiction of any two or more separate components in the figures may reflect different functions performed by a single actual component.
Other figures describe the concepts in flowchart form. In this form, certain operations are described as constituting distinct blocks performed in a certain order. Such implementations are exemplary and non-limiting. Certain blocks described herein can be grouped together and performed in a single operation, certain blocks can be broken apart into plural component blocks, and certain blocks can be performed in an order that differs from that which is illustrated herein, including a parallel manner of performing the blocks. The blocks shown in the flowcharts can be implemented by software, hardware, firmware, manual processing, or the like. As used herein, hardware may include computer systems, discrete logic components, such as application specific integrated circuits (ASICs), or the like.
As to terminology, the phrase “configured to” encompasses any way that any kind of functionality can be constructed to perform an identified operation. The functionality can be configured to perform an operation using, for instance, software, hardware, firmware, or the like.
The term “logic” encompasses any functionality for performing a task. For instance, each operation illustrated in the flowcharts corresponds to logic for performing that operation. An operation can be performed using, for instance, software, hardware, firmware, or the like.
As used herein, the terms “component,” “system,” “client,” “search engine,” “browser,” “server,” and the like are intended to refer to a computer-related entity, either hardware, software (e.g., in execution), or firmware, or any combination thereof. For example, a component can be a process running on a processor, an object, an executable, a program, a function, a library, a subroutine, a computer, or a combination of software and hardware.
By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process, and a component can be localized on one computer and/or distributed between two or more computers. The term “processor” is generally understood to refer to a hardware component, such as a processing unit of a computer system.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable storage device or media.
Computer-readable storage media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, and magnetic strips, among others), optical disks (e.g., compact disk (CD) and digital versatile disk (DVD), among others), smart cards, and flash memory devices (e.g., card, stick, and key drive, among others). In contrast, computer-readable media (i.e., not storage media) generally may additionally include communication media such as transmission media for wireless signals and the like.
As shown in
The single axis robot 104 includes a dual linear bearing 114. The touch screen 102 is mounted to the dual linear bearing 114 along the z-axis. In addition, the dual linear bearing 114 is mounted to a table-top frame 116 that stabilizes the computing device 100 on a flat surface. The single axis robot 104 also includes a servomotor 118 with a mounted encoder 120. In various embodiments, the servomotor 118 is a rotational brushed servomotor with an attached pinion gear that is mounted to the frame of the single axis robot 104. The servomotor 118 may provide for linear actuation of the dual linear bearing 114. Specifically, the servomotor 118 with the attached pinion gear may drive a linear rack gear that is mounted to the touch screen 102, as discussed further with respect to
The schematics of
As shown in
The PC 302 may be communicably coupled to the touch screen 102 via a USB connection, for example. The touch screen 102 may send a signal 320 indicating the x-y touch conditions of the touch screen 102, such as the magnitude, direction, and location of the touch force applied by the finger 110 of the user, to the PC 302. Further, the PC 302 may send a stereo video signal 322 to the touch screen 102. The touch screen 102 may then display the stereo video to the user. In some embodiments, if the touch screen 102 uses active 3D technology, the stereo video may be observed by the user through shutter glasses. In other embodiments, if the touch screen 102 uses passive 3D technology, the stereo video may be observed by the user through polarized glasses.
In various embodiments, the force transducers 404 output their applied touch force values to the microcontroller 312. The microcontroller 312, in turn, processes this data through a PID servo control loop and cause the controller 308 of the servomotor 118 to move the touch screen 102 in the z-direction. According to one exemplary operation scenario, the loop is closed by commanding the touch screen 102 to exert a constant force F(z) against the user's finger 110 whenever the z-axis sliding mechanism is between the two z-limit switches and there is an active x-y touch signal. From the user's perspective, the touch screen 102 may appear to behave as if it is mounted on a constant-force z-axis spring. When the user touches the touch screen 102 with a force=F(z), the touch screen 102 will move away from the user, keeping the constant F(Z) force against the touching finger 110 as it moves in the z-direction. If the user's finger 110 moves in a z-direction away from the touch screen 102, the touch screen 102 will retract with the finger 110, again keeping a constant force F(z) against the finger 110. If the user attempts to move the touch screen 102 beyond any of the positive or negative z-limit switches, the touch screen 102 will cease to move in that direction.
According to another exemplary operation scenario, more complicated haptic functions can be implemented with the F(z) forcing function. Instead of a constant touch force for all Z, the system could command a force=F(z)=K*x or according to Hooke's Law relationship. From the user's perspective, the touch screen 102 may appear to behave as if a spring is attempting to restore the touch screen 102 against the user's touch with a force proportional to the z-distance traveled.
Another haptic function that may be implemented includes a programmable detent, i.e., a sudden increase in absolute restoring force at a certain z-location. In some cases, the touch screen 102 may physically stop at the certain z-location until a touch force that is above a predetermined upper threshold or below a predetermined lower threshold is detected, at which point the touch screen 102 may move away from the detent.
Other haptic functions may also be implemented while the touch screen 102 is being moved by the user. The force F(z) may be modulated as a function of velocity, imparting a viscous sensation or a textured feel as a function of z-position. In addition, a z-axis palpation function may be generated to allow a user to feel a 3D surface of an object that is being displayed on the touch screen 102. For example, the force F(z) may be proportional to the surface of the object at the specific location at which the user's finger 110 contacts the touch screen 102.
Further, in various embodiments, the haptic touch screen may be able to implement the simulated palpation of a visually rendered object. For example, if a sphere is visually rendered on the touch screen, the user may observe the sphere in stereoscopic 3D as well as “feel” the sphere's surface in the z-direction, depending on where the user touches the sphere in 3D-space. Additional textures and haptic sensations may also be used to impart a z-axis haptic perception driven by the 3D-space position. Different forces that depend on the x-y coordinate of the applied touch force may also be imparted to the touch screen movement. For example, the touch screen may allow a user to trace a path through a 3D street database with his finger. As another example, the touch screen may allow a user to trace a vessel in a medical 3D database with his finger. The user may begin at one z-plane, pick a particular vessel to trace, and then proceed in the z-direction, as well as the x-direction and the y-direction, by moving his finger through the selected vessel.
At block 704, the magnitude, direction, and location of the force applied to the touch screen is determined. In various embodiments, a linear force sensor within the computing system detects the force applied to the touch screen and sends a signal corresponding to the detected force to a processor of the computing system. The processor then determines the magnitude, direction, and location of the force applied to the touch screen. The location of the force may be the x-y coordinate on the touch screen at which the force is applied.
At block 706, a haptic force feedback to be applied by the touch screen on the object is determined based on the magnitude, direction, and location of the force applied to the touch screen. The haptic force feedback may provide a 3D haptic interaction for the user. For example, from the user's perspective, the haptic force feedback may be manifested as viscous feel, a detent at specified positions, or a texture as a function of position in 3D space.
At block 708, the touch screen is displaced in a specified direction such that the haptic force feedback is applied by the touch screen on the object. The distance that the touch screen is displaced may depend on the magnitude of the force applied to the touch screen. In various embodiments, the touch screen is displaced in the z-direction. Specifically, the touch screen may move in the positive z-direction away from the user if the magnitude of the force applied to the touch screen exceeds a specified upper threshold, or may move in the negative z-direction toward the user if the magnitude of the force applied to the touch screen is below a specified lower threshold. In addition, the location, e.g., x-y coordinate, of the force applied to the touch screen and the z-coordinate of the position of the touch screen may be used to render a stereographic three-dimensional image on the touch screen.
Further, in some embodiments, the touch screen moves in a plane that is tangential to the direction of the force applied to the touch screen. For example, the touch screen may tilt based on the direction of the force applied to the touch screen, and may then move in that direction. In addition, a stereographic three-dimensional image may be rendered based on a position of the touch screen in three-dimensional space, which may be determined based on the location of the force applied to the touch screen and the position and direction of movement of the touch screen.
In various embodiments, a detent is imposed at a specified position during displacement of the touch screen in the specified direction. The detent may be imposed until the force applied to the touch screen exceeds a predetermined upper threshold or drops below a predetermined lower threshold. In some embodiments, a specific annotation or trigger within the image or video displayed on the touch screen may cause the detent to be imposed. The detent may alert the user of the existence of the annotation or trigger at the specified position. Moreover, in some embodiments, the touch screen may vibrate at the specified position during displacement of the touch screen. For example, the touch screen may vibrate by rapidly moving back and forth for a short period of time. Such vibration may alert the user of the existence of the annotation or trigger at the specified position. In some embodiments, the vibration is used in combination with the detent. In other embodiments, the vibration is used as an alternative to the detent. Further, in various embodiments, a deadband is imposed during displacement of the touch screen. Such a deadband may be caused by hysteresis.
In some embodiments, a three-dimensional image (or video) being displayed by the touch screen is tightly linked to the movement of the touch screen and the position of the force applied to the touch screen. For example, if the touch screen is displaying an image of a balloon, the balloon may appear to deform as the touch screen moves toward the user. This may allow the user to effectively “feel” the compliance of the balloon as if the balloon is pushing against his finger. If the user reduces the force applied to the balloon, the balloon may appear to return to its original shape as the touch screen moves away from the user. As another example, in the case of medical imaging applications, the user may virtually travel through the veins of the body by pushing on the touch screen with his finger, and may effectively “feel” the texture of the veins as haptic force feedback applied by the touch screen on the finger of the user. For example, a blood clot in a vein may cause a detent to be imposed at the location of the blood clot, causing the touch screen to suddenly stop moving and, thus, alerting the user that there is an abnormality in that region of the vein.
In other embodiments, the three-dimensional image being displayed by the touch screen is not tightly linked to the movement of the touch screen. For example, if the touch screen is displaying an image of a map, the user may move his finger across the map, causing the touch screen to move toward or away from the user to indicate the presence of mountains or valleys within the map, for example. Moreover, a detent may be imposed at a specific location within the map, causing the touch screen to suddenly stop moving and, thus, alerting the user that there is something in that location that may be worth exploring. However, the actual image of the map being displayed by the touch screen may change very little (if at all) as the user moves his finger across the map. As another example, if the touch screen is displaying an image of a rigid cylinder, the touch screen may move toward or away from the user as the user moves his finger across the touch screen to indicate the z-contour or shape of the cylinder. However, the actual image of the cylinder being displayed by the touch screen may not change.
Further, in some embodiments, the touch screen displays a two-dimensional image (or video). For example, the touch screen may display a collection of two-dimensional images representing slices of the brain. Specific brain slices within the collection may be annotated, and the touch screen may impose a detent or other type of haptic feedback for annotated brain slices as a medical expert navigates through the collection.
The process flow diagram of
The method 700 may provide multi-dimensional haptic interaction for a variety of applications, such as medical imaging applications, gaming applications, computer-aided design (CAD) applications, telepresence applications, present applications, or the like. For example, in the case of a telepresence application, the method 700 may allow multiple collaborators who are working together from remote locations to interact with one another using haptic force feedback applied by the touch screen being used by each collaborator. As another example, in the case of a presentation application (e.g, MICROSOFT POWERPOINT, available from Microsoft Corporation of Redmond, Wash.), the method 700 may allow a user to push on the touch screen to move through layers of objects. Specifically, the user may push on the touch screen to move deeper into the layers of objects and grab a particular object, and release the touch screen or push further to place the particular object in a different layer.
In some embodiments, the touch screen includes a number of display tiles, and each display tile is configured to independently move in any suitable plane such that the haptic force feedback is applied by the touch screen on the object. For example, if the user touches the touch screen using a number of different fingers, each tile that is touched may respond differently. As another example, one tile on the touch screen may act as a control panel that may be actuated with one finger, while the other tiles may be configured to move in response to being touched by the user's other fingers. Further, in some embodiments, if force is applied to the touch screen in a second position, the touch screen may lock or stop moving so that the user may annotate the touch screen without causing the touch screen to move.
In various embodiments, the touch screen is used as a display device to display an image, such as a stereographic three-dimensional image, to the user. However, in other embodiments, the touch screen is remote from (but communicably coupled to) the display device. In such embodiments, the user may apply force to the touch screen and may feel the haptic force feedback from the touch screen, but may view the actual image corresponding to the haptic force feedback on the separate display device.
In order to provide context for implementing various aspects of the claimed subject matter,
Moreover, those of skill in the art will appreciate that the subject innovation may be practiced with other computer system configurations. For example, the subject innovation may be practiced with single-processor or multi-processor computer systems, minicomputers, mainframe computers, personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, or the like, each of which may operatively communicate with one or more associated devices. The illustrated aspects of the claimed subject matter may also be practiced in distributed computing environments wherein certain tasks are performed by remote processing devices that are linked through a communications network. However, some, if not all, aspects of the subject innovation may be practiced on stand-alone computers. In a distributed computing environment, program modules may be located in local or remote memory storage devices.
One possible communication between a client 802 and a server 804 can be in the form of a data packet adapted to be transmitted between two or more computer processes. The networking environment 800 includes a communication framework 808 that can be employed to facilitate communications between the client(s) 802 and the server(s) 804. The client(s) 802 are operably connected to one or more client data store(s) 810 that can be employed to store information local to the client(s) 802. The client data store(s) 810 may be stored in the client(s) 802, or may be located remotely, such as in a cloud server. Similarly, the server(s) 804 are operably connected to one or more server data store(s) 806 that can be employed to store information local to the servers 804.
The system bus 908 can be any of several types of bus structures, including the memory bus or memory controller, a peripheral bus or external bus, or a local bus using any variety of available bus architectures known to those of ordinary skill in the art. The system memory 906 is computer-readable storage media that includes volatile memory 910 and non-volatile memory 912. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within the computer 902, such as during start-up, is stored in non-volatile memory 912. By way of illustration, and not limitation, non-volatile memory 912 can include read-only memory (ROM), programmable ROM (PROM), electrically-programmable ROM (EPROM), electrically-erasable programmable ROM (EEPROM), or flash memory.
Volatile memory 910 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), SynchLink™ DRAM (SLDRAM), Rambus® direct RAM (RDRAM), direct Rambus® dynamic RAM (DRDRAM), and Rambus® dynamic RAM (RDRAM).
The computer 902 also includes other computer-readable storage media, such as removable/non-removable, volatile/non-volatile computer-readable storage media.
In addition, disk storage 914 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive), or a digital versatile disk ROM drive (DVD-ROM). To facilitate connection of the disk storage 914 to the system bus 908, a removable or non-removable interface is typically used, such as interface 916.
It is to be appreciated that
System applications 920 take advantage of the management of resources by the operating system 918 through program modules 922 and program data 924 stored either in system memory 906 or on disk storage 914. It is to be appreciated that the claimed subject matter can be implemented with various operating systems or combinations of operating systems.
A user enters commands or information into the computer 902 through input devices 926. According to embodiments described herein, input devices 926 can include a multi-dimensional haptic touch screen device, such as the 3D haptic touch screen device 100 described above with respect to
An output adapter 932 is provided to illustrate that there are some output devices 930 like monitors, speakers, and printers, among other output devices 930, which are accessible via the output adapters 932. The output adapters 932 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 930 and the system bus 908. It can be noted that other devices and/or systems of devices provide both input and output capabilities, such as remote computer(s) 934.
The computer 902 can be a server in a networking environment, such as the networking environment 800, that communicates with one or more remote computers, such as remote computer(s) 934. The remote computer(s) 934 may be client systems configured with web browsers, PC applications, mobile phone applications, and the like. The remote computer(s) 934 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a mobile phone, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to the computer 902. For purposes of brevity, the remote computer(s) 934 are illustrated with a memory storage device 936. The remote computer(s) 934 are logically connected to the computer 902 through a network interface 938, and physically connected to the computer 902 via a communication connection 940.
Network interface 938 encompasses wired and/or wireless communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
Communication connection(s) 940 refers to the hardware and/or software employed to connect the network interface 938 to the system bus 908. While communication connection 940 is shown for illustrative clarity inside the computer 902, it can also be external to the computer 902. The hardware and/or software for connection to the network interface 938 may include, for example, internal and external technologies such as mobile phone switches, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
It is to be understood that the block diagrams of
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Benko, Hrvoje, Sinclair, Michael J., Pahud, Michel
Patent | Priority | Assignee | Title |
10992297, | Mar 29 2019 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Device comprising force sensors |
11037414, | May 04 2018 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Methods and apparatus for outputting a haptic signal to a haptic transducer |
11069206, | May 04 2018 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Methods and apparatus for outputting a haptic signal to a haptic transducer |
11139767, | Mar 22 2018 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Methods and apparatus for driving a transducer |
11150733, | Jun 07 2019 | Cirrus Logic, Inc. | Methods and apparatuses for providing a haptic output signal to a haptic actuator |
11228840, | Jul 21 2017 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Surface speaker |
11259121, | Jul 21 2017 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Surface speaker |
11263877, | Mar 29 2019 | Cirrus Logic, Inc. | Identifying mechanical impedance of an electromagnetic load using a two-tone stimulus |
11269415, | Aug 14 2018 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Haptic output systems |
11269509, | Oct 26 2018 | Cirrus Logic, Inc. | Force sensing system and method |
11283337, | Mar 29 2019 | Cirrus Logic, Inc. | Methods and systems for improving transducer dynamics |
11359982, | Oct 15 2019 | Cirrus Logic, Inc. | Control methods for a force sensor system |
11380175, | Oct 24 2019 | Cirrus Logic, Inc. | Reproducibility of haptic waveform |
11396031, | Mar 29 2019 | Cirrus Logic, Inc. | Driver circuitry |
11408787, | Oct 15 2019 | Cirrus Logic, Inc. | Control methods for a force sensor system |
11500469, | May 08 2017 | Cirrus Logic, Inc. | Integrated haptic system |
11507267, | Oct 26 2018 | Cirrus Logic, Inc. | Force sensing system and method |
11509292, | Mar 29 2019 | Cirrus Logic, Inc. | Identifying mechanical impedance of an electromagnetic load using least-mean-squares filter |
11515875, | Mar 29 2019 | Cirrus Logic, Inc. | Device comprising force sensors |
11545951, | Dec 06 2019 | Cirrus Logic, Inc. | Methods and systems for detecting and managing amplifier instability |
11552649, | Dec 03 2021 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Analog-to-digital converter-embedded fixed-phase variable gain amplifier stages for dual monitoring paths |
11636742, | Apr 04 2018 | Cirrus Logic, Inc. | Methods and apparatus for outputting a haptic signal to a haptic transducer |
11644370, | Mar 29 2019 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Force sensing with an electromagnetic load |
11656711, | Jun 21 2019 | Cirrus Logic, Inc. | Method and apparatus for configuring a plurality of virtual buttons on a device |
11662821, | Apr 16 2020 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | In-situ monitoring, calibration, and testing of a haptic actuator |
11669165, | Jun 07 2019 | Cirrus Logic, Inc. | Methods and apparatuses for controlling operation of a vibrational output system and/or operation of an input sensor system |
11692889, | Oct 15 2019 | Cirrus Logic, Inc. | Control methods for a force sensor system |
11726596, | Mar 29 2019 | Cirrus Logic, Inc. | Controller for use in a device comprising force sensors |
11736093, | Mar 29 2019 | Cirrus Logic Inc. | Identifying mechanical impedance of an electromagnetic load using least-mean-squares filter |
11765499, | Jun 22 2021 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Methods and systems for managing mixed mode electromechanical actuator drive |
11847906, | Oct 24 2019 | Cirrus Logic Inc. | Reproducibility of haptic waveform |
11908310, | Jun 22 2021 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Methods and systems for detecting and managing unexpected spectral content in an amplifier system |
11933822, | Jun 16 2021 | CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD | Methods and systems for in-system estimation of actuator parameters |
11966513, | Aug 14 2018 | Cirrus Logic Inc. | Haptic output systems |
11972057, | Jun 07 2019 | Cirrus Logic Inc. | Methods and apparatuses for controlling operation of a vibrational output system and/or operation of an input sensor system |
11972105, | Oct 26 2018 | Cirrus Logic Inc. | Force sensing system and method |
ER6927, | |||
ER8621, |
Patent | Priority | Assignee | Title |
6008800, | Sep 18 1992 | Apple Inc | Man machine interfaces for entering data into a computer |
8279193, | Feb 15 2012 | Immersion Corporation | Interactivity model for shared feedback on mobile devices |
20020033795, | |||
20020044132, | |||
20020072814, | |||
20020109708, | |||
20020163497, | |||
20040108995, | |||
20060119586, | |||
20060250377, | |||
20060255683, | |||
20070229478, | |||
20080303797, | |||
20100027854, | |||
20100108408, | |||
20110141052, | |||
20120105333, | |||
20120105367, | |||
20120182248, | |||
20120229400, | |||
20120268384, | |||
20120271545, | |||
20130327917, | |||
EP2506117, | |||
WO2011091993, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 04 2013 | Microsoft Technology Licensing, LLC | (assignment on the face of the patent) | / | |||
Mar 04 2013 | SINCLAIR, MICHAEL J | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029997 | /0742 | |
Mar 04 2013 | BENKO, HRVOJE | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029997 | /0742 | |
Mar 05 2013 | PAHUD, MICHEL | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029997 | /0742 | |
Oct 14 2014 | Microsoft Corporation | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 039025 | /0454 |
Date | Maintenance Fee Events |
Jan 13 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 25 2020 | 4 years fee payment window open |
Jan 25 2021 | 6 months grace period start (w surcharge) |
Jul 25 2021 | patent expiry (for year 4) |
Jul 25 2023 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 25 2024 | 8 years fee payment window open |
Jan 25 2025 | 6 months grace period start (w surcharge) |
Jul 25 2025 | patent expiry (for year 8) |
Jul 25 2027 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 25 2028 | 12 years fee payment window open |
Jan 25 2029 | 6 months grace period start (w surcharge) |
Jul 25 2029 | patent expiry (for year 12) |
Jul 25 2031 | 2 years to revive unintentionally abandoned end. (for year 12) |