Abstract:
Video data may comprise one or more blocks, each block being associated with a block palette comprising one or more palette entries specifying pixel values used in the block. A block is further divided into a plurality of sub-blocks. A sub-block scanning order for the block and pixel scanning orders for the sub-blocks are adaptively selected, based upon a distribution of pixel values within the block and sub-blocks. Sub-blocks may be associated with sub-block palettes, specifying pointers to palette entries of the block palette. Some sub-blocks may be encoded based upon pixel values of neighboring sub-blocks.
Abstract:
A method for decoding video data provided in a bitstream, where the bitstream includes a coding unit (CU) coded in palette mode, includes: parsing a palette associated with the CU provided in the bitstream; parsing one or more run lengths provided in the bitstream that are associated with the CU; parsing one or more index values provided in the bitstream that associated with the CU; and parsing one or more escape pixel values provided in the bitstream that are associated with the CU. The escape pixel values may be parsed from consecutive positions in the bitstream, the consecutive positions being in the bitstream after all of the run lengths and the index values associated with the CU. The method may further include decoding the CU based on the parsed palette, parsed run lengths, parsed index values, and parsed escape values.
Abstract:
Techniques are described for palette-based video coding. In palette-based coding, a video coder may form a so-called “palette” as a table of colors for representing video data of a given block of video data. Rather than coding actual pixel values or their residuals for the given block, the video coder may code index values for one or more of the pixels. The index values map the pixels to entries in the palette representing the colors of the pixels. Techniques are described for determining the application of deblocking filtering for pixels of palette coded blocks at a video encoder or a video decoder. In addition, techniques are described for determining quantization parameter (QP) values and delta QP values used to quantize escape pixel values of palette coded blocks at the video encoder or the video decoder.
Abstract:
In an example, a method of processing video data includes determining a value of a block-level syntax element that indicates, for all samples of a block of video data, whether at least one respective sample of the block is coded based on a color value of the at least one respective sample not being included in a palette of colors for coding the block of video data. The method also includes coding the block of video data based on the value.
Abstract:
This disclosure describes devices and methods for coding transform coefficients associated with a block of residual video data in a video coding process. Aspects of this disclosure include the selection of a scan order for both significance map coding and level coding, as well as the selection of contexts for entropy coding consistent with the selected scan order. This disclosure proposes a harmonization of the scan order to code both the significance map of the transform coefficients as well as to code the levels of the transform coefficient. It is proposed that the scan order for the significance map should be in the inverse direction (i.e., from the higher frequencies to the lower frequencies). This disclosure also proposes that transform coefficients be scanned in sub-sets as opposed to fixed sub-blocks. In particular, transform coefficients are scanned in a sub-set consisting of a number of consecutive coefficients according to the scan order.
Abstract:
Techniques are described for initializing a Rice parameter used to define codes for coefficient level coding. According to the techniques, the initial value of the Rice parameter is determined for a coefficient group (CG) in a transform block of video data based on statistics of coefficient levels that are gathered for previously coded coefficients of the video data. The statistics may be statistics of absolute values of coefficient levels or remaining absolute values of coefficient levels of previously coded coefficients. A value of the statistics may be initialized to zero at a beginning of a video slice and updated based on coefficient levels coded in each CG of the slice. The statistics may be updated once per CG. In some cases, statistics may be gathered separately for each of a plurality of different categories of CGs that are defined based on characteristics of transform blocks that include the CGs.
Abstract:
In general, techniques are described for implementing an 8-point discrete cosine transform (DCT). An apparatus comprising an 8-point discrete cosine transform (DCT) hardware unit may implement these techniques to transform media data from a spatial domain to a frequency domain. The 8-point DCT 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 DCT 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 internal factor and a fourth internal factor, as well as, the fifth internal factor and a sixth internal factor.
Abstract:
This disclosure proposes various techniques for limiting the number of bins that are coded using an adaptive context model with context adaptive binary arithmetic coding (CABAC). In particular, this disclosure proposes to limit the number of bins that use CABAC for coding level information of transform coefficients in a video coding process.
Abstract:
In general, techniques are described for implementing an 8-point discrete cosine transform (DCT). An apparatus comprising an 8-point discrete cosine transform (DCT) hardware unit may implement these techniques to transform media data from a spatial domain to a frequency domain. The 8-point DCT 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 DCT 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 internal factor and a fourth internal factor, as well as, the fifth internal factor and a sixth internal factor.
Abstract:
A video encoder is configured to determine a first and second binary string for a value indicating the position of the last significant coefficient, within a video block of size T. A video decoder is configured to determine a value indicating the position of a last significant coefficient within a video block of size T based on a first and second binary string. In one example, the first binary string is based on a truncated unary coding scheme defined by a maximum bit length defined by 2 log2(T)−1 and the second binary string is based on a fixed length coding scheme defined by a maximum bit length defined by log2(T)−2.