# US 11,451,862 B2 · System and method for effectuating fast channel change in an adaptive streaming environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,451,862 B2
- Document ID: US11451862B2
- Status: Granted
- Kind: B2
- Application number: 17/127,653
- Filed: 2020-12-18
- Published: 2021-04-15
- Granted: 2022-09-20
- Earliest claimed: 2013-09-25
- Assignees: Ericsson Inc.
- Applicants: Ericsson AB
- Inventors: Chris Phillips; Charles Hammett Dasher; Mark Robertson; Robert Hammond Forsman; Jennifer Ann Reynolds
- Web page: https://patentgrep.com/patent/US11451862B2

## CPC

- H04N 21/4384: {involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency}
- H04L 65/60: Network streaming of media packets
- H04L 65/612: for unicast
- H04L 65/70: Media network packetisation
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04N 21/44004: {involving video buffer management, e.g. video decoder buffer or video display buffer}
- H04N 21/6373: for rate control {, e.g. request to the server to modify its transmission rate (flow control in packet networks H04L47/10)}
- H04N 21/64322: {IP}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A method operative in a streaming client device disposed in an adaptive streaming environment, the method comprising:
monitoring at least a bandwidth condition relative to a network connection between the streaming client device and a content delivery network;
determining one or more adjacent channels relative to a current streaming channel of the streaming client device;
pre-fetching metadata information associated with the one or more adjacent channels;
responsive to the pre-fetched metadata information, pre-fetching and storing initialization information for the one or more adjacent channels; and
if the current streaming channel is changed to a new streaming channel belonging to the one or more adjacent channels, using the pre-fetched initialization information to fetch encoded media content pertaining to the new streaming channel, the encoded media content comprising segments each having a first duration; and
after determining that a user has remained on the new streaming channel for a select time period, requesting segments, of the encoded media content, each having a second duration longer than the first duration.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein the monitoring further comprises monitoring at least one of video buffer conditions and decoder processing conditions of the streaming client device.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein the metadata information comprises manifest information associated with the respective one or more adjacent channels.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein the pre-fetched initialization information corresponding to the one or more 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 frames.

### Claim 5 (depends on 4)

The method as recited in claim 4, wherein the one or more codec headers comprise at least one of MPEG-2 sequence headers, High Efficiency Video Coding (HEVC) headers, and AC3 (audio) headers.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein the one or more adjacent channels are determined as at least one of a first number of consecutive channels above the current streaming channel and a second number of consecutive channels below the current streaming channel, and further wherein the first number and the second number respectively range from 0 to a quantity based on the network bandwidth condition.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein the one or more adjacent channels are determined as a group of streaming channels that belong to a content category to which the current streaming channel also belongs.

### Claim 8 (depends on 1)

The method as recited in claim 1, wherein the one or more adjacent channels are determined based on predicting a user's behavioral patterns in a “channel surfing” mode when using the streaming client device.

### Claim 9 (depends on 8)

The method as recited in claim 8, wherein the “channel surfing” mode is ascertained responsive to detecting that the user has changed a plurality of channels within a select time period.

### Claim 10 (depends on 1)

The method as recited in claim 1, further comprising:
after determining that a user has remained on the new streaming channel for the select time period, ascertaining that the user is in a “viewing” mode;
sending a request for streaming media content encoded at higher bit rates; and
continuing to monitor at least one of the bandwidth condition of the network connection, video buffer conditions and decoder processing conditions, to determine one or more additional adjacent channels relative to the new streaming channel.

### Claim 11

A client device, disposed in an adaptive streaming environment, comprising:
one or more processors; and
memory, coupled to the one or more processors, storing program instructions which, when executed by the one or more processors, cause the client device to:
monitor at least a bandwidth condition relative to a network connection between the streaming client device and a content delivery network;
determine one or more adjacent channels relative to a current streaming channel of the streaming client device;
pre-fetch metadata information associated with the one or more adjacent channels;
responsive to the pre-fetched metadata information, pre-fetch and store initialization information for the one or more adjacent channels; and
if the current streaming channel is changed to a new streaming channel belonging to the one or more adjacent channels, use the pre-fetched initialization information to fetch encoded media content pertaining to the new streaming channel, the encoded media content comprising segments each having a first duration; and
after determining that a user has remained on the new streaming channel for a select time period, request segments, of the encoded media content, each having a second duration longer than the first duration.

### Claim 12 (depends on 11)

The client device as recited in claim 11, wherein the monitoring further comprises monitoring at least one of video buffer conditions and decoder processing conditions of the client device.

### Claim 13 (depends on 11)

The client device as recited in claim 11, wherein the metadata information comprises manifest information associated with the respective one or more adjacent channels.

### Claim 14 (depends on 11)

The client device as recited in claim 11, wherein the pre-fetched initialization information corresponding to the one or more 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 frames.

### Claim 15 (depends on 11)

The client device as recited in claim 11, the memory further storing program instructions which, when executed by the one or more processors, cause the client device to:
after determining that a user has remained on the new streaming channel for the select time period, ascertain that the user is in a “viewing” mode;
send a request for streaming media content encoded at higher bit rates; and
continue to monitor at least one of the bandwidth condition of the network connection, video buffer conditions and decoder processing conditions, to determine one or more additional adjacent channels relative to the new streaming channel.

### Claim 16

A non-transitory computer-readable storage medium storing program instructions executable by one or more processors of an electronic device, the program instructions including instructions for:
monitoring at least a bandwidth condition relative to a network connection between the streaming client device and a content delivery network;
determining one or more adjacent channels relative to a current streaming channel of the streaming client device;
pre-fetching metadata information associated with the one or more adjacent channels;
responsive to the pre-fetched metadata information, pre-fetching and storing initialization information for the one or more adjacent channels; and
if the current streaming channel is changed to a new streaming channel belonging to the one or more adjacent channels, using the pre-fetched initialization information to fetch encoded media content pertaining to the new streaming channel, the encoded media content comprising segments each having a first duration; and
after determining that a user has remained on the new streaming channel for a select time period, requesting segments, of the encoded media content, each having a second duration longer than the first duration.
