Abstract:
A device for encoding video data may be configured to encode video data according to a set of sample adaptive offset (SAO) types; perform a plurality of coding passes to test a subset of the SAO types for a first block of video data, wherein the subset is smaller than the set; select from the subset of SAO types an SAO type for the first block of video data; and generate for inclusion in an encoded bitstream, information for identifying the selected SAO type for the first block.
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:
In an example, a method of decoding video data includes determining a prediction partitioning structure for predicting pixel values associated with a block of video data. The method also includes determining a transform partitioning structure for applying one or more transforms to the predicted pixel values. Determining the transform split structure includes splitting a parent transform unit, upon determining the transform partitioning structure comprises splitting the parent transform unit into one or more square transforms, determining one or more square transforms such that each of the one or more square transforms correspond to exactly one prediction partition, and upon determining the transform partitioning structure comprises splitting the parent transform unit into one or more non-square transforms, determining whether to split the one or more non-square transforms based at least in part on the one or more non-square transforms being non-square.
Abstract:
A video encoding device comprises a memory configured to store video data and at least one processor configured to: select one of a full rate-distortion (RD) checking scheme or a fast RD checking scheme, determine an RD cost associated with encoding a block of the video data based on the selected full RD checking scheme or fast RD checking scheme, determine a partitioning scheme for the block based on the determined RD cost, and encode the block using the determined partitioning scheme based on the determined RD cost.
Abstract:
A device for encoding video data may be configured to encode video data according to a set of sample adaptive offset (SAO) types; perform a plurality of coding passes to test a subset of the SAO types for a first block of video data, wherein the subset is smaller than the set; select from the subset of SAO types an SAO type for the first block of video data; and generate for inclusion in an encoded bitstream, information for identifying the selected SAO type for the first block.
Abstract:
A video coder performs a padding operation that processes a set of border pixels according to an order. The order starts at a bottom-left border pixel and proceeds through the border pixels sequentially to a top-right border pixel. When the padding operation processes an unavailable border pixel, the padding operation predicts a value of the unavailable border pixel based on a value of a border pixel previously processed by the padding operation. The video coder may generate an intra-predicted video block based on the border pixels.
Abstract:
A computing device determines whether a prediction unit (PU) in a B slice is restricted to uni-directional inter prediction. In addition, the computing device generates a merge candidate list for the PU and determines a selected merge candidate in the merge candidate list. If the PU is restricted to uni-directional inter prediction, the computing device generates a predictive video block for the PU based on no more than one reference block associated with motion information specified by the selected merge candidate. If the PU is not restricted to uni-directional inter prediction, the computing device generates the predictive video block for the PU based on one or more reference blocks associated with the motion information specified by the selected merge candidate.
Abstract:
Provided are techniques for low complexity video coding. For example, a video coder may be configured to calculate a first sum of absolute difference (SAD) value between a coding unit (CU) block and a first corresponding block in a reference frame, and define branching conditions for branching of CU sizes based on the first SAD value, the branching conditions including a background condition and/or a homogeneous condition. The video coder may be configured to detect the background condition if the first SAD value of the CU block is less than a first threshold background value, and detect the homogeneous condition if a second SAD value of a sub-block of the CU block is between upper and lower homogeneous threshold values based on the first SAD value. The branching of the CU sizes may be based on detecting the background or homogeneous conditions.
Abstract:
Techniques for coding video data include coding sample adaptive offset (SAO) offset values as part of performing a video coding process. In particular, the techniques include determining the SAO offset values according to a SAO process. The techniques further include storing a codebook defining a plurality of codes for coding different variations of SAO offset values. The techniques also include coding the SAO offset values in accordance with the codebook so as to specify the SAO offset values as one of the plurality of codes defined by the codebook.
Abstract:
A method of coding delta quantization parameter values is described. In one example a video decoder may receive a delta quantization parameter (dQP) value for a current quantization block of video data, wherein the dQP value is received whether or not there are non-zero transform coefficients in the current quantization block. In another example, a video decoder may receive the dQP value for the current quantization block of video data only in the case that the QP Predictor for the current quantization block has a value of zero, and infer the dQP value to be zero in the case that the QP Predictor for the current quantization block has a non-zero value, and there are no non-zero transform coefficients in the current quantization block.