IP Library Granted Patent US 10,848,766
Granted Patent B2
US 10,848,766 · App. 16/718,986 · Granted Nov 24, 2020

Adjusting encoding frame size based on available network bandwith

Inventor: Charles F. Good (Cincinnati, OH)
Assignee: WOWZA MEDIA SYSTEMS, LLC
H04N19/152H04N19/115H04N19/132H04N19/164H04N19/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,848,766
App. No.
16/718,986
Granted
Nov 24, 2020
Kind
B2
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 (39)

1. A method comprising:

performing a first operation to determine, at a coder, a coding rate of media data based on a bandwidth associated with transmission of the media data, wherein first operation is performed to determine whether to increase the coding rate;

determining a coding size associated with the media data based on the coding rate not satisfying a first threshold;

performing a second operation to change the coding rate based on the bandwidth, wherein performing the second operation comprises increasing the coding rate after performing the first operation; and

changing the coding size based on the coding rate not satisfying a second threshold, the second threshold differing from the first threshold, wherein at least one of the first threshold or the second threshold is associated with a window size, and wherein the coding size is increased from a first frame size to a second frame size in response to the coding rate rising above the first threshold.

2. The method of claim 1 , wherein the first threshold is based further on a bit rate threshold, and further comprising reducing the coding rate in response to an indication of available bandwidth.

3. The method of claim 2 , further comprising reducing an encoding frame size in response to the coding rate falling below a third threshold, the third threshold less than the first threshold.

4. The method of claim 3 , wherein the encoding frame size is reduced from a third frame size to the first frame size in response to the coding rate falling below the third threshold.

5. The method of claim 3 , wherein the third threshold and the first threshold are based on a bit rate threshold and the window size, and wherein the bit rate threshold corresponds to a midpoint between the third threshold and the first threshold.

6. The method of claim 5 , wherein the window size corresponds to a difference between the first threshold and the third threshold.

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

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

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

10. A device comprising a coder, the coder configured to:

perform a first operation to determine a coding rate of media data based on a bandwidth associated with transmission of the media data, wherein first operation is performed to determine whether to increase the coding rate;

determine a coding size associated with the media data based on the coding rate not satisfying a first threshold;

perform a second operation to change the coding rate based on the bandwidth, wherein performing the second operation comprises increasing the coding rate after performing the first operation; and

change the coding size based on the coding rate not satisfying a second threshold, the second threshold different than the first threshold, wherein at least one of the first threshold or the second threshold is associated with a window size, and wherein the coding size is increased from a first frame size to a second frame size in response to the coding rate rising above the first threshold.

11. The device of claim 10 , further comprising a write buffer coupled to the coder, wherein an amount of coded data in the write buffer corresponds to an indication of available bandwidth.

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

13. The device of claim 10 , wherein the coder includes a frame size selector configured to select a frame size based on a comparison of the coding rate to one or more bit rate thresholds.

14. The device of claim 13 , wherein the coder further:

is configured to:

reduce an encoding bit rate in response to an indication of available bandwidth; and

reduce an encoding frame size in response to the encoding bit rate falling below a third threshold that is less than the first threshold; and

includes a bit rate threshold generator configured to determine the third threshold and the first threshold based on a bit rate threshold and the window size.

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

performing a first operation to determine a coding rate of media data based on a bandwidth associated with transmission of the media data, wherein first operation is performed to determine whether to increase the coding rate;

determining a coding size associated with the media data based n the coding rate not satisfying a first threshold;

performing a second operation to change the coding rate based on the bandwidth, wherein performing the second operation comprises increasing the coding rate after performing the first operation; and

changing the coding size based on the coding rate not satisfying a second threshold, the second threshold different than the first threshold, wherein at least one of the first threshold or the second threshold is associated with a window size, and wherein the coding size is increased from a first frame size to a second frame size in response to the coding rate rising above the first threshold.

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

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

reduce the coding size in response to the coding rate falling below a third threshold; and

increase the coding size in response to the coding rate rising above the first threshold.

18. The computer-readable storage device of claim 15 , wherein the operations further include:

reducing the coding rate in response to an indication of available bandwidth; and

reducing an encoding frame size in response to the coding rate falling below a third threshold, the third threshold less than the first threshold.

19. The computer-readable storage device of claim 18 , wherein the indication of 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 Jan 13, 2020
From: GOOD, CHARLES F.
To: WOWZA MEDIA SYSTEMS, LLC
Reel/Frame 051496/0177 →
Continuity (3)
Continuation 16419227 · May 22, 2019
Continuation 16037786 · Jul 17, 2018
Related Publication 20200128254A1 · Apr 23, 2020