A method of deriving a first motion vector predictor (MVP) and a second MVP for a motion vector (MV) of a current block in Inter, or Merge, or Skip mode, wherein the MV is associated with the current block and a corresponding block of a target reference picture in a given reference list, the method comprising:
- receiving first motion vectors (MVs) associated with a first neighboring block group of the current block;
- receiving second MVs associated with a second neighboring block group of the current block;
- determining a first search set, wherein the first search set comprises first search elements corresponding to first search MVs of the first neighboring block group pointing to the target reference picture in the given reference list, and at least one of second search MVs of at least one of the first neighboring block group pointing to other reference pictures in the given reference list, the target reference picture in other reference list, or the other reference pictures in the other reference list;
- determining a second search set, wherein the second search set comprises second search elements corresponding to third search MVs of the second neighboring block group pointing to the target reference picture in the given reference list, and at least one of fourth search MVs of at least one of the second neighboring block group pointing to the other reference pictures in the given reference list, the target reference picture in the other reference list, or the other reference pictures in the other reference list;
- determining a search order for the first search set and the second search set;
- determining the first MVP for the current block based on the first search set and the search order, wherein the first MVP is first effective one of the first MVs according to the search order that is in the first search set;
- determining the second MVP for the current block based on the second search set and the search order, wherein the second MVP is the first effective one of the second MVs according to the search order that is in the second search set;
- providing the first MVP for the current block;
- and
- providing the second MVP for the current block.