Digital images and documents may contain many elements or content types including text, halftone, graphics, bitmap images, variations thereof and other elements. When rendered to a display or a printer, each of these elements may be processed in a different way to optimize the quality of the presented output. This differential processing requires that the image be segmented into elements or content types. This is typically performed by computing a so-called segmentation map from a digital image of a document page. Often this reduces to a problem of pixel or region classification, since the set of element types or content types is known a priori. Given the segmentation map of an input page, each content type region can then be optimally processed according to the requirements of its corresponding elements or content type.
In some known methods, as shown in FIG. 1, object data for a rendering job is received 10. This data 10 is typically in the form of printer job language commands or graphics engine rendering commands such as HPGL commands, PCL commands, GDI commands or others. These commands identify the content type for the graphic elements they define and this information can be easily extracted from the command data 10 to identify 12 the content types in the document. Once the content types are identified 12, the configuration of the objects can be analyzed 14 to help evaluate document complexity. A complexity factor is calculated 16 from this data. While these techniques work well for document data that is compartmentalized into command structures, such as object-based commands, it is of no use on bitmap data, raster data and other forms of non-object-based data. Additionally, the available methods have not been combined with processing algorithm data to create an algorithm-related complexity factor.