Hierarchy of motion prediction video blocks
AssigneeQUALCOMM Incorporated
InventorsYunfei Zheng, Wei-Jung Chien, Marta Karczewicz
Life of this patent
Estimating the term…
Abstract
A video decoder is configured to obtain an index value for a current video block. The video decoder obtains a partition type for a current video block. The video decoder selects one of a plurality of defined sets of ordered candidate predictive video blocks based on the partition type of the current video block. A video decoder selects a predictive video block from a selected one of the plurality of defined sets of ordered candidate predictive video blocks based on an index value. A video decoder generates a motion vector for a current video block based on motion information of the predictive video block.
Claims39
1-38. (canceled)
A method of decoding video data, the method comprising:
- obtaining an index value for a current video block;
- decoding, from a bitstream, one or more syntax elements that indicate a number of motion vector prediction candidates for the current video block less than a maximum number of motion vector prediction candidates for the bitstream;
- generating a set of candidate predictive blocks based on spatial and temporal neighbors to the current video block, wherein the number of candidate predictive blocks in the set of candidate predictive blocks is less than or equal to the number of motion vector prediction candidates for the current video block as indicated by the one or more syntax elements;
- selecting a predictive video block from the set of generated candidate predictive blocks based on the index value;
- and
- generating motion information for the current video block based on motion information of the predictive video block.
A device for decoding video data, the device comprising:
- a memory configured to store video data;
- and
- a video decoder configured to communicate with the memory and to:
- obtain an index value for a current video block;
- decode, from a bitstream, one or more syntax elements that indicate a number of motion vector prediction candidates for the current video block less than a maximum number of motion vector prediction candidates for the bitstream;
- generate a set of candidate predictive blocks based on spatial and temporal neighbors to the current video block, wherein the number of candidate predictive blocks in the set of candidate predictive blocks is less than or equal to the number of motion vector prediction candidates for the current video block as indicated by the one or more syntax elements;
- select a predictive video block from the set of generated candidate predictive blocks based on the index value;
- and
- generate motion information for the current video block based on motion information of the predictive video block.
A device for decoding video data, the device comprising:
- means for obtaining an index value for a current video block;
- means for decoding, from a bitstream, one or more syntax elements that indicate a number of motion vector prediction candidates for the current video block less than a maximum number of motion vector prediction candidates for the bitstream;
- means for generating a set of candidate predictive blocks based on spatial and temporal neighbors to the current video block, wherein the number of candidate predictive blocks in the set of candidate predictive blocks is less than or equal to the number of motion vector prediction candidates for the current video block as indicated by the one or more syntax elements;
- means for selecting a predictive video block from the set of generated candidate predictive blocks based on the index value;
- and
- means for generating motion information for the current video block based on motion information of the predictive video block.
A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor of a device for decoding video data to:
- obtain an index value for a current video block;
- decode, from a bitstream, one or more syntax elements that indicate a number of motion vector prediction candidates for the current video block less than a maximum number of motion vector prediction candidates for the bitstream;
- generate a set of candidate predictive blocks based on spatial and temporal neighbors to the current video block, wherein the number of candidate predictive blocks in the set of candidate predictive blocks is less than or equal to the number of motion vector prediction candidates for the current video block as indicated by the one or more syntax elements;
- select a predictive video block from the set of generated candidate predictive blocks based on the index value;
- and
- generate motion information for the current video block based on motion information of the predictive video block.
A method of encoding video data, the method comprising:
- obtaining a motion vector for a current video block;
- encoding, in a bitstream, one or more syntax elements that indicate a number of motion vector prediction candidates for the current video block less than a maximum number of motion vector prediction candidates for the bitstream;
- generating a set of candidate predictive blocks based on spatial and temporal neighbors to the current video block, wherein the number of candidate predictive blocks in the set of candidate predictive blocks is less than or equal to the number of motion vector prediction candidates for the current video block as indicated by the one or more syntax elements;
- selecting a predictive video block from the set of generated candidate predictive blocks based on the motion vector;
- and
- generating an index value identifying the selected predictive video block.
A device for encoding video data, the device comprising:
- a memory configured to store video data;
- and
- a video encoder configured to communicate with the memory and to:
- obtain a motion vector for a current video block;
- encode, in a bitstream, one or more syntax elements that indicate a number of motion vector prediction candidates for the current video block less than a maximum number of motion vector prediction candidates for the bitstream;
- generate a set of candidate predictive blocks based on spatial and temporal neighbors to the current video block, wherein the number of candidate predictive blocks in the set of candidate predictive blocks is less than or equal to the number of motion vector prediction candidates for the current video block as indicated by the one or more syntax elements;
- select a predictive video block from the set of generated candidate predictive blocks based on the motion vector;
- and
- generate an index value identifying the selected predictive video block.
A device for encoding video data according to a merge mode, the device comprising:
- means for obtaining a motion vector for a current video block;
- means for encoding, in a bitstream, one or more syntax elements that indicate a number of motion vector prediction candidates for the current video block less than a maximum number of motion vector prediction candidates for the bitstream;
- means for generating a set of candidate predictive blocks based on spatial and temporal neighbors to the current video block, wherein the number of candidate predictive blocks in the set of candidate predictive blocks is less than or equal to the number of motion vector prediction candidates for the current video block as indicated by the one or more syntax elements;
- means for selecting a predictive video block from the set of generated candidate predictive blocks based on the motion vector;
- and
- means for generating an index value identifying the selected predictive video block.
A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor of a device for encoding video data to:
- obtain a motion vector for a current video block;
- encode, in a bitstream, one or more syntax elements that indicate a number of motion vector prediction candidates for the current video block less than a maximum number of motion vector prediction candidates for the bitstream;
- generate a set of candidate predictive blocks based on spatial and temporal neighbors to the current video block, wherein the number of candidate predictive blocks in the set of candidate predictive blocks is less than or equal to the number of motion vector prediction candidates for the current video block as indicated by the one or more syntax elements;
- select a predictive video block from the set of generated candidate predictive blocks based on the motion vector;
- and
- generate an index value identifying the selected predictive video block.
Dependencies are inferred from the claim text.