IP Library Granted Patent US 9,437,087
Granted Patent B2
US 9,437,087 · App. 14/286,591 · Granted Sep 6, 2016

Method and system for haptic data encoding and streaming using a multiplexed data stream

Inventors: Loc Phan (San Jose, CA); Satvir Singh Bhatia (San Jose, CA); Stephen D. Rank (San Jose, CA); Christopher J. Ullrich (Ventura, CA); Jean Francois Dionne (Montreal, CA); Hugues Antoine Oliver (Montreal, CA)
Assignee: IMMERSION CORPORATION
G08B6/00G06F3/016G06F3/165H04N21/23614H04N21/234336H04N21/6336H04N21/6582H04N21/85406
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,437,087
App. No.
14/286,591
Filed
May 23, 2014
Granted
Sep 6, 2016
Kind
B2
Art Unit
2683
USPC
340/407.1
Abstract

A method includes receiving digital content data including audio data and/or video data, generating haptic data using at least some of the received digital content data, encoding the haptic data for efficient transmission over a communication network, multiplexing the encoded haptic data with the received digital content data, embedding information for decoding the encoded haptic data in metadata of the multiplexed data stream, and sending the multiplexed data stream over the communication network. The method may include analyzing the haptic data to determine at least one characteristic of the haptic data, and the encoding the haptic data may include encoding, based on the determined characteristic, the haptic data to meet a pre-defined criteria.

Claims (58)

1. A method comprising:

receiving digital content data including audio data and/or video data;

generating haptic data using at least some of the received digital content data;

encoding by an encoder the haptic data for efficient transmission over a communication network;

multiplexing by a multiplexer the encoded haptic data with the received digital content data;

embedding information for decoding the encoded haptic data in metadata of the multiplexed data stream; and

sending the multiplexed data stream over the communication network.

2. The method of claim 1 , further comprising:

analyzing the haptic data to determine at least one characteristic of the haptic data,

wherein said encoding the haptic data comprises encoding, based on the determined characteristic, the haptic data to meet a pre-defined criteria.

3. The method of claim 2 , wherein the pre-defined criteria includes an output encoded haptic bit stream having the least number of bits.

4. The method of claim 2 , further comprising:

receiving an endpoint configuration of an end user device from the end user device,

wherein the pre-defined criteria includes preserving a range of frequency of the haptic data that correspond to the received endpoint configuration of the end user device.

5. The method of claim 2 , wherein said encoding the haptic data comprises selecting the encoder from a list of pre-determined encoders based on the determined characteristic and applying the selected encoder to transform the haptic data.

6. The method of claim 5 , wherein the list of pre-determined encoders includes an Advanced Audio Coding encoder and/or a Free Lossless Audio encoder.

7. The method of claim 2 , wherein the characteristics of the haptic data comprise one or more types of haptic output devices used to generate haptic effects based on the haptic data, intended use case of the haptic data, magnitude of the haptic data, frequency of the haptic data, and length of the silence in the haptic data.

8. The method of claim 7 , wherein the types of haptic output devices include one or more of the group consisting of an eccentric rotating mass actuator, a linear resonant actuator, and a piezoelectric actuator.

9. The method of claim 7 , wherein the intended use case of the haptic data is selected from the group consisting of music, movies and games.

10. The method of claim 2 , wherein encoding the haptic data comprises:

applying each one of a list of pre-determined encoders to the haptic data to generate a corresponding list of encoded haptic data streams; and

selecting, using the pre-defined criteria, an encoded haptic data stream from the list of encoded haptic data streams.

11. The method of claim 1 , wherein said encoding the haptic data comprises encoding the haptic data for a predetermined list of density factors to generate a plurality of encoded haptic data streams, each encoded haptic data stream corresponding to a density factor of the predetermined list of density factors, and wherein the method further comprises:

receiving network bandwidth information from an end user device over a communication network; and

selecting one of the encoded haptic data streams based on a corresponding density factor matching a condition of the communication network bandwidth for multiplexing with the received digital content data.

12. The method of claim 11 , wherein a first encoded data stream of the plurality of encoded data streams corresponds to a first density factor of the predetermined list of density factors, and a second encoded data stream of the plurality of encoded data streams corresponds to a second density factor of the predetermined list of density factors, and wherein the second encoded data stream comprises more haptic data than the first data stream and the second density factor is greater than the first density factor.

13. The method of claim 11 , further comprising:

detecting a change in the network bandwidth information;

selecting a different one of the encoded haptic data streams based on the corresponding density factor matching the condition of the communication network bandwidth; and

transmitting the selected different one of the encoded data streams to the end user device.

14. A system comprising:

a processor configured to:

receive digital content data including audio data and/or video data,

generate haptic data using at least some of the received digital content data,

encode the haptic data using an encoder for efficient transmission over a communication network,

multiplex the encoded haptic data using a multiplexer with the received digital content data,

embed information for decoding the encoded haptic data in metadata of the multiplexed data stream; and

send the multiplexed data stream over the communication network; and

a user device configured to receive the multiplexed encoded haptic data and digital contact data over the communication network, the user device comprising a haptic output device configured to output a haptic effect based on the haptic data.

15. The system of claim 14 , wherein the processor is further configured to analyze the haptic data to determine at least one characteristic of the haptic data, and encode the haptic data based on the determined characteristic to meet a pre-defined criteria.

16. The system of claim 15 , wherein the pre-defined criteria includes an output encoded haptic bit stream having the least number of bits.

17. The system of claim 15 , wherein the processor is further configured to receive an endpoint configuration of the user device from the user device, wherein the pre-defined criteria includes preserving a range of frequency of the haptic data that correspond to the received endpoint configuration of the end user device.

18. The system of claim 15 , wherein the processor is further configured to select the encoder from a list of pre-determined encoders based on the determined characteristic and apply the selected encoder to transform the haptic data.

19. The system of claim 18 , wherein the list of pre-determined encoders includes an Advanced Audio Coding encoder and/or a Free Lossless Audio encoder.

20. The system of claim 15 , wherein the characteristics of the haptic data comprise one or more types of haptic output devices used to generate haptic effects based on the haptic data, intended use case of the haptic data, magnitude of the haptic data, frequency of the haptic data, and length of the silence in the haptic data.

21. The system of claim 20 , wherein the types of haptic output devices include one or more of the group consisting of an eccentric rotating mass actuator, a linear resonant actuator, and a piezoelectric actuator.

22. The system of claim 20 , wherein the intended use case of the haptic data is selected from the group consisting of music, movies and games.

23. The system of claim 15 , wherein the processor is further configured to:

apply each one of a list of pre-determined encoders to the haptic data to generate a corresponding list of encoded haptic data streams; and

select, using the pre-defined criteria, an encoded haptic data stream from the list of encoded haptic data streams.

24. The system of claim 14 , wherein the processor is further configured to encode the haptic data for a predetermined list of density factors to generate a plurality of encoded haptic data streams, each encoded haptic data stream corresponding to a density factor of the predetermined list of density factors;

receive network bandwidth information from an end user device over a communication network; and

select one of the encoded haptic data streams based on a corresponding density factor matching a condition of the communication network bandwidth to multiplex with the received digital content data.

25. The system of claim 24 , wherein a first encoded data stream of the plurality of encoded data streams corresponds to a first density factor of the predetermined list of density factors, and a second encoded data stream of the plurality of encoded data streams corresponds to a second density factor of the predetermined list of density factors, and wherein the second encoded data stream comprises more haptic data than the first data stream and the second density factor is greater than the first density factor.

26. The system of claim 24 , wherein the processor is further configured to:

detect a change in the network bandwidth information;

select a different one of the encoded haptic data streams based on the corresponding density factor matching the condition of the communication network bandwidth; and

transmit the selected different one of the encoded data streams to the end user device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2014
From: PHAN, LOC; BHATIA, SATVIR SINGH; RANK, STEPHEN D.; ULLRICH, CHRISTOPHER J.; DIONNE, JEAN FRANCOIS; OLIVER, HUGUES ANTOINE
To: IMMERSION CORPORATION
Reel/Frame 032959/0233 →
Continuity (4)
Provisional Application 61827341 · May 24, 2013
Provisional Application 61874920 · Sep 6, 2013
Provisional Application 61907318 · Nov 21, 2013
Related Publication 20140347177A1 · Nov 27, 2014