Spatial displacement vector prediction for intra picture block and string copying
A method, computer program, and computer system is provided for coding video data. Video data including one or more blocks is received. A current block coded in intra block copy mode or string matching mode is predicted from among the one or more blocks based on a coded block vector or a string offset vector corresponding to one or more spatial neighboring or non-neighboring blocks from among the one or more blocks. The video data is decoded based on the predicted current block.
1. A method of video coding, executable by a processor, comprising:
receiving video data including one or more blocks;
predicting a displacement vector of a current block coded in an intra block copy (IBC) mode from among the one or more blocks based on a coded block vector corresponding to one or more spatial neighboring blocks and one or more spatial non-neighboring blocks, wherein the one or more spatial non-neighboring blocks have been coded in a string matching mode or the IBC mode and the one or more spatial neighboring blocks have been coded in the string matching mode, and wherein the IBC mode is not the string matching mode; and
decoding the video data based on the predicted displacement vector of the current block.
2. The method of claim 1 , wherein only spatial non-neighboring blocks coded in the intra block copy mode or the string matching mode are considered as candidates to predict the displacement vector of the current block coded in the intra block copy mode.
3. The method of claim 1 , wherein only spatial non-neighboring blocks coded in the intra block copy mode are considered as candidates to predict the displacement vector of the current block coded in the intra block copy mode.
4. The method of claim 1 , wherein the coded block vector or a string offset vector in the one or more spatial neighboring blocks or the one or more spatial non-neighboring blocks is used to predict the current block coded in the string matching mode from among the one or more blocks.
5. The method of claim 4 , wherein only spatial non-neighboring blocks coded either in the intra block copy mode or the string matching mode are considered as candidates to predict the string offset vector of the current block coded in the string matching mode.
6. The method of claim 4 , wherein spatial neighboring blocks coded in the intra block copy mode or the string matching mode are considered as candidates to predict the string offset vector of the current block coded in the string matching mode.
7. The method of claim 4 , wherein both the coded block vector and the string offset vector in spatial neighboring blocks and spatial non-neighboring blocks coded either in the intra block copy mode or the string matching mode are considered as candidates to predict the string offset vector of the current block coded in the string matching mode.
8. The method of claim 4 , wherein spatial candidates for predicting the coded block vector or the string offset vector are based on a history-based block vector or a string offset vector candidates in a block vector predictor list or a string offset vector predictor list.
9. The method of claim 8 , wherein based on a class-based prediction being used, a spatial neighboring or non-neighboring block, location information, and size information are added to the predictor list.
10. A computer system for video coding, the computer system comprising:
one or more computer-readable non-transitory storage media configured to store computer program code; and
one or more computer processors configured to access said computer program code and operate as instructed by said computer program code, said computer program code including:
receiving code configured to cause the one or more computer processors to receive video data including one or more blocks;
predicting code configured to cause the one or more computer processors to predict a displacement vector of a current block coded in an intra block copy (IBC) mode from among the one or more blocks based on a coded block vector corresponding to one or more spatial neighboring blocks and one or more spatial non-neighboring blocks, wherein the one or more spatial non-neighboring blocks have been coded in a string matching mode or the IBC mode and the one or more spatial neighboring blocks have been coded in the string matching mode, and wherein the IBC mode is not the string matching mode; and
decoding code configured to cause the one or more computer processors to decode the video data based on the predicted displacement vector of the current block.
11. The computer system of claim 10 , wherein only spatial non-neighboring blocks coded in the intra block copy mode or the string matching mode are considered as candidates to predict the displacement vector of the current block coded in the intra block copy mode.
12. The computer system of claim 10 , wherein only spatial non-neighboring blocks coded in the intra block copy mode are considered as candidates to predict the displacement vector of the current block coded in the intra block copy mode.
13. The computer system of claim 10 , wherein the coded block vector or a string offset vector in the one or more spatial neighboring blocks or the one or more spatial non-neighboring blocks is used to predict the current block coded in the string matching mode from among the one or more blocks.
14. The computer system of claim 13 , wherein only spatial non-neighboring blocks coded either in the intra block copy mode or the string matching mode are considered as candidates to predict the string offset vector of the current block coded in the string matching mode.
15. The computer system of claim 13 , wherein spatial neighboring blocks coded in the intra block copy mode or the string matching mode are considered as candidates to predict the string offset vector of the current block coded in the string matching mode.
16. The computer system of claim 13 , wherein both the coded block vector and the string offset vector in spatial neighboring blocks and spatial non-neighboring blocks coded either in the intra block copy mode or the string matching mode are considered as candidates to predict the string offset vector of the current block coded in the string matching mode.
17. The computer system of claim 13 , wherein spatial candidates for the coded block vector or the string offset vector are based on a history-based block vector or string offset vector candidates in a block vector predictor list or a string offset vector predictor list.
18. A non-transitory computer readable medium having stored thereon a computer program for video coding, the computer program configured to cause one or more computer processors to:
receive video data including one or more blocks;
predict a current block coded in an intra block copy (IBC) mode from among the one or more blocks based on a coded block vector corresponding to one or more spatial neighboring blocks and one or more spatial non-neighboring blocks, wherein the one or more spatial non-neighboring blocks have been coded in a string matching mode or the IBC mode and the one or more spatial neighboring blocks have been coded in the string matching mode, and wherein the IBC mode is not the string matching mode; and
decode the video data based on the predicted current block.