IP Library Granted Patent US 9,591,361
Granted Patent B2
US 9,591,361 · App. 13/561,068 · Granted Mar 7, 2017

Streaming of multimedia data from multiple sources

Inventors: Thadi M. Nagaraj (San Diego, CA); Joseph P. Barone (San Diego, CA); Rajesh Narayanan (Poway, CA); Giridhar Kapalli (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N21/4622H04L65/00H04L65/4084H04L65/80H04N21/23439H04N21/234327H04N21/44209
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,591,361
App. No.
13/561,068
Granted
Mar 7, 2017
Kind
B2
Abstract

In one example, a device includes a plurality of interfaces, wherein each of the interfaces is communicatively coupled to a respective one of a plurality of sources, a stream management unit configured to select, using a manifest file for multimedia content, one of a plurality of representations from which to retrieve multimedia data of the multimedia content, wherein the manifest file includes information indicative of the plurality of representations of the multimedia content, wherein the plurality of representations includes the selected representation, wherein multimedia data for the representations is available from the plurality of sources, and wherein the stream management unit is configured to select one of the sources from which to retrieve multimedia data for the selected representation, and a source component configured to retrieve multimedia data for the selected representation from the selected source via the one of the interfaces that is communicatively coupled to the selected source.

Claims (55)

1. A method of retrieving multimedia data, the method comprising:

selecting, using a manifest file for multimedia content, one of a plurality of representations from which to retrieve multimedia data of the multimedia content, wherein the manifest file includes information indicative of the plurality of representations of the multimedia content, wherein the plurality of representations includes the selected one of the representations, and wherein the manifest file is separate from each of the plurality of representations;

determining, from the manifest file, a plurality of sources, including a broadcast source and a unicast source, that the manifest file indicates include the selected one of the representations;

selecting one of the sources from which to retrieve multimedia data for the selected representation; and

retrieving at least a portion of the multimedia data for the selected representation from the selected source.

2. The method of claim 1 , wherein the manifest file comprises a media presentation description (MPD) file formatted according to extensible markup language (XML), wherein the MPD file includes information indicative of uniform resource locators (URLs) of segments of the representations and characteristics of the representations.

3. The method of claim 1 , further comprising retrieving additional multimedia data from a second source of the sources other than the selected source, wherein the multimedia data and the additional multimedia data correspond to a common temporal playback period.

4. The method of claim 3 , wherein the multimedia data for the selected one of the representations comprises video data corresponding to a base view, and wherein the additional multimedia data comprises video data of an enhancement layer.

5. The method of claim 3 , wherein the additional multimedia data comprises an external period relative to the multimedia content.

6. The method of claim 3 , wherein the additional multimedia data comprises advertisement multimedia data.

7. The method of claim 1 , further comprising:

determining availability of the representations using data of the manifest file; and

determining coding characteristics, display characteristics, and bitrates of the representations from the manifest file,

wherein selecting one of a plurality of representations comprises selecting the representation based on the coding characteristics of the representation, the display characteristics of the representation, and the bitrate of the representation.

8. The method of claim 7 , further comprising:

determining coding capabilities of a client device; and

determining rendering capabilities of the client device,

wherein selecting one of a plurality of representations comprises selecting the representation such that the coding capabilities of the client device satisfy the coding characteristics of the representation and such that the rendering capabilities of the client device satisfy the display characteristics of the representation.

9. The method of claim 1 , further comprising determining availability of the sources based on information received from the sources, wherein selecting one of the sources comprises selecting one of the available sources.

10. A device comprising:

a plurality of interfaces, wherein each of the interfaces is communicatively coupled to a respective one of a plurality of sources, including a broadcast source and a unicast source;

a stream management unit configured to:

select, using a manifest file for multimedia content, one of a plurality of representations from which to retrieve multimedia data of the multimedia content, wherein the manifest file includes information indicative of the plurality of representations of the multimedia content, wherein the plurality of representations includes the selected one of the representations, and wherein the manifest file is separate from each of the plurality of representations,

determine, from the manifest file, that the plurality of sources, including the broadcast source and the unicast source, include the selected one of the representations, and

select one of the sources from which to retrieve multimedia data for the selected representation; and

a source component configured to retrieve multimedia data for the selected representation from the selected source via the one of the interfaces that is communicatively coupled to the selected source.

11. The device of claim 10 , further comprising:

a computer-readable storage medium comprising instructions for the functions attributed to the source component and the stream management unit; and

one or more processors configured to execute the instructions for the source component and the stream management unit.

12. The device of claim 10 , wherein the plurality of interfaces comprise one or more of a first network interface implementing a hypertext transport protocol (HTTP) stack, a second network interface implementing a broadcast stack for receiving broadcast network transmissions, and a computer-readable storage medium interface for retrieving data from a computer-readable storage medium.

13. The device of claim 12 , wherein the computer-readable storage medium comprises digital video disc (DVD) or Blu-ray disc.

14. The device of claim 12 , wherein the stream management unit is configured to determine whether a network connection is available, to select one of the sources communicatively coupled to the first network interface or the second network interface when the network connection is determined to be available, and to select one of the sources communicatively coupled to the computer-readable storage medium interface when the network connection is determined to not be available.

15. The device of claim 12 , wherein the stream management unit is configured to receive predicted bandwidth information from the first network interface, information indicating whether a broadcast is available and whether a URL for the broadcast is available from the second network interface, and whether a URL for the multimedia data is available from the computer-readable storage medium interface, and wherein the stream management unit is configured to select the one of the sources based at least in part on the received information.

16. The device of claim 10 ,

wherein the stream management unit is configured to select additional multimedia data from a second source of the sources other than the selected source, wherein the multimedia data and the additional multimedia data correspond to a common temporal playback period, and

wherein the source component is configured to retrieve the additional multimedia data via the interface that is communicatively coupled to the second source.

17. A computer program product comprising a non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:

select, using a manifest file for multimedia content, one of a plurality of representations from which to retrieve multimedia data of the multimedia content, wherein the manifest file includes information indicative of the plurality of representations of the multimedia content, wherein the plurality of representations includes the selected one of the representations, and wherein the manifest file is separate from each of the plurality of representations;

determine, from the manifest file, a plurality of sources, including a broadcast source and a unicast source, that the manifest file indicates include the selected one of the representations;

select one of the sources from which to retrieve multimedia data for the selected representation; and

retrieve at least a portion of the multimedia data for the selected representation from the selected source.

18. The computer program product of claim 17 , wherein the manifest file comprises a media presentation description (MPD) file formatted according to extensible markup language (XML), wherein the MPD file includes information indicative of uniform resource locators (URLs) of segments of the representations and characteristics of the representations.

19. The computer program product of claim 17 , further comprising instructions that cause the processor to retrieve additional multimedia data from a second source of the sources other than the selected source, wherein the multimedia data and the additional multimedia data correspond to a common temporal playback period.

20. The computer program product of claim 19 , wherein the multimedia data for the selected one of the representations comprises video data corresponding to a base view, and wherein the additional multimedia data comprises video data of an enhancement layer.

21. The computer program product of claim 19 , wherein the additional multimedia data comprises an external period relative to the multimedia content.

22. The computer program product of claim 19 , wherein the additional multimedia data comprises advertisement multimedia data.

23. The computer program product of claim 17 , further comprising instructions that cause the processor to:

determine availability of the representations using data of the manifest file; and

determine coding characteristics, display characteristics, and bitrates of the representations from the manifest file,

wherein the instructions that cause the processor to select one of a plurality of representations comprise instructions that cause the processor to select the representation based on the coding characteristics of the representation, the display characteristics of the representation, and the bitrate of the representation.

24. The computer program product of claim 23 , further comprising instructions that cause the processor to:

determine coding capabilities of a client device; and

determine rendering capabilities of the client device,

wherein the instructions that cause the processor to select one of a plurality of representations comprises instructions that cause the processor to select the representation such that the coding capabilities of the client device satisfy the coding characteristics of the representation and such that the rendering capabilities of the client device satisfy the display characteristics of the representation.

25. The computer program product of claim 17 , further comprising instructions that cause the processor to determine availability of the sources based on information received from the sources, wherein the instructions that cause the processor to select one of the sources comprise instructions that cause the processor to select one of the available sources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2013
From: NAGARAJ, THADI M.; BARONE, JOSEPH P.; NARAYANAN, RAJESH; KAPALLI, GIRIDHAR
To: QUALCOMM INCORPORATED
Reel/Frame 031304/0395 →
Continuity (2)
Provisional Application 61531879 · Sep 7, 2011
Related Publication 20130060911A1 · Mar 7, 2013