Print data received from a host computer is divided into five bands, and expansion time required for expanding the print data is estimated. If it is determined based on the estimated expansion time that a print overrun would occur, grayscale depth during the expansion of the print data is reduced by two bits at a time, in the priority sequence of yellow, cyan, then magenta, until it can be determined that a print overrun will not occur.