Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
First Claim
1. A machine-implemented method to estimate motion at a video decoder, comprising:
- defining, at the decoder, a motion estimation search window for a first coding block of a first frame of a video;
selecting, at the decoder, a motion vector to a block of a second frame of the video and a motion vector to a block of a third frame of the video based on the search window, distances between the first frame and each of the second and third frames, and a measure of visual similarity between the respective blocks of the second and third frames;
deriving, at the decoder, a motion vector for the first block based on the selected motion vector to a block of the second frame and the selected motion vector to a block of the third frame;
storing the motion vector for the first block to a memory coupled with, or included in, the video decoder; and
predicting the first block based on the stored motion vector and the block of the second or third frame.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems to apply motion estimation (ME) based on reconstructed reference pictures in a B frame or in a P frame at a video decoder. For a P frame, projective ME may be performed to obtain a motion vector (MV) for a current input block. In a B frame, both projective ME and mirror ME may be performed to obtain an MV for the current input block. The ME process can be performed on sub-partitions of the input block, which may reduce the prediction error without increasing the amount of MV information in the bitstream. Decoder-side ME can be applied for the prediction of existing inter frame coding modes, and traditional ME or the decoder-side ME can be adaptively selected to predict a coding mode based on a rate distribution optimization (RDO) criterion.
-
Citations
20 Claims
-
1. A machine-implemented method to estimate motion at a video decoder, comprising:
-
defining, at the decoder, a motion estimation search window for a first coding block of a first frame of a video; selecting, at the decoder, a motion vector to a block of a second frame of the video and a motion vector to a block of a third frame of the video based on the search window, distances between the first frame and each of the second and third frames, and a measure of visual similarity between the respective blocks of the second and third frames; deriving, at the decoder, a motion vector for the first block based on the selected motion vector to a block of the second frame and the selected motion vector to a block of the third frame; storing the motion vector for the first block to a memory coupled with, or included in, the video decoder; and predicting the first block based on the stored motion vector and the block of the second or third frame. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A video decoding apparatus, comprising:
-
a memory; and a processor coupled to the memory, the processor to; define a motion estimation search window for a first coding block of a first frame of a video; select a motion vector to a block of a second frame of the video and a motion vector to a block of a third frame of the video based on the search window, distances between the first frame and each of the second and third frames, and a measure of visual similarity between the respective blocks of the second and third frames; derive a motion vector for the first block based on the selected motion vector to a block of the second frame and the selected motion vector to a block of the third frame; and predict the first block based on the stored motion vector and the block of the second or third frame. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium encoded with a computer program that includes instructions to cause a video decoding processor to:
-
define a motion estimation search window for a first coding block of a first frame of a video; select a motion vector to a block of a second frame of the video and a motion vector to a block of a third frame of the video based on the search window, distances between the first frame and each of the second and third frames, and a measure of visual similarity between the respective blocks of the second and third frames; derive a motion vector for the first block based on the selected motion vector to a block of the second frame and the selected motion vector to a block of the third frame store the motion vector for the first block to a memory coupled to the processor; and predict the first block based on the stored motion vector and the block of the second or third frame. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification