Computer program and image processing device
The system addresses inefficiencies in printer technologies by dynamically adjusting processing steps based on changed conditions, reducing processing time and ensuring accurate print data generation.
Patent Information
- Application Number
- JP2021034857
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-04
- Publication Date
- 2025-02-05
- Estimated Expiration
- 2041-03-04
AI Technical Summary
Existing printer technologies do not efficiently handle changes in processing conditions after printing data generation has started, leading to prolonged processing times and potential inefficiencies.
A system that determines which processing steps to re-execute and which to skip based on changes in printing conditions, allowing for efficient generation of print data by identifying change-target processing and executing only necessary reprocessing.
Reduces the time required for print data generation by minimizing redundant processing and ensuring appropriate data output even when conditions change during the printing process.
Smart Images

Figure 0007626972000001 
Figure 0007626972000002 
Figure 0007626972000003
Abstract
Description
[Technical field]
[0001] The present specification relates to a technique for generating print data and supplying it to a print execution unit. [Background technology]
[0002] The printer controller disclosed in Patent Document 1 executes JPEG processing, resizing processing, image quality correction processing, etc. to generate decompressed image data when a user presses a print button after selecting an image file and print settings (paper size, layout, etc.). The controller generates print data from the decompressed image data that can be printed by the printing mechanism, and controls the printing mechanism based on the print data. This realizes printing of the image. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2008-213406 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, the above technique does not take into consideration that the processing conditions for the print data generation process are changed after the print data generation process has started, which may result in a longer time required for the print data generation process if the processing conditions for the print data generation process are changed after the print data generation process has started.
[0005] This specification discloses a technique that can prevent the time required for print data generation processing from increasing when processing conditions for the generation processing are changed after the print data generation processing has started. [Means for solving the problem]
[0006] The technology disclosed in this specification can be realized in the following application examples.
[0007] [Application Example 1] A computer program that causes a computer to realize the following: an instruction acquisition function that acquires a data selection instruction input by a user, and acquires a printing condition change instruction that changes printing conditions, the printing condition change instruction being input by the user after the data selection instruction is input; a generation function that executes a generation process that generates print data using target image data selected based on the data selection instruction, the generation process including a plurality of processes; and a judgment function that, when the printing condition change instruction is acquired, determines for each of the plurality of processes whether it is a change target process that is a process that should output output data different from before the printing conditions were changed in accordance with the change of the printing conditions based on the printing condition change instruction, wherein the generation function starts generating the print data after the data selection instruction is acquired, and when the printing condition change instruction is acquired after the start of generation of the print data, the generation function executes re-processing of the change target process among the plurality of processes that have already started, and does not execute the re-processing of the process that is different from the change target process among the started processes, and the re-processing changes at least a part of the input data and re-executes the process.
[0008] According to the above configuration, when a print condition change instruction is acquired after the start of print data generation, among the multiple types of processes that have already started, a process that is determined to be a process to be changed is re-executed, and among the processes that have already started, a process that is determined not to be a process to be changed is not re-executed. As a result, when the processing conditions of the generation process are changed after the print data generation process is started, it is possible to prevent the time required for the print data generation process from becoming longer. Furthermore, when the processing conditions of the generation process are changed after the print data generation process is started, appropriate print data can be generated.
[0009] The technology disclosed in this specification can be realized in various forms, for example, as an image processing method and an image processing device, a printing method and a printing device, a computer program for realizing the functions of those methods or devices, a recording medium on which that computer program is recorded (e.g., a non-temporary recording medium), etc. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a block diagram showing the configuration of a printing system 1000 according to an embodiment. [Diagram 2] FIG. 2 is a block diagram showing the functional configuration of a print application PA. [Diagram 3] FIG. 13 is a diagram showing an example of a UI screen. [Figure 4] 4 is a flowchart of a printing process. [Diagram 5] 4 is a flowchart of a printing process. [Figure 6] FIG. 4 is a diagram showing an example of a table TB. [Figure 7] 4 is a flowchart of the processing of processing units PS1 to PS5. [Figure 8] FIG. [Figure 9] FIG. [Figure 10] FIG. 11 is a first explanatory diagram of the processing of each processing unit when a printing condition change instruction is obtained. [Figure 11] FIG. 13 is an explanatory diagram of the parallel method when a printing condition change instruction is obtained. [Figure 12] FIG. 11 is a second explanatory diagram of the processing of each processing unit when a printing condition change instruction is obtained. [Figure 13] FIG. 11 is an explanatory diagram of the sequential method when a printing condition change instruction is obtained. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] A. Working Example: A-1: Configuration of the printing system 1000 Next, an embodiment of the present invention will be described based on an example embodiment. Fig. 1 is a block diagram showing the configuration of a printing system 1000 according to the example embodiment.
[0012] The printing system 1000 includes a printer 200 and a terminal device 300 as an image processing device of this embodiment. The printer 200 and the terminal device 300 are communicably connected via a network NW. In this embodiment, the network NW is a wireless network in which wireless communication conforming to the Wi-Fi standard is performed.
[0013] The terminal device 300 is a computer used by a user of the printer 200, such as a smartphone. The terminal device 300 includes a CPU 310 as a controller of the terminal device 300, a non-volatile storage device 320 such as a hard disk drive or SSD (Solid State Drive), a volatile storage device 330 such as a RAM, an operation unit 360 such as a button or a touch panel for acquiring operations by the user, a display unit 370 such as a liquid crystal display, and a communication unit 380. The communication unit 380 includes an interface (a wireless interface in this embodiment) for connecting to a network NW.
[0014] The volatile storage device 330 provides a buffer area 331 for the CPU 310. The non-volatile storage device 320 stores a plurality of computer programs, specifically, an application program AP and an OS program OP.
[0015] The application program AP is a program that causes the CPU 310 to realize a function for causing the printer 200 to print an image. Specific processing that is realized by the CPU 310 executing the application program AP will be described later. The application program AP is provided by the manufacturer of the printer 200, for example, in a form that is downloaded from a server.
[0016] The OS program OP is a program that causes the CPU 310 to realize functions as an operating system (OS). The OS program OP is a well-known program such as Android (registered trademark), iOS (registered trademark), Windows (registered trademark), and the like.
[0017] The printer 200 includes, for example, a print mechanism 250 as a print execution unit, a CPU 210 as a control device for the print mechanism 250, a non-volatile storage device 220 such as a hard disk or flash memory, a volatile storage device 230 such as a RAM, an operation unit 260 such as buttons or a touch panel for acquiring operations by a user, a display unit 270 such as a liquid crystal display, and a communication unit 280. The printer 200 is connected to an external device, for example, a user's terminal device (not shown) via the communication unit 280 so as to be able to communicate with the external device.
[0018] The volatile storage device 230 provides a buffer area 231 for temporarily storing various intermediate image data generated when the CPU 210 performs processing. The non-volatile storage device 220 stores a computer program PG. In this embodiment, the computer program PG is a control program for controlling the printer 200. The computer program PG may be provided by being stored in the non-volatile storage device 220 at the time of shipment of the printer 200. Alternatively, the computer program PG may be provided in a form downloaded from a server, or in a form stored on a DVD-ROM or the like.
[0019] The printing mechanism 250 is an inkjet printing mechanism that ejects multiple types of ink, for example, cyan (C), magenta (M), yellow (Y), and black (K), to print on a print medium such as paper. Alternatively, the printing mechanism 250 may be an electrophotographic printing mechanism that prints on a print medium using multiple types of toner.
[0020] A-2. Print application overview The function that the CPU 310 realizes by executing the above-mentioned application program AP is also called a "print application PA." The print application PA generates print data using original image data, and causes the printer 200 to execute printing using the print data. The original image data in this embodiment is, for example, user image data stored in the non-volatile storage device 320. This image data is saved as image files in various formats such as JPEG (Joint Photographic Experts Group), PDF (Portable Document Format), and XPS (XML Paper Specification).
[0021] 2 is a block diagram showing the functional configuration of the print application PA. The print application PA includes a user interface (UI) processing unit UP and an image processing unit IP.
[0022] The UI processing unit UP displays a user interface (UI) screen on the display unit 270. Fig. 3 is a diagram showing an example of a UI screen. The UI screen in Fig. 3(A) is a main screen WI1. For example, the UI processing unit UP displays the main screen WI1 on the display unit 370 when a print application is started. The main screen WI1 includes a preview image display area PW and buttons BT1 to BT3, SB1, and SB2.
[0023] The preview image display area PW is an area where an image (also called a preview image PI) is displayed for the user to check a print image including an original image indicated by the original image data selected by the user. If the original image data is not selected by the user, no preview image is displayed in the preview image display area PW. The switching buttons SB1 and SB2 are buttons for switching the preview image PI displayed in the preview image display area PW among the multiple preview images PI corresponding to the multiple original image data when multiple original image data are selected.
[0024] When the image selection button BT1 is pressed on the main screen WI1, the UI processing unit UP displays the image selection screen WI2 of FIG. 3B on the display unit 270 instead of the main screen WI1. The image selection screen WI2 includes a list SL of a plurality of image files, a check box CB for selecting one or more image files from the list SL, and buttons BT4 and BT5. In this embodiment, as shown in FIG. 3B, when an image file including image data showing one image, for example, an image file in JPEG or PNG format, is selected, it is permitted to select a plurality of image files. In this case, each image data included in each image file is selected as the original image data.
[0025] Also, when an image file including multiple page image data, for example, an image file in PDF format, is selected, only one image file can be selected. Then, it is permitted to select multiple page image data from multiple page image data included in one image file. In this case, each selected page image data is selected as the original image data. Illustrations of the image file in PDF format and a UI screen for selecting page image data in the file are omitted.
[0026] When the decision button BT5 is pressed on the image selection screen WI2, the UI processing unit UP decides that the image data included in the image file currently selected on the image selection screen WI2 is the original image data, and displays the main screen WI1 on the display unit 270 instead of the image selection screen WI2. That is, the UI processing unit UP acquires a data selection instruction to select the original image data from the user via the image selection screen WI2. When the return button BT4 is pressed on the image selection screen WI2, the UI processing unit UP displays the main screen WI1 on the display unit 270 instead of the image selection screen WI2 without deciding the original image data.
[0027] When the print instruction button BT3 on the main screen WI1 is pressed after the data selection instruction is acquired, the UI processing unit UP acquires a print instruction corresponding to the data selection instruction. In the following, the print instruction corresponding to the data selection instruction means an instruction to cause the printer 200 to execute printing using a print job generated using the original image data selected by the data selection instruction. After the print instruction is acquired, the print job is transmitted to the printer 200.
[0028] After inputting a data selection command, but before acquiring a print command, the user can input a data change command by selecting another original image data on the image selection screen WI2 and pressing the confirm button BT5. A data change command is a command to change the original image data to be used for printing.
[0029] When the print setting button BT2 is pressed on the main screen WI1, the UI processing unit UP displays the print setting screen WI3 of FIG. 3C on the display unit 270 instead of the main screen WI1. The print setting screen WI3 includes input elements for inputting print settings for a plurality of setting items. In the example of FIG. 3C, pull-down menus PM1 to PM3 for inputting print settings for the print color mode, paper size, and print quality are illustrated. The color mode is set to one of a plurality of options (e.g., monochrome mode and color mode) via the pull-down menu PM1. The paper size is set to one of a plurality of options (e.g., A3, A4, A5) via the pull-down menu PM2. The print quality is set to one of a plurality of options (e.g., high image quality (low speed), low image quality (high speed)) via the pull-down menu PM3. Although not shown in the figure, the setting items set via the print setting screen WI3 include various other setting items, specifically, margin settings, number of copies to be printed, number of original images contained in one printed image (also called the number of layouts, for example, 1in1, 2in1, 4in1), double-sided / single-sided printing designation, tray settings (the paper feed tray in which the paper to be used is stored, and the output tray into which printed paper is discharged), etc.
[0030] When the decision button BT7 is pressed on the print setting screen WI3, the UI processing unit UP updates the current print settings to the print settings set on the print setting screen WI3 at that time, and displays the main screen WI1 on the display unit 270 instead of the print setting screen WI3. That is, the UI processing unit UP acquires a print setting change instruction from the user via the print setting screen WI3. When the return button BT6 is pressed on the print setting screen WI3, the UI processing unit UP displays the main screen WI1 on the display unit 270 instead of the print setting screen WI3 without updating the print settings. Note that the print settings are set to default settings until a print setting change instruction is acquired.
[0031] In the main screen WI1, the print instruction button BT3 is enabled when the original image data is selected. When the print instruction button BT3 is pressed, the UI processing unit UP acquires a print instruction corresponding to the data selection instruction that has been acquired at that time.
[0032] The image processing unit IP includes a management unit CL, a plurality of processing units PS1 to PS5, and a plurality of delivery lists IL1 to IL5. The plurality of processing units PS1 to PS4 cooperate to generate print data using original image data selected by a user. The supply unit PS5 supplies a print job including the generated print data to the printer 200 in response to a print instruction obtained from the user. As a result, the printer 200 can be caused to execute printing.
[0033] The rasterizing unit PS1 executes a rasterizing process using the original image data to generate bitmap data representing the original image. The bitmap data is, for example, RGB image data including RGB values for each pixel. The RGB values are, for example, color values in the RGB color system including three component values of red, green, and blue. The rasterizing unit PS1 outputs the generated bitmap data in a predetermined format, in this embodiment, PNG format. In this way, the input image data to the rasterizing unit PS1 is the original image data, and the output image data from the rasterizing unit PS1 is the original image data converted into PNG format (also called converted image data). If the original image data is in PNG format, the rasterizing process is not executed, and the rasterizing unit PS1 outputs the input original image data as is.
[0034] The layout unit PS2 is a process that executes layout processing using the converted image data to generate layout image data. The layout image data indicates a print image in which an original image is arranged according to the print settings. For example, a margin having a set width is added to the print image according to the margin setting. Also, when a setting to arrange two original images in one print image (so-called 2in1) is specified, the two original images are arranged in the print image. The layout unit PS2 outputs the layout image data in a predetermined format, in this embodiment, in PNG format. In this way, the input image data to the layout unit PS2 is the converted image data, and the output image data from the layout unit PS2 is the layout image data.
[0035] The preview unit PS3 is a process for performing a preview process using the layout image data to generate preview image data. The preview image data is image data showing the preview image PI. The preview image data is used to display the preview image PI in the preview image display area PW of the main screen WI1 described above. The preview process includes, for example, various processes for adjusting the preview image PI according to print settings. For example, when the color mode is set to the monochrome mode, it is preferable that the preview image PI is also a monochrome image, so the preview process includes a process for converting the layout image data into monochrome image data. The preview process may include, for example, a process for adjusting the number of pixels and the number of colors according to the characteristics of the display unit 270. In this way, the input image data to the preview unit PS3 is layout image data, and the output image data from the preview unit PS3 is preview image data.
[0036] When the preview unit PS3 generates the preview image data, the UI processing unit UP immediately uses the preview image data to display the preview image PI in the preview image display area PW of the main screen WI1. That is, the preview image PI is displayed on the main screen WI1 after a data selection instruction is acquired and before a print instruction is acquired.
[0037] The build unit PS4 executes build processing using layout image data to generate print data. The build processing converts the layout image data into a data format that can be interpreted by the printer 200. The print data is image data described in a data format that can be interpreted by the printer 200, for example, a page description language such as PostScript (registered trademark) or Printer Control Language (registered trademark). The build processing includes different processing depending on various print settings, for example, print resolution and whether double-sided printing or single-sided printing. In this way, the input image data to the build unit PS4 is layout image data, and the output image data from the build unit PS4 is print data.
[0038] The supply unit PS5 executes a supply process using the print data. The supply process is a process of generating a print job by adding a print command to the print data and supplying the print job to the printer 200. The print job is supplied by transmitting the print job to the printer 200 via the communication unit 380. The added print command includes commands for specifying setting items according to the print settings, specifically, the number of copies to be printed, the print quality, the tray in which the paper to be used is stored, the tray to which the printed paper is output, and the like. In this way, the input image data to the supply unit PS5 is the print data, and the output image data from the supply unit PS5 is the print job.
[0039] The delivery list ILn (n is an integer from 1 to 5) is a list in which the path of the input image data to the processing unit PSn is described. Hereinafter, describing the path of the image data in the list (delivery list ILn or management list OLn) is expressed as "image data is registered in the list." The image data registered in the delivery list IL1 is the original image data, and is registered by the management unit CL. The image data registered in the delivery list ILn (n is an integer from 2 to 5) is the output image data from the processing unit PS(n-1), and is registered by the processing unit PS(n-1). The processing unit PSn (n is an integer from 1 to 5) acquires the input image data registered in the delivery list ILn, and executes its own processing using the input image data. The processing unit PSn (n is an integer from 1 to 5) acquires the input image data one by one in the order in which they are registered in the delivery list ILn. That is, the delivery list ILn functions as a FIFO (first in first out) queue.
[0040] The management list OLn (n is an integer from 1 to 5) is a list associated with each processing unit PSn. The management list OLn is a list in which output image data generated by the corresponding processing unit PSn is registered. When each processing unit PSn performs a predetermined process using input image data to generate output image data, it registers the output image data in the management list OLn so that the correspondence with the input image data can be understood. For this reason, by referring to the management list OLn, it is possible to recognize whether output image data corresponding to specific input image data has already been generated. The details of the processing of each processing unit PSn using the delivery list ILn and the management list OLn will be described later.
[0041] A-3. Print application operation A-3-1. Control processing 4 and 5 are flowcharts of the print process. The print process in Fig. 4 is executed by the management unit CL of the image processing unit IP while the print application is started and one of the UI screens WI1 to WI2 is displayed by the UI processing unit UP. The print process is a process of generating print data and a print job including the print data using original image data selected by a data selection instruction, and supplying the print job to the printer 200 in response to a print instruction.
[0042] In S5, the management unit CL judges whether or not a data selection instruction has been acquired by the UI processing unit UP. If the UI processing unit UP has acquired a data selection instruction via the image selection screen WI2 (S5: YES), the management unit CL advances the process to S10. If the UI processing unit UP has not acquired a data selection instruction (S5: NO), the management unit CL waits until the UI processing unit UP acquires a data selection instruction.
[0043] At S10, the management unit CL acquires OS version information indicating the version of the OS program OP, paper size information indicating the size of the paper to be used for printing, and image size information indicating the size (number of pixels) of the print image. For example, the OS version information is acquired from the OS. The paper size information is specified by the print settings. The size of the print image (i.e., the size of the print data to be generated) is calculated based on the paper size and print resolution specified by the print settings.
[0044] In S13, the management unit CL determines whether the execution method of the print data generation process (described later) is to be a sequential method or a parallel method based on the OS version information, the paper size information, and the image size information. The sequential method is a method in which the processes of the above-mentioned processing units PS1 to PS4 for generating print data are executed sequentially, not in parallel. The parallel method is a method in which at least some of the processes of the processing units PS1 to PS4 are executed in parallel.
[0045] In this embodiment, if all of the following conditions (1) to (3) are met, the execution method is determined to be the parallel method, and if at least one of the conditions (1) to (3) is not met, the execution method is determined to be the sequential method. Condition (1): The OS version is above the standard. Condition (2): The paper size is smaller than the standard (A3 in this embodiment). Condition (3): The size of the print image is equal to or smaller than the standard (in this embodiment, the number of pixels equivalent to A4 size 600 dpi).
[0046] The OS version is used as the criterion because if the OS version is old, the stability and processing speed of parallel processing may not be sufficiently high. The paper size and image size are used as the criterion because if the paper size or image size is excessively large, the processing load of parallel processing may be excessively large. In these cases, the stability and processing speed of parallel processing may decrease, and it may not be possible to realize the advantage of adopting the parallel method, which is to increase the processing speed, so it is preferable to adopt the sequential method.
[0047] In S15, the management unit CL registers the original image data selected by the data selection instruction corresponding to the print process in the delivery list IL1 to the rasterization unit PS1. In S17, the management unit CL determines parameters according to the print settings for the processing units PS1 to PS4, and supplies the parameters to the processing units PS1 to PS4.
[0048] In S20, the management unit CL causes the processing units PS1 to PS4 to start processing. The processing of each of the processing units PS1 to PS4 will be described later, but the timing at which each of the processing units PS1 to PS4 actually executes the processing thereafter differs between the parallel method and the sequential method, which will be described later.
[0049] In S25, the management unit CL determines whether a printing condition change instruction has been acquired. The printing condition change instruction includes a data change instruction acquired via the image selection screen WI2 and a print setting change instruction acquired via the print setting screen WI3.
[0050] If a print condition change instruction is not acquired (S25: NO), the management unit CL advances the process to S70. If a print condition change instruction is acquired (S25: YES), the management unit CL advances the process to S30.
[0051] In S30, the management unit CL causes the processing units PS1 to PS4 to stop processing. In S35, the management unit CL clears the delivery lists IL1 to IL5 for the processing units PS1 to PS5. This results in no image data being registered in the delivery lists IL1 to IL5.
[0052] In S40 of Fig. 5, the management unit CL judges whether the acquired printing condition change instruction includes a data change instruction. If the acquired printing condition change instruction includes a data change instruction (S40: YES), the management unit CL proceeds to S43. If the acquired printing condition change instruction does not include a data change instruction (S40: NO), the management unit CL skips S45.
[0053] In S43, the management unit CL identifies the original image data to be changed based on the data change instruction. For example, a case where the selected image data is changed from the original image data D1_org, D2_org, and D3_org to the original image data D1_org, D3_org, and D4_org by the data change instruction is taken as an example. In this case, since the original image data D2_org has been changed to the original image data D4_org, the original image data D2_org is identified as the original image data to be changed.
[0054] In S45, the management unit CL updates the management lists OL1 to OL4 of the processing units PS1 to PS4. For example, when the processing target is changed from the original image data D2_org to the original image data D4_org, each processing unit PS1 to PS4 should output the output image data corresponding to the original image data D4_org instead of the output image data corresponding to the original image data D2_org. For this reason, the management unit CL deletes the registration of the output image data corresponding to the original image data to be changed from the management lists OL1 to OL4. This is because, even if these output image data have already been generated, the processing units PS1 to PS4 need to change the image data to be processed from the original image data D2_org to the original image data D4_org and perform the processing again. For this reason, when the output image data corresponding to the original image data D2_org (any of the converted image data D2_conv, the layout image data D2_lay, the preview image data D2_pre, and the print data D2_bld) is registered in the management lists OL1 to OL4, these output image data are deleted from the management lists OL1 to OL4.
[0055] In S50, the management unit CL judges whether the acquired printing condition change instruction includes a print setting change instruction. If the acquired printing condition change instruction includes a print setting change instruction (S50: YES), the management unit CL proceeds to S52. If the acquired printing condition change instruction does not include a print setting change instruction (S50: NO), the management unit CL skips S52 and S54.
[0056] In S52, the management part CL determines which of the processing parts PS1 to PS5 is to be the target of reprocessing, based on the print setting change instruction.
[0057] 6 is a diagram showing an example of a table TB for determining the processing units to be reprocessed. The management unit CL refers to the table TB incorporated in the print application PA to determine the processing units to be reprocessed.
[0058] Among the processing units PS1 to PS5, the processing units (also called parameter change processing units) whose parameters are changed in response to a change in print settings based on a print setting change instruction are subject to reprocessing. This is because the parameter change processing units need to perform processing according to the changed parameters to generate output image data that is different from the output image data that has already been generated, even if the output image data has already been generated.
[0059] A processing unit that executes its own processing using output image data generated by a processing unit that is the target of reprocessing as input image data is also subject to reprocessing. This is because the input image data becomes different data due to the print setting change instruction. Therefore, when a specific processing unit becomes a parameter change processing unit due to the print setting change instruction, all processing units (hereinafter also referred to as processing units downstream of the specific processing unit) that directly or indirectly use the output image data generated by the specific processing unit become the target of reprocessing regardless of whether their own parameters are changed or not. For example, when the rasterizing unit PS1 becomes a parameter change processing unit, the rasterizing unit PS1 and processing units PS2 to PS5 downstream of the rasterizing unit PS1 become the target of reprocessing. When the layout unit PS2 becomes a parameter change processing unit, the layout unit PS2 and processing units PS3 to PS5 downstream of the layout unit PS2 become the target of reprocessing. When the build unit PS4 becomes a parameter change processing unit, the build unit PS4 and the supply unit PS5 downstream of the build unit PS4 become the target of reprocessing.
[0060] Even if a specific processing unit becomes a parameter change processing unit by a print setting change instruction, if the output image data generated by the specific processing unit is not used as input image data and the processing unit itself does not become a parameter change processing unit, the processing unit will not be subject to reprocessing. For example, even if the preview unit PS3 or the build unit PS4 becomes a parameter change processing unit, if the rasterization unit PS1 and the layout unit PS2 do not become parameter change processing units, the rasterization unit PS1 and the layout unit PS2 will not be subject to reprocessing.
[0061] 6, for each print setting changed by a print setting change instruction in this embodiment, processing units that are subject to reprocessing and processing units that are not subject to reprocessing are specified. In table TB, processing units marked with a circle are processing units that are subject to reprocessing, and processing units marked with a hyphen are processing units that are not subject to reprocessing.
[0062] For example, when the paper size is changed, the processing units PS1 to PS5 are subject to reprocessing. In this embodiment, when the paper size is changed, the number of pixels of the converted image data generated by the rasterization process is changed in order to suppress deterioration of image quality during printing, so the rasterization unit PS1 is treated as a parameter change processing unit.
[0063] When the margin or the number of allocations is changed, the rasterizing unit PS1 is not the target of reprocessing, but the processing units PS2 to PS5 are the targets of reprocessing. In this embodiment, when the margin or the number of allocations is changed, it is necessary to generate layout image data showing an image with the changed margin or number of allocations, so the layout unit PS2 is used as a parameter change processing unit.
[0064] When the color mode is changed, the processing units PS1 and PS2 are not subject to reprocessing, but the processing units PS3 to PS5 are subject to reprocessing. In this embodiment, when the color mode is changed, it is necessary to generate preview image data and print data showing an image with a changed number of colors (monochrome or full color), so the preview unit PS3 and the build unit PS4 are treated as parameter change processing units.
[0065] When the setting of single-sided printing / double-sided printing is changed, the processing units PS1 to PS3 are not subject to reprocessing, but the processing units PS4 and PS5 are subject to reprocessing. When the setting of single-sided printing / double-sided printing is changed, it is necessary to rotate the print image according to the binding position. In this embodiment, the rotation of the print image according to the binding position is executed in the build process, and therefore the build unit PS4 is used as the parameter change processing unit.
[0066] When the print quality, number of copies, or tray (feed tray and discharge tray) is changed, the processing units PS1 to PS5 are not set for reprocessing, and the supply unit PS5 becomes the target for reprocessing. In this embodiment, changes in print quality, number of copies, and tray are handled by the printer 200 in response to a print command. The addition of a print command is executed by the supply unit PS5. This is because the supply unit PS5 is used as a parameter change processing unit.
[0067] In S54, the management unit CL clears the management lists of the processing units PS1 to PS5 that have been determined to be the targets of reprocessing. The management lists of the processing units PS1 to PS5 that have not been determined to be the targets of reprocessing are not cleared. As a result, the management lists of the processing units OL1 to OL5 that have been determined to be the targets of reprocessing are in a state in which no image data is registered. The management lists of the processing units OL1 to OL5 that have not been determined to be the targets of reprocessing are maintained in the same state as they were before the processing units PS1 to PS4 were stopped in S30.
[0068] In S55, the management unit CL registers the original image data selected by the data selection instruction corresponding to the print process in a delivery list IL1 to the rasterize unit PS1. If a data change instruction has been acquired, the original image data after the change is registered. In S60, the management unit CL determines parameters according to the print settings for the processing units PS1 to PS4, and supplies the parameters to the processing units PS1 to PS4. If a print setting change instruction has been acquired, the parameters after the change of the print settings are supplied to the processing units PS1 to PS4.
[0069] In S65, the management unit CL causes the processing units PS1 to PS4 to resume the processing. The processing units PS1 to PS4 execute the processing of each processing unit, which will be described later, from the beginning again.
[0070] In S70, the management unit CL judges whether or not a print instruction has been acquired via the main screen WI1 described above. If a print instruction has not been acquired (S70: NO), the management unit CL returns the process to S25 in FIG. 4. If a print instruction has been acquired (S70: YES), in S75, the management unit CL causes the supply unit PS5 to start processing. From this point on, a print job including print data already generated by the processing units PS1 to PS4 is transmitted to the printer 200. After causing the supply unit PS5 to start processing, the management unit CL ends the print processing.
[0071] As can be seen from the above explanation, after a data selection instruction is acquired, input of a printing condition change instruction for printing based on the data selection instruction is permitted until the corresponding print instruction is acquired, but after the print instruction is acquired, input of a printing condition change instruction is not permitted. In other words, input of a print instruction determines the printing conditions for printing based on the corresponding data selection instruction.
[0072] A-3-3. Processing of processing units PS1 to PS5 The processing of the processing units PS1 to PS5 that operate under the control of the management unit CL will be described. FIG. 7 is a flowchart of the processing of the processing units PS1 to PS5. The processing units PS1 to PS5 have many common parts, so they will be described together while pointing out the different parts as appropriate. A transfer list in which input image data to a processing unit is registered is also called a transfer list on the upstream side of the processing unit, and a transfer list in which output image data from a processing unit is registered is also called a transfer list on the downstream side of the processing unit. For example, the transfer list on the upstream side of the rasterizing unit PS1 is the transfer list IL1, and the transfer list on the downstream side of the rasterizing unit PS1 is the transfer list IL2. There are transfer lists IL3 and IL5 on the upstream side of the preview unit PS3 and the supply unit PS5, but there are no transfer lists on the downstream side of the preview unit PS3 and the supply unit PS5.
[0073] 7 is started in response to a start instruction from the management unit CL. In S100, a processing unit (one of the processing units PS1 to PS5) determines whether input image data to itself is registered in the upstream delivery list.
[0074] FIG. 8 is an explanatory diagram of the processing of the processing unit. FIG. 8 illustrates the states of the delivery lists IL1 to IL4 and the management lists OL1 and OL2 at multiple points during processing. FIG. 8 illustrates an example in which three original image data D1_org, D2_org, and D3_org are selected. FIG. 8(A) illustrates the state when processing is started in S20 of FIG. 4. In the state of FIG. 8(A), three original image data D1_org, D2_org, and D3_org are registered in the delivery list IL1. The registration of the original image data D1_org, D2_org, and D3_org in the delivery list IL1 is performed by the management unit CL (S15 in FIG. 4, S55 in FIG. 5). No image data is registered in the other lists IL2 to IL4, OL1, and OL2. In this state, the rasterization unit PS1 determines that the input image data is registered in the delivery list IL1 on the upstream side. The layout section PS2 determines that the input image data is not registered in the upstream delivery list IL2.
[0075] If the input image data to itself is registered in the upstream delivery list (S100: YES), the processing unit proceeds to S105. If the input image data to itself is not registered in the upstream delivery list (S100: NO), the processing unit waits until the input image data to itself is registered in the delivery list.
[0076] In S105, the processing unit sets the image data that is registered first among the input image data registered in the upstream delivery list IL1 as the image data of interest, and deletes the registration of the image data of interest from the upstream delivery list. For example, in the example of Fig. 8(A), the rasterizing unit PS1 sets the original image data D1_org as the image data of interest, and deletes the registration of the original image data D1_org from the delivery list IL1.
[0077] In S110, the processing unit judges whether the output image data corresponding to the image data of interest is registered in its own management list. The output image data corresponding to the image data of interest is image data generated by executing the processing to be executed by the processing unit on the image data of interest. In the example of Fig. 8(A), since the converted image data D1_conv corresponding to the original image data D1_org is not registered in the management list OL1, the rasterizing unit PS1 judges that the output image data corresponding to the image data of interest is not registered in its own management list OL1.
[0078] If the output image data corresponding to the target image data is not registered in the management list (S110: NO), the processing unit executes the processing to be executed by itself using the target image data in S115 to generate output image data. The generated output image data is stored and saved in an image file.
[0079] In S120, the processing unit registers the output image data generated in S115 in its own management list, that is, describes the path of the image file including the output image data in its own management list.
[0080] If the output image data corresponding to the target image data is registered in its own management list (S110: YES), S115 and S120 are skipped and the process proceeds to S125.
[0081] In S125, the processing unit registers the output image data generated in S115 in the downstream delivery list. After S125, the processing unit returns to S110.
[0082] When the processing unit is the layout unit PS2, there are a delivery list IL3 to the preview unit PS3 and a delivery list IL4 to the build unit PS4 as downstream delivery lists. In S125, the layout unit PS2 registers the output image data in both delivery lists IL3 and IL4. At that time, the layout unit PS2 registers the output image data in the delivery list IL3 to the preview unit PS3 before the delivery list IL4 to the build unit PS4. This is because it is considered that the user will input a print instruction after checking the preview image PI, and therefore the generation of image data for preview should be prioritized over the generation of print data.
[0083] When the processing section is the preview section PS3 or the supply section PS5, the downstream delivery list does not exist, and therefore S125 is not executed.
[0084] FIG. 8B shows a state after the rasterization process using the original image data D1_org is executed, that is, after the rasterization unit PS1 executes S105 to S125 of FIG. 7 with the original image data D1_org as the image data of interest. At this point, the registration of the original image data D1_org is deleted from the transfer list IL1 to the rasterization unit PS1 (S105). The converted image data D1_conv, which is the output image data corresponding to the original image data D1_org, is registered in the management list OL1 of the rasterization unit PS1 (S120). The converted image data D1_conv is also registered in the transfer list IL2 downstream of the rasterization unit PS1 (the transfer list IL2 upstream of the layout unit PS2). Since the converted image data D1_conv is registered in the transfer list IL2 upstream of the layout unit PS2, the layout unit PS2 is now in a state where it can execute S105 to S125 of FIG. 7 with the converted image data D1_conv as the image data of interest.
[0085] A-3-4. Execution method of print data generation process The parallel method and sequential method, which are execution methods of the print data generation process, will be described below. FIG. 9 is an explanatory diagram of the execution methods, that is, an explanatory diagram of the parallel method (FIG. 9(A)) and an explanatory diagram of the sequential method (FIG. 9(B)). In FIG. 9, the vertical axis is time t. The numbers arranged along the axis of time t are identifiers given to the period during which the process is executed, and the identifier numbers are assigned in chronological order. In FIG. 9, the rectangles arranged below the names of the processing units PS1 to PS5 indicate the contents of the process executed by each of the processing units PS1 to PS5 and the period during which the process is executed. For example, in FIG. 9(A), a rectangle corresponding to the rasterizing unit PS1 is shown at a vertical position corresponding to period 1, and "D1_conv" is written inside the rectangle. This means that in period 1, the rasterizing process for generating the converted image data D1_conv is executed by the rasterizing unit PS1.
[0086] Here, the converted image data D1_conv, the layout image data D1_lay, the preview image data D1_pre, the print data D1_bld, and the print job D1_job are all image data generated using the original image data D1_org. Therefore, these image data D1_conv, D1_lay, D1_pre, D1_bld, and D1_job can all be said to be image data corresponding to the original image data D1_org. In addition, the converted image data D1_conv and the layout image data D1_lay are also called intermediate image data because they are all data temporarily generated in the process of generating the preview image data D1_pre and the print data D1_bld.
[0087] A-3-4-1.Parallel method In the parallel method, after the processing units PS1 to PS5 are started by the management unit CL in S20, S65, and S75 in Fig. 4, the processing units PS1 to PS5 operate asynchronously with each other. For example, the processing units PS1 to PS5 are executed as different threads in so-called multi-thread processing. For this reason, when input image data is registered in each of the processing units PS1 to PS5's delivery list, the processing units PS1 to PS5 immediately execute processing using the input image data. In the parallel method, at least some of the processing units PS1 to PS4 are executed in parallel for at least some of the periods.
[0088] When a data selection instruction is input to select the original image data D1_org, D2_org, and D3_org, the four processing units PS1 to PS4, excluding the supply unit PS5, start processing (S20 in FIG. 4). At the start of period 1 in FIG. 9(A), as shown in FIG. 8(A) above, input image data is registered only in the delivery list IL1, so only the rasterization unit PS1 can execute processing. For this reason, during period 1 in FIG. 9(A), only the rasterization process for generating the converted image data D1_conv is executed.
[0089] At the end of period 1 in Fig. 9(A), as shown in Fig. 8(B) described above, the converted image data D1_conv is generated and registered in the delivery list IL2, so that the rasterization unit PS1 and the layout unit PS2 can perform processing in parallel during period 2. For example, during period 2 in Fig. 9(A), the rasterization process in which the rasterization unit PS1 generates the converted image data D2_conv and the layout process in which the layout unit PS2 generates the layout image data D1_lay are performed in parallel.
[0090] FIG. 8(C) shows the state at the end of the period 2 in FIG. 9(A), that is, at the end of the rasterization process for generating the converted image data D2_conv and the layout process for generating the layout image data D1_lay. At this time, the original image data D3_org is registered in the transfer list IL1, the converted image data D2_conv is registered in the transfer list IL2, and the layout image data D1_lay is registered in the transfer lists IL3 and IL4. Therefore, at this time, the processing units PS1 to PS4 are in a state where they can perform processes in parallel. Therefore, during the period 3 in FIG. 9(A), the rasterization process for generating the converted image data D3_conv, the layout process for generating the layout image data D2_lay, the preview process for generating the preview image data D1_pre, and the build process for generating the print data D1_bld are executed in parallel.
[0091] Furthermore, in period 4 of Fig. 9(A), a layout process for generating layout image data D3_lay, a preview process for generating preview image data D2_pre, and a build process for generating print data D2_bld are executed in parallel. In period 5 of Fig. 9(A), a preview process for generating preview image data D3_pre and a build process for generating print data D3_bld are executed in parallel, and at the end of period 5, generation of print data D1_bld, D2_bld, and D3_bld corresponding to all original image data D1_org, D2_org, and D3_org is completed. Thus, in parallel processing, the number of periods required to generate print data using three original image data is five.
[0092] The supply process by the supply unit PS5 differs from the processes by the processing units PS1 to PS4 in that it starts when a print instruction is acquired (S75 in FIG. 5). The process by the supply unit PS5 is executed as a thread different from the processes by the processing units PS1 to PS4 and asynchronously with the processes by the processing units PS1 to PS4. For this reason, the process by the supply unit PS5 can be executed in parallel with the processes by the processing units PS1 to PS4.
[0093] Fig. 9(A) shows an example in which a print instruction is obtained at the end of period 4 (start of period 5). At this point, two pieces of print data D1_bld and D2_bld have already been generated, so the supply unit PS5 can immediately start the supply process. In the example of Fig. 9(A), the supply process for supplying print jobs D1_job, D2_job, and D3_job is executed in periods 5, 6, and 7. For this reason, in period 5, the supply process for supplying print job D1_job is executed in parallel with the preview process for generating preview image data D3_pre and the build process for generating print data D3_bld.
[0094] A-3-4-2. Sequential method In the sequential method, after the processing of each of the processing units PS1 to PS5 is started by the management unit CL in S20 and S65 in Fig. 4, each of the processing units PS1 to PS4 operates sequentially under the control of the management unit CL. For example, all of the processing of the processing units PS1 to PS4 is executed as one thread. For this reason, it is not permitted for the processing of one processing unit (e.g., PS1) to be executed in parallel with the processing of another processing unit (e.g., PS2 to PS4).
[0095] However, in the sequential method of this embodiment, the processing of the supply unit PS5 is allowed to be executed in parallel with the processing of the processing units PS1 to PS4. The supply processing of the supply unit PS5 is to generate a print job by adding a print command and to transmit the print job to the printer 200, and the processing load is lower than that of the processing units PS1 to PS4, which may include relatively complicated image processing. For this reason, even if the supply processing of the supply unit PS5 is executed in parallel with the processing units PS1 to PS4, the overall processing load is unlikely to become excessively high.
[0096] For example, at the end of period 1 in Fig. 9B, as shown in Fig. 8B described above, the converted image data D1_conv is generated and registered in the transfer list IL2, so that the layout unit PS2 is ready to start processing in period 2. Even in this state, in the sequential method of this embodiment, the layout unit PS2 does not start layout processing until the rasterizing unit PS1 completes the generation of all the converted image data D1_conv, D2_conv, and D3_conv. The layout unit PS2 starts layout processing after all the converted image data D1_conv, D2_conv, and D3_conv have been generated.
[0097] Fig. 8(D) shows the state at the end of period 3 in Fig. 9(B), that is, at the time when all converted image data D1_conv, D2_conv, and D3_conv have been generated. In the example of Fig. 8(D), it can be seen that the converted image data D1_conv, D2_conv, and D3_conv have been generated and registered in the transfer list IL2, but the layout section PS2 has not executed the layout process. In the sequential method, the layout process for generating the layout image data D1_lay, D2_lay, and D3_lay is executed sequentially in periods 4, 5, and 6 (Fig. 9(B)).
[0098] After all the layout image data D1_lay, D2_lay, and D3_lay are generated, both the preview process and the build process can be executed, but in this embodiment, the preview process is prioritized over the build process. As described above, it is considered that the user often inputs a print instruction after checking the preview image PI, so it is preferable to display the preview image PI promptly. For this reason, as shown in FIG. 9B, in periods 7, 8, and 9 after all the layout image data D1_lay, D2_lay, and D3_lay are generated, the preview process for generating the preview image data D1_pre, D2_pre, and D3_pre is sequentially executed. In periods 10, 11, and 12 after all the preview image data D1_pre, D2_pre, and D3_pre are generated, the build process for generating the print data D1_bld, D2_bld, and D3_bld is sequentially executed.
[0099] In this embodiment, the supply process by the supply unit PS5 is started after a print instruction is acquired (S75 in FIG. 5). FIG. 9B illustrates a case where a print instruction is acquired before the generation of all the print data D1_bld, D2_bld, and D3_bld is completed. In this case, after the print data D1_bld corresponding to the original image data D1_org is generated, the supply unit PS5 executes a supply process of the print job D1_job including the print data D1_bld in parallel with the build process of generating the print data D2_bld (period 11 in FIG. 9B). Then, after the print data D2_bld corresponding to the original image data D2_org is generated, the supply unit PS5 executes a supply process of the print job D2_job including the print data D2_bld in parallel with the build process of generating the print data D3_bld (period 12 in FIG. 9B). Finally, after the print data D3_bld corresponding to the original image data D3_org is generated, the PS5 executes a supply process of the print job D3_job including the print data D3_bld (period 13 in FIG. 9B).
[0100] The parallel method can generate and supply print jobs faster than the sequential method, for example, when available resources (e.g., memory capacity) are sufficiently large relative to the processing load (e.g., the size of image data to be processed) and parallel processing can be executed efficiently. The sequential method can stably generate and supply print jobs even when available resources are insufficient relative to the processing load and parallel processing cannot be executed efficiently.
[0101] A-3-4-3. Processing when printing condition change instructions are obtained Next, a case where a printing condition change instruction is acquired will be described. FIG. 10 is a first explanatory diagram of the processing of the processing unit when a printing condition change instruction is acquired. FIG. 11 is an explanatory diagram of the parallel method when a printing condition change instruction is acquired. An explanatory diagram of a case where a printing condition change instruction is acquired by the parallel method. FIG. 11(A) illustrates a case where a margin change instruction is acquired at the end of period 4 (start of period 5) in the parallel method of FIG. 9(A). In this case, at the end of period 4, the processing of the processing units PS1 to PS4 is temporarily stopped (S30 in FIG. 4). Note that the processing of the supply unit PS5 is started after the printing instruction is acquired, and input of a printing condition change instruction is not permitted after the printing instruction is acquired, and a printing condition change instruction is not acquired. For this reason, at the time when a printing condition change instruction is acquired, the processing of the supply unit PS5 has not been started, so there is no need to stop the processing of PS5 in S30 in FIG. 4.
[0102] 10A shows the state of the management lists OL1 and OL2 and the delivery lists IL1 to IL4 at the end of the period 4, that is, at the time when the processing of the processing units PS1 to PS4 is stopped. At this point, the rasterization process corresponding to the original image data D1_org, D2_org, and D3_org, that is, the rasterization process for generating the converted image data D1_conv, D2_conv, and D3_conv, is completed. For this reason, no image data is registered in the delivery list IL1 to the rasterization unit PS1, and the generated (output) converted image data D1_conv, D2_conv, and D3_conv are registered in the management list OL1 of the rasterization unit PS1.
[0103] At this point, the layout process corresponding to the original image data D1_org, D2_org, and D3_org, that is, the layout process for generating the layout image data D1_lay, D2_lay, and D3_lay, is completed. Therefore, no image data is registered in the delivery list IL2 to the layout section PS2, and the generated (output) layout image data D1_lay, D2_lay, and D3_lay are registered in the management list OL2 of the layout section PS2.
[0104] At this point, the preview process and build process corresponding to the original image data D1_org and D2_org, i.e., the preview process for generating the preview image data D1_pre and D2_pre and the build process for generating the print data D1_bld and D2_bld, are completed. At this point, the preview process and build process corresponding to the original image data D3_org, i.e., the preview process for generating the preview image data D3_pre and the build process for generating the print data D3_bld, are not completed. For this reason, only the layout image data D3_lay, which is the unprocessed input image data, is registered in the delivery lists IL3 and IL4 to the preview unit PS3 and the build unit PS4.
[0105] After the processing of the processing units PS1 to PS4 is stopped (S30 in FIG. 4), the delivery lists IL1 to IL5 to the processing units PS1 to PS5 are cleared (S35 in FIG. 4). Furthermore, if a margin change instruction is acquired (YES in S50 in FIG. 5), the layout unit PS2 and the processing units PS3 to PS5 downstream of the layout unit PS2 are determined to be targets for reprocessing (S52 in FIG. 5, FIG. 6). Therefore, in S54 in FIG. 5, the management lists OL2 to OL5 of the processing units PS2 to PS5 are cleared. Furthermore, the original image data D1_org, D2_org, and D3_org are registered again in the delivery list IL1 to the rasterize unit PS1 (S55 in FIG. 5), and the processing units PS1 to PS4 are resumed (S65 in FIG. 5).
[0106] FIG. 10B shows the states of the management lists OL1 and OL2 and the delivery lists IL1 to IL4 at the time when the processing of the processing units PS1 to PS4 is resumed after the end of the period 4. At this time, the delivery lists IL1 to IL5 are cleared in S35 of FIG. 4, so no image data is registered in the delivery lists IL2 to IL4 of FIG. 10B. Then, the delivery list IL1 to the processing unit PS1 is cleared once (S35 of FIG. 4), but the original image data D1_org, D2_org, and D3_org are registered again (S55 of FIG. 5), so the original image data D1_org, D2_org, and D3_org are registered in the delivery list IL1 of FIG. 10B. Furthermore, in FIG. 10B, the management list OL1 of the rasterizing unit PS1 that is not the target of reprocessing is maintained in the state before the stop, but the management list OL2 of the layout unit PS2 that is the target of reprocessing is cleared (S52, S54 of FIG. 5).
[0107] When the processing of the processing units PS1 to PS4 is resumed, first, the rasterizing unit PS1, whose original image data is registered in its own delivery list IL1, performs the process of Fig. 7. Specifically, the rasterizing unit PS1 sequentially sets the original image data D1_org, D2_org, and D3_org registered in the delivery list IL1 as target image data, and judges whether the converted image data D1_conv, D2_conv, and D3_conv corresponding to the target image data are registered in its own management list OL1 (S105 and S110 in Fig. 7). The original image data D1_org, D2_org, and D3_org set as target image data are deleted from the delivery list IL1 (S105 in Fig. 7). These converted image data D1_conv, D2_conv, and D3_conv are registered in its own management list OL1. For this reason, the rasterizing unit PS1 does not re-process the rasterizing process to generate the converted image data D1_conv, D2_conv, and D3_conv using the original image data D1_org, D2_org, and D3_org (YES in S110 in FIG. 7), but registers the converted image data D1_conv, D2_conv, and D3_conv in its own downstream transfer list IL2 (S125 in FIG. 7). This process of the rasterizing unit PS1 is completed instantly because it does not actually execute the rasterizing process, but simply registers the generated converted image data D1_conv, D2_conv, and D3_conv in its own downstream transfer list IL2. In this way, the process of simply registering the output image data in a formal manner in the downstream transfer list without generating the output image data is also called formal processing.
[0108] 10C shows the state of the management lists OL1 and OL2 and the delivery lists IL1 to IL4 when the formatting process of the rasterizing unit PS1 is completed. At this point, the converted image data D1_conv, D2_conv, and D3_conv are registered as input image data in the delivery list IL2 to the layout unit PS2, so the layout unit PS2 can start its own processing.
[0109] The layout unit PS2 regards the converted image data D1_conv registered in the delivery list IL2 as the image data of interest and judges whether the corresponding layout image data D1_lay is registered in its own management list OL2 (S105, S110 in FIG. 7). The converted image data D1_conv that has been designated as the image data of interest is deleted from the delivery list IL2 (S105 in FIG. 7). Since the management list OL2 has been cleared, the layout image data D1_lay is not registered in the management list OL2 (S54 in FIG. 5, FIG. 10(C)), so the layout unit PS2 judges that the layout image data D1_lay is not registered in its own management list OL2 (S110: NO in FIG. 7). For this purpose, the layout section PS2 executes layout processing using the converted image data D1_conv to generate layout image data D1_lay (S115 in FIG. 7), registers the layout image data D1_lay in the management list OL2 (S120 in FIG. 7), and also registers the layout image data D1_lay in the downstream delivery lists IL3 and IL4 (S125 in FIG. 7). In this way, after the processing of the processing sections PS1 to PS4 is resumed, the layout section PS2 executes layout processing to generate the layout image data D1_lay (period 5 in FIG. 11(A)).
[0110] 10D shows the state of the management lists OL1 and OL2 and the delivery lists IL1 to IL4 after the end of the period 5, that is, after the layout process for generating the layout image data D1_lay is executed by the layout section PS2. In this state, as described above, the converted image data D1_conv is deleted from the delivery list IL2 (S105 in FIG. 7), and the layout image data D1_lay is registered in the management list OL2 and the delivery list IL2 (S120, S125 in FIG. 7).
[0111] As can be seen from the above description, a processing unit that is not the target of reprocessing (rasterizing unit PS1 in the example of FIG. 11A) does not reprocess its own process when restarted because its management list has not been cleared, and registers its output image data in the downstream delivery list. A processing unit that is the target of reprocessing (processing units PS2 to PS4 in the example of FIG. 11A) has its management list cleared, and therefore reprocesses its own process when restarted, regenerates its own output image data, and registers it in the downstream delivery list. In this way, by not clearing the management list of processing units that are not the target of reprocessing and by clearing the management list of processing units that are the target of reprocessing, it is possible to appropriately prevent processing units that are not the target of reprocessing from reprocessing and allow processing units that are the target of reprocessing to reprocess. Note that since the supply unit PS5 starts processing after a print instruction, even if a print condition change instruction is acquired, it starts processing after the print conditions are finalized, and therefore does not perform reprocessing.
[0112] In the example of FIG. 11(A), the single-hatched processes are re-processing of the cross-hatched processes. The output image data of the cross-hatched processes is wasted because an instruction to change the margins has been acquired, and is not used in generating the final print job. The non-hatched processes are processes that are not re-processed. The output image data of the non-hatched processes and the output image data of the single-hatched processes are used in generating the final print job. That is, the output image data of the non-hatched processes is not wasted even if it is a process before an instruction to change the margins is acquired. As a result, for example, even if an instruction to change the margins is acquired after the start of the print data generation process, some of the generated output image data is used in generating the final print job. Therefore, for example, the processing time required to generate print data and a print job can be shortened compared to the case where all processes are re-executed when an instruction to change the margins is acquired.
[0113] FIG. 11(B) illustrates a case where a data change instruction is acquired at the end of period 4 (start of period 5) in the parallel method of FIG. 9(A). In this example, the data change instruction is an instruction to select original image data D4_org instead of original image data D2_org. In this case, similar to the case where a margin change instruction is acquired, the processing of processing units PS1 to PS4 is temporarily stopped at the end of period 4 (S30 in FIG. 4). At the end of period 4, that is, at the time when the processing of processing units PS1 to PS4 is stopped, the states of management lists OL1 and OL2 and delivery lists IL1 to IL4 are as shown in FIG. 10(A) described above.
[0114] After the processing of the processing units PS1 to PS4 is stopped (S30 in FIG. 4), the delivery lists IL1 to IL5 to the processing units PS1 to PS5 are cleared (S35 in FIG. 4). Furthermore, when a data change instruction is acquired (YES in S40 in FIG. 5), the management lists OL1 to OL4 of the processing units PS1 and PS4 are updated (S45 in FIG. 5). Specifically, the registration of the output image data corresponding to the original image data D2_org that is no longer the processing target is deleted from the management lists OL1 to OL4. Furthermore, the original image data D1_org, D3_org, and D4_org to be processed after the change are registered in the delivery list IL1 to the rasterize unit PS1 (S55 in FIG. 5), and the processing of the processing units PS1 to PS4 is resumed (S65 in FIG. 5).
[0115] Fig. 12 is a second explanatory diagram of the processing of each processing unit when a printing condition change instruction is acquired. Fig. 12(A) shows the state of the management lists OL1 and OL2 and the delivery lists IL1 to IL4 at the time when the processing units PS1 to PS4 resume their processing after the end of the period 4. At this time, the delivery lists IL1 to IL5 are cleared in S35 of Fig. 4, so no image data is registered in the delivery lists IL2 to IL4 of Fig. 12(A). Then, the delivery list IL1 for the processing unit PS1 is cleared once (S35 of Fig. 4), but the original image data D1_org, D3_org, and D4_org are newly registered (S55 of Fig. 5), so the original image data D1_org, D3_org, and D4_org are registered in the delivery list IL1 of Fig. 11(A). 12A, the registration of the converted image data D2_conv corresponding to the original image data D2_org that is no longer the processing target is deleted from the management list OL1 of the rasterization unit PS1 (S45 in FIG. 5). Similarly, the registration of the layout image data D2_lay corresponding to the original image data D2_org is deleted from the management list OL2 of the layout unit PS2. Although not shown in the figure, the registration of the preview image data D2_pre and the print data D2_bld corresponding to the original image data D2_org are also deleted from the management lists OL3 and OL4 of the preview unit PS3 and the build unit PS4.
[0116] When the processing of the processing units PS1 to PS4 is resumed, first, the rasterizing unit PS1, whose original image data is registered in its own delivery list IL1, performs the process of Fig. 7. Specifically, the rasterizing unit PS1 sequentially sets the original image data D1_org, D3_org registered in the delivery list IL1 as target image data, and judges whether the converted image data D1_conv, D3_conv corresponding to the target image data are registered in its own management list OL1 (S105, S110 in Fig. 7). The original image data D1_org, D3_org set as target image data are deleted from the delivery list IL1 (S105 in Fig. 7). These converted image data D1_conv, D3_conv are registered in its own management list OL1. For this reason, the rasterization unit PS1 does not re-process the rasterization process to generate the converted image data D1_conv, D3_conv using the original image data D1_org, D3_org (YES in S110 of FIG. 7), but registers the converted image data D1_conv, D3_conv in its own downstream delivery list IL2 (S125 of FIG. 7).
[0117] 12B shows the states of the management lists OL1 and OL2 and the delivery lists IL1 to IL4 when the formatting process of the rasterizing unit PS1 is completed. At this point, the converted image data D1_conv and D3_conv are registered as input image data in the delivery list IL2 to the layout unit PS2, so the layout unit PS2 can start its own processing.
[0118] The layout unit PS2 regards the converted image data D1_conv, D3_conv registered in the delivery list IL2 as the image data of interest and judges whether the corresponding layout image data D1_lay, D3_lay are registered in its own management list OL2 (S105, S110 in FIG. 7). The converted image data D1_conv, D3_conv that are regarded as the image data of interest are deleted from the delivery list IL2 (S105 in FIG. 7). The layout image data D1_lay, D3_lay are registered in the management list OL2. For this reason, the layout unit PS2 does not re-process the layout process that generates the layout image data D1_lay, D3_lay using the converted image data D1_conv, D3_conv (YES in S110 in FIG. 7), but registers the layout image data D1_lay, D3_lay in its own downstream delivery lists IL3, IL4 (S125 in FIG. 7).
[0119] 12C shows the states of the management lists OL1 and OL2 and the delivery lists IL1 to IL4 at the time when the format processing of the layout unit PS2 is completed. At this point, the layout image data D1_lay and D3_lay are registered as input image data in the delivery lists IL3 and IL4 to the preview unit PS3 and the build unit PS4, so the preview unit PS3 and the build unit PS4 can start their own processing.
[0120] The preview unit PS3 and the build unit PS use the layout image data D1_lay registered in the delivery lists IL3 and IL4 as the image data of interest to determine whether the corresponding preview image data D1_pre and print data D1_bld are registered in their own management lists OL3 and OL4 (S105 and S110 in FIG. 7). The layout image data D1_lay that is the image data of interest is deleted from the delivery lists IL3 and IL4 (S105 in FIG. 7). In period 3, the preview unit PS3 and the build unit PS have already generated the preview image data D1_pre and the print data D1_bld, so although not shown, the preview image data D1_pre and the print data D1_bld are registered in the management lists OL3 and OL4, respectively. For this reason, the preview unit PS3 and the build unit PS do not re-process the layout process that generates the preview image data D1_pre and the print data D1_bld using the layout image data D1_lay (YES in S110 in FIG. 7). The build unit PS4 registers the print data D1_bld in its own downstream delivery list IL5 (S125 in FIG. 7).
[0121] FIG. 12(D) shows the state of the management lists OL1 and OL2 and the delivery lists IL1 to IL4 at the time when the formatting process of the preview unit PS3 and the build unit PS is completed. At this time, the original image data D4_org is registered as the input image data in the delivery list IL1 to the rasterize unit PS1, and the layout image data D3_lay is registered as the input image data in the delivery lists IL3 and IL4 to the preview unit PS3 and the build unit PS. For this reason, during the period 5 in FIG. 11(B), the rasterize process for generating the converted image data D4_conv using the original image data D4_org, the preview process for generating the preview image data D3_pre using the layout image data D3_lay, and the build process for generating the print data D3_bldre using the layout image data D3_lay are executed. During the period 5 in FIG. 11(B), the layout process is not executed.
[0122] 11B, in period 6, a layout process is executed to generate layout image data D4_lay using the converted image data D4_conv generated in period 5. In period 7, a preview process is executed to generate preview image data D4_pre and a build process is executed to generate print data D4_bld using the layout image data D4_lay generated in period 6.
[0123] As can be seen from the above description, instead of the processing of each of the processing sections PS1 to PS4 corresponding to the original image data D2_org that is no longer the processing target due to the data change instruction, the processing of each of the processing sections PS1 to PS4 corresponding to the new original image data D4_org is executed. If the processing of each of the processing sections PS1 to PS4 corresponding to the original image data D1_org and D3_org that are still the processing target after the data change instruction has already been executed, they will not be executed again.
[0124] In the example of FIG. 11(B), it can be said that the processing of each of the processing units PS1 to PS4 corresponding to the single-hatched original image data D4_org is a re-processing of the processing of each of the processing units PS1 to PS4 corresponding to the cross-hatched original image data D2_org. The output image data of the cross-hatched processing is wasted because a margin change instruction has been acquired, and is not used in the generation of the final print job. The non-hatched processing is a processing that is not re-processed. The output image data of the non-hatched processing and the output image data of the single-hatched processing are used in the generation of the final print job. That is, the output image data of the non-hatched processing is not wasted even if it is a processing before a data change instruction is acquired. As a result, for example, even if a data change instruction is acquired after the start of the print data generation processing, some of the generated output image data is used in the generation of the final print job. Therefore, for example, the processing time required to generate print data and a print job can be shortened compared to the case where all the processing is re-executed when a data change instruction is acquired.
[0125] Next, the process executed when a print condition change instruction is acquired in the sequential method will be described. FIG. 13 is an explanatory diagram of the sequential method in the case where a print condition change instruction is acquired. FIG. 13(A) illustrates a case where a color mode change instruction is acquired at the end of period 8 (start of period 9) in the sequential method of FIG. 9(B). When a color mode change instruction is acquired, as shown in FIG. 6, processing units PS1 and PS2 are not subject to reprocessing, and processing units PS3 to PS5 are subject to reprocessing. Even in this case, as described in the parallel method, S30 and S35 in FIG. 4 and S52 to S65 in FIG. 5 are executed. As a result, for the processes of processing units PS1 and PS2 that are not subject to reprocessing after period 9, reprocessing of the processes that have been executed up to period 8 is not executed. Then, among the processes of processing units PS3 to PS4 that are subject to reprocessing, reprocessing of the processes that have been executed up to period 8 is executed. In the example of Fig. 13(A), reprocessing of preview processes for generating preview image data D1_pre and D2_pre is performed in periods 9 and 10. In the example of Fig. 13(A), the single-hatched processes are reprocessing of the cross-hatched processes.
[0126] FIG. 13(B) illustrates a case where a data change instruction is acquired at the end of period 8 (start of period 9) in the sequential method of FIG. 9(B). In this example, the data change instruction is an instruction to select original image data D4_org instead of original image data D2_org. Even in this case, as described in the parallel method, S30 and S35 in FIG. 4 and S45 and S55 to S65 in FIG. 5 are executed. As a result, in the period 9 and thereafter, instead of the processing of each of the processing units PS1 to PS4 corresponding to the original image data D2_org, the processing of each of the processing units PS1 to PS4 corresponding to the original image data D4_org is executed. For example, in the period 10, a rasterization process is executed to generate converted image data D4_conv using the original image data D4_org, and in the period 11, a layout process is executed to generate layout image data D4_lay using the converted image data D4_conv. In period 12, a preview process is executed to generate preview image data D4_pre using the layout image data D4_lay, and in period 15, a build process is executed to generate print data D4_bld using the layout image data D4_lay. Even after a data change instruction is issued, if the processes of the processing units PS1 to PS4 corresponding to the original image data D1_org and D3_org to be processed have already been executed, they will not be executed again.
[0127] In the example of Figure 13 (B), the processing of each processing unit PS1 to PS3 corresponding to the single-hatched original image data D4_org can be said to be a re-processing of the processing units PS1 to PS3 corresponding to the cross-hatched original image data D2_org.
[0128] As can be seen from the above explanation, even in the sequential method, when a print condition change instruction (print setting change instruction or data change instruction) is acquired after the print data generation process starts, a part of the generated output image data is used to generate the final print job. Therefore, for example, the processing time required to generate print data or a print job can be shortened compared to the case where all the processes are executed again when a print condition change instruction is acquired.
[0129] In this embodiment, reprocessing means that, among the processes of the processing units PS1 to PS4, a process to be changed that is a process to output output data different from that before the printing conditions were changed is re-executed by changing at least a part of the input data. The input data includes, for example, at least either input image data or parameters for print settings. For example, as described above, when a data change instruction is acquired, the process of the processing units PS1 to PS4 corresponding to the original image data to be changed that is specified in S43 of FIG. 5 is the target of reprocessing. When a print setting change instruction is acquired, the process of the processing unit determined in S52 of FIG. 5 is the target of reprocessing.
[0130] According to the present embodiment described above, the UI processing unit UP acquires a data selection instruction input by the user, and acquires a printing condition change instruction input by the user after the data selection instruction is input (FIG. 3B). The processing units PS1 to PS4 execute a generation process for generating print data using the original image data D1_org, D2_org, and D3_org selected based on the data selection instruction (S15 to S20 in FIG. 4, FIG. 7, FIG. 9). When a printing condition change instruction (data change instruction or print setting change instruction) is acquired (YES in S40 of FIG. 5, or YES in S50), the management unit CL judges whether the change is a process to be changed, which is a process that should output output data different from that before the printing conditions were changed according to the change in printing conditions based on the printing condition change instruction (S43 in FIG. 5, or S52 in FIG. 5). The processing units PS1 to PS4 start generating print data after the data selection instruction is acquired (S20 in FIG. 4, FIG. 9). When a printing condition change instruction is acquired after the start of print data generation, the processing units PS1 to PS4 re-process the process to be changed among the processes that have already started among the processing units PS1 to PS4, and do not re-process any process that is different from the process to be changed among the processes that have already started (FIG. 9). As a result, when the printing conditions are changed after the start of print data generation processing, it is possible to prevent the time required for print data generation processing from becoming longer.
[0131] More specifically, in this embodiment, when a data selection instruction is acquired, the print data generation process is started without waiting for a print instruction to be acquired, so that a print job can be supplied to the printer 200 more quickly than when the print data generation process is started after the print instruction is acquired. On the other hand, since a print condition change instruction may be acquired until the print instruction is acquired, the print conditions are not determined. Therefore, the print conditions may be changed after the print data generation process is started, so that the print data generation process may need to be redone. Even in such a case, in this embodiment, among the processes that have been started among the processes of the processing units PS1 to PS4, the process to be changed is reprocessed, and among the processes that have been started, the process different from the process to be changed is not reprocessed, so that the amount of redoing the process can be suppressed. Therefore, when the print conditions are changed after the print data generation process is started, the time required for the print data generation process can be suppressed from being long. Furthermore, even if the processing conditions of the generation process are changed after the print data generation process is started, appropriate print data according to the change in the print conditions can be generated.
[0132] Furthermore, according to this embodiment, when a data change instruction is acquired to change the original image data D2_org to original image data D4_org among the original image data D1_org and D2_org to be processed (FIGS. 11(B) and 13(B)), reprocessing of the processing units PS1 to PS4 corresponding to the original image data D2_org (cross-hatched processing in FIG. 11(B) and FIG. 13(B)) is performed. This reprocessing is performed by changing the input image data from the original image data D2_org to the original image data D4_org (single-hatched processing in FIG. 11(B) and FIG. 13(B)). Reprocessing of the processing units PS1 to PS4 corresponding to the original image data D1_org and D3_org is not performed (FIGS. 11(B) and FIG. 13(B)). As a result, when a data change instruction is acquired after the print data generation process is started, it is possible to prevent the time required for the print data generation process from becoming longer.
[0133] Furthermore, in this embodiment, the processing of the processing units PS1 to PS4 includes a first processing (e.g., rasterization processing) corresponding to the original image data D1_org to D3_org, and a second processing (e.g., layout processing) executed using the output image data of the first processing. The print condition change instruction includes a print setting change instruction (e.g., margin change instruction) that does not require a change in the parameters of the first processing, but requires a change in the parameters of the second processing. When the print setting change instruction is acquired, the processing unit judges that the first processing is a processing different from the processing to be changed (processing that is not the processing to be reprocessed), and judges that the layout processing is the processing to be changed (processing that is the processing to be reprocessed) (S52 in FIG. 5, FIG. 6). When the print setting change instruction is acquired after the start of the first processing and the second processing, the processing unit PS1 to PS4 changes the parameters of the second processing and reprocesses the second processing, and does not reprocess the first processing (S54, S60, S65 in FIG. 5, FIG. 11(A), FIG. 13(A)). As a result, when a setting change instruction, such as an instruction to change a margin, is acquired after the print data generation process has started, it is possible to prevent the time required for the print data generation process from becoming long.
[0134] Furthermore, in this embodiment, the processing of the processing units PS1 to PS4 includes a third processing (e.g., build processing) that is executed using output image data of the second processing (e.g., layout). When the second processing is the processing to be changed, the management unit CL determines that the third processing is the processing to be changed (processing to be reprocessed) (FIG. 6). When a setting change instruction such as a margin change instruction is acquired after the start of the third processing, the processing units PS1 to PS4 execute reprocessing of the third processing using output image data of the reprocessing of the second processing (FIG. 11(A)). As a result, the reprocessing of the third processing is executed using output image data of the reprocessing of the second processing, so that appropriate print data can be generated according to the print setting change instruction.
[0135] Furthermore, in this embodiment, there are cases where the layout process is reprocessed and the rasterization process is not reprocessed. That is, the first process is a rasterization process that generates first intermediate image data (e.g., converted image data D1_conv-D3_conv) having a first data format (e.g., PNG format) using target image data (e.g., original image data D1_org-D3_org), and the second process is a layout process that generates second intermediate image data (e.g., layout image data D1_lay-D3_lay) indicating a print image in which an image is arranged according to print settings using the first intermediate image data (e.g., converted image data D1_conv-D3_conv). According to this configuration, when the print setting change process is acquired, there are cases where the layout process is reprocessed and the rasterization process is not reprocessed. Therefore, it is possible to prevent the time required for the print data generation process from becoming long.
[0136] In this embodiment, the print settings in which the layout process is reprocessed but the rasterization process is not reprocessed include a layout number setting and a margin setting. The layout number setting is a setting of the number of images to be included in one print image printed on one side of one print medium (e.g., paper). The margin setting is a setting of the margin to be provided outside the image in the print image. As a result, when an instruction to change the margin or layout number is obtained, it is possible to prevent the time required for the print data generation process from becoming long.
[0137] Furthermore, in this embodiment, there are cases where the build process is reprocessed, and the rasterization process and the layout process are not reprocessed. That is, the first process is a process (the whole of the rasterization process and the layout process) that uses the target image data (for example, the original image data D1_org to D3_org) to generate intermediate image data indicating a print image in which an image is arranged, and the second process is a build process that uses the intermediate image data according to the print settings to generate print data having a data format that the printer 200 can interpret. According to this configuration, when a print setting change instruction is acquired, there are cases where the build process is reprocessed, and the rasterization process and the layout process are not reprocessed. Therefore, it is possible to prevent the time required for the print data generation process from becoming long.
[0138] In this embodiment, the print settings for which the build process is reprocessed but the rasterization process and layout process are not reprocessed include a setting for selecting either double-sided printing or single-sided printing, and a setting for the number of colors in the print image (color mode setting).As a result, when an instruction to change the double-sided / single-sided printing setting or color mode is obtained, it is possible to prevent the time required for the print data generation process from becoming longer.
[0139] Furthermore, in this embodiment, there are cases where the preview process is reprocessed, and the rasterization process and the layout process are not reprocessed. That is, the first process may be the entire rasterization process and the layout process, and the second process may be a process for generating preview image data using intermediate image data according to the print settings. According to this configuration, when a print setting change instruction is acquired, there are cases where the preview process is reprocessed, and the rasterization process and the layout process are not reprocessed. Therefore, it is possible to prevent the time required for the print data generation process from becoming long.
[0140] In this embodiment, the print settings for which the preview process is reprocessed but the rasterization process and layout process are not reprocessed include the setting of the number of colors in the print image (the setting of the color mode). As a result, when an instruction to change the color mode is obtained, the preview image PI can be displayed quickly.
[0141] Furthermore, in this embodiment, after the print instruction is acquired, the supply unit PS5 executes a supply process of adding a print command to the print data and supplying the print data to the printer 200 (YES in S70 in FIG. 5, 75). The print condition change instruction includes a print setting change instruction that requires a change to the print command but not to the print data (FIG. 6). When such a print setting change instruction is acquired, the management unit CL determines that all of the processes of the processing units PS1 to PS4 included in the print data generation process are processes other than the process to be changed (processes not to be reprocessed). In other words, only the supply process by the supply unit PS5 is the target for reprocessing (FIG. 6). In this case, the processing units PS1 to PS4 do not reprocess the processes of the processing units PS1 to PS4. As a result, even if a setting change instruction that requires a change to the print command but not to the print data is acquired, the reprocessing of the processing units PS1 to PS4 is not executed, so that the time required for the print data generation process can be further prevented from being long. In other words, by not adding the print command in the build process but in the supply process of the supply unit PS5 that is performed after the print settings are finalized, if a print setting change instruction that can be handled by simply changing the print command is acquired, it is possible to eliminate the need for reprocessing by the processing units PS1 to PS4. This reduces the frequency of reprocessing of the build process, further preventing the time required for the print data generation process from becoming longer.
[0142] In this embodiment, the print settings that can be handled by simply adding a print command in the supply process include the number of copies to be printed, the print quality setting, and the settings of the paper feed tray and the output tray. As a result, when an instruction to change these print settings is obtained, there is no need to reprocess the print data generation process, which further reduces the time required for the print data generation process.
[0143] Furthermore, according to this embodiment, the management unit CL manages the delivery lists IL1 to IL4, which are lists of input image data for each process of the processing units PS1 to PS4, and the management lists OL1 to OL4, which are lists of output image data generated by each process (S15, S35, S45, S54, S55 in FIG. 4). When the output image data to be generated using the input image data registered in the corresponding delivery list IL1 to IL4 is not registered in the corresponding management list OL1 to OL4 (NO in S110 in FIG. 7), each of the processing units PS1 to PS4 executes the corresponding process to generate the output image data to be generated (S115 in FIG. 7), and registers the generated output image data in the corresponding management list OL1 to OL4 (S120 in FIG. 7). When the output image data to be generated using the input image data registered in the corresponding delivery list IL1 to IL4 is registered in the corresponding management list OL1 to OL4 (YES in S110 in FIG. 7), the management unit CL does not execute the corresponding process. The management unit CL deletes the registration of the output image data corresponding to the process to be reprocessed from the management lists OL1-OL4 corresponding to the process to be reprocessed (S54 in FIG. 5), thereby causing the processing units PS1-PS4 to reprocess. As a result, the processing units PS1-PS4 can use the delivery lists IL1-IL4 and the management lists OL1-OL4 to perform appropriate reprocessing.
[0144] As can be seen from the above explanation, the three original image data D1_org, D2_org, and D3_org in this embodiment are all examples of target image data, the original image data D1_org is an example of the first image data, the original image data D2_org is an example of the second image data, and the original image data D4_org is an example of the third image data. In addition, the delivery lists IL1 to IL4 are examples of input lists, and the management lists OL1 to OL4 are examples of output lists.
[0145] B. Modifications (1) In the above embodiment, in table TB in FIG. 6, processing units that are not subject to reprocessing and processing units that are subject to reprocessing are specified for each print setting. Table TB in FIG. 6 is an example, and is not limited to this. For example, some of the multiple print settings described in table TB may be omitted. In addition, other print settings may be added to table TB. In addition, for at least some print settings, the processing units that are not subject to reprocessing and the processing units that are subject to reprocessing may differ from those specified in table TB.
[0146] For example, when the paper size setting is changed, the processing units PS1 to PS5 are the targets of reprocessing. Alternatively, when the paper size setting is changed, the rasterizing unit PS1 may not be the target of reprocessing, and only the processing units PS2 to PS5 may be the target of reprocessing. Also, when the margin or allocation setting is changed, the rasterizing unit PS1 is not the target of reprocessing, and only the processing units PS2 to PS5 are the target of reprocessing. Alternatively, when the margin or allocation setting is changed, or when the paper size setting is changed, the processing units PS1 to PS5 may be the target of reprocessing.
[0147] Furthermore, the processing units that are not subject to reprocessing and the processing units that are subject to reprocessing may be changed depending on the type of original image data. For example, when image data generated by a specific application or image data saved in a specific file format is selected as the original image data, and the paper size setting is changed, the rasterizing unit PS1 may not be the target of reprocessing, and only the processing units PS2 to PS5 may be the target of reprocessing. When image data generated by an application other than the specific application or image data saved in a file format other than the specific file format is selected as the original image data, and the paper size setting is changed, the processing units PS1 to PS5 may be the target of reprocessing. These may be determined appropriately depending on the type of original image data, for example, depending on the possibility of image quality degradation, etc.
[0148] Also, the types of print settings described in the table TB in FIG. 6 are merely examples, and are not limited thereto. For example, processing units that are not the subject of reprocessing and processing units that are the subject of reprocessing may be defined according to the print settings that specify the printer 200 to which the print job is supplied. For example, when the type of the printer to which the print job is supplied is changed from an inkjet printer to a laser printer, the rasterizing unit PS1 may not be the subject of reprocessing, and only the processing units PS2 to PS5 may be the subject of reprocessing. Also, processing units that are not the subject of reprocessing and processing units that are the subject of reprocessing may be defined according to the setting of the print resolution. For example, when the number of pixels of the converted image data is changed according to the output resolution, the processing units PS2 to PS5 may be the subject of reprocessing when the output resolution is changed. Also, when the number of pixels of the converted image data is not changed according to the output resolution, and only the number of pixels of the print data is changed, the processing units PS1 to PS3 may not be the subject of reprocessing, and only the processing units PS4 and PS5 may be the subject of reprocessing when the output resolution is changed. Also, processing sections that are not subject to reprocessing and processing sections that are subject to reprocessing may be defined according to the type of print medium, for example, settings for paper, OHP sheets, and recording discs such as CDs and DVDs.
[0149] The supply unit PS5 may be configured to only transmit the print job without adding the print command. In this case, for example, the addition of the print command may be executed by the build unit PS4. In this case, for example, when a print setting change instruction is acquired, the build unit PS4 may always be the target of reprocessing.
[0150] (2) In the above embodiment, the management unit CL manages the delivery lists IL1-IL4 and the management lists OL1-OL4 to control whether each processing unit executes reprocessing. Alternatively, other methods may be used to control whether each processing unit executes reprocessing. For example, the management unit CL may be configured to supply input image data and processing instructions to each processing unit, causing each processing unit to execute its own processing, and the management unit CL may control whether each processing unit executes reprocessing depending on whether it supplies a reprocessing instruction to the processing unit.
[0151] (3) The specific contents of the parallel method and sequential method in Fig. 9 are merely examples and are not limited to these. For example, in the sequential process in Fig. 9(B), the processes of the processing units PS1 to PS4 that generate print data are not allowed to be executed in parallel, but the process of the supply unit PS5 is allowed to be executed in parallel with the processes of the processing units PS1 to PS4. Alternatively, the process of the supply unit PS5 does not have to be allowed to be executed in parallel with the processes of the processing units PS1 to PS4. In this case, for example, the process of the supply unit PS5 is executed after all the processes of the processing units PS1 to PS4 have been completed.
[0152] In the sequential method of Fig. 9(B), after the rasterization process corresponding to the entire original image data D1_org, D2_org, and D3_org is performed, the layout process corresponding to the entire original image data D1_org, D2_org, and D3_org is performed. Then, after the layout process corresponding to the entire original image data D1_org, D2_org, and D3_org is performed, the build process corresponding to the entire original image data D1_org, D2_org, and D3_org is performed. Alternatively, after the process of the processing units PS1 to PS4 corresponding to the original image data D1_org is performed, the process of the processing units PS1 to PS4 corresponding to the original image data D2_org may be performed. Then, after the process of the processing units PS1 to PS4 corresponding to the original image data D2_org is performed, the process of the processing units PS1 to PS4 corresponding to the original image data D3_org may be performed.
[0153] (4) In the above embodiment, when all of the above conditions (1) to (3) are satisfied, the execution format is determined to be the parallel method, and when at least one of the conditions (1) to (3) is not satisfied, the execution format is determined to be the sequential method. This determination condition is an example, and is not limited to this. For example, the execution format may be determined based on only one of the conditions (1) to (3). The execution format may be determined based on information on resources available for the generation process. The information on resources may be determined based on, for example, the remaining memory Mr available for the generation process, or the resources (usage rate and number of cores) of the CPU 310 available for the generation process. For example, the execution format may be determined to be the parallel method when the remaining memory Mr available for the generation process is equal to or greater than a reference value, and may be determined to be the sequential method when the remaining memory Mr is less than the reference value. The execution format may be determined to be the parallel method when the number of applications running on the terminal device 300 is less than a reference value, and may be determined to be the sequential method when the number of applications running on the terminal device 300 is equal to or greater than a reference value.
[0154] (5) In the printing process of the above embodiment, the configuration of the processing units PS1 to PS5 that generate the print data is an example and may be changed as appropriate. For example, the preview unit PS3 and the preview process may be omitted. In this case, for example, the display of the preview image PI may be omitted, or the preview image PI may be displayed using layout image data generated by the layout unit PS2. Furthermore, the rasterization process and the layout process may be executed by a single processing unit.
[0155] The print data generated by the build unit PS4 is image data described in a specific page description language. Without being limited to this, the build unit PS4 may execute color conversion processing and halftone processing on the layout image data to generate dot data indicating the dot formation state for each pixel and for each color material (for example, CMYK ink) used in printing as print data. The dot formation state may be, for example, two types of states, "no dot" and "dot", or four types of states, "no dot", "small", "medium", and "large".
[0156] In the above embodiment, the target image data includes a plurality of original image data D1_org, D2_org, and D3_org, and the processing of the processing units PS1 to PS4 is performed for each of the original image data. Alternatively, for example, the processing of the processing units PS1 to PS5 may be performed for each portion of data included in one piece of original image data. For example, an inkjet printer performs printing by repeating partial printing (also called a pass) to form dots a plurality of times while performing a main scan of the print head, and the processing of the processing units PS1 to PS5 may be performed for each piece of data for one partial print.
[0157] (6) In the printing process of the above embodiment, the sequential method and the parallel method are selectively used, but this is not limiting. The sequential method may always be used, or the parallel method may always be used.
[0158] (7) In each of the above embodiments, the device that executes the processes in Figs. 4, 5, and 7 is the CPU 310 of the terminal device 300. Alternatively, the device that executes the processes in Figs. 4, 5, and 7 may be the CPU 210 of the printer 200. In this case, the CPU 210 of the printer 200 supplies a print job to the print mechanism 250 as a print execution unit, causing the print mechanism 250 to execute printing. Alternatively, the device that executes the processes in Figs. 4, 5, and 7 may be, for example, a server that acquires image data from the terminal device 300 and generates a print job using the image data. Such a server may be a plurality of computers that can communicate with each other via a network. In addition, the terminal device 300 may cause the server to execute part of the processes in Figs. 3, 5, and 7, for example, rasterization processing for a specific type of image data.
[0159] (8) In each of the above embodiments, a part of the configuration realized by hardware may be replaced by software, and conversely, a part or all of the configuration realized by software may be replaced by hardware. For example, a part of the processing of the processing units PS1 to PS4 may be realized by a dedicated hardware circuit (e.g., ASIC) that operates according to instructions from the CPU 310.
[0160] The present invention has been described above based on examples and modifications, but the above-described embodiments of the invention are intended to facilitate understanding of the present invention and are not intended to limit the present invention. The present invention may be modified or improved without departing from the spirit and scope of the claims, and equivalents thereof are included in the present invention. [Explanation of symbols]
[0161] 1000...printing system, 200...printer, 210...CPU, 220...non-volatile storage device, 230...volatile storage device, 231...buffer area, 250...printing mechanism, 260...operation unit, 270...display unit, 280...communication unit, 300...terminal device, 310...CPU, 320...non-volatile storage device, 330...volatile storage device, 331...buffer area, 360...operation unit, 370...display unit, 380...communication unit, AP...application program, CL...management unit, IL1 to IL5...delivery list, IP1, IP2...image processing unit, OL1 to OL5...management list, OP...OS program, PA...printing application, PG...computer program, PS1...rasterization unit, PS2...layout unit, PS3...preview unit, PS4...build unit, PS5...supply unit, UP...UI processing unit, WI1...main screen, WI2...image selection screen, WI3...print setting screen
Claims
1. A computer program comprising: an instruction acquisition function for acquiring a data selection instruction input by a user and acquiring a printing condition change instruction for changing printing conditions, the printing condition change instruction being input by the user after the input of the data selection instruction; a generation function for executing a generation process for generating print data using the target image data selected based on the data selection instruction, the generation process including a plurality of processes; a determination function for determining whether or not each of the plurality of processes is a change target process, which is a process that should output output data different from that before the printing conditions were changed in response to the change of the printing conditions based on the printing condition change instruction, when the printing condition change instruction is acquired; This is realized on a computer. the generating function starts generating the print data after the data selection instruction is acquired; the generation function, when the printing condition change instruction is acquired after the start of generation of the print data, executes re-processing of the process to be changed among the processes that have been started among the plurality of processes, and does not execute the re-processing of a process that is different from the process to be changed among the processes that have been started; The reprocessing comprises modifying at least a portion of the input data and re-executing the process.
2. 2. A computer program according to claim 1, comprising: the target image data selected based on the data selection instruction includes first image data and second image data; the plurality of processes include a first generation process corresponding to the first image data and a second generation process corresponding to the second image data; the printing condition change instruction includes a data change instruction to change the first image data to third image data, the determination function, when the data change instruction is acquired, determines that the first generation process is the process to be changed and determines that the second generation process is a process different from the process to be changed; The generation function is a computer program which, when the data change instruction is acquired after the start of the first generation process and the second generation process, changes the image data as input data from the first image data to the third image data and executes the re-processing of the first generation process, but does not execute the re-processing of the second generation process.
3. 2. A computer program according to claim 1, comprising: The plurality of processes include a first process corresponding to the target image data and a second process executed using output data of the first process, the printing condition change instruction is a first setting change instruction for changing a first setting related to printing, the first setting change instruction not requiring a change in a parameter of the first process but requiring a change in a parameter of the second process, the determination function, when the first setting change instruction is acquired, determines that the first process is a process different from the process to be changed and determines that the second process is the process to be changed; The generation function is a computer program which, when the first setting change instruction is obtained after the start of the first process and the second process, changes parameters of the second process and executes the re-processing of the second process, and does not execute the re-processing of the first process.
4. 4. A computer program according to claim 3, comprising: the plurality of processes includes a third process executed using output data of the second process, The determination function determines that the third process is the process to be changed, The generation function is a computer program that executes the re-processing of the third process using output data of the re-processing of the second process when the first setting change instruction is obtained after the start of the third process.
5. A computer program according to claim 3 or 4, the first process includes a process of generating first intermediate image data having a first data format using the target image data indicating a target image; The second process includes a process of generating, using the first intermediate image data, second intermediate image data indicating a print image in which the target image is arranged according to the first setting, the computer program.
6. 6. A computer program according to claim 5, comprising: A computer program, wherein the first setting includes at least one of a setting of the number of the target images to be included in one print image printed on one side of one print medium, a setting of margins to be provided outside the target images in the print image, a setting of the size of the print medium, and a setting specifying a print execution unit to which the print data is supplied.
7. A computer program according to claim 3 or 4, the first process includes a process of generating intermediate image data representing a print image in which the target image is arranged, using the target image data representing a target image; The second process includes a process of generating the print data having a data format that can be interpreted by a print execution unit using the intermediate image data in accordance with the first setting.
8. 8. A computer program according to claim 7, comprising: The first setting includes at least one of a setting for selecting either double-sided printing or single-sided printing, and a setting for the number of colors in a print image.
9. A computer program according to claim 3 or 4, The generating function further generates image data for preview using the target image data selected based on the data selection instruction, The computer program further comprises: After the data selection instruction is acquired, a display function is implemented in the computer to display a preview image on a display unit using the preview image data; the first process includes a process of generating intermediate image data representing a print image in which the target image is arranged, using the target image data representing a target image; The second process includes a process of generating image data for preview using the intermediate image data in accordance with the first setting.
10. 10. A computer program as claimed in claim 9, comprising: The first setting includes a setting for the number of colors in a print image.
11. A computer program according to any one of claims 1 to 10, further comprising: The instruction acquisition function further acquires a print instruction corresponding to the data selection instruction, the print instruction being input by a user after input of the data selection instruction; The computer program further comprises: a supply function is implemented in the computer to add a print command to the print data and supply the print data to a print execution unit after the print instruction is acquired; the printing condition change instruction is a second setting change instruction for changing a second setting related to printing, the second setting change instruction requiring a change to the print command but not requiring a change to the print data; the determining function, when the second setting change instruction is acquired, determines that all of the plurality of processes included in the generation process of the print data are processes different from the process to be changed; The generation function does not execute the re-processing of the plurality of processes when the second setting change instruction is acquired.
12. 12. A computer program according to claim 11, comprising: A computer program, wherein the second setting includes at least one of a setting for the number of copies to be printed, a setting for selecting the print execution unit to which the print data is to be supplied, a setting for print quality, a setting for a tray for supplying the print medium to be used for printing, and a setting for a tray for ejecting the printed print medium.
13. A computer program according to any one of claims 1 to 12, further comprising: A list management function is implemented in a computer to manage an input list, which is a list of input image data for each of the plurality of processes of the generation process, and an output list, which is a list of output image data generated by each of the processes; the generating function includes a plurality of processing functions corresponding to the plurality of processes; each of the plurality of processing functions executes a corresponding process asynchronously with respect to each other; Each of the plurality of processing functions includes: When output image data to be generated using input image data registered in the corresponding input list is not registered in the corresponding output list, a corresponding process is executed to generate the output image data to be generated, and the generated output image data is registered in the corresponding output list; When output image data to be generated using the input image data registered in the corresponding input list is registered in the corresponding output list, the corresponding process is not executed; A computer program in which the list management function causes the generation function to execute the reprocessing by deleting the registration of the output image data corresponding to the process for which the reprocessing is to be executed from the output list corresponding to the process for which the reprocessing is to be executed.
14. An image processing device, an instruction acquisition unit that acquires a data selection instruction input by a user and acquires a printing condition change instruction for changing printing conditions, the printing condition change instruction being input by the user after the input of the data selection instruction; a generation unit that executes a generation process for generating print data using the target image data selected based on the data selection instruction, the generation process including a plurality of processes; a determination unit that, when the printing condition change instruction is acquired, determines whether each of the plurality of processes is a change target process that is a process that should output output data different from that before the printing conditions were changed in response to the change of the printing conditions based on the printing condition change instruction; and Equipped with the generation unit starts generating the print data after the data selection instruction is acquired; when the printing condition change instruction is acquired after the start of generation of the print data, the generation unit executes a re-processing of the process to be changed among the processes that have been started among the plurality of processes, and does not execute the re-processing of a process that is different from the process to be changed among the processes that have been started; The reprocessing of the image processing device involves changing at least a part of the input data and re-executing the processing.
Citation Information
Patent Citations
Apparatus for image processing
JP2007243887A
Printing processor, printing processing method, and its program
JP2008213406A
Printing control apparatus, print control method, and computer program
JP2010033284A
Image processing apparatus, and control method and control program thereof
JP2016196111A
Computer program and control apparatus
JP2020052895A