IP Library Granted Patent US 11,627,364
Granted Patent B1
US 11,627,364 · App. 17/882,210 · Granted Apr 11, 2023

Systems and methods for dynamically syncing from time-shifted frame to live stream of content

Inventors: Vaibhav Gupta (Karnataka, IN); Ashish Gupta (Karnataka, IN); Rohit Dhiman (Uttarakhand, IN)
Assignee: Rovi Guides, Inc.
H04N21/4302H04N21/2187H04N21/2407H04N21/4331H04N21/4532H04N21/6587H04N21/8456
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,627,364
App. No.
17/882,210
Granted
Apr 11, 2023
Kind
B1
Abstract

Systems and methods for skipping a presentation of a portion of segments to catch up to live based on a priority level value is disclosed. For example, a streaming application generates a content item for live streaming where the content item comprises a plurality of segments. In response to determining that playing of the content item lags behind the live streaming of the content item, the streaming application identifies a duration of lag and determines a priority threshold based on the lag. Based on a manifest which includes priority level information, the streaming application determines whether a respective segment needs to be cached. For example, if a priority level for a segment that is within the duration of the lag has a priority level that is higher the priority threshold, then the segment is stored in a cache from a respective network address and is played from the cache.

Claims (66)

1. A method comprising:

determining that a current play position of media content is delayed with respect to a live stream position of the media content;

determining a lag duration between the current play position and the live stream position;

accessing a priority level corresponding to each of a plurality of segments of the media content;

determining a priority threshold level based on the lag duration;

identifying a subset of the plurality of segments that have a corresponding priority level greater than the priority threshold level; and

providing the subset of the plurality of segments to a user for playing.

2. The method of claim 1 , further comprising determining a desired duration of time until the current play position and the live stream position are the same; and

determining the priority threshold level based on both (a) the lag duration and (b) the desired duration of time until the current play position and the live stream position are the same.

3. The method of claim 2 , further comprising:

determining, based on user profile data, user preference information corresponding to the media content,

wherein the desired duration of time until the current play position and the live stream position are the same is determined based on the user preference information.

4. The method of claim 2 , further comprising:

during play of the media content, receiving an input from the user indicating the desired duration of time until the current play position and the live stream position are the same.

5. The method of claim 4 , further comprising:

transmitting for display to the user, a set of options, each option comprising a different desired duration of time until the current play position and the live stream position are the same,

wherein the input from the user comprises a selection of one of the set of options.

6. The method of claim 1 , further comprising:

determining, based on user profile data, user preference information corresponding to the media content,

wherein the priority threshold level is determined based on (a) the lag duration and (b) the user preference information.

7. The method of claim 1 , further comprising:

determining, based on user profile data, user preference information corresponding to the media content,

wherein the priority levels corresponding to the plurality of segments of the media content are determined based on the user preference information.

8. The method of claim 1 , wherein the subset of the plurality of segments contains two or more non-consecutive segments.

9. The method of claim 1 , wherein the subset of the plurality of segments is identified from segments of the media content positioned between the current play position and the live stream position.

10. The method of claim 1 , further comprising:

receiving a manifest identifying the plurality of segments of the media content, the manifest comprising, for each segment of the plurality of segments:

a network address; and

the priority level.

11. A system comprising:

control circuitry configured to:

determine that a current play position of media content is delayed with respect to a live stream position of the media content;

determine a lag duration between the current play position and the live stream position;

access a priority level corresponding to each of a plurality of segments of the media content;

determine a priority threshold level based on the lag duration; and

identify a subset of the plurality of segments that have a corresponding priority level greater than the priority threshold level; and

input/output circuitry configured to:

provide the subset of the plurality of segments to a user for playing.

12. The system of claim 11 , wherein the control circuitry is further configured to:

determine a desired duration of time until the current play position and the live stream position are the same; and

determine the priority threshold level based on both (a) the lag duration and (b) the desired duration of time until the current play position and the live stream position are the same.

13. The system of claim 12 , wherein the control circuitry is further configured to:

determine, based on user profile data, user preference information corresponding to the media content,

wherein the desired duration of time until the current play position and the live stream position are the same is determined based on the user preference information.

14. The system of claim 12 , wherein the input/output circuitry is further configured to:

during play of the media content by the user, transmit for display to the user, a set of options, wherein each option comprises a different desired duration of time until the current play position and the live stream position are the same; and

receive an input from the user comprising a selection of one of the set of options.

15. The system of claim 11 , wherein the control circuitry is further configured to:

determine, based on user profile data, user preference information corresponding to the media content; and

determine the priority threshold level based on (a) the lag duration and (b) the user preference information.

16. The system of claim 11 , wherein the control circuitry is further configured to:

determine, based on user profile data, user preference information corresponding to the media content; and

determine the priority levels corresponding to the plurality of segments of the media content based on the user preference information.

17. The system of claim 11 , wherein the subset of the plurality of segments contains two or more non-consecutive segments.

18. The system of claim 11 , wherein the control circuitry is configured to identify the subset of the plurality of segments from segments of the media content positioned between the current play position and the live stream position.

19. The system of claim 11 , wherein the control circuitry is further configured to:

receive a manifest identifying the plurality of segments of the media content, the manifest comprising, for each segment of the plurality of segments:

a network address; and

the priority level.

20. A computer-readable memory having instructions stored thereon that, when executed by a processor, cause performance of a set of acts comprising:

determining that a current play position of media content is delayed with respect to a live stream position of the media content;

determining a lag duration between the current play position and the live stream position;

accessing a priority level corresponding to each of a plurality of segments of the media content;

determining a priority threshold level based on the lag duration;

identifying a subset of the plurality of segments that have a corresponding priority level greater than the priority threshold level; and

providing the subset of the plurality of segments to a user for playing.

Assignments (3)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0323 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2022
From: GUPTA, VAIBHAV; GUPTA, ASHISH; DHIMAN, ROHIT
To: ROVI GUIDES, INC.
Reel/Frame 062160/0639 →
Continuity (1)
Continuation 17114045 · Dec 7, 2020
Cited By (2)
US 12,328,469 US 12,677,041