Method for motion estimation of non-natural video data
AssigneeQUALCOMM Incorporated
InventorsKrishnakanth Rapaka, Joel Sole Rojals, Li Zhang, Marta Karczewicz
Life of this patent
Estimating the term…
Abstract
A method for motion estimation for screen and non-natural content coding is disclosed. In one aspect, the method may include selecting a candidate block of a first frame of the video data for matching with a current block of a second frame of the video data, calculating a first partial matching cost for matching a first subset of samples of the candidate block to the current block, and determining whether the candidate block has a lowest matching cost with the current block based at least in part on the first partial matching cost.
Claims30
A method for motion estimation of non-natural video data, the method comprising:
- determining whether to skip motion estimation based only on a residual of a merge motion vector;
- and
- responsive to determining not to skip motion estimation:
- selecting a candidate block of a first frame of the non-natural video data for matching to a current block of a second frame of the non-natural video data, the candidate block being selected from a first diamond pattern surrounding a previous candidate block of the first frame of the non-natural video data, wherein the non-natural video data comprises computer-generated video data not captured through a camera having an optical system;
- obtaining a previously calculated lowest matching difference value based on matching the previous candidate block of the first frame of the non-natural video data to the current block of the second frame of the non-natural video data;
- calculating a first partial matching difference value of matching a first subset of samples of the candidate block to the current block;
- estimating, based on the first partial matching difference value, a total matching difference value of matching the candidate block to the current block;
- comparing the estimated total matching difference value of the candidate block to the lowest matching difference value of the previous candidate block;
- determining, based on the comparison, whether the candidate block does not have a lowest matching difference value to the current block;
- and
- selecting, in response to the candidate block not having the lowest matching difference value to the current block, a subsequent candidate block of the first frame of the non-natural video data for matching to the current block from a second diamond pattern that is at least one of horizontally or vertically displaced from the first diamond pattern.
A device for motion estimation of non-natural video data, the device comprising:
- a memory configured to store the non-natural video data, the non-natural video data comprising video data not captured through a camera having an optical system;
- and
- a processor in communication with the memory and configured to:
- determine whether to skip motion estimation based only on a residual of a merge motion vector;
- and
- responsive to determining not to skip motion estimation:
- select, from a first diamond pattern surrounding a previous candidate block of a first frame of the non-natural video data, a candidate block of the first frame of the non-natural video data for matching to a current block of a second frame of the non-natural video data;
- obtain a previously calculated lowest matching difference value based on matching the previous candidate block of the first frame of the non-natural video data to the current block of the second frame of the non-natural video data;
- calculate a first partial matching difference value of matching a first subset of samples of the candidate block to the current block;
- estimate, based on the first partial matching difference value, a total matching difference value of matching the candidate block to the current block;
- compare the estimated total matching difference value of the candidate block to the lowest matching difference value of the previous candidate block;
- determine whether the candidate block does not have a lowest matching difference value to the current block based on the comparison;
- and
- select, in response to the candidate block not having the lowest matching difference value to the current block and from a second diamond pattern that is at least one of horizontally or vertically displaced from the first diamond pattern, a subsequent candidate block of the first frame of the non-natural video data for matching to the current block.
An apparatus for motion estimation of non-natural video data, comprising:
- means for determining whether to skip motion estimation based only on a residual of a merge motion vector;
- means for selecting, from a first diamond pattern surrounding a previous candidate block of a first frame of the non-natural video data, a candidate block of the first frame of the non-natural video data for matching to a current block of a second frame of the non-natural video data, wherein the non-natural video data comprises video data not captured through a camera having an optical system;
- means for obtaining a previously calculated lowest matching difference value based on matching the previous candidate block of the first frame of the non-natural video data to the current block of the second frame of the non-natural video data;
- means for calculating a first partial matching difference value for matching a first subset of samples of the candidate block to the current block;
- means for estimating, based on the first partial matching difference value, a total matching difference value of matching the candidate block to the current block;
- means for comparing the estimated total matching difference value of the candidate block to the lowest matching difference value of the previous candidate block;
- means for determining whether the candidate block does not have a lowest matching difference value to the current block based on the comparison;
- and
- means for selecting, in response to the candidate block not having the lowest matching difference value to the current block and from a second diamond pattern that is at least one of horizontally or vertically displaced from the first diamond pattern, a subsequent candidate block of the first frame of the non-natural video data for matching to the current block.
A non-transitory computer readable storage medium having stored thereon instructions that, when executed, cause a processor of a device configured for motion estimation of non-natural video data to:
- determine whether to skip motion estimation based only on a residual of a merge motion vector;
- select, from a first diamond pattern surrounding a previous candidate block of a first frame of the non-natural video data, a candidate block of the first frame of the non-natural video data for matching to a current block of a second frame of the non-natural video data, wherein the non-natural video data comprises video data not captured through a camera having an optical system;
- obtain a previously calculated lowest matching difference value based on matching the previous candidate block of the first frame of the non-natural video data to the current block of the second frame of the non-natural video data;
- calculate a first partial matching difference value for matching a first subset of samples of the candidate block to the current block;
- estimate, based on the first partial matching difference value, a total matching difference value of matching the candidate block to the current block;
- compare the estimated total matching difference value of the candidate block to the lowest matching difference value of the previous candidate block;
- determine whether the candidate block does not have a lowest matching difference value to the current block based on the comparison;
- and
- in response to the candidate block not having the lowest matching difference value to the current block, select, from a second diamond pattern that is at least one of horizontally or vertically displaced from the first diamond pattern, a subsequent candidate block of the first frame of the non-natural video data for matching to the current block.
A device for motion estimation of non-natural video data, the device comprising:
- a memory configured to store the non-natural video data, the non-natural video data comprising video data not captured through a camera having an optical system;
- and
- a processor in communication with the memory and configured to:
- select, from a first diamond pattern surrounding a previous candidate block of a first frame of the non-natural video data, a candidate block of the first frame of the non-natural video data for matching to a current block of a second frame of the non-natural video data;
- obtain a previously calculated lowest matching difference value based on matching the previous candidate block of the first frame of the non-natural video data to the current block of the second frame of the non-natural video data;
- calculate a first partial matching difference value of matching a first subset of samples of the candidate block to the current block;
- estimate, based on the first partial matching difference value, a total matching difference value of matching the candidate block to the current block;
- compare the estimated total matching difference value of the candidate block to the lowest matching difference value of the previous candidate block;
- determine whether the candidate block does not have a lowest matching difference value to the current block based on the comparison;
- select, in response to the candidate block not having the lowest matching difference value to the current block and from a second diamond pattern that is at least one of horizontally or vertically displaced from the first diamond pattern, a subsequent candidate block of the first frame of the non-natural video data for matching to the current block;
- determine a first distance between the candidate having the lowest matching difference value and the current block;
- determine a second distance between a predictor and the current block;
- and
- determine whether to perform a refinement search or a full search with error approximation based on the difference between the first and second distances.
Dependencies are inferred from the claim text.