Congestion control for low-latency interactive video streaming

US2025039099A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2025039099-A1
Application numberUS-202418790035-A
CountryUS
Kind codeA1
Filing dateJul 31, 2024
Priority dateApr 4, 2022
Publication dateJan 30, 2025
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A server transmits an encoded game frame over a network to a respective client system as a set of packets. In response to transmitting the set of packets, the server determines a bandwidth estimate based on the size of the encoded game frame and the timing data associated with the transmitted set of packets. The server then compares the bandwidth estimate to a current video bitrate of the game stream being transmitted from the server to the respective client device. In response to the comparison indicating an underutilization of the network, the server increases the encoding bitrate. Further, in response to the comparison indication an overutilization of the network, the server decreases the encoding bitrate.

First claim

Opening claim text (preview).

1 - 20 . (canceled) 21 . A method, comprising: based on encoding a frame according to an encoding bitrate to produce an encoded frame, transmitting the encoded frame as a set of packets over a network; determining a bandwidth estimate based on timing data associated with transmitting the set of packets over the network and based on an undershoot correction factor associated with a size of the encoded frame; and modifying the encoding bitrate based on the bandwidth estimate. 22 . The method of claim 21 , wherein the timing data comprises a first set of time stamps indicating when the set of packets was transmitted and a second set of time stamps indicating when the set of packets was received by a device. 23 . The method of claim 21 , wherein modifying the encoding bitrate comprises: based on the bandwidth estimate being less than a current video bitrate, decreasing the encoding bitrate. 24 . The method of claim 21 , wherein modifying the encoding bitrate comprises: based on the bandwidth estimate being greater than a current video bitrate, increasing the encoding bitrate. 25 . The method of claim 21 , wherein determining the bandwidth estimate comprises: determining a time interval to transmit the encoded frame based on the timing data, wherein the bandwidth estimate is determined based on the time interval. 26 . The method of claim 21 , wherein determining the bandwidth estimate comprises: modifying the bandwidth estimate based on a predetermined step size. 27 . The method of claim 21 , further comprising: based on encoding a second frame to produce a second encoded frame, transmitting the second encoded frame as a second set of packets over the network according to a pacing rate based on the bandwidth estimate. 28 . A computing device, comprising: an encoder configured to encode a frame according to an encoding bitrate to produce an encoded frame; and a processor configured to: transmit the encoded frame as a set of packets over a network; determine a bandwidth estimate based on timing data associated with transmitting the set of packets over the network and based on an undershoot correction factor associated with a size of the encoded frame; and modify the encoding bitrate based on the bandwidth estimate. 29 . The computing device of claim 28 , wherein the timing data comprises a first set of time stamps indicating when the set of packets was transmitted and a second set of time stamps indicating when the set of packets was received by a device. 30 . The computing device of claim 28 , wherein the processor is configured to: based on the bandwidth estimate being lower than a current video bitrate, decrease the encoding bitrate. 31 . The computing device of claim 28 , wherein the processor is configured to: based on the bandwidth estimate being greater than a current video bitrate, increase the encoding bitrate. 32 . The computing device of claim 28 , wherein the processor is configured to: determine a time interval to transmit the encoded frame based on the timing data, wherein the bandwidth estimate is determined based on the time interval. 33 . The computing device of claim 28 , wherein the processor is configured to: modify the bandwidth estimate based on a predetermined step size. 34 . The computing device of claim 28 , wherein the processor is configured to: based on the encoder encoding a second frame to produce a second encoded frame, transmit the second encoded frame as a second set of packets over the network according to a pacing rate based on the bandwidth estimate. 35 . A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing device, cause the at least one processor to: encode a frame according to an encoding bitrate to produce an encoded frame; transmit the encoded frame as a set of packets over a network; determine a bandwidth estimate based on timing data associated with transmitting the set of packets over the network and based on an undershoot correction factor associated with a size of the encoded frame; and modify the encoding bitrate based on the bandwidth estimate. 36 . The non-transitory computer-readable storage medium of claim 35 , wherein the timing data comprises a first set of time stamps indicating when the set of packets was transmitted and a second set of time stamps indicating when the set of packets was received by a device. 37 . The non-transitory computer-readable storage medium of claim 35 further including instructions that cause the at least one processor to: based on the bandwidth estimate being lower than a current video bitrate, decrease the encoding bitrate. 38 . The non-transitory computer-readable storage medium of claim 35 further including instructions that cause the at least one processor to: based on the bandwidth estimate being greater than a current video bitrate, increase the encoding bitrate. 39 . The non-transitory computer-readable storage medium of claim 35 further including instructions that cause the at least one processor to: modify the bandwidth estimate based on a predetermined step size. 40 . The non-transitory computer-readable storage medium of claim 35 further including instructions that cause the at least one processor to: based on encoding a second frame to produce a second encoded frame, transmit the second encoded frame as a second set of packets over the network according to a pacing rate based on the bandwidth estimate.

Assignees

Inventors

Classifications

  • adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use · CPC title

  • Games · CPC title

  • 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) · CPC title

  • Controlling the feeding rate to the network, e.g. by controlling the video pump · CPC title

  • the region being a picture, frame or field · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2025039099A1 cover?
A server transmits an encoded game frame over a network to a respective client system as a set of packets. In response to transmitting the set of packets, the server determines a bandwidth estimate based on the size of the encoded game frame and the timing data associated with the transmitted set of packets. The server then compares the bandwidth estimate to a current video bitrate of the game …
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification A63F13/355. Mapped technology areas include Human Necessities.
When was this patent published?
Publication date Thu Jan 30 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).