Template matching for flipped intra block copy
AssigneeQUALCOMM Incorporated
InventorsChun-Chi Chen, Han Huang, Zhi Zhang, Vadim Seregin, Marta Karczewicz
Life of this patent
Estimating the term…
Abstract
An example device for decoding video data includes a memory configured to store video data; and a processing system implemented in circuitry and configured to: decode a block vector difference (BVD) value for a current block of video data; determine an initial block vector for the current block of video data using intra template matching prediction (IntraTMP); apply the BVD value to the initial block vector to form a final block vector for the current block of video data; and decode the current block using the final block vector.
Claims26
A method of decoding video data, the method comprising:
- decoding a block vector difference (BVD) value for a current block of video data, the current block of video data comprising a reconstruction-reordered intra-block copy (RR-IBC) block that is flipped according to a flip mode;
- determining an initial block vector for the current block of video data using intra template matching prediction (IntraTMP);
- applying the BVD value to the initial block vector to form a final block vector for the current block of video data, including:
- calculating a template matching cost according to a current neighboring template to the current block and a flipped neighboring reference template for a reference block referred to by the initial block vector, the flipped neighboring reference template being flipped according to the flip mode;
- refining the initial block vector using the template matching cost to form a refined block vector;
- and
- applying the BVD value to the refined block vector to form the final block vector;
- decoding the current block using the final block vector;
- inserting, into a history-based motion vector prediction (HMVP) list, one of the initial block vector for the current block or the final block vector for the current block as a candidate block vector predictor;
- and
- decoding, based on the candidate block vector predictor derived from the HMVP list, a subsequent block.
A device for decoding video data, the device comprising:
- a memory configured to store video data;
- and
- a processing system implemented in circuitry and configured to:
- decode a block vector difference (BVD) value for a current block of video data, the current block of video data comprising a reconstruction-reordered intra-block copy (RR-IBC) block that is flipped according to a flip mode;
- determine an initial block vector for the current block of video data using intra template matching prediction (IntraTMP);
- apply the BVD value to the initial block vector to form a final block vector for the current block of video data, wherein to apply the BVD value, the processing system is configured to:
- calculate a template matching cost according to a current neighboring template to the current block and a flipped neighboring reference template for a reference block referred to by the initial block vector, the flipped neighboring reference template being flipped according to the flip mode;
- refine the initial block vector using the template matching cost to form a refined block vector;
- and
- apply the BVD value to the refined block vector to form the final block vector;
- decode the current block using the final block vector;
- insert, into a history-based motion vector prediction (HMVP) list, one of the initial block vector for the current block or the final block vector for the current block as a candidate block vector predictor;
- and
- decode, based on the candidate block vector predictor derived from the HMVP list, a subsequent block.
A device for decoding video data, the device comprising:
- means for decoding a block vector difference (BVD) value for a current block of video data, the current block of video data comprising a reconstruction-reordered intra-block copy (RR-IBC) block that is flipped according to a flip mode;
- means for determining an initial block vector for the current block of video data using intra template matching prediction (IntraTMP);
- means for applying the BVD value to the initial block vector to form a final block vector for the current block of video data, including:
- means for calculating a template matching cost according to a current neighboring template to the current block and a flipped neighboring reference template for a reference block referred to by the initial block vector, the flipped neighboring reference template being flipped according to the flip mode;
- means for refining the initial block vector using the template matching cost to form a refined block vector;
- and
- means for applying the BVD value to the refined block vector to form the final block vector;
- means for decoding the current block using the final block vector;
- means for inserting, into a history-based motion vector prediction (HMVP) list, one of the initial block vector for the current block or the final block vector for the current block as a candidate block vector predictor;
- and
- means for decoding, based on the candidate block vector predictor derived from the HMVP list, a subsequent block.
A non-transitory, computer-readable storage medium having stored thereon instructions that, when executed, cause a processing system of a device for decoding video data to:
- decode a block vector difference (BVD) value for a current block of video data, the current block of video data comprising a reconstruction-reordered intra-block copy (RR-IBC) block that is flipped according to a flip mode;
- determine an initial block vector for the current block of video data using intra template matching prediction (IntraTMP);
- apply the BVD value to the initial block vector to form a final block vector for the current block of video data, including instructions that cause the processing system to:
- calculate a template matching cost according to a current neighboring template to the current block and a flipped neighboring reference template for a reference block referred to by the initial block vector, the flipped neighboring reference template being flipped according to the flip mode;
- refine the initial block vector using the template matching cost to form a refined block vector;
- and
- apply the BVD value to the refined block vector to form the final block vector;
- decode the current block using the final block vector;
- insert, into a history-based motion vector prediction (HMVP) list, one of the initial block vector for the current block or the final block vector for the current block as a candidate block vector predictor;
- and
- decode, based on the candidate block vector predictor derived from the HMVP list, a subsequent block.
Dependencies are inferred from the claim text.