JVET-N0458 CE8-1.2: Block vector coding for IBC [J. Nam, J. Lim, S. Kim (LGE)]
In this test, coding method of block vector difference (BVD) for IBC will be evaluated. In VVC, motion vector difference (MVD) coding syntax which consists of four parts; abs_mvd_greater0_flag[], abs_mvd_greater1_flag[], abs_mvd_minus2[], mvd_sign_flag[]. In this test, those syntaxes will be designed for IBC because BVD has different properties compared with normal MVD. Some syntaxes (e.g. abs_mvd_greater0_flag or abs_mvd_greater1_flag) could be modified or removed. In addition, binarization process of a syntax (e.g. abs_mvd_minus2) could be changed. Additional context models for some syntaxes (e.g. abs_mvd_greater0_flag, abs_mvd_greater1_flag) could be introduced.
CE8-1.2b: Binarization process for abs_mvd_minus2 syntax
When prediction mode of current block is IBC mode, binarization process for abs_mvd_minus2 syntax is signalled by Exp-Golomb order K equal to 3. However, when prediction mode of current block is inter mode, binarization process for abs_mvd_minus2 syntax is signalled by Exp-Golomb order K equal to 1 as same as anchor.
CE8-1.2c: Context modeling for abs_mvd_greater0_flag and abs_mvd_greater1_flag
For IBC blocks, four contexts are additionally introduced for signalling the abs_mvd_greater0_flag and abs_mvd_greater1_flag. The contexts are separated from contexts of MVD coding. Two context models for abs_mvd_greater0_flag and abs_mvd_greater1_flag are used, respectively.
CE8-1.2d: Combination of CE8-1.2b and CE8-1.2c
CE8-1.2d is tested Combination of CE8-1.2b and CE8-1.2c tests.