Abstract:
Techniques and systems are provided for deriving one or more sets of affine motion parameters at a decoder. For example, the decoder can obtain video data from an encoded video bitstream. The video data includes at least a current picture and a reference picture. The decoder can determine a set of affine motion parameters for a current block of the current picture. The set of affine motion parameters can be used for performing motion compensation prediction for the current block. The set of affine motion parameters can be determined using a current affine template of the current block and a reference affine template of the reference picture. In some cases, an encoder can determine a set of affine motion parameters for a current block using a current affine template of the current block and a reference affine template of the reference picture, and can generate an encoded video bitstream that includes a syntax item indicating template matching based affine motion derivation mode is to be used by a decoder for the current block. The encoded video bitstream may not include any affine motion parameters for determining the set of affine motion parameters.
Abstract:
Methods and systems for processing video data are provided. For example, a video bitstream can be obtained that includes a video frame of a spherical representation of 360-degree video data. The video frame can include a planar surface of a geometry, and the planar surface can include a plurality of pixels. Three-dimensional coordinates of a target point of the spherical representation can be determined. A planar surface of the geometry to which the target point is to be mapped can also be determined. The planar surface can be determined based on the three-dimensional coordinates of the target point. Two-dimensional coordinates of a mapping location on the planar surface to which the target point is to be mapped can be determined based on the three-dimensional coordinates of the target point and an adaptation parameter. A pixel value can then be generated based on one or more pixels associated with the mapping location. The pixel value can be assigned to the target point.
Abstract:
Methods and systems for processing video data are provided. In one example, a first video bitstream can be obtained, which can include video frames of a spherical representation of 360-degree video data. Two-dimensional pixel coordinates of a pixel location of a planar surface of a geometry can be determined. The planar surface can be part of a plurality of planar surfaces of the geometry. Two-dimensional normalized coordinates can be determined for the pixel location based on an adaptation parameter and the two-dimensional pixel coordinates. Three-dimensional coordinates of a sample point of the spherical representation of the 360-degree video data can be determined based on the two-dimensional normalized coordinates. A pixel value for the pixel location of the planar surface of the geometry can be determined based on the sample point, and a second video bitstream can be generated that includes pixel values determined for pixel locations of the plurality of planar surfaces of the geometry.
Abstract:
Systems, methods, and apparatus are provided for adaptively switching interpolation filters during the encoding of video data or the decoding of a video bitstream. In various implementations, a set of interpolation filters can be defined and made available to coding device. The coding device can select an interpolation filter for a given coding unit. The interpolation filter can be selected based on, for example, the coding level of the coding unit, among other things. In some examples, signaling of the selected interpolation filter can be simplified by selecting a subset of the set of interpolation filters for a given coding situation. An index indicating an interpolation filter from the subset can then be signaled. Alternatively, a decoder can derive an identity of the interpolation filter from data provided by a bitstream, in which case the index need not be explicitly signaled in the bitstream.
Abstract:
Systems, methods, and computer readable media are described for processing content color volume messages. In some examples, video data is obtained. The video data can include video data obtained from a camera, encoded video data, or decoded video data. Content color volume information associated with the video data is processed. The content color volume information is indicative of the content color volume of one or more pictures of the video data. For example, the content color volume information includes a first luminance value associated with a minimum luminance of the one or more pictures, a second luminance value associated with a maximum luminance of the one or more pictures, and one or more chromaticity coordinates of one or more color primaries describing a color gamut of the one or more pictures.
Abstract:
An apparatus configured to construct a reference picture list includes a memory and one or more processors in communication with the memory. The memory is configured to store one or more reference pictures. The one or more processors are configured to determine (i) a first number representative of a total number of reference pictures available for prediction in at least one of inter mode or intra block copy mode and (ii) a second number representative of a total number of reference pictures to be included in the reference picture list, and in response to a determination that the second number is greater than or equal to the first number, refrain from replacing a reference picture in the reference picture list with a current picture to be predicted. The one or more processors may encode or decode the current picture based on the reference picture list.
Abstract:
A method of coding video data can include receiving video information associated with a reference layer, an enhancement layer, or both, and generating a plurality of inter-layer reference pictures using a plurality of inter-layer filters and one or more reference layer pictures. The generated plurality of inter-layer reference pictures may be inserted into a reference picture list. A current picture in the enhancement layer may be coded using the reference picture list. The inter-layer filters may comprise default inter-layer filters or alternative inter-layer filters signaled in a sequence parameter set, video parameter set, or slice header.
Abstract:
An apparatus configured to code (e.g., encode or decode) video information includes a memory unit and a processor in communication with the memory unit. The memory unit is configured to store video information associated with a base layer and an enhancement layer. The processor is configured to up-sample a base layer reference block by using an up-sampling filter when the base and enhancement layers have different resolutions; perform motion compensation interpolation by filtering the up-sampled base layer reference block; determine base layer residual information based on the filtered up-sampled base layer reference block; determine weighted base layer residual information by applying a weighting factor to the base layer residual information; and determine an enhancement layer block based on the weighted base layer residual information. The processor may encode or decode the video information.
Abstract:
Systems, methods, and devices for coding video data are described herein. In some aspects, a memory is configured to store the video data associated with a base layer and an enhancement layer. The base layer may comprise a reference block and base layer motion information associated with the reference block. The enhancement layer may comprise a current block. A processor operationally coupled to the memory is configured to determine a position of the base layer motion information in a candidate list based on a prediction mode in a plurality of prediction modes used at the enhancement layer. The processor is further configured to perform a prediction of the current block based at least in part on the candidate list.
Abstract:
An apparatus for coding video information according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit stores video information associated with a reference layer and a corresponding enhancement layer. The processor determines a value of a video unit positioned at a position within the enhancement layer based at least in part on an intra prediction value weighted by a first weighting factor, wherein the intra prediction value is determined based on at least one additional video unit in the enhancement layer, and a value of a co-located video unit in the reference layer weighted by a second weighting factor, wherein the co-located video unit is located at a position in the reference layer corresponding to the position of the video unit in the enhancement layer. In some embodiments, the at least one of the first and second weighting factors is between 0 and 1.