An image processing apparatus that determines a second pixel range of an uncorrected image necessary for generating a first pixel range consisting of pixels in a preset range of a corrected image, the image processing apparatus comprising: a memory that holds the uncorrected image; a cache unit that determines the second pixel range, reads the second pixel range from the memory, and holds the read second pixel range; and a correction processing unit that acquires the second pixel range from the cache unit and executes correction on the acquired second pixel range to generate the first pixel range, wherein correspondences indicating positions of the uncorrected image corresponding to positions of pixels of the corrected image, respectively, are preset, and the cache unit specifies a position of the uncorrected image corresponding to a pixel at one of four corners of a rectangular third pixel range including the first pixel range, based on the correspondence, specifies pixel ranges of the uncorrected image necessary for generation of pixel values of pixels, respectively, at the four corners of the third pixel range, based on the specified position, determines a pixel range that includes a convex set including all the specified pixel ranges as the second pixel range, and reads the second pixel range from the memory before executing the correction by the correction processing unit; wherein the first pixel range is a rectangle, and the third pixel range is the first pixel range; and wherein the cache unit holds first information that indicates a pixel range of the uncorrected image necessary for generation of pixel values of adjacent pixels of a rectangular fourth pixel range that is adjacent to the first pixel range and shares one side having an identical length with the first pixel range, the adjacent pixels being pixels positioned at end points of the one side, the cache unit specifies a position of the uncorrected image corresponding to one pixel, which is not adjacent to the adjacent pixels, among the pixels at the four corners of the third pixel range, based on the correspondence, and a pixel range of the uncorrected image necessary for generation of a pixel value of pixels, which are adjacent to the adjacent pixels, among the pixels at the four corners of the third pixel range, is the pixel range indicated by the first information. a memory that holds the uncorrected image; a cache unit that determines the second pixel range, reads the second pixel range from the memory, and holds the read second pixel range; and a correction processing unit that acquires the second pixel range from the cache unit and executes correction on the acquired second pixel range to generate the first pixel range, wherein correspondences indicating positions of the uncorrected image corresponding to positions of pixels of the corrected image, respectively, are preset, and the cache unit specifies a position of the uncorrected image corresponding to a pixel at one of four corners of a rectangular third pixel range including the first pixel range, based on the correspondence, specifies pixel ranges of the uncorrected image necessary for generation of pixel values of pixels, respectively, at the four corners of the third pixel range, based on the specified position, determines a pixel range that includes a convex set including all the specified pixel ranges as the second pixel range, and reads the second pixel range from the memory before executing the correction by the correction processing unit; wherein the first pixel range is a rectangle, and the third pixel range is the first pixel range; and wherein the cache unit holds first information that indicates a pixel range of the uncorrected image necessary for generation of pixel values of adjacent pixels of a rectangular fourth pixel range that is adjacent to the first pixel range and shares one side having an identical length with the first pixel range, the adjacent pixels being pixels positioned at end points of the one side, the cache unit specifies a position of the uncorrected image corresponding to one pixel, which is not adjacent to the adjacent pixels, among the pixels at the four corners of the third pixel range, based on the correspondence, and a pixel range of the uncorrected image necessary for generation of a pixel value of pixels, which are adjacent to the adjacent pixels, among the pixels at the four corners of the third pixel range, is the pixel range indicated by the first information.