Patent ID: 7605818

Claim:
An image processing device comprising: an image processing section, the image processing section having: (A) one or more image processing modules, each image processing module having: (1) an image processing engine that determines a fixed unit processing data amount specific to the image processing module and carries out a predetermined image processing on image data in the determined units of a fixed unit processing data amount, and (2) a control section inputting image data, which is acquired from a preceding stage of its own module, in data amount units needed in order for the image processing engine to carry out processing in determined fixed units of the unit processing data amount, and outputting, to a following stage of its own module, image data, which has undergone a predetermined image processing by the image processing engine, or processing results of the predetermined image processing in units of the determined fixed unit processing data amount; and (B) one or more buffer modules having a buffer for storing image data, the image processing section being constructed in response to an instruction of a desired image processing by a user and by individual modules being connected in a pipeline form or a directed acyclic graph form, such that the buffer module is connected at at least one of a preceding stage and a following stage of each image processing module which is selected, the one or more image processing modules being selected from a plurality of types of image processing modules, in order to construct the image processing section to perform the desired image processing, and the image processing engine of each image processing module having mutually different types or contents of image processings, the buffer module having a buffer control section, wherein the buffer control section: in a case in which an image processing module is connected at a following stage of its own module, recognizes a number of image processing modules which are connected at the following stage of its own module, receives from each of the following image processing modules a fixed read data amount which is specific to each of the following image processing modules and stores the respective fixed read data amount, stores, for each of the image processing modules, a head position of un-read image data among image data which is stored in the buffer, and each time image data is requested from an arbitrary following image processing module, acquires a fixed read data amount which is stored for the following image processing module which is a read request source, or which is designated each time image data is requested by the following image processing module, and carries out processing of making the following image processing module which is a read request source to read, in units of fixed read data amount, image data which is stored in the buffer, from the head position corresponding to the following image processing module which is the read request source.