IP Library › Granted Patent US 10,873,780
Granted Patent B2
US 10,873,780 · App. 15/581,299 · Granted Dec 22, 2020

System and method for effectuating fast channel change in an adaptive streaming environment

Inventors: Chris Phillips (Hartwell, GA); Charles Hammett Dasher (Lawrenceville, GA); Mark Robertson (Lawrenceville, GA); Robert Hammond Forsman (Sugar Hill, GA); Jennifer Ann Reynolds (Duluth, GA)
Assignee: ERICSSON AB
H04N21/4384H04L65/4084H04L65/60H04L65/602H04L65/607H04N21/44004H04N21/6373H04N21/64322H04N21/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 10,873,780
App. No.
15/581,299
Granted
Dec 22, 2020
Kind
B2
Abstract

A system and method for effectuating fast channel change in an adaptive streaming environment. A plurality of adjacent channels may be predicted relative to a current streaming channel engaged by a client device. Upon prioritizing the adjacent channels, the client device may be configured to pre-fetch metadata and initialization information for a subset of the prioritized adjacent channels based on bandwidth conditions, video player buffer status, etc. When a channel is changed, the client device is operative to use the pre-fetched data to quickly obtain encoded media content at a select bitrate for rendering.

Claims (55)

1. A method operative in a client device disposed in an adaptive streaming environment, the method comprising:

monitoring at least a bandwidth condition relative to a network connection between the client device and a content delivery network;

predicting a plurality of adjacent channels relative to a current streaming channel of the client device effectuated over the network connection, the predicting of the adjacent channels performed responsive to at least one of a current bandwidth condition and adaptive learning of a user's channel surfing behavior;

prioritizing the plurality of adjacent channels;

determining a subset number of channels of the prioritized plurality of adjacent channels for which metadata information can be pre-fetched;

pre-fetching the metadata information associated with each of the subset number of channels of the prioritized plurality of adjacent channels;

responsive to the pre-fetched metadata information, pre-fetching and storing initialization information for the subset number of channels of the prioritized plurality of adjacent channels;

if the current streaming channel is changed to a new streaming channel belonging to the subset number of channels of the prioritized plurality of adjacent channels, using the pre-fetched initialization information to fetch segments of encoded media content pertaining to the new streaming channel, the segments having a first duration; and

subsequent to determining that the new streaming channel has settled in the new streaming channel for a select time period, sending a request for segments of the encoded media content having a second duration.

2. The method as recited in claim 1 , wherein the metadata information comprises manifest information associated with a respective one of the subset number of channels of the prioritized plurality of adjacent channels.

3. The method as recited in claim 1 , wherein the initialization information associated with a respective one of the subset number of channels of the prioritized plurality of adjacent channels comprises at least one of a Sequence Parameters Set (SPS), a Picture Parameters Set (PPS), one or more codec headers, and data necessary to decode slices of video frames.

4. The method as recited in claim 1 , wherein the segments having the first duration are shorter than the segments having the second duration.

5. The method as recited in claim 1 , further comprising:

continuing to monitor at least one of the bandwidth condition of the network connection, video player buffer conditions and decoder processing conditions of the client device; and

responsive to the monitoring, predicting a new plurality of adjacent channels relative to the new streaming channel.

6. The method as recited in claim 1 , further comprising:

determining that the media content of the new streaming channel is not error-corrected by the streaming server; and

upon expiration of a specified period of time after the client device has settled into the new streaming channel, sending a message to the streaming server to enable error correction of the media content by the streaming server.

7. A client device, comprising:

one or more processors;

a bandwidth condition monitor; and

a persistent memory coupled to the one or more processors, wherein the persistent memory includes program instructions for performing the following when executed by the one or more processors:

monitoring at least a bandwidth condition relative to a network connection between the client device and a content delivery network;

predicting a plurality of adjacent channels relative to a current streaming channel of the client device effectuated over the network connection, the predicting of the adjacent channels performed responsive to at least one of a current bandwidth condition and adaptive learning of a user's channel surfing behavior;

prioritizing the plurality of adjacent channels;

determining a subset number of channels of the prioritized plurality of adjacent channels for which metadata information can be pre-fetched;

pre-fetching the metadata information associated with each of the subset number of channels of the prioritized plurality of adjacent channels;

responsive to the pre-fetched metadata information, pre-fetching and storing initialization information for the subset number of channels of the prioritized plurality of adjacent channels;

if the current streaming channel is changed to a new streaming channel belonging to the subset number of channels of the prioritized plurality of adjacent channels, using the pre-fetched initialization information to fetch segments of encoded media content pertaining to the new streaming channel, the segments having a first duration; and

subsequent to determining that the new streaming channel has settled in the new streaming channel for a select time period, sending a request for segments of the encoded media content having a second duration.

8. The client device as recited in claim 7 , wherein the metadata information comprises manifest information associated with a respective one of the subset number of channels of the prioritized plurality of adjacent channels.

9. The client device as recited in claim 7 , wherein the initialization information associated with a respective one of the subset number of channels of the prioritized plurality of adjacent channels comprises at least one of a Sequence Parameters Set (SPS), a Picture Parameters Set (PPS), one or more codec headers, and data necessary to decode slices of video frames.

10. The client device as recited in claim 7 , wherein the segments having the first duration are shorter than the segments having the second duration.

11. The client device as recited in claim 7 , wherein the program instructions further comprise instructions configured for:

continuing to monitor at least one of the bandwidth condition of the network connection, video player buffer conditions and decoder processing conditions of the client device; and

responsive to the monitoring, predicting a new plurality of adjacent channels relative to the new streaming channel.

12. The client device as recited in claim 7 , wherein the program instructions further comprise instructions configured for:

determining that the media content of the new streaming channel is not error-corrected by the streaming server; and

upon expiration of a specified period of time after the client device has settled into the new streaming channel, sending a message to the streaming server to enable error correction of the media content by the streaming server.

13. A non-transitory computer-readable medium containing program instructions stored thereon, which perform the following acts when executed by a processor of a client device:

monitoring at least a bandwidth condition relative to a network connection between the client device and a content delivery network;

predicting a plurality of adjacent channels relative to a current streaming channel of the client device effectuated over the network connection, the predicting of the adjacent channels performed responsive to at least one of a current bandwidth condition and adaptive learning of a user's channel surfing behavior;

prioritizing the plurality of adjacent channels;

determining a subset number of channels of the prioritized plurality of adjacent channels for which metadata information can be pre-fetched;

pre-fetching the metadata information associated with each of the subset number of channels of the prioritized plurality of adjacent channels;

responsive to the pre-fetched metadata information, pre-fetching and storing initialization information for the subset number of channels of the prioritized plurality of adjacent channels;

if the current streaming channel is changed to a new streaming channel belonging to the subset number of channels of the prioritized plurality of adjacent channels, using the pre-fetched initialization information to fetch segments of encoded media content pertaining to the new streaming channel, the segments having a first duration; and

subsequent to determining that the new streaming channel has settled in the new streaming channel for a select time period, sending a request for segments of the encoded media content having a second duration.

14. The non-transitory computer-readable medium as recited in claim 13 , wherein the segments having the first duration are shorter than the segments having the second duration.

15. The non-transitory computer-readable medium as recited in claim 13 , further comprising program instructions configured for:

continuing to monitor at least one of the bandwidth condition of the network connection, video player buffer conditions and decoder processing conditions of the client device; and

responsive to the monitoring, predicting a new plurality of adjacent channels relative to the new streaming channel.

16. The non-transitory computer-readable medium as recited in claim 13 , further comprising program instructions configured for:

determining that the media content of the new streaming channel is not error-corrected by the streaming server; and

upon expiration of a specified period of time after the client device has settled into the new streaming channel, sending a message to the streaming server to enable error correction of the media content by the streaming server.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2017
From: DASHER, CHARLES HAMMETT; FORSMAN, ROBERT HAMMOND; PHILLIPS, CHRIS; REYNOLDS, JENNIFER ANN; ROBERTSON, MARK
To: ERICSSON TELEVISION INC.
Reel/Frame 044326/0209 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2017
From: ERICSSON TELEVISION INC.
To: ERICSSON AB
Reel/Frame 043985/0976 →
Continuity (2)
Continuation 14037160 · Sep 25, 2013
Related Publication 20170230708A1 · Aug 10, 2017