IP Library Granted Patent US 10,349,059
Granted Patent B1
US 10,349,059 · App. 16/037,786 · Granted Jul 9, 2019

Adjusting encoding frame size based on available network bandwidth

Inventor: Charles F. Good (Cincinnati, OH)
Assignee: WOWZA MEDIA SYSTEMS, LLC
H04N19/152H04N19/184H04N19/196
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,349,059
App. No.
16/037,786
Granted
Jul 9, 2019
Kind
B1
Abstract

A method includes reducing, at an encoder, an encoding bit rate of video data in response to a first indication of available bandwidth for transmission of the encoded video data. The method includes reducing an encoding frame size of the video data in response to the encoding bit rate falling below a first threshold. The method also includes increasing the encoding bit rate in response to a second indication of the available bandwidth. The method further includes increasing the encoding frame size in response to the encoding bit rate rising above a second threshold. The second threshold is greater than the first threshold.

Claims (37)

1. A method of encoding video data, the method comprising:

reducing, at an encoder, an encoding bit rate of video data in response to a first indication of available bandwidth for transmission of the encoded video data;

reducing an encoding frame size of the video data in response to the encoding bit rate falling below a first threshold;

increasing the encoding bit rate in response to a second indication of the available bandwidth;

increasing the encoding frame size in response to the encoding bit rate rising above a second threshold, the second threshold greater than the first threshold, wherein the first threshold and the second threshold are based on a first bit rate threshold and a window size;

increasing the encoding bit rate in response to a third indication of the available bandwidth; and

increasing the encoding frame size in response to the encoding bit rate rising above a third threshold, the third threshold greater than the second threshold.

2. The method of claim 1 , wherein the encoding frame size is reduced from a first frame size to a second frame size in response to the encoding bit rate falling below the first threshold, and wherein the encoding frame size is increased from the second frame size to the first frame size in response to the encoding bit rate rising above the second threshold.

3. The method of claim 1 , wherein the first bit rate threshold corresponds to a midpoint between the first threshold and the second threshold.

4. The method of claim 3 , wherein the window size corresponds to a difference between the second threshold and the first threshold.

5. The method of claim 1 , wherein the third threshold is based on a second bit rate threshold and the window size.

6. The method of claim 1 , further comprising transmitting a stream of encoded data to a remote device over a network connection.

7. The method of claim 1 , wherein the first indication of the available bandwidth corresponds to an amount of encoded data in a write buffer exceeding a first backlog threshold.

8. The method of claim 7 , wherein the second indication of the available bandwidth corresponds to the amount of encoded data in the write buffer falling below a second backlog threshold.

9. A device comprising:

an encoder configured to:

reduce an encoding bit rate of video data in response to a first indication of available bandwidth for transmission of the encoded video data;

reduce an encoding frame size of the video data in response to the encoding bit rate falling below a first threshold;

increase the encoding bit rate in response to a second indication of the available bandwidth;

increase the encoding frame size in response to the encoding bit rate rising above a second threshold, the second threshold greater than the first threshold, wherein the first threshold and the second threshold are based on a first bit rate threshold and a window size;

increase the encoding bit rate in response to a third indication of the available bandwidth; and

increase the encoding frame size in response to the encoding bit rate rising above a third threshold, the third threshold greater than the second threshold.

10. The device of claim 9 , further comprising a write buffer coupled to the encoder, wherein the first indication of the available bandwidth corresponds to an amount of encoded data in the write buffer.

11. The device of claim 10 , further comprising a network interface configured to transmit a stream of the encoded data from the write buffer to a remote device.

12. The device of claim 9 , wherein the encoder includes a frame size selector configured to select the encoding frame size.

13. A computer-readable storage device storing instructions that, when executed by a processor, cause the processor to perform operations comprising:

reducing, at an encoder, an encoding bit rate of video data in response to a first indication of available bandwidth for transmission of the encoded video data;

reducing an encoding frame size of the video data in response to the encoding bit rate falling below a first threshold;

increasing the encoding bit rate in response to a second indication of the available bandwidth;

increasing the encoding frame size in response to the encoding bit rate rising above a second threshold, the second threshold greater than the first threshold, wherein the first threshold and the second threshold are based on a first bit rate threshold and a window size;

increasing the encoding bit rate in response to a third indication of the available bandwidth; and

increasing the encoding frame size in response to the encoding bit rate rising above a third threshold, the third threshold greater than the second threshold.

14. The computer-readable storage device of claim 13 , wherein the instructions when executed further cause the processor to:

reduce the encoding frame size from a first frame size to a second frame size in response to the encoding bit rate falling below the first threshold; and

increase the encoding frame size from the second frame size to the first frame size in response to the encoding bit rate rising above the second threshold.

15. The computer-readable storage device of claim 13 , wherein the operations further include transmitting a stream of encoded data to a remote device over a network connection.

16. The computer-readable storage device of claim 13 , wherein the first indication of the available bandwidth corresponds to an amount of encoded data in a write buffer exceeding a first backlog threshold.

Assignments (2)
SECURITY INTEREST Recorded May 28, 2021
From: WOWZA MEDIA SYSTEMS, LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 056422/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2018
From: GOOD, CHARLES F.
To: WOWZA MEDIA SYSTEMS, LLC
Reel/Frame 046374/0296 →
Cited By (17)
US 12,200,293 US 12,225,262 US 12,256,083 US 12,284,239 US 12,301,925 US 12,323,644 US 12,335,561 US 12,342,022 US 12,348,372 US 12,363,309 US 12,368,830 US 12,401,566 US 12,432,356 US 12,464,146 US 12,470,495 US 12,474,769 US 12,489,678