Merge candidates for motion vector prediction for video coding
AssigneeQUALCOMM Incorporated
InventorsSungwon Lee, Wei-Jung Chien, Li Zhang, Marta Karczewicz
Life of this patent
Estimating the term…
Abstract
A method of decoding and encoding video data includes constructing a motion vector candidate list for the current block of video data based on the motion information from the neighboring blocks relative to the current block determined to include motion information, and adaptively ordering the constructed motion vector candidate list for the current block of video data based on at least one weight among a plurality of weights associated with motion information included in each neighboring block determined to include motion information.
Claims22
A method of decoding video data, the method comprising:
- receiving a current block of video data encoded with an inter prediction mode;
- analyzing a plurality of neighboring blocks relative to the current block to determine whether any neighboring blocks among the plurality of neighboring blocks include motion information, wherein a number of the neighboring blocks analyzed among the plurality of neighboring blocks is greater than 5;
- determining a plurality of weights, wherein each weight among the plurality of weights respectively corresponds to motion information included within a set of neighboring blocks, among the plurality of neighboring blocks, that include motion information;
- constructing a motion vector candidate list for the current block of video data based on the motion information from the set of neighboring blocks relative to the current block;
- adaptively ordering motion vector candidates within the constructed motion vector candidate list for the current block of video data based on the plurality of weights;
- determining a current motion vector from the motion vector candidates within the motion vector candidate list;
- and
- decoding the current block of video data using the current motion vector.
An apparatus configured to decode video data, the apparatus comprising:
- a memory configured to store a current block of video data;
- and
- one or more processors configured to:
- receive a current block of video data encoded with an inter prediction mode;
- analyze a plurality of neighboring blocks relative to the current block to determine whether any neighboring blocks among the plurality of neighboring blocks include motion information, wherein a number of the neighboring blocks analyzed among the plurality of neighboring blocks is greater than 5;
- determine a plurality of weights, wherein each weight among the plurality of weights respectively corresponds to motion information included within a set of neighboring blocks, among the plurality of neighboring blocks, that include motion information;
- construct a motion vector candidate list for the current block of video data based on the motion information from the set of neighboring blocks relative to the current block;
- adaptively order motion vector candidates within the constructed motion vector candidate list for the current block of video data based on the plurality of weights;
- determine a current motion vector from the motion vector candidates within the motion vector candidate list;
- and
- decode the current block of video data using the current motion vector.
An apparatus configured to encode video data, the apparatus comprising:
- a memory configured to store a current block of video data;
- and
- one or more processors configured to:
- receive a current block of video data encoded with an inter prediction mode;
- analyze a plurality of neighboring blocks relative to the current block to determine whether any neighboring blocks among the plurality of neighboring blocks include motion information, wherein a number of the neighboring blocks analyzed among the plurality of neighboring blocks is greater than 5;
- determine a plurality of weights, wherein each weight among the plurality of weights respectively corresponds to motion information included within a set of neighboring blocks, among the plurality of neighboring blocks, that include motion information;
- construct a motion vector candidate list for the current block of video data based on the motion information from the set of neighboring blocks relative to the current block;
- adaptively order motion vector candidates within the constructed motion vector candidate list for the current block of video data based on the plurality of weights;
- determine a current motion vector from the motion vector candidates within the motion vector candidate list;
- and
- encode the current block of video data using the current motion vector.
A non-transitory computer-readable storage medium storing instructions that, when executed, causes one or more processors configured to decode video data to:
- receive a current block of video data encoded with an inter prediction mode;
- analyze a plurality of neighboring blocks relative to the current block to determine whether any neighboring blocks among the plurality of neighboring blocks include motion information, wherein a number of the neighboring blocks analyzed among the plurality of neighboring blocks is greater than 5;
- determine a plurality of weights, wherein each weight among the plurality of weights respectively corresponds to motion information included within a set of neighboring blocks, among the plurality of neighboring blocks, that include motion information;
- construct a motion vector candidate list for the current block of video data based on the motion information from the set of neighboring blocks relative to the current block;
- adaptively order motion vector candidates within the constructed motion vector candidate list for the current block of video data based on the plurality of weights;
- determine a current motion vector from the motion vector candidates within the motion vector candidate list;
- and
- decode the current block of video data using the current motion vector.
Dependencies are inferred from the claim text.