1. An image processing apparatus, comprising: a memory configured to store limitation information that corresponds to a first limitation of inter prediction modes; a controller configured to: obtain a first plurality of candidates for inter prediction modes with the first limitation based on the stored limitation information, set a second limitation by an accuracy of a motion vector, based on a maximum value of a number of input pixels of a reference image, wherein the reference image is used to generate a predicted image, limit a number of the obtained first plurality of candidates to a number of a second plurality of candidates for inter prediction modes, in which motion compensation is executed, based on the second limitation set by the accuracy of the motion vector, wherein the accuracy of the motion vector is represented by a type of the accuracy in at least one of a vertical direction or a horizontal direction of the motion vector, and limit the number of the second plurality of candidates for the inter prediction modes based on at least one of an integral accuracy of the motion vector or a fractional accuracy of the motion vector; a motion search unit configured to: execute a motion search in the inter prediction modes allowed by the controller as the second plurality of candidates to generate the motion vector, and obtain a difference in pixel values between an input image and the reference image to generate a difference image; a motion compensation unit configured to execute the motion compensation in the inter prediction modes selected from the second plurality of candidates, wherein the motion vector is generated by the motion search unit to generate the predicted image, and an arithmetic unit configured to add the difference image and the predicted image to generate a reconstructed image.