US8451478B2 - Information processing apparatus, method of information processing, and storage medium for performing scaling processing on image data - Google Patents

Information processing apparatus, method of information processing, and storage medium for performing scaling processing on image data Download PDF

Info

Publication number
US8451478B2
US8451478B2 US12/511,949 US51194909A US8451478B2 US 8451478 B2 US8451478 B2 US 8451478B2 US 51194909 A US51194909 A US 51194909A US 8451478 B2 US8451478 B2 US 8451478B2
Authority
US
United States
Prior art keywords
image data
pieces
image
processing apparatus
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US12/511,949
Other languages
English (en)
Other versions
US20100027067A1 (en
Inventor
Kiyohiro Tsunekawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Assigned to CANON KABUSHIKI KAISHA reassignment CANON KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TSUNEKAWA, KIYOHIRO
Publication of US20100027067A1 publication Critical patent/US20100027067A1/en
Priority to US13/870,865 priority Critical patent/US8724153B2/en
Application granted granted Critical
Publication of US8451478B2 publication Critical patent/US8451478B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/393Enlarging or reducing
    • H04N1/3935Enlarging or reducing with modification of image resolution, i.e. determining the values of picture elements at new relative positions

Definitions

  • the present invention relates to an information processing apparatus for performing scaling processing on image data.
  • Known processing methods for creating print data from electronic documents include print instructions using a page description language (PDL).
  • PDL page description language
  • a printer driver operating on a host computer converts print instructions from application software into PDL print data that can be processed by image processing apparatuses.
  • An image processing apparatus that receives a print processing job is configured to create a bitmap image (page image) representing the content of a page corresponding to the PDL.
  • Such image data rendering commands in PDL includes a group of commands such as character printing commands, various graphic commands including line drawing commands, and image rendering commands.
  • Some of the image data rendering commands in PDL include versatile commands such as logical rendering operations (specifying a raster operation (ROP) such as AND or OR), specifying a clipping area, macro commands storing and calling a plurality of commands in a group, and a command group for setting up various printing environments.
  • versatile commands such as logical rendering operations (specifying a raster operation (ROP) such as AND or OR), specifying a clipping area, macro commands storing and calling a plurality of commands in a group, and a command group for setting up various printing environments.
  • Examples of the cases in which the content of printing commands becomes complex, as described above, or the volume of the commands increases include cases in which image data handled by application software is divided into a plurality of minute areas, and is rendered as a large number of fragmentary pieces of image data.
  • application software divides a single block of image data into around a million minute areas, in accordance with the kind of the application, the size of the original image data, or the printing resolution with which an image processing apparatus processes the data.
  • the size of print data is too large since image data before reduction, which exceeds the size of a print area printed by an image processing apparatus, is sent from a printer driver to the image processing apparatus.
  • a reduction process for received image data is required in the image processing apparatus to suppress the degradation of quality in accordance with the reduction ratio specified by the printer driver, using a predetermined interpolation algorithm.
  • an individual divided minute image data block is a single-color image data block which consists of pixels having the same color value.
  • Japanese Patent Laid-Open No. 2000-255123 does not address the problem that the excessive size of the print data is sent when a printer driver sends a large number of minute image data blocks to an image processing apparatus, where a reduction process is performed.
  • Japanese Patent Laid-Open No. 2001-101431 has a problem in that since a constant-gradation direction, i.e., a direction in which the same color value is repeated, is detected independent of the sizes of objects, a time-consuming process of detecting single-color image data for all the objects is required, thereby increasing the total processing time.
  • a constant-gradation direction i.e., a direction in which the same color value is repeated
  • known information processing apparatuses have the problem of the excessive size of the print data and increased processing time when image data divided into minute data blocks is reduced and sent from a printer driver to an image processing apparatus to be output.
  • the present invention provides an information processing apparatus that transmits a print job including an input image data block to an image processing apparatus to which the information processing apparatus is connected, and includes the following: (1) a determination unit configured to determine whether or not a width and/or height of the input image data block is smaller than a predetermined threshold, and whether or not a scaling factor for the image data block at a time when the image data block is output by the image processing apparatus is one or less; (2) a color value determination unit configured to determine color values of pixels corresponding to the image data block in the case that the determination unit has determined that the width and/or height of the image data block is smaller than the predetermined threshold and that the scaling factor for the image data block at the time when the image data block is output by the image processing apparatus, is one or less; and (3) a transmission unit configured to, in the case that the color value determination unit has determined that the pixels corresponding to the image data block have the same color value, transmit a replacement image data block having a smaller size than the original image data block.
  • the present invention configured as described above provides the following advantages by simplifying the reduction process for single-color image data for which reduction is specified.
  • FIG. 1 is a block diagram explaining a configuration of an image processing system including a host computer and a printer according to embodiments of the present embodiment.
  • FIG. 2 is a block diagram showing a configuration of program modules, operating on the host computer, regarding a printing process in a first embodiment.
  • FIG. 3 illustrates an example GUI screen of a printer driver according to the first embodiment.
  • FIG. 4 is a sectional view showing the internal structure of an MFP as an example of an image processing apparatus according to the first embodiment.
  • FIG. 5 is a schematic diagram showing an existing rendering method for image data having a specified scaling factor.
  • FIG. 6 illustrates how a source image is replaced with an image having a scaling factor of one, i.e., having the same size as that of a destination image using a printer driver according to the first embodiment.
  • FIG. 7 illustrates how a source image is converted into a size which is the smallest pixel unit using a printer driver according to a second embodiment.
  • FIG. 8 is a flowchart showing the steps of processing image data performed by the printer driver of the first embodiment.
  • FIG. 9 is a flowchart showing the processing steps for a rendering command performed by a printer according to a third embodiment.
  • FIG. 10 illustrates a conversion method for single-color image data according to the first embodiment.
  • FIG. 11 illustrates examples of image rendering commands created by an existing printer driver.
  • FIG. 12 illustrates examples of image rendering commands created by the printer driver according to the first embodiment.
  • FIG. 13 illustrates an example of a data array used for image data conversion in the second embodiment.
  • FIG. 14 illustrates a configuration of part of an image processing module in the printer driver according to the first embodiment.
  • FIG. 5 shows how a source image 501 described as PDL data, i.e., image data associated with a real image, is rendered, through scaling, in an area shown by a destination image 502 .
  • PDL data i.e., image data associated with a real image
  • the area shown by a destination image is an image area into which data is output after being developed by a printer. In other words, it is a rendering area after a source image has been scaled. The size of this area is determined by a reduction/enlargement factor and the size of the source image.
  • the scaling factors are classified into enlargement/same size/reduction in accordance with the value relationship of the four parameters. For instance, when the width srcw of a source image is larger than the width dstw of a destination image, rendering is performed by reducing the size in the horizontal direction of the source image data by a predetermined factor, as shown in FIG. 5 .
  • FIG. 11 shows specific examples of image data rendering commands.
  • one byte in “ ⁇ ⁇ ” shows the kind of a rendering command
  • one byte in “ ⁇ >” shows the kind of a parameter accompanying the rendering command.
  • an image rendering command consists of a group of commands: ⁇ 0x53 ⁇ (“start image” command), ⁇ 0x54 ⁇ (“transfer image” command), and ⁇ 0x18 ⁇ (“end image” command).
  • the parameters of a “start image” command specify various attribute information for the image data.
  • the two numerical values following ⁇ 0xe2> show the width dstw and height dsth of the destination image, and the two numerical values following ⁇ 0xe3> show the width srcw and height srch of the source image, all in units of pixels.
  • a parameter of a “transfer image” command specifies the entity of the image data, which is represented by the exact volume in bytes of the source image calculated from the width, height and gradation thereof.
  • FIG. 1 shows a block diagram explaining a configuration of an image processing system according to the present embodiment.
  • the present invention if the functions of the invention are realizable, can be applied to a configuration functioning in a single information processing apparatus or a system including a plurality of apparatuses such as a client server system, unless otherwise stated.
  • a reference numeral 102 denotes a host computer, which includes a CPU 109 .
  • the CPU 109 performs processing of documents including graphics, images, characters, etc., by using the application programs stored in a program ROM 110 a included in a ROM 110 or on a hard disk drive (HDD) 119 , which is an external storage device.
  • a program ROM 110 a included in a ROM 110 or on a hard disk drive (HDD) 119 , which is an external storage device.
  • HDD hard disk drive
  • the CPU 109 performs overall control of various devices connected to a system bus 108 on a control board 107 in the host computer 101 .
  • the program ROM 110 a or the HDD 119 which is an external storage device, stores a boot program for setting initial settings at the time of power on, and the operating system program (hereinafter called OS), which is a basic control program.
  • OS operating system program
  • This OS controls various externally connected devices and performs resource management for a RAM 111 and the HDD 119 .
  • a font ROM (not shown) in the ROM 110 and the HDD 119 which is an external storage device, store font data to be displayed on a display 114 .
  • the HDD 119 which is an external storage device, stores various data files used for the document processing, and also stores a program file of a printer driver that converts print instructions from the application into print control commands that can be interpreted by a printer 102 .
  • the RAM 111 functions as the main memory of the CPU 109 , a work area, etc.
  • a keyboard controller (KBC) 115 controls input from a keyboard 116 and a pointing device (not shown).
  • a display controller 113 controls display of the display 114 .
  • An external storage device controller 118 controls accessing of the HDD 119 , which is an external storage device storing the OS, various applications, additional font data, user files, etc.
  • An external device I/O 117 controls accessing of an optionally added external device (not shown), such as a hard disk drive and a floppy (registered trademark) disk.
  • a printer I/F unit 112 connected to the printer 102 via a predetermined bidirectional interface 106 , controls processing of communication with the printer 102 .
  • bidirectional interfaces examples include a USB interface, an IEEE 1394 interface, and a wired or wireless LAN.
  • a user who controls the host computer 101 opens a window regarding print settings using a menu of applications, and sets print settings such as a print mode and the number of copies using the keyboard 116 etc.
  • a printer 121 performs overall control of various devices such as an ASIC 126 , which is a hardware circuit, connected to a system bus 120 in a printer control unit (controller) 103 .
  • a printer CPU 121 creates an output image using a control program stored in a program ROM 122 a , and outputs a video signal in accordance with the output image to a printer engine (printing unit) 105 connected via a printing unit I/F 125 .
  • the program ROM 122 a includes at least one kind of page description language analysis program (hereinafter called a PDL interpreter).
  • the printer CPU 121 by executing a PDL interpreter loaded in a RAM 123 , interprets a print job output from the host computer 101 , and converts the print job into bitmap data which is printable by the printer engine 105 .
  • the printer 102 may be configured so as to allow an optional ROM to be mounted in an expansion ROM slot (not shown), whereby another kind of PDL interpreter included in the optional ROM may be added.
  • a PDL interpreter may be added by being optionally made valid on the basis of a license key entered through a user operation.
  • PDLs examples include LIPS, PostScript, and PCL.
  • a ROM 122 further includes a font ROM 122 b that stores font data used to create the output image and a data ROM 122 c that stores tables used for various kinds of image processing, etc.
  • the printer CPU 121 is configured so as to be allowed to communicate with the host computer 101 via a host I/F unit 124 .
  • the printer CPU 121 receives print data, and notifies the host computer 101 of various status information of the printer 102 .
  • the RAM 123 functions as a program area for loading a program executed by the printer CPU 121 , a work area for storing various data, etc.
  • the RAM 123 is used as a receiving buffer 123 a for temporarily storing a print job received from the host computer 101 , and is used to create a page image in accordance with the input PDL.
  • the RAM 123 is used as a rendering object memory 123 b for storing the analysis result of the print job as an intermediate object and a page spool memory 123 c for storing a page image into which the rendering object has been developed. Further, the RAM 123 is used as a work memory 123 d for storing environment data and an NVRAM (not shown) for storing menu setting content, etc.
  • An operation unit 104 includes an operation panel used to set various menus and other operations for the printer 102 via the printing unit I/F 127 , an LED display unit, etc.
  • the printer 102 is configured in such a manner as to allow the memory capacity to be increased by an optional RAM connected to an expansion port (not shown).
  • the printer engine 105 performs printing by forming a latent image on a photoconductor drum in accordance with a video signal, and making the image be thermally fixed on a sheet.
  • the printer engine 105 applied to the present embodiment may be an image processing apparatus based on various printing systems, such as a laser beam printer (hereinafter, called an LBP) or an inkjet printer.
  • LBP laser beam printer
  • inkjet printer an inkjet printer
  • SFP single function image processing apparatus
  • MFP multifunction image processing apparatus
  • FIG. 2 is a block diagram showing a program configuration regarding a printing process in the host computer 101 according to the present embodiment.
  • an application 202 a graphic engine 204 , a print processor 206 , a printer driver 207 , and a system spooler 208 are stored as files in the HDD 119 , which is an external storage device, shown in FIG. 1 .
  • These are a group of program modules which are loaded in the RAM 111 by the OS at the time of execution and executed by the CPU 109 .
  • the graphic engine 204 , the print processor 206 , and the system spooler 208 are provided as OS modules 203 , which are part of the OS.
  • the application 202 and the printer driver 207 can be installed in the HDD 119 via a CD-ROM or a network connected to the external device I/O 117 .
  • the application 202 when the application 202 gives various rendering instructions to the display 114 or the printer 102 , the application 202 performs rendering using GDI, which is a group of service functions provided by the graphic engine 204 , part of the OS.
  • GDI stands for Graphic Device Interface.
  • the graphic engine 204 When a user gives a print instruction for a document through operation of the print menu of the application 202 , the graphic engine 204 first creates an EMF spool file, which is composed of intermediate code, in accordance with the print instruction from the application 202 , and temporarily spools it.
  • the EMF spool file is an Enhanced Metafile type file.
  • the print processor 206 similarly loaded in the RAM 111 from the HDD 119 , reads the print data temporarily stored as a spool file 205 , converts the rendering instructions using GDI functions into DDI functions, and sends a notification to the printer driver 207 .
  • DDI stands for Device Driver Interface.
  • the printer driver 207 converts the DDI functions received from the print processor 206 into PDL commands which can be interpreted by a printer.
  • the PDL commands after the conversion is output to the printer 102 as a print job through the system spooler 208 and via the bidirectional interface 106 , in the present configuration.
  • the application 202 is released after all the print instructions are converted into intermediate code and output to the spool file 205 .
  • the printer driver 207 is released earlier than when waiting for the printer driver 207 to finish the conversion of all the print instructions into PDL commands.
  • the printer driver 207 is configured to be able to process the content of the spool file 205 in various manners.
  • the printer driver 207 can perform enlarging/reducing of a page, n-up printing in which a plurality of pages are printed as one page after reduction in size, or the like, in accordance with the layout information set using GUI provided by the printer driver 207 .
  • FIG. 3 shows an example GUI screen displayed on the display 114 by the printer driver according to the present embodiment.
  • Reference numeral 301 shows an example of a print tab used for page setup. Furthermore, the print tab includes a page size selection box 302 , a box 303 for specifying the number of copies, a page layout setting box 304 for specifying a layout, such as n-up printing, etc.
  • the print settings specified here are stored in a work area in the printer driver, and are referred to when print instructions from the print processor 206 are processed.
  • print quality settings such as print resolution and a color mode can also be specified.
  • various print settings specified by a user are included in print data so as to be transmitted to the printer 102 .
  • FIG. 4 is a sectional view showing the internal structure of an MFP as an example of the printer 102 included in the image processing system according to the present embodiment.
  • reference numeral 410 denotes a mechanical printing unit.
  • the mechanical printing unit 410 when receiving a print instruction, feeds a sheet from a paper feeding unit 400 , and the sheet is passed through an image forming unit 404 using sheet conveying rollers 401 , 402 , and 403 .
  • toner is transferred to the sheet using electrophotography.
  • a laser driver drives a semiconductor laser to scan the surface of an electrostatic drum, whereby an electrostatic latent image is formed which is made of charged toner. This latent image, after undergoing development performed by a developing unit surrounding the drum, is transferred to a sheet.
  • the toner transferred to a sheet is fixed on the sheet by heat and pressure while it passes through a fixing device 405 .
  • the sheet with toner fixed thereon is output through a sheet conveying roller 406 to a sheet ejecting unit (finisher) 430 .
  • finisher sheet ejecting unit
  • the sheet is usually switched back using a switch back path 407 , whereby the printed surface is made to face downward (face down), and then output via a sheet conveying roller 406 to the finisher 430 .
  • the sheet fed from the mechanical printing unit 410 to the finisher 430 is ejected to an upper tray 432 or a lower tray 433 using sheet conveying rollers 431 a to 431 m .
  • the upper tray 432 is a general paper output tray, but the lower tray 433 is a paper output tray which can hold sheets that have undergone a folding process.
  • a paper folding unit 434 is provided in front of the lower tray 433 . A sheet for which folding is specified is folded by the paper folding unit 434 and then output to the lower tray 433 .
  • the finisher 430 is provided with an inserter 435 used to insert a partitioning sheet.
  • a sheet set on an inserter tray 436 or 437 which is part of the inserter 435 , may be fed at any time.
  • the sheet is output to the upper tray 432 or the lower tray 433 using sheet conveying rollers 438 a to 438 f and sheet conveying rollers 431 e to 431 m.
  • Reference numeral 420 denotes a control unit (controller) used to control the entire apparatus and corresponds to the control unit 103 shown in FIG. 1 .
  • Reference numeral 440 denotes a scanner. An image captured by the scanner 440 is processed by the control unit 420 to produce a copy image to be printed.
  • FIG. 14 shows the configuration of part of an image processing module in the printer driver 207 according to the present embodiment.
  • Reference numeral 1401 in FIG. 14 denotes an image processing module which is called when the DDI function received from the print processor 206 is an instruction to render image data.
  • the image processing module 1401 includes the following modules ( 1402 to 1407 ), shown below.
  • An input-image-size determination module 1402 determines the image size of the image data specified by the print processor 206 .
  • An output-image-size determination module 1403 determines the image size of a destination area.
  • a scaling factor computing module 1404 computes the scaling factor of the image data.
  • a single-color determination module 1405 determines whether or not the image data is single-color image data.
  • An image replacing module 1406 is a module called when the image data is single-color image data.
  • An image command creating module 1407 creates image commands used to create PDL data by performing color processing, such as color matching processing, and compression processing on the image data.
  • FIG. 8 shows the steps of processing one block of image data performed by the printer driver 207 .
  • the steps of the flow is controlled by the CPU 109 of the host computer 101 .
  • step S 801 shown in FIG. 8 the image processing module 1401 receives image data from the print processor 206 in the form of a DDI function instructing rendering of the image data.
  • step S 802 the width and height of a source image are obtained from the rendering parameters specified by the DDI function.
  • step S 803 it is determined whether or not the width and/or height of the source image is equal to or less than a threshold of 20 pixels. If the determination result is No, the image command creating module 1407 creates PDL data as normal image data in step S 810 .
  • a scaling factor R is computed from the widths and heights of the source image and destination image in step S 804 .
  • scaling factors in the x and y directions can be specified independently, as follows:
  • step S 805 it is determined whether or not reduction is specified for the image data, i.e., whether or not the scaling factor is 1 or less (Rx ⁇ 1.0 or Ry ⁇ 1.0), and when the determination result in step S 805 is Yes, it is determined whether or not the image data is single-color data in a later step. If the determination result in step S 805 is No, the image data is processed in step S 810 as normal image data for which a scaling factor of 1 or more is specified.
  • steps S 803 and S 804 , and S 805 need not be performed in this order.
  • the determination result in step S 810 is Yes, it is determined in steps S 807 and S 808 whether or not the image data is single-color image data.
  • the image data is processed in step S 810 as normal image data, similarly to the cases in which the determination results were No in steps prior to step S 807 .
  • step S 808 when the determination result in step S 808 is Yes, the image data undergoes a conversion process such that the scaling factor of the image data becomes 1.0 and each of the parameters srcw and srch is rewritten, in the final step S 809 of the image data processing.
  • the process branches on the basis of the determination result regarding the number of the gradation bits of the image data in step S 806 ; however, the determination step S 806 may be omitted when it is determined whether or not the image data is single-color image data for all the gradation levels supported by the PDL in step S 807 .
  • the processing may be limited to gradation of 1 bpp.
  • the data size of one pixel is switched in accordance with the color space and the number of gradation levels of the image data as follows.
  • this color value determination process is performed only when reduction of image data of a predetermined size or less is specified, thereby decreasing the loss time for the entirety of the processing.
  • the present embodiment is configured so as to perform determination on single-color data only for image data in which both source image width (srcw) and height (srch) are 20 pixels or less; however, not limited to this value (20), a configuration may be used in which any value can be specified by a user operation, through a driver user interface, for example.
  • step S 809 A conversion process performed in step S 809 for an image that has been determined to consist of a single color in step S 807 , will now be explained with reference to FIGS. 6 , 10 , and 12 .
  • FIG. 10 illustrates a method of replacing image data according to the present embodiment.
  • reference numeral 1001 denotes a source image before replacement
  • reference numeral 1002 denotes a destination image shown in the form of pixels.
  • the source image 1001 is a single-color image having a width (srcw) of 7 and a height (srch) of 3, and is reduced and rendered in an area having a width (dstw) of 4 and a height (dsth) of 1.
  • the source image 1001 consists of a single image.
  • the reduction process is simplified by copying the pixels in the head portion of the image data in a number corresponding to the size of the destination image 1002 , thereby omitting a known interpolation process such as a decimation process or a smoothing process.
  • FIG. 6 shows how a source image 601 is replaced, through the conversion process, with an image having the same size as that of a destination image 602 , i.e., replaced with an image having a scaling factor of one.
  • srcw and srch are respectively replaced with dstw and dsth, resulting in a scaling factor of one.
  • the printer 102 that receives the image data need not perform any scaling process such as enlarging or reducing.
  • FIG. 12 shows examples of image data rendering commands, created by the printer driver 207 according to the present embodiment, in which the image has been converted to an image having a scaling factor of one.
  • the values of the parameters srcw and srch of a “start image” command are respectively replaced with the values of the width and height of the destination. Then in the real image data portion of a “transfer image” command, an amount of 2 ⁇ 1 pixels, which is the same as the size of the destination area, is specified.
  • the first embodiment showed an example in which a single-color source image for which reduction is specified is converted into a source image having the same size as that of a destination image, i.e., converted into a source image having a scaling factor of one with respect to a destination image; however, the method of conversion is not limited to this.
  • a conversion method according to the present embodiment allows the data transmission load to be lowered.
  • a source image is replaced with an image consisting of one pixel (1 ⁇ 1 pixel), which is the smallest configuration unit, as shown in FIG. 7 .
  • the present embodiment allows the data size of a source image to be reduced to the minimum, thereby enhancing the effect of data reduction on the transmission path.
  • the printer 102 In this case, an enlarging process is required in the printer 102 that receives the image data; however, the printer 102 is assumed to be configured so as to be able to perform the enlargement process at high speed using hardware such as an ASIC.
  • the following configuration can also be employed to lower the transmission load.
  • Single-color image data of a predetermined size required for a destination image may be prepared in the RAM 111 in advance.
  • the image replacing module 1406 may replace the input image data with the single-color image data prepared in advance, rather than newly creating converted image data whenever it is required.
  • a configuration may be employed in which an array of only bits “ 0 ” and an array of only bits “ 1 ” are prepared in advance as shown in FIG. 13 so as to further increase the processing speed.
  • padding is performed such that the number of pixels in the width direction becomes multiples of eight.
  • such an array of pixels that is 24 pixels wide and 20 pixels high is provided.
  • the operation of the printer 102 will be described when it receives data, for which reduction has been specified by an application, scaled by the host computer before transmission to the printer 102 , as described in the previous embodiments.
  • the interpretation results of the plurality of successive image rendering commands are temporarily spooled, so as to perform rendering processing in a batch mode.
  • the printer driver 207 converts single-color image data, for which reduction is specified, into image data having a specified scaling factor of one (same size) or more.
  • This configuration allows the number of program steps performed in the processing loop of a program stored in the program ROM 122 a to be decreased. Further, since the number of accesses to the ROM 122 , which is an external memory, performed by the printer CPU 121 decreases, the hit ratio of the instruction cache in the printer CPU 121 is increased.
  • step S 901 the number of times an image data block is spooled (number of spooling operations) is reset to zero as an initialization process.
  • steps S 902 to S 905 an image rendering command is received and a scaling factor is computed from the width and height parameters of the image data block. Since this is similar to the process performed by the printer driver 207 in the first embodiment, detailed explanation is omitted.
  • step S 906 it is determined whether or not both of the scaling factors Rx and Ry are one or more, and when the determination result is Yes, the image data block is spooled in step S 907 . Then, a plurality of the spooled image data blocks undergo a rendering process (steps S 907 to S 915 ), repeatedly.
  • the rendering process refers to a series of processes from the interpretation of image rendering commands to the creation of intermediate rendering objects (display list), which can be rendered.
  • step S 913 that creates the image rendering object has a structure in which a loop is repeated as many times as the number of spooling operations, hence the number of spooling operations is to be incremented by one in step S 912 .
  • step S 907 the parameters required for the creation of rendering objects and the image data block itself are obtained from the “start image” command, “transfer image” command, and “end image” command, and stored in the work memory 123 d .
  • step S 908 the number of spooled data blocks (number of spooling operations) is incremented by one, and it is determined whether or not the number of spooling operations is beyond a predetermined maximum number of spooling operations (fixed value “MAX” in FIG. 9 ) in step S 909 .
  • step S 910 When it is determined in step S 910 that the number of spooling operations does not exceed MAX, the subsequent rendering command is read in advance, and it is determined whether the read rendering command is a “start image” command, i.e., whether a subsequent image exists (step S 910 ). When the read rendering command is a “start image” command, the flow goes back to step S 902 to continue spooling.
  • step S 909 When it is determined that the number of spooling operations exceeds MAX in step S 909 , or that the subsequent rendering command is not a “start image” instruction in step S 910 , the flow proceeds to step S 913 to create image rendering objects from the image data blocks that have been spooled.
  • the flow of processing image rendering commands is divided into two loops: the processing loop (steps S 902 to S 910 ) of interpreting a PDL command, and the processing loop (steps S 913 to S 915 ) of creating an image rendering object.
  • the processing loop steps S 902 to S 910
  • the processing loop steps S 913 to S 915
  • the printer driver 207 can transmit image data in an uncompressed form so as to make it easy to determine whether or not received image data is single-color data.
  • the number of image data blocks determined to have sizes of less than 20 pixels is counted.
  • the present embodiment may be configured to perform the above-described process of single-color determination or the process of replacement only when the total number of image data blocks included in a print job is more than one.
  • the printer driver 207 is configured to spool the content of print instructions received via the graphic engine 204 on a page or print job basis. Note that a spooling technology is already disclosed for performing single-color determination or n-up printing, and hence, description thereof is omitted here.
  • the present invention may also be realized by performing the following processing. That is, by providing a system or an apparatus with a storage medium containing the program code of software that realizes the functions of the embodiments, the processing is performed in such a manner that the computer (or a CPU or an MPU) of the system or the apparatus reads the program code stored in the storage medium.
  • the program code itself read from the storage medium realizes the functions of the embodiments, and hence, the program code and the storage medium containing the program code configure the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
US12/511,949 2008-07-31 2009-07-29 Information processing apparatus, method of information processing, and storage medium for performing scaling processing on image data Expired - Fee Related US8451478B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/870,865 US8724153B2 (en) 2008-07-31 2013-04-25 Information processing apparatus, method of information processing, and storage mediurn for performing scaling processing on image data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008197973A JP5171461B2 (ja) 2008-07-31 2008-07-31 情報処理装置および情報処理方法並びに情報処理システム及びプログラム
JP2008-197973 2008-07-31

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/870,865 Continuation US8724153B2 (en) 2008-07-31 2013-04-25 Information processing apparatus, method of information processing, and storage mediurn for performing scaling processing on image data

Publications (2)

Publication Number Publication Date
US20100027067A1 US20100027067A1 (en) 2010-02-04
US8451478B2 true US8451478B2 (en) 2013-05-28

Family

ID=41608043

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/511,949 Expired - Fee Related US8451478B2 (en) 2008-07-31 2009-07-29 Information processing apparatus, method of information processing, and storage medium for performing scaling processing on image data
US13/870,865 Active US8724153B2 (en) 2008-07-31 2013-04-25 Information processing apparatus, method of information processing, and storage mediurn for performing scaling processing on image data

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/870,865 Active US8724153B2 (en) 2008-07-31 2013-04-25 Information processing apparatus, method of information processing, and storage mediurn for performing scaling processing on image data

Country Status (2)

Country Link
US (2) US8451478B2 (enrdf_load_stackoverflow)
JP (1) JP5171461B2 (enrdf_load_stackoverflow)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110228286A1 (en) * 2010-03-17 2011-09-22 Nobuyoshi Kaima Image forming apparatus and image forming method
US20120185764A1 (en) * 2010-11-17 2012-07-19 Michael Ball Systems and methods for content development and management
US9607360B2 (en) 2014-08-06 2017-03-28 Xerox Corporation Modifying the size of document content based on a pre-determined threshold value

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5310777B2 (ja) * 2011-04-27 2013-10-09 コニカミノルタ株式会社 画像形成装置、画像処理方法及び画像処理プログラム
WO2014061124A1 (ja) * 2012-10-18 2014-04-24 Necディスプレイソリューションズ株式会社 ディスプレイ装置、及び画像表示方法
JP6064592B2 (ja) * 2012-12-27 2017-01-25 株式会社リコー 印刷システム、印刷方法、画像形成装置及び制御デバイス
KR102103730B1 (ko) * 2013-11-19 2020-06-01 삼성디스플레이 주식회사 디스플레이 구동장치 및 이를 포함하는 디스플레이 장치
JP6191505B2 (ja) * 2014-02-28 2017-09-06 ブラザー工業株式会社 画像処理装置、及び、画像処理プログラム
JP2020107242A (ja) * 2018-12-28 2020-07-09 キヤノン株式会社 情報処理装置、印刷データの生成方法、並びにプログラム
US11715755B2 (en) 2020-06-15 2023-08-01 Taiwan Semiconductor Manufacturing Co., Ltd. Structure and method for forming integrated high density MIM capacitor
CN118396992B (zh) * 2024-06-26 2024-10-11 爱芯元智半导体股份有限公司 自适应检查数据的比特位宽的装置、方法及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000255123A (ja) 1999-03-09 2000-09-19 Fuji Xerox Co Ltd 描画処理装置
JP2001101431A (ja) 1999-09-27 2001-04-13 Canon Inc 画像処理装置および画像処理方法
JP2006246374A (ja) 2005-03-07 2006-09-14 Toshiba Corp 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム
US20080062438A1 (en) * 2006-09-12 2008-03-13 Xiofan Lin Document resizer
US20090089660A1 (en) * 2007-10-01 2009-04-02 Atkins C Brian Arranging graphic objects on a page with relative position based control
US7640516B2 (en) * 2003-09-30 2009-12-29 Hewlett-Packard Development Company, L.P. Arranging graphic objects on pages
US7724391B2 (en) * 2005-02-28 2010-05-25 Canon Kabushiki Kaisha Image processing apparatus, image processing method and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105884B2 (ja) * 1991-12-11 1995-11-13 株式会社日立製作所 画像情報伝送装置
JP3735583B2 (ja) * 2002-04-23 2006-01-18 京セラミタ株式会社 デジタルカラー複写機

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000255123A (ja) 1999-03-09 2000-09-19 Fuji Xerox Co Ltd 描画処理装置
JP2001101431A (ja) 1999-09-27 2001-04-13 Canon Inc 画像処理装置および画像処理方法
US20050237574A1 (en) 1999-09-27 2005-10-27 Canon Kabushiki Kaisha Image processing apparatus and method
US7640516B2 (en) * 2003-09-30 2009-12-29 Hewlett-Packard Development Company, L.P. Arranging graphic objects on pages
US7724391B2 (en) * 2005-02-28 2010-05-25 Canon Kabushiki Kaisha Image processing apparatus, image processing method and program
JP2006246374A (ja) 2005-03-07 2006-09-14 Toshiba Corp 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム
US20080062438A1 (en) * 2006-09-12 2008-03-13 Xiofan Lin Document resizer
US20090089660A1 (en) * 2007-10-01 2009-04-02 Atkins C Brian Arranging graphic objects on a page with relative position based control

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Toshiaki, Drawing Processing Apparatus, Sep. 9, 2000, Machine Translation, Japanse Patent Application Publication JP2000255123, all pages. *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110228286A1 (en) * 2010-03-17 2011-09-22 Nobuyoshi Kaima Image forming apparatus and image forming method
US8767250B2 (en) * 2010-03-17 2014-07-01 Ricoh Company, Limited Image forming apparatus and method for increasing image resolution and magnification
US9241089B2 (en) 2010-03-17 2016-01-19 Ricoh Company, Limited Image forming apparatus and method for scaling image data by a correction pixel
US20120185764A1 (en) * 2010-11-17 2012-07-19 Michael Ball Systems and methods for content development and management
US9349130B2 (en) * 2010-11-17 2016-05-24 Eloqua, Inc. Generating relative and absolute positioned resources using a single editor having a single syntax
US9607360B2 (en) 2014-08-06 2017-03-28 Xerox Corporation Modifying the size of document content based on a pre-determined threshold value

Also Published As

Publication number Publication date
US20130235393A1 (en) 2013-09-12
US20100027067A1 (en) 2010-02-04
JP2010039507A (ja) 2010-02-18
JP5171461B2 (ja) 2013-03-27
US8724153B2 (en) 2014-05-13

Similar Documents

Publication Publication Date Title
US8451478B2 (en) Information processing apparatus, method of information processing, and storage medium for performing scaling processing on image data
US8953214B2 (en) Print control method, information processing apparatus, and recording medium
JP5531531B2 (ja) 画像処理システム及び画像処理プログラム
US20070086050A1 (en) Information processing apparatus, image processing method, and machine-readable medium
US8610931B2 (en) Information processing apparatus, information processing method, and storage medium
US20090097067A1 (en) Optimizing raster operation functions during print job processing
US20160127604A1 (en) Image processing apparatus, method for performing specific process, and computer-readable storage medium for computer program
EP2544127B1 (en) Parallel rip processing for sheet images that include graphics defined by a job ticket
US8614823B2 (en) Technique for processing print data in parallel using plural raster image processors in order to increase printing speed
US8891129B2 (en) Image forming apparatus having real-size preview function, method of controlling the same, and storage medium
JP2019098580A (ja) 画像形成装置
US8786908B2 (en) Image forming apparatus, method of controlling drawing processing, and recording medium storing drawing processing control program
JP5842590B2 (ja) 画像処理装置、及び画像処理装置の制御プログラム
JP2017024321A (ja) 画像処理装置、画像形成装置及び画像処理時間予測方法及びプログラム
US8804141B2 (en) Character output device, character output method and computer readable medium
US9165225B2 (en) Program and information processing apparatus
US8804188B2 (en) Computer-readable storage device storing page-layout program and information processing device
US8917411B2 (en) Computer connectable with a printer, computer-readable storage medium, and printing method with data generation time reduction capability
US20170300789A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable medium
US20120307269A1 (en) Image forming apparatus, image drawing processing method, software program, and storage medium
US8503002B2 (en) Print control device, printing system and computer-readable recording medium storing printing program
US8437046B2 (en) Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing
US20250085910A1 (en) Methods and printing system using page complexity detection for printing operations
US20100046028A1 (en) Host apparatus, image forming apparatus, and printing data processing method thereof
JP2013075395A (ja) 画像形成装置、画像形成制御方法及び画像形成制御プログラム

Legal Events

Date Code Title Description
AS Assignment

Owner name: CANON KABUSHIKI KAISHA,JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TSUNEKAWA, KIYOHIRO;REEL/FRAME:023349/0830

Effective date: 20090703

Owner name: CANON KABUSHIKI KAISHA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TSUNEKAWA, KIYOHIRO;REEL/FRAME:023349/0830

Effective date: 20090703

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20170528