Image processing device

JP2026126605APending Publication Date: 2026-08-05BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2025-01-24
Publication Date
2026-08-05

AI Technical Summary

Benefits of technology

【0008】 本明細書に開示される技術によれば、少なくとも2つのCPUを有する画像処理装置における、起動時の処理が改善される技術が実現される。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026126605000001_ABST
    Figure 2026126605000001_ABST
Patent Text Reader

Abstract

To provide a technology that improves startup processing in an image processing device having at least two CPUs. [Solution] The MFP1 includes a main CPU 11 that controls the user IF 17 and a second sub-CPU 13 that controls the read engine 16. When the MFP1 is powered on, the main CPU 11 executes a main CPU startup process, and the second sub-CPU 13 executes a second sub-CPU startup process, including HP detection control. Once the main CPU startup process is complete, the main CPU 11 checks whether the second sub-CPU startup process is complete, and until it confirms the completion of the second sub-CPU startup process, it disables at least read-related operations to the user IF 17. Once it confirms the completion of the second sub-CPU startup process, it enables read-related operations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technical field disclosed in this specification relates to an image processing apparatus having at least two CPUs. More specifically, it is a technology related to the processing at the time of starting up the image processing apparatus.

Background Art

[0002] Technologies related to the processing at the time of starting up an image processing apparatus are known. For example, Patent Document 1 discloses an image input / output system having an image processing apparatus, which stores device configuration information at the time of completion of startup, and at the time of restart, starts the startup process before the response from the hardware using the stored device configuration information.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In recent years, an image processing apparatus having at least two CPUs, where one CPU is mainly used for system control and the other CPU is used for controlling an image processing engine, is known. In such an image processing apparatus, processing at the time of startup is performed for each CPU, and shortening the startup time, which is the time until these startup processes are completed, becomes an issue. Patent Document 1 does not disclose the processing at the time of startup in an image processing apparatus having at least two CPUs, and there is room for improvement.

Means for Solving the Problems

[0005] An image processing apparatus developed to solve this problem comprises a first CPU, a second CPU, a reading engine, and a user interface, wherein the first CPU is configured to control the user interface, and the second CPU is configured to control the reading engine. When the image processing apparatus is powered on, the first CPU executes a first startup process, which is the startup process of the first CPU, and the second CPU executes a second startup process, which is the startup process of the second CPU, which includes initial control of the reading engine. Once the second startup process is completed, the second CPU can cause the reading engine to perform a read according to instructions from the first CPU. The first CPU, upon completion of the first startup process, checks whether the second startup process by the second CPU has been completed. Until it confirms the completion of the second startup process, it disables at least read operations on the user interface. Upon confirming the completion of the second startup process, it enables read operations. After read operations on the user interface become available, if the first CPU sends a read instruction to the second CPU in accordance with the read operation, the second CPU causes the read engine to perform a read in accordance with the read instruction from the first CPU.

[0006] The image processing apparatus disclosed herein, upon power-on, causes the first CPU and the second CPU to execute their respective startup processes, thereby causing the first startup process by the first CPU and the second startup process by the second CPU, which includes initial control of the reading engine, to be performed in parallel. This is expected to shorten the startup time compared to cases where the first startup process by the first CPU and the second startup process by the second CPU are performed sequentially, for example, when the first CPU performs initial control of the reading engine during the startup process. Furthermore, the image processing apparatus does not accept reading-related operations to the user interface until the second startup process by the second CPU is completed. This prevents the acceptance of reading instructions even though reading cannot be started immediately.

[0007] The control method, computer program, and computer-readable storage medium for realizing the functions of the above-mentioned image processing apparatus are also novel and useful. [Effects of the Invention]

[0008] The technology disclosed herein provides a technique for improving startup processing in an image processing device having at least two CPUs. [Brief explanation of the drawing]

[0009] [Figure 1] This is a block diagram showing the schematic configuration of the MFP according to the embodiment. [Figure 2] This is an explanatory diagram showing an example of the reading range using an image reading configuration. [Figure 3] This is a flowchart showing the procedure for starting up the main CPU. [Figure 4] This is a flowchart showing the procedure for monitoring sub-CPUs. [Figure 5] This is an explanatory diagram showing an example of a home screen. [Figure 6] This is a flowchart showing the procedure for starting the first sub-CPU. [Figure 7]This flowchart shows the procedure for starting the second sub-CPU. [Figure 8] This is an explanatory diagram showing an example of a message screen. [Figure 9] This is a flowchart showing the waiting process procedure. [Figure 10] This is a flowchart showing the recovery process. [Figure 11] This is an explanatory diagram illustrating an example where the CIS is not in the vicinity of the reference position HP. [Modes for carrying out the invention]

[0010] Hereinafter, embodiments of the image processing device will be described in detail with reference to the attached drawings. This specification discloses a multifunction printer (hereinafter referred to as "MFP") having the function of reading images.

[0011] As shown in Figure 1, the MFP1 in this configuration includes a main CPU 11, a first sub-CPU 12, a second sub-CPU 13, a communication interface (hereinafter referred to as "communication IF") 14, a print engine 15, a read engine 16, and a user interface (hereinafter referred to as "user IF") 17, all of which are connected to a bus 19. The main CPU 11 is an example of a first CPU, the second sub-CPU 13 is an example of a second CPU, and the first sub-CPU 12 is an example of a third CPU.

[0012] The main CPU 11, the first sub-CPU 12, and the second sub-CPU 13 are each separate pieces of hardware. The main CPU 11, the first sub-CPU 12, and the second sub-CPU 13 may be implemented on a single chip. In other words, the MFP1 may have an SoC (System on a chip) that implements the main CPU 11, the first sub-CPU 12, and the second sub-CPU 13.

[0013] Furthermore, the MFP1 includes a memory 20 including a ROM 21, a RAM 22, an SRAM 23, and an NVRAM 24, and these are connected to a bus 19. The ROM 21 and the NVRAM 24 are non-volatile memories, and the RAM 22 and the SRAM 23 are volatile memories. The ROM 21 is an example of the first memory, and the RAM 22 is an example of the second memory. The memory 20 may be implemented in the SoC in which the main CPU 11 is implemented.

[0014] The main CPU 11, the first sub-CPU 12, and the second sub-CPU 13 execute various processes according to the programs read from the memory 20 and based on the user's operations. The main CPU 11 mainly undertakes system control such as management of files and tasks of the MFP1 and control of the user IF 17 and the communication IF 14. The first sub-CPU 12 mainly undertakes control of the printing engine 15. The second sub-CPU 13 mainly undertakes control of the reading engine 16. Various programs and various data are stored in the memory 20. The memory 20 is also used as a working area when various processes are executed.

[0015] Note that an example of the memory 20 is not limited to the ROM, RAM, HDD, etc. built in the MFP1, and may be a computer-readable and writable storage medium. For example, an external memory such as a USB memory or an HDD connected to the MFP1, a memory or an HDD provided in a device connected to the MFP1 via the communication IF 14 is also an example of the memory 20. The buffers provided in the main CPU 11, the first sub-CPU 12, and the second sub-CPU 13 are also examples of the memory.

[0016] A computer-readable storage medium is a non-transitory medium. Non-transitory media include, in addition to the above examples, recording media such as CD-ROMs and DVD-ROMs. Also, non-transitory media are tangible media. On the other hand, an electrical signal that conveys a program downloaded from a server on the Internet or the like is a computer-readable signal medium, which is a type of computer-readable medium, but is not included in non-transitory computer-readable storage media.

[0017] Shown in FIG. 1 is the MFP1 in the power-off state. In this state, each program and data are stored in the ROM 21, and nothing is stored in the RAM 22 or the SRAM 23. Also, a return flag 241 is stored in the NVRAM 24. The NVRAM 24 is a storage area accessible from any of the main CPU 11, the first sub-CPU 12, and the second sub-CPU 13. The return flag 241 will be described later.

[0018] In the ROM 21 of the memory 20, a boot loader 31, an operating system (hereinafter referred to as "OS") 32, a main CPU program 33, a first sub-CPU program 34, and a second sub-CPU program 35 are stored. Note that, except for a part of the boot loader 31, each program is stored in a compressed manner. The boot loader 31 is an example of a boot program. The OS 32 and the main CPU program 33 are examples of system programs. The second sub-CPU program 35 is an example of a reading program. The OS 32 is, for example, the Linux kernel.

[0019] The boot loader 31, OS 32, and main CPU program 33 are programs executed by the main CPU 11. The main CPU program 33 is a group of programs that run on OS 32 and includes the main control program 331 and the RIP (Raster Image Processor) control program 332. The main control program 331 is a program for controlling all parts of the MFP1 except the print engine 15 and the reading engine 16, including the user IF 17 and the communication IF 14. The RIP control program 332 is a program that performs RIP processing on the image data to be printed and generates raster-format image data based on the image data.

[0020] The first sub-CPU program 34 is a program executed by the first sub-CPU 12. The first sub-CPU program 34 includes a program for controlling the print engine 15. The first sub-CPU program 34 may also include, for example, a program for controlling the power supplied to each part of the MFP1, including the print engine 15, in a power-saving state.

[0021] The program 35 for the second sub-CPU is a program executed by the second sub-CPU 13. The program 35 for the second sub-CPU includes a program for controlling the read engine 16. In addition to the OS 32, the program 35 for the second sub-CPU includes an OS for the second sub-CPU 13. In this configuration of the MFP1, the program 34 for the first sub-CPU does not include an OS.

[0022] The communication interface 14 includes hardware for communicating with external devices such as personal computers. The MFP1 may have multiple communication interfaces 14 that support multiple communication standards. The user interface 17 is, for example, a touch panel and includes hardware for displaying a screen to inform the user of information and hardware for receiving user input.

[0023] The printing engine 15 includes, for example, a configuration for printing an image on a printing medium such as a sheet using an electrophotographic method with toner. The image forming method of the printing engine 15 may be an inkjet method. The MFP1 in this embodiment may be equipped with a printing engine 15 capable of performing color printing using multi-color colorants, or it may be equipped with a printing engine 15 that performs only monochrome printing using a single colorant.

[0024] The scanning engine 16 includes a CIS (Contact Image Sensor) 161, a document tray 162, and an automatic document feeder (ADF) 163 for automatically transporting documents. The scanning engine 16 of the MFP1 can read images of a document in the area indicated by the diagonal lines in Figure 2, for example. Figure 2 shows the positional relationship between the CIS 161 and the document tray 162, excluding the ADF 163.

[0025] The CIS161 has multiple reading elements for optically reading an image from a document. The CIS161 is an example of a reading sensor. Each reading element of the CIS161 is arranged, for example, in the main scanning direction shown vertically in Figure 2. The CIS161 is also movable in the sub-scanning direction shown horizontally in Figure 2. The MFP1 can generate reading data based on the reading result by reading the image from the document using the CIS161. The CIS161 may be a device capable of performing color reading, which reads the image from the document as a color image, or it may be a device capable of performing monochrome reading only.

[0026] The document tray 162 includes a transparent, plate-shaped contact glass that is fixed integrally with the housing of the MFP1. The document tray 162 is also called a flatbed (hereinafter referred to as "FB"). The MFP1 of this embodiment is capable of both FB reading, which reads the image of a document placed on the document tray 162, and ADF reading, which reads the image of a document transported by the ADF 163.

[0027] When performing ADF scanning, the MFP1 stops the CIS161 at the ADF scanning stop position PA, and the ADF163 transports the documents placed on its document tray one by one, performing document transport and document image scanning in parallel. The ADF scanning stop position PA is just one example of a scanning location. The MFP1 may or may not be capable of performing double-sided scanning via ADF scanning.

[0028] When performing FB reading, MFP1 first positions the CIS161 at the reading start position PBs for FB reading. Then, as shown as the direction of movement in Figure 2, MFP1 simultaneously moves the CIS161 in the sub-scanning direction and reads the image of the document placed on the document glass 162. Through FB reading, MFP1 can read an image from the reading start position PBs to the reading end position PBe, depending on the size of the document. Each position of the CIS161 within the range from the reading start position PBs to the reading end position PBe is an example of a reading location. In the following, the right side of the sub-scanning direction in Figure 2 will be referred to as the front, and the left side in Figure 2 will be referred to as the rear.

[0029] After ADF reading or FB reading is completed, the MFP1 moves the CIS161 backward and stops it at a predetermined reference position HP. The reference position HP is an example of a waiting area. The reference position HP is outside the reading range for ADF reading or FB reading, and is located behind the stop position PA for ADF reading and behind the reading start positions PBs for FB reading. In the MFP1, the reading start positions PBs for FB reading are located in front of the stop position PA for ADF reading. The MFP1 can properly stop the CIS161 at the reference position HP by detecting the black and white tape 165 attached to the underside of the document glass 162 outside the reading range.

[0030] Next, the operation of this MFP1 will be explained with reference to the flowchart. The following processes basically represent the processing of each CPU according to the instructions written in the program. That is, processes such as "judgment," "extraction," "selection," "calculation," "decision," "identification," "acquisition," "reception," and "control" in the following explanation represent the processing of each CPU. The processing by each CPU also includes hardware control using the OS API. In this specification, the description of the OS is omitted when explaining the operation of each program. That is, in the following explanation, a statement to the effect that "Program B controls hardware C" may also mean "Program B controls hardware C using the OS API." In addition, the processing of each CPU according to the instructions written in the program may be described using abbreviated language. For example, it may be written as "performed by the CPU." Also, the processing of each CPU according to the instructions written in the program may be described using abbreviated language such as "performed by Program A."

[0031] Furthermore, in this specification, terms such as "notification," "information," "notice," "reply," "response," and "answer" are used not only to mean the transmission of information to a person, but also to mean communication and exchange of information between devices or between components within a device. Note that the components within a device include software.

[0032] Furthermore, "acquisition" is used in a sense that does not necessarily require a request. That is, the process of each CPU receiving data without requesting it is also included in the concept of "the CPU acquiring data." Also, "data" in this specification is represented by a bit sequence that can be read by a computer. Data with the same substantial meaning but different formats will be treated as the same data. The same applies to "information" in this specification. Also, "request" and "instruct" are concepts that indicate that information indicating a request or instruction is being output to the other party. Information indicating a request or instruction may also be simply referred to as "request" or "instruction."

[0033] Furthermore, the process by which each CPU determines whether information A indicates event B is sometimes conceptually described as "determine from information A whether it is event B or not." Similarly, the process by which each CPU determines whether information A indicates event B or event C is sometimes conceptually described as "determine from information A whether it is event B or event C."

[0034] Furthermore, in this specification, setting items may be simply referred to as "settings." Similarly, setting values ​​may also be simply referred to as "settings." Setting values ​​may also be referred to as "parameters." Additionally, storing setting values ​​in memory or elsewhere may be simply referred to as "settings." Furthermore, the operation for setting or the input for setting may also be simply referred to as "settings."

[0035] In this configuration, when the MFP1 is powered on from a power-off state, or when a reset command is received by the user, it starts executing a predetermined startup process. Specifically, when the MFP1 is powered on, the hardware is statically configured so that the main CPU 11 starts operating from the beginning of the boot loader 31. The procedure for the main CPU startup process will be explained with reference to the flowchart in Figure 3. This main CPU startup process is executed by the main CPU 11 of the MFP1 when it is powered on.

[0036] The main CPU 11 first performs initial setup (S101). Specifically, the main CPU 11 starts from the beginning of the uncompressed portion of the boot loader 31 stored in ROM 21, decompresses the compressed portion of the boot loader 31, and loads it into SRAM 23. Furthermore, the main CPU 11 operates according to the boot loader 31 written to SRAM 23. The main CPU 11 then configures the operation of RAM 22, for example, in order to load a program into RAM 22.

[0037] After the initial setup is complete, the main CPU 11 decompresses the first sub-CPU program 34 and the second sub-CPU program 35 stored in the ROM 21 and loads them into their respective designated storage locations (S111).

[0038] Furthermore, the main CPU 11 turns off the recovery flag 241 located in the NVRAM 24 (see Figure 1) (S112). The recovery flag 241 is a flag used to share information between the main CPU 11 and the second sub-CPU 13 regarding whether the startup process of the second sub-CPU 13, which is executed afterward, was started based on a power-on or recovery from a deep sleep state. Turning off the recovery flag 241 indicates that the current process was not started by a recovery from a deep sleep state, but by a power-on or reset instruction.

[0039] Deep sleep mode is a state in which power consumption is reduced by limiting the power supply to the print engine 15 and the read engine 16, even though the power is not turned off. Deep sleep mode consumes less power than the standby mode, which is a state in which printing and reading are possible. The MFP1 becomes capable of printing and reading after returning from deep sleep mode to the standby mode.

[0040] In deep sleep mode, MFP1 can receive data via communication IF14 and user input via user IF17. When MFP1 receives data or user input while in deep sleep mode, it returns from deep sleep mode to standby mode. Furthermore, in standby mode, if a predetermined amount of time has elapsed without receiving any data, receiving user input via user IF17, or performing any processing such as reading or printing, MFP1 can transition to deep sleep mode.

[0041] Once the loading of each program is complete, the main CPU 11, in accordance with the boot loader 31, resets the first sub-CPU 12 and the second sub-CPU 13, and starts them up (S113). Both the first sub-CPU 12 and the second sub-CPU 13 can operate independently of the main CPU 11. In response to the reset release in S113, the first sub-CPU 12 and the second sub-CPU 13 each independently begin the startup process. The processes performed by the first sub-CPU 12 and the second sub-CPU 13 will be described later.

[0042] After starting the first sub-CPU 12 and the second sub-CPU 13, the main CPU 11 further performs operations according to the boot loader 31. After S113, the main CPU 11 decompresses the OS 32 stored in ROM 21 and loads it into RAM 22 (S121). Then, once the loading of OS 32 is complete, the main CPU 11 terminates the operations according to the boot loader 31 and starts processing based on OS 32 (S122). The OS 32-based processing started in S122 is an example of the first startup process. As a result, the MFP1 executes the startup process by the main CPU 11 using OS 32, the startup process by the first sub-CPU 12, and the startup process by the second sub-CPU 13 in parallel.

[0043] The main CPU 11 decompresses the main control program 331 and the RIP control program 332, which are included in the main CPU program 33, and loads them into RAM 22 (S123). Furthermore, the main CPU 11 starts the system main control process based on the main control program 331 and starts the RIP processing process based on the RIP control program 332 (S124). The system main control process and the RIP processing process are resident processes that follow the respective application programs running on the OS 32. There may be other resident processes besides these, and the main CPU 11 may start other processes as well.

[0044] After the initialization of the user IF17 and communication IF14 and the startup of various application processes are completed in the initial processing according to the main CPU program 33, the main CPU 11 executes sub-CPU monitoring processing (S131). Sub-CPU monitoring processing is the process of monitoring the operating status of the first sub-CPU 12 and the operating status of the second sub-CPU 13. The procedure for sub-CPU monitoring processing will be explained with reference to the flowchart in Figure 4.

[0045] In the sub-CPU monitoring process, the main CPU 11 displays the home screen to the user interface 17 (S201). The main CPU 11 displays the home screen 50 to the user interface 17, which includes multiple icons such as a scan icon 51 and a copy icon 52, as shown in Figure 5(A). The scan icon 51 and the copy icon 52 are icons that accept reading operations and are examples of specific icons.

[0046] The main CPU 11 then acquires information indicating the state of the first sub-CPU 12 and information indicating the state of the second sub-CPU 13 (S202). The first sub-CPU 12 and the second sub-CPU 13 execute their respective startup processes based on the reset release by the main CPU 11 (S113 in Figure 3). Based on the information acquired in S202, the main CPU 11 checks whether both the first sub-CPU 12 and the second sub-CPU 13 have entered a standby state (S202).

[0047] The main CPU 11 may, for example, periodically query the first sub-CPU 12 and the second sub-CPU 13 to obtain their respective status information and make a decision. Alternatively, the main CPU 11 may, for example, check whether the first sub-CPU 12 and the second sub-CPU 13 have entered a standby state based on the information stored in memory 20. For example, when the first sub-CPU 12 and the second sub-CPU 13 enter a standby state, they may enable it by writing information indicating that they have entered a standby state to memory 20. Alternatively, when the first sub-CPU 12 and the second sub-CPU 13 enter a standby state, they may disable it by deleting the information stored in memory 20 indicating that they are not in a standby state.

[0048] When the first sub-CPU 12 and the second sub-CPU 13 have completed their respective startup processes and entered a standby state, they pass information indicating the standby state to the main CPU 11 as a response to the query in S202. On the other hand, if they are not in a standby state, the first sub-CPU 12 and the second sub-CPU 13 do not pass information indicating the standby state to the main CPU 11 as a response to the query in S202. Now, the startup processes of the first sub-CPU 12 and the second sub-CPU 13 will be explained.

[0049] The first sub-CPU 12 executes the first sub-CPU startup process according to the first sub-CPU program 34. The procedure for the first sub-CPU startup process will be explained with reference to the flowchart in Figure 6. The first sub-CPU startup process is executed when the first sub-CPU 12 is reset and released in S113 of the main CPU startup process. The first sub-CPU startup process by the first sub-CPU 12 is an example of the third startup process.

[0050] The first sub-CPU 12 first enables communication with the main CPU 11 (S301). Specifically, the main CPU 11 and the first sub-CPU 12 communicate using, for example, inter-CPU communication utilizing FIFO and interrupts. In S301, the first sub-CPU 12 enables interrupts from the main CPU 11 and registers a function for interpreting received data.

[0051] The first sub-CPU 12 further performs initial control of the printing engine 15 (S302). The first sub-CPU 12 performs at least one of the following: warm-up control including heating of the fuser, toner stirring operation including rotation of the developing roller, toner cartridge newness check, laser beam output control, and polygon motor rotation check. If the printing engine 15 is an inkjet type, the first sub-CPU 12 may perform ink head preheating in S302.

[0052] Once the initial control of the printing engine 15 is complete, the first sub-CPU 12 sets its status to standby (S303). If the main CPU 11 requests status information before S303 (S202 in Figure 4), the first sub-CPU 12 responds with information indicating that it is not in standby mode. If the main CPU 11 requests status information after S303, the first sub-CPU 12 responds with information indicating that it is in standby mode.

[0053] Meanwhile, the second sub-CPU 13 executes the second sub-CPU startup process according to the second sub-CPU program 35. The procedure for the second sub-CPU startup process will be explained with reference to the flowchart in Figure 7. The second sub-CPU startup process is executed when the second sub-CPU 13 is started up by being reset from a shut-down state.

[0054] The second sub-CPU 13 is shut down and powered off not only when the MFP1 is powered off, but also when the MFP1 enters deep sleep mode. Furthermore, when waking from deep sleep mode, the main CPU 11 resets the second sub-CPU 13. In other words, whether the reset is released in S113 of the main CPU startup process (see Figure 3) or by the recovery process from deep sleep mode described later, the second sub-CPU 13 executes the second sub-CPU startup process. Note that the first sub-CPU 12 does not power off even when entering deep sleep mode.

[0055] In the second sub-CPU startup process, the second sub-CPU 13 first starts the OS included in the second sub-CPU program 35 (S401). Then, the second sub-CPU 13 performs initialization for the read function (S402). The second sub-CPU 13 performs, for example, initialization of the memory area used by the read function and initial settings of various parameters for reading. Furthermore, the second sub-CPU 13 enables communication with the main CPU 11 (S403). The second sub-CPU 13 communicates with the main CPU 11 using inter-CPU communication that utilizes FIFO and interrupts, similar to the inter-CPU communication between the main CPU 11 and the first sub-CPU 12.

[0056] The second sub-CPU 13 then determines whether the recovery flag 241 (see Figure 1) is on or off (S411). If it determines that the recovery flag 241 is off (S411: NO), the second sub-CPU 13 executes HP detection control of the read engine 16 (S412). HP detection control is the operation of positioning the CIS 161 at a predetermined reference position HP (see Figure 2). S412 is an example of the sensor positioning process.

[0057] Specifically in S412, MFP1 first moves CIS161 forward by a certain amount to attempt to detect the black and white tape 165. If CIS161 is already located at or near the reference position HP, this movement will allow it to detect the black and white tape 165. If the black and white tape 165 is detected, MFP1 moves CIS161 backward by a predetermined distance from the position of the black and white tape 165, stopping CIS161 at the reference position HP. In other words, if CIS161 is at the reference position HP from the start of HP detection control, HP detection control is completed immediately.

[0058] On the other hand, if the black and white tape 165 is not detected after the initial movement by a certain amount, the MFP1 moves the CIS161 further forward. The MFP1 may move the CIS161 to, for example, the rightmost movable position. After that, the MFP1 moves the CIS161 backward and attempts to detect the black and white tape 165 again.

[0059] HP detection control is a time-consuming process because it involves the movement of CIS161. In particular, as shown in Figure 11, if CIS161 is not near the reference HP, the distance that CIS161 must move increases, thus increasing the time required for HP detection control. Therefore, the time required for HP detection control may be longer than, for example, the time required for the execution of startup processes by the main CPU 11, such as S122 to S124 in Figure 3.

[0060] If the black and white tape 165 is detected, the MFP1 moves the CIS 161 a predetermined distance from that point, stopping the CIS 161 at the reference position HP. On the other hand, if the black and white tape 165 is not detected by moving backward, the MFP1 may either report an error or re-execute the HP detection control. After the HP detection control in S412 is completed, the second sub-CPU 13 sets its status to standby (S421).

[0061] When the power is turned on, CIS161 may or may not be near the reference position HP. The reason for this is explained below. After a job that includes ADF reading or FB reading is completed, MFP1 moves CIS161 to the reference position HP before terminating job processing. In other words, if the power is turned off after the job processing is completed normally, CIS161 will be at the reference position HP when the power is turned on. Therefore, when entering deep sleep mode, CIS161 will be at the reference position HP.

[0062] As will be explained in more detail later, the main CPU 11 turns on the wake-up flag 241 when transitioning to or waking from deep sleep. If the wake-up flag 241 is determined to be on (S411: YES), the second sub-CPU 13 does not execute S412 and sets its status to standby (S421). In other words, if the wake-up flag 241 is determined to be on, the second sub-CPU 13 does not perform HP detection control because the CIS 161 is at the reference HP position, as shown in Figure 2. Since the second sub-CPU startup process, which is executed when waking from deep sleep, does not perform HP detection control, the MFP1 can wake up from deep sleep early.

[0063] Furthermore, if MFP1 receives a power-off command via operation of the power switch, it will position CIS161 at the reference position HP before powering off. However, if power is suddenly cut off due to the power cord being unplugged or a power outage occurring while FB reading or ADF reading is in progress, or after reading has finished, and before CIS161 has moved to the reference position HP, CIS161 may stop at a position other than the reference position HP. In other words, as shown in Figure 11, CIS161 may stop at a position not near the reference position HP. Thus, depending on the circumstances under which the power is turned off, CIS161 may not be positioned at the reference position HP when powered on, but may remain at the reading location.

[0064] When MFP1 is powered on, the power-off state is unknown, so the main CPU 11 turns off the recovery flag 241 in step S112 of the main CPU startup process shown in Figure 3. Therefore, when MFP1 is powered on from a power-off state, the second sub-CPU 13 executes the second sub-CPU startup process, which includes HP detection control. This ensures that MFP1 can reliably position the CIS 161 at the reference HP position. The second sub-CPU startup process when the recovery flag 241 is off is an example of the second startup process.

[0065] Returning to the explanation of the sub-CPU monitoring process in Figure 4, the main CPU 11 determines whether or not it has accepted user input (S211) if it determines, based on the information periodically acquired in S202, that at least one of the first sub-CPU 12 and the second sub-CPU 13 is not in a standby state (S203: NO). Even if at least one of the first sub-CPU 12 and the second sub-CPU 13 is not in a standby state, the main CPU 11 can accept input to the home screen 50 (see Figure 5) displayed in S201.

[0066] If the main CPU 11 determines that it has received a user operation (S211: YES), it determines whether the instruction received by that operation includes a read operation (S212). Specifically, if the main CPU 11 receives an operation on, for example, the scan icon 51 or copy icon 52 on the home screen 50, it determines that the instruction includes a read operation.

[0067] If the main CPU 11 determines that the user's instruction includes a read operation (S212: read), it determines whether the second sub-CPU 13 is in a standby state (S221). If it determines that the second sub-CPU 13 is in a standby state (S221: YES), the main CPU 11 executes an operation including a read operation based on the user's instruction (S231). In other words, once the main CPU 11 confirms that the startup process of the second sub-CPU 13 is complete, it makes it possible to accept read operations.

[0068] For example, when the main CPU 11 receives an operation on the scan icon 51 on the home screen 50 shown in Figure 5(A), it displays an output destination selection screen 60 that accepts the selection of the output destination for the scanned data, as shown in Figure 5(B). The output destination selection screen 60 includes output destination selection buttons such as "to USB" 61. After the MFP1 reads the image of the document and generates scan data, it can output the generated scan data to the specified output destination.

[0069] When the output destination is selected on the output destination selection screen 60, the main CPU 11 displays an execution instruction screen 70, including an execution button 71, as shown in Figure 5(C). On the execution instruction screen 70, the main CPU 11 may also be able to accept various setting instructions related to reading. When the execution button 71 is pressed, the main CPU 11 instructs the second sub-CPU 13 to start the reading operation. If the second sub-CPU 13 is in a standby state, the CIS 161 is located at the reference position HP, and the second sub-CPU 13 can immediately move the CIS 161 to the reading location and start the reading operation.

[0070] On the other hand, if the main CPU 11 determines that the second sub-CPU 13 is not in a standby state (S221: NO), it displays a message screen to the user interface 17 (S222) and becomes unresponsive to user input from the user interface 17. In other words, the main CPU 11 will not accept read operations until it confirms that the startup process for the second sub-CPU 13 is complete.

[0071] When the main CPU 11 receives an operation on the scan icon 51 on the home screen 50 while the second sub-CPU 13 is not in standby mode, it displays a message screen 80, which includes a message indicating that there is a waiting period, such as "Please Wait" or "Please wait," as shown in Figure 8(A), instead of the output destination selection screen 60 shown in Figure 5(B). The message screen 80 does not contain icons or buttons and does not accept user operations.

[0072] If the second sub-CPU 13 is not in a standby state, for example, it may be performing the HP detection control described above, and the read engine 16 cannot immediately start the read operation. Also, as mentioned above, the HP detection control may take some time. If the second sub-CPU 13 is not in a standby state, the main CPU 11 notifies the user IF 17 of the waiting state by displaying the message screen 80, thereby reducing the user's anxiety while the read operation cannot start.

[0073] After displaying the message screen 80, the main CPU 11 determines again whether the second sub-CPU 13 has entered a standby state (S223). If it determines that the second sub-CPU 13 is not in a standby state (S223: NO), the main CPU 11 continues to display the message screen 80.

[0074] On the other hand, if the main CPU 11 determines that the second sub-CPU 13 has entered a standby state (S223: YES), it hides the message screen 80 (S224) and becomes capable of performing operations including reading. When the second sub-CPU 13 enters a standby state, the main CPU 11 hides the message screen 80 shown in Figure 8(A), displays the output destination selection screen 60 shown in Figure 5(B), and becomes capable of accepting operations related to reading. In other words, the main CPU 11 waits for the second sub-CPU 13 to enter a standby state before becoming capable of accepting operations related to performing a read. This avoids the situation where the main CPU 11 accepts a read command even though it cannot immediately start reading.

[0075] Then, after S224, or if it is determined that the second sub-CPU 13 is in a standby state (S221: YES), the main CPU 11 executes an operation including a read operation based on the instruction received in S212 or the read execution instruction received on the screen displayed after S224 (S231).

[0076] For example, after the main CPU 11 displays the output destination selection screen 60 in S224 and accepts the selection of the output destination, it displays an execution instruction screen 70 (Figure 5(C)) including an execution button 71, and if it accepts an operation on the execution button 71, it sends a read instruction to the second sub-CPU 13. If the second sub-CPU 13 is in a standby state, it can cause the read engine 16 to perform the read according to the instruction from the main CPU 11.

[0077] Furthermore, if the second sub-CPU 13 is not in standby mode, the main CPU 11 may accept selections on the output destination selection screen 60 and various settings on the execution instruction screen 70, but may not accept operations on the execution button 71. For example, after accepting the selection of an output destination, the main CPU 11 may, instead of the execution instruction screen 70 shown in Figure 5(C), display a message screen 90 that includes an execution button 91 that cannot be operated, or an execution instruction screen that does not include an execution button, as shown in Figure 8(B). Alternatively, if the main CPU 11 accepts an operation on the execution button 71 on the execution instruction screen 70, it may display a message indicating that execution is not possible. Furthermore, on the message screen 90, operations on buttons other than the execution button 91 may be accepted.

[0078] On the other hand, if the main CPU 11 determines that the user's instruction received on the home screen 50 does not include a reading operation (S212: other than reading), the main CPU 11 executes the instructed operation (S232). For example, if the user's instruction is for various settings or communication with an external device, the main CPU 11 can execute it even if the second sub-CPU 13 is not in standby mode. In addition, if the user's instruction includes a printing operation and the first sub-CPU 12 is not in standby mode, the main CPU 11 may also display a message screen as shown in Figure 8(A).

[0079] After S231 or S232, or if it determines that it is not accepting user input (S211: NO), the main CPU 11 determines again whether both the first sub-CPU 12 and the second sub-CPU 13 have entered a standby state (S203). If it determines that both the first sub-CPU 12 and the second sub-CPU 13 have entered a standby state (S203: YES), that is, after the completion of the first sub-CPU startup process and the second sub-CPU startup process, the main CPU 11 terminates the sub-CPU monitoring process and returns to the main CPU startup process shown in Figure 3, and enters a standby state.

[0080] Next, the procedure for the standby process will be explained with reference to the flowchart in Figure 9. The standby process is executed by the main CPU 11 after the main CPU startup process is completed and the system enters a standby state.

[0081] In standby mode, the main CPU 11 can, for example, display the home screen 50 shown in Figure 5 on the user interface 17 (S501), and become capable of accepting user input. The main CPU 11 can also receive data from external devices via the communication interface 14. The main CPU 11 also starts a timer to determine the timing for transitioning to deep sleep mode (S502).

[0082] The main CPU 11 then determines whether it has received any instructions based on user operations on the user interface 17 or data received from an external device (S511). If it determines that it has received instructions (S511: YES), the main CPU 11 resets the timer that was started in S502 (S512). Furthermore, the main CPU 11 executes processing based on the received instructions (S513).

[0083] For example, if the received instruction is a read instruction, the main CPU 11 instructs the second sub-CPU 13 to drive the read engine 16 and perform the read operation. Also, for example, if the received instruction is a print instruction, the main CPU 11 instructs the first sub-CPU 12 to drive the print engine 15 and perform the print operation. The main CPU 11 then determines whether the processing based on the received instruction has been completed (S514).

[0084] Once processing based on the received instructions is complete (S514:YES), that is, when the system is no longer in a state of receiving data, accepting operations, performing reading operations, or performing printing operations, the main CPU 11 starts the timer (S515).

[0085] After S515, or if it determines that it has not received any user commands or data reception (S511: NO), the main CPU 11 determines whether a predetermined time has elapsed (S521). The predetermined time is the waiting time until it transitions to a deep sleep state. If it determines that the predetermined time has not elapsed (S521: NO), the main CPU 11 proceeds to S511 and repeats the determinations of S511 and S521 until it receives some command or the predetermined time has elapsed.

[0086] If the main CPU 11 determines that a predetermined time has elapsed (S521: YES), it shuts down the second sub-CPU 13 (S522). Furthermore, the main CPU 11 stops supplying power to unnecessary modules, i.e., modules that are not used in deep sleep mode (S523). As a result, the MFP1 enters deep sleep mode and becomes an interrupt-waiting state in which it can only accept interrupts such as data reception and user operations.

[0087] In this configuration, the MFP1 does not shut down the first sub-CPU 12 even when transitioning to a deep sleep state. If the first sub-CPU 12 has an OS, the main CPU 11 may shut down the first sub-CPU 12 when transitioning to a deep sleep state.

[0088] Furthermore, the MFP1 may have sleep states other than deep sleep. For example, there may be a heater sleep state that stops the power supply to the heater of the printing engine 15, and a panel sleep state that stops the display of the user IF 17. The main CPU 11, when it determines in S521 that the time required to transition to each sleep state has elapsed, should transition to the corresponding sleep state, and then determine whether a predetermined time has elapsed before transitioning to deep sleep.

[0089] Next, the recovery process procedure will be explained with reference to the flowchart in Figure 10. The recovery process is executed by the main CPU 11 when, for example, an interrupt such as data reception or user operation is received after the system has entered a deep sleep state by determining YES in S521 of the standby process.

[0090] If an interrupt is received while in deep sleep mode, the main CPU 11 turns on the wake-up flag 241 (see Figure 1) (S601) and starts the second sub-CPU 13 (S602). In deep sleep mode, the second sub-CPU 13 is shut down, and the main CPU 11 starts it by resetting it. As a result, the second sub-CPU 13 starts the second sub-CPU startup process described above (see Figure 7).

[0091] The ON state of the recovery flag 241 indicates that the second sub-CPU 13 has been started due to recovery from deep sleep. The second sub-CPU 13 reads the recovery flag 241 during the second sub-CPU startup process and determines whether it is ON or OFF (S411 in Figure 7). Then, in S601 of the recovery process, since the recovery flag 241 is ON, the second sub-CPU 13 determines YES in S411 and does not execute HP detection control.

[0092] Even if a job including ADF reading or FB reading is executed before transitioning to deep sleep, the main CPU 11 determines that the process is not finished while CIS161 is being moved (NO in S514 of Figure 9). In other words, the main CPU 11 shuts down the second sub-CPU 13 (S522) and transitions to deep sleep only after CIS161 is in the reference position HP. Therefore, there is no need to perform HP detection control when waking from deep sleep.

[0093] HP detection control takes a certain amount of time. Since HP detection control is not performed when resuming from deep sleep, the second sub-CPU 13 can complete its startup process earlier. Therefore, the MFP1 can start reading operations earlier.

[0094] Although the recovery flag 241 is stored in NVRAM 24, it may also be stored in a memory area of ​​RAM 22 accessible by the second sub-CPU 13. If it is stored in RAM 22, it will be erased when the power is turned off, making the step of turning off the recovery flag 241 in S112 of the main CPU startup process unnecessary. On the other hand, if it is stored in NVRAM 24 and turned off in the main CPU startup process, the recovery flag 241 will be reliably turned off. In S112 of the main CPU startup process, the main CPU 11 may also erase the recovery flag 241.

[0095] Then, the main CPU 11 turns on each module that was turned off in the standby process S523 (S603). Furthermore, the main CPU 11 executes the sub-CPU monitoring process shown in Figure 4 (S611). When both the first sub-CPU 12 and the second sub-CPU 13 are in standby mode, the main CPU 11 enters standby mode.

[0096] Note that the timing for turning on the wake-up flag 241 does not have to be before transitioning to deep sleep. Specifically, the main CPU 11 may turn on the wake-up flag 241 after determining YES in S521 of the standby process shown in Figure 9, and before entering deep sleep. In that case, S601 of the wake-up process is unnecessary.

[0097] As explained in detail above, in this configuration of MFP1, when the power is turned on, the main CPU 11 and the second sub-CPU 13 are instructed to perform their respective startup processes. Specifically, the main CPU 11 starts the second sub-CPU 13 during the main CPU startup process (see Figure 3) (S113), so that the OS processing by the main CPU 11 (S122) and the processing by the main CPU program 33 (S124) and the second sub-CPU startup process by the second sub-CPU 13 (see Figure 7) are performed in parallel. Therefore, compared to the case where the startup process by the main CPU 11 and the startup process by the second sub-CPU 13 are performed sequentially, a reduction in startup time can be expected. In addition, the main CPU 11 does not accept read operations to the user IF 17 until the startup process by the second sub-CPU 13 is completed. This prevents the system from accepting read commands even though it is not possible to start reading immediately.

[0098] Furthermore, in this configuration, when the MFP1 is powered on, the second sub-CPU 13 is instructed to perform a startup process that includes initial control of the read engine 16, such as HP detection control, thereby bringing the read engine into an appropriate state. On the other hand, when waking from deep sleep to standby, the initial control of the read engine 16 is already completed, and there is a high probability that the CIS 161 is in the reference position HP. Therefore, the second sub-CPU 13 is instructed to perform a startup process that does not include HP detection control. This increases the likelihood that the startup process of the second CPU upon waking from deep sleep will be completed earlier, allowing reading to begin sooner.

[0099] This embodiment is merely illustrative and does not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from its essence. For example, the image reading device is not limited to the MFP1, but can be applied to any device equipped with an image reading function, such as a copier or fax machine.

[0100] For example, in this embodiment, the second sub-CPU 13 is assumed to have an OS, but it does not have to have an OS. Also, the first sub-CPU 12 is assumed not to have an OS, but it may have one.

[0101] Furthermore, the illustrated message images are merely examples and are not limited to these. For example, the displayed message is not limited to one prompting the user to wait; it could also be a message indicating that the read engine 16 is waiting to start.

[0102] Furthermore, in this embodiment, the reading start position PBs for FB reading are forward of the stopping position PA for ADF reading, but this is not limited to this. The starting position PBs may be at the same position as the stopping position PA, or they may be behind the stopping position PA.

[0103] Furthermore, in this embodiment, the main CPU 11 periodically obtains status information from the first sub-CPU 12 and the second sub-CPU 13 in the sub-CPU monitoring process S202 to determine whether they have entered a standby state. However, the configuration may also be such that the main CPU 11 is notified when the first sub-CPU 12 or the second sub-CPU 13 enters a standby state.

[0104] Furthermore, in this embodiment, the main CPU 11 displays the home screen 50 (Figure 5(A)) and accepts operations even if at least one of the first sub-CPU 12 and the second sub-CPU 13 is not in a standby state after completing its own initial processing (S201 of the sub-CPU monitoring process in Figure 4), but this is not limited to this. For example, the main CPU 11 may display the message screen 80 (Figure 8(A)) until both the first sub-CPU 12 and the second sub-CPU 13 are in a standby state. Alternatively, after displaying the home screen 50, the main CPU 11 may not accept operations on the displayed home screen 50 until both the first sub-CPU 12 and the second sub-CPU 13 are in a standby state.

[0105] Furthermore, in this embodiment, when the MFP1 is powered on, the main CPU 11 is powered on first, and when the main CPU 11 resets, the first sub-CPU 12 and the second sub-CPU 13 are powered on, but this is not limited to this configuration. For example, the main CPU 11 and the second sub-CPU 13 may be powered on when the MFP1 is powered on.

[0106] Furthermore, in this embodiment, in the deep sleep state, the main CPU 11 receives an interrupt and the second sub-CPU 13 is started by the reset release by the main CPU 11. However, the second sub-CPU 13 may also be capable of receiving interrupts. In that case, the second sub-CPU 13 may perform HP detection control when started by the reset release by the main CPU 11, but may not perform HP detection control when started by receiving an interrupt.

[0107] Furthermore, in this embodiment, the main CPU 11 notifies the second sub-CPU 13 that it has resumed from deep sleep by turning on the resume flag 241, but it may also notify the second sub-CPU 13 directly. For example, when the power is turned on, the main CPU 11 may start the second sub-CPU 13 and then send an instruction to the second sub-CPU 13 to execute HP detection control.

[0108] Furthermore, in this embodiment, the boot loader 31 is partially compressed and stored, and the compressed portion is decompressed and loaded into SRAM 23 for execution. However, this configuration is not limited to this. For example, the boot loader 31 may be configured to decompress the compressed portion and load it into RAM 22. Also, the boot loader 31 does not need to have a compressed portion; in that case, the main CPU 11 may read the boot loader 31 from ROM 21 and operate it. However, storing it in a compressed state reduces the size and lessens the load on ROM 21. In addition, reading from SRAM 23 or RAM 22 is faster than reading from ROM 21, so it is preferable to compress a portion and store it in ROM 21, then decompress it and load it into SRAM 23 or RAM 22 for execution.

[0109] Furthermore, for example, OS32 is not limited to the Linux kernel; it could be an RTOS or Windows Embedded. Also, the application programs running on OS32 are not limited to the main control program 331 and the RIP control program 332; there may be others as well.

[0110] Furthermore, in any flowchart or sequence diagram disclosed in the embodiments, the execution order of any multiple processes in any multiple steps can be arbitrarily changed or executed in parallel, as long as no inconsistencies arise in the processing content.

[0111] Furthermore, the processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processes disclosed in the embodiments can be implemented in various forms, such as a recording medium or method that stores a program for executing the process. [Explanation of Symbols]

[0112] 1 MFP 11 Main CPU 12. First Sub-CPU 13. Second Sub-CPU 15 Printing Engine 16 Reading Engine 161 CIS 17 User Interface 21 ROM 22 RAM

Claims

1. The first CPU and the second CPU, Reading engine and User interface and An image processing apparatus comprising, The first CPU is configured to control the user interface, The second CPU is configured to control the read engine, When the image processing device is powered on, The first CPU executes a first startup process, which is the startup process for the first CPU. The second CPU executes a second startup process, which is a startup process for the second CPU that includes initial control of the read engine. Once the second startup process is complete, the second CPU can, in accordance with instructions from the first CPU, cause the read engine to perform a read operation. When the first startup process is completed, the first CPU checks whether the second startup process by the second CPU has been completed, and until it confirms the completion of the second startup process, it disables at least read operations on the user interface, and once it confirms the completion of the second startup process, it enables read operations. After the user interface becomes receptive to the read operation, if the first CPU sends a read instruction to the second CPU in accordance with the read operation, the second CPU causes the read engine to perform the read operation in accordance with the read instruction from the first CPU. An image processing device configured as follows.

2. An image processing apparatus according to claim 1, After the first startup process is completed, the first CPU will disable the ability to operate the user interface until it confirms the completion of the second startup process. It will then notify the user interface that there is a waiting period. Once it confirms the completion of the second startup process, it will terminate the notification and enable the user interface to operate again. An image processing device configured as follows.

3. An image processing apparatus according to claim 1, The first CPU displays a plurality of icons on the user interface, and the plurality of icons include a specific icon related to reading. The operation relating to reading to the user interface is the operation of the specific icon relating to reading, The first CPU will not accept any operation on the specific icon related to reading until it confirms the completion of the second startup process. An image processing device configured as follows.

4. An image processing apparatus according to claim 1, The reading engine has a reading sensor, When the second CPU causes the reading engine to perform a reading, it moves the reading sensor located in the standby location to the reading location, and causes the reading to be performed by the reading sensor located in the reading location. The initial control of the reading engine includes a sensor placement process that places the reading sensor in the waiting location. When the first CPU confirms that the first startup process is complete and that the second startup process, including the sensor placement process, is complete, it makes the operation related to reading available. An image processing device configured as follows.

5. An image processing apparatus according to claim 4, Each time the reading engine finishes reading, the second CPU moves the reading sensor located at the reading location to the standby location. If the reading sensor is powered off while it is located at the reading location, it may remain at the reading location without being moved to the standby location. When the first CPU confirms that the first startup process is complete and that the second startup process, which includes the sensor placement process that places the reading sensor remaining in the reading location in the standby location, is complete, it makes the CPU capable of accepting the operations related to reading. An image processing device configured as follows.

6. An image processing apparatus according to claim 5, The time required for the sensor placement process may be longer than the time required for the first startup process by the first CPU. When the first CPU confirms that the first startup process is complete and that the second startup process, including the sensor placement process, is complete, it makes the operation related to reading available. An image processing device configured as follows.

7. An image processing apparatus according to claim 1, The third CPU, Printing engine and Equipped with, The third CPU is configured to control the printing engine, When the image processing device is powered on, The third CPU executes a third startup process, which is a startup process for the third CPU that includes initial control of the printing engine. Once the third startup process is complete, the third CPU can, in accordance with instructions from the first CPU, cause the print engine to perform printing. When the first startup process is completed, the first CPU does not check whether the third startup process by the third CPU has been completed, and until it confirms the completion of the second startup process, it disables at least read operations on the user interface, and once it confirms the completion of the second startup process, it enables the acceptance of both read operations and print operations. After the operation relating to printing to the user interface becomes available, if the first CPU sends a print command to the third CPU in accordance with the print operation, the third CPU causes the print engine to perform printing in accordance with the print command from the first CPU. An image processing device configured as follows.

8. An image processing apparatus according to claim 1, A non-volatile first memory, A volatile second memory, Equipped with, The first memory stores a boot program, a system program, and a read program, and the system program and the read program are compressed and stored in the first memory. When the image processing device is powered on, The first CPU, in accordance with the boot program, decompresses the read program in the first memory and writes it to the second memory. The second CPU starts the second startup process, which includes the initial control of the read engine, in accordance with the read program. After the first CPU writes the read program to the second memory, while the second CPU is performing the initial control of the read engine, the first CPU decompresses the system program in the first memory and writes it to the second memory according to the boot program, and starts the first startup process according to the system program. The first CPU, upon confirming the completion of the first startup process and the completion of the second startup process, further enables the acceptance of the aforementioned read operation. An image processing device configured as follows.

9. An image processing apparatus according to claim 1, When the image processing device is powered on, The first CPU is powered on, and the first startup process is executed as a result of the first CPU being powered on. When the first CPU is powered on, The second CPU is also powered on, and as the second CPU is powered on, the second startup process, which is the startup process of the second CPU including the initial control of the read engine, is executed. When the first startup process is completed, the first CPU checks whether the second startup process by the second CPU has been completed, and until it confirms the completion of the second startup process, it disables at least the operations related to reading on the user interface, and once it confirms the completion of the second startup process, it enables the operations related to reading. After the user interface becomes receptive to the read operation, if the first CPU sends a read instruction to the second CPU in accordance with the read operation, the second CPU causes the read engine to perform the read operation in accordance with the read instruction from the first CPU. An image processing device configured as follows.