CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation of U.S. patent application Ser. No. 15/685,291, filed on Aug. 24, 2017, which is a continuation of U.S. patent application Ser. No. 14/959,077, filed on Dec. 4, 2015, and issued as U.S. Pat. No 9,778,744 on Oct. 3, 2017, which is a continuation of U.S. patent application Ser. No. 14/030,181, filed on Sep. 18, 2013 and issued as U.S. Pat. No. 9,207,764 on Dec. 8, 2015. The specification of each of these applications is hereby incorporated by reference.
FIELDOne embodiment is directed generally to haptic effects, and in particular to haptic effects generated by a multi-channel device.
BACKGROUND INFORMATIONPortable/mobile electronic devices, such as mobile phones, smartphones, camera phones, cameras, personal digital assistants (“PDA”s), etc., typically include output mechanisms to alert the user of certain events that occur with respect to the devices. For example, a cell phone normally includes a speaker for audibly notifying the user of an incoming telephone call event. The audible signal may include specific ringtones, musical tunes, sound effects, etc. In addition, cell phones may include display screens that can be used to visually notify the users of incoming phone calls.
In some mobile devices, kinesthetic feedback (such as active and resistive force feedback) and/or tactile feedback (such as vibration, texture, and heat) is also provided to the user, more generally known collectively as “haptic feedback” or “haptic effects”. Haptic feedback can provide cues that enhance and simplify the user interface. Specifically, vibration effects, or vibrotactile haptic effects, may be useful in providing cues to users of electronic devices to alert the user to specific events, or provide realistic feedback to create greater sensory immersion within a simulated or virtual environment.
SUMMARYEmbodiments generate haptic effects on a device that is grasped by a user on a first side having a corresponding first haptic output device and on a second side having a corresponding second haptic output device. Embodiments receive a first haptic effect channel and receive a second haptic effect channel. Embodiments determine that the first side is more tightly grasped by the user than the second side. Embodiments then, based on the determining, assign the first haptic effect channel to the first haptic output device and assign the second haptic effect channel to the second haptic output device.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram of a haptically-enabled system in accordance with one embodiment of the present invention.
FIG. 2 is a flow diagram of the functionality of the orientated haptic effects module and the system ofFIG. 1 when generating orientation adjustable haptic effect signals for actuators in accordance with one embodiment.
FIG. 3 is a block diagram of an embodiment of the present invention that uses sound to haptic conversion to generate haptic effect channels.
DETAILED DESCRIPTIONOne embodiment is a haptically-enabled device/system that includes more than one haptic channel. For example, the device can include a left haptic channel that generates haptic effects predominately on the left side of the device, and a right haptic channel that generates haptic effects substantially independent of the left haptic channel and predominately on the right side of the device. The haptic device may be handheld/mobile and may change orientation (e.g., turned 180 degrees) during usage. Therefore, embodiments determine the current orientation and route the haptic channels accordingly so that they match up with the current orientation. In general, embodiments map haptic signals with respect to an actuator spatial arrangement of the device.
FIG. 1 is a block diagram of a haptically-enabledsystem10 in accordance with one embodiment of the present invention.System10 includes a touchsensitive surface11 or other type of user interface mounted within ahousing15, and may include mechanical keys/buttons13. Internal tosystem10 is a haptic feedback system that generates vibrations onsystem10. In one embodiment, the vibrations are generated ontouch surface11.
The haptic feedback system includes a processor orcontroller12. Coupled toprocessor12 is amemory20 and a leftactuator drive circuit16, which is coupled to aleft actuator18.Actuator18 may be any type of actuator that can generate and output a haptic effect including, for example, an electric motor, an electro-magnetic actuator, a voice coil, a linear resonant actuator, a piezoelectric actuator, a shape memory alloy, an electro-active polymer, a solenoid, an eccentric rotating mass motor (“ERM”) or a linear resonant actuator (“LRA”).
Processor12 may be any type of general purpose processor, or could be a processor specifically designed to provide haptic effects, such as an application-specific integrated circuit (“ASIC”).Processor12 may be the same processor that operates theentire system10, or may be a separate processor.Processor12 can decide what haptic effects are to be played and the order in which the effects are played based on high-level parameters. In general, the high-level parameters that define a particular haptic effect include magnitude, frequency, and duration. Low-level parameters such as streaming motor commands could also be used to determine a particular haptic effect.
Processor12 outputs the control signals to leftactuator drive circuit16, which includes electronic components and circuitry used to supplyleft actuator18 with the required electrical current and voltage (i.e., “motor signals”) to cause the desired haptic effects. In addition,system10 include a rightactuator drive circuit26 and aright actuator28, that operate substantially the same as the corresponding left side devices.Left actuator18 can be positioned withinsystem10 to generate a vibratoryhaptic effect30 predominantly on the left side ofsystem10, andright actuator28 can be positioned withinsystem10 to generate a vibratoryhaptic effect40 predominantly on the right side ofsystem10.System10 further includes asensor25 that detects the orientation ofsystem10, such as an accelerometer, tilt sensor, three-dimensional detection sensor, etc. Signals fromsensor25 can be used byprocessor12 to determine the location or overall spatial arrangement of all of the haptic output devices ofsystem10.
In addition to or in place ofactuators18,28,system10 may include other types of haptic output devices (not shown) that may be non-mechanical or non-vibratory devices such as devices that use electrostatic friction (“ESF”), ultrasonic surface friction (“USF”), devices that induce acoustic radiation pressure with an ultrasonic haptic transducer, devices that use a haptic substrate and a flexible or deformable surface or shape changing devices and that may be attached to a user's body, devices that provide projected haptic output such as a puff of air using an air jet, etc.
In other embodiments,actuators18,28 andsensor25 may be in remote communication toprocessor12. In these embodiments,processor12 may receive signals fromsensor25, determine a mapping of haptic effects based on the signals, and transmit the haptic effects to the corresponding remote haptic output devices. For example,processor12 andsystem10 may be a central controller that controls and provides haptic effects to wearable haptic devices such as wrist bands, headbands, eyeglasses, rings, leg bands, arrays integrated into clothing, etc., or any other type of device that a user may wear on a body or can be held by a user and that is haptically enabled. The wearable devices include one or more haptic output devices that generate haptic effects on the wearable devices and are remote fromsystem10.
Memory20 can be any type of storage device or computer-readable medium, such as random access memory (“RAM”) or read-only memory (“ROM”).Memory20 stores instructions executed byprocessor12. Among the instructions,memory20 includes an orientatedhaptic effects module22 which are instructions that, when executed byprocessor12, generate orientation adjustable drive signals sent to drivecircuits16,26 to generate haptic effects, as disclosed in more detail below.Memory20 may also be located internal toprocessor12, or be any combination of internal and external memory.
Touch surface11 recognizes touches, and may also recognize the position and magnitude of touches on the surface. The data corresponding to the touches is sent toprocessor12, or another processor withinsystem10, andprocessor12 interprets the touches and in response generates haptic effect signals.Touch surface11 may sense touches using any sensing technology, including capacitive sensing, resistive sensing, surface acoustic wave sensing, pressure sensing, optical sensing, etc.Touch surface11 may sense multi-touch contacts and may be capable of distinguishing multiple touches that occur at the same time.Touch surface11 may be a touchscreen that generates and displays images for the user to interact with, such as keys, dials, etc., or may be a touchpad with minimal or no images.
System10 may be a handheld device, such a cellular telephone, personal digital assistant (“PDA”), smartphone, computer tablet, gaming console, wearable device, or may be any other type of device that includes a haptic effect system that includes one or more actuators. The user interface may be a touch sensitive surface, or can be any other type of user interface such as a mouse, touchpad, mini-joystick, scroll wheel, trackball, game pads or game controllers, etc. In embodiments with more than one actuator, each actuator may have a different rotational capability in order to create a wide range of haptic effects on the device. Not all elements illustrated inFIG. 1 will be included in each embodiment ofsystem10. In many embodiments, only a subset of the elements are needed.
In one embodiment,system10 is a multi-channel haptic device, meaningprocessor12 generates more than one haptic effect channel (i.e., a haptic effect signal that generates a haptic effect), and each channel is output/sent to a separate actuator or other haptic output device. In one embodiment,system10 generates a haptic effect channel that corresponds to each channel of audio data, such as the left and right channels of stereo audio data. In one embodiment, the haptic effect channels/signals can be automatically generated from the audio channels, as disclosed in, for example, U.S. patent application Ser. Nos. 13/365,984 and 13/366,010, the disclosures of which are herein incorporated by reference.
On devices such assystem10 with multiple actuators, it is sometimes necessary to change the haptic signals sent to the actuators based on the posture or orientation of the device. For example, onsystem10,actuators18,28 may be stereo piezo actuators, one on the left and one on the right. The tactile effects in games and videos executed onsystem10 will typically be designed with the intention that some effects are felt on the left and others are felt on the right. However most devices such assystem10 allow the user to flip the device completely around, and the visual image will spin to adapt so that it is still right-side-up. Embodiments, therefore, flip the tactile effects so that the correct effects intended for the left side still play on the left side, and the ones intended for the right side play on the right.
FIG. 2 is a flow diagram of the functionality of orientatedhaptic effects module22 andsystem10 ofFIG. 1 when generating orientation adjustable haptic effect signals foractuators18,28 in accordance with one embodiment. In one embodiment, the functionality of the flow diagram ofFIG. 2 is implemented by software stored in memory or other computer readable or tangible medium, and executed by a processor. In other embodiments, the functionality may be performed by hardware (e.g., through the use of an application specific integrated circuit (“ASIC”), a programmable gate array (“PGA”), a field programmable gate array (“FPGA”), etc.), or any combination of hardware and software.
At202, the device orientation is determined based on one or more sensors, such assensor25. In one embodiment,sensor25 is an accelerometer.
At204, the haptic effect data/channels are obtained. The haptic effect data can be obtained directly from an application that generates the data, or can be generated based on sound-to-haptic conversion techniques or other conversion techniques. The haptic effect data includes multiple haptic effect channels, where each channel is configured to be directed to a different haptic output device, such as a left or right actuator.
At206, each haptic effect channel at204 is assigned/mapped to an individual haptic output device.
At208, each haptic effect channel is sent to the corresponding assigned haptic output device. The haptic output devices can be local or remote fromsystem10.
At210, each haptic output device generates haptic effects in response to receiving the haptic effect channel.
FIG. 3 is a block diagram of an embodiment of the present invention that uses sound to haptic conversion to generate haptic effect channels. In the embodiment ofFIG. 3, audio data is played at300 and includes a left audio channel and a right audio channel. However, in the example ofFIG. 3, because the orientation of the playback device (e.g.,system10 ofFIG. 1) has changed, the actuator304 that was originally on the left side is now on the right side, and vice versa. Therefore, it is determined that the left audio channel should be swapped with the right audio channel.
InOption 1, the audio channels can be swapped at301, before being received by a sound tohaptic conversion module310, which converts each audio channel to a haptic effect channel, and before being received by amixer320. IfOption 1 is used, a flag will be set inswap flag330 to indicate that the channels have been swapped. Therefore, sound tohaptic conversion module310 can proceed to generate haptic effect channels without concern for the orientation of the device.
InOption 2, sound tohaptic conversion module310 receives un-swapped data, and determines fromswap flag330 that the channels need to be swapped.Module310 can then include the swapping functionality as part of the sound to haptic conversion functionality before outputting haptic channels to the mappedactuators340.
Although embodiments described above consider two directions when determining mapping (i.e., left and right), other embodiments can consider four directions (i.e., top, bottom, left, right), or any other number of directions, depending on the number and placement of the haptic output devices. Further, rather than left and right, the haptic output devices could be on the front and back of a device, or in some other arrangement. The mapping of haptic channels may also be based on hand position, grasp strength or grasp style (i.e., the way the user is holding the device) in addition to or in place of the orientation of the device. For example, if the user is tightly grasping the device on the left side, while barely grasping the device on the right side, one of the haptic channels may be mapped to the tightly grasped side, and the other haptic channel may be mapped to the lightly grasped side. Further, the volumes or “magnitudes” of the haptic channels can be adjusted according to the grasps. For example, the side being tightly grasped could be left at regular magnitude, while the side that is lightly grasped could be increased in magnitude.
In some embodiments disclosed above, the device is rotated 180 degrees so that, for example, the left side is swapped with the right side. However, in some instances, a device with two actuators, one on each side, may be rotated 90 degrees or some other amount less than 180 degrees. In one embodiment, one or more of the following mapping/assigning of channels may occur:
The left and right haptic channels are mixed into a single “center” channel to be played on both actuators.
No mixing—instead the left haptic effect is played on the actuator that was most recently on the left side, and the right haptic effect is played on what was the right actuator. This will provide the most consistent experience.
Some other attributes are used to determine which actuator to play on (e.g., one may be larger than the other).
In another embodiment with two actuators, the haptic signal is comprised of four-channels (e.g., left/right/front/back), and the device is rotated 90 degrees or some other amount less than 180 degrees. In this embodiment, the two channels that correspond to the current orientation (left/right OR front/back) are selected and those channels are rendered. The two off-axis channels are either dropped, or are mixed and treated as a center channel to be played on one or both of the other actuators.
In general, when embodiments, are assigning tracks of a multi-channel haptic effect to individual actuators, the first consideration is to use the effects that match the positions/axes of the actuators in the system, followed by an optional mapping of off-axis effects to one or more actuators.
Further, the haptic mapping may be modified according to where the user is touching a touch screen in a control widget. For example, a device may include a graphic touchscreen slider along the side of a multi-actuator device. The actuator closest to the user could receive a haptic command signal, while the other actuators receive no haptic signals.
The mapping may also apply to flexible devices and be dependent, for example, on whether the screen is rolled up or stretched out, and may apply to multi-cell touch screens.
Embodiments using mapping further include wearable haptic devices. For example, in one embodiment the haptic output device is a ring with multiple vibration elements. The mapping of the haptic channels can be adjusted according to the orientation of the ring. For example, which of the actuators that is currently at the top of the ring will change depending on the current orientation of the ring. When sending an “up” haptic signal (i.e., a haptic signal that imparts “up” information), the current actuator on the top of the ring will receive the up haptic effect. In another example, the user may be wearing a haptically-enabled watch on each arm. If the user swaps the watches,system10 will determine which arm has which watch and map the haptic effects accordingly.
Further, the mapping in embodiments can occur “mid-stream” such as during the playing of a movie. For example, a user may be watching a movie that has stereo spatialized tactile effects on a tablet. The user pauses the movie and puts down the tablet. When the user returns and picks up the tablet, it is in the opposite orientation as before. The tablet rotates the display image to accommodate this. Further, embodiments also rotate the specialized haptic image by changing the mapping.
Although embodiments disclosed above include multiple actuators, in one embodiment the device can include a single actuator. In this embodiment, the haptic effect is changed based on how the user is holding the device rather than the orientation of the device. For example, if the actuator is on the left side, and the user is holding the device on the left side, the magnitude of the haptic effect may be relatively weak. However, ifsensor25 detects that the user is holding the device on the right side, the magnitude of the haptic effect may be relatively strong so that the user can feel that haptic effect at a distance from the placement of the actuator.
As disclosed, embodiments map haptic channels to actuators based on the orientation of the device, among other factors. Therefore, spatial haptic effects will always be generated by the appropriate haptic output device, regardless of how a mobile device, for example, is being held by a user.
Several embodiments are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the disclosed embodiments are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.