Abstract:
An example method of decoding video data includes obtaining, from a video bitstream, a representation of a difference between a motion vector (MV) predictor and a MV that identifies a predictor block for a current block of video data in a current picture; obtaining, from the video bitstream, a syntax element indicating whether adaptive motion vector resolution (AMVR) is used for the current block; determining, based on the representation of the difference between the MV predictor and the MV that identifies the predictor block, a value of the MV; storing the value of the MV at fractional-pixel resolution regardless of whether AMVR is used for the current block and regardless of whether the predictor block is included in the current picture; determining, based on the value of the stored MV, pixel values of the predictor block; and reconstructing the current block based on the pixel values of the predictor block.
Abstract:
A method and apparatus for coding video information are disclosed. In one example, the method may involve: identifying one or more prediction modes for a fixed-rate codec, each prediction mode having a rate-distortion cost; and selecting, for a current block, a prediction mode that has the lowest rate-distortion cost from among the one more prediction modes not previously selected. The method may involve: (i) determining whether the selected prediction mode would result in overflow or underflow of a buffer of the fixed-rate codec; and (ii) determining whether the selected prediction mode would result in remaining bits in the slice being insufficient to code remaining blocks of the slice. The method may involve utilizing a fallback mode to code the current block in response to each of the selected one or more prediction modes resulting in at least one of conditions (i) and (ii) being true.
Abstract:
A method and apparatus for detecting a complex region of an image are disclosed. In one example, the method may involve calculating complexity values for a current block, a next block, and a previous block. The method may involve: (i) detecting that the previous complexity value is less than a first threshold value, and that the next complexity value is greater than a second threshold value; and (ii) determining that neither a transition to the current block nor a transition to the previous block is a flat-to-complex region transition. The method may involve detecting a flat-to-complex region transition when transitioning to the next block in response to (i) and (ii).
Abstract:
Disclosed are techniques for coding coefficients of a video block having a non-square shape defined by a width and a height, comprising coding one or more of x- and y-coordinates that indicate a position of a last non-zero coefficient within the block according to an associated scanning order, including coding each coordinate by determining one or more contexts used to code the coordinate based on one of the width and the height that corresponds to the coordinate, and coding the coordinate by performing a context adaptive entropy coding process based on the contexts. Also disclosed are techniques for coding information that identifies positions of non-zero coefficients within the block, including determining one or more contexts used to code the information based on one or more of the width and the height, and coding the information by performing a context adaptive entropy coding process based on the contexts.
Abstract:
A device for encoding or decoding video data may clip first residual data based on a bit depth of the first residual data. The device may generate second residual data at least in part by applying an inverse Adaptive Color Transform (TACT) to the first residual data. Furthermore, the device may reconstruct, based on the second residual data, a coding block of a coding unit (CU) of the video data.
Abstract:
A device for decoding video data may be configured to determine a block of the video data is coded using a palette-based coding mode; determine a sample of the block of video data is coded using a copy from top mode or an index mode; and decode a greater than zero flag to indicate whether a run value is greater than zero, wherein the run value specifies a number of samples subsequent to the sample that have a same mode as the sample.
Abstract:
Systems, methods, and devices for video coding that may obtain a rectangular chroma block having first and second square sub-blocks are disclosed. These systems, methods, and devices may also decode a first coded block flag (CBF) for the first square sub-block to indicate whether the first square sub-block includes at least one nonzero transform coefficient. These systems, methods, and devices may also decode a second CBF for the second square sub-block to indicate whether the second square sub-block includes at least one nonzero transform coefficient and not decoding a CBF for the rectangular chroma block.
Abstract:
Techniques are described where a current pixel that cannot be palette mode coded in copy above mode and is not coded in a copy index mode is palette mode coded based on a palette index of a diagonal pixel.
Abstract:
A method of decoding video data, the method comprising receiving a run-length sequence indicative of a binary vector, the binary vector comprising indications of locations of escape samples in a block of video data encoded using a palette-based coding mode, decoding the run-length sequence to obtain the binary vector, and decoding the block of video data using the binary vector. The method of claim 1 may further comprise receiving palette entries for the block of video data receiving one or more escape samples, and receiving a plurality of flags indicating the palette mode for each respective pixel in the block of video data.
Abstract:
Techniques are described for coding residual data of a prediction residual block with transform skipping. A transform may be skipped for a residual block when the residual block is coded using either a lossless coding mode or a lossy coding mode in a transform skip mode. According to the techniques, based on a transform being skipped for a residual block, a rotation unit included in a video encoder or a video decoder determines whether to rotate the residual block prior to coding residual data of the residual block. In some examples, a rotation value may be explicitly signaled between the video encoder and the video decoder. In other examples, the video encoder and the video decoder may each independently determine whether to rotate the residual block based on a type of boundary at two or more edges of the residual block.