Abstract:
Techniques are described for palette-based video coding. In palette-based coding, a video coder may form a “palette” as a table of colors for representing video data of a particular area (e.g., a given block). Rather than coding actual pixel values (or their residuals), the video coder may code palette index values for one or more of the pixels that correspond to entries in the palette representing the colors of the pixels. A palette may be explicitly encoded, predicted from previous palette entries, or a combination thereof. In this disclosure, techniques are described for coding a block of video data that has a single color value using a single color mode as a sub-mode of a palette coding mode. The disclosed techniques enable a block having a single color value to be coded with a reduced number of bits compared to a normal mode of the palette coding mode.
Abstract:
Entropy coding techniques for display stream compression (DSC) are disclosed. In one aspect, a method of entropy coding video data includes partitioning a block of the video data into a plurality of groups of samples based at least in part on a coding mode of the block. The method further includes entropy coding the block via performing a group-wise skip on at least one of the groups in response to all of the samples in the at least one group being equal to a predetermined value.
Abstract:
In palette-based coding, a video coder may form a so-called “palette” as a table of colors representing the video data of a given block. The video coder may code index values for one or more pixels values of a current block of video data, where the index values indicate entries in the palette that represent the pixel values of the current block. A method includes determining a number of entries in a palette, and determining whether a block of video data includes any escape pixels not associated with any entry in the palette. The method includes responsive to determining that the number of entries is one, and that the block does not include any escape pixels, bypassing decoding index values for the pixel values of the block, and determining the pixel values of the block to be equal to the one entry in the palette.
Abstract:
An apparatus configured to encode video data comprising a memory configured to store a block of video data and one or more processors in communication with the memory. The one or more processors are configured to determine a coding mode for encoding the block of video data from among one or more coding modes, wherein the coding mode is determined based on a maximum syntax element size, encode the block of video data in a plurality of substreams according to the determined coding mode to create a plurality of encoded substreams of video data, store the plurality of encoded substreams of video data in respective balance first-in, first-out (FIFO) buffers, and multiplex the plurality of encoded substreams in a bitstream for transmitting to a video decoder.
Abstract:
Methods and apparatus for coding video information having a plurality of video samples are disclosed. Blocks for video data are coded by an encoder based upon a quantization parameter (QP) for each block. The video data may be coded in a particular color space, such as YCoCg, wherein different QP values may be used for coding different color components of the video data. Because the human eye is generally more sensitive to differences in luma compared to chroma, and more sensitive to differences in chromatic green than chromatic orange, when the YCoCg color space is used to code the video data, different QP values may be determined for each color component channel. By coding each color component using different QP values, loss from quantization may be reduced while also reducing the appearance of visual artifacts in the coded video data.
Abstract:
A device for decoding video data adds motion information of a neighboring block of a current block to a merge candidate list, wherein the motion information comprises a motion vector of the neighboring block, and wherein the motion vector refers to the current picture; receives an index indicating a merge candidate from the merge candidate list; and in response to the index indicating the merge candidate corresponding to the motion information of the neighboring block, predicts the current block using a lower precision motion vector that represents a rounded version of the motion vector of the neighboring block.
Abstract:
An apparatus configured to decode video data that comprises a memory configured to store the video data; and one or more processors. The one or more processors are configured to: receive a bitstream that is constrained such that escape values used in a palette mode for decoding the video data are no greater than a maximum value, wherein the bitstream includes information for determining at least one escape value representing a sample in a block of the video data to be decoded; and reconstruct the sample in the block of the video data using the information for determining the at least one escape value.
Abstract:
Techniques are described for using pixel values of pixels in a neighboring block as part of palette mode coding. A video decoder may copy pixel values of a pixel in a last row or column of a neighboring block as predictor or reconstructed pixel values for a run of pixels as part of extended index copy run for palette mode coding. The pixel in the last row or column of the neighboring block is the same line as the run of pixels.
Abstract:
A method of encoding video data includes determining that a current block of video data is to be encoded using an intra block copy (BC) mode and constrained intra prediction, determining one or more reference blocks that may be used for encoding the current block using the intra BC mode, wherein each of the one or more reference blocks is encoded with an intra prediction mode, and encoding the current block of video data using the intra BC mode and at least one of the determined one or more reference blocks.
Abstract:
A method of decoding data indicative of a subset of transform coefficients is described. The coefficients are indicative of a block of video data. The method may include determining that no transform coefficient in the subset of transform coefficients has an absolute value greater than one, and, based on the determining, skipping one or more decoding passes on the subset of transform coefficients, the decoding passes relating to decoding level information associated with the subset of transform coefficients.