IP Library Granted Patent US 11,490,153
Granted Patent B2
US 11,490,153 · App. 17/114,045 · Granted Nov 1, 2022

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,490,153
App. No.
17/114,045
Granted
Nov 1, 2022
Kind
B2
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 (78)

1. A method comprising:

receiving a manifest of a content item, wherein the manifest identifies a plurality of sequential segments of the content item,

wherein for each segment of the plurality of sequential segments, the manifest comprises:

(a) a respective network address; and

(b) a respective priority level value;

in response to determining that playing of the content item lags behind live streaming of the content item:

identifying a duration of a lag from the manifest of the content item;

based on the duration of the lag, selecting a priority threshold; and

identifying, based on the manifest, a set of segments of the plurality of segments of the content item, wherein a total time length of the set of segments matches the duration of the lag;

identifying a subset of segments from the set of segments, wherein each respective segment in the subset comprises a respective priority level value higher than the priority threshold;

retrieving each respective segment of the subset using a respective network address;

storing each of the retrieved subset of segments in a cache; and

playing each of the stored subset of segments from the cache.

2. The method of claim 1 , further comprising:

identifying, based on the manifest, another subset of segments from the set of segments, wherein each respective segment in another subset comprises a respective priority level value lower than the priority threshold;

in response to identifying another subset;

skipping retrieving of the respective segment of another subset from a respective network address.

3. The method of claim 2 , wherein skipping a presentation of the respective segment of another subset causes the content item to catch up to the live streaming.

4. The method of claim 1 , further comprising:

in response to determining that playing of the content item no longer lags behind the live streaming:

retrieving data for a set of segments of the content item of the plurality of segments, wherein a respective priority level value for the set of segments of the content item is at least one of: (a) higher than the priority threshold; and (b) lower than the priority threshold;

storing the retrieved set of segments of the content item; and

playing the stored set of segments of the content item.

5. The method of claim 1 , further comprising:

determining, based on user profile data, user preference information for storing the retrieved subset of segments in the cache; and

presenting a corresponding frame based on the user preference information.

6. The method of claim 5 , wherein priority level value is determined based on a respective relevance level of the frame based on the user profile data.

7. The method of claim 1 , wherein the respective priority level value is determined based on a respective importance level of the segment in context of the content item.

8. The method of claim 1 , wherein the respective priority level value is determined based on a number of replays of the respective frame in a predetermined time period.

9. The method of claim 1 , wherein the segment comprises one or more frames.

10. A method comprising:

transmitting, by a server, a manifest of a content item to a client device, wherein the manifest identifies a plurality of sequential segments of the content item,

wherein for each segment of the plurality of sequential segments, the manifest comprises:

(a) a respective network address; and

(b) a respective priority level value;

in response to receiving an indication from the client device that playing of the content item lags behind live streaming of the content item:

identifying, by the server, a duration of a lag from the manifest of the content item;

based on the duration of the lag, selecting, by the server, a priority threshold; and

identifying, based on the manifest, a set of segments of the plurality of segments of the content item, wherein a total time length of the set of segments matches the duration of the lag;

identifying a subset of segments from the set of segments, wherein each respective segment in the subset comprises a priority level value higher than the priority threshold;

retrieving each respective segment of the subset of segments using a respective network address;

storing each of the retrieved subset of segments in a cache; and

causing the client device to play each of the stored subset of segments from the cache.

11. A system comprising:

control circuitry configured to:

receive a manifest of a content item, wherein the manifest identifies a plurality of sequential segments of the content item,

wherein for each segment of the plurality of sequential segments, the manifest comprises:

(a) a respective network address; and

(b) a respective priority level value;

in response to determining that playing of the content item lags behind live streaming of the content item:

identify a duration of a lag from the manifest of the content item;

based on the duration of the lag, select a priority threshold; and

identify, based on the manifest, a set of segments of the plurality of segments of the content item, wherein a total time length of the set of segments matches the duration of the lag;

identify a subset of segments from the set of segments, wherein each respective segment in the subset comprises a respective priority level value higher than the priority threshold;

retrieve each respective segment of the subset using a respective network address;

store each of the retrieved subset of segments in a cache; and

user interface control circuitry configured to:

play each of the stored subset of segments from the cache.

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

identify, based on the manifest, another subset of segments from the set of segments, wherein each respective segment in another subset comprises a respective priority level value lower than the priority threshold;

in response to identifying another subset;

skip retrieving of the respective segment of another subset from a respective network address.

13. The system of claim 12 , wherein skipping a presentation of the respective segment of another subset causes the content item to catch up to the live streaming.

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

in response to determining that playing of the content item no longer lags behind the live streaming:

retrieve data for a set of segments of the content item of the plurality of segments, wherein a respective priority level value for the set of segments of the content item is at least one of: (a) higher than the priority threshold; and (b) lower than the priority threshold;

store the retrieved set of segments of the content item; and

play the stored set of segments of the content item.

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

determine, based on user profile data, user preference information for storing the retrieved subset of segments in the cache; and

present a corresponding frame based on the user preference information.

16. The system of claim 15 , wherein priority level value is determined based on a respective relevance level of the frame based on the user profile data.

17. The system of claim 11 , wherein the respective priority level value is determined based on a respective importance level of the segment in context of the content item.

18. The system of claim 11 , wherein the respective priority level value is determined based on a number of replays of the respective frame in a predetermined time period.

19. The system of claim 11 , wherein the segment comprises one or more frames.

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

in response to determining that playing of the content item no longer lags behind the live streaming:

skip retrieving data for a set of segments of the content item of the plurality of segments, wherein a respective priority level value for the set of segments of the content item is at least one of: (a) higher than the priority threshold; and (b) lower than the priority threshold.

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 Jul 6, 2021
From: GUPTA, VAIBHAV; GUPTA, ASHISH; DHIMAN, ROHIT
To: ROVI GUIDES, INC.
Reel/Frame 056761/0893 →
Continuity (1)
Related Publication 20220182710A1 · Jun 9, 2022
Cited By (1)
US 12,677,041