4.c MV″x=SignShift (MV1x+MV3x, 1),
4.d MV″y=SignShift (MV1y+MV3y, 1),
4.e MV*x=SignShift (MV′x+MV″x, 1), and
4.f MV*y=SignShift (MV′y+MV″y, 1).
In some embodiments, MV* is calculated based on the MV of top-left sub-block in the Y component (e.g., MV0 as shown in 
In some embodiments, the derivation of MVs of sub-blocks for color components can be determined based on the color format, such as 4:2:0, 4:2:2 and/or 4:4:4. For example, when the color format is 4:4:4, no subsampling occurs. The sub-block sizes and the number of sub-blocks in a block of video data are the same for all components. The MV of a sub-block in one component is the same as the MV of a corresponding sub-block in another component.
As another example, when the color format is 4:2:2. the sub-block sizes can be the same for all components, while the number of blocks can be different for different components. A MV* for the luma component is first calculated based on the MVs of several corresponding sub-blocks. The MV(s) of the corresponding sub-block in the Cb or Cr component is then derived from MV*.