IP Library Granted Patent US 11,303,957
Granted Patent B2
US 11,303,957 · App. 17/077,421 · Granted Apr 12, 2022

Systems and methods for adjusting buffer size

Inventors: Vishwas Sharadanagar Panchaksharaiah (Karnataka, IN); Vikram Makam Gupta (Karnataka, IN)
Assignee: ROVI GUIDES, INC.
H04N21/44004H04N21/432H04N21/4392H04N21/4532
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,303,957
App. No.
17/077,421
Granted
Apr 12, 2022
Kind
B2
Abstract

Methods and systems are provided for adjusting a size of a buffer based on a probability that a rewind request will be received during a currently playing segment of media. When the system determines that receiving a rewind request is likely, the system will increase the size of a buffer such that the rewind request can be accommodated using data from the buffer. When the system determines that receiving a rewind request is unlikely, the system will decrease the size of the buffer to free resources for other system components.

Claims (81)

1. A method for dynamically adjusting a size of a buffer of a media consumption device, the method comprising:

buffering a first segment of a media asset in a buffer having a first buffer size;

retrieving metadata associated with a second segment of the media asset;

determining, based on retrieved metadata of the second segment of the media asset and a user profile, whether a rewind request is likely to be received during the second segment of the media asset by:

identifying a complexity score of the second segment;

retrieving a complexity tolerance score from the user profile; and

in response to determining that complexity score of the second segment exceeds the complexity tolerance score, determining that the rewind request is likely to be received;

in response to determining that the rewind request is likely to be received:

increasing the size of the buffer to a second buffer size; and

buffering the second segment of the media asset in the buffer having the second buffer size; and

in response to detecting an end of the second segment, reducing the size of the buffer to the first buffer size.

2. The method of claim 1 , further comprising:

in response to determining that the rewind request is not likely to be received:

decreasing the size of the buffer to a third buffer size; and

buffering the second segment of the media asset in the buffer having the third buffer size; and

in response to detecting the end of the second segment, increasing the size of the buffer to the first buffer size.

3. The method of claim 1 , further comprising:

receiving a rewind request during the second segment of the media asset; and

in response to receiving the rewind request:

rewinding the second segment; and

playing content of the buffer on the media consumption device from a point to which the second segment was rewound.

4. The method of claim 1 , wherein increasing the size of the buffer comprises:

calculating an amount of memory needed to store the entire second segment of the media asset; and

setting the size of the buffer based on the calculated amount of memory.

5. The method of claim 1 , wherein increasing the size of the buffer comprises:

identifying an average length of rewind requests received from a plurality of users while consuming the second segment of the media asset;

calculating an amount of memory needed to store a portion of the second segment corresponding to the average length of the rewind requests; and

setting the size of the buffer based on the calculated amount of memory.

6. The method of claim 1 , wherein increasing the size of the buffer comprises:

identifying an average length of rewind requests received from the user while consuming media segments that are similar to the second segment of the media asset;

calculating an amount of memory needed to store a portion of the second segment corresponding to the average length of the rewind requests; and

setting the size of the buffer based on the calculated amount of memory.

7. The method of claim 1 , wherein increasing the size of the buffer comprises:

determining a duration of the second segment;

determining a bitrate for the media asset;

calculating an amount of memory needed to store the second segment by multiplying the bitrate for the media asset by the duration; and

setting the size of the buffer based on the calculated amount of memory.

8. The method of claim 7 , wherein setting the size of the buffer based on the calculated amount of memory, comprises:

determining a maximum buffer size for the media consumption device;

in response to determining that the calculated amount of memory is greater than the maximum buffer size, setting the size of the buffer to the maximum buffer size; and

in response to determining that the calculated amount of memory is not greater than the maximum buffer size, setting the size of the buffer to the calculated amount of memory.

9. A system for dynamically adjusting a size of a buffer of a media consumption device, the system comprising control circuitry configured to:

buffer a first segment of a media asset in a buffer having a first buffer size;

retrieve metadata associated with a second segment of the media asset;

determine, based on retrieved metadata of the second segment of the media asset and a user profile, whether a rewind request is likely to be received during the second segment of the media asset by:

identifying a complexity score of the second segment;

retrieving a complexity tolerance score from the user profile; and

in response to determining that complexity score of the second segment exceeds the complexity tolerance score, determining that the rewind request is likely to be received;

in response to determining that the rewind request is likely to be received:

increase the size of the buffer to a second buffer size; and

buffer the second segment of the media asset in the buffer having the second buffer size; and

in response to detecting end of the second segment, reduce the size of the buffer to the first buffer size.

10. The system of claim 9 , wherein the control circuitry, in response to determining that the rewind request is not likely to be received, is further configured to:

decrease the size of the buffer to a third buffer size; and

buffer the second segment of the media asset in the buffer having the third buffer size; and

in response to detecting the end of the second segment, increase the size of the buffer to the first buffer size.

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

receiving a rewind request during the second segment of the media asset; and

in response to receiving the rewind request:

rewinding the second segment; and

playing content of the buffer on the media consumption device from a point to which the second segment was rewound.

12. The system of claim 9 , wherein the control circuitry is further configured, when increasing the size of the buffer, to:

calculating an amount of memory needed to store the entire second segment of the media asset; and

setting the size of the buffer based on the calculated amount of memory.

13. The system of claim 9 , wherein the control circuitry is further configured, when increasing the size of the buffer, to:

identifying an average length of rewind requests received from a plurality of users while consuming the second segment of the media asset;

calculating an amount of memory needed to store a portion of the second segment corresponding to the average length of the rewind requests; and

setting the size of the buffer based on the calculated amount of memory.

14. The system of claim 9 , wherein the control circuitry is further configured, when increasing the size of the buffer, to:

identifying an average length of rewind requests received from the user while consuming media segments that are similar to the second segment of the media asset;

calculating an amount of memory needed to store a portion of the second segment corresponding to the average length of the rewind requests; and

setting the size of the buffer based on the calculated amount of memory.

15. The system of claim 9 , wherein the control circuitry is further configured, when increasing the size of the buffer, to:

determine a duration of the second segment;

determine a bitrate for the media asset;

calculate an amount of memory needed to store the second segment by multiplying the bitrate for the media asset by the duration; and

setting the size of the buffer based on the calculated amount of memory.

16. The system of claim 9 , wherein the control circuitry is further configured, when setting the size of the buffer based on the calculated amount of memory, to:

determine a maximum buffer size for the media consumption device;

in response to determining that the calculated amount of memory is greater than the maximum buffer size, setting the size of the buffer to the maximum buffer size; and

in response to determining that the calculated amount of memory is not greater than the maximum buffer size, setting the size of the buffer to the calculated amount of memory.

Assignments (3)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0171 →
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 Oct 22, 2020
From: PANCHAKSHARAIAH, VISHWAS SHARADANAGAR; GUPTA, VIKRAM MAKAM
To: ROVI GUIDES, INC.
Reel/Frame 054139/0761 →
Continuity (2)
Continuation 16141450 · Sep 25, 2018
Related Publication 20210099755A1 · Apr 1, 2021
Cited By (1)
US 12,713,093