Abstract:
Systems and methods for interleaving video sub-blocks in video coding are described herein. In one aspect, an apparatus includes a memory and a video coder. The memory stores a first video block and a second video block. The first video block and the second video block include sub-blocks. The video coder processes a first sub-block of the first video block according to a first process and a second process, and processes a second sub-block of the first video block according to the first process and the second process after processing the first sub-block of the first video block according to the first process and the second process. Further, the video coder processes a first sub-block of the second video block according to the first process before processing the second sub-block of the first video block according to the first process.
Abstract:
Provided are techniques for low complexity video coding. For example, a video coder may be configured to calculate a first sum of absolute difference (SAD) value between a coding unit (CU) block and a first corresponding block in a reference frame, and define branching conditions for branching of CU sizes based on the first SAD value, the branching conditions including a background condition and/or a homogeneous condition. The video coder may be configured to detect the background condition if the first SAD value of the CU block is less than a first threshold background value, and detect the homogeneous condition if a second SAD value of a sub-block of the CU block is between upper and lower homogeneous threshold values based on the first SAD value. The branching of the CU sizes may be based on detecting the background or homogeneous conditions.
Abstract:
Techniques are described for determining boundary strength value for an intra-block copy (IBC)-coded block and for selective storage of unfiltered pixel values of a region of a picture based on whether the region will be used as reference for IBC coding.
Abstract:
In an example, a method of processing video data includes determining an input parameter for a truncated binary code that represents a palette index for a pixel of a block of video data based on a number of indices in a palette for the block. The method also includes coding a prefix of the truncated binary code, and determining a palette coding mode for the pixel from a first palette coding mode and a second palette coding mode based only on the prefix of the truncated binary code.
Abstract:
A video coder may determine a search region for coding a current block of video data using Intra Block Copy (Intra BC). In some examples, the video coder determines a central point for the search region, and determines the search region for the current block based on the central point and a defined size for the search region. The video coder stores reconstructed blocks of the video data from a current picture that includes the current block in a memory based on the determined search region. The video coder codes information from which to identify one of the reconstructed blocks within the search region, and codes the current block based on the identified one of the reconstructed blocks according to Intra BC.
Abstract:
A device for decoding video data can be configured to determine a prediction block for a current block of the video data; determine a residual block for the current block of the video data; process residual data of the residual block to determine processed residual data; store the processed residual data; add the prediction block to the residual block to determine a reconstructed block; and perform adaptive loop filtering (ALF) on the reconstructed block, based on the processed residual data.
Abstract:
An example device for encoding high dynamic range (HDR) video data includes a memory configured to store video data; and one or more processors implemented in circuitry and configured to: calculate a histogram for an image of the video data, the image being expressed in a linear light format; encode values for the histogram of the image expressed in the linear light format; and encode the image. Data for the histogram may be expressed in an array of variables having a size of 210×18 bits. The device may encode codewords representing values for bins of the histogram, where the codewords may be selected from a set of codewords for a PQ10 format for HDR images. The bins of the histogram may represent non-equal width ranges.
Abstract:
An example device for encoding high dynamic range (HDR) video data includes a memory configured to store video data; and one or more processors implemented in circuitry and configured to: calculate a histogram for an image of the video data, the image being expressed in a linear light format; encode values for the histogram of the image expressed in the linear light format; and encode the image. Data for the histogram may be expressed in an array of variables having a size of 210×18 bits. The device may encode codewords representing values for bins of the histogram, where the codewords may be selected from a set of codewords for a PQ10 format for HDR images. The bins of the histogram may represent non-equal width ranges.
Abstract:
A video coder determines a plurality of available Matrix Intra Prediction (MIP) parameter sets (MPS's) for a picture of video data. The plurality of available MPS's is a union of (i) a subset of all default MPS's and (ii) a set of additional MPS's that are signaled in the bitstream. Each of the default MPS's is associated with a predefined MIP mode in a codec. Each of the set of additional MPS's is associated with a new MIP mode in a set of new MIP modes. The video decoder uses a MIP mode associated with an MPS in the plurality of available MPS's to generate a prediction block for a current block of the picture.
Abstract:
A video coding device (e.g., a video encoder or a video decoder) is configured to perform various transformations on video data. The video coding device applies a primary transform to a block of the video data, the primary transform having a first size, and the sub-block being at least a portion of the block. The video coding device determines whether application of a secondary transform, having a second size, to a sub-block of the block is allowed. Application of the secondary transform is disallowed when the first size is equal to the second size. Based on the application of the secondary transform being allowed, the video coding device applies the secondary transform to the sub-block. Application of the primary transform and the secondary transform construct a residual block in a pixel domain.