Image processing device and control method of image processing device
Patent Information
- Application Number
- JP2023140372
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-30
- Publication Date
- 2025-03-13
AI Technical Summary
【0010】 本発明によれば、処理効率を向上させ得る画像処理装置及び画像処理装置の制御方法を実現できる。
Smart Images

Figure 2025034162000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an image processing apparatus and a method for controlling an image processing apparatus. [Background technology]
[0002] An image forming device such as a printer serving as the image processing device of the present application is configured such that when it receives print data from a higher-level device such as a personal computer, it executes an editing process in which it analyzes the print data and generates intermediate data, and then executes an expansion process in which it uses the intermediate data generated by the editing process to generate bitmap drawing data, and prints on a medium such as paper using the drawing data generated by the expansion process.
[0003] In such an image processing device, for example, editing processing and rendering processing are executed by one processing unit (for example, a CPU core) (for example, see Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2019-25654 A Summary of the Invention [Problem to be solved by the invention]
[0005] On the other hand, it is also possible to improve processing efficiency by, for example, equipping an image processing device with multiple processing units (e.g., CPU cores) and having the multiple processing units execute processes in parallel. In this case, however, memory shortages are likely to occur because memory is shared by the multiple processing units. When memory shortages occur, processing cannot be continued, and therefore processing cannot be executed efficiently.
[0006] The present invention has been made in consideration of the above points, and aims to propose an image processing device and a control method for the image processing device that can improve processing efficiency. [Means for solving the problem]
[0007] The image processing device of the present invention includes a first processing unit that executes a first process to generate first data, a second processing unit that executes a second process to generate second data using the first data generated by the first process, a memory unit that stores the first data and the second data, and a processing determination unit that determines whether or not to allow the first processing unit to execute the first process based on the available space of the memory unit, and the first processing unit operates according to the determination result by the processing determination unit.
[0008] The control method of the present invention is a control method for an image processing device having a first processing unit that executes a first process to generate first data, a second processing unit that executes a second process to generate second data using the first data generated by the first process, and a memory unit that stores the first data and the second data, wherein a processing execution determination unit determines whether or not to allow the first processing unit to execute the first process based on the free space of the memory unit, and the first processing unit operates according to the determination result by the processing execution determination unit.
[0009] In this way, the first processing unit and the second processing unit execute the first processing and the second processing in parallel, thereby improving processing efficiency, and by determining whether or not to allow the first processing unit to execute the first processing based on the free space in the memory unit, a situation in which the free space in the memory unit is insufficient (i.e., a situation in which memory shortage occurs) can be avoided. Effect of the Invention
[0010] According to the present invention, it is possible to realize an image processing device and a control method for an image processing device that can improve processing efficiency. [Brief description of the drawings]
[0011] [Figure 1] 1 is a block diagram showing a configuration of a printer according to a first embodiment. [Diagram 2] 4 is a flowchart showing an outline of the operation of the printer according to the first embodiment. [Diagram 3] 5 is a flowchart showing a specific operation of the editing unit according to the first embodiment. [Figure 4] 5 is a flowchart showing a specific operation of a development section according to the first embodiment. [Diagram 5] 4 is a timing chart showing a process flow (1) of a first core A and a second core B according to the first embodiment. [Figure 6] 11 is a timing chart showing a process flow (2) of a first core A and a second core B according to the first embodiment. [Figure 7] 11 is a timing chart showing a process flow (3) of a first core A and a second core B according to the first embodiment. [Figure 8] FIG. 11 is a block diagram showing the configuration of a printer according to a second embodiment. [Figure 9] 13 is a flowchart showing a specific operation of the editing unit according to the second embodiment. [Figure 10] 11 is a timing chart showing a process flow (1) of a first core A and a second core B according to the second embodiment. [Figure 11] 13 is a timing chart showing a process flow (2) of a first core A and a second core B according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, modes for carrying out the invention (hereinafter referred to as embodiments) will be described in detail with reference to the drawings.
[0013] 1. First embodiment [1-1. Printer configuration] 1 shows the configuration of a printer 100, which is an example of an image processing device according to a first embodiment. The printer 100 is connected to a PC (personal computer) 110, which serves as a higher-level device, via a network 120 such as a LAN (local area network).
[0014] This printer 100 has a print control unit 101, a CPU 102, a network I / F unit 103, a receiving unit 104, a memory unit 105, an editing unit 106, a development unit 107, a core processing determination unit 108a, and a printing unit 109.
[0015] The printer 100 is connected to a network 120 via a network I / F unit 103, and when print data generated by a PC 110 is transmitted via the network 120, the print data is received by a receiving unit 104 via the network I / F unit 103.
[0016] The editing unit 106 executes an editing process to analyze the print data received by the receiving unit 104 and generate intermediate data, and stores the intermediate data generated by the editing process in the storage unit 105. The expansion unit 107 reads the intermediate data from the storage unit 105, executes an expansion process to generate bitmap drawing data using the intermediate data, and stores the drawing data generated by the expansion process in the storage unit 105. The printing unit 109 performs print output using the drawing data stored in the storage unit 105 (i.e., prints an image on a medium such as paper).
[0017] The storage unit 105 is a memory such as a RAM, and stores the intermediate data generated by the editing unit 106 and the drawing data generated by the expansion unit 107, and serves as a temporary data storage location when the editing unit 106 and the expansion unit 107 are executing processing.
[0018] The print control unit 101 controls the overall operation of the printer 100. The CPU 102 is a multi-core CPU provided in the print control unit 101. In this embodiment, as an example, the CPU 102 has two cores, a first core A 1021 and a second core B 1022. In this embodiment, for example, the first core A 1021 mainly executes the processing of the editing unit 106, and the second core B 1022 mainly executes the processing of the development unit 107.
[0019] The core processing determination unit 108a has an edit start determination unit 1081 and an interruption determination unit 1082. Before the editing unit 106 starts the edit process, the edit start determination unit 1081 determines whether or not editing can be started (i.e., whether or not to permit the start of the edit process) based on the free space in the storage unit 105. Also, while the editing unit 106 is performing the edit process, the interruption determination unit 1082 determines whether or not the edit process can be continued (i.e., whether or not to permit the continuation of the edit process) based on the free space in the storage unit 105. The configuration of the printer 100 is as described above.
[0020] [1-2. Printer operation] Next, a description will be given of the operation of the printer 100. Here, the operation of the printer 100 when printing based on print data received from the PC 110 will be described.
[0021] As a premise, the print data sent from PC 110 is a print job consisting of multiple pages. Although there are cases where multiple consecutive print jobs are sent as print data from PC 110, here, as an example, a case where print data consisting of one print job consisting of four pages is sent will be described.
[0022] As a basic operation, in printer 100, editing unit 106 analyzes received print data on a page-by-page basis to generate intermediate data, and stores the intermediate data in storage unit 105. When intermediate data for, for example, the first page is stored in storage unit 105, expansion unit 107 generates drawing data for the first page using the intermediate data for the first page stored in storage unit 105, and stores the drawing data for the first page in storage unit 105. The intermediate data for the first page stored in storage unit 105 is erased from storage unit 105 by print control unit 101 when generation of the drawing data for the first page is completed, for example.
[0023] The drawing data stored in the storage unit 105 is input to the printing unit 109 in page units or in predetermined units smaller than a page unit, and is printed by the printing unit 109. For example, the drawing data for the first page stored in the storage unit 105 is erased from the storage unit 105 by the print control unit 101 when the printing process of the drawing data for the first page is completed. If the print data consists of four pages, such an operation is repeated for four pages.
[0024] Furthermore, storage unit 105 has a capacity larger than the maximum data amount expected for one page of drawing data (for example, the amount of drawing data that can be expressed for printing at 600 dpi on A4 size paper in the case of printer 100) so that it can store at least one page of drawing data. Note that the drawing data may be compressed before being stored in storage unit 105, in which case storage unit 105 only needs to have a capacity larger than the maximum data amount of the compressed drawing data.
[0025] With these points in mind, the operation of the printer 100 will be described. First, as a reference example, the operation when the CPU 102 is a single core (i.e., conventional operation) will be described using the flowchart shown in Fig. 2, and then the operation of this embodiment when the CPU 102 is a multi-core will be described using the flowcharts shown in Fig. 3 and Fig. 4. Note that the operation of the printer 100 is mainly performed by the print control unit 101.
[0026] If the CPU 102 is a single core, as shown in FIG. 2, when print data is received from the PC 110, in the first step SP201, the print control unit 101 of the printer 100 analyzes one page of data contained in the received print data using the editing unit 106, generates one page of intermediate data (i.e., executes the editing process), and stores this in the memory unit 105.
[0027] In the next step SP202, the print control unit 101 uses the expansion unit 107 to expand the intermediate data for one page generated in step SP201 and stored in the storage unit 105 to generate drawing data for one page (i.e., executes the expansion process), and stores this in the storage unit 105. At this time, the print control unit 101 also deletes the intermediate data for one page that has been expanded from the storage unit 105. The drawing data generated in this manner is printed by the printing unit 109, and is erased from the storage unit 105.
[0028] In the next step SP203, the print control unit 101 determines whether or not the print data contains data for the next page (i.e., the page following the page expanded in step SP202). If the print data contains a next page (i.e., the print data contains an unprocessed page), the print control unit 101 obtains a positive result in step SP203, returns to step SP201, and edits the data for the next page.
[0029] On the other hand, if there is no next page (i.e., if all pages of the print data have been processed), the print control unit 101 obtains a negative result in step SP203 and ends the series of operations. The operation of the printer 100 when the CPU 102 is a single-core CPU is as described above.
[0030] Next, a specific operation of the editing unit 106 (corresponding to step SP201 described above) and a specific operation of the developing unit 107 (corresponding to step SP202 described above) will be described as an operation of the printer 100 when the CPU 102 is a multi-core. In this embodiment, it is assumed that the first core A 1021 of the two cores of the CPU 102 executes the processing of the editing unit 106 (i.e., the editing processing), and the second core B 1022 executes the processing of the developing unit 107 (i.e., the developing processing).
[0031] First, a specific operation of the editing unit 106 will be described with reference to the flowchart shown in Fig. 3. In the first step SP301, before starting the editing process for the first page, the editing unit 106 determines whether or not editing can be started (i.e., whether or not to permit the start of editing process) based on the free space in the storage unit 105 using the editing start determination unit 1081.
[0032] Specifically, the edit start determination unit 1081 calculates the maximum data amount expected as the amount of drawing data based on, for example, the paper size (i.e., the size of the paper to be printed, e.g., A4) and the resolution (the resolution when printing on the paper, e.g., 600 dpi) described in the print data to be edited (i.e., the print data to be printed this time).The edit start determination unit 1081 then sets this maximum data amount as the memory lower limit threshold N1, which is the threshold for determining whether editing can be started.Note that the memory lower limit threshold N1 may be set in advance for each combination of paper size and resolution of the print data.
[0033] Then, if the free space in the storage unit 105 is smaller than the memory lower limit threshold N1 and the expansion unit 107 (i.e., the second core B 1022) is in the expansion process, the edit start determination unit 1081 determines that editing cannot be started. In other words, if the storage unit 105 does not have enough free space to store one page of drawing data and the expansion process is currently in progress, the edit start determination unit 1081 determines that editing cannot be started. In this way, when the edit start determination unit 1081 determines that editing cannot be started, the editing unit 106 obtains a negative result in step SP301.
[0034] In this case, when the expansion process being executed by the expansion unit 107 is completed, the drawing data stored in the storage unit 105 is erased after the print process, increasing the available space in the storage unit 105, and there is a high possibility that editing can be started. Therefore, when the editing start determination unit 1081 determines that editing cannot be started, the editing unit 106 waits until it is determined that editing can be started (i.e., until a positive result is obtained in step SP301).
[0035] On the other hand, if the free space in the storage unit 105 is equal to or greater than the memory lower limit threshold N1, or the rendering unit 107 is not currently executing rendering processing, the edit start determination unit 1081 determines that editing can be started. Here, the free space in the storage unit 105 being equal to or greater than the memory lower limit threshold N1 means that the storage unit 105 has sufficient free space to store one page of drawing data. Also, if the rendering unit 107 is not currently executing rendering processing, generation of intermediate data that can be rendered has not been completed, and it is necessary to continue the edit process in order to generate intermediate data.
[0036] In this case, the editing section 106 obtains a positive result in step SP301, and proceeds to step SP302. In step SP302, the editing section 106 starts the editing process of the first page.
[0037] In the next step SP303, the editing unit 106 determines, based on the free space in the storage unit 105, by the interruption determination unit 1082, whether or not the editing process of the first page can be continued (that is, whether or not continuation of the editing process is permitted).
[0038] Specifically, the interruption determination unit 1082 calculates the maximum data amount expected as the data amount of drawing data based on, for example, the paper size and resolution described in the print data to be edited (i.e., the print data to be printed this time). The interruption determination unit 1082 then sets this maximum data amount as the memory lower limit threshold N2, which is the threshold for determining whether or not editing can be continued. In this embodiment, the memory lower limit threshold N2 set by the interruption determination unit 1082 and the memory lower limit threshold N1 set by the edit start determination unit 1081 are set to the same value, but they may be set to different values. Also, the memory lower limit threshold N1 may be used instead of the memory lower limit threshold N2.
[0039] In addition, if the free space of the storage unit 105 is smaller than the memory lower limit threshold N2 and the expansion unit 107 (i.e., the second core B 1022) is performing expansion processing, the interruption determination unit 1082 determines that editing cannot be continued. In this way, when the interruption determination unit 1082 determines that editing cannot be continued, the editing unit 106 obtains a negative result in step SP303.
[0040] In this case, if the expansion process being executed by the expansion unit 107 is completed, the drawing data stored in the storage unit 105 will be erased after the print process, increasing the available space in the storage unit 105 and making it highly likely that editing can be continued. For this reason, if the interruption determination unit 1082 determines that editing cannot be continued, the editing unit 106 obtains a negative result in step SP303, proceeds to step SP304, and after interrupting the editing process of the first page, waits until it is determined that editing can be continued (i.e., until a positive result is obtained in step SP303).
[0041] If the free space in the storage unit 105 is equal to or greater than the lower memory threshold N2, or if the expansion unit 107 is not currently executing expansion processing, the interruption determination unit 1082 determines that editing can be continued. In this case, the editing unit 106 obtains a positive result in step SP303 and proceeds to step SP305. In step SP305, the editing unit 106 continues the editing process of the first page.
[0042] In the next step SP306, the editing unit 106 judges whether or not the editing process for one page (i.e., the editing process for the first page) has been completed. If the editing process for one page has not been completed yet, the editing unit 106 obtains a negative result in step SP306, returns to step SP303, and judges whether or not editing can be continued.
[0043] On the other hand, if the editing process for one page has been completed, the editing unit 106 obtains a positive result in step SP306 and proceeds to step SP307. In step SP307, the editing unit 106 determines whether the editing process for all pages constituting the print data has been completed (i.e., whether there is a next page). If there is a page that has not yet been edited, the editing unit 106 obtains a positive result in step SP307, returns to step SP301, and determines whether it is possible to start editing the next page (i.e., the second page).
[0044] On the other hand, if the editing process for all pages (here, four pages) has been completed, the editing unit 106 obtains a negative result in step SP307 and ends the series of operations. The specific operations of the editing unit 106 are as described above.
[0045] In this way, the editing unit 106 monitors the free space in the memory unit 105 using the core processing determination unit 108a (edit start determination unit 1081, interruption determination unit 1082), and if there is sufficient free space in the memory unit 105 (i.e., there is sufficient free space to execute the expansion process for one page), the editing unit 106 executes the editing process, but if there is not enough free space in the memory unit 105, the editing process is not started or is interrupted and the editing unit waits for the free space to increase.
[0046] Next, a specific operation of the decompression unit 107 will be described with reference to the flowchart shown in Fig. 4. Note that the specific operation of the decompression process is mainly performed by the decompression unit 107 (that is, the second core B 1022).
[0047] In the first step SP401, the expansion unit 107 judges whether or not the print job is finished. Since the print job is processed from the beginning, the end of the print job means that the expansion process of all pages (here, four pages) that make up the print job is finished. In this case, the expansion unit 107 obtains a positive result in this step SP401 and ends the series of operations.
[0048] On the other hand, if the print job is not over, the expansion unit 107 obtains a negative result in step SP401 and proceeds to step SP402. In step SP402, the expansion unit 107 determines whether or not there is intermediate data waiting for expansion processing (i.e., intermediate data generated by the editing unit 106 and stored in the storage unit 105).
[0049] Here, if there is no intermediate data waiting for expansion processing, this means that intermediate data is being generated by the editing unit 106. In this case, the expansion unit 107 obtains a negative result in step SP402, and waits until the editing unit 106 finishes generating the intermediate data (i.e., until a positive result is obtained in step SP402).
[0050] If there is intermediate data waiting for expansion processing, the expansion unit 107 obtains a positive result in step SP402 and proceeds to step SP403. In step SP403, the expansion unit 107 expands one page of intermediate data stored in the storage unit 105. As a result, one page of drawing data is generated and stored in the storage unit 105. As described in the operation of the editing process, since the storage unit 105 has sufficient free space to store one page of drawing data, the expansion process is executed without interrupting the process in the middle of one page as in the editing process.
[0051] When the rendering process of the intermediate data for one page is completed in this manner, the rendering section 107 returns to step SP401 and judges whether or not the print job is over.
[0052] In this manner, when the editing unit 106 generates intermediate data for one page, the expansion unit 107 expands the intermediate data to generate drawing data.
[0053] Here, the flow of processing by the first core A 1021 and the second core B 1022 when processing a print job of, for example, four pages will be described with reference to the timing charts shown in Figures 5 to 7. As described above, the first core A 1021 executes the editing process, and the second core B 1022 executes the development process.
[0054] First, the timing chart of FIG. 5 shows the processing flow in the case where the free space in the storage unit 105 does not fall below the memory lower limit threshold N1 and the memory lower limit threshold N2 in the processing of step SP301 before the start of editing and step SP303 during editing shown in FIG.
[0055] As shown in FIG. 5, the first core A1021 starts editing processing of the first page (P1 in the figure), and when editing processing of the first page is completed, it starts editing processing of the second page (P2 in the figure), and then similarly executes editing processing up to the fourth page, completing the series of processes.
[0056] On the other hand, when the first core A 1021 finishes editing the first page and generates the intermediate data for the first page, the second core B 1022 starts the rendering process for the first page, since the intermediate data for the first page is waiting for rendering. After that, when the second core B 1022 finishes rendering the first page, the second core B 1022 starts the rendering process for the second page, since the intermediate data for the second page is waiting for rendering, and thereafter similarly executes rendering processes up to the fourth page, completing the series of processes.
[0057] In this way, as long as the free space in the memory unit 105 does not fall below the memory lower limit threshold N1 and the memory lower limit threshold N2, the first core A 1021 and the second core B 1022 execute the editing process and the expansion process one page at a time in sequence, without the first core A 1021 waiting before starting the editing process or interrupting the editing process midway.
[0058] Next, the flow of processing when the free space in the storage unit 105 falls below the memory lower limit threshold N1 in the processing of step SP301 before the start of editing shown in Fig. 3 is shown in the timing chart of Fig. 6. Specifically, after the first core A 1021 finishes the editing processing of the second page, and before starting the editing processing of the third page, the free space in the storage unit 105 falls below the memory lower limit threshold N1.
[0059] In this case, after the first core A 1021 finishes the editing process of the second page, it waits without starting the editing process of the third page because the free space of the storage unit 105 is below the memory lower limit threshold N1 and the second core B 1022 is rendering the first page. While the first core A 1021 waits without starting the editing process, the second core B 1022 performs rendering process of a page (the first page in the case of FIG. 6) that is waiting to be rendered and that was generated and stored in the storage unit 105 before the first core A 1021 waited.
[0060] Thereafter, when the second core B 1022 finishes the rendering process of the first page and erases the drawing data from the storage unit 105, causing the free space of the storage unit 105 to exceed the memory lower limit threshold N1, the first core A 1021 starts the editing process of the third page. Thereafter, the first core A 1021 sequentially executes the editing processes up to the fourth page and ends the series of processes. The second core B 1022 also sequentially executes the rendering process up to the fourth page and ends the series of processes.
[0061] In this way, for example, if the free space in the memory unit 105 falls below the memory lower limit threshold N1 before the start of the editing process for the third page, the first core A 1021 waits without starting the editing process for the third page, and starts the editing process for the third page only after the expansion process for, for example, the first page being executed by the second core B 1022 is completed and the free space in the memory unit 105 exceeds the memory lower limit threshold N1.
[0062] Next, the flow of processing when the free space in the storage unit 105 falls below the memory lower limit threshold N2 in the processing of step SP302 during the editing shown in Fig. 3 is shown in the timing chart of Fig. 7. Specifically, this is the case when the free space in the storage unit 105 falls below the memory lower limit threshold N1 while the first core A 1021 is editing the third page.
[0063] In this case, the first core A 1021 suspends the editing process of the third page because the free space in the storage unit 105 falls below the lower memory threshold N2 in the middle of the editing process of the third page and the second core B 1022 is currently rendering the first page. While the first core A 1021 suspends the editing process, the second core B 1022 performs rendering process of a page waiting to be rendered (the first page in the case of FIG. 7) that was generated and stored in the storage unit 105 before the first core A 1021 suspended the editing process.
[0064] Thereafter, when the second core B 1022 finishes the rendering process of the first page and erases the drawing data from the storage unit 105, causing the free space of the storage unit 105 to exceed the memory lower limit threshold N2, the first core A 1021 resumes the editing process of the third page. Thereafter, the first core A 1021 sequentially executes the editing processes up to the fourth page and ends the series of processes. The second core B 1022 also sequentially executes the rendering process up to the fourth page and ends the series of processes.
[0065] In this way, if the free space in the memory unit 105 falls below the lower memory threshold N2, for example, in the middle of the editing process of the third page, the first core A 1021 interrupts the editing process of the third page, and resumes the editing process of the third page once the expansion process of, for example, the first page being executed by the second core B 1022 is completed and the free space in the memory unit 105 exceeds the lower memory threshold N2.
[0066] As can be seen from the timing charts of Figures 5 to 7, when the free space in the memory unit 105 falls below the memory lower limit threshold N1 or the memory lower limit threshold N2, which are set based on the amount of drawing data for one page, the first core A 1021 will not execute the editing process until the free space exceeds the memory lower limit threshold N1 or the memory lower limit threshold N2.
[0067] In this way, the printer 100 always has enough free space in the memory unit 105 to store one page of drawing data, so that the expansion process is executed reliably without being interrupted midway (i.e., execution is guaranteed).
[0068] [1-3. Summary and Effects] As described above, in the first embodiment, the printer 100 as an image processing device is provided with a first core A 1021 as a first processing unit that executes an edit process as a first process to generate intermediate data as first data, a second core B 1022 as a second processing unit that executes an expansion process as a second process to generate drawing data as second data using the intermediate data generated by the edit process, a memory unit 105 that stores the intermediate data and the drawing data, and a core processing judgment unit 108a (edit start judgment unit 1081, interrupt judgment unit 1082) as a processing judgment unit that judges whether or not to permit the first core A 1021 to execute the edit process based on the free space of the memory unit 105, and the first core A 1021 operates according to the judgment result by the core processing judgment unit 108a.
[0069] Specifically, before the first core A 1021 starts editing processing for one page, if the free space of the storage unit 105 is smaller than the memory lower limit threshold N1 set based on the data amount of drawing data for one page and the expansion unit 107 is in the expansion processing, the edit start determination unit 1081 of the core processing determination unit 108a determines not to permit the first core A 1021 to start editing processing (does not start editing processing), and if the free space of the storage unit 105 is equal to or larger than the memory lower limit threshold N1 or the expansion unit 107 is not in the expansion processing, determines to permit the first core A 1021 to start editing processing (starts editing processing). The first core A 1021 waits for the start of editing processing or starts it according to this determination result.
[0070] Furthermore, the interruption determination unit 1082 of the core processing determination unit 108a determines not to permit continuation of the edit process by the first core A 1021 (does not continue the edit process) if the free space of the storage unit 105 is smaller than the memory lower limit threshold N2 set based on the amount of drawing data for one page while the first core A 1021 is executing the edit process for one page and the expansion unit 107 is in the expansion process, and determines to permit continuation of the edit process by the first core A 1021 (continue the edit process) if the free space of the storage unit 105 is equal to or larger than the memory lower limit threshold N2 or the expansion unit 107 is not in the expansion process. The first core A 1021 interrupts or continues the edit process depending on the result of this determination.
[0071] In this way, in the first embodiment, the printer 100 can improve processing efficiency by executing the edit process and the rendering process in parallel using the first core A 1021 and the second core B 1022. Also, the core processing determination unit 108a determines whether or not to permit the first core A 1021 to execute the edit process based on the free space in the storage unit 105, thereby making it possible to avoid a situation in which the free space in the storage unit 105 is insufficient (i.e., a situation in which memory is insufficient).
[0072] In fact, as shown in Figures 5 to 7, the rendering process for each page is executed after the editing process for each page, so even if the start of the editing process is delayed as shown in Figure 6, or the editing process is interrupted as shown in Figure 7, the time required to complete the rendering process for the last page often does not change unless the rendering process is interrupted. In other words, in the printer 100, by controlling the execution of the editing process so that memory shortage does not occur, memory shortage can be avoided and the rendering process can be efficiently executed without interruption. Thus, in the first embodiment, the processing efficiency of the printer 100 can be improved.
[0073] In the first embodiment, when the first core A1021 is caused to suspend the editing process, the first core A1021 is made to wait without executing another process, and the editing process is resumed after the free space of the storage unit 105 increases. In this way, when the first core A1021 is caused to suspend the editing process, it is not necessary to perform complicated processes such as saving intermediate data in the middle of the editing process to cause the first core A1021 to execute another process, or resuming the editing process using information indicating the interrupted location of the intermediate data (i.e., information indicating up to which part of one page the editing process has been completed), and this avoids a situation in which the load on the first core A1021 and the second core B1022 increases and the processing efficiency decreases. This is also a factor in improving the processing efficiency of the printer 100.
[0074] In the first embodiment, when determining whether to permit the first core A 1021 to execute the editing process, not only the free space in the storage unit 105 but also whether the expansion process is being executed is used as a condition. This is because if the expansion process is being executed, there is a possibility that the free space in the storage unit 105 will increase after the expansion process is completed (i.e., there is a possibility that the editing process can be executed).
[0075] Regardless of whether the expansion process is being executed, if there is a possibility that the free space in the storage unit 105 will increase over time, for example, whether the expansion process is being executed does not have to be used as a condition. In other words, when determining whether to permit the first core A 1021 to execute the editing process, only the free space in the storage unit 105 may be used as a condition. Furthermore, without being limited to this, matters that may increase the free space in the storage unit 105 may be added as conditions.
[0076] 2. Second embodiment Next, a second embodiment will be described. In this second embodiment, the operations of the first core A 1021 and the second core B 1022 are different from those of the first embodiment. Here, the differences from the first embodiment will be mainly described, and the description of the similarities will be omitted as appropriate.
[0077] [2-1. Printer configuration] Fig. 8 shows the configuration of a printer 100x, which is an example of an image processing device according to the second embodiment. The configuration of this printer 100x differs from the configuration of the printer 100 according to the first embodiment shown in Fig. 1 in that a core processing determination unit 108b is provided instead of the core processing determination unit 108a.
[0078] Core processing determination unit 108b has a configuration in which a switching determination unit 1083 is added to the configuration of core processing determination unit 108a (that is, edit start determination unit 1081 and interruption determination unit 1082). Since the edit start determination unit 1081 and the interruption determination unit 1082 have the same functions as in the first embodiment, a description thereof will be omitted.
[0079] When the edit start determination unit 1081 determines that the edit process should not be started before the first core A 1021 starts the edit process for one page, and the first core A 1021 enters a state in which the edit process should not be started, the switching determination unit 1083 determines whether or not the first core A 1021 should execute the rasterization process (i.e., whether or not to permit the execution of the rasterization process). The configuration of the printer 100x is as described above.
[0080] Although the details will be described later, in the printer 100x of the second embodiment, when the first core A 1021 is in a state where it does not start the editing process, the printer 100x is also made to execute the expansion process as necessary. This is a point different from the printer 100 of the first embodiment.
[0081] [2-2. Printer operation] Next, the operation of the printer 100x will be described, which will be described here as the operation of the printer 100x when printing based on print data received from the PC 110.
[0082] In the second embodiment, the specific operation (see FIG. 4) of the expansion unit 107 (second core B 1022) is the same as in the first embodiment, but the specific operation of the editing unit 106 (first core A 1021) is different from that in the first embodiment.
[0083] Therefore, the specific operation of the editing unit 106 will be described here with reference to the flowchart shown in Fig. 9. Incidentally, step SP901 in the flowchart shown in Fig. 9 is a step for performing the same process as step SP301 in the flowchart shown in Fig. 3 (i.e., the specific operation of the editing unit 106 in the first embodiment). Furthermore, step SP902 shown in Fig. 9 is a step for performing the same process as steps SP302 to SP306 shown in Fig. 3. Furthermore, step SP903 shown in Fig. 9 is a step for performing the same process as step SP307 shown in Fig. 3. Therefore, the description of the processes in steps SP901 to SP903 will be appropriately simplified.
[0084] First, in step SP901 shown in FIG. 9, before the editing unit 106 (i.e., the first core A 1021) starts editing processing of the first page, the free space in the memory unit 105 is smaller than the lower memory threshold N1, and the expansion unit 107 (i.e., the second core B 1022) is in the expansion process, so that the edit start determination unit 1081 determines that editing cannot be started.
[0085] In this case, the editing unit 106 obtains a negative result in step SP901, and proceeds to step SP904 without starting the editing process. The operations after step SP904 will be described later.
[0086] In contrast, before the editing unit 106 (i.e., the first core A 1021) starts editing processing for the first page, the editing start determination unit 1081 determines that editing can start because the free space in the memory unit 105 is equal to or greater than the lower memory threshold N1 or the expansion unit 107 (i.e., the second core B 1022) is not currently executing expansion processing.
[0087] In this case, the editing unit 106 obtains a positive result in step SP901, proceeds to step SP902, and generates intermediate data for one page. Thereafter, the editing unit 106 proceeds to step SP903, and if there is a page that has not yet been edited, the editing unit 106 obtains a positive result in step SP903 and returns to step SP901, and if editing has been completed for all pages, the editing unit 106 obtains a negative result in step SP903 and ends the series of operations.
[0088] Here, the operation after step SP904, that is, the operation when the editing unit 106 (i.e., the first core A 1021) does not start the editing process, will be described. First, in step SP904, the editing unit 106 determines whether or not to execute the expansion process by the first core A 1021 that has not started the editing process by the switching determination unit 1083 (i.e., whether or not to permit the first core A 1021 to execute the expansion process).
[0089] Specifically, if the number of pages that have been edited but not yet been expanded and are waiting to be expanded is less than a preset page number threshold N3, the switching determination unit 1083 determines that the expansion process will not be executed by the first core A 1021. In this way, when the switching determination unit 1083 determines that the expansion process will not be executed by the first core A 1021, the editing unit 106 obtains a negative result in step SP904, returns to step SP901, and waits until it is determined that editing can be started.
[0090] On the other hand, if the number of pages waiting to be expanded is equal to or greater than the page number threshold N3, the switching determination unit 1083 determines that the expansion process is to be executed by the first core A 1021. In this way, when the switching determination unit 1083 determines that the expansion process is to be executed by the first core A 1021, the editing unit 106 obtains a positive result in step SP904 and proceeds to step SP905.
[0091] In step SP905, the editing unit 106 executes the rendering process by the first core A 1021 that has not started the editing process. At this time, the first core A 1021 renders a page waiting to be rendered other than the page being rendered by the second core B 1022, or renders the same page as the page being rendered by the second core B 1022 together with the second core B 1022.
[0092] If the number of pages set as the page number threshold N3 is too small, the first core A 1021 will be caused to execute the expansion process when the number of pages waiting to be expanded is too small. In this case, for example, when the expansion process for one page is completed, the editing process for the next page may not be completed. In this case, the expansion process for the next page cannot be started until the editing process for the next page is completed, so the expansion process cannot be executed efficiently. On the other hand, if the number of pages set as the page number threshold N3 is too large, the first core A 1021 will have fewer opportunities to execute the expansion process, so that the expansion process cannot be executed efficiently. Therefore, in this embodiment, the page number threshold N3 is appropriately set so that the first core A 1021 has as many opportunities as possible to execute the expansion process without waiting for the start of the expansion process (i.e., so that the expansion process can be executed efficiently).
[0093] When the first core A 1021 finishes executing the expansion process up to the page break, the editing unit 106 proceeds to step SP906. In step SP906, the editing unit 106 determines, by the switching determination unit 1083, whether or not to continue the expansion process by the first core A 1021 (i.e., whether or not to permit the first core A 1021 to continue the expansion process).
[0094] Specifically, if the number of pages waiting to be expanded is equal to or less than a preset page number threshold N4, the switching determination unit 1083 determines not to continue the expansion process in the first core A 1021. In this way, when the switching determination unit 1083 determines not to continue the expansion process in the first core A 1021, the editing unit 106 obtains a negative result in step SP906, returns to step SP901, and waits until it is determined that editing can be started.
[0095] On the other hand, if the number of pages waiting to be expanded is greater than the page number threshold N4, the switching determination unit 1083 determines that the expansion process should be continued by the first core A 1021. In this way, when the switching determination unit 1083 determines that the expansion process should be continued by the first core A 1021, the editing unit 106 obtains a positive result in step SP906, returns to step SP905, and continues the expansion process by the first core A 1021.
[0096] The page number threshold N4 may be set to the same value as the page number threshold N3, or may be set to a different value. As with the page number threshold N3, the page number threshold N4 is also set appropriately so that the expansion process can be executed efficiently. The specific operation of the editing unit 106 is as described above.
[0097] Here, the flow of processing by the first core A 1021 and the second core B 1022 when processing a print job of, for example, 10 pages will be described with reference to the timing charts shown in Figs. 10 and 11. As described above, the first core A 1021 executes the editing process or the development process, and the second core B 1022 executes the development process. Here, it is assumed that the page number threshold N3 is set to 2, and the page number threshold N4 is set to 1. Fig. 10 continues from the top to the bottom, and the time t1 at the right end of the top is the same as the time t1 at the left end of the bottom. Similarly, the timing chart shown in Fig. 11 also continues from the top to the bottom, and the time t2 at the right end of the top is the same as the time t2 at the left end of the bottom.
[0098] First, the timing chart of FIG. 10 shows a flow of processing when the first core A 1021, which has not yet started editing processing, executes rendering processing of a page different from the page being rendered by the second core B 1022.
[0099] As shown in the upper part of Fig. 10, the first core A 1021 starts editing processing of the first page (P1 in the figure) and executes editing processing of pages 1 to 7 in order. Thereafter, as shown in the lower part of Fig. 10, the first core A 1021 starts editing processing of the eighth page, and during the editing processing of the eighth page, the free space in the storage unit 105 becomes small (it falls below the memory lower limit threshold N2), so the first core A 1021 suspends the editing processing and waits for the free space in the storage unit 105 to increase. Note that the first core A 1021 does not execute the expansion processing while suspending the editing processing.
[0100] At this time, the second core B 1022 is executing the expansion process of the fourth page, and when the expansion process of the fourth page is completed, the first core A 1021 resumes the editing process of the eighth page because the free space in the memory unit 105 has increased (become greater than or equal to the lower memory threshold N2).
[0101] After the first core A 1021 finishes the editing process of the eighth page, the free space in the memory unit 105 becomes low again (below the lower memory threshold N1), so the first core A 1021 does not start the editing process of the ninth page.
[0102] At this time, the second core B 1022 is currently executing the rendering process for the fifth page and has already completed the editing process for the eighth page. Therefore, the number of pages waiting to be rendered at this time is three, that is, pages six to eight.
[0103] That is, since the number of pages waiting to be rendered at this time is equal to or greater than 2, which is set as the page number threshold N3, the first core A 1021 executes rendering processing. At this time, since the second core B 1022 is rendering processing the fifth page, the first core A 1021 executes rendering processing for the subsequent sixth page. That is, the first core A 1021 executes rendering processing for the sixth page using the intermediate data for the sixth page that was generated and stored in the storage unit 105 before the first core A 1021 reached a state in which editing processing would not be started.
[0104] When the first core A 1021 finishes rendering the sixth page, the second core B 1022 is currently rendering the seventh page, so the number of pages waiting to be rendered at this time is only one of eight pages.
[0105] In other words, since the number of pages waiting to be rendered at this time is equal to or less than 1, which is set as the page number threshold N4, the first core A 1021 does not start rendering processing of the next page. However, since the free space in the storage unit 105 has increased (become equal to or greater than the memory lower limit threshold N1), the first core A 1021 starts editing processing of the 9th page.
[0106] In this way, if the free space in the memory unit 105 falls below the lower memory threshold N1 before the start of editing processing for, for example, the 9th page, the first core A 1021 does not start editing processing for the 9th page, and if the number of pages waiting to be expanded at this time is equal to or greater than the page number threshold N3, the first core A 1021 executes expansion processing for, for example, the 6th page which follows the 5th page being expanded by the second core B 1022.
[0107] Next, the timing chart of FIG. 11 shows a process flow when the first core A 1021, which has not yet started editing, performs rendering processing together with the second core B 1022 on the same page as the page being rendered by the second core B 1022.
[0108] In the timing chart of FIG. 11, the flow of processing until the first core A 1021 finishes the editing process of the eighth page is the same as in the timing chart of FIG. 10, so a description thereof will be omitted.
[0109] After the first core A 1021 finishes the editing process of the eighth page, the free space in the memory unit 105 becomes low (below the lower memory threshold N1), so the first core A 1021 does not start the editing process of the ninth page.
[0110] At this time, the second core B 1022 is currently executing the rendering process for the fifth page and has already completed the editing process for the eighth page. Therefore, the number of pages waiting to be rendered at this time is three, that is, pages six to eight.
[0111] In other words, since the number of pages waiting to be rendered at this time is equal to or greater than 2, which is set as the page number threshold N3, the first core A 1021 executes rendering processing. At this time, since the second core B 1022 is executing rendering processing for the fifth page, the first core A 1021 executes rendering processing for the same fifth page in parallel with the second core B 1022.
[0112] When the first core A1021 and the second core B1022 finish expanding the fifth page, the number of pages waiting to be expanded will be reduced by one. However, since the number of pages waiting to be expanded is still greater than the page count threshold N4 at this time, the first core A1021 performs expansion processing for the sixth page together with the second core B1022.
[0113] After that, the first core A 1021 and the second core B 1022 finish rendering the 6th page, then execute rendering the 7th page, and when rendering of the 7th page is finished, the number of pages waiting to be rendered is reduced to 1 (8 pages) which is below the page number threshold N4, so the first core A 1021 does not start rendering of the next page. Meanwhile, at this time, the free space in the storage unit 105 has increased (become greater than or equal to the memory lower limit threshold N1), so the first core A 1021 starts editing of the 9th page.
[0114] In this way, if the free space in the memory unit 105 falls below the lower memory threshold N1 before the start of editing processing of, for example, the 9th page, the first core A1021 does not start editing processing of the 9th page, and if the number of pages waiting to be expanded at this time is equal to or greater than the page number threshold N3, the first core A1021 executes the expansion processing of, for example, the 5th page being expanded by the second core B1022 in parallel with the second core B1022.
[0115] In addition, whether the first core A 1021 performs the rendering process of a page different from the page currently being rendered by the second core B 1022, or the second core B 1022 performs the rendering process of the same page as the page currently being rendered by the second core B 1022 may be selectable by the user as a setting of the printer 100x, or the printer may be shipped in a state where it is preset to one of the two.
[0116] [2-3. Summary and Effects] As described above, in the second embodiment, the core processing judgment unit 108b serving as a processing judgment unit is provided with a switching judgment unit 1083 that judges whether or not to permit the first core A 1021 to execute the expansion process based on the number of pages that have been edited but have not yet been expanded and are waiting to be expanded when the first core A 1021 is in a state where it cannot start the edit process in order to avoid a shortage of free space in the memory unit 105.
[0117] Specifically, when the first core A 1021 is in a state where it does not start editing processing, if the number of pages waiting to be expanded is equal to or greater than the page number threshold N3, the switching determination unit 1083 of the core processing determination unit 108b determines to permit the first core A 1021 to execute the expansion processing, and if the number of pages waiting to be expanded is less than the page number threshold N3, determines not to permit the first core A 1021 to execute the expansion processing. Depending on this determination result, the first core A 1021 waits for the start of editing processing or executes expansion processing of pages waiting to be expanded (or being expanded by the second core B 1022).
[0118] Furthermore, after the first core A 1021 finishes the rendering process for one page, if the number of pages waiting to be rendered is equal to or less than the page number threshold N4, the switching determination unit 1083 determines not to permit the first core A 1021 to continue the rendering process, and if the number of pages waiting to be rendered is greater than the page number threshold N4, the switching determination unit 1083 determines to permit the first core A 1021 to continue the rendering process. Depending on the result of this determination, the first core A 1021 returns to waiting for the start of the editing process or continues to perform the rendering process of the page waiting to be rendered (or being rendered by the second core B 1022).
[0119] In this way, in the second embodiment, when the first core A 1021 is not executing an editing process, the printer 100 can further improve processing efficiency by having the first core A 1021 execute the expansion process in parallel with the second core B 1022.
[0120] 10 and 11, in the printer 100, by having the first core A 1021, which is not yet in a state of starting the editing process, execute the rendering process, the time required for the rendering process of the last page to be completed is shorter than when the first core A 1021 executes only the editing process. Thus, in the second embodiment, the processing efficiency of the printer 100 can be further improved.
[0121] In addition, in the second embodiment, when the first core A 1021 finishes editing processing for one page and does not start editing processing to avoid a lack of free space in the memory unit 105 before starting editing processing for the next page, the first core A 1021 is made to execute expansion processing of the page being expanded by the second core B 1022 or a page other than the page.
[0122] In this way, in the second embodiment, the first core A 1021 switches between editing processing and expansion processing, but the processing is always switched at the page boundary, and processing is not switched in such a way that the editing processing is interrupted in the middle of editing processing for one page and the first core A 1021 is made to execute expansion processing.
[0123] By doing so, in the second embodiment, there is no need to perform complicated processes such as backing up intermediate data during the editing process in order to have the first core A 1021 execute the expansion process, or resuming the editing process after the expansion process using information indicating the interruption point of the intermediate data.As with the first embodiment, this avoids a situation in which the load on the first core A 1021 and the second core B 1022 increases and processing efficiency decreases.
[0124] 3. Other embodiments [3-1. Another embodiment 1] In the first embodiment described above, the printer 100 is equipped with a CPU 102 having a first core A 1021 and a second core B 1022, and the first core A 1021 executes the processing of the editing unit 106, and the second core B 1022 executes the processing of the development unit 107. This is not limiting, and for example, the printer 100 may be provided with a multi-core CPU having three or more cores, with one or more cores executing the processing of the editing unit 106, and the other one or more cores executing the processing of the development unit 107.
[0125] In this case, at least one of the one or more cores that execute the processing of the editing unit 106 is operated in the same manner as the first core A 1021, and the other one or more cores that execute the processing of the decompression unit 107 are operated in the same manner as the second core B 1022, thereby improving the processing efficiency as in the first embodiment. The same applies to the second embodiment.
[0126] [3-2. Other embodiment 2] In the second embodiment described above, the user can select, for example, as a setting of the printer 100x, whether the first core A 1021 performs rendering processing of a page different from the page being rendered by the second core B 1022 or performs rendering processing of the same page. However, without being limited to this, for example, the print control unit 101 or the core processing determination unit 108b may set, based on the progress of the rendering processing being executed by the second core B 1022, whether the first core A 1021 performs rendering processing of a page different from the page being rendered by the second core B 1022 or performs rendering processing of the same page.
[0127] Specifically, when the progress of the rendering process for one page being executed by the second core B 1022 is equal to or greater than a predetermined threshold (e.g., 80%), the printing control unit 101 or the core processing determination unit 108b sets the first core A 1021 to perform rendering process for a page different from the page being rendered by the second core B 1022, since the rendering process for one page being executed by the second core B 1022 is almost completed. On the other hand, when the progress of the rendering process for one page being executed by the second core B 1022 is less than a predetermined threshold (e.g., 80%), the printing control unit 101 sets the first core A 1021 to perform rendering process for the same page as the page being rendered by the second core B 1022.
[0128] [3-3. Other embodiment 3] Furthermore, in the first and second embodiments described above, the editing unit 106 analyzes the print data for each page to generate intermediate data. However, the print data may be analyzed not in a predetermined unit of a page but in a predetermined unit such as an object or a band buffer to generate intermediate data. In this way, when the editing process is performed for each object or band buffer of the print data, the expansion process may also be performed for each object or band buffer of the print data. In addition, when the editing process or the expansion process is performed for each object or band buffer, the storage unit 105 stores intermediate data and drawing data generated for each object or band buffer. Note that an object is, for example, a symbol, character, or figure on a page, and when the print data is analyzed for each object to generate intermediate data, symbols, characters, overlapping figures, etc. on a page are divided into separate objects to generate drawing data. In addition, when the print data is analyzed for each band buffer to generate intermediate data, a predetermined number of stages (number of bands) is regarded as one page to generate drawing data.
[0129] Furthermore, in the first and second embodiments described above, the intermediate data stored in memory unit 105 is deleted from memory unit 105 when the generation of drawing data using the intermediate data is completed, but this is not limited to the above, and the intermediate data may be deleted from memory unit 105 at a timing other than the timing when the generation of drawing data using the intermediate data is completed.
[0130] [3-4. Other embodiment 4] Furthermore, in the above-mentioned first and second embodiments, the present invention is applied to the printer 100 and the printer 100x as image processing devices, but the present invention is not limited to this and can be applied to, for example, a multifunction device having multiple CPU cores and executing editing processing and development processing. Also, the present invention is not limited to this and can be applied to various image processing devices as long as they are equipped with a first processing unit that executes a first process to generate first data, and a second processing unit that executes a second process to generate second data using the first data generated by the first process.
[0131] [3-5. Other embodiment 5] Furthermore, the present invention is not limited to the above-described embodiments, and the scope of application of the present invention extends to embodiments in which some or all of the above-described embodiments are combined in any manner, or in which some of the embodiments are extracted. [Industrial Applicability]
[0132] The present invention can be widely used in, for example, printers that execute editing and development processes. [Explanation of symbols]
[0133] 100, 100x... printer, 101... print control unit, 102... CPU, 103... network I / F unit, 104... receiving unit, 105... memory unit, 106... editing unit, 107... expansion unit, 108a, 108b... core processing determination unit, 109... printing unit, 110... PC, 120... network, 1021... first core A, 1022... second core B, 1081... editing start determination unit, 1082... interruption determination unit, 1083... switching determination unit.
Claims
1. A first processing unit that executes a first process to generate first data; a second processing unit that executes a second process to generate second data by using the first data generated by the first process; a storage unit that stores the first data and the second data; a process determination unit that determines whether or not to permit execution of the first process by the first processing unit based on the available capacity of the storage unit; Equipped with The first processing unit operates according to a result of the determination by the processing determination unit. An image processing device comprising:
2. When the process determination unit determines that the execution of the first process is not permitted, the first processing unit does not execute the first process, and the second processing unit executes the second process using the first data that was generated by the first processing unit and stored in the storage unit until the process determination unit determines that the execution of the first process is not permitted.
2. The image processing device according to claim 1,
3. The processing determination unit When the free space of the storage unit is less than a predetermined threshold, it is determined that the execution of the first process by the first processing unit is not permitted, and when the free space of the storage unit is equal to or greater than the predetermined threshold, it is determined that the execution of the first process by the first processing unit is permitted.
3. The image processing device according to claim 1, wherein the first and second inputs are input to the image processing device.
4. When the process determination unit determines that the execution of the first process is not permitted, the first processing unit does not execute the first process, and executes the second process using the first data that was generated and stored in the storage unit before the process determination unit determines that the execution of the first process is not permitted.
2. The image processing device according to claim 1,
5. The first processing unit executes the second processing together with the second processing unit.
5. The image processing device according to claim 4.
6. The processing determination unit determining whether to permit execution of the first process by the first processing unit based on the available capacity of the storage unit and whether the second processing unit is executing the second process; 3. The image processing device according to claim 1, wherein the first and second inputs are input to the image processing device.
7. The first processing unit includes: As the first processing, an editing process is executed for each predetermined unit of the print data, in which the print data is analyzed and intermediate data is generated as the first data; The second processing unit includes: As the second process, a development process is executed for each predetermined unit of the print data, in which drawing data is generated as the second data by using the intermediate data generated by the editing process; the storage unit stores the intermediate data for each predetermined unit generated by the first processing unit and the drawing data for each predetermined unit generated by the second processing unit; the intermediate data stored in the storage unit is deleted from the storage unit after the drawing data is generated using the intermediate data; The drawing data stored in the storage unit is deleted from the storage unit after a printing process is performed using the drawing data.
2. The image processing device according to claim 1,
8. In the first process, the editing process is executed for each page of the print data.
8. The image processing device according to claim 7,
9. In the first process, the editing process is executed for each object of the print data.
8. The image processing device according to claim 7,
10. In the first process, the editing process is executed for each band buffer of the print data.
8. The image processing device according to claim 7,
11. In the second process, the expansion process is executed for each page of the print data.
8. The image processing device according to claim 7,
12. In the second process, the expansion process is executed for each object of the print data.
8. The image processing device according to claim 7,
13. In the second process, the expansion process is executed for each band buffer of the print data.
8. The image processing device according to claim 7,
14. The processing determination unit If the free space of the storage unit is less than a predetermined threshold before the first processing unit starts the editing process for one page, it is determined that the start of the editing process by the first processing unit is not permitted, and if the free space of the storage unit is equal to or greater than the predetermined threshold, it is determined that the start of the editing process by the first processing unit is permitted.
14. The image processing device according to claim 7,
15. The first processing unit includes: If the process determination unit determines that the start of the editing process is permitted before the editing process for one page is started, the editing process for one page is started, and if the process determination unit determines that the start of the editing process is not permitted, the editing process for one page is not started and the process waits until the free space in the storage unit increases and the process determination unit determines that the start of the editing process is permitted.
15. The image processing device according to claim 14.
16. The processing determination unit When the free space of the storage unit becomes less than a predetermined threshold while the first processing unit is executing the editing process for one page, it is determined that continuation of the editing process by the first processing unit is not permitted, and when the free space of the storage unit is equal to or greater than the predetermined threshold, it is determined that continuation of the editing process by the first processing unit is permitted.
14. The image processing device according to claim 7,
17. The first processing unit includes: When the process determination unit determines that continuation of the editing process is permitted during the execution of the editing process for one page, the editing process for one page is continued, and when the process determination unit determines that continuation of the editing process is not permitted, the editing process for one page is interrupted and the process waits until the free space in the storage unit increases and the process determination unit determines that continuation of the editing process is permitted.
17. The image processing device according to claim 16,
18. The processing determination unit when it is determined that the start of the editing process by the first processing unit is not permitted before the first processing unit starts the editing process for one page, if the number of pages for which the editing process has been completed but the expansion process has not been completed and which are waiting to be expanded is equal to or greater than a predetermined threshold, it is determined that the execution of the expansion process by the first processing unit is permitted; The first processing unit includes: When the process determination unit determines that the start of the edit process is not permitted and that the execution of the expansion process is permitted before the start of the edit process for one page, the edit process for one page is not started and the expansion process of a page waiting to be expanded is executed.
15. The image processing device according to claim 14.
19. The processing determination unit determining that continuation of the raster image processing by the first processing unit is permitted if the number of pages waiting to be rasterized is greater than a predetermined threshold value after the first processing unit has completed the raster image processing for one page; The first processing unit includes: After completing the rasterization process for one page, if the process determination unit determines that the rasterization process is permitted to continue, the rasterization process for the next page is executed.
20. The image processing device according to claim 18,
20. The first processing unit includes: The second processing unit executes, together with the second processing unit, the rendering process of the same page as the page currently being rendered by the second processing unit, among the pages waiting to be rendered.
20. The image processing device according to claim 18,
21. The first processing unit includes: The second processing unit executes the expansion process of a page that is awaiting expansion and is different from the page that is undergoing the expansion process.
20. The image processing device according to claim 18,
22. A method for controlling an image processing device including a first processing unit that executes a first process to generate first data, a second processing unit that executes a second process to generate second data using the first data generated by the first process, and a storage unit that stores the first data and the second data, a process determining unit determining whether or not to permit execution of the first process by the first processing unit based on the available capacity of the storage unit; The first processing unit operates in response to a result of the determination by the processing determination unit. A control method comprising:
Citation Information
Patent Citations
Image formation apparatus and image formation method
JP2019025654A