US2022086454A1PendingUtilityA1

System and method for reducing video coding fluctuation

Assignee: SZ DJI TECHNOLOGY CO LTDPriority: Nov 30, 2017Filed: Nov 29, 2021Published: Mar 17, 2022
Est. expiryNov 30, 2037(~11.3 yrs left)· nominal 20-yr term from priority
H04N 21/23805H04N 19/159H04N 19/126H04N 19/103H04N 19/17H04N 19/174H04N 19/115H04N 19/149
56
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
What 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.