# US 12,764,371 B2 · Modulating a quality of media content

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

- Number: US 12,764,371 B2
- Document ID: US12764371B2
- Status: Granted
- Kind: B2
- Application number: 18/141,727
- Filed: 2023-05-01
- Published: 2023-08-24
- Granted: 2026-10-13
- Earliest claimed: 2020-06-23
- Assignees: Roku, Inc.
- Applicants: Roku, Inc.
- Inventors: Greg Garner; David Stern
- Web page: https://patentgrep.com/patent/US12764371B2

## 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
- G06N 20/00: Machine learning
- H04N 21/2402: {Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876)}
- H04N 21/251: {Learning process for intelligent management, e.g. learning user preferences for recommending movies (details of learning user preferences for the retrieval of video data in a video database G06F16/739; computer systems using learning methods G06N3/08)}
- H04N 21/25841: {involving the geographical location of the client (retrieval from the Internet by querying based on geographical locations G06F16/9537; arrangements for identifying locations of receiving stations in broadcast systems H04H60/51; location of the user terminal in data switching networks H04L67/52; services making use of the location of users or terminals in wireless networks H04W4/02; locating users or terminals in wireless networks H04W64/00)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

The present disclosure is directed to systems and methods for modulating the quality of media content based on aggregate data usage. For example, a method may include: collecting usage data information from a plurality of locations; determining a data cap for each of the plurality of locations; training a machine learning model using the usage data information and the data cap; predicting, using the machine learning model, whether a location is going to exceed its associated data cap, the location being a new location or an existing one of the plurality of locations; and determining whether the modulate a quality of media content transmitted to the location based on the prediction.

## Claims

### Claim 1

A computer-implemented method, comprising:
collecting usage data information from one or more locations, the usage data information comprising an indication of how frequent a first media playback device, of a plurality of media playback devices that are located at the one or more locations, that is associated with relatively high consumption of data than compared to a second media device of the plurality of media playback devices is utilized by one or more users;
determining a data cap for the one or more locations;
training a machine learning model using the usage data information and the data cap to associate the usage data information with at least one of the one or more users based on how the at least one of the one or more users handles a remote control device to control the first media playback device;
predicting, using the machine learning model, whether at least one of the one or more locations is going to exceed its associated data cap based on the usage data information associated with the at least one of the one or more users; and
determining to modulate a quality of media content transmitted to the at least one of the one or more locations based on the prediction.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein determining to modulate the quality of the media content comprises automatically modulating the quality of the media content in response to the machine learning model predicting that the at least one of the one or more locations is going to exceed the data cap.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein automatically modulating the quality of the media content comprises automatically modulating the quality of the media content when a current consumption exceeds a percentage of the data cap.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
notifying the at least one of the one or more users at the at least one of the one or more locations that the at least one of the one or more locations is predicted to exceed the data cap; and
prompting the at least one of the one or more users to select whether or not to modulate the quality of the media content, wherein determining to modulate the quality of the media content is based on a selection of the at least one of the one or more users.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein collecting the usage data information comprises continuously collecting usage data information, and wherein the computer-implemented method further comprises training the machine learning model based on the continuously collected usage data information.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein predicting that the at least one of the one or more locations is going to exceed the data cap is further based on an identified cluster in which the at least one of the one or more locations is included.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein predicting that the at least one of the one or more locations is going to exceed the data cap is further based on a determined increase of users at the at least one of the one or more locations.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein predicting that the at least one of the one or more locations is going to exceed the data cap is further based on historical usage at other locations having a comparable profile as the at least one of the one or more locations.

### Claim 9

A system, comprising:
a memory; and
at least one processor, communicatively coupled to the memory, configured to execute instructions, the instructions causing the at least one processor to:
collect usage data information from one or more locations, the usage data information comprising an indication of how frequent a first media playback device, of a plurality of media playback devices that are located at the one or more locations, that is associated with relatively high consumption of data than compared to a second media device of the plurality of media playback devices is utilized by one or more users;
determine a data cap for the one or more locations;
train a machine learning model using the usage data information and the data cap to associate the usage data information with at least one of the one or more users based on how the at least one of the one or more users handles a remote control device to control the first media playback device;
predict, using the machine learning model, whether at least one of the one or more locations is going to exceed its associated data cap based on the usage data information associated with the at least one of the one or more users; and
determine to modulate a quality of media content transmitted to the at least one of the one or more locations based on the prediction.

### Claim 10 (depends on 9)

The system of claim 9, wherein to determine to modulate the quality of the media content, the instructions cause the at least one processor to automatically modulate the quality of the media content in response to the machine learning model predicting that the at least one of the one or more locations is going to exceed the data cap.

### Claim 11 (depends on 10)

The system of claim 10, wherein to automatically modulate the quality of the media content, the instructions cause the at least one processor to automatically modulate the quality of the media content when a current consumption exceeds a percentage of the data cap.

### Claim 12 (depends on 9)

The system of claim 9, wherein the instructions further cause the at least one processor to:
notify the at least one of the one or more users at the at least one of the one or more locations that the at least one of the one or more locations is predicted to exceed the data cap; and
cause a prompt to be displayed to the at least one of the one or more users, the prompt including a selection as to whether or not to modulate the quality of the media content, wherein to determine to modulate the quality of the media content is based on the selection.

### Claim 13 (depends on 9)

The system of claim 9, wherein to collect the usage data information, the instructions cause the at least one processor to continuously collect usage data information, and wherein the instructions further cause the at least one processor to train the machine learning model based on the continuously collected usage data information.

### Claim 14 (depends on 9)

The system of claim 9, wherein to predict that the at least one of the one or more locations is going to exceed the data cap is further based on an identified cluster in which the at least one of the one or more locations is included.

### Claim 15 (depends on 14)

The system of claim 14, wherein to predict that the at least one of the one or more locations is going to exceed the data cap is further based on a determined increase of users at the at least one of the one or more locations.

### Claim 16 (depends on 9)

The system of claim 9, wherein to predict that at least one of the one or more locations is going to exceed the data cap is further based on historical usage at other locations having a comparable profile as the at least one of the one or more locations.

### Claim 17

A non-transitory, tangible computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
collecting usage data information from one or more locations, the usage data information comprising an indication of how frequent a first media playback device, of a plurality of media playback devices that are located at the one or more locations, that is associated with relatively high consumption of data than compared to a second media device of the plurality of media playback devices is utilized by one or more users;
determining a data cap for the one or more locations;
training a machine learning model using the usage data information and the data cap to associate the usage data information with at least one of the one or more users based on how the at least one of the one or more users handles a remote control device to control the first media playback device;
predicting, using the machine learning model, whether at least one of the one or more locations is going to exceed its associated data cap based on the usage data information associated with the at least one of the one or more users; and
determining to modulate a quality of media content transmitted to the at least one of the one or more locations based on the prediction.

### Claim 18 (depends on 17)

The non-transitory, tangible computer-readable medium of claim 17, wherein determining to modulate the quality of the media content comprises automatically modulating the quality of the media content when a current consumption exceeds a percentage of the data cap in response to the machine learning model predicting that the at least one of the one or more locations is going to exceed the data cap.

### Claim 19 (depends on 17)

The non-transitory, tangible computer-readable medium of claim 17, wherein predicting that the at least one of the one or more locations is going to exceed the data cap is further based on an identified cluster in which the at least one of the one or more locations is included.

### Claim 20 (depends on 17)

The non-transitory, tangible computer-readable medium of claim 17, wherein predicting that the at least one of the one or more locations is going to exceed the data cap is further based on historical usage at other locations having a comparable profile as the at least one of the one or more locations.
