IP Library › Granted Patent US 11,606,592
Granted Patent B2
US 11,606,592 · App. 17/028,265 · Granted Mar 14, 2023

Playlist events for combining multiple media timelines and content-insertion in dash streaming

Inventor: Iraj Sodagar (Los Angeles, CA)
Assignee: TENCENT AMERICA LLC
H04N21/26258H04N21/26208H04N21/26283
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 11,606,592
App. No.
17/028,265
Granted
Mar 14, 2023
Kind
B2
Abstract

Methods and systems are provided. According to an embodiment, a method includes providing, from a server to a client, a moving pictures experts group (MPEG) dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD) that indicates a main media timeline for playing media content; and obtaining, by the server, an MPD event that carries a playlist element, wherein the server or the client is configured to manipulate the main media timeline based on the playlist element of the MPD event, such that at least one alternative media content is playable by the client in place of at least a portion of the media content.

Claims (60)

1. A method comprising:

providing, from a server to a client, a moving pictures experts group (MPEG) dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD) that indicates a main media timeline for playing media content; and

obtaining, by the server, an MPD playlist event of the MPD or of another MPD, the MPD playlist event carrying a playlist element and obtained based on the MPD playlist event being directly signaled by a single Uniform Resource Identifier (URI) in an event stream element of the MPD or of the another MPD, wherein

the server or the client is configured to manipulate the main media timeline based on the playlist element of the MPD playlist event, of the MPD or of the another MPD, such that at least one alternative media content is playable by the client in place of at least a portion of the media content, and

the playlist element carries a plurality of play items, each of the plurality of play items identifies a location of an alternative MPD, corresponding to alternative media content from among the at least one alternative media content, and at least one timing characteristic for playing the alternative media content.

2. The method of claim 1 , further comprising:

sending, from the server to the client, the MPD playlist event of the MPD or of the another MPD that carries the playlist element, wherein

the client is configured to manipulate the main media timeline based on the playlist element of the MPD playlist event of the MPD or of the another MPD.

3. The method of claim 2 , wherein

the at least one timing characteristic of a play item, from among the plurality of play items, includes a presentation start time and a presentation end time with respect to the main media timeline.

4. The method of claim 2 , wherein

the at least one timing characteristic of a play item, from among the plurality of play items, includes an indicator that indicates whether the alternative media content corresponding to the play item is to be played before playing the media content of the main media timeline for a first time in a session.

5. The method of claim 2 , wherein

the playlist element carries an indicator that indicates whether the playlist element is an update of a previous MPD playlist event of the MPD or of the another MPD, and

the client is configured to process the MPD playlist event of the MPD or of the another MPD and ignore the previous MPD playlist event of the MPD or of the another MPD, based on the indicator indicating that the playlist element is the update.

6. The method of claim 1 , wherein

the client is configured to preprocess the MPD to include new replacing periods based on the playlist element of the MPD playlist event of the MPD or of the another MPD, and play the at least one alternative media content based on the MPD after the MPD is preprocessed.

7. The method of claim 1 , wherein

the client is configured to switch, based on the MPD playlist event of the MPD or of the another MPD, from the main media timeline to at least one different media timeline that includes the at least one alternative media content, and play the at least one alternative media content based on the at least one different media timeline.

8. The method of claim 1 , further comprising:

updating, by the server, the MPD based on a play item, from among the plurality of play items, of the MPD playlist event of the MPD or of the another MPD.

9. The method of claim 8 , further comprising:

removing, by the server, the play item from the MPD playlist event of the MPD or of the another MPD after the updating the MPD.

10. The method of claim 9 , further comprising:

sending the MPD playlist event of the MPD or of the another MPD to the client after the updating the MPD.

11. The method of claim 1 , wherein

the MPD playlist event, of the MPD or of the another MPD, carries an event element that carries the playlist element, and

the event element specifies an event and contains a message of the event.

12. A system comprising:

memory configured to store computer program code; and

at least one processor configured to receive, from a server, a moving pictures experts group (MPEG) dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD) that indicates a main media timeline for playing media content; receive, from the server, an MPD playlist event of the MPD or of another MPD, the MPD playlist event carrying a playlist element and is directly signaled by a single Uniform Resource Identifier (URI) in an event stream element of the MPD or of the another MPD; access the computer program code; and operate as instructed by the computer program code, the computer program code comprising:

manipulating code configured to cause the at least one processor to manipulate the main media timeline based on the playlist element of the MPD playlist event of the MPD or of the another MPD, and

displaying code configured to cause, based on a result of the manipulating code, the at least one processor to play at least one alternative media content in place of at least a portion of the media content, wherein

the playlist element carries a plurality of play items, each of the plurality of play items identifies a location of an alternative MPD, corresponding to alternative media content from among the at least one alternative media content, and at least one timing characteristic for playing the alternative media content.

13. The system of claim 12 , wherein

the at least one timing characteristic of a play item, from among the plurality of play items, carries a presentation start time and a presentation end time with respect to the main media timeline.

14. The system of claim 12 , wherein

the at least one timing characteristic of a play item, from among the plurality of play items, carries an indicator that indicates whether the alternative media content corresponding to the play item is to be played before playing of the media content of the main media timeline for a first time in a session.

15. The system of claim 12 , wherein

the playlist element carries an indicator that indicates whether the playlist element is an update of a previous MPD playlist event of the MPD or of the another MPD, and

the computer program code further comprises processing code configured to cause the at least one processor to process the MPD playlist event of the MPD or of the another MPD and ignore the previous MPD playlist event of the MPD or of the another MPD, based on the indicator indicating that the playlist element is the update.

16. The system of claim 12 , wherein

the manipulating code is configured to cause the at least one processor to preprocess the MPD to include new replacing periods based on the playlist element of the MPD playlist event of the MPD or of the another MPD, and

the displaying code is configured to cause the at least one processor to play the at least one alternative media content based on the MPD after the MPD is preprocessed.

17. The system of claim 12 , wherein

the manipulating code is configured to cause the at least one processor to switch, based on the MPD playlist event of the MPD or of the another MPD, from the main media timeline to at least one different media timeline that includes the at least one alternative media content, and

the displaying code is configured to cause the at least one processor to play the at least one alternative media content based on the at least one different media timeline.

18. A system comprising:

memory configured to store computer program code; and

at least one processor configured to access the computer program code and operate as instructed by the computer program code, the computer program code comprising:

providing code configured to cause the at least one processor to provide, to a client, a moving pictures experts group (MPEG) dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD) that indicates a main media timeline for playing media content;

obtaining code configured to cause the at least one processor to obtain an MPD playlist event of the MPD or of another MPD, the MPD playlist event carrying a playlist element and obtained based on the MPD playlist event being directly signaled by a single Uniform Resource Identifier (URI) in an event stream element of the MPD or of the another MPD; and

updating code configured to cause the at least one processor to update the MPD based on a play item, from among a plurality of play items of the MPD playlist event, or sending code configured to cause the at least one processor to send the MPD playlist event to the client for manipulating the main media timeline to play at least one alternative media content in place of at least a portion of the media content, wherein

the playlist element carries the plurality of play items, each of the plurality of play items identifies a location of an alternative MPD, corresponding to alternative media content from among the at least one alternative media content, and at least one timing characteristic for playing the alternative media content.

19. The system of claim 18 , wherein

the computer program code comprises the updating code, and

the computer program code further comprises removing code configured to cause the at least one processor to remove the play item from the MPD playlist event after updating the MPD.

20. The system of claim 18 , wherein

the computer program code comprises the sending code, and

the sending code is configured to cause the at least one processor to send the MPD playlist event to the client after updating the MPD.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2020
From: SODAGAR, IRAJ
To: TENCENT AMERICA LLC
Reel/Frame 053848/0447 →
Continuity (2)
Provisional Application 62908974 · Oct 1, 2019
Related Publication 20210099746A1 · Apr 1, 2021