Haptic effect encoding and rendering system
AssigneeImmersion Corporation
InventorsSHADI ASFOUR, ERIC GERVAIS, HUGUES-ANTOINE OLIVER, ERIC LAJEUNESSE
Life of this patent
Estimating the term…
Abstract
The embodiments of the present invention enable novel methods, non-transitory mediums, and systems for encoding and generating haptic effects. According to the various embodiments, a media object is retrieved. The media object is analyzed to determine one or more time periods for rendering haptic effects. The haptic effects for rendering during the time periods are determined. The haptic effects are encoded as a haptic effect pattern that identifies a start time and duration for each of the haptic effects.
Claims20
A method for generating haptic effects, the method comprising:
- retrieving a media object;
- generating a haptic stream for storing haptic effects, the haptic stream corresponding to the media object;
- encoding the haptic effects of the haptic stream as a haptic effect pattern;
- engaging a processor to render the haptic effects of the haptic stream according to the haptic effect pattern;
- determining an elapsed time for each of the haptic effects, wherein the elapsed time represents a time that has passed since initiation of rendering of the corresponding one of the haptic effects;
- selectively initiating a pause function, wherein the pause function updates the elapsed time for each of the haptic effects to correspond to a render time of the media object;
- selectively initiating a resume function, wherein the resume function updates an execution time of each of the haptic effects by offsetting the execution time by the corresponding elapsed time;
- selectively initiating a seeking function, wherein the seeking function stops the rendering of the haptic effects of the haptic stream, receives a selected target time, resets the elapsed time of each of the haptic effects based on the selected target time, and resumes rendering of the haptic effects of the haptic stream according to the haptic effect pattern;
- and
- disengaging the processor from processing the haptic stream according to the haptic effect pattern.
A device for generating haptic effects, comprising:
- a processor;
- and
- a memory storing one or more programs for execution by the processor, the one or more programs including instructions for:
- retrieving a media object;
- generating a haptic stream for storing haptic effects, the haptic stream corresponding to the media object;
- encoding the haptic effects of the haptic stream as a haptic effect pattern;
- engaging a processor to render the haptic effects of the haptic stream according to the haptic effect pattern;
- determining an elapsed time for each of the haptic effects, wherein the elapsed time represents a time that has passed since initiation of rendering of the corresponding one of the haptic effects;
- selectively initiating a pause function, wherein the pause function updates the elapsed time for each of the haptic effects to correspond to a render time of the media object;
- selectively initiating a resume function, wherein the resume function updates an execution time of each of the haptic effects by offsetting the execution time by the corresponding elapsed time;
- selectively initiating a seeking function, wherein the seeking function stops the rendering of the haptic effects of the haptic stream, receives a selected target time, resets the elapsed time of each of the haptic effects based on the selected target time, and resumes rendering of the haptic effects of the haptic stream according to the haptic effect pattern;
- and
- disengaging the processor from processing the haptic stream according to the haptic effect pattern.
A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, cause the processor to perform the operations comprising:
- retrieving a media object;
- generating a haptic stream for storing haptic effects, the haptic stream corresponding to the media object;
- encoding the haptic effects of the haptic stream as a haptic effect pattern;
- engaging a processor to render the haptic effects of the haptic stream according to the haptic effect pattern;
- determining an elapsed time for each of the haptic effects, wherein the elapsed time represents a time that has passed since initiation of rendering of the corresponding one of the haptic effects;
- selectively initiating a pause function, wherein the pause function updates the elapsed time for each of the haptic effects to correspond to a render time of the media object;
- selectively initiating a resume function, wherein the resume function updates an execution time of each of the haptic effects by offsetting the execution time by the corresponding elapsed time;
- selectively initiating a seeking function, wherein the seeking function stops the rendering of the haptic effects of the haptic stream, receives a selected target time, resets the elapsed time of each of the haptic effects based on the selected target time, and resumes rendering of the haptic effects of the haptic stream according to the haptic effect pattern;
- and
- disengaging the processor from processing the haptic stream according to the haptic effect pattern.
Dependencies are inferred from the claim text.