Abstract:
A current block of a video frame can be encoded or decoded using parameterized motion models. First and second parameterized motion models are identified. The first parameterized motion model corresponds to a first motion model type, and the second parameterized motion model corresponds to a second motion model type. The first and second parameterized motion models are associated with one or more reference frames. One of the first or second parameterized motion models is selected along with an associated reference frame, such as based on a lowest prediction error. A motion vector is generated between the current block and the selected reference frame by warping pixels of the current block to a warped patch of the selected reference frame according to the selected parameterized motion model. A prediction block is generated using the motion vector, and the current block is encoded or decoded using the prediction block.
Abstract:
Combining intra-frame and inter-frame prediction is described. A first combined prediction block for a first block is formed by combining weighted pixel values of a first inter prediction block and a first intra prediction block. A second combined prediction block is formed by combining pixel values of a second intra prediction block and a second inter prediction block. The first intra prediction block and the second intra prediction block have pixel dimensions corresponding to the first block. The pixel values of the second inter prediction block have pixel locations corresponding to a first partitioned area formed by an oblique line extending across the first block, and the pixel values of the second intra prediction block used in forming the second combined prediction block have pixel locations corresponding to a second partitioned area formed by the oblique line. One of the combined prediction blocks is selected to encode the first block.
Abstract:
Encoding or decoding blocks of video frames using locally adaptive warped motion compensation can include determining projection samples for predicting a warped motion of a current block to be encoded or decoded based on a warping model of a neighbor block adjacent to the current block. Parameters of a projection model can be determined based on the projection samples. A prediction block can be generated by projecting pixels of the current block to a warped patch within a reference frame using the parameters of the projection model. The warped patch can be a non-rectangular patch having a shape and a position in the reference frame indicated by the parameters of the projection model.
Abstract:
Encoding or decoding a video signal includes determining multiple candidate motion vectors for a current block, the candidate motion vectors including a first motion vector used to predict a collocated block within a first frame. A reference frame identifier associated with the first motion vector can be compared to a reference buffer index of a reference frame used to predict the current block of a second frame. On the condition that the reference frame identifier is the same as the reference buffer index, the first motion vector is advanced ahead of remaining ones of the multiple candidate motion vectors.
Abstract:
Encoding or decoding a video signal includes determining multiple candidate motion vectors for a current block, the candidate motion vectors including a first motion vector used to predict a collocated block within a first frame. A reference frame identifier associated with the first motion vector can be compared to a reference buffer index of a reference frame used to predict the current block of a second frame. On the condition that the reference frame identifier is the same as the reference buffer index, the first motion vector is advanced ahead of remaining ones of the multiple candidate motion vectors.
Abstract:
A method and system may identify a video data block using a video codec and apply a transform kernel of a butterfly asymmetric discrete sine transform (ADST) to the video data block in a pipeline.
Abstract:
A combined depth map is generated for a monoscopic image based on a weighted combination of a color depth map, a spatial depth map, and a motion depth map for the image, each describing the depth of pixels in the image relative to the image plane. The color depth map determines the depth of pixels according to their color, the spatial depth map determines the depth of pixels according to their location in the image, and the motion depth map determines the depth of pixels according to their motion in the image. Each of the depth maps is associated with a weight that is used to generate the weighted combination. The weights are adaptive to account for variation between different monoscopic images.
Abstract:
A combined depth map is generated for a monoscopic image based on a weighted combination of a color depth map, a spatial depth map, and a motion depth map for the image, each describing the depth of pixels in the image relative to the image plane. The color depth map determines the depth of pixels according to their color, the spatial depth map determines the depth of pixels according to their location in the image, and the motion depth map determines the depth of pixels according to their motion in the image. Each of the depth maps is associated with a weight that is used to generate the weighted combination. The weights are adaptive to account for variation between different monoscopic images.
Abstract:
Coding a current block using multi-level compound predictor is disclosed. A method includes generating a first compound predictor by combining at least two predictor blocks for the current block, generating a second predictor for the current block, and combining the first compound predictor and the second predictor to obtain a prediction block for encoding or decoding the current block. An indicator may be sent from the encoder to the decoder to indicate when multi-level compound prediction is used to encode a block.
Abstract:
A block of a video data stream may be subject to a motion search for comparing inter prediction of the blocks to intra prediction of the block while being partitioned. A motion search using an initial search range finds a first motion vector for the block. The blocks is partitioned into at least two sub-blocks, each having a same size, and one or more motion searches are performed for each sub-block using a second search range and the first motion vector where the second search range is a fraction of the initial search range. Respective error values associated with each of the motion searches are compared to select a partition for coding the block, and the block may be encoded using the selected partition. Performing inter prediction in this fashion can improve the performance of an encoder in terms of both execution time and compression ratio.