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:
An example method of decoding video data includes determining a palette for decoding a block of video data, where the palette includes one or more palette entries each having a respective palette index, determining a first plurality of palette indices for first pixels of the block of video data, enabling a palette coding mode based on a run length of a run of a second plurality of palette indices for second pixels of the block of video data being decoded relative to the first plurality of palette indices meeting a run length threshold, and decoding the run of the second plurality of palette indices relative to the first plurality of palette indices using the palette coding mode.
Abstract:
A video coder transforms, based on a difference between a bit depth of an initial luma sample and a bit depth of initial chroma samples, a set of initial samples to a set of modified samples. The set of initial samples may include the initial luma sample and the initial chroma samples. The initial chroma samples may include an initial Cb sample and an initial Cr sample. The set of modified samples may include a modified luma sample and modified chroma samples. The modified chroma samples may include a modified Cb sample and a modified Cr sample. Additionally, the video coder adds the modified samples to corresponding samples of a predictive block to produce reconstructed samples.
Abstract:
An example device for decoding encoded video data includes storage media and processing circuitry. The storage media are configured a portion of the encoded video data. The processing circuitry is configured to determine a block-level threshold for the portion of the encoded video data stored to the storage media, to determine that an encoded block of the portion of the encoded video data has a size that is equal to or greater than the threshold, to receive a syntax element indicating that a portion of the encoded block is to be reconstructed using a coding tool, to determine, based on the encoded block having the size that is equal to or greater than the threshold, that the syntax element applies to all samples of a plurality of samples included in the encoded block, and to reconstruct the encoded block based on the coding tool.
Abstract:
In one example, an apparatus for encoding video data includes a video encoder configured to select an intra-prediction mode to use to encode a block of video data, determine whether the block includes a sub-block of a size for which multiple transforms are possible based on the size of the sub-block and the selected intra-prediction mode, when the block includes the sub-block of the size for which multiple transforms are possible based on the size of the sub-block and the selected intra-prediction mode, select one of the multiple possible transforms, transform the sub-block using the selected one of the multiple possible transforms, and provide an indication of the selected one of the multiple possible transforms for the size of the block.
Abstract:
A video coder applies a residual differential pulse code modulation technique to a residual data of a block coded using lossy coding. The block may be coded without application of a transform to the residual data.
Abstract:
Systems and methods are disclosed for calculating a distortion value of a frame or block, in a number of color spaces, and determining an optimal coding mode based on the calculated distortion values. One embodiment includes a system having a video source that includes a video camera or a video archive that contains previously stored video content, and a processor configured to encode the stored video content.
Abstract:
A video coder can be configured to code a random access point (RAP) picture and code one or more decodable leading pictures (DLPs) for the RAP picture such that all pictures that are targeted for discard precede the DLPs associated with the RAP picture in display order.
Abstract:
This disclosure describes video encoding and decoding techniques in which a first order prediction process and a second order prediction process are used in combination to generate predictive video blocks for video coding. First order prediction may be similar to conventional motion estimation and motion compensation that generates residual video blocks. The second order prediction may involve a process similar to conventional intra-prediction, but is performed on the residual video blocks. The techniques of this disclosure may pre-define the second order prediction to a specific mode, such as a mode similar to the intra-DC mode used in intra coding. In addition, the techniques of this disclosure may combine aspects of the first order and second order prediction into a single process so that the effects of second order prediction on the residuals are taken into account during the first order prediction process, which may improve compression.
Abstract:
A device for decoding video data includes a memory configured to store the video data and one or more processors configured to receive a slice of the video data, parse an intra block copy (IBC) syntax element to determine that an IBC mode is enabled for the slice, parse a slice type syntax element associated with the slice to determine the slice is an I slice, and decode the slice as an I slice by decoding all blocks of the slice using intra prediction coding modes.