x
              <
              0
            
          
        
      
      .
    
  
Herein, off is an integer, e.g. 0 or 1<<(s?1).
In some embodiments, the MV of a sub-block of one component can be derived based on the MV(s) of one or more sub-blocks of another component. Here, the MV(s) of one or more sub-blocks of another component has (have) already been derived with the affine model. This way, there is no need to derive motion information multiple times.
In some embodiments, the HEVC standard defines how to derive the MV in chroma components (noted as mvC) from the MV used for MC in the luma component (noted as mv). Generally speaking, mvC is calculated as mv multiplying a factor, which relies on the color format, such as 4:2:0 or 4:2:2. FIG. 10 shows an example of deriving an MV of a component for sub-blocks in the 4:2:0 format in accordance with the present technology. In this example, the block size is 16×16 for Y (luma component) and 8×8 for Cb/Cr (chroma components). The sub-block size of the luma component is 4×4, while the sub-block size of the chroma components is 2×2. A MV* is first derived for a 4×4 sub-block in the Y component. The MVs of the 2×2 sub-block in the Cb and/or Cr components can be derived based on MV*. In this specific example, the value of MV* is copied first, and the MV(s) of the 2×2 sub-block in the Cb and/or Cr component(s) are calculated based on MV* according to the HEVC standard.