System and methods for bit rate control
Abstract
A computer-implemented method for controlling bit rate includes determining an expected adjustment for a first coding parameter that encodes a first slice based on a difference between a cumulative number of bits used to encode one or more slices of a frame up to and including the first slice and a maximum number of bits allowed to encode the one or more slices, updating a coding parameter threshold based on an indicator that indicates a relationship between the coding parameter threshold and one or more coding parameters used to encode the one or more slices, and determining an actual adjustment for the first coding parameter based on the expected adjustment and the updated coding parameter threshold.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for controlling bit rate, comprising:
determining an expected adjustment for a first coding parameter that encodes a first slice based on a difference between a cumulative number of bits used to encode one or more slices of a frame up to and including the first slice and a maximum number of bits allowed to encode the one or more slices; updating a coding parameter threshold based on an indicator that indicates a relationship between the coding parameter threshold and one or more coding parameters used to encode the one or more slices; and determining an actual adjustment for the first coding parameter based on the expected adjustment and the updated coding parameter threshold.
2 . The method of claim 1 , further comprising:
determining a second coding parameter used to encode a second slice by adjusting the first coding parameter with the actual adjustment, wherein the second slice is distinct from the one or more slices.
3 . The method of claim 2 , wherein the actual adjustment is determined such that the second coding parameter does not exceed the updated coding parameter threshold.
4 . The method of claim 2 , wherein the first coding parameter and the second coding parameter are quantization parameters or cutoff parameters.
5 . The method of claim 2 , wherein updating the coding parameter threshold based on the indicator comprises:
incrementing or decrementing the coding parameter threshold by a predefined value.
6 . The method of claim 5 , wherein the predefined value varies depending on an order in which the first slice or the second slice is encoded relative to other slices of the frame.
7 . The method of claim 1 , wherein the expected adjustment or the actual adjustment for the first coding parameter is positive when the cumulative number of bits is greater than the maximum number of bits allowed.
8 . The method of claim 1 , wherein the expected adjustment or the actual adjustment for the first coding parameter is zero or negative when the cumulative number of bits is equal to or less than the maximum number of bits allowed.
9 . The method of claim 1 , wherein the indicator includes a counter indicating a number of times when the one or more coding parameters reach or exceed the coding parameter threshold.
10 . The method of claim 1 , wherein the indicator includes a ratio or a percentage of the one or more coding parameters that reach or exceed the coding parameter threshold.
11 . The method of claim 1 , wherein the coding parameter threshold represents an upper bound or a lower bound for the first coding parameter, and the updated coding parameter threshold represents an upper bound or a lower bound for the second coding parameter.
12 . The method of claim 1 , wherein each of the one or more slices of the frame is encoded using a corresponding one of the one or more coding parameters.
13 . A system, comprising:
a memory that stores one or more computer-executable instructions; and one or more processors configured to access the memory and execute the one or more computer-executable instructions to perform operations comprising:
determining an expected adjustment for a first coding parameter that encodes a first slice based on a difference between a cumulative number of bits used to encode one or more slices of a frame up to and including the first slice and a maximum number of bits allowed to encode the one or more slices;
updating a coding parameter threshold based on an indicator that indicates a relationship between the coding parameter threshold and one or more coding parameters used to encode the one or more slices; and
determining an actual adjustment for the first coding parameter based on the expected adjustment and the updated coding parameter threshold.
14 . The system of claim 13 , wherein the one or more processors are further configured to access the memory and execute the one or more computer-executable instructions to perform operations comprising:
determining a second coding parameter used to encode a second slice by adjusting the first coding parameter with the actual adjustment, wherein the second slice is distinct from the one or more slices.
15 . The system of claim 14 , wherein the actual adjustment is determined such that the second coding parameter does not exceed the updated coding parameter threshold.
16 . The system of claim 14 , wherein updating the coding parameter threshold based on the indicator comprises:
incrementing or decrementing the coding parameter threshold by a predefined value, wherein the predefined value varies depending on an order in which the first slice or the second slice is encoded relative to other slices of the frame.
17 . One or more non-transitory computer-readable storage media storing computer-executable instructions that, when executed by a computing system, configure the computing system to perform operations comprising:
determining an expected adjustment for a first coding parameter that encodes a first slice based on a difference between a cumulative number of bits used to encode one or more slices of a frame up to and including the first slice and a maximum number of bits allowed to encode the one or more slices; updating a coding parameter threshold based on an indicator that indicates a relationship between the coding parameter threshold and one or more coding parameters used to encode the one or more slices; and determining an actual adjustment for the first coding parameter based on the expected adjustment and the updated coding parameter threshold.
18 . The one or more non-transitory computer-readable storage media of claim 17 , wherein the computer-executable instructions, when executed by the computing system, further configure the computing system to perform operations comprising:
determining a second coding parameter used to encode a second slice by adjusting the first coding parameter with the actual adjustment, wherein the second slice is distinct from the one or more slices.
19 . The one or more non-transitory computer-readable storage media of claim 18 , wherein the actual adjustment is determined such that the second coding parameter does not exceed the updated coding parameter threshold.
20 . The one or more non-transitory computer-readable storage media of claim 18 , wherein updating the coding parameter threshold based on the indicator comprises:
incrementing or decrementing the coding parameter threshold by a predefined value, wherein the predefined value varies depending on an order in which the first slice or the second slice is encoded relative to other slices of the frame.Join the waitlist — get patent alerts
Track US2021152621A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.