Image processing device, method for controlling the image processing device, and program

By dynamically adjusting USB device interface configurations based on scanner presence, the device prevents OS malfunctions and avoids the need for new drivers when switching from MFP to SFP, ensuring stable operation.

JP2026085506APending Publication Date: 2026-05-25CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-11-13
Publication Date
2026-05-25

AI Technical Summary

Technical Problem

Image processing devices switching from MFP to SFP configurations can cause HOST OS malfunctions due to unchanged USB Product and Serial IDs, necessitating new NULL drivers for each new SFP model release, especially when IPP Over USB functionality is involved.

Method used

The device determines the presence of a scanner and adjusts USB device interface configurations accordingly, eliminating NULL interfaces and reassigning IPP Over USB functions to appropriate interface positions, ensuring compatible operation without requiring new drivers for each model change.

Benefits of technology

Prevents HOST OS malfunctions and eliminates the need for new NULL drivers with each SFP model release, enabling seamless switching between MFP and SFP modes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026085506000001_ABST
    Figure 2026085506000001_ABST
Patent Text Reader

Abstract

This allows an image processing device with switchable scanner functionality to be operated in a more suitable manner as a USB device. [Solution] The USB device controller 107 communicates with external devices via the USB device interface. The CPU 101 determines whether or not the image forming apparatus 1 has a scanner 117. If the CPU 101 determines that the scanner 117 does not exist, it applies configuration information to the USB device interface where the Scanner I / F is set when the scanner 117 is present, and where IPP Over USB is set.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image processing apparatus, a control method for the image processing apparatus, and a program.

Background Art

[0002] Some image processing apparatuses such as MFPs have a USB device I / F (Interface) that can be connected to an external device such as a HOST PC with a cable compliant with the USB (Universal Serial Bus) standard. Between an external device connected via such a USB device I / F and the image processing apparatus, for example, communication is performed based on a protocol compliant with the USB2.0 / USB3.0 specification. In USB communication, when a HOST PC and a USB device (for example, an image processing apparatus) are connected via a USB cable, initial negotiation (hereinafter also referred to as enumeration) is performed. During this enumeration, the USB device notifies the HOST PC of the I / F configuration of its own USB device I / F. The image processing apparatus, as a configuration, can be assumed to be a case of an MFP equipped with a printer and a scanner and a case of an SFP (Single Function Printer) equipped with only a printer. The image processing apparatus has different information on the I / F configuration of the USB device passing through the HOST PC in the case of an MFP and the case of an SFP. The image processing apparatus notifies the HOST PC of the I / F configuration of the USB device I / F based on its own function configuration.< /

[0003] Patent Document 1 discloses a technique related to the management of the image processing apparatus by the HOST OS on the HOST PC side when the configuration of the image processing apparatus is changed from an MFP to an SFP. Specifically, Patent Document 1 discloses a technique for the HOST OS to update the information it manages when the configuration of the USB device I / F is changed in the state of the same USB Vendor ID, the same Product ID, and the same USB Serial ID.

Prior Art Documents

[0004] [Patent Document 1] Japanese Patent Publication No. 2017-142599 [Overview of the project] [Problems that the invention aims to solve]

[0005] On the other hand, one possible sales and operation model for image processing equipment is that it is shipped from the factory as an MFP, and then the scanner unit is removed in the market and it is operated as an SFP. In such circumstances, if the configuration is changed without changing the USB Product ID and USB Serial ID, which are the identification IDs of the image processing equipment as a USB device, it may lead to malfunction of the HOST OS on the HOST PC. Also, if the IPP Over USB function is supported, with conventional technology, it may be necessary to consider a NULL IF of the Vendor Class that does not have the function in the configuration of the USB device I / F. In such circumstances, each time a new SFP model with IPP Over USB functionality is released, it may be necessary to provide a NULL driver that corresponds to the USB Product ID of the new product.

[0006] In view of the above problems, the present invention aims to enable the operation of an image processing device, which can switch between having a scanner or not, as a USB device in a more suitable manner. [Means for solving the problem]

[0007] The image processing apparatus according to the present invention is characterized by comprising: communication means for communicating with an external device via a USB device interface; determination means for determining the presence or absence of a scanner; and, if the determination means determines that a scanner does not exist, control means for applying configuration information in which IPP Over USB is set as configuration information for the USB device interface to a location where Scanner I / F is set when a scanner exists. [Effects of the Invention]

[0008] According to the present invention, an image processing device capable of switching between having a scanner or not can be operated as a USB device in a more suitable manner. [Brief explanation of the drawing]

[0009] [Figure 1] This diagram shows an example of the hardware configuration of an image processing device. [Figure 2] This diagram shows an example of a connection configuration between an image processing device and an external device. [Figure 3] This diagram shows an example of a communication sequence between an image processing device and an external device. [Figure 4] This is a flowchart illustrating an example of processing performed by an image processing device. [Figure 5] This is a flowchart illustrating an example of processing performed by an image processing device. [Modes for carrying out the invention]

[0010] Preferred embodiments of this disclosure will be described in detail below with reference to the attached drawings. In this specification and the drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and redundant descriptions will be omitted.

[0011] First, in order to make the features of the technology disclosed herein easier to understand, we will explain the challenges that may arise when an image processing device operating as an MFP is operated as an SFP by removing the scanner unit. As mentioned above, one possible sales and operational model for image processing equipment is that it is initially configured as an MFP (Multifunction Printer) upon shipment from the factory, and then the scanner unit is removed and it is operated as an SFP (Scanning File Provider). In such circumstances, the configuration may be changed without changing the USB Product ID and USB Serial ID, which are the identification IDs for the USB device of the image processing equipment. In such cases, if external devices such as a HOST PC have previously been connected when the equipment was operating as an MFP, there is a possibility that the HOST OS may malfunction after the configuration change.

[0012] Furthermore, models that support IPP Over USB functionality may require consideration of NULL interfaces, which will be described in detail later, as part of the USB device interface configuration. In particular, if a NULL interface of a Vendor Class that does not have functionality is placed in the USB device interface configuration, the handling may differ depending on the connected HOST OS. As a specific example, if the HOST OS is Apple's macOS (registered trademark), no issues arise even if there is no Vendor Class Driver on macOS that corresponds to the NULL I / F. On the other hand, if the HOST OS is Microsoft's Windows (registered trademark), issues may arise if there is no Vendor Class Driver on Windows that corresponds to the NULL I / F. In Windows, if there is no corresponding driver on Windows for the Alternate#0 I / F in the USB device I / F configuration, an alert "!" mark will be displayed on the printer icon. This alert indicates that there is an I / F for which no driver has been assigned.

[0013] To resolve situations where such alerts occur, the problem can sometimes be solved by, for example, creating and providing a NULL Driver for the Vendor Class Driver. The conditions for plug-and-play (PnP) operation between a NULL I / F and a NULL Driver are that the USB Vendor ID and USB Product ID information of the NULL Driver match, and the USB interface number is #1. Although the NULL I / F is an interface without functionality, a challenge may arise where a NULL Driver corresponding to the USB Product ID of the new product is required each time a new SFP model with IPP Over USB functionality is released.

[0014] Therefore, this disclosure proposes a technology that enables the target image processing device to be operated in a more suitable manner as a USB device, even in situations where it can be selectively switched between an MFP model and an SFP model.

[0015] <First Embodiment> Referring to Figure 1, an example of the hardware configuration of the image processing apparatus 1 according to the first embodiment of this disclosure will be described. The CPU (Central Processing Unit) 101 is a central processing unit that runs the software necessary to operate the image processing device 1. The system bus 102 serves as a transmission path for sending and receiving various types of information between components of the image processing device 1, such as the CPU 101 and other components of the image processing device 1 described later. The HDD (Hard Disk Drive) 103 is a storage device that stores the software for the image processing device 1, data used to operate the image processing device 1, and temporarily stored files. While Figure 1 shows an example where the HDD 103 is used as the storage device, other types of storage devices may be used. Examples of such storage devices include non-volatile memory such as SSDs (Solid State Drives) and eMMMCs (embedded Multimedia Cards). The RAM 104 is a storage area where the programs of the image processing apparatus 1 are deployed, variables during program operation, data transferred by DMA (Dynamic Memory Access) from each component, etc. are stored.

[0016] The network controller 105 controls the communication between the image processing apparatus 1 and other devices on the network. The network controller I / F (Interface) 106 is a network interface for connecting the image processing apparatus 1 to the network. The USB (Universal Serial Bus) device controller 107 controls the communication with an external device (for example, a terminal device such as the HOST PC 200 described later) connected to the image processing apparatus 1 via the USB cable 201. The USB device I / F 108 is a connection interface for connecting other devices to the image processing apparatus 1 via the USB cable 201.

[0017] The display 111 is an output interface that presents various information to the user by displaying it as an image. The display controller 110 controls the display of information on the display 111. For example, the display controller 110 may display information on the display 111 so that the user or the like can confirm the operating status of the image processing apparatus 1. The input unit 113 is an input interface that receives instructions from the user. The input unit controller 112 controls the reception of instructions from the user via the input unit 113. As the input unit 113, for example, input devices such as a keyboard, a mouse, a numeric keypad, a cursor key, a touch panel, and an operation unit keyboard can be applied. Also, when a touch panel is applied as the input unit 113, it can be implemented, for example, so as to overlap the display area of the display 111. The real-time clock 114 has a timekeeping function, and by this function, so-called clock functions, alarm functions, timer functions, etc. are realized.

[0018] The non-volatile memory 115 schematically represents a storage area that may be provided separately from the HDD 103, and can be realized by a rewritable non-volatile recording medium. For example, SRAM (Static Random Access Memory) or EEPROM (Electrically Erasable Programmable Read Only Memory) may be used as the non-volatile memory 115. The CPLD (Complex Programmable Logic Device) 109 is a unit that allows the reading of the Low / High status of signal lines on the circuit board via the CPU 101, and enables the CPU 101 to change the settings of the Low / High status.

[0019] The scanner 117 is connected to the image processing device 1 via the scanner I / F 116. However, if the image processing device 1 operates as an SFP model without a scanner, the scanner 117 does not need to be connected. Furthermore, a printer 119 is connected to the image processing device 1 via a printer interface 118.

[0020] Referring to Figure 2, an example of the connection configuration between the HOST PC200 and the image processing device 1 will be described. The HOST PC200 is connected to the image processing device 1 by a USB cable 201, and communicates with the image processing device 1 via the USB cable 201. The USB device I / F108 of the image processing unit has an interface for, for example, PDL (Page Description Language) printing. PDL printing is a function that performs printing using a printer driver provided by the vendor installed on the HOST PC200. This interface will hereafter be referred to as the Legacy PDL I / F. Furthermore, the USB device I / F108 of the image processing device equipped with a scanner has an interface for realizing the function of reading scanned images using the Vendor Class Driver provided by the Vendor installed on the HOST PC200. An example of the interface for a USB device with this configuration is shown in Table 1 below.

[0021] [Table 1]

[0022] The terms listed in Table 1 above are explained below. The USB device I / F108 has interfaces that represent functions. One function is implemented using one interface number. Also, "Alternate" means switching. From the HOST PC200, only one function is visible for each interface. Normally, the HOST PC200 can use the function assigned to Alternate number #0. If the HOST PC200 wants to use the function assigned to Alternate number #1, it specifies the Interface number and Alternate number of the target function using a command such as the SET_INTERFACE control transfer command. However, in the configuration exemplified in Table 1, since Alternate number #1 does not exist, the HOST PC200 does not send the SET_INTERFACE command.

[0023] Furthermore, when using USB, there is no such thing as a Scanner class. Therefore, the interface for utilizing the scanner function is implemented, for example, by using a Vendor Class controlled by a protocol that can be defined by the manufacturer. On the other hand, the USB specification includes a printer class for enabling printing from the HOST PC200. In the specification "Printer Class 7-1-2", the "7-1-2" part means 7: printer class, 1: printer subclass, and 2: bidirectional communication.

[0024] Some image processing devices are printer models that do not have a scanner. Table 2 below shows an example of a USB device interface configuration when a scanner is not present.

[0025] [Table 2]

[0026] As can be seen when comparing the configuration shown in Table 2 with the configuration shown in Table 1, the interface number for the Legacy PDL I / F is #0 because there is no scanner I / F.

[0027] In recent years, a feature called IPP Over USB (Internet Printing Protocol Over USB) has been proposed, which enables the use of printing and scanning functions from the HOST PC200. This IPP Over USB is a technology that implements IPP technology, which allows the use of printing and scanning functions over a network such as Ethernet or Wi-Fi, over USB. Image processing devices that support the IPP Over USB function require a different USB interface configuration than the one exemplified in Table 1. An example of a USB device interface configuration when supporting the IPP Over USB function is shown in Table 3 below.

[0028] [Table 3]

[0029] The terms listed in Table 3 above are explained below. In the specification "Printer Class 7-1-4," the "7-1-4" part means 7: printer class, 1: printer subclass, and 4: IPP Over USB. Printing using IPP Over USB and using scanner functions via IPP Over USB are enabled by the standard IPP Over USB Printer Class Driver provided by the HOST OS.

[0030] Even among image processing devices that support IPP Over USB, there are models that do not have a scanner. In such cases, it is desirable to implement an I / F configuration as exemplified in Table 4 below, but the USB specification does not permit a blank configuration where no I / F exists as Interface #1 / Alternate #0.

[0031] [Table 4]

[0032] In light of these circumstances, Table 5 below shows an example of a USB device interface configuration for an image processing device that supports IPP Over USB and does not have a scanner.

[0033] [Table 5]

[0034] The NULL I / F shown in Table 5 corresponds to an I / F of a Vendor Class that has no functionality (it does not have printing, scanning, or any other functionality).

[0035] Referring to Figure 3, an example of the initial sequence of the enumeration that is performed when the image processing device 1 and the HOST PC 200 are connected via the USB cable 201 will be described. The sequence shown in Figure 3 is not limited to the case where the image processing device 1 according to this embodiment is applied, but is a sequence that is executed according to the USB standard.

[0036] In S301, when the HOST PC200 detects the connection of a USB device, it sends the command "Get DESCRIPTOR DEVICE type 0x0" to the image processing device 1 to determine the type of device. When the image processing device 1 receives a command sent from the HOST PC 200 in S301, it returns a response to that command to the HOST PC 200 in S302. This response includes, for example, the USB Vendor ID and USB Product ID that the image processing device 1 has as identifiers for USB devices, as well as other performance information such as "USB 2.0 support" for USB devices. In S303, the HOST PC200 recognizes the image processing device 1 as a USB device, and therefore assigns a unique address (referred to as N in the diagram) on the USB bus to the image processing device 1 so that it can communicate as a USB device on the HOST PC200. In S304, the image processing device 1 sends an ACK response to the HOST PC 200 with address N as the main point. In S305, HOST PC200 sends a Get DESCRIPTOR DEVICE CONFIGURATION type 0x0 command to the image processing device 1 to obtain detailed information, including the I / F configuration of the USB device. In S306, the image processing device 1 responds to the command received in S305 by returning I / F configuration information and other detailed information to the HOST PC200. At this time, if the image processing device 1 is operating as an MFP model with IPP Over USB functionality, for example, it returns the I / F configuration information and other detailed information shown in Table 3. Based on the response information received in S302 and the response information received in S306, the HOST PC200 can understand the USB identification information and USB device I / F configuration of the image processing device 1.

[0037] In this embodiment, the above-mentioned problems are addressed by setting the USB device I / F configuration shown in Table 6 below when the image processing device 1 is an SFP model with IPP Over USB functionality.

[0038] [Table 6]

[0039] Previously, as shown in Table 5, the configuration involved placing the Legacy PDF I / F at Interface #0 / Alternate #0 and the NULL I / F at Interface #1 / Alternate #0. Furthermore, the IPP Over USB configuration involved placing it at Interface #0 / Alternate #1 and Interface #1 / Alternate #1. In this embodiment, the placement of NULL I / F is eliminated, and the Legacy PDF I / F is placed at Interface #1 / Alternate #0. The problem is solved by configuring the IPP Over USB to be placed at Interface #0 / Alternate #0 and Interface #1 / Alternate #1.

[0040] Referring to Figure 4, an example of the processing of the image processing device 1 according to this embodiment will be explained, with particular attention to the processing when the image processing device 1 has an IPP Over USB function. In S401, the CPU 101 of the image processing unit 1 performs initialization processing of the USB device controller chip when the system starts up. In S402, the CPU 101 determines whether or not a scanner 117 is attached to the image processing device 1 (the presence or absence of the scanner 117). If the CPU 101 determines in S402 that the scanner 117 is attached to the image processing device 1 (i.e., the scanner 117 exists), it proceeds to S403. In S403, the CPU 101 confirms the USB device I / F configuration as shown in Table 3. On the other hand, if the CPU 101 determines in S402 that the scanner 117 is not attached to the image processing device 1 (i.e., the scanner 117 does not exist), it proceeds to S404. In S404, the CPU 101 confirms the USB device I / F configuration as shown in Table 6.

[0041] In S405, CPU101 waits for the HOST PC200 to send a Get DESCRIPTOR DEVICE type 0x0 command. Upon receiving this command from HOST PC200, CPU101 proceeds to S406. In S406, the CPU 101 returns USB identification information (USB Vendor ID, USB Product ID, USB performance, etc.) from the image processing device 1 to the HOST PC 200.

[0042] In S407, CPU101 waits for the HOST PC200 to send a Get DESCRIPTION DEVICE CONFIGURATION type 0x0 command. Upon receiving this command from HOST PC200, CPU101 proceeds to S408. In S408, CPU101 returns the USB device I / F information, which was determined in processing S403 or S404, to HOST PC200. In addition, commands are sent and received between the HOST PC200 and the image processing device 1 as part of the USB enumeration operation, but a detailed explanation of the process related to the sending and receiving of these commands will be omitted.

[0043] The series of processes shown in Figure 4 prevents the induction of HOST OS malfunctions, even when, for example, the image processing unit 1 is changed from an MFP model to an SFP model in the market. Furthermore, even when a new product of the image processing unit 1 is released, it becomes unnecessary to release a NULL Driver that is compatible with the new model each time.

[0044] <Second Embodiment> A second embodiment of this disclosure is described below. In the method described in the first embodiment, an example was described in which the USB device I / F configuration information shown in Table 6 is returned to the HOST PC 200 when the scanner 117 is not installed and the IPP Over USB function is enabled as the configuration of the image processing device 1. In the second embodiment, an example is described in which the device I / F configuration information is returned via a USB other than that shown in Table 6. Specifically, in this embodiment, the above-mentioned problems are addressed by configuring the USB device I / F configuration shown in Table 7 below in an SFP model having IPP Over USB functionality.

[0045] [Table 7]

[0046] In the first embodiment, as shown in Table 5, the Legacy PDF I / F was placed at Interface #0 / Alternate #0 and the NULL I / F was placed at Interface #1 / Alternate #0. The IPP Over USB was placed at Interface #0 / Alternate #1 and Interface #1 / Alternate #1. In contrast, this embodiment eliminates the placement of NULL I / F and places the Legacy PDF I / F at Interface #1 / Alternate #0. Furthermore, the IPP Over USB is placed at Interface #0 / Alternate #0 and Interface #2 / Alternate #0, thereby resolving the issue.

[0047] Referring to Figure 5, an example of the processing of the image processing apparatus 1 according to this embodiment will be described. In the example shown in Figure 5, the processing of S501 differs from the example shown in Figure 4. Therefore, in the following, the series of processes shown in Figure 5 will be explained focusing on the parts that differ from the example shown in Figure 4, and detailed explanations of parts that are substantially the same as those shown in Figure 4 will be omitted.

[0048] If the CPU 101 determines in S402 that the image processing device 1 is not equipped with a scanner 117, it proceeds to S501. In S501, CPU101 determines the USB device interface configuration as shown in Table 7. The processing in steps S405 to S408 is the same as in the first embodiment described above.

[0049] The series of processes shown in Figure 5 prevents the induction of HOST OS malfunctions, for example, when the image processing unit 1 is changed from an MFP model to an SFP model in the market. Furthermore, even if a new product of the image processing unit 1 is released, it becomes unnecessary to release a NULL Driver that supports the new model each time.

[0050] <Other Embodiments> The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0051] Furthermore, the disclosure of this embodiment includes the following configurations, methods, and programs. (Configuration 1) An image processing apparatus comprising: communication means for communicating with an external device via a USB device interface; determination means for determining the presence or absence of a scanner; and, if the determination means determines that a scanner does not exist, control means for applying configuration information in which IPP Over USB is set in the location where Scanner I / F is set when a scanner exists, as configuration information for the USB device interface. (Configuration 2) The image processing apparatus according to Configuration 1, wherein when the determination means determines that no scanner is present, the control means applies configuration information to which IPP Over USB is set in the location where Scanner I / F is set and IPP Over USB is set in Interface #2 / Alternate #0 as configuration information for the USB device interface. (Configuration 3) The image processing apparatus according to Configuration 1 or 2, wherein the control means applies configuration information that sets IPP Over USB to Interface #0 / Alternate #0 as configuration information for the USB device interface when the determination means determines that no scanner is present. (Method 1) A method for controlling an image processing device, comprising: a communication step of communicating with an external device via a USB device interface; a determination step of determining whether or not a scanner is present; and, if the determination step determines that a scanner is not present, a control step of applying configuration information to the USB device interface where IPP Over USB is set in the location where Scanner I / F is set when a scanner is present. (Program 1) A program for causing a computer to function as an image processing device, comprising: communication means for communicating with an external device via a USB device interface; determination means for determining the presence or absence of a scanner; and control means for applying configuration information to the USB device interface configuration information, where IPP Over USB is set in the location where Scanner I / F is set when a scanner is present, if the determination means determines that a scanner does not exist. [Explanation of symbols]

[0052] 1 Image Processing Device 101 CPU 107 USB Device Controllers 108 USB Device Interfaces 117 Scanner

Claims

1. A communication means for communicating with external devices via a USB device interface, A means for determining whether or not a scanner is present, If the determination means determines that no scanner exists, the control means applies configuration information in which IPP Over USB is set in the location where Scanner I / F is set when a scanner exists, as configuration information for the USB device interface. An image processing apparatus characterized by having

2. The image processing apparatus according to claim 1, characterized in that, when the determination means determines that no scanner exists, the control means applies configuration information to which IPP Over USB is set in the location where Scanner I / F is set, and which IPP Over USB is set in Interface #2 / Alternate #0, as configuration information for the USB device interface.

3. The image processing apparatus according to claim 1, characterized in that when the determination means determines that no scanner is present, the control means applies configuration information to set Interface #0 / Alternate #0 to IPP Over USB as the configuration information for the USB device interface.

4. A method for controlling an image processing device, A communication step that communicates with an external device via a USB device interface, A determination step to determine whether a scanner is present, If the determination step determines that no scanner exists, the control step applies configuration information in which IPP Over USB is set in the location where Scanner I / F is set when a scanner exists, as configuration information for the USB device interface. A method for controlling an image processing apparatus, characterized by including the following:

5. Computers, A communication means for communicating with external devices via a USB device interface, A means for determining whether or not a scanner is present, If the determination means determines that no scanner exists, the control means applies configuration information in which IPP Over USB is set in the location where Scanner I / F is set when a scanner exists, as configuration information for the USB device interface. A program for causing an image processing device to function, characterized by having the following features.