Abstract:
An apparatus for coding video data according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit is configured to store video data associated with a base layer and a corresponding enhancement layer. The processor is in communication with the memory, and in a case that the video data comprises a particular mode flag, the processor determines (e.g., predicts) an enhancement layer block in the enhancement layer of the video data based at least in part on a co-located block in the base layer of video data while assuming a residual associated with the enhancement layer block in the enhancement layer (the co-located block in the base layer being a predictor for the enhancement layer block) is equal to zero and without transmitting or receiving the residual or transform coefficients, coded block flags or a transform depth associated with the enhancement layer block. The co-located block in the base layer is located at a position in the base layer corresponding to a position of the enhancement layer block in the enhancement layer. The position on the base layer block can be adjusted according to the ratio of the base and enhancement frame resolutions. The processor may encode or decode the video data.
Abstract:
In one embodiment, a video coder for processing video data includes a processor and a memory. The processor is configured to downsample at least prediction mode information of a reference layer block. In addition, the processor is configured to predict at least one of an enhancement layer block or prediction mode information of the enhancement layer block based at least on the prediction mode information of the reference layer block before the processor downsamples the prediction mode information of the reference layer block. The memory is configured to store the prediction mode information of the reference layer block. The prediction mode information of the reference layer block, for example, includes an inter-prediction mode, an intra-prediction mode, or a motion vector of the reference layer block.
Abstract:
A video coder is configured to determine a reference block of a reference picture for prediction of a current block of a current picture using motion information and to generate a set of reference samples for the current block of the current picture. To generate the set of reference samples, the video coder is configured to perform reference sample clipping on the reference block of the reference picture based on a size of the reference picture. The video coder is further configured to generate a prediction block for the current block of the current picture based on the set of reference samples.
Abstract:
Systems and techniques are described for processing video data. For instance, a process can include obtaining video data. The process can further include determining a classification band for a first sample of the video data using at least chroma information from the first sample, collocated luma information and collocated chroma information. The process can also include filtering at least the first sample of the video data based on the classification band.
Abstract:
Systems, methods, and media are provided for loop filtering across raster scan slices. One example includes obtaining the video data comprising one or more pictures and a first block of a picture having a pixel subject to filtering. A second block is determined to be located in the first slice in a particular relation to the second block. A third block that includes pixels for filtering the pixel is determined to be in a second slice at a diagonal corner of the first block, with filtering across slice boundaries disabled. First one or more pixels of the second block are identified as available for performing loop filtering of the pixel and second one or more pixels of the third block identified as unavailable for performing the loop filtering of the pixel of the first block. The first one or more pixels and the second one or more pixels are padded.
Abstract:
Systems and techniques are provided for overlapped block motion compensation (OBMC). A method can include determining an OBMC mode is enabled for a current subblock of video data; for a neighboring subblock(s) adjacent to the current subblock, determining whether a first, second and third condition are met, the first condition comprising that all reference picture lists for predicting the current subblock are used to predict the neighboring subblock; the second condition comprising that identical reference pictures are used to determine motion vectors associated with the current subblock and the neighboring subblock, and the third condition comprising that a difference between motion vectors of the current subblock and the neighboring subblock do not exceed a threshold; and based on determining that the OBMC mode is enabled and the first, second, and third conditions are met, determining not to use motion information of the neighboring subblock for motion compensation of the current subblock.
Abstract:
A video coder can be configured to code video data by determining a first block size threshold for a block of video data; determining a second block size threshold, wherein the second block size threshold is smaller than the first block size threshold; partitioning the block of video data into smaller sub-blocks; in response to determining that a first partition of the partitioned block is smaller or equal to the first block size threshold, determining that blocks within the partition belong to a parallel estimation area; and in response to determining that a second partition of the partitioned block is smaller or equal to the second block size threshold, determining that blocks within the second partition belong to an area for a shared candidate list.
Abstract:
Systems, methods, and computer-readable storage media for signaling filters for reference picture resampling are described. One example involves obtaining an encoded video bitstream associated with the video data, identifying a current picture and at least one reference picture from the encoded video bitstream, and identifying signaling data from the encoded video bitstream for the video data, the signaling data including a partial set of coefficient data for at least one filter. A complete set of coefficients (e.g., filter coefficients) is derived for the at least one filter from the partial set of coefficient data and characteristics of the at least one filter, and the current picture is processed using the complete set of coefficients for the at least one filter.
Abstract:
Systems, methods, and computer-readable storage media for calculating scaling ratios are described. An example method can include obtaining a current picture of video data and one or more scaling windows associated with the current picture and/or a reference picture selected for use in coding the current picture; determining a first size of the current picture and/or a second size of the reference picture, the first size including a first height and a first width and the second size including a second height and a second width; based on the one or more scaling windows and the first size and/or the second size, determining one or more scaling ratios associated with the current picture and/or the reference picture.
Abstract:
Systems, methods, and media are provided for loop filtering across raster scan slices. One example includes obtaining data comprising one or more pictures, including obtaining a first block located in a first slice of one of the pictures. The example then includes determining a second block is located in a second slice of the picture, the second block including one or more pixels for use in performing loop filtering of a pixel of the first block, and determining that loop filtering across slice boundaries is disabled. Based on this disabling, the example determines that the one or more pixels of the second block are unavailable for performing loop filtering of the pixel of the first block, and duplicates at least one pixel of the first block or at least one pixel of an additional block of the first slice for performing loop filtering of the pixel of the first block.