# US 10,484,730 B1 · Chunked transfer mode bandwidth estimation

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

- Number: US 10,484,730 B1
- Document ID: US10484730B1
- Status: Granted
- Kind: B1
- Application number: 15/879,277
- Filed: 2018-01-24
- Granted: 2019-11-19
- Earliest claimed: 2018-01-24
- Assignees: Twitch Interactive, Inc.
- Applicants: Twitch Interactive, Inc.
- Inventors: Yuechuan Li; Yueshi Shen; Graham Keefe Tremper; Abhinav Kapoor; Matthew Szatmary; Nikhil Purushe; Eran Ambar
- Web page: https://patentgrep.com/patent/US10484730B1

## CPC

- H04N 21/2662: Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
- H04N 21/44209: {Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network (arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896)}
- H04N 21/238: Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams {(hybrid fiber coaxial [HFC] networks for downstream channel allocation for video distribution H04L12/2801; flow control in packet networks H04L47/10; real-time communication protocols in data switching networks H04L65/00; scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/44227: {Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network (configuring of peripheral devices in general G06F9/4411; monitoring connectivity in data switched networks H04L43/0811)}
- H04N 21/4621: {Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen (arrangements for using the results of monitoring on user's side in broadcast systems H04H60/65; flow control in packet networks H04L47/10)}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Techniques for estimation of bandwidth for transfer of video content in chunked transfer mode are described herein. A number of chunk samples may be collected during video content transmission. For each chunk sample, its respective delivery speed may be compared to its respective encoding bitrate. If the delivery speed is greater than or equal to the encoding bitrate, then the chunk sample may be included in a primary set of chunk samples. The primary set of chunk samples may be clustered into a lower speed cluster and a higher speed cluster. A representative speed, such as an average or weighted average speed, of the delivery speeds of the chunk samples in the lower speed cluster may be determined, and the bandwidth may be estimated based on the representative speed.

## Claims

### Claim 1

A computing system for estimation of a bandwidth for chunked transfer mode comprising:
one or more processors; and
one or more memories having stored therein instructions that, upon execution by the one or more processors, cause the computing system perform operations comprising:
determining a first speed associated with delivery of a first chunk;
selecting, from a plurality of chunk groups, a first chunk group within which to include the first chunk, wherein the first chunk group is selected based at least in part on the first speed;
determining a representative speed that represents speeds of a plurality of chunks included in the first chunk group; and
estimating the bandwidth based, at least in part, on the representative speed.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the plurality of chunk groups comprises a higher speed group and a lower speed group, and wherein the representative speed is determined for the lower speed group.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein chunks whose delivery speeds are greater than or equal to their encoding bitrates are included in a first set of chunks that includes the plurality of chunk groups.

### Claim 4 (depends on 3)

The computing system of claim 3, wherein chunks whose delivery speeds are less than their encoding bitrates are included in a second set of chunks that does not include the plurality of chunk groups.

### Claim 5

A computer-implemented method for estimation of a bandwidth comprising:
determining a first speed associated with delivery of a first video data portion;
selecting, from a plurality of video data portion groups, a first video data portion group within which to include the first video data portion, wherein the first video data portion group is selected based at least in part on the first speed;
determining a representative speed that represents speeds of a plurality of video data portions included in the first video data portion group; and
estimating the bandwidth based, at least in part, on the representative speed.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the first video data portion is a first chunk, and wherein the bandwidth is a data transfer rate for chunked transfer mode.

### Claim 7 (depends on 5)

The computer-implemented method of claim 5, wherein the plurality of video data portion groups are clusters that are clustered using an algorithm that minimizes a sum of variances of the clusters.

### Claim 8 (depends on 5)

The computer-implemented method of claim 5, wherein the first speed is determined by dividing a data size of the first video data portion by a delivery duration of the first video data portion.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, wherein the delivery duration is a duration between receipt of the first video data portion and receipt of a prior video data portion.

### Claim 10 (depends on 5)

The computer-implemented method of claim 5, wherein video data portions whose delivery speeds are greater than or equal to their encoding bitrates are included in a first set of video data portions that includes the plurality of video data portion groups.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, wherein video data portions whose delivery speeds are less than their encoding bitrates are included in a second set of video data portions that does not include the plurality of video data portion groups.

### Claim 12 (depends on 5)

The computer-implemented method of claim 5, wherein the plurality of video data portion groups comprises a higher speed group and a lower speed group.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein the representative speed represents speeds of the plurality of video data portions included in the lower speed group.

### Claim 14 (depends on 5)

The computer-implemented method of claim 5, wherein the representative speed is a weighted average speed for which video data portions with longer delivery durations are weighted more heavily than video data portions with shorter delivery durations.

### Claim 15

One or more non-transitory computer-readable storage media having stored thereon instructions that, upon execution by a computing device, cause the computing device to perform operations comprising:
determining a first speed associated with delivery of a first video data portion;
selecting, from a plurality of video data portion groups, a first video data portion group within which to include the first video data portion, wherein the first video data portion group is selected based at least in part on the first speed;
determining a representative speed that represents speeds of a plurality of video data portions included in the first video data portion group; and
estimating a bandwidth based, at least in part, on the representative speed.

### Claim 16 (depends on 15)

The one or more non-transitory computer-readable storage media of claim 15, wherein the first video data portion is a first chunk, and wherein the bandwidth is a data transfer rate for chunked transfer mode.

### Claim 17 (depends on 15)

The one or more non-transitory computer-readable storage media of claim 15, wherein the plurality of video data portion groups are clusters that are clustered using an algorithm that minimizes a sum of variances of the clusters.

### Claim 18 (depends on 15)

The one or more non-transitory computer-readable storage media of claim 15, wherein video data portions whose delivery speeds are greater than or equal to their encoding bitrates are included in a first set of video data portions that includes the plurality of video data portion groups.

### Claim 19 (depends on 18)

The one or more non-transitory computer-readable storage media of claim 18, wherein video data portions whose delivery speeds are less than their encoding bitrates are included in a second set of video data portions that does not include the plurality of video data portion groups.

### Claim 20 (depends on 15)

The one or more non-transitory computer-readable storage media of claim 15, wherein the plurality of video data portion groups comprises a higher speed group and a lower speed group, and wherein the representative speed represents speeds of the plurality of video data portions included in the lower speed group.
