PURPOSE: To specify the dirty position of a shading plate or an abnormal CCD chip, to detect the abnormality like large dirt of the shading plate or dirt of a read optical system, and to avoid the influence of this abnormality.
CONSTITUTION: A shading correction means 204 operates read data of the shading plate, which is outputted from a shading data storage means 1060 where read data of the shading plate for correction of the read level difference among chips of a CCD is stored, and read data of an actual document to correct the read level difference among chips of the CCD. A calculating means calculates an average value, a maximum value, and a minimum value from read data for each CCD of the shading plate and performs fault diagnosis like specification of dirt of the shading plate or the read optical system or an abnormal CCD chip and avoid, the influence of faults.