Abstract:
A prediction unit (PU) of a coding unit (CU) is split into two or more sub-PUs including a first sub-PU and a second sub-PU. A first motion vector of a first type is obtained for the first sub-PU and a second motion vector of the first type is obtained for the second sub-PU. A third motion vector of a second type is obtained for the first sub-PU and a fourth motion vector of the second type is obtained for the second sub-PU, such that the second type is different than the first type. A first portion of the CU corresponding to the first sub-PU is coded according to advanced residual prediction (ARP) using the first and third motion vectors. A second portion of the CU corresponding to the second sub-PU is coded according to ARP using the second and fourth motion vectors.
Abstract:
In an example, method of encoding video data may include receiving a block of video data having a size. The method may include determining the size of the block of video data. The method may include disabling palette mode encoding for the block of video data based on the determined size of the block of video data.
Abstract:
In one example, a device includes a memory configured to store video data and a video decoder configured to decode an exponential Golomb codeword representative of at least a portion of a value for an escape pixel of a palette-mode coded block of video data, the video decoder is configured to decode the exponential Golomb codeword using exponential Golomb with parameter 3 decoding, and decode the block using the value for the escape pixel.
Abstract:
A device for coding video data includes a memory storing video data and a video coder including one or more processors configured to determine a current coding unit of the video data is coded in a palette mode; determine a palette for the coding unit by, for a first entry of the palette, choosing a predictor sample from a reconstructed neighboring block of the coding unit and coding a difference between one or more color values of the first entry and one or more color values of the predictor sample.
Abstract:
A video coder determines, based at least in part on a distance between a current sub-block of a transform coefficient block and a sub-block that contains a last significant coefficient (LSC) of the transform coefficient block, coding contexts for significance flags for transform coefficients of the current sub-block. Furthermore, the video coder entropy codes, based on the coding contexts for the significance flags for the transform coefficients of the current sub-block, the significance flags for the transform coefficients of the current sub-block.
Abstract:
A device performs a disparity vector derivation process to determine a disparity vector for a current block. As part of performing the disparity vector derivation process, when either a first or a second spatial neighboring block has a disparity motion vector or an implicit disparity vector, the device converts the disparity motion vector or the implicit disparity vector to the disparity vector for the current block. The number of neighboring blocks that is checked in the disparity vector derivation process is reduced, potentially resulting in decreased complexity and memory bandwidth requirements.
Abstract:
Techniques are described for providing continuous control of a deblocking filter for a video block using a beta offset parameter. Deblocking filters are defined based on one or more deblocking decisions. Conventionally, a quantization parameter and a beta offset parameter are used to identify a beta parameter (“β”) value that determines threshold values of the deblocking decisions. The value of the beta offset parameter results in a change or increment of the β value. For small increments of the β value, rounding of the threshold values may result in no change and discontinuous control of the deblocking decisions. The techniques include calculating at least one deblocking decision for the deblocking filter according to a threshold value that has been modified based on a multiplier value of the beta offset parameter. The multiplier value applied to the beta offset parameter causes an integer change in the modified threshold value.
Abstract:
A video decoder determines, based at least in part on a size of a prediction unit (PU), whether to round either or both a horizontal or a vertical component of a motion vector of the PU from sub-pixel accuracy to integer-pixel accuracy. The video decoder generates, based at least in part on the motion vector, a predictive sample block for the PU and generates, based in part on the predictive sample block for the PU, a reconstructed sample block.
Abstract:
In general, techniques are described for implementing an 8-point inverse discrete cosine transform (IDCT). An apparatus comprising an 8-point inverse discrete cosine transform (IDCT) hardware unit may implement these techniques to transform media data from a frequency domain to a spatial domain. The 8-point IDCT hardware unit includes an even portion comprising factors A, B that are related to a first scaled factor (μ) in accordance with a first relationship. The 8-point IDCT hardware unit also includes an odd portion comprising third, fourth, fifth and sixth internal factors (G, D, E, Z) that are related to a second scaled factor (η) in accordance with a second relationship. The first relationship relates the first scaled factor to the first and second internal factors. The second relationship relates the second scaled factor to the third, fourth, fifth and sixth internal factors.
Abstract:
An apparatus for coding video data according to certain aspects includes a memory and a processor in communication with the memory. The memory stores video block information. The video block information includes reference layer block information. The processor determines, based on a parameter of the video block information, a transform function that may be used to code the video block information. The processor may encode or decode the video block information. The transform function may be an alternative transform when the parameter is a predetermined value and a primary transform when the parameter is not the predetermined value. The alternative transform includes one of: a discrete-sine-transform (DST), a Type-I DST, a Type-III DST, a Type-IV DST, a Type-VII DST, a discrete-cosine-transform (DCT), a DCT of different types, and a Karhunen-Loeve transform (KLT).