Abstract:
A video coding device may be configured to estimate, based on a combination of a first parameter and a number of non-zero coefficients in a frame, a number of bits for non-zero coefficients of the frame, to encode the frame based on the estimated number of bits for the non-zero coefficients, to collect an actual number of bits used to encode the non-zero coefficients of the frame and an actual number of the non-zero coefficients in the frame, to update, based on the actual number of bits used to encode the non-zero coefficients of the frame and the actual number of non-zero coefficients in the frame, only the first parameter to form an updated first parameter, to form a rate estimation model using the updated first parameter and a second parameter, and to select, based on the rate estimation model, a coding mode for each block in the frame.
Abstract:
A video coding device may be configured to estimate, based on a combination of a first parameter and a number of non-zero coefficients in a frame, a number of bits for non-zero coefficients of the frame, to encode the frame based on the estimated number of bits for the non-zero coefficients, to collect an actual number of bits used to encode the non-zero coefficients of the frame and an actual number of the non-zero coefficients in the frame, to update, based on the actual number of bits used to encode the non-zero coefficients of the frame and the actual number of non-zero coefficients in the frame, only the first parameter to form an updated first parameter, to form a rate estimation model using the updated first parameter and a second parameter, and to select, based on the rate estimation model, a coding mode for each block in the frame.
Abstract:
In general, techniques are described for reducing the complexity of mode selection when selecting from multiple, different prediction modes. A video coding device comprising a processor may perform the techniques. The processor may compute approximate costs for a pre-defined set of intra-prediction modes identified in a current set. The current set of intra-prediction modes may include fewer modes than a total number of intra-prediction modes. The processor may compare approximate costs computed for one or more most probable intra-prediction modes to a threshold and replace one or more of the intra-prediction modes of the current set with one or more most probable intra-prediction modes. The processor may perform rate distortion analysis with respect to each intra-prediction mode identified in the current set and perform intra-prediction coding with respect to the current block using a mode of the current set.
Abstract:
A video coding device may be configured to estimate, based on a combination of a first parameter and a number of non-zero coefficients in a frame, a number of bits for non-zero coefficients of the frame, to encode the frame based on the estimated number of bits for the non-zero coefficients, to collect an actual number of bits used to encode the non-zero coefficients of the frame and an actual number of the non-zero coefficients in the frame, to update, based on the actual number of bits used to encode the non-zero coefficients of the frame and the actual number of non-zero coefficients in the frame, only the first parameter to form an updated first parameter, to form a rate estimation model using the updated first parameter and a second parameter, and to select, based on the rate estimation model, a coding mode for each block in the frame.
Abstract:
In general, techniques are described for reducing the complexity of mode selection when selecting from multiple, different prediction modes. A video coding device comprising a processor may perform the techniques. The processor may compute approximate costs for a pre-defined set of intra-prediction modes identified in a current set. The current set of intra-prediction modes may include fewer modes than a total number of intra-prediction modes. The processor may compare approximate costs computed for one or more most probable intra-prediction modes to a threshold and replace one or more of the intra-prediction modes of the current set with one or more most probable intra-prediction modes. The processor may perform rate distortion analysis with respect to each intra-prediction mode identified in the current set and perform intra-prediction coding with respect to the current block using a mode of the current set.
Abstract:
This disclosure describes techniques for achieve high coding efficiency by periodically encoding anchor frames with a lower Quantization Parameter (QP) to provide better prediction for the following frames. Techniques include adaptively deciding which frames are encoded with lower QP by use of the collected encoding statistics via an encoding scheme with or without rate control.
Abstract:
A computing device, such as a video encoder, determines an initial quantized level for a coefficient of a coefficient block and determines whether the coefficient is less than the product of the initial quantized level and a quantization step size value. In response to determining that the coefficient is less than the product of the initial quantized level and the quantization step size value, the computing device determines rate-distortion costs of quantizing the coefficient to be the initial quantized level for the coefficient, the initial quantized level minus one, and in some circumstances, 0. The computing device determines an actual quantized level for the coefficient based at least in part on the calculated rate-distortion costs and includes the actual quantized level in a quantized version of the coefficient block.
Abstract:
A computing device, such as a video encoder, uses respective positions of respective coefficients in a coefficient block to look up, in a lookup table, respective quantization offsets for the respective coefficients. Furthermore, the computing device determines, based at least in part on the quantization offsets for the one or more coefficients, respective quantized levels for the respective coefficients.
Abstract:
Systems and methods for low complexity forward transforms using mesh-based calculations are described herein. One aspect of the subject matter described in the disclosure provides a video encoder comprising a memory configured to store video information. The video encoder further comprises a processor in communication with the memory. The processor is configured to decompose a transform into multiple transform stages. The processor is further configured to transform the video information using the multiple stages to determine a transform stage output at each transform stage. The processor is further configured to constrain the transform stage output at each transform stage to a predetermined bit depth. The processor is further configured to perform operations on the constrained transform output of a last stage of the multiple stages, wherein the operations are only available for use with data having the predetermined bit depth.
Abstract:
Systems and methods for low complexity forward transforms using zeroed-out coefficients are described herein. One aspect of the subject matter described in the disclosure provides a video encoder comprising a memory configured to store a video block. The video encoder further comprises a processor in communication with the memory. The processor is configured to determine a full power value of the video block. The processor is further configured to determine a reduced transform coefficient matrix, wherein the reduced transform coefficient matrix comprises an inner region of zero or non-zero values of the same inner region of a full transform coefficient matrix and an outer region of zero values, wherein the reduced transform coefficient matrix and the full transform coefficient matrix have the same size. The processor is further configured to determine a partial power value of the video block using the reduced transform coefficient matrix. The processor is further configured to transform the video block from a pixel domain to a coefficient domain using the reduced transform coefficient matrix based on the full power value and partial power value. The processor is further configured to encode the transformed video block.