# Patent

## Title
Systems and methods for mapping message contents to virtual physical properties for vibrotactile messaging

## Abstract

Systems and methods for mapping message contents to virtual physical properties for vibrotactile messaging are disclosed. For example, one disclosed method includes the steps of receiving a sensor signal from a sensor, the sensor configured to detect an interaction with a messaging device, determining a virtual physical property of a virtual message object based at least in part on the sensor signal, determining a haptic effect based at least in part on the virtual physical parameter; and generating a haptic signal configured to cause an actuator to output the haptic effect.

## Background
CROSS-REFERENCES TO RELATED APPLICATIONS
This application is a continuation of and claims priority to: U.S. patent application Ser. No. 12/502,647, entitled “Systems and Methods for Mapping Message Contents to Virtual Physical Properties for Vibrotactile Messaging” filed Jul. 14, 2009, which claims priority to U.S. Provisional Patent Application No. 61/080,978, entitled “Systems and Methods for Physics-Based Tactile Messaging” filed Jul. 15, 2008; U.S. Provisional Patent Application No. 61/080,981, entitled “Systems and Methods for Mapping Message Contents to Virtual Physical Properties for Vibrotactile Messaging” filed Jul. 15, 2008; U.S. Provisional Patent Application No. 61/080,985, entitled “Systems and Methods for Shifting Sensor Haptic Feedback Function Between Passive and Active Modes” filed Jul. 15, 2008; U.S. Provisional Patent Application No. 61/080,987, entitled “Systems and Methods for Gesture Indication of Message Recipients” filed Jul. 15, 2008; U.S. Provisional Patent Application No. 61/148,312, entitled “Systems and Methods for Pseudo-Telepresence in a Shared Space” filed Jan. 29, 2009; and U.S. Provisional Patent Application No. 61/181,280, entitled “Systems and Methods for Transmitting Haptic Messages” filed May 26, 2009, the entirety of all of which are hereby incorporated herein by reference.


FIELD OF THE INVENTION
The present invention generally relates to messaging, and more particularly to systems and methods for mapping message contents to virtual physical properties for vibrotactile messaging.
BACKGROUND
Conventional tactile feedback in messaging systems is determined by the settings on a message recipient's messaging device, which may associate different types of messages with particular vibrations. These vibrations may be generic, and/or based on a prepackaged library of vibration effects included with the messaging device. Such vibrations are not authored by the user, and thus may not be considered personal to the sender or recipient of the message. Furthermore, such vibrations are not generated by the properties of the message contents. Accordingly, there is a need for systems and methods for mapping message contents to virtual physical properties for vibrotactile messaging.
SUMMARY
Embodiments of the present invention provide systems and methods for mapping message contents to virtual physical properties for vibrotactile messaging. For example, in one embodiment, a method for physics-based tactile messaging comprises receiving a sensor signal from a sensor configured to sense an interaction with a messaging device, determining a virtual physical parameter of a virtual message object based at least in part on the sensor signal, determining a haptic effect based at least in part on the virtual physical parameter, and generating a haptic signal configured to cause an actuator to output the haptic effect. In another embodiment, a computer-readable medium comprises program code for carrying out such a method.
These illustrative embodiments are mentioned not to limit or define the invention, but to provide examples to aid understanding thereof. Illustrative embodiments are discussed in the Detailed Description, and further description of the invention is provided there. Advantages offered by various embodiments of this invention may be further understood by examining this specification.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects, and advantages of the present invention are better understood when the following Detailed Description is read with reference to the accompanying drawings, wherein:
FIG. 1 is a block diagram of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention;
FIG. 2 is an illustration of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention;
FIG. 3 is an illustration of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention;
FIG. 4 is a flow diagram of a method for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention;
FIG. 5 is a flow diagram of a method for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention;
FIG. 6 is an illustration of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention; and
FIG. 7 is an illustration of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention.



DETAILED DESCRIPTION
Embodiments of the present invention provide systems and methods for mapping message contents to virtual physical properties for vibrotactile messaging.
Illustrative Embodiment of Vibrotactile Messaging
In one illustrative embodiment of the present invention, a messaging device such as a mobile phone comprises a processor in communication with a sensor and an actuator. The actuator is configured to generate a haptic effect. In one such illustrative embodiment, the messaging device comprises the Samsung SGH-i710 mobile computer equipped with Immersion Corporation's VibeTonz® vibrotactile feedback system. In another embodiment, the messaging device comprises Immersion Corporations TouchSense® Technology system also known as Immersion TouchSense® vibrotactile feedback system. Other messaging devices and haptic feedback systems may be utilized.
The messaging device may be capable of creating messages, represented as virtual message objects, and exchanging them with other messaging devices. Virtual message objects in the form of a ball, a tube, or an egg, may represent various types of messages, such as a non-verbal message (e.g. a smile), a text message, or a message with a file attachment. In addition to their shape and appearance, virtual message objects may have other properties, or virtual physical parameters, such as size, mass, collision behavior, and/or texture.
When a new virtual message object is created, a user may define one or more virtual physical parameters of the object through gestures on the touchscreen or on the device itself. A processor may receive such gestures in the form of a sensor signal, and determine a virtual physical parameter of the new virtual message object based at least in part on the sensor signal. For example, a user may create a new virtual message ball. Next, the user shakes the messaging device to define the elasticity of the new virtual message ball. A sensor such as an accelerometer or a gyroscope detects the shaking as changes in acceleration, inclination, inertia, or location, and transmits a sensor signal. The processor receives the sensor signal, and determines a virtual physical parameter of the new virtual message object, such as an elastic surface or behavior, imitating a real rubber ball.
After determining a virtual physical parameter of the new virtual message object based at least in part on the sensor signal, the processor determines a haptic effect based at least in part on the virtual physical parameter. Based on a fast jabbing motion, the processor may determine that the new virtual message object is brittle, or fragile. A haptic effect based on a brittle or fragile virtual physical parameter may comprise a vibration imitating an egg cracking or window breaking. If the virtual message object is defined as small and elastic, a corresponding haptic effect may imitate a rubber ball bouncing against a wall. The processor may map or translate one, some, or all of the virtual physical properties into haptic effects associated with the virtual message object.
Finally, the processor generates a haptic signal configured to cause an actuator to output the haptic effect. The haptic signal is then output to the actuator which produces the haptic effect. For example, as the virtual message object is contacted through a touch-screen, the messaging device may vibrate or shake, simulating the effect of touching or feeling the virtual message object. By generating haptic feedback, the messaging device can convey one or more virtual physical parameters associated with the virtual message.
This illustrative example is given to introduce the reader to the general subject matter discussed herein. The invention is not limited to this example. The following sections describe various additional embodiments and examples of methods and systems for mapping message contents to virtual physical properties for vibrotactile messaging.
Mapping Message Contents to Virtual Physical Properties
Embodiments of the invention presented herein provide systems and methods for mapping message contents to virtual physical properties for vibrotactile messaging. An application for mapping message contents may take sensor data as input, extract a feature from the sensor data, map the feature to a virtual physical parameter, and synthesize a haptic effect based on the virtual physical parameter. Mapping message contents to virtual physical properties can facilitate non-linguistic communication through audio, visual, and haptic feedback which models a physical metaphor.
Virtual Message Objects and Virtual Physical Properties
In a physical metaphor, virtual objects can behave like real, physical objects. The properties, or virtual physical parameters, of each virtual object inform how each virtual message object behaves. Thus, in a physical metaphor of a messaging system, messages such as text messages, voicemail, or file attachments are represented as virtual message objects with virtual physical parameters. Such virtual message objects may populate a multi-dimensional message inbox, or a virtual message environment. Inside the virtual message environment, virtual message objects can interact with each other and behave like real, physical objects.
Each virtual message object may represent an individual message, such as a text message, a picture message, a video message, a voicemail, a reminder, or a non-verbal message such as a smiley-face or a frown. For example, a virtual message object in the form of a tube or rolled-up scroll may represent a text message. And a virtual message object in the form of an egg or a capsule may represent a message with an attachment, such as a video, picture, or music file. Virtual message objects may also represent various forms of non-verbal communication, such as gestures, facial expressions, or emotions. A virtual message ball may correspond to a non-verbal message such as an indication of playfulness. Or a virtual message arrow may represent a poke or a jabbing gesture (i.e. to request or demand attention). Some effective virtual message objects may have easily identifiable visual and/or haptic properties and/or effects. These properties help a user intuitively understand the contents of a message without physically looking at the device. For example, the clanging keys of a virtual message object in the form of a typewriter may represent a message from work or a word processing file.
Inside a virtual message environment, virtual message objects can interact with each other and the environment, such as by bouncing, rolling, or even breaking. The behavior of virtual message objects, or how they interact, is based at least in part on each virtual message object's properties, or virtual physical parameters. Some virtual physical parameters, such as size, mass, shape, collision behavior, texture, or visual representation, are relatively static parameters, or inherent properties of the virtual message object itself. Other virtual physical parameters, such as urgency, lifetime, and/or attitude, may be transitory or temporary parameters. Such variable virtual physical parameters may be associated with how the virtual message object is sent or received from one device to another. The virtual physical parameters of a virtual message object may be based at least in part on properties of the message itself. For instance, the file size of a message attachment, a length of a text message, an area or a resolution of a picture attachment, a length of a song attachment, or a length of a video attachment may be used to determine the size or mass of a virtual message object.
In some embodiments, virtual physical parameters are determined based on sensor signals generated when a user interacts with the messaging device. For instance, a user may move or interact with a device to create and/or define a new virtual message object. In one embodiment, a user blows on a microphone to inflate a new virtual message balloon. The virtual message balloon's virtual physical size may directly correlate to the length of time the user blew on the microphone. In another embodiment, a user with a picture phone may define a new virtual message object by taking a picture. For example, after taking a picture of a basketball, the messaging device is assigned properties, such as size, texture, or appearance, extracted from or based at least in part on properties of the picture.
The virtual message environment may also implement a token metaphor for its contents. In a token metaphor, virtual objects are passed back and forth between devices, mimicking the exchange of a definite physical object. A token, such as a virtual message object, may be passed from one messaging device to another. When one messaging device sends a virtual message object to another messaging device, the virtual message object disappears from the sending messaging device, as if it was physically passed to the receiving messaging device.
When a messaging device receives a new virtual message object, the messaging device may output effects, such as haptic effects, to signify that a new virtual message object has been received, and is in the virtual message environment. For example, when a virtual message ball is received, sound and haptic effects may be played to mimic a bouncing ball, signifying to the user that a new virtual message ball has been received.
The audio, visual, and/or haptic effects associated with virtual message objects may be determined based at least in part on one or more virtual message properties of a virtual message object. A thin, egg-shelled virtual message object may crack or break upon impact with the virtual message environment. Alternatively, a toy ball or ping-pong ball may continually bounce off the boundaries of the virtual message environment. A virtual message object in the form of a bubble may be associated with a brief, pointed haptic effect, indicative of a bubble bursting.
Illustrative Systems for Mapping Message Contents to Virtual Physical Properties
Referring now to the drawings in which like numerals indicate like elements throughout the several Figures, FIG. 1 is a block diagram of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention. As shown in FIG. 1, the system 100 comprises a messaging device 102, such as a mobile phone, portable digital assistant (PDA), portable media player, or portable gaming device. The messaging device 102 comprises a processor 110. The processor 110 is in communication with a network connection 112, a sensor 114, a display 116, an actuator 118, and a speaker 120. The messaging device 102 may show a virtual message environment generated by the processor 110 on the display 116.
The processor 110 is in communication with the network connection 112. The network connection 112 may comprise one or more methods of mobile communication, such as infrared, radio, Wi-Fi, or cellular network communication. In other variations, the network connection 112 comprises a wired network connection, such as an Ethernet connection or a modem. The messaging device 102 can be configured to exchange messages, such as voice messages, text messages, data messages, or virtual message objects with other messaging devices (not shown) over networks such as a cellular network or the Internet.
The processor 110 is also in communication with one or more sensors 114. The sensor 114 may comprise an accelerometer, a gyroscope, a GPS sensor, a touch-sensitive input device (e.g. touch screen, touch-pad), a texture stylus, an imaging sensor, or some other type of sensor. The one or more sensors 114 may be configured to detect changes in acceleration, inclination, inertia, or location. For example, the messaging device 102 may comprise an accelerometer configured to measure acceleration of the messaging device 102. Or the messaging device 102 may comprise a location sensor, rotary velocity sensor, light sensor, pressure sensor, texture sensor, camera, microphone, or other type of sensor. In the embodiment shown, the one or more sensors 114 are configured to send a sensor signal to the processor 110. The processor 110 can be configured to receive the sensor signal from the one or more sensors 114.
In some embodiments of the present invention, users record virtual physical parameters of a virtual message object through interactions, such as movements or gestures. These physical interactions are detected by the one or more sensors 114. As the messaging device 102 is tilted, shaken, or otherwise moved, the one or more sensors 114 may detect these movements, and generate a sensor signal based at least in part on the movement of the messaging device 102. In one embodiment, an accelerometer sensor is configured to detect the inclination and acceleration of the messaging device 102. As the messaging device 102 is tilted, the accelerometer can be configured to send signals to the processor based at least in part on the tilt and/or acceleration of the messaging device 102. In another embodiment, the display 116 comprises a touch-screen configured to detect gestures or position inputs. As a finger is positioned or dragged on the touch-screen display 116, the touch-screen is configured to send signal to the processor 110 based at least in part on the finger's movement.
Upon receiving a sensor signal, the processor 110 may be configured to determine a virtual physical parameter of a virtual message object based at least in part on the sensor signal. Virtual physical parameters may be determined based on features extracted from sensor signals, such as color, texture, or speed. After determining a virtual physical parameter, the processor 110 may be configured to determine a haptic effect based at least in part on the virtual physical parameter. A haptic effect may simulate a rough-textured virtual message through vibrations or hard, irregular jolts.
In one embodiment, a user selects a new virtual message egg from a menu. Next, the user may move the messaging device 102 in a large circle or oval, to indicate the size of the virtual message egg. After determining the large size of the virtual message egg based on the large movement of the messaging device 102, the processor 110 may determine a haptic effect simulating the cracking of a large egg, such as through a number of vibrations.
As shown in FIG. 1, the processor 110 is in communication with a display 116. The processor 110 can be configured to generate a graphical representation of a virtual message environment, to be shown on display 116. The display 116 may comprise a touch-sensitive input device, such as a touch screen, configured to send and receive signals from the processor 110. Virtual message objects shown on the display 116 may be directly manipulated through a touch-screen. For example, two dimensional finger gestures on a touch screen display may select, touch, feel, drag, or throw a virtual message object within the virtual message environment.
The processor 110 is also in communication with one or more actuators 118. The processor 110 may transmit a haptic signal associated with a haptic effect to the one or more actuators 118. The actuators 118 receive haptic signals associated with haptic effects, and then output haptic effects. The actuator 118 may be, 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).
Finally, in the embodiment shown, the processor 110 is in communication with a speaker 120. The processor 110 may be configured to determine a sound effect based at least in part on the interaction between a virtual message object and the virtual message environment, and send an audio signal to the speaker based at least in part on the sound effect. The speaker 120 can be configured to generate the sound effect based at least in part on the audio signal generated by the processor 110. The output of a sound effect and a haptic effect may be coordinated, or generated at the same time as the haptic effect. In one embodiment, the speaker may generate the sound effect substantially simultaneously as the actuator generates the haptic effect.
Sound effects generated by the processor 110 may simulate an interaction between a virtual message object and the virtual message environment, and/or an interaction between a first virtual message object and one or more other virtual message objects. Examples of sound effects include a ball bouncing against a wall, an arrow hitting a wall with a thud, or an egg cracking. For example, a messaging device 102 may receive a virtual message object in the form of a water balloon from another messaging device. Upon the virtual message object's arrival, a sound effect of a water balloon splashing against a wall may be generated at the same time as a vibration simulating the splash.
FIG. 2 is an illustration of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention. The elements of the system 200 are described with reference to the system depicted in FIG. 1. A variety of other implementations are possible.
As shown in FIG. 2, the system 200 comprises a messaging device 102, such as a mobile phone, portable digital assistant (PDA), portable media player, or portable gaming device. The messaging device 102 can be configured to send and receive signals, such as voice mail, text messages, and other data messages, over a network such as a cellular phone network or the Internet. The messaging device 102 may include a wireless and/or a wired network connection 112. Although the device 102 is illustrated as a handheld messaging device in FIG. 2, other embodiments may use other devices, such as video game systems, video game controllers, personal media players, personal digital assistants, and/or personal computers to send and receive virtual message objects.
As shown in FIG. 2, the messaging device 102 comprises a display 116, buttons 122a, 122b, 122c, 122d, and a track ball 124. In addition to the buttons 122a, 122b, 122c, 122d, and track ball 124, the messaging device 102 may comprise a directional pad, a touchpad, a scroll wheel, a rocker switch, a joystick, or other forms of input (not shown in FIG. 2).
The display 116 of the mobile device 102 may comprise a touch-sensitive input device, such as a touch-screen. The display 116 can be configured to receive signals from the processor 110, and generate a graphical environment, such as an inbox, a browser, a gaming environment, a virtual message environment. The display 116 may also be configured to generate a virtual message authoring environment 250. The virtual message authoring environment 250 may comprise a menu 252 for selecting a type of virtual message object to author or create. As shown in FIG. 2, the menu 252 comprises options for authoring a new virtual message ball 254a, a new virtual message tube 254b, or a new virtual message egg 254c. The menu 252 may comprise other types of virtual message objects such as a heart or a water balloon (not shown in FIG. 2).
The virtual message authoring environment 250 may comprise an authoring indicator 256. The authoring indicator 256 may alert a user that the messaging device 102 is in authoring or recording mode. As shown in FIG. 2, the authoring indicator 256 comprises a warning bar located above the menu 252, at the top of the virtual message authoring environment 250. The virtual message authoring environment may be configured to display the authoring indicator 256 when the sensor is recording or capturing information associated with the virtual message object. In one instance, when the record button 122c is pressed or activated, a recording mode is entered, and the authoring indicator 256 appears. When the recording mode is stopped, the authoring indicator 256 may dim or disappear.
When the messaging device 102 is in recording mode, one or more sensors 114 may record or capture information, such as a gesture, associated with a virtual physical parameter. Some gestures comprise two-dimensional gestures received by a touch-screen. Examples of two-dimensional gestures include pointing (i.e. positional input) or drawing. Other gestures may comprise three-dimensional gestures measured by an accelerometer, a gyroscope, or some other sensor. Three-dimensional gestures may include rotating, flicking, jabbing, or otherwise moving the entire messaging device 102. One or more sensors 114 may also record other non-verbal information, such as by sensing pressure on a pressure sensor, taking a picture with a camera, or recording a sound with a microphone.
The virtual message authoring environment 250 may also comprise a new virtual message object pipe 258. As one or more new virtual message objects are created, they may appear as if they are coming out of the new virtual message object pipe 258 and into the virtual message authoring environment 250. The new virtual message object pipe 258 may reinforce the token metaphor of a virtual message object. For example, when a new virtual message object is created, and emerges from the new virtual message object pipe 258, a user of the messaging device 102 may intuitively deduce that the new virtual message object represents a physical token that can be passed back and forth between different messaging devices.
FIG. 3 is an illustration of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention. As shown in FIG. 3, the system 300 comprises a messaging device 302 with a touch-screen display 316, texture sensor 314, and track ball 324.
The touch-screen display 316 is showing a virtual message authoring environment 350. As shown in FIG. 3, the virtual message authoring environment 350 comprises a menu 352 for selecting the type of a new virtual message object. In menu 352 a user may select a new virtual message ball 354a, a new virtual message tube 354b, or a new virtual message egg 354c. Although the menu 352 illustrates three types of virtual message objects, other types of virtual message objects may be selected (not shown in FIG. 3). The virtual message authoring environment 350 also comprises a new virtual message pipe 358. When a new virtual message ball 354a is selected, a new virtual message ball 360 may be shown exiting the new virtual message pipe 358.
During creation of a new virtual message object, such as new virtual message ball 360, the virtual message authoring environment 350 may display a slider bar 362. A user may adjust the slider bar 362 to change one or more virtual physical properties of a new virtual message object. In FIG. 3, the slider bar 362 is being used to adjust the texture of the virtual message object 360. On one end of the slider bar, an icon 364a shown as a stack of rocks illustrates one texture that can be assigned to the new virtual message object 360. In the middle of the slider bar 362, a second icon 364b shown as a pile of course sand illustrates a second texture that can be assigned to the virtual message object 360. On the other end of the slider bar, an icon 364c shown as a pile of fine sand illustrates a third texture that can be assigned to the virtual message object 360.
The slider bar 362 may be manipulated or engaged through the touch-screen 316, through the track ball 324, or through some other means. Alternatively, one of the icons 364a, 364b, 364c can be engaged through the touch-screen 316. As the slider bar 362 is engaged, the touch-sensitive sensor sends a signal to a processor of the messaging device 302. The processor receives the sensor signal, and can determine a virtual physical property of the virtual message object based at least in part on the sensor signal associated with the slider bar input.
Illustrative Methods for Mapping Message Contents to Virtual Physical Properties for Vibrotactile Messaging
FIG. 4 is a flow diagram of a method for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention. In the method 400, a processor receives a sensor signal from a sensor 402. The processor may be in communication with one or more sensors, such as an accelerometer, a gyroscope, a GPS sensor, a touch-sensitive input device (e.g. touch screen, touch-pad), a texture stylus, a pressure sensor, an imaging sensor, a microphone, or some other type of sensor. A user may create a new virtual message object, such as a water balloon, by selecting a water balloon type from a menu, entering a record mode, and tipping the messaging device downward to fill the water balloon. An accelerometer or a gyroscope may detect the change in inclination, a touch-screen may detect a figure drawn on its surface, or a microphone may detect sound. After detecting such gestures or actions, a sensor signal may be transmitted to the processor of the messaging device.
Next the processor determines a virtual physical parameter of a virtual message object based at least in part on the sensor signal 404. After receiving a sensor signal from a sensor, the processor may extract gestural and/or environmental features from the sensor signal. A gestural feature may comprise information related to the movement of the device, or a movement on the device. An environmental feature may comprise information related to the surroundings or condition of the device. Gestural and/or environmental extraction algorithms may be applied to data received from a sensor. Environmental features, such as the shape or color of an object in a picture, may be extracted from the sensor signal. Alternatively, the direction the messaging device was moved, or a character input on a touch-screen may be extracted from the sensor signal. A threshold may be set such that a certain acceleration, orientation, or periodicity triggers the creation of a token. For instance, if the device is only moved a small distance, the processor may determine that the movement was inadvertent, or not meant to trigger the creation of a token. If the device is moved a large distance, the processor may determine that the movement was intended to trigger the creation of a token.
The processor may determine a virtual physical parameter of the new virtual message object by mapping gestural and/or environmental features extracted from the sensor signal to a virtual physical parameter. For example, a predetermined set of gestural and/or environmental features may be stored in a data store along with a corresponding virtual physical parameter. When the gestural and/or environmental feature is extracted, the data store is searched, and the appropriate virtual physical parameter is determined. The determination may be based at least in part on the dynamics of a gesture, such as the speed of the touch-screen contact, speed of the movement, size of the movement, periodicity of movement, or repetition of the movement.
As one example, a user may create a plurality of new virtual message objects, such as hearts or balloons through a gentle, repetitive motion. With each cycle, or repetitive gesture, the processor may create a new virtual message object, potentially leading to a plurality of balloons filling up the virtual message authoring environment. In a further example, a user may engage or touch each balloon through the touch-screen display. By slowly dragging the balloon up or down on the touch-screen, the processor may determine a virtual physical weight of the balloon. If the balloon is slowly dragged upwards, then the processor may determine the balloon is light, and should float around in the virtual message environment. Alternatively, if the balloon is quickly dragged to the bottom of the display, the processor may determine that the balloon is dense and/or heavy, and should sink to the bottom of the virtual message environment.
The virtual physical parameters of virtual message objects may be based at least in part on other factors. A file, such as a video file or an image file, can be associated with a virtual message object, such as a virtual message capsule. The processor may extract metadata from the file, use that metadata to determine a virtual physical parameter. In one example, a user creates a new virtual message capsule. Next, the user scrolls through a list of files, and selects a particular file to attach to the virtual message capsule by dragging it onto the virtual message capsule. The processor may determine the size of the virtual message capsule based at least in part on the size of the particular file dragged onto the virtual message object. As another example, the processor may determine the texture or color of a virtual message capsule based on the type of file that is associated with the capsule.
After determining a virtual physical parameter, the processor determines a haptic effect based at least in part on the virtual physical parameter 406. For example, a user may create a new virtual message ball and jostle the device to define a bouncy collision behavior for the new virtual message ball. The processor may determine a haptic effect simulating the virtual message ball bouncing against the virtual message environment, mimicking the gesture used to define the virtual message ball when it was created.
If the virtual message environment contains a single virtual message object such as a large, brittle egg, the processor may determine a haptic effect simulating the egg breaking (e.g. a single large crack). As another example, if there are many virtual message objects comprising kinetic bouncy balls, the processor may determine a large number of small, quick vibrations are appropriate, to simulate the kinetic balls bouncing off the environment and each other. By associating the haptic effects with the virtual physical parameters of the virtual message objects, a user may correlate certain haptic effects with certain types of objects. For example, when the actuator outputs a haptic effect simulating a beating heart, the user may immediately guess that she has received an intimate message, or virtual message object, without looking at the messaging device.
The processor generates a haptic signal configured to cause an actuator to output the haptic effect 408. Finally, the processor transmits the haptic signal to one or more actuators configured to output the haptic effect 410. In one variation, the processor determines a haptic effect simulating an arrow hitting a wall, such as a thud, and generates a haptic signal configured to cause an actuator to output the thud. The haptic signal is then transmitted to the actuator, which outputs the haptic effect.
FIG. 5 is a flow diagram of a method for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention. In the method 500, a new virtual message object is created 502. New virtual message objects may be created in a virtual message authoring environment. The virtual message authoring environment may suspend the physical model of the multi-dimensional inbox, or virtual message environment. By suspending the physical model, sensor signals may be associated with a virtual physical parameter of a new virtual message object, rather than associating a sensor signal with an interaction with an existing virtual message object inside the virtual message environment.
A new virtual message object may be created by selecting an option from a menu. The virtual message authoring environment may display a scrolling menu for choosing one of several types of existing virtual message objects, and/or an option for creating a new type of virtual message object. As shown in FIG. 5, a new virtual message ball 504a, a new virtual message tube 504b, or a new virtual message capsule 504c can be created. Other types of virtual message objects may be created in other embodiments. For example, a new virtual message object may comprise a heart, an arrow, a water balloon, or a basketball. Each type of virtual message object may have specific virtual message properties associated with it. For example, a virtual message basketball may have a virtual physical texture simulating a real basketball.
In some instances, a user selects the virtual message object from a list of predefined virtual message object types. By using a predefined virtual message object type, a user may be able to quickly and explicitly define specific aspects of the new virtual message object, which can be mapped or translated into one or more virtual physical parameters. In other instances, a user may author a new type of virtual message object from scratch. The user may be able to define a virtual message object with specific, individualized virtual physical parameters based at least in part on signals from a touch-screen, an accelerometer, a gyroscope, GPS sensor, or some other type of sensor.
After a new virtual message ball is created 504a, a feature of the virtual message ball is recorded 506a. Features may be recorded by one or more sensors of a messaging device. A color feature may be recorded from a photo sensor, a texture feature may be recorded from a texture stylus sensor, or a gesture may be recorded from an accelerometer.
In step 504b, a new virtual message tube is created. A virtual message object in the form of a tube, or a scroll, may represent a text message. Thus, if a new virtual message tube is created 504b, then a text message may be entered 506b. A user may enter text through a keypad attached to the messaging device, through a virtual keyboard shown on a touch-screen display, or through some other means.
In step 504c, a virtual message capsule is created. A virtual message object in the form of a capsule or an egg may represent a message with a file attachment. Thus, if a new virtual message capsule is created 504c, then a file to attach (or include inside the capsule) is selected 506c. A virtual message capsule may comprise a message with a file attachment, such as a video file, a sound file, or an image file. A user may select a file attachment by scrolling through a list of files, or dragging a file onto a virtual message capsule. As one alternative, a user may take a picture and select the picture to enclose within the file capsule.
After information about the new virtual message object is recorded 506a, entered 506b, or selected 506c, a virtual physical parameter of the new virtual message object is determined 508. The virtual physical parameter may be determined based at least in part on information received from a sensor. When a sensor records a feature of the virtual message ball 506a, the virtual physical parameter may be determined based at least in part on information recorded by the sensor. For example, a user may tilt or make a gesture with the messaging device to record a feature associated with the size of the new virtual message object. The virtual physical size of the new virtual message object may then correspond to the size of the gesture or movement, a small movement of the messaging device may produce a small virtual message object, while a large movement or gesture of the messaging device may produce a large virtual message object.
When a new virtual message tube is created 506b, the length of the text message (such as the number of lines or the number of words) may determine, at least in part, one or more virtual physical parameters of the new virtual message tube, such as the tube's size or length. A haptic effect based on the size or length of the virtual message tube may be determined. Thus, haptic sensations may convey information about the virtual message tube.
In the case of a new virtual message capsule 504c, the size of the file selected 506c may determine the virtual mass of the new virtual message object. Because a haptic effect may be based at least in part on the virtual mass of the virtual message object, a haptic effect particularly designed for that virtual message object can be generated. The haptic sensations that result may convey information about the file capsule such as the amount of data it contains or the type of data.
A haptic signal is generated to cause an actuator to output a haptic effect based at least in part on the virtual physical parameter of the new virtual message object 510. Finally, the haptic signal is transmitted to an actuator configured to output the haptic effect 512. The haptic effect may be based at least in part on an interaction between the virtual message object and the virtual message environment. The behavior of the virtual message object may be based at least in part on the virtual physical parameters of the virtual message object. An egg-shelled virtual message object may crack or break upon impact with the virtual message environment. Alternatively, a virtual message arrow may arrive with one resounding thud. A virtual message bubble may be associated with a brief, pointed haptic effect, indicative of a bubble bursting.
If the new virtual message object is a large ball, then a haptic signal may be generated to cause an actuator to output a haptic effect mimicking the large ball bouncing and/or rolling around in the virtual message environment. If the new virtual message object is a small capsule, then a haptic signal may be generated to cause an actuator to output a haptic effect mimicking the small capsule breaking inside the virtual message environment.
Haptic effects may be associated with virtual message objects. The haptic effects may be preserved as the virtual message object is exchanged between messaging devices. For example, a processor may associate a virtual message capsule with specific haptic effects. When the capsule is sent from one mobile device to another, the haptic data is also sent to the receiving device. This haptic data may be used to generate haptic feedback in the receiving device.
FIG. 6 is an illustration of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention. As shown in FIG. 6, the system 600 comprises a messaging device 602. The messaging device 602 displays a virtual message authoring environment 650. The messaging device 602 includes one or more processor(s) (not shown in FIG. 6).
Additionally, the messaging device 602 may include one or more sensors (not shown in FIG. 6). The sensor, such as an accelerometer, may be configured to detect changes in acceleration, inclination, inertia, or location of the messaging device. As other examples, the messaging device may include an air pressure sensor, location sensor, rotational velocity sensor, image sensor, pressure sensor, or some other type of sensor. The sensor(s) are configured to send a sensor signal to a processor.
In one variation, acceleration sensing can be used to capture a gesture or movement associated with creating a virtual message object. In another variation, a touch-sensitive input device such as a touch-screen is used to capture a drawing associated with a new virtual message object. A gyroscopic sensor may detect changes in the orientation of the messaging device in the x and y planes. As shown in FIG. 6, the mobile device 602 is moved in a direction according to arrow 610. The processor may determine that a virtual message object created from the gesture illustrated in FIG. 6 is large, round, and readily rolls around a virtual message environment. A corresponding haptic effect may be a gentle, smooth vibration.
FIG. 7 is an illustration of a system for mapping message contents to virtual physical properties for vibrotactile messaging according to one embodiment of the present invention. As shown in FIG. 7, the system 700 comprises a messaging device 702. The messaging device displays a virtual message authoring environment 750. The messaging device 702 may include one or more processors (not shown in FIG. 7) and one or more sensors (not shown in FIG. 7).
As shown in FIG. 7, a user moves or shakes the messaging device in short, horizontal motions indicated by the direction of arrow 710. The sensor data extracted from each movement or gesture illustrated in FIG. 7 can be used to create a new virtual message object with specific virtual physical properties. The processor may determine that a virtual message object created from the gesture illustrated in FIG. 7 may be a small, rough object. A corresponding haptic effect may be a succession of quick jolts.
Each haptic effect may be associated with the virtual message object and preserved. For example, the haptic effect may be included in the profile of the virtual message object. In this way a messaging device which receives the virtual message object also receives the signal corresponding to haptic effect associated with that virtual message object. In such a manner, users may communicate through non-verbal haptic messages.
Embodiments of the present invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. In one embodiment, a computer may comprise a processor or processors. The processor comprises a computer-readable medium, such as a random access memory (RAM) coupled to the processor. The processor executes computer-executable program instructions stored in memory, such as executing one or more computer programs for messaging. Such processors may comprise a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), field programmable gate arrays (FPGAs), and state machines. Such processors may further comprise programmable electronic devices such as PLCs, programmable interrupt controllers (PICs), programmable logic devices (PLDs), programmable read-only memories (PROMs), electronically programmable read-only memories (EPROMs or EEPROMs), or other similar devices.
Such processors may comprise, or may be in communication with, media, for example computer-readable media, that may store instructions that, when executed by the processor, can cause the processor to perform the steps described herein as carried out, or assisted, by a processor. Embodiments of computer-readable media may comprise, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor, such as the processor in a web server, with computer-readable instructions. Other examples of media comprise, but are not limited to, a floppy disk, CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read. Also, various other devices may include computer-readable media, such as a router, private or public network, or other transmission device. The processor, and the processing, described may be in one or more structures, and may be dispersed through one or more structures. The processor may comprise code for carrying out one or more of the methods (or parts of methods) described herein.
General
The foregoing description of the embodiments, including preferred embodiments, of the invention has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Numerous modifications and adaptations thereof will be apparent to those skilled in the art without departing from the spirit and scope of the invention.

## Claims

1. A method comprising:
receiving a sensor signal from a sensor configured to sense an interaction with a first messaging device;
determining a first virtual physical parameter based at least in part on the sensor signal;
transmitting a first signal associated with the first virtual physical parameter to a second messaging device;
receiving a second signal associated with a second virtual physical parameter from the second messaging device;
determining a haptic effect based at least in part on the second virtual physical parameter; and
generating a haptic signal configured to cause an actuator to output the haptic effect.

2. The method of claim 1, wherein the sensor is configured to detect: air movement, contact, pressure, acceleration, inclination, inertia, or location.

3. The method of claim 1, wherein the sensor comprises: an accelerometer, a gyroscope, a touch-sensitive input device, a camera, or a GPS sensor.

4. The method of claim 1, wherein the sensor signal is associated with environmental features.

5. The method of claim 1, wherein the sensor signal is associated with a gesture.

6. The method of claim 5, wherein the gesture is a two dimensional gesture comprising: a finger position or a finger gesture.

7. The method of claim 5, wherein the gesture is a three dimensional gesture comprising: a device gesture or a device orientation.

8. A system comprising:
a sensor configured to sense an interaction with a first messaging device;
a processor coupled to the sensor, the processor configured to:
receive a sensor signal from the sensor;
determine a first virtual physical parameter based at least in part on the sensor signal;
transmit a first signal associated with the virtual physical parameter to a second messaging device;
receive a second signal associated with a second virtual physical parameter from the second messaging device;
determine a haptic effect based at least in part on the second virtual physical parameter; and
generate a haptic signal configured to cause an actuator to output the haptic effect.

9. The system of claim 8, wherein the sensor is configured to detect: air movement, contact, pressure, acceleration, inclination, inertia, or location.

10. The system of claim 8, wherein the sensor comprises: an accelerometer, a gyroscope, a touch-sensitive input device, a camera, or a GPS sensor.

11. The system of claim 8, wherein the sensor signal is associated with environmental features.

12. The system of claim 8, wherein the sensor signal is associated with a gesture.

13. The system of claim 12, wherein the gesture is a two dimensional gesture comprising: a finger position or a finger gesture.

14. The system of claim 12, wherein the gesture is a three dimensional gesture comprising: a device gesture or a device orientation.

15. A non-transitory computer-readable medium comprising program code, which when executed by a processor is configured to cause the processor to:
receive a sensor signal from a sensor configured to sense an interaction with a first messaging device;
determine a first virtual physical parameter based at least in part on the sensor signal;
transmit a first signal associated with the first virtual physical parameter to a second messaging device;
receive a second signal associated with a second virtual physical parameter from the second messaging device;
determine a haptic effect based at least in part on the second virtual physical parameter; and
generate a haptic signal configured to cause an actuator to output the haptic effect.

16. The non-transitory computer readable medium of claim 15, wherein the sensor is configured to detect: air movement, contact, pressure, acceleration, inclination, inertia, or location.

17. The non-transitory computer readable medium of claim 15, wherein the sensor comprises: an accelerometer, a gyroscope, a touch-sensitive input device, a camera, or a GPS sensor.

18. The non-transitory computer readable medium of claim 15, wherein the sensor signal is associated with environmental features.

19. The non-transitory computer readable medium of claim 15, wherein the sensor signal is associated with a gesture.

20. The non-transitory computer readable medium of claim 19, wherein the gesture is a two dimensional gesture comprising: a finger position or a finger gesture.

21. The non-transitory computer readable medium of claim 19, wherein the gesture is a three dimensional gesture comprising: a device gesture or a device orientation.