Computer program and image processing device
Patent Information
- Application Number
- JP2021034856
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-04
- Publication Date
- 2025-03-12
- Estimated Expiration
- 2041-03-04
AI Technical Summary
【0008】 上記構成によれば、印刷データの生成処理の実行方式として、パラレル方式とシーケンシャル方式とを、所定の条件に応じて使い分けることができる。その結果、印刷データの生成処理を効率良く実行することができる。 [適用例2] 適用例1に記載のコンピュータプログラムであって、 前記所定の条件は、前記生成処理のために使用可能なリソースに関する情報と、前記生成処理の負荷に関する情報と、前記コンピュータプログラムの実行に用いられるOS(Operating System)に関する情報と、のうちの少なくとも1つを用いて判断される条件である。 [適用例3] 適用例2に記載のコンピュータプログラムであって、 前記生成処理の負荷に関する情報は、生成すべき前記印刷データのサイズを示す情報と、前記印刷データを用いる印刷に用いられる印刷媒体のサイズを示す情報と、のうちの少なくとも一方を含み、 前記パラレル方式が前記実行方式として決定される条件は、前記印刷データのサイズが基準以下であることと、前記印刷媒体のサイズが基準未満であることと、のうちの少なくとも1つを含む、コンピュータプログラム。 [適用例4] 適用例1~3のいずれかに記載のコンピュータプログラムであって、さらに、 ユーザによって入力されるデータ選択指示を取得し、印刷条件を変更する印刷条件変更指示であって前記データ選択指示の入力後にユーザによって入力される前記印刷条件変更指示を取得する指示取得機能をコンピュータに実現させ、 前記決定機能は、前記印刷条件変更指示が取得される前に、変更前の前記印刷条件に基づいて前記実行方式を決定し、 前記生成機能は、前記データ選択指示が取得された後に、変更前の前記印刷条件に基づいて決定された前記実行方式に従って、前記データ選択指示に基づいて選択された前記対象画像データを用いて前記印刷データの前記生成処理を開始し、 前記印刷データの生成の開始後に、前記印刷条件変更指示が取得される場合に、 前記決定機能は、前記印刷条件変更指示によって変更された前記印刷条件に基づいて前記実行方式を決定し、 前記生成機能は、変更前の前記印刷条件に基づいて決定された前記実行方式と、変更された前記印刷条件に基づいて決定された前記実行方式と、が異なる場合には、実行中の前記生成処理の実行方式を、変更された前記印刷条件に基づいて決定された前記実行方式に変更して、前記生成処理を実行する、コンピュータプログラム。 [適用例5] 適用例1~3のいずれかに記載のコンピュータプログラムであって、さらに、 ユーザによって入力されるデータ選択指示を取得し、印刷条件を変更する印刷条件変更指示であって前記データ選択指示の入力後にユーザによって入力される前記印刷条件変更指示を取得する指示取得機能をコンピュータに実現させ、 前記決定機能は、前記印刷条件変更指示が取得される前に、変更前の前記印刷条件に基づいて前記実行方式を決定し、 前記生成機能は、前記データ選択指示が取得された後に、変更前の前記印刷条件に基づいて決定された前記実行方式に従って、前記データ選択指示に基づいて選択された前記対象画像データを用いて前記印刷データの前記生成処理を開始し、 前記印刷データの生成の開始後に、前記印刷条件変更指示が取得される場合であっても、 前記生成機能は、変更前の前記印刷条件に基づいて決定された前記実行方式に従って、前記生成処理を実行する、コンピュータプログラム。 [適用例6] 適用例1~5のいずれかに記載のコンピュータプログラムであって、さらに、 前記印刷データを印刷実行部に供給する供給処理を実行する供給機能をコンピュータに実現させ、 前記供給機能は、前記印刷データの前記生成処理の前記実行方式が前記パラレル方式である場合に、実行中の前記生成処理によって生成される前記印刷データのうちの生成済みの一部の印刷データの前記供給処理を、実行中の前記生成処理と並列に実行する、コンピュータプログラム。 [適用例7] 適用例1~5のいずれかに記載のコンピュータプログラムであって、さらに、 前記印刷データを印刷実行部に供給する供給処理を実行する供給機能をコンピュータに実現させ、 前記供給機能は、前記印刷データの前記生成処理の前記実行方式が前記シーケンシャル方式である場合に、実行中の前記生成処理によって生成される前記印刷データのうちの生成済みの一部の印刷データの前記供給処理を、実行中の前記生成処理と並列に実行する、コンピュータプログラム。 [適用例8] 適用例1~7のいずれかに記載のコンピュータプログラムであって、 前記シーケンシャル方式に従って実行される前記生成処理は、 前記対象画像データの全体に対応する前記第1処理を実行し、 前記対象画像データの全体に対応する前記第1処理が実行された後に、前記対象画像データの全体に対応する前記第2処理を実行する処理である、コンピュータプログラム。 [適用例9] 適用例1~7のいずれかに記載のコンピュータプログラムであって、 前記対象画像データは、第1の部分データと第2の部分データとを含み、 前記シーケンシャル方式に従って実行される前記生成処理は、 前記第1の部分データに対応する前記第1処理を実行し、 前記第1の部分データに対応する前記第1処理が実行された後に、前記第1の部分データに対応する前記第2処理を実行し、 前記第1の部分データに対応する前記第2処理が実行された後に、前記第2の部分データに対応する前記第1処理を実行し、 前記第2の部分データに対応する前記第1処理が実行された後に、前記第2の部分データに対応する前記第2処理を実行する処理である、コンピュータプログラム。 [適用例10] 適用例1~9のいずれかに記載のコンピュータプログラムであって、 前記対象画像データは、第1の部分データと第2の部分データとを含み、 前記パラレル方式に従って実行される前記生成処理は、 前記第1の部分データに対応する前記第1処理を実行し、 前記第1の部分データに対応する前記第1処理が実行された後に、前記第1の部分データに対応する前記第2処理と、前記第2の部分データに対応する前記第1処理と、を並列に実行し、 前記第2の部分データに対応する前記第1処理が実行された後に、前記第2の部分データに対応する前記第2処理を実行する処理である、コンピュータプログラム。 [適用例11] 画像処理装置であって、 対象画像を示す対象画像データを用いて印刷データを生成する生成処理を実行する生成部であって、前記生成処理は、前記対象画像が配置された印刷画像を示す中間画像データを生成する第1処理と、前記中間画像データを用いて印刷実行部が解釈可能なデータ形式を有する前記印刷データを生成する第2処理と、を含む複数個の処理を含む、前記生成部と、 所定の条件に基づいて、前記生成処理の実行方式を、前記複数個の処理の少なくとも一部を並列に実行するパラレル方式と、前記複数個の処理を順次に実行するシーケンシャル方式と、のうちのいずれかの方式に決定する決定部と、 を備え、 前記生成部は、前記決定部によって決定される前記実行方式に従って、前記生成処理を実行する、コンピュータプログラム。
Smart Images

Figure 0007644408000001 
Figure 0007644408000002 
Figure 0007644408000003
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 controller of the printer disclosed in Patent Document 1 executes JPEG processing, resizing processing, image quality correction processing, etc. to generate decompressed image data. 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. In this way, printing of the image is realized. The controller executes JPEG processing, resizing processing, and image quality correction processing in parallel. [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, in the above technology, since JPEG processing, resizing processing, and image quality correction processing are performed in parallel, there is a possibility that the print data generation processing cannot be performed appropriately. For example, if the load of each of these processes is excessive, problems due to resource shortages, etc. (e.g., processing stops or slowdown in processing speed) may occur, and the efficiency of the generation processing may decrease.
[0005] This specification discloses a technique that can appropriately execute a process for generating print data. [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 a generation function that executes a generation process to generate print data using target image data that indicates a target image, the generation process including a plurality of processes including a first process of generating intermediate image data that indicates a print image in which the target image is arranged, and a second process of generating the print data having a data format that can be interpreted by a print execution unit using the intermediate image data, and a determination function that determines, based on predetermined conditions, an execution method of the generation process to be one of a parallel method in which at least a portion of the plurality of processes are executed in parallel, and a sequential method in which the plurality of processes are executed sequentially, and the generation function executes the generation process in accordance with the execution method determined by the determination function.
[0008] According to the above configuration, the parallel method and the sequential method can be selectively used as the execution method for the print data generation process according to a predetermined condition, and as a result, the print data generation process can be executed efficiently. [Application example 2] The computer program according to Application Example 1, The specified condition is a condition determined using at least one of information regarding resources available for the generation process, information regarding the load of the generation process, and information regarding the OS (Operating System) used to execute the computer program. [Application example 3] The computer program according to Application Example 2, the information regarding the load of the generation process includes at least one of information indicating a size of the print data to be generated and information indicating a size of a print medium to be used for printing using the print data; The computer program product, wherein a condition for determining that the parallel mode is the execution mode includes at least one of: a size of the print data being equal to or smaller than a standard; and a size of the print medium being smaller than a standard. [Application example 4] The computer program according to any one of Application Examples 1 to 3, further comprising: a function of 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 data selection instruction is input, in the computer; The determination function determines the execution method based on the printing conditions before the printing condition change instruction is acquired, the generation function, after the data selection instruction is acquired, starts the generation process of the print data using the target image data selected based on the data selection instruction in accordance with the execution method determined based on the printing conditions before the change; When the printing condition change instruction is acquired after the generation of the print data is started, the determination function determines the execution method based on the printing conditions changed by the printing condition change instruction; A computer program in which, when the execution method determined based on the printing conditions before the change is different from the execution method determined based on the changed printing conditions, the generation function changes the execution method of the generation process being executed to the execution method determined based on the changed printing conditions, and executes the generation process. [Application example 5] The computer program according to any one of Application Examples 1 to 3, further comprising: a function of 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 data selection instruction is input, in the computer; The determination function determines the execution method based on the printing conditions before the printing condition change instruction is acquired, the generation function, after the data selection instruction is acquired, starts the generation process of the print data using the target image data selected based on the data selection instruction in accordance with the execution method determined based on the printing conditions before the change; Even if the printing condition change instruction is acquired after the generation of the print data is started, The generation function executes the generation process in accordance with the execution method determined based on the printing conditions before the change. [Application Example 6] The computer program according to any one of Application Examples 1 to 5, further comprising: A supply function for executing a supply process of supplying the print data to a print execution unit is realized in a computer. The supply function is a computer program that, when the execution method of the generation process of the print data is the parallel method, executes the supply process of a portion of the print data that has already been generated by the generation process currently being executed in parallel with the generation process currently being executed. [Application Example 7] The computer program according to any one of Application Examples 1 to 5, further comprising: A supply function for executing a supply process of supplying the print data to a print execution unit is realized in a computer. The supply function is a computer program that, when the execution method of the generation process of the print data is the sequential method, executes the supply process of a portion of the print data that has already been generated by the generation process currently being executed in parallel with the generation process currently being executed. [Application Example 8] The computer program according to any one of Application Examples 1 to 7, The generation process executed in accordance with the sequential method includes: execute the first processing corresponding to the entire target image data; A computer program, which is a process of executing the second processing corresponding to the entire target image data after the first processing corresponding to the entire target image data has been executed. [Application Example 9] The computer program according to any one of Application Examples 1 to 7, the target image data includes first partial data and second partial data, The generation process executed in accordance with the sequential method includes: execute the first process corresponding to the first partial data; After the first process corresponding to the first partial data is executed, the second process corresponding to the first partial data is executed; executing the first process corresponding to the second partial data after the second process corresponding to the first partial data has been executed; a computer program product, the computer program being a process of executing the second process corresponding to the second partial data after the first process corresponding to the second partial data has been executed; [Example 10] The computer program according to any one of Application Examples 1 to 9, the target image data includes first partial data and second partial data, The generation process executed in parallel is execute the first process corresponding to the first partial data; After the first process corresponding to the first partial data is executed, the second process corresponding to the first partial data and the first process corresponding to the second partial data are executed in parallel; a computer program product, the computer program being a process of executing the second process corresponding to the second partial data after the first process corresponding to the second partial data has been executed; [Application Example 11] An image processing device, a generating unit that executes a generating process to generate print data using target image data that indicates a target image, the generating process including a first process to generate intermediate image data that indicates a print image in which the target image is arranged, and a second process to generate the print data having a data format that can be interpreted by a print execution unit using the intermediate image data; a determination unit that determines, based on a predetermined condition, an execution method of the generation process to be one of a parallel method in which at least a part of the plurality of processes is executed in parallel and a sequential method in which the plurality of processes is executed sequentially; Equipped with The generation unit executes the generation process in accordance with the execution method determined by the determination unit.
[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 control process. [Diagram 5] 4 is a flowchart of a printing process. [Figure 6] 4 is a flowchart of a printing process. [Figure 7] 4 is a flowchart of the processing of processing units PS1 to PS5. [Figure 8] FIG. [Figure 9] FIG. [Figure 10] FIG. 4 is an explanatory diagram of a sequential method according to an embodiment. [Figure 11] FIG. 11 is a first explanatory diagram of a modified sequential method. [Figure 12] FIG. 2 is a second explanatory diagram of the sequential method of the modified example. [Figure 13] FIG. 11 is a third explanatory diagram of the modified sequential method. 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] Fig. 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, a plurality of image processing units IP1 and IP2, and an image processing control unit CP that controls the plurality of image processing units. The number of image processing units (two in Fig. 2) is equal to or less than a predetermined upper limit value Nmax, which will be described later.
[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 IP1 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 Fig. 4 is a flowchart of the control process. The control process in Fig. 4 is executed by the image processing control unit CP while the print application is started and one of the UI screens WI1 to WI2 is being displayed by the UI processing unit UP.
[0042] In S1, the image processing control unit CP sets an upper limit Nmax of print processes that can be processed in parallel based on the remaining memory Mr. Specifically, the image processing control unit CP acquires the currently available remaining memory Mr (the remaining amount of the buffer area 231 of the volatile storage device 230). The remaining memory Mr can be acquired, for example, from the OS. If the remaining memory Mr is less than a threshold THm, the image processing control unit CP sets the upper limit Nmax to 1, and if the remaining memory Mr is equal to or greater than the threshold THm, the image processing control unit CP sets the upper limit Nmax to 2. The maximum value that the upper limit Nmax can take is not limited to 2, and may be a value of 3 or more.
[0043] In S2, the image processing control unit CP judges whether or not there is a data selection instruction that has been acquired but not yet processed. For example, if there is a data selection instruction for which the corresponding print processing has not yet started among the data selection instructions that the UI processing unit UP has acquired via the image selection screen WI2, it is judged that there is a data selection instruction that has been acquired but not yet processed. If there is no data selection instruction that has been acquired but not yet processed (S2: NO), the image processing control unit CP waits until the UI processing unit UP acquires a new data selection instruction.
[0044] If there is a data selection instruction that has been acquired and not yet processed (S2: YES), in S3 the image processing control unit CP determines whether the number of print processes being executed has reached the upper limit value Nmax. A print process is a process of generating a print job and supplying the print job to the printer 200 (details will be described later). When a print instruction is acquired after a data selection instruction is acquired, the UI processing unit UP can acquire a new data selection instruction. If a new data selection instruction is acquired before the print process corresponding to the previously acquired data selection instruction is completed, two print processes are executed in parallel. In this way, in this embodiment, multiple print processes up to the upper limit value Nmax may be executed in parallel.
[0045] If the number of active printing processes has reached the upper limit Nmax (S3: YES), the image processing control unit CP waits until one of the active printing processes is completed and the number of active printing processes falls below the upper limit Nmax.
[0046] If the number of print processes being executed is less than the upper limit Nmax (S3: NO: YES), the image processing control unit CP starts the print process corresponding to the unprocessed data selection instruction. The image processing control unit CP notifies, for example, one of the image processing units IP1 and IP2 of the path of the original image data selected by the data selection instruction, and instructs the start of the print process using the original image data. After starting the print process, the image processing control unit CP returns the process to S2.
[0047] A-3-2. Printing process 5 and 6 are flowcharts of the printing process. The printing process is executed by the management unit CL (FIG. 2) of the image processing unit (IP1 or IP2) in response to a start instruction from the image processing control unit CP. The printing process corresponds to a data selection instruction and a print instruction. That is, the printing process generates print data and a print job including the print data using original image data selected by the corresponding data selection instruction, and supplies the print job to the printer 200 in response to the corresponding print instruction.
[0048] At S10 in FIG. 5, 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.
[0049] 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.
[0050] 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).
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] In S30, the management unit CL determines whether to change the execution method determined in S13 based on the printing condition change instruction. Specifically, if the paper size or image size has been changed by the printing condition change instruction, the management unit CL re-determines the execution method to be either the parallel method or the sequential method. If the re-determined execution method is different from the execution method determined in S13, the management unit CL determines to change the execution method. If the paper size or image size has not been changed and if the re-determined execution method is the same as the execution method determined in S13, the management unit CL determines not to change the execution method.
[0057] If the execution method is to be changed (S30: YES), in S35 the management unit CL changes the execution method of the print data generation process to the execution method determined again based on the print condition change instruction. If the execution method is not to be changed (S30: NO), the management unit CL skips S35.
[0058] 6, the management unit CL causes the processing units PS1 to PS4 to stop processing. In S45, the management unit CL clears the delivery lists IL1 to IL5 for the processing units PS1 to PS4. In S50, the management unit CL clears the management lists OL1 to OL5 for the processing units PS1 to PS5. As a result, no image data is registered in the delivery lists IL1 to IL5 and the management lists OL1 to OL5.
[0059] 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.
[0060] 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.
[0061] 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. 5. 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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 at the start of processing. 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. 5, S55 in FIG. 6). 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 upstream delivery list IL1. The layout unit PS2 determines that the input image data is not registered in the upstream delivery list IL2.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] A-3-4. Execution method of print data generation process The parallel method and the sequential method, which are execution methods of the print data generation process, will be described. FIG. 9 is an explanatory diagram of the parallel method. FIG. 10 is an explanatory diagram of the sequential method. In FIG. 9 and FIG. 10, 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 and FIG. 10, 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 rectangle corresponding to the rasterizing unit PS1 is shown at a vertical position corresponding to the period 1, and "D1_conv" is written inside the rectangle. This means that in the period 1, the rasterizing process for generating the converted image data D1_conv is executed by the rasterizing unit PS1.
[0077] 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.
[0078] 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. 5, 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.
[0079] 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. 5). At the start of period 1 in FIG. 9, 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, only the rasterization process for generating the converted image data D1_conv is executed.
[0080] 9 ends, as shown in Fig. 8(B) 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, 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.
[0081] FIG. 8C shows the state at the end of the period 2 in FIG. 9, that is, 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, 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.
[0082] Furthermore, in period 4 of Fig. 9, 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 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 of the 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.
[0083] 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. 6). The process by the supply unit PS5 is executed as a thread separate 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.
[0084] 9 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, 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.
[0085] 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, S65, and S75 in Fig. 5, each of the processing units PS1 to PS5 operates sequentially under the control of the management unit CL. For example, all of the processing units PS1 to PS5 are 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 PS5).
[0086] For example, at the end of period 1 in Fig. 10, the converted image data D1_conv is generated and registered in the delivery list IL2 as shown in Fig. 8(B) described above, 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 rasterize 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.
[0087] Fig. 8(D) shows the state at the end of period 3 in Fig. 10, that is, 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. 10).
[0088] 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. 10, 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.
[0089] In this embodiment, the supply process by the supply unit PS5 is started after all the print data is generated and after the print instruction is acquired. For example, even if the print instruction is acquired and an instruction to start the supply process is given from the management unit CL (S75 in FIG. 6), if all the print data has not been generated at that point, the supply unit PS5 starts the supply process after all the print data is generated.
[0090] 10 shows an example in which a print instruction is obtained at the end of period 7 (at the start of period 8). At this point, the supply process is not started, and the supply process for supplying the print jobs D1_job, D2_job, and D3_job is executed in periods 13, 14, and 15 after all the print data D1_bld, D2_bld, and D3_bld are generated.
[0091] 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.
[0092] If a print condition change instruction is obtained after a data selection instruction is obtained and before a print instruction is obtained (S25: YES in FIG. 5), the processing of the processing units PS1 to PS4 is stopped (S40 in FIG. 6), the delivery lists IL1 to IL5 and the management lists OL1 to OL5 are cleared (S45, S55 in FIG. 5), and the processing units PS1 to PS4 generate print data again in response to the print condition change instruction (S60, 65 in FIG. 5). In this case, the print data generation process shown in FIG. 9 and FIG. 10 is restarted from the beginning.
[0093] According to the embodiment described above, the processing units PS1, PS2, and PS4 execute a generation process for generating print data D1_bld, D2_bld, and D3_bld using the original image data D1_org, D2_org, and D3_org (S15 to S20 in FIG. 5, and FIGS. 7, 9, and 10). The print data generation process includes a layout process for generating layout image data D1_lay, D2_lay, and D3_lay, and a build process for generating print data D1_bld, D2_bld, and D3_bld using the layout image data D1_lay, D2_lay, and D3_lay. The management unit CL determines the execution method of the generation process to be either the parallel method or the sequential method based on the predetermined conditions (1) to (3) (S13 in FIG. 5). The processing units PS1, PS2, and PS4 execute the print data generation process according to the execution method determined by the management unit CL (FIGS. 7, 9, and 10). As a result, the parallel method and the sequential method can be used selectively according to predetermined conditions, and the print data generation process can be executed efficiently.
[0094] In this embodiment, the conditions (1) to (3) for determining the execution method are determined using paper size information and image size information, which are information related to the load of the generation process, and OS version information, which is information related to the OS used to execute the application program AP. As a result, the execution method for the generation process can be appropriately determined to be either the parallel method or the sequential method. Therefore, for example, when the parallel processing can be used to speed up the processing, the parallel method can be adopted to speed up the generation process. When the stability of the parallel processing can be reduced or the processing speed of the parallel processing can be reduced, the sequential method in which the parallel processing is not performed can be adopted to stabilize the generation process.
[0095] In particular, the conditions for determining the parallel mode as the execution mode include that the size of the print data is equal to or smaller than a standard and that the size of the paper is smaller than a standard. As a result, an appropriate execution mode can be selected according to the load of the print data generation process. For example, if the parallel mode is adopted even though the load of the print data generation process is excessively high because the size of the print data to be generated is excessively large, problems (e.g., a decrease in processing speed or a stoppage of processing) due to a lack of resources such as memory and CPU may occur. According to this embodiment, the occurrence of such problems can be suppressed.
[0096] Furthermore, according to this embodiment, the UI processing unit UP acquires a data selection instruction, and acquires a printing condition change instruction input by the user after the data selection instruction is input (FIG. 3B). Before the printing condition change instruction is acquired, the management unit CL determines the execution method based on the printing conditions before the change (S13 in FIG. 5), and after the data selection instruction is acquired, the processing units PS1, PS2, and PS4 start the generation process of the print data according to the execution method determined based on the printing conditions before the change (S20 in FIG. 5). When the printing condition change instruction is acquired after the start of the generation of the print data, the management unit CL determines the execution method based on the printing conditions changed by the printing condition change instruction (S25 to S35 in FIG. 5). When the execution method determined based on the printing conditions before the change and the execution method determined based on the changed printing conditions are different, the processing units PS1, PS2, and PS4 change the execution method of the generation process being executed to the execution method determined based on the changed printing conditions, and execute the generation process (S25 to S35 in FIG. 5, S60 and 65 in FIG. 6). As a result, when a printing condition change instruction is acquired after the start of the print data generation process, the generation process is executed in an appropriate execution method according to the changed printing conditions.
[0097] Furthermore, according to this embodiment, in the generation process executed according to the sequential method, after the process of one processing unit corresponding to the entire target image data to be processed (in the example of FIG. 10, three original image data D1_org, D2_org, D3_org) is executed, the process of another processing unit corresponding to the entire target image data is executed. For example, the layout process corresponding to the three original image data D1_org, D2_org, D3_org is executed (periods 4, 5, 6 in FIG. 10), and then the build process corresponding to the three original image data D1_org, D2_org, D3_org is executed (periods 10, 11, 12 in FIG. 10). As a result, according to the sequential method, the print data D1_bld, D2_bld, D3_bld can be generated in sequence.
[0098] Furthermore, according to this embodiment, the generation process executed according to the parallel method is a process of one processing unit corresponding to one original image data and a process of another processing unit corresponding to another original image data executed in parallel (FIG. 9). For example, a layout process (a process of generating layout image data D1_lay) corresponding to the original image data D1_org is executed (period 2 in FIG. 9), and then a build process (a process of generating print data D1_bld) corresponding to the original image data D1_org and a layout process (a process of generating layout image data D2_lay) corresponding to the original image data D2_org are executed in parallel (period 3 in FIG. 9). Then, a build process (a process of generating print data D2_bld) corresponding to the original image data D2_org is executed (period 4 in FIG. 9). In this way, by executing a plurality of processes corresponding to different original image data in parallel, print data can be generated quickly using parallel processing.
[0099] Furthermore, in this embodiment, when the execution method of the generation process is the parallel method, the supply unit PS5 executes a supply process of a part of the print data that has already been generated among the print data generated by the generation process being executed in parallel with the generation process being executed. For example, in the example of Fig. 9, the supply process of the print job D1_job including the print data D1_bld is executed in parallel with the build process corresponding to the original image data D3_org (build process that generates the print data D3_bld) (period 5 in Fig. 9). As a result, when the parallel method is used as the execution format of the generation process, the print data can be quickly supplied to the printer 200.
[0100] 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 partial data, and the original image data D2_org is an example of the second partial data.
[0101] B. Modifications (1) FIG. 11 is a first explanatory diagram of the sequential method of the modified example. In the modified example of FIG. 11, like the sequential method of the embodiment of FIG. 10, the processes of the processing units PS1 to PS4 that generate print data are not allowed to be executed in parallel. In the modified example of FIG. 11, unlike the sequential method of the embodiment of FIG. 10, the process of the supply unit PS5 is allowed to be executed in parallel with the processes of the processing units PS1 to PS4. The supply process of the supply unit PS5 is to generate a print job by adding a print command and transmit the print job to the printer 200, and the processing load is lower than that of the processing units PS1 to PS4 that may include relatively complicated image processing. For this reason, even if the supply process of the supply unit PS5 is executed in parallel with the processes of the processing units PS1 to PS4, the overall processing load is unlikely to be excessively high.
[0102] For example, Fig. 11 illustrates a case where a print instruction is obtained before the generation of all 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. 11). Then, after the print data D2_bld corresponding to the original image data D2_org is generated, the supply process of the print job D2_job including the print data D2_bld is executed in parallel with the build process of generating the print data D3_bld (period 12 in Fig. 11).
[0103] According to the present modified example described above, when the execution format of the generation process is sequential, the supply unit PS5 executes a supply process of a part of the print data already generated among the print data generated by the generation process being executed in parallel with the generation process being executed. As a result, even when the execution format of the generation process is sequential, the print data can be quickly supplied to the printer 200. In addition, since the processing load of the supply process is low compared to the other processing units PS1 to PS4, the overall processing load is less likely to become excessively high, which reduces the processing speed of the generation process.
[0104] (2) Fig. 12 is a second explanatory diagram of the sequential method of the modified example. In the modified example of Fig. 12, similar to the modified example of Fig. 11, 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.
[0105] In the modified example of Fig. 12, the processing order of processing units PS1 to PS4 is different from that of the modified example of Fig. 11 and the sequential method of the embodiment of Fig. 10. In the modified example of Fig. 12, after the processing of processing units PS1 to PS4 corresponding to the original image data D1_org is executed, the processing of processing units PS1 to PS4 corresponding to the original image data D2_org is executed. Then, after the processing of processing units PS1 to PS4 corresponding to the original image data D2_org is executed, the processing of processing units PS1 to PS4 corresponding to the original image data D3_org is executed.
[0106] That is, as shown in Fig. 12, a rasterization process (period 1 in Fig. 12) for generating converted image data D1_conv, a layout process (period 2 in Fig. 12) for generating layout image data D1_lay, a preview process (period 3 in Fig. 12) for generating preview image data D1_pre, and a build process (period 4 in Fig. 12) for generating print data D1_bld are executed. Next, a rasterization process (period 5 in Fig. 12) for generating converted image data D2_conv, a layout process (period 6 in Fig. 12) for generating layout image data D2_lay, a preview process (period 7 in Fig. 12) for generating preview image data D2_pre, and a build process (period 8 in Fig. 12) for generating print data D2_bld are executed. Finally, a rasterization process (period 9 in FIG. 12) is executed to generate converted image data D3_conv, a layout process (period 10 in FIG. 12) is executed to generate layout image data D3_lay, a preview process (period 11 in FIG. 12) is executed to generate preview image data D3_pre, and a build process (period 12 in FIG. 12) is executed to generate print data D3_bld.
[0107] FIG. 12 illustrates a case where a print instruction is acquired after the processing of the processing units PS1 to PS4 corresponding to the original image data D1_org and D2_org is completed and before the processing of the processing units PS1 to PS4 corresponding to the original image data D3_org is completed. In this case, the supply unit PS5 executes the supply process of the print jobs D1_job and D2_job including the print data D1_bld and D2_bld in parallel with the processing of the processing units PS1 to PS4 corresponding to the original image data D3_org. In the example of FIG. 12, the supply process of the print job D1_job is executed in parallel with the layout process for generating the layout image data D3_lay (period 10 in FIG. 12), and the supply process of the print job D2_job is executed in parallel with the preview process for generating the preview image data D3_pre (period 11 in FIG. 12). Then, when the generation of the print data D3_bld corresponding to the original image data D3_org is completed, the supply unit PS5 executes the supply process of the print job D3_job including the print data D3_bld (period 13 in FIG. 12).
[0108] According to the modification of FIG. 12, after the layout process corresponding to the original image data D1_org is executed (period 2 of FIG. 12), the build process corresponding to the original image data D1_org is executed (period 4 of FIG. 12). Then, after the build process corresponding to the original image data D1_org is executed, the layout process corresponding to the original image data D2_org is executed (period 6 of FIG. 12). After the layout process corresponding to the original image data D2_org is executed, the build process corresponding to the original image data D2_org is executed (period 8 of FIG. 12). As a result, compared with the sequential method of the embodiment and the modification of FIG. 11, the generation of the print data D1_bld is completed earlier, so that the print job D1_job including the print data D1_bld can be promptly supplied to the printer 200 in response to a print instruction. As a result, the printer 200 can promptly start printing based on the print job D1_job. The terminal device 300 can proceed with the generation process of the remaining print data D1_bld while the printer 200 is executing printing based on the print job D1_job. As a result, the overall time required from when a print instruction is acquired until printing by the printer 200 is completed can be reduced.
[0109] (3) Fig. 13 is a third explanatory diagram of the sequential method of the modified example. In the modified example of Fig. 13, similar to the sequential method of the embodiment of Fig. 10, the processes of the processing units PS1 to PS4 that generate print data are not allowed to be executed in parallel, and the process of the supply unit PS5 is also not allowed to be executed in parallel with the processes of the processing units PS1 to PS4. In the modified example of Fig. 13, similar to the sequential method of the modified example of Fig. 12, after the processes of the processing units PS1 to PS4 corresponding to the original image data D1_org are executed, the processes of the processing units PS1 to PS4 corresponding to the original image data D2_org are executed. Then, after the processes of the processing units PS1 to PS4 corresponding to the original image data D2_org are executed, the processes of the processing units PS1 to PS4 corresponding to the original image data D3_org are executed.
[0110] Fig. 13 illustrates a case where a print instruction is acquired after the processing of the processing units PS1 to PS4 corresponding to the original image data D1_org and D2_org is completed, and before the processing of the processing units PS1 to PS4 corresponding to the original image data D3_org is completed. In this case, unlike the sequential method of the modified example of Fig. 12, the processing units PS1 to PS4 suspend the processing corresponding to the original image data D3_org (Fig. 13). Then, the supply unit PS5 executes the supply processing of the print jobs D1_job and D2_job including the print data D1_bld and D2_bld that have been generated at this point (periods 10 and 11 in Fig. 13). When the supply processing of the print jobs D1_job and D2_job is completed, the processing units PS1 to PS4 resume the processing corresponding to the original image data D3_org (Fig. 13). When the generation of the print data D3_bld corresponding to the original image data D3_org is completed, the supply unit PS5 executes a supply process of the print job D3_job including the print data D3_bld (period 15 in FIG. 13).
[0111] 13, when a print instruction is acquired before the print data generation process is completed, the print data generation process is interrupted, and after the print data generation process is interrupted, a portion of the generated print data is supplied to the printer 200, and after the supply of the portion of the print data is completed, the print data generation process is resumed. As a result, it is possible to prevent the processing load for generating and supplying the print data from becoming excessively large, and it is possible to promptly supply the print job D1_job including the print data D1_bld to the printer 200. As a result, like the modification of FIG. 12, the printer 200 can promptly start printing based on the print job D1_job.
[0112] (4) S30 and S35 in FIG. 5 in the above embodiment may be omitted. That is, in the above embodiment, if a printing condition change instruction is acquired after the start of print data generation, the execution method of the generation process may be changed according to the printing condition change instruction, but the execution method of the generation process may not be changed. In other words, in this modified example, the processing units PS1 to PS4 start the print data generation process according to the execution method determined based on the printing conditions before the change by the printing condition change instruction after the data selection instruction is acquired, and execute the generation process according to the execution method determined based on the printing conditions before the change of the printing conditions even if a printing condition change instruction is acquired after the start of print data generation. In this case, the execution method of the generation process is not changed during the print data generation process, so that the generation process can be prevented from becoming complicated.
[0113] (5) In the above embodiment, the print data generation process is started after the data selection instruction is obtained and before the print instruction is obtained (S20 in FIG. 5, FIGS. 9 and 10). Alternatively, the print data generation process may be started after the data selection instruction is obtained and after the print instruction is obtained.
[0114] (6) 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.
[0115] (7) In the above embodiment, when the parallel method is adopted, the supply process by the supply unit PS5 is allowed to be executed in parallel with the print data generation process, but the supply process by the supply unit PS5 does not have to be allowed to be executed in parallel with the print data generation process. For example, the supply process by the supply unit PS5 may be executed after all the print data is generated.
[0116] (8) 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 the layout image data generated by the layout unit PS2.
[0117] The rasterization process and the layout process may be executed by a single processing unit. Of the supply processes executed by the supply unit PS5, the process of adding a print command to the print data to generate a print job may be executed by the build unit PS4.
[0118] 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".
[0119] 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.
[0120] (9) In the above embodiment, the management unit CL determines the upper limit Nmax of print processes that can be processed in parallel based on the remaining memory Mr (S1 in FIG. 4). Instead of the remaining memory Mr, or together with the remaining memory Mr, the upper limit Nmax may be determined based on other information on resources available for the generation process. For example, the information on resources other than the remaining memory Mr may be information on the load of the CPU 310, such as the number of applications running in parallel with the print application or the usage rate of the CPU 310. Also, instead of the information on available resources, or together with the information on available resources, the upper limit Nmax may be determined based on information on the load of the generation process of the print data. The information on the load of the generation process of the print data may be, for example, information indicating the maximum size of paper that can be used by the printer 200 or the maximum print resolution at which the printer 200 can print.
[0121] (10) The upper limit Nmax of print processes that can be processed in parallel may always be the same fixed value (for example, 1, 2, 3). The upper limit Nmax of print processes that can be processed in parallel may also be dynamically changed depending on the usage rate of the CPU 310 or the memory usage by other applications, even during the execution of the print data generation process. For example, when the print application receives a warning from the OS that the remaining available memory Mr is below a reference value, the upper limit Nmax may immediately be set to 1.
[0122] (11) In each of the above embodiments, the device that executes the print process in Fig. 3 is the CPU 310 of the terminal device 300. Alternatively, the device that executes the processes in Figs. 3 to 7 may be the CPU 210 of the printer 200. Alternatively, the device that executes the processes in Figs. 3 to 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. Furthermore, the terminal device 300 may cause the server to execute part of the processes in Figs. 3 to 7, for example, rasterization processing for a specific type of image data.
[0123] (12) 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.
[0124] 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]
[0125] 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, CP...image processing control 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: a generating function that executes a generating process that generates print data using target image data that indicates a target image, the generating process including a first process that generates intermediate image data that indicates a print image in which the target image is arranged, and a second process that generates the print data using the intermediate image data, the print data having a data format that can be interpreted by a print execution unit; a determining function for determining an execution method of the generation process to be one of a parallel method for executing at least a part of the plurality of processes in parallel and a sequential method for executing the plurality of processes in sequence; This is realized on a computer. the determination function determines the execution method to be the parallel method when a plurality of conditions are satisfied, including that the size of the printing medium on which the print image is to be printed is smaller than a reference size, and that the number of pixels of the print image is equal to or smaller than a reference number, and determines the execution method to be the sequential method when at least one of the plurality of conditions is not satisfied; A computer program, wherein the generating function executes the generating process according to the execution method determined by the determining function.
2. 2. The computer program of claim 1, further comprising: a function of 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 data selection instruction is input; The determination function determines the execution method based on the printing conditions before the printing condition change instruction is acquired, the generation function, after the data selection instruction is acquired, starts the generation process of the print data using the target image data selected based on the data selection instruction in accordance with the execution method determined based on the printing conditions before the change; When the printing condition change instruction is acquired after the generation of the print data is started, the determination function determines the execution method based on the printing conditions changed by the printing condition change instruction; A computer program in which, when the execution method determined based on the printing conditions before the change is different from the execution method determined based on the changed printing conditions, the generation function changes the execution method of the generation process being executed to the execution method determined based on the changed printing conditions, and executes the generation process.
3. A computer program comprising: a generating function that executes a generating process that generates print data using target image data that indicates a target image, the generating process including a first process that generates intermediate image data that indicates a print image in which the target image is arranged, and a second process that generates the print data using the intermediate image data, the print data having a data format that can be interpreted by a print execution unit; a determining function for determining, based on a predetermined condition, an execution method of the generation process to be one of a parallel method in which at least a part of the plurality of processes is executed in parallel, and a sequential method in which the plurality of processes is executed sequentially; 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; This is realized on a computer. The generating function executes the generating process according to the execution method determined by the determining function; The determination function determines the execution method based on the printing conditions before the printing condition change instruction is acquired, the generation function, after the data selection instruction is acquired, starts the generation process of the print data using the target image data selected based on the data selection instruction in accordance with the execution method determined based on the printing conditions before the change; Even if the printing condition change instruction is acquired after the generation of the print data is started, The generation function executes the generation process in accordance with the execution method determined based on the printing conditions before the change.
4. The computer program according to any one of claims 1 to 3, further comprising: A supply function for executing a supply process of supplying the print data to a print execution unit is realized in a computer. The supply function is a computer program that, when the execution method of the generation process of the print data is the parallel method, executes the supply process of a portion of the print data that has already been generated by the generation process currently being executed in parallel with the generation process currently being executed.
5. The computer program according to any one of claims 1 to 3, further comprising: A supply function for executing a supply process of supplying the print data to a print execution unit is realized in a computer. The supply function is a computer program that, when the execution method of the generation process of the print data is the sequential method, executes the supply process of a portion of the print data that has already been generated by the generation process currently being executed in parallel with the generation process currently being executed.
6. A computer program according to any one of claims 1 to 5, The generation process executed in accordance with the sequential method includes: execute the first processing corresponding to the entire target image data; A computer program product, which is a process of executing the second processing corresponding to the entire target image data after the first processing corresponding to the entire target image data has been executed.
7. A computer program according to any one of claims 1 to 5, the target image data includes first partial data and second partial data, The generation process executed in accordance with the sequential method includes: Executing the first process corresponding to the first partial data; After the first process corresponding to the first partial data is executed, the second process corresponding to the first partial data is executed; After the second process corresponding to the first partial data is executed, the first process corresponding to the second partial data is executed; a computer program product, the computer program being a process of executing the second process corresponding to the second partial data after the first process corresponding to the second partial data has been executed;
8. A computer program according to any one of claims 1 to 7, the target image data includes first partial data and second partial data, The generation process executed in parallel is Executing the first process corresponding to the first partial data; After the first process corresponding to the first partial data is executed, the second process corresponding to the first partial data and the first process corresponding to the second partial data are executed in parallel; a computer program product, the computer program being a process of executing the second process corresponding to the second partial data after the first process corresponding to the second partial data has been executed;
9. An image processing device, a generating unit that executes a generating process to generate print data using target image data that indicates a target image, the generating process including a first process to generate intermediate image data that indicates a print image in which the target image is arranged, and a second process to generate the print data having a data format that can be interpreted by a print execution unit using the intermediate image data; a determination unit that determines an execution method of the generation process to be one of a parallel method in which at least a part of the plurality of processes is executed in parallel and a sequential method in which the plurality of processes is executed sequentially; Equipped with the determination unit determines the execution method to be the parallel method when a plurality of conditions are satisfied, including that the size of the printing medium on which the print image is to be printed is smaller than a reference size, and that the number of pixels of the print image is equal to or smaller than a reference number, and determines the execution method to be the sequential method when at least one of the plurality of conditions is not satisfied; The generation unit executes the generation process in accordance with the execution method determined by the determination unit.
10. An image processing device, a generating unit that executes a generating process to generate print data using target image data that indicates a target image, the generating process including a first process to generate intermediate image data that indicates a print image in which the target image is arranged, and a second process to generate the print data having a data format that can be interpreted by a print execution unit using the intermediate image data; a determination unit that determines, based on a predetermined condition, an execution method of the generation process to be one of a parallel method in which at least a part of the plurality of processes is executed in parallel and a sequential method in which the plurality of processes is executed sequentially; 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; Equipped with The generation unit executes the generation process in accordance with the execution method determined by the determination unit; The determination unit determines the execution method based on the printing conditions before the printing condition change instruction is acquired, after the data selection instruction is acquired, the generation unit starts the generation process of the print data using the target image data selected based on the data selection instruction in accordance with the execution method determined based on the printing conditions before the change; Even if the printing condition change instruction is acquired after the generation of the print data is started, The generation unit executes the generation process in accordance with the execution method determined based on the printing conditions before the change.
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