CLAIMS:

1. An apparatus comprising

means for determining a motion vector for a block of samples;

means for determining a sub-sample accurate horizontal component and a sub sample accurate vertical component of said motion vector;

means for determining fractional parts of said sub-sample accurate horizontal and vertical motion vector components;

means for determining interpolation filter length and interpolation filter based on said fractional parts;

means for applying said interpolation filter with determined length to perform a filtering operation at least in either horizontal or vertical direction; and

means for storing the result of said filtering operation as the motion compensated prediction with said motion vector.

2. The apparatus according to claim 1, wherein said means for determining interpolation filter length and interpolation filter further comprises

means for selecting the interpolation filter from a group of filters comprising at least M-tap filters and N-tap filters, where M < N.

3. The apparatus according to claim 2, further comprising

means for using M-tap interpolation filters for a block if both horizontal and vertical motion vector component have a non-zero fractional part; and

means for using N-tap interpolation filters if only one of the horizontal and vertical motion vector components have a non-zero fractional part.

4. The apparatus according to claim 2 or 3, further comprising

means for selecting between M-tap and N-tap filters based on color channel.

5. The apparatus according to any of claims 2 - 4, further comprising

means for selecting between M-tap and N-tap filters for bi-predicted blocks.

6. The apparatus according to claim 5, further comprising

means for using M-tap interpolation filters for a block if the block is bi-predicted and both horizontal and vertical motion vector component have a non-zero fractional part; and means for using N-tap interpolation filters if the block is uni-predicted or if only one of the horizontal and vertical motion vector components have a non-zero fractional part.

7. The apparatus according to any of claims 2 - 6, further comprising

means for selecting between M-tap and N-tap filters based on size or shape of the coding unit or prediction unit.

8. The apparatus according to any of claims 2 - 7, further comprising

means for selecting between M-tap and N-tap filters based on bitstream signaling.

9. The apparatus according to any of claims 2 - 8, further comprising

means for selecting between M-tap and N-tap filters for coding units or prediction units which use translational motion model and disabled for coding units or prediction units that use higher order motion models.

10. The apparatus according to any of claims 2 - 9, further comprising

means for determining the number of motion vector components with non-zero fractional parts for two or more motion vectors and maximum filter length is determined based on said number.

11. A method for motion compensated prediction, the method comprising

determining a motion vector for a block of samples;

determining a sub-sample accurate horizontal component and a sub-sample accurate vertical component of said motion vector;

determining fractional parts of said sub-sample accurate horizontal and vertical motion vector components;

determining interpolation filter length and interpolation filter based on said fractional parts;

applying said interpolation filter with determined length to perform a filtering operation at least in either horizontal or vertical direction; and

storing the result of said filtering operation as the motion compensated prediction with said motion vector.

12. The method according to claim 11, wherein said determining interpolation filter length and interpolation filter further comprises

selecting the interpolation filter from a group of filters comprising at least M-tap filters and N-tap filters, where M < N.

13. The method according to claim 12, further comprising

using M-tap interpolation filters for a block if both horizontal and vertical motion vector component have a non-zero fractional part; and

using N-tap interpolation filters if only one of the horizontal and vertical motion vector components have a non-zero fractional part.

14. The method according to claim 12 or 13, wherein the selecting between M-tap and N-tap filters is enabled based on color channel.

15. An apparatus comprising:

at least one processor and at least one memory, said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to perform at least:

determining a motion vector for a block of samples;

determining a sub-sample accurate horizontal component and a sub-sample accurate vertical component of said motion vector;

determining fractional parts of said sub-sample accurate horizontal and vertical motion vector components;

determining interpolation filter length and interpolation filter based on said fractional parts;

applying said interpolation filter with determined length to perform a filtering operation at least in either horizontal or vertical direction; and

storing the result of said filtering operation as the motion compensated prediction with said motion vector.