When executing a color conversion process, a CPU determines whether a CMYK conversion indication flag Fc has been set. If the flag Fc has been set, then the CPU reads data of an RGB-CMYK conversion table and performs a cube interpolation process by using the RGB-CMYK conversion table. On the other hand, if the flag Fc has not been set, then the CPU reads data of an RGB-RGB conversion table and performs a triangular pyramid interpolation process by using the RGB-RGB conversion table.