Abstract:
A video encoder is configured to determine whether to enable or disable an integer motion vector precision restriction and whether to enable or disable an illumination compensation (IC) tool by: for a large search range in a reference picture, performing first motion estimation tests, wherein performing the first motion estimation tests comprises performing motion estimation tests only with the IC tool disabled and the integer motion vector precision restriction disabled and with the IC tool enabled and the integer motion vector precision restriction disabled; based on the first motion estimation tests, determining a small search range, wherein the small search range is smaller than the large search range; for the small search range, performing second motion estimation tests; and based on the second motion estimation tests, determining whether to enable or disable the integer motion vector precision restriction and whether to enable or disable the IC tool.
Abstract:
Techniques and systems are provided for processing video data. For example, a current block of a picture of the video data can be obtained for processing by an encoding device or a decoding device. A pre-defined set of weights for template matching based motion compensation are also obtained. A plurality of metrics associated with one or more spatially neighboring samples of the current block and one or more spatially neighboring samples of at least one reference frame are determined. A set of weights are selected from the pre-defined set of weights to use for the template matching based motion compensation. The set of weights is determined based on the plurality of metrics. The template matching based motion compensation is performed for the current block using the selected set of weights.
Abstract:
Techniques and systems are provided for processing video data. For example, a current block of a picture of the video data can be obtained for processing by an encoding device or a decoding device. A parameter of the current block can be determined. Based on the determined parameter of the current block, at least one or more of a number of rows of samples or a number columns of samples in a template of the current block and at least one or more of a number of rows of samples or a number columns of samples in a template of a reference picture can be determined. Motion compensation for the current block can be performed. For example, one or more local illumination compensation parameters can be derived for the current block using the template of the current block and the template of the reference picture.
Abstract:
A video coder, such as a video encoder or a video decoder, may use reference pixels in a first picture to pad pixels outside a picture boundary of a second picture. The second picture is a different picture from the first picture. The padded pixels are in a padding area surrounding the second picture. The video coder may encode or decode one or more blocks of the video data based on the padded pixels.
Abstract:
A video encoder reconstructs pixels of a current block and applies a deblocking filter to the reconstructed pixels of the current block to derive deblocking-filtered reconstructed pixels of the current block. Furthermore, the video encoder calculates distortion values based on values of the deblocking-filtered reconstructed pixels of the current block and original pixels of the current block. The video encoder selects, based on the calculated distortion values, an encoding mode for the current block. The encoding mode for the current block is a partitioning mode for the current block or a coding unit mode for the current block.
Abstract:
Techniques are described to increase the coding efficiency of information indicating a sign of a motion vector difference (MVD) component. A video coder may determine a MVD component sign predictor, and determine whether the MVD component sign predictor is the MVD component sign based on an indicator that is transmitted or received. In some examples, the indicator may be context coded, which promotes coding efficiencies.
Abstract:
Techniques and systems are provided for deriving one or more sets of affine motion parameters at a decoder. For example, the decoder can obtain video data from an encoded video bitstream. The video data includes at least a current picture and a reference picture. The decoder can determine a set of affine motion parameters for a current block of the current picture. The set of affine motion parameters can be used for performing motion compensation prediction for the current block. The set of affine motion parameters can be determined using a current affine template of the current block and a reference affine template of the reference picture. In some cases, an encoder can determine a set of affine motion parameters for a current block using a current affine template of the current block and a reference affine template of the reference picture, and can generate an encoded video bitstream that includes a syntax item indicating template matching based affine motion derivation mode is to be used by a decoder for the current block. The encoded video bitstream may not include any affine motion parameters for determining the set of affine motion parameters.
Abstract:
Motion compensated prediction using affine motion models can be used to improve coding efficiency. In a practical encoder/decoder, a line buffer is used to store associated data for neighboring blocks. Embodiments of affine model based motion compensated prediction include methods and systems of determining motion vectors for control points that are aware of line buffer storage limitations.
Abstract:
A video coder may determine a motion vector of a non-adjacent block of a current picture of the video data. The non-adjacent block is non-adjacent to a current block of the current picture. Furthermore, the video coder determines, based on the motion vector of the non-adjacent block, a motion vector predictor (MVP) for the current block. The video coder may determine a motion vector of the current block. The video coder may also determine a predictive block based on the motion vector of the current block.
Abstract:
A video decoder selects a source affine block. The source affine block is an affine-coded block that spatially neighbors a current block. Additionally, the video decoder extrapolates motion vectors of control points of the source affine block to determine motion vector predictors for control points of the current block. The video decoder inserts, into an affine motion vector predictor (MVP) set candidate list, an affine MVP set that includes the motion vector predictors for the control points of the current block. The video decoder also determines, based on an index signaled in a bitstream, a selected affine MVP set in the affine MVP set candidate list. The video decoder obtains, from the bitstream, motion vector differences (MVDs) that indicate differences between motion vectors of the control points of the current block and motion vector predictors in the selected affine MVP set.