IP Library Granted Patent US 9,712,584
Granted Patent B2
US 9,712,584 · App. 14/293,466 · Granted Jul 18, 2017

Context-based adaptive streaming algorithm for a user device

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,712,584
App. No.
14/293,466
Granted
Jul 18, 2017
Kind
B2
Abstract

A method, a device, and a non-transitory storage medium having instructions to receive a request to begin an adaptive streaming session; receive, in response to receiving the request, context information, wherein the context information pertains to a link state between the device and another device that provides a streaming media; calculate, based on the context information, values for dynamic parameters pertaining to the adaptive streaming session, wherein the dynamic parameters pertain to buffer management and codec selection; and provide, based on the values for the dynamic parameters, the streaming media to a user.

Claims (52)

1. A method comprising:

receiving, by a user device, a request to begin an adaptive streaming session;

receiving, by the user device, in response to receiving the request, context information, wherein the context information pertains to a link state between the user device and a device to provide a streaming media;

calculating, by the user device, based on the context information, values for dynamic parameters pertaining to the adaptive streaming session, wherein the dynamic parameters pertain to buffer management of a buffer and codec selection; and

providing, by the user device, the streaming media to a user of the user device based on the values for the dynamic parameters;

determining that a triggering event occurs, based on the context information, and determining, in response to the determination that the triggering event occurs, that the values for the dynamic parameters are to be changed, according to a time to refill the buffer.

2. The method of claim 1 , wherein the context information includes at least one of received signal strength by the user device, a protocol used by the user device, a wireless standard used by the user device, or a signal-to-noise ratio.

3. The method of claim 1 , wherein the context information includes at least one of position information pertaining to the user device, traffic information pertaining to traffic statistics of the adaptive streaming session, or motion information pertaining to the user device.

4. The method of claim 1 , further comprising:

receiving, in response to receiving the request, prediction information, wherein the prediction information pertains to a predicted location towards which the user is traveling and network conditions associated with the predicted location, the prediction information is generated, in part, based on at least one of weather information or calendar information; and

calculating, in response to receiving the prediction information, the values for the dynamic parameters based on the prediction information.

5. The method of claim 1 , further comprising:

storing historical information pertaining to previous adaptive streaming sessions, the historical information comprises information pertaining to the user's previous streaming activity using the user device; and using the historical information as a basis to generate prediction information that pertains to the adaptive streaming session.

6. The method of claim 1 , further comprising:

applying values of the context information to a weighted model, and wherein the calculating comprises:

using the weighted model to calculate the values for the dynamic parameters, wherein one of the values indicates a buffer level and another one of the values indicates a bit-rate for segments of the streaming media to download.

7. A user device comprising:

a communication interface;

a memory, wherein the memory stores software;

a processor, wherein the processor executes the software to:

receive a request to begin an adaptive streaming session;

receive, in response to receiving the request, context information, wherein the context information pertains to a link state between the user device and a device to provide a streaming media;

calculate, based on the context information, values for dynamic parameters pertaining to the adaptive streaming session, wherein the dynamic parameters pertain to buffer management of a buffer and codec selection; and

provide, via the communication interface, the streaming media to a user of the user device based on the values for the dynamic parameters;

determine that a triggering event occurs, based on the context information, and determine, in response to the determination that the triggering event occurs, that the values for the dynamic parameters are to be changed, according to a time to refill the buffer.

8. The user device of claim 7 , wherein the context information includes at least one of received signal strength by the user device, a protocol used by the user device, a wireless standard used by the user device, or a signal-to-noise ratio.

9. The user device of claim 7 , wherein the context information includes at least one of position information pertaining to the user device, traffic information pertaining to traffic statistics of the adaptive streaming session, or motion information pertaining to the user device.

10. The user device of claim 7 , wherein the processor further executes the software to:

receive, in response to receiving the request, prediction information, wherein the prediction information pertains to a predicted location towards which the user is traveling and network conditions associated with the predicted location, the prediction information is generated, in part, based on at least one of weather information or calendar information; and

calculate, in response to receiving the prediction information, the values for the dynamic parameters based on the prediction information.

11. The user device of claim 7 , wherein the software includes a media player, and the media player includes an adaptive streaming algorithm that calculates the values for the dynamic parameters.

12. The user device of claim 7 , wherein each of the values includes an upper bound value and a lower bound value, and wherein one of the values indicates a time to refill the buffer.

13. The user device of claim 7 , wherein the processor further executes the software to:

apply values of the context information to a weighted model, and wherein, when calculating, the processor further executes the instructions to:

use the weighted model to calculate the values for the dynamic parameters, wherein one of the values indicates a buffer level and another one of the values indicates a bit-rate for segments of the streaming media to download.

14. The user device of claim 7 , further comprising:

a display, and wherein the streaming media is a movie.

15. A non-transitory storage medium that stores instructions executable by a processor of a computational device, which when executed, cause the computational device to:

receive a request to begin an adaptive streaming session;

receive, in response to receiving the request, context information, wherein the context information pertains to a link state between the computational device and a device to provide a streaming media;

calculate, based on the context information, values for dynamic parameters pertaining to the adaptive streaming session, wherein the dynamic parameters pertain to buffer management of a buffer and codec selection; and

provide, based on the values for the dynamic parameters, the streaming media to a user of the computational device;

determine that a triggering event occurs, based on the context information, and determine, in response to a determination that the triggering event occurs, that the values for the dynamic parameters are to be changed, according to a time to refill the buffer.

16. The non-transitory storage medium of claim 15 , wherein the context information includes at least one of received signal strength by the computational device, a protocol used by the computational device, a wireless standard used by the computational device, or a signal-to-noise ratio.

17. The non-transitory storage medium of claim 15 , wherein the context information includes at least one of position information pertaining to the computational device, traffic information pertaining to traffic statistics of the adaptive streaming session, or motion information pertaining to the computational device.

18. The non-transitory storage medium of claim 15 , wherein the instructions comprise instructions to:

store historical information pertaining to previous adaptive streaming sessions, the historical information comprises information pertaining to the user's previous streaming activity using the computational device;

use the historical information as a basis to generate prediction information that pertains to the adaptive streaming session; and wherein the instructions to calculate comprises instructions to:

calculate, based on the context information and the prediction information, the values for the dynamic parameters pertaining to the adaptive streaming session.

19. The non-transitory storage medium of claim 15 , wherein the instructions comprise instructions to:

apply values of the context information to a weighted model, and wherein the instructions for calculating comprise instructions to:

use the weighted model to calculate the values for the dynamic parameters, wherein one of the values indicates a buffer level and another one of the values indicates a bit-rate for segments of the streaming media to download.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2019
From: SONY MOBILE COMMUNICATIONS, INC.
To: SONY CORPORATION
Reel/Frame 048691/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2016
From: SONY CORPORATION
To: SONY MOBILE COMMUNICATIONS INC.
Reel/Frame 038542/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: KARLSSON, PETER C.; DANIELSSON, MARTIN; ISBERG, ANDERS; LJUNG, RICKARD
To: SONY CORPORATION
Reel/Frame 033009/0587 →