Abstract:
In an example a method of processing video data includes determining a run value that indicates a run-length of a run of a palette index of a block of video data, wherein the palette index is associated with a color value in a palette of color values for coding the block of video data, the method also includes determining a context for context adaptive coding of data that represents the run value based on the palette index, and coding the data that represents run value from a bitstream using the determined context.
Abstract:
A video encoder generates a first network abstraction layer (NAL) unit. The first NAL unit contains a first fragment of a parameter set associated with video data. The video encoder also generates a second NAL unit. The second NAL unit contains a second fragment of the parameter set. A video decoder may receive a bitstream that includes the first and second NAL units. The video decoder decodes, based at least in part on the parameter set, one or more coded pictures of the video data.
Abstract:
In an example, a method of coding video data includes determining, by a video coder and for a block of video data, a palette having a plurality of entries indicating a plurality of respective color values, wherein a first line of the block of video data includes a pixel located adjacent to an edge of the block of video data, and wherein a second line of the block of video data includes a pixel located adjacent to the edge of the block and adjacent to the pixel of the first line. In this example, the method also includes coding, in a scan order, index values that map pixels of the block to entries in the palette, wherein the pixel of the second line immediately follows the pixel of the first line in the scan order.
Abstract:
A device for coding video data includes a memory configured to store video data, and at least one processor configured to: determine a maximum number of bits to be used when coding a syntax element indicating absolute values of transform coefficients of a coding unit of the video data, determine a maximum number of suffix bits to be used when coding a Golomb-Rice/Exponential-Golomb coding suffix codeword of the syntax element, determine a maximum number of prefix bits to be used when coding a unary Golomb-Rice/Exponential-Golomb coding prefix codeword of the syntax element, determine the absolute values of transform coefficients for the coding unit, code a prefix codeword for one of the absolute values, and code a suffix codeword for the one of the absolute values, and code the coding unit based on the prefix codeword and the suffix codeword.
Abstract:
Techniques coding video data, including a mode for intra prediction of blocks of video data from predictive blocks of video data within the same picture, may include determining a predictive block of video data for the current block of video data, wherein the predictive block of video data is a reconstructed block of video data within the same picture as the current block of video data. A two-dimensional vector, which may be used by a video coder to identify the predictive block of video data, includes a horizontal displacement component and a vertical displacement component relative to the current block of video data. The mode for intra prediction of blocks of video data from predictive blocks of video data within the same picture may be referred to as Intra Block Copy or Intra Motion Compensation.
Abstract:
Techniques are described for updating a value of a Rice parameter used to define Golomb codes for coefficient level coding. The Golomb codes defined by the Rice parameter may be used to code a remaining absolute value of a coefficient level for at least one coefficient in a coefficient group (CG). According to the techniques, the value of the Rice parameter is updated based on a selection of a minimum of either a maximum value of the Rice parameter or a variable increment of the value of the Rice parameter. The variable increment is determined based on the value of the Rice parameter and an absolute value of the coefficient level for the current coefficient being coded. Techniques are also described for adjusting the value of the Rice parameter used to define Golomb codes for coefficient level coding based on whether a transform is applied to a transform block.
Abstract:
In an example, a method of coding video data includes determining a first index value associated with a first pixel in a block of video data, wherein the first index value relates a position of the first pixel to an entry of a palette of pixel values, determining, based on the first index value, one or more second index values associated with one or more second pixels in the block of video data, wherein the second index values relate the positions of the one or more second pixels to one or more entries of the palette of pixel values, and coding the first pixel and the one or more second pixels of the block of video data.
Abstract:
In an example, a method of coding video data includes determining a first palette having first entries indicating first pixel values, determining, based on the first entries of the first palette, one or more second entries indicating second pixel values of a second palette, and coding pixels of a block of video data using the second palette.
Abstract:
This disclosure provides systems, methods and apparatus for sample adaptive offset (SAO) scaling. For example, the apparatus may include a processor configured to determine an offset value for an SAO filter applied to video data to improve reconstruction of signal amplitudes in the video data. The processor may be further configured to determine a first value indicative of a bit depth and a second value indicative of a scale factor for the video data, to provide a scaled offset value based on applying the scale factor to the offset value, and to scale at least one color component of the video data according to the scaled offset value. The processor may also be configured to identify an edge offset category for a scaled group of neighboring pixel values, and to adjust the SAO filter based on the identified edge offset category.
Abstract:
Techniques are described for coding residual data of a prediction residual block in either a lossy or lossless coding mode, in which a transform is skipped or bypassed. The techniques of this disclosure include determining whether to reposition, e.g., rotate or flip, residual data of a residual block prior to coding the residual data of the residual block. For both the lossy and lossless coding modes, a video coding device determines whether to reposition residual data of a residual block based on a prediction mode of the residual block and a size of the residual block. In some examples, the techniques disable repositioning for all residual blocks in the inter-prediction mode and the intra block copying prediction mode, and determine to reposition residual blocks in the intra-prediction mode when the residual blocks have block sizes that are less than or equal to a threshold size.