US20160034793A1 - Image forming apparatus, method for generating pixel information, and non-transitory recording medium - Google Patents

Image forming apparatus, method for generating pixel information, and non-transitory recording medium Download PDF

Info

Publication number
US20160034793A1
US20160034793A1 US14/802,224 US201514802224A US2016034793A1 US 20160034793 A1 US20160034793 A1 US 20160034793A1 US 201514802224 A US201514802224 A US 201514802224A US 2016034793 A1 US2016034793 A1 US 2016034793A1
Authority
US
United States
Prior art keywords
information
configuration
data
command
area
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.)
Abandoned
Application number
US14/802,224
Other languages
English (en)
Inventor
Tomoaki Okamura
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Assigned to RICOH COMPANY, LTD. reassignment RICOH COMPANY, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OKAMURA, TOMOAKI
Publication of US20160034793A1 publication Critical patent/US20160034793A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F3/1241Dividing a job according to job requirements, e.g. black/white and colour pages, covers and body of books, tabs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • G06K15/1807Receiving job control commands relating to the print image preparation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • G06K15/1811Receiving print data characterized by its formatting, e.g. particular page description languages including high level document description only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1852Generation of the printable image involving combining data of different types
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32459Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter for changing the arrangement of the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Definitions

  • the present invention relates to an image forming apparatus, a method of generating pixel information, and a non-transitory recording medium storing a program for generating pixel information.
  • an image processing apparatus such as a printer or a facsimile used for outputting the computerized information and a scanner used for computerizing documents has become an essential apparatus.
  • Such an image processing apparatus is often configured as a multifunction peripheral that can be used as a printer, a facsimile, a scanner, and a copier by having an imaging function, a print function, a communication function, and the like.
  • a print engine performs image processing (hereinafter referred to as a drawing process) of generating drawing information for executing printing based on input image information.
  • image processing is accelerated by dedicated hardware as well as when executed by an arithmetic unit such as a central processing unit (CPU) operating according to software.
  • CPU central processing unit
  • Example embodiments of the present invention include an apparatus, method, and a program stored in a non-transitory recording medium, each of which is capable of generating pixel information to be used for printing an image.
  • the apparatus generates figure information in which items of information are grouped for each figure to be drawn in a printing target image based on a print execution command.
  • the figure information includes: drawing information of the figure including command data for executing drawing and actual data indicating the content of the drawing; and configuration information of the figure including command data for executing configuration and actual data indicating the content of the configuration, the command data of the configuration information including area information indicating a configuration target area of the printing target image to which the configuration is applied.
  • the apparatus reads the actual data only when a range indicated by the area information of the command data is included at least partially in a target divided area of the printing target image, and generates pixel information of each pixel forming the printing target image based on the figure information using the read actual data, for each one of a plurality of divided areas of the printing target image.
  • FIG. 1 is a block diagram of a hardware configuration of an image forming apparatus according to an embodiment of the present invention
  • FIG. 2 is a diagram of a functional configuration of the image forming apparatus according to an embodiment of the present invention.
  • FIG. 3 is a block diagram of the functions included in an image processor according to an embodiment of the present invention.
  • FIG. 4 is a diagram of a configuration of intermediate data according to an embodiment of the present invention.
  • FIG. 5 is a diagram of how intermediate data is read according to an embodiment of the present invention.
  • FIG. 6 is a diagram of the content of an image drawing command according to an embodiment of the present invention.
  • FIG. 7 is a diagram of the content of a general dither configuration command
  • FIG. 8 is a diagram of an example of an object layout according to an embodiment of the present invention.
  • FIG. 9 is a diagram of the order in which command data is read according to an embodiment of the present invention.
  • FIG. 10 is a diagram of how command data is skipped according to an embodiment of the present invention.
  • FIG. 11 is a diagram of how command data is skipped according to an embodiment of the present invention.
  • FIG. 12 is a flowchart of an intermediate data generation operation according to an embodiment of the present invention.
  • FIG. 13 is a diagram of an example of print data according to an embodiment of the present invention.
  • FIG. 14 is a diagram of the content of a dither configuration command according to an embodiment of the present invention.
  • FIG. 15 is a flowchart of a band data generation operation according to an embodiment of the present invention.
  • FIG. 16 is a diagram of the content of a dither configuration command according to an embodiment of the present invention.
  • FIG. 17 is a diagram of the content of a dither configuration command according to an embodiment of the present invention.
  • processors may be implemented as program modules or functional processes including routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and may be implemented using existing hardware at existing network elements or control nodes.
  • existing hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application-specific-integrated-circuits, field programmable gate arrays (FPGAs) computers or the like. These terms in general may be referred to as processors.
  • CPUs Central Processing Units
  • DSPs digital signal processors
  • FPGAs field programmable gate arrays
  • terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
  • a read speed can be accelerated by storing the data to be read by the hardware in a dedicated memory.
  • the data to be read by the hardware includes command data and actual data.
  • the command data is the data of a command (hereinafter referred to as a “drawing command”) for drawing an object such as a picture or a letter included in an image and the data of a command (hereinafter referred to as a “configuration command”) for designating dithering or y-correction.
  • the actual data is the data (hereinafter referred to as “drawing data”) of an object such as a picture or a letter and the actual data (hereinafter referred to as “configuration data”) of a dithering value or a y-correction value.
  • the dedicated memory has a limited volume whereas the actual data has a large size.
  • the command data among the command data and the actual data is stored in the dedicated memory, and the actual data is generally stored in a shared memory. Therefore, the actual data is read from the shared memory in response to reading of the command data.
  • the hardware that performs image processing reads a command for an object included in a target band in which drawing information is generated, from a dedicated memory and reads actual data from a shared memory according to the information described in the command.
  • the data that describes the content of the image in each page is a collection of the command data and actual data.
  • the command data and the actual data are not created for respective bands but may be created for a plurality of bands depending on an object.
  • image processing is executed based on the information of an object included in a target band.
  • configuration data is generally configured for each page rather than for each object, the configuration command does not include the information on the position on a page.
  • actual data such as a dithering value or a y-correction value for the image data is read unnecessarily, which makes processing inefficient.
  • an image forming apparatus as a multifunction peripheral (MFP) including the functions of a printer, a scanner, a copier, and the like will be described by way of an example.
  • the image forming apparatus according to the present embodiment processes a print job when the print job is received to execute printing.
  • FIG. 1 is a block diagram of a hardware configuration of a control system of an image forming apparatus 1 according to the present embodiment.
  • the control system of the image forming apparatus 1 according to the present embodiment has the same configuration as an information processing apparatus such as a general personal computer (PC) or a server. That is, the control system of the image forming apparatus 1 according to the present embodiment includes a central processing unit (CPU) 10 , a random access memory (RAM) 20 , a read only memory (ROM) 30 , a hard disk drive (HDD) 40 , and an I/F 50 which are connected by a bus 90 . Moreover, a liquid crystal display (LCD) 60 , an operation device 70 , and a dedicated device 80 are connected to the I/F 50 .
  • LCD liquid crystal display
  • the CPU 10 controls the operation of the entire image forming apparatus 1 .
  • the RAM 20 is a volatile memory that the CPU 10 is capable of reading and writing information at high speed therefrom or thereto, and is used as a work area when the CPU 10 processes information.
  • the ROM 30 is a read-only nonvolatile memory and stores a program such as firmware therein.
  • the HDD 40 is a nonvolatile memory that the CPU 10 is capable of reading and writing information therefrom or thereto and stores an operating system (OS), various control programs, application programs, and the like.
  • OS operating system
  • the I/F 50 connects various hardware components and networks, and the like to the bus 90 and controls the same.
  • the LCD 60 is a visual user interface that allows a user to check the state of the image forming apparatus 1 .
  • the operation device 70 is a user interface that allows a user to input information to the image forming apparatus 1 and includes a touch panel, hard keys, and the like.
  • the dedicated device 80 is a hardware component for realizing the dedicated functions of the image forming apparatus 1 and includes a conveying mechanism that conveys a printing target sheet and a plotter that executes printing on a sheet surface.
  • the dedicated device 80 further includes a dedicated computing device for performing image processing at high speed.
  • Such computing device is configured as an application specific integrated circuit (ASIC), for example.
  • ASIC application specific integrated circuit
  • the CPU 10 performs operation according to the program stored in the ROM 30 or the program read into the RAM 20 from the HDD 40 or a recording medium such as an optical disc, to implement a software controller.
  • the software controller and the hardware components operate in cooperation to achieve the functions of the image forming apparatus 1 according to the present embodiment.
  • FIG. 2 is a block diagram of the configuration of the image forming apparatus 1 according to the present embodiment.
  • the image forming apparatus 1 according to the present embodiment includes a controller 100 , an auto document feeder (ADF) 110 , a scanner unit 120 , a document ejection tray 130 , an operation panel 140 , a sheet feeding device 150 , a print engine 160 , a sheet ejection tray 170 , and a network I/F 180 .
  • ADF auto document feeder
  • the controller 100 includes a main controller 101 , an engine controller 102 , an input/output controller 103 , an image processor 104 , and an operation panel controller 105 .
  • the image forming apparatus 1 according to the present embodiment is configured as a multifunction peripheral that includes a scanner unit 120 and a print engine 160 .
  • electrical connections are depicted by solid-line arrows and the flow of a sheet is depicted by broken-line arrows.
  • the operation panel 140 operates as an output interface for visually displaying the state of the image forming apparatus 1 , and as an input interface (operation device) with a touch panel for allowing the user to operate the image forming apparatus 1 directly or to input information to the image forming apparatus 1 .
  • the network I/F 180 is an interface for allowing the image forming apparatus 1 to communicate with other apparatuses via a network, which may be implemented by an Ethernet (registered trademark) interface or a universal serial bus (USB) interface.
  • the controller 100 is configured as a combination of software and hardware components as described above.
  • the controller 100 functions as a controller that controls the entire image forming apparatus 1 .
  • the main controller 101 controls the respective units included in the controller 100 and issues commands to the respective units of the controller 100 .
  • the engine controller 102 controls or drives the print engine 160 , the scanner unit 120 , or the like.
  • the input/output controller 103 inputs signals and commands input via the network I/F 180 to the main controller 101 .
  • the main controller 101 controls the input/output controller 103 and accesses other apparatuses via the network I/F 180 .
  • the image processor 104 generates drawing data based on print information included in an input print job under control of the main controller 101 .
  • the drawing data is information for allowing the print engine 160 which is an image forming unit to draw an image to be formed in printing, such as pixel information (that is, bitmap data) in which a printing target image is expressed as the information of each pixel.
  • the print information included in a print job is information which is converted into such a format as to be recognized by the image forming apparatus 1 by a printer driver installed in an information processing apparatus such as a PC and is information described in page description language (PDL).
  • PDL page description language
  • the print information is page information in which the information on a page to be printed is described.
  • the image processor 104 generates intermediate data based on a print job as a preliminary step of drawing data when generating the drawing data based on the print job.
  • the function of the image processor 104 will be described in detail later.
  • the operation panel controller 105 displays information on the operation panel 140 or inform the main controller 101 of the information input via the operation panel 140 .
  • the input/output controller 103 receives a print job via the network I/F 180 from the outside apparatus.
  • the input/output controller 103 transmits the received print job to the main controller 101 .
  • the main controller 101 controls the image processor 104 to generate drawing data based on print information included in the print job.
  • the engine controller 102 executes printing on a sheet conveyed from the sheet feeding device 150 based on the generated drawing data. That is, the print engine 160 functions as an image forming unit. As a specific aspect of the print engine 160 , an inkjet printing mechanism, an electrophotographic printing mechanism, and other mechanisms can be used, for example. A document on which an image has been printed by the print engine 160 is ejected to the sheet ejection tray 170 .
  • the image processor 104 when the image forming apparatus 1 operates as a copier, the image processor 104 generates drawing data based on scanned data that the engine controller 102 has received from the scanner unit 120 or image information that the image processor 104 has generated based on the scanned data.
  • the engine controller 102 drives the print engine 160 based on the drawing data similarly to the printing operation.
  • FIG. 3 is a block diagram of a configuration of the image processor 104 according to the present embodiment.
  • the image processor 104 according to the present embodiment includes a PDL application 300 , a hardware accelerator 400 , and a hardware accelerator (HA) sub memory 401 .
  • HA hardware accelerator
  • the PDL application 300 is a software module which is implemented by the CPU 10 according to a software program. As illustrated in FIG. 3 , the PDL application 300 includes an intermediate data generator 301 and a drawing core module 310 .
  • the intermediate data generator 301 acquires print information described in PDL and converts the same into intermediate data which is such a type of data that can be processed by the drawing core module 310 or the hardware accelerator 400 .
  • Examples of the format of PDL according to the present embodiment include Postscript, printer command language (PCL), and refined printing command stream (RPCS).
  • the intermediate data generator 301 converts print information which can be input in these various formats into intermediate data of a predetermined format.
  • the process of generating the intermediate data is referred to as a parsing process and the intermediate data generator 301 is referred to as a parser.
  • FIG. 4 is a diagram of an example of information included in the intermediate data according to the present embodiment.
  • the intermediate data according to the present embodiment is information in which items of information are grouped for each object included in a printing target image.
  • intermediate data is generated for respective objects.
  • the intermediate data is figure information in which items of information are grouped for each figure to be drawn in an image.
  • the intermediate data generator 301 functions as a figure information generator.
  • the intermediate data includes command data and actual data.
  • the command data is information for a drawing command for an object such as a picture, a letter, or a figure, and an image configuration command such as dithering or y-correction.
  • the actual data is the actual image data of the object and actual configuration value associated with the image configuration command (that is, the actual data is actual information).
  • drawing command and the actual image data are used as information on drawing of figures, and the configuration command and the actual configuration data are used as information on configuration.
  • FIG. 5 is a diagram of the content of an image drawing command.
  • the image drawing command includes an “image type,” an “X coordinate of drawing start position,” a “Y coordinate of drawing start position,” an “image width,” an “image height,” and an “initial address of drawing data”.
  • the “X coordinate of drawing start position,” the “Y coordinate of drawing start position,” the “image width,” and the “image height” are used as the information of the position of the object displayed on an image.
  • FIG. 6 is a diagram of the content of a general dither configuration command.
  • the dither configuration command includes a “dither type,” a “K plate dither, X size,” a “K plate dither, Y size,” and an “initial address of dither data”.
  • the drawing core module 310 acquires the intermediate data generated by the intermediate data generator 301 and generates drawing data for allowing the print engine 160 to execute printing. As illustrated in FIG. 3 , the drawing core module 310 includes a drawing module I/F 311 , an intermediate data processor 312 , an intermediate data memory 313 , a hardware controller 314 , a software drawing processor 315 , and a band memory 316 .
  • the drawing module I/F 311 is an interface for allowing the drawing core module 310 to acquire information from external apparatuses and acquires the intermediate data generated by the intermediate data generator 301 .
  • the intermediate data processor 312 stores the intermediate data acquired by the drawing module I/F 311 in the intermediate data memory 313 and the HA sub memory 401 .
  • the intermediate data processor 312 stores the intermediate data acquired via the drawing module I/F 311 in the intermediate data memory 313 and copies and stores the command data among the items of data included in the intermediate data in the HA sub memory 401 .
  • the intermediate data memory 313 is a storage area secured in the RAM 20 .
  • the hardware controller 314 allows the hardware accelerator 400 to execute image processing in accordance with the process of the intermediate data processor 312 storing the intermediate data.
  • FIG. 7 is a diagram for explaining how drawing data is generated based on the intermediate data according to the present embodiment.
  • the hardware accelerator 400 is an integrated circuit that generates drawing data based on intermediate data.
  • the hardware accelerator 400 reads such command data as illustrated in FIGS. 5 and 6 from the HA sub memory 401 and reads actual data from the intermediate data memory 313 based on the address designated in the command data such as the “initial address of drawing data” or the “initial address of dither data”.
  • Drawing data is generated based on the command data and the actual data acquired in this manner.
  • the software drawing processor 315 is a drawing processor that is configured as a software module.
  • the band memory 316 is a storage area for storing the drawing data generated by the software drawing processor 315 or the hardware accelerator 400 .
  • the band memory 316 is a storage area secured in the RAM 20 .
  • the software drawing processor 315 and the hardware accelerator 400 generate drawing data for respective image areas called “bands”.
  • the “bands” are respective divided areas obtained by dividing a printing target image into a plurality of areas in a sub-scanning direction.
  • the generated drawing data is also stored in the band memory 316 for respective bands.
  • the hardware accelerator 400 is a hardware module that executes image processing with the aid of hardware components and is realized by the dedicated device 80 described in FIG. 1 .
  • the HA sub memory 401 is a dedicated storage medium provided for a dedicated purpose for allowing the hardware accelerator 400 to read information at high speed and is realized by the dedicated device 80 described in FIG. 1 .
  • the RAM 20 is used as a shared storage medium that is shared for a plurality of purposes.
  • FIG. 8 is a diagram of an example of a target page in which drawing data is generated and how the page is divided into bands.
  • the target page includes “picture 1 ,” “picture 2 ,” and “picture 3 ” as image data and “letter 1 ” and “letter 2 ” as letter data.
  • the vertical axis is the Y-direction and the horizontal axis is the X-direction.
  • “Picture 1 ” extends over the first and second bands, and “picture 2 ” extends over the third and fourth bands. Moreover, “picture 3 ” extends over the third to sixth bands. “Letter 1 ” extends over the first and second bands and “letter 2 ” extends over the fourth to seventh bands.
  • FIG. 9 is a diagram of an example of the command data stored in the HA sub memory 401 .
  • the command data is stored so that the dither configuration command is read ahead of the drawing command for pictures or letters.
  • different dither configuration commands are generated for drawing of pictures and letters.
  • the dither configuration command is described by way of an example, the same can be applied to other commands configured in image processing such as a configuration command for a y-correction value.
  • dither configuration commands corresponding to the type of drawing such as a picture or a letter are read ahead of a drawing command, and corresponding dithering is configured for a drawing process for pictures or letters.
  • FIG. 10 is a diagram in which the items of data required for processing the fifth band illustrated in FIG. 8 are surrounded by broken lines.
  • the required data includes the configuration command and the drawing command for “letter 2 ” and “picture 3 ”.
  • the command data itself is read in the order illustrated in FIG. 10 .
  • the drawing command since the drawing command includes the information “Y coordinate” and “image height” as described in FIG. 5 , it is possible to determine whether the object is included in the target band based on the command data. As a result, since the “image drawing command for picture 1 ,” the “image drawing command for picture 2 ,” and the “image drawing command for letter 1 ” illustrated in FIG. 10 are not included in the target band, it may be reasonable to omit the reading of actual data from the intermediate data memory 313 .
  • the configuration command does not include information that indicates the position on a page as illustrated in FIG. 6 , it is not possible to determine whether the configuration command is the information required for the target band.
  • the processing of the fifth band involves reading of actual data based on the “dither configuration command for picture” appearing ahead of the “image drawing command for picture 1 ” or the “dither configuration command for letter” appearing ahead of the “image drawing command for letter 1 ”.
  • the processing is delayed by an amount corresponding to the reading.
  • FIG. 11 is a diagram in which the items of data required for processing the seventh band illustrated in FIG. 8 are surrounded by broken lines.
  • the configuration command and drawing command for “letter 2 ” are the required data.
  • reading of the actual data based on the dither configuration commands, respectively, appearing ahead of the “image drawing commands for pictures 1 and 2 ,” the “image drawing command for letter 1 ,” and the “image drawing command for picture 3 ” is an unnecessary process.
  • the PDL application 300 In order to obviate such an unnecessary process, the PDL application 300 according to the present embodiment generates information allowing the intermediate data generator 301 to determine whether the configuration command such as the dither configuration command illustrated in FIG. 6 is required for the respective bands when generating the intermediate data. In this way, it is possible to omit reading of the actual data corresponding to a command such as the image drawing command that is not required for a target band.
  • FIG. 12 is a flowchart of the operation of the intermediate data generator 301 according to the present embodiment. As illustrated in FIG. 12 , upon receiving print data from the main controller 101 (S 1201 ), the intermediate data generator 301 starts generating intermediate data (S 1202 ) and selects commands included in the print data sequentially (S 1203 ).
  • FIG. 13 is a diagram of an example of information included in the print data.
  • the print data illustrated in FIG. 13 includes a drawing command for objects included in an image.
  • the intermediate data generator 301 selects the respective commands illustrated in FIG. 13 sequentially.
  • the intermediate data generator 301 having selected a command checks whether the selected command is a drawing command for pictures or a drawing command for letters (S 1204 ).
  • the selected command is a drawing command for pictures (S 1204 : YES)
  • a dither configuration command for pictures has not yet been generated (S 1205 : NO)
  • the intermediate data generator 301 generates the dither configuration command for pictures as described in FIG. 6 and configures Y coordinate data based on the drawing position included in the selected drawing command as illustrated in FIG. 14 (S 1208 ).
  • the intermediate data generator 301 generates a drawing command for pictures based on the selected command (S 1209 ).
  • the intermediate data generator 301 updates the Y coordinate data based on the drawing position included in the selected drawing command (S 1206 ).
  • the process of S 1206 will be described by referring to FIG. 8 .
  • the drawing command for “picture 1 ” is selected and dither configuration data is generated by the process of S 1208 , the Y coordinate data at that time has a value corresponding to “picture 1 ”.
  • the Y coordinate data is updated by the process of S 1206 to have values that indicate the range in the Y-direction that includes “picture 1 ” and “picture 2 ”.
  • the drawing command for “picture 3 ” is selected subsequently, the Y coordinate data is updated by the process of S 1206 to have values that indicate the range in the Y-direction that includes “picture 1 ,” “picture 2 ,” and “picture 3 ”.
  • the intermediate data generator 301 determines whether the selected command is a drawing command for letters (S 1210 ). When the selected command is a drawing command for letters (S 1210 : YES), and a dither configuration command for letters has not yet been generated (S 1211 : NO), the intermediate data generator 301 generates the dither configuration command for letters as described in FIG. 6 and configures the Y coordinate data based on the drawing position included in the selected drawing command as illustrated in FIG. 14 (S 1213 ). After that, the intermediate data generator 301 generates a drawing command for letters based on the selected command (S 1214 ).
  • the intermediate data generator 301 updates the Y coordinate data based on the drawing position included in the selected drawing command (S 1212 ).
  • the process of S 1212 executes the process described for the drawing command for pictures on the drawing command for letters.
  • the intermediate data generator 301 executes a process corresponding to the command.
  • the intermediate data generator 301 repeats the processes starting with S 1203 for all commands included in the print data (S 1207 : NO).
  • S 1207 YES
  • the process ends.
  • the configuration data included in the intermediate data generated by the intermediate data generator 301 includes information on the range in the Y-axis direction to which the dither data is to be applied as the “Y coordinate of drawing start position” and “Y coordinate of drawing end position” for each picture and letter as illustrated in FIG. 14 . In this way, similarly to the case of the drawing command, it is possible to determine whether the configuration data is the data required for the target band.
  • the hardware accelerator 400 starts the drawing process according to the control of the hardware controller 314 .
  • the hardware accelerator 400 selects the commands stored in the HA sub memory 401 in such an order as illustrated in FIG. 9 (S 1501 ) and checks the Y coordinate by referring to the “Y coordinate of drawing start position” and the “image height” illustrated in FIG. 5 or the “Y coordinate of drawing start position” and the “Y coordinate of drawing end position” illustrated in FIG. 14 (S 1502 ).
  • the hardware accelerator 400 reads the actual data from the intermediate data memory 313 based on the address of actual data included in the command (S 1504 ) and executes a drawing data generation process (S 1505 ).
  • the hardware accelerator 400 omits the processes of S 1504 and S 1505 .
  • a pixel information generator implemented by the hardware accelerator 400 reads actual data to generate pixel information only the range of the checked Y coordinates is included at least partially in the target band.
  • the hardware accelerator 400 repeats the processes starting with S 1501 until all commands stored in the HA sub memory 401 are processed for one page of data (S 1506 : NO). When all commands have been processed (S 1506 : YES), the process ends. In determination of S 1506 , the “processing end command” illustrated in FIG. 10 can be referred to.
  • the band data generation operation according to the present embodiment can omit the reading of unnecessary actual data based on the Y coordinate data included in the command data. Due to this, it is possible to generate drawing data efficiently and to shorten the time required until printing is executed.
  • a case in which the “Y coordinate of drawing start position” and the “Y coordinate of drawing end position” as illustrated in FIG. 14 are set as the Y coordinate data of the configuration command is illustrated by way of an example.
  • the “Y coordinate of drawing start position” is at the position corresponding to the first band and the “Y coordinate of drawing end position” is at the position corresponding to the band appearing further ahead of the seventh band.
  • a band which appears later than the seventh band and in which no picture is included is also determined to be within the range of a configuration command.
  • this problem can be solved by designating a plurality of Y coordinate areas according to an area in which a picture or a letter is included like “Y coordinate area 1 ,” “Y coordinate area 2 ,” and the like as illustrated in FIG. 16 .
  • the information subject to the determination in S 1502 and S 1503 is not limited to the Y coordinate data described above.
  • the purpose of the determination in S 1502 and S 1503 is to determine whether the command at issue is a command required for the target band.
  • an “application target band list” may be configured for respective configuration commands.
  • the intermediate data generator 301 determines a corresponding band based on the values indicating the Y coordinate area of each band and the Y coordinate area of the selected drawing command and configures the “application target band list” illustrated in FIG. 17 .
  • the operation of the hardware accelerator 400 reading the actual data is made efficient, and the operation of the software drawing processor 315 reading the actual data is not made efficient. This is because the memory access of the hardware accelerator 400 connected via the I/F 50 is relatively slower than the memory access of the software drawing processor 315 configured as the CPU 10 .
  • the present embodiment is effective when applied to the memory access of the hardware accelerator 400 .
  • this is an example, and although the access of the software drawing processor 315 to the intermediate data memory 313 is fast, by applying the present embodiment, it is possible to omit the reading of unnecessary actual data and to further increase the processing speed.
  • Processing circuitry includes a programmed processor, as a processor includes circuitry.
  • a processing circuit also includes devices such as an application specific integrated circuit (ASIC) and conventional circuit components arranged to perform the recited functions.
  • ASIC application specific integrated circuit
  • the present invention can be implemented in any convenient form, for example using dedicated hardware, or a mixture of dedicated hardware and software.
  • the present invention may be implemented as computer software implemented by one or more networked processing apparatuses.
  • the network can comprise any conventional terrestrial or wireless communications network, such as the Internet.
  • the processing apparatuses can compromise any suitably programmed apparatuses such as a general purpose computer, personal digital assistant, mobile telephone (such as a WAP or 3G-compliant phone) and so on. Since the present invention can be implemented as software, each and every aspect of the present invention thus encompasses computer software implementable on a programmable device.
  • the computer software can be provided to the programmable device using any storage medium for storing processor readable code such as a floppy disk, hard disk, CD ROM, magnetic tape device or solid state memory device.
  • the hardware platform includes any desired kind of hardware resources including, for example, a central processing unit (CPU), a random access memory (RAM), and a hard disk drive (HDD).
  • the CPU may be implemented by any desired kind of any desired number of processor.
  • the RAM may be implemented by any desired kind of volatile or non-volatile memory.
  • the HDD may be implemented by any desired kind of non-volatile memory capable of storing a large amount of data.
  • the hardware resources may additionally include an input device, an output device, or a network device, depending on the type of the apparatus. Alternatively, the HDD may be provided outside of the apparatus as long as the HDD is accessible.
  • the CPU such as a cache memory of the CPU
  • the RAM may function as a physical memory or a primary memory of the apparatus, while the HDD may function as a secondary memory of the apparatus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Record Information Processing For Printing (AREA)
  • Human Computer Interaction (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Editing Of Facsimile Originals (AREA)
US14/802,224 2014-08-01 2015-07-17 Image forming apparatus, method for generating pixel information, and non-transitory recording medium Abandoned US20160034793A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-157858 2014-08-01
JP2014157858A JP2016035639A (ja) 2014-08-01 2014-08-01 画像形成装置、画像形成装置の制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
US20160034793A1 true US20160034793A1 (en) 2016-02-04

Family

ID=55180380

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/802,224 Abandoned US20160034793A1 (en) 2014-08-01 2015-07-17 Image forming apparatus, method for generating pixel information, and non-transitory recording medium

Country Status (2)

Country Link
US (1) US20160034793A1 (ja)
JP (1) JP2016035639A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544463B2 (en) 2015-03-18 2017-01-10 Ricoh Company, Ltd. Information processing apparatus and information processing system
US9875435B2 (en) * 2016-03-10 2018-01-23 Fuji Xerox Co., Ltd. Drawing data generation apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544463B2 (en) 2015-03-18 2017-01-10 Ricoh Company, Ltd. Information processing apparatus and information processing system
US9875435B2 (en) * 2016-03-10 2018-01-23 Fuji Xerox Co., Ltd. Drawing data generation apparatus

Also Published As

Publication number Publication date
JP2016035639A (ja) 2016-03-17

Similar Documents

Publication Publication Date Title
US10379797B2 (en) Image forming apparatus that notifies a server, based on data size information, whether a portable document format is supported, and related method of controlling printing and printing system
CN108696658B (zh) 图像形成系统、服务器、图像形成装置及图像形成方法
US9544463B2 (en) Information processing apparatus and information processing system
CN112732206A (zh) 打印控制方法、打印驱动装置及计算机可读存储介质
US9830541B2 (en) Image output system, image output method, document server, and non-transitory computer readable recording medium
US9619739B2 (en) Printer that sets sheet size for printing an XPS file
US9256385B2 (en) Relay device and image processing device capable of executing selected image processing using selected application types
US8253962B2 (en) Image forming apparatus, computer readable storage medium and image formation processing method
US10021275B2 (en) Image processing apparatus, method of controlling image processing apparatus, and non-transitory recording medium
US10306095B2 (en) Image processing apparatus and method
US20160034793A1 (en) Image forming apparatus, method for generating pixel information, and non-transitory recording medium
US10402131B2 (en) Image processing apparatus and method to form image on sheet using page image data and object information
US20130057884A1 (en) Information processing apparatus, computer program, and control method
US9924049B2 (en) Pull print system
US10554863B2 (en) Image forming apparatus with an improved capability to edited selectable detected areas
US10175916B2 (en) Image forming apparatus, information processing method, and storage medium
JP2012060234A (ja) 画像形成装置
US10956093B2 (en) Image forming apparatus and non-transitory computer readable medium
US9313342B2 (en) Image reading apparatus, image reading method, image reading system, and storage medium
US8804141B2 (en) Character output device, character output method and computer readable medium
CN110536038B (zh) 信息处理装置及方法
US20150271362A1 (en) Image processing apparatus, image processing method, and non-transitory recording medium storing image processing program
CN110214306B (zh) 服务器装置、信息处理系统及图像形成装置
CN112256214A (zh) 作业取消打印方法、图像形成装置以及系统、计算机存储介质
US10126994B2 (en) Printing service providing apparatus, printing service system, and non-transitory computer readable storage medium enabling selection of an application function using cloud computing

Legal Events

Date Code Title Description
AS Assignment

Owner name: RICOH COMPANY, LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OKAMURA, TOMOAKI;REEL/FRAME:036117/0364

Effective date: 20150715

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION