System and method for reducing video coding fluctuation
Abstract
A method for supporting video coding includes obtaining an image frame including a plurality of coding block groups each including one or more coding blocks, using a first coding control model associated with a first coding block group in the image frame to estimate one or more first coding parameters, using a second coding control model associated with a second coding block group in the image frame to estimate one or more second coding parameters, determining an effective coding parameter based on an evaluation of the one or more first coding parameters and the one or more second coding parameters, and using the effective coding parameter to encode the plurality of coding block groups in the image frame. The second coding control model is different from the first coding control model. The second coding block group is different from the first coding block group.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for supporting video coding, comprising:
obtaining an image frame comprising a plurality of coding block groups, wherein each coding block group comprises one or more coding blocks; using a first coding control model associated with a first coding block group in the image frame to estimate one or more first coding parameters; using a second coding control model associated with a second coding block group in the image frame to estimate one or more second coding parameters, the second coding control model being different from the first coding control model and the second coding block group being different from the first coding block group; determining an effective coding parameter based on an evaluation of the one or more first coding parameters and the one or more second coding parameters, including at least one of:
obtaining a coding parameter with a largest value among the one or more first coding parameters and the one or more second coding parameters as the effective coding parameter; or
obtaining a coding parameter with a weighted averaged value of the one or more first coding parameters and the one or more second coding parameters as the effective coding parameter; and
using the effective coding parameter to encode the plurality of coding block groups in the image frame.
2 . The method of claim 1 , wherein the first coding control model is associated with a first set of model parameters, and the second coding control model is associated with a second set of model parameters.
3 . The method of claim 2 , further comprising updating the first set of model parameters and the second set of model parameters based on historic coding information.
4 . The method of claim 3 , wherein the historic coding information includes error statistics collected from analyzing an outcome of encoding process.
5 . The method of claim 2 , further comprising updating at least one of the first set of model parameters or the second set of model parameters using a gradient method, wherein the first set of model parameters are calculated based on a first learning rate, and the second set of model parameters are calculated based on a second learning rate.
6 . The method of claim 2 , further comprising updating at least one of the first set of model parameters or the second set of model parameters using a sliding window including a sequence of reference image data units, wherein the first set of model parameters are calculated using a first sliding window including a first sequence of reference image data units, and the second set of model parameters are calculated using a second sliding window including a second sequence of reference image data units.
7 . The method of claim 1 , wherein the one or more first coding parameters are determined based on a first bit allocation of the first coding block group in the image frame, and the one or more second coding parameters are determined based on a second bit allocation of the second coding block group in the image frame.
8 . The method of claim 7 , further comprising:
performing an initial bit allocation for each coding block group in the image frame based on at least one of a target rate for transmitting the image frame or one or more communication constraints; and adjusting a bit allocation for one or more coding block groups in the image frame based on a complexity of content in the one or more coding block groups.
9 . The method of claim 1 , wherein each coding block group comprises a group of macroblocks, including a slice, a tile, or a row of macroblocks.
10 . The method of claim 1 , wherein the one or more first coding parameters comprise one or more first quantization parameters to encode the first coding block group, and the one or more second coding parameters comprise one or more second quantization parameters to encode the second coding block group.
11 . A video encoder, 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:
obtain an image frame comprising a plurality of coding block groups, wherein each coding block group comprises one or more coding blocks;
use a first coding control model, associated with a first coding block group in the image frame to estimate one or more first coding parameters;
use a second coding control model associated with a second coding block group in the image frame to estimate one or more second coding parameters, the second coding control model being different from the first coding control model and the second coding block group being different from the first coding block group;
determine an effective coding parameter based on an evaluation of the one or more first coding parameters and the one or more second coding parameters, including at least one of:
obtaining a coding parameter with a largest value among the one or more first coding parameters and the one or more second coding parameters as the effective coding parameter; or
obtaining a coding parameter with a weighted averaged value of the one or more first coding parameters and the one or more second coding parameters as the effective coding parameter; and
use the effective coding parameter to encode the plurality of coding block groups in the image frame.
12 . The video encoder of claim 11 , wherein the first coding control model is associated with a first set of model parameters, and the second coding control model is associated with a second set of model parameters.
13 . The video encoder of claim 12 , wherein the one or more processors are further configured to access the memory and execute the computer-executable instructions to:
update the first set of model parameters and the second set of model parameters based on historic coding information.
14 . The video encoder of claim 13 , wherein the historic coding information includes error statistics collected from analyzing an outcome of encoding process.
15 . The video encoder of claim 12 , wherein the one or more processors are further configured to access the memory and execute the computer-executable instructions to:
update at least one of the first set of model parameters or the second set of model parameters using a gradient method, wherein the first set of model parameters are calculated based on a first learning rate, and the second set of model parameters are calculated based on a second learning rate.
16 . The video encoder of claim 12 , wherein the one or more processors are further configured to access the memory and execute the computer-executable instructions to:
update at least one of the first set of model parameters or the second set of model parameters using a sliding window including a sequence of reference image data units, wherein the first set of model parameters are calculated using a first sliding window including a first sequence of reference image data units, and the second set of model parameters are calculated using a second sliding window including a second sequence of reference image data units.
17 . The video encoder of claim 11 ,
wherein the one or more first coding parameters are determined based on a first bit allocation of the first coding block group in the image frame, and the one or more second coding parameters are determined based on a second bit allocation of the second coding block group in the image frame; and wherein the one or more first coding parameters comprise one or more first quantization parameters to encode the first coding block group, and the one or more second coding parameters comprise one or more second quantization parameters to encode the second coding block group.
18 . The video encoder of claim 17 , wherein the one or more processors are further configured to access the memory and execute the computer-executable instructions to:
perform an initial bit allocation for each coding block group in the image frame based on at least one of a target rate for transmitting the image frame or one or more communication constraints; and adjust a bit allocation for one or more coding block groups in the image frame based on a complexity of content in the one or more coding block groups.
19 . The video encoder of claim 11 , wherein:
each coding block group comprises a group of macroblocks, including a slice, a tile, or a row of macroblocks; and the one or more first coding parameters comprise one or more first quantization parameters to encode the first coding block group, and the one or more second coding parameters comprise one or more second quantization parameters to encode the second coding block group.
20 . A method for supporting video coding, comprising:
obtaining an image frame comprising a plurality of image units, wherein each image unit comprises one or more macroblocks; using a plurality of coding control models to estimate a plurality of quantization parameters, wherein each quantization parameter corresponds to a separate one of the plurality of coding control models associated with an image unit in the image frame; determining an effective quantization parameter based on an evaluation of the plurality of quantization parameters, including at least one of:
obtaining a quantization parameter with a largest value among the plurality of quantization parameters as the effective coding parameter; or
obtaining a quantization parameter with a weighted averaged value of the plurality of quantization parameters as the effective coding parameter; and
using the effective quantization parameter to encode the plurality of image units in the image frame.Join the waitlist — get patent alerts
Track US2022086454A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.