Patent ID: 8446628
Filing Date: 2013-05-21
Classification: G06K

Abstract:
1. An image forming apparatus comprising: an intermediate data generating unit configured to divide image data into predetermined bands and generate pieces of intermediate data corresponding to the bands; a rendering unit configured to perform a rendering process on the pieces of intermediate data in a predetermined band order; a storage unit configured to store pieces of rendered data obtained through the rendering process; a rendering time calculating unit configured to calculate rendering times for the respective pieces of intermediate data generated by the intermediate data generating unit; a rendering control unit configured to determine which of a pre-rendering process and a real-time rendering process is to be performed on the respective pieces of intermediate data based on the rendering times, rendering being performed before output of a piece of intermediate data in the pre-rendering process and rendering being performed in parallel with output of another piece of intermediate data in the real-time rendering process, the rendering control unit further configured to cause the rendering unit to perform either of the pre-rendering process and the real-time rendering process; a pre-writing unit configured to compress pieces of rendered data obtained through the pre-rendering process and write the pieces of rendered data in a predetermined compression storage area of the storage unit; a decompressing unit configured to perform a decompressing process on the pieces of rendered data written in the compression storage area of the storage unit; a rendering writing unit configured to write the pieces of rendered data obtained through performance of one of the rendering process and the decompressing process in a storage area selected from the storage unit; a reading unit configured to read the pieces of rendered data written in the storage areas in the predetermined band order; and an output unit configured to output to a printer engine the pieces of rendered data read by the reading unit; wherein the storage unit includes at least three storage areas, wherein the rendering writing unit switches in a certain cycle among the storage areas in which the pieces of rendered data are to be written, wherein, based on the cycle, the reading unit sequentially reads from the storage areas the pieces of rendered data written in the storage areas, wherein, in a case where the pieces of rendered data include a piece of rendered data on which the pre-rendering process has been performed, the rendering writing unit reverses the cycle on the basis of a predetermined rule to switch among the storage areas in which the pieces of rendered data are to be written, and wherein, on the basis of the predetermined rule, the reading unit reads from the storage areas the pieces of rendered data written in the storage areas by reversing the cycle.