Application Program

The application program extends standard scan drivers to allow saturation and hue adjustment, addressing the limitations of standard drivers by providing customizable image properties across different scanning devices.

JP2026057870APending Publication Date: 2026-04-03CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-24
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

Standard scan drivers cannot adjust the saturation and hue of images generated by scanning devices, limiting functionality across different vendors.

Method used

An application program that extends standard drivers by enabling a display control step for saturation and hue adjustment settings, allowing users to customize image properties through a settings reception screen and instruction step for the scanning function.

Benefits of technology

Enables adjustment of image saturation and hue, enhancing user control over image quality regardless of the scanning device vendor.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026057870000001_ABST
    Figure 2026057870000001_ABST
Patent Text Reader

Abstract

The objective is to provide a mechanism that allows for adjustment of saturation or hue to images generated by a scanning function. [Solution] The extended application 204 is general-purpose scanning software 202 provided by the operating system provider, and supports general-purpose scanning software 202 that is pre-installed in the operating system. The extended application 204 causes the CPU 111 to perform a display control step that displays a detailed setting screen 300C that accepts the setting of the saturation of the image generated by the scanning function of the scanning device 102, and an instruction step that instructs the scanning device 102 to execute the scanning function based on the setting accepted on the detailed setting screen 300C.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an application program.

Background Art

[0002] For a scanning device (scanner) that performs image reading, i.e., scanning, a host computer (information processing device) capable of processing information with the scanning device is communicably connected. As control software for controlling the scanning device, for example, a scan driver installed from the scanning device to the host computer is used. With this scan driver, a scan instruction can be given from the host computer to the scanning device. An operating system (hereinafter referred to as "OS"), which is basic software, is pre-installed on the host computer. The scan driver has a configuration in accordance with the specifications defined by the OS and can be called from the OS to operate. Also, such a scan driver is different for each vendor that supplies the scanning device, i.e., it is a model-specific scan driver suitable for each scanning device.

[0003] In recent years, in Windows (registered trademark), even for scanning devices supplied by different vendors, a standard class driver (hereinafter sometimes referred to as "standard driver") that can be commonly used is being provided. Such a standard driver is pre-embedded in the OS. By connecting an arbitrary scanning device to a host computer having the OS incorporated in the standard driver, the standard driver can be used. Thereby, it is possible to omit the installation of the model-specific scan driver. Also, it is assumed that the standard driver is configured to be able to specify the scan function of the scanning device according to the scan function information generated based on the information acquired from the scanning device. Thereby, with one standard driver, the scan function can be specified for each scanning device.

[0004] Standard drivers are designed to be usable across multiple vendors' scanning devices; however, this may mean that, for example, it may be impossible to perform some functions on a particular vendor's scanning device. Patent Document 1 discloses a program that extends the printing capabilities of a print service that can be used universally regardless of the model or vendor of the image forming apparatus. This allows users to perform printing functions that are not possible with a universally usable print service alone by operating a print settings screen tailored to the individual image forming apparatus of each model and vendor. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2021-33526 [Overview of the project] [Problems that the invention aims to solve]

[0006] As mentioned earlier, scan drivers differ depending on the vendor supplying the scanning device; in other words, they are model-specific scan drivers suited to each scanning device. These scan drivers have the function of adjusting the saturation and hue of the image to be scanned when issuing a scan command to the scanning device. However, standard drivers had the problem that they could not adjust the saturation and hue of the image to be scanned when issuing a scan command to the scanning device.

[0007] This invention has been made in view of the above-mentioned problems. The object of this invention is to provide a mechanism that can adjust the saturation or hue of an image generated by a scanning function. [Means for solving the problem]

[0008] To achieve the above objective, the application program of the present invention is a standard driver provided by an operating system provider, an application program that supports a standard driver pre-installed in the operating system, and is characterized by causing a computer to perform a display control step of displaying a setting reception screen that accepts settings for the saturation of an image generated by the scanning function of an image processing device, and an instruction step of instructing the image processing device to execute the scanning function based on the settings accepted on the setting reception screen. [Effects of the Invention]

[0009] According to the present invention, it is possible to adjust the saturation or hue of an image generated by a scanning function. [Brief explanation of the drawing]

[0010] [Figure 1] This is a block diagram showing the hardware configuration of the scanning system according to the first embodiment. [Figure 2] This is a block diagram showing the software configuration of the scanning system. [Figure 3] This figure shows an example of a screen displayed on the display unit of a scanning system. [Figure 4] This flowchart shows the process by which the scan function expansion unit edits scan function information. [Figure 5] This figure shows an example of a list of scan information. [Figure 6] This sequence diagram shows the processes that occur between the scan application, general-purpose scan software, extension applications, and scan device after the scan application accepts the scan settings. [Figure 7] This flowchart shows the processes performed by the extended application. [Figure 8] This is a flowchart showing the processes performed by the scanning device. [Figure 9]This is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application in the second embodiment receives the scan settings. [Figure 10] This is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extension application, and scan device after the scan application in the third embodiment receives the scan settings. [Figure 11] This flowchart shows the processes performed by the extended application. [Figure 12] This flowchart shows the process by which the scan function extension unit in the fourth embodiment edits scan function information. [Figure 13] This figure shows an example of a list of scanning device capability information. [Figure 14] This sequence diagram shows the processes that occur between the scan application, general-purpose scan software, extension applications, and scan device after the scan application accepts the scan settings. [Figure 15] This is a sequence diagram showing the processes executed between the scan application, general-purpose scan software, extended application, and scan device after the scan application in the fifth embodiment receives the scan settings. [Figure 16] This is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application in the sixth embodiment receives the scan settings. [Figure 17] This figure shows an example of a screen displayed on the display unit of a scanning system. [Modes for carrying out the invention]

[0011] Hereinafter, each embodiment of the present invention will be described in detail with reference to the drawings. However, the configurations described in the following embodiments are merely examples, and the scope of the present invention is not limited by the configurations described in each embodiment. For example, each part constituting the present invention can be replaced with any configuration that can exhibit the same function. Also, any component may be added. Further, any combination of two or more configurations (features) among the embodiments can also be made.

[0012] <<First Embodiment>> Hereinafter, the first embodiment will be described with reference to FIGS. 1 to 8.

[0013] <Hardware Configuration of Scan System> FIG. 1 is a block diagram showing the hardware configuration of a scan system according to the first embodiment. As shown in FIG. 1, the scan system 1000 includes a host computer 101, a scanning device (scanner) 102, a pointing device 117, a keyboard 118, and a display unit 119, which are connected to be communicable with each other. The host computer 101 is an information processing device and includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device (storage medium) 114, an output interface 115, an input / output interface 116, and a NET interface 120. Note that, as the host computer 101, for example, a desktop personal computer can be used, but it is not limited thereto. For example, a notebook personal computer, a tablet terminal, a smartphone, etc. can also be used.

[0014] The CPU 111 is a computer that executes programs stored in the ROM 112 and the external storage device 114. In this embodiment, the CPU 111 can execute the functions and processes of the host computer 101, i.e., the various processes (control methods) described later, by processing according to the code of the programs stored in the ROM 112. The ROM 112 stores an initialization program. The external storage device 114 stores application programs, an operating system (OS), print data generation software, and various other data. In this embodiment, Microsoft's Windows 11 is installed on the host computer 101 as the OS. The external storage device 114 is not particularly limited, and for example, an HDD (Hard Disk Drive) or SSD (Solid State Drive) can be used. The RAM 113 is used as work memory when executing various programs stored in the external storage device 114, enabling various programs to operate within the host computer 101. The input interface 110 is connected to input devices, namely a pointing device 117 and a keyboard 118. A display unit 119 is connected to the output interface 115 as a display device. The display unit 119 displays, for example, the scan setting screen 300A and the detailed setting screen 300C, which will be described later. The NET interface 120 is a network interface and controls data transfer to and from external devices via the network. A scanning device 102 is connected to the input / output interface 116. This allows the host computer 101 to communicate with scanning devices 102 from multiple manufacturers, regardless of the manufacturer of the scanning device 102, that is, to process information between scanning devices 102 from multiple manufacturers. The host computer 101 and the scanning device 102 may be connected by wire or wirelessly.

[0015] The scanning device 102 includes an image processing unit 190, a CPU 191, a ROM 192, a RAM 193, an operation unit 194, a reading unit 195, a printing unit 196, a NET interface 197, an input / output interface 198, and an external storage device 199. The CPU 191 is a computer that executes programs stored in the ROM 192 and the external storage device 199, and comprehensively controls the scanning device 102. The ROM 192 is a memory that stores programs. The RAM 193 is a memory that temporarily stores programs and image data. The operation unit 194 can issue various operation instructions to the scanning device 102. The reading unit 195 reads the image of the document. The printing unit 196 prints the image on a sheet, for example, based on the image data generated by reading the image of the document in the reading unit 195. The printing unit 196 may be omitted. The NETIF 197 is a network interface that controls data transfer to and from external devices via the network. The input / output interface 198 is connected to the host computer 101. The image processing unit 190 receives image data generated, for example, by scanning the original document in the reading unit 195. The image processing unit 190 then performs various editing processes on the image data.

[0016] The scanning device 102 is not particularly limited as long as it has an image reading function, i.e., a scanning function, but for example, an image processing device such as a multi-function peripheral (MFP) can be used. Also, when a multi-function peripheral is used as the scanning device 102, the printing performed by the multi-function peripheral is electrophotographic printing in this embodiment, but is not limited to this, and could be inkjet printing, for example. Furthermore, in this embodiment, the host computer 101 and the scanning device 102 are configured as separate devices, but is not limited to this. For example, the host computer 101 and the scanning device 102 may be configured as an integrated device.

[0017] <Configuration of a software-centric scanning system> Figure 2 is a block diagram showing the software configuration of the scanning system. Figure 2(a) shows a typical configuration when the extended application (application program) 204 is not associated with the general-purpose scanning software (standard driver) 202 and the scanning device 102. Figure 2(b) shows a configuration when the extended application 204 is associated with the general-purpose scanning software 202 and the scanning device 102. The general-purpose scanning software 202 is a standard driver provided by the OS provider and pre-installed in the OS. The standard driver is a class driver (general-purpose program) that can be used in common for scanning devices 102 from multiple manufacturers, for example, during scanning (image reading). The standard driver is provided together with the OS as one of the functions within the OS package. The standard driver can perform processing for various scanning devices by utilizing a standardized scanning method. As a result, the standard driver can generate and output instructions that can be interpreted by scanning devices from multiple manufacturers. Note that the standard driver is not particularly limited; for example, a program that operates based on IPP (Internet Printing Protocol) can be used. This general-purpose scanning software 202 is pre-installed (built into) the OS.

[0018] The extension application 204 is a program that supports, i.e., assists the general-purpose scan software 202 (a program that executes a control method to perform controls that support the general-purpose scan software 202). In this embodiment, the extension application 204 is an extension program that can extend functions that the general-purpose scan software 202 cannot perform on the scan device 102, but is not limited to this. For example, the extension application 204 may be a program that improves the convenience of the functions that the general-purpose scan software 202 can perform on the scan device 102. The extension application 204 is stored in the external storage device 114 together with the OS (general-purpose scan software 202), for example. As a result, the host computer 101 has the general-purpose scan software 202 and the extension application 204.

[0019] <Configuration when the extended application is not associated with general-purpose scanning software and scanning device> First, referring to Figure 2(a), the configuration when the extended application 204 is not associated with the general-purpose scanning software 202 and the scanning device 102 will be described. The scanning application 201 is software that captures content (image data) generated by scanning with the scanning device 102. The scanning application 201 is not particularly limited and can include, for example, a document creation application or an image editing application. The scanning application 201 issues a scan instruction to the OS, for example, when it receives a scan request from a user. The scan instruction includes scan setting information to instruct the operation of the general-purpose scanning software 202 and the scanning device 102. In order to issue a scan instruction, the scanning application 201 can display the scan setting screen 300A provided by the general-purpose scanning software 202, the OS, or the scanning application 201 on the display unit 119. In addition, by operating (pressing) the control 302 within the scan setting screen 300A, the detailed setting screen 300B (see Figure 3(b)) can be displayed on the display unit 119. The scan settings screen 300A, the detailed settings screen 300B, and the detailed settings screen 300C will be described later. The scan settings screen 300A includes setting items that indicate the configurable scan functions and control items that indicate the setting values, according to the capability information acquired by the general-purpose scan software 202, that is, the information that can be set as scan settings. "Capability information" refers to information about the scanning device 102's ability to perform scans. Furthermore, it is possible to determine whether or not the information that enables the display of the detailed settings screen 300C is included based on this capability information (determination step). If, as a result of this determination, it is determined that the information that enables the display of the detailed settings screen 300C is included, the detailed settings screen 300C can be displayed. On the other hand, if it is determined that the information that enables the display of the detailed settings screen 300C is not included, the detailed settings screen 300C will not be displayed. In this way, the extended application 204 can switch whether or not to display the detailed settings screen 300C depending on the capability information of the scanning device 102.

[0020] Scan function information 203 is data indicating the scan function, which includes all configurable scan functions, their settings, and mutual exclusion relationships between the settings. Scan function information 203 is included in the configuration file of the general-purpose scan software 202 and is placed in the external storage device 114 as an immutable file. Alternatively, scan function information 203 is dynamically generated by the general-purpose scan software 202. Specifically, the general-purpose scan software 202 obtains attribute data of the scan device 102 from the scan device 102. The general-purpose scan software 202 generates scan function information 203 according to the attribute information in this attribute data. When scan function information 203 is dynamically generated in this way, it is editable. The attribute data of the scan device 102 includes attribute information indicating the functions that can be specified by the scan device 102 (the capabilities of the scan device 102) and setting values ​​related to that attribute information, and these are stored in RAM 113.

[0021] With this configuration, the general-purpose scan software 202 allows the user to specify the scan functions available on the scan device 102, depending on the scan device 102 connected to the host computer 101. This makes it possible to specify the scan functions available on the scan device 102 regardless of the specific scan device 102, that is, even when connecting scan devices 102 with different functions or scan devices 102 developed by different scanner manufacturers. In this embodiment, the general-purpose scan software 202 is assumed to be a standard class driver that performs scanning based on a standard scan protocol called Mopria. Specifically, as mentioned above, the general-purpose scan software 202 is not a specific scan driver for each model of scan device 102, but a standard class driver that can be used in common with scan devices 102 from various scanner manufacturers, regardless of the scanner manufacturer. Furthermore, the general-purpose scan software 202 acquires capability information of the scan device 102 and generates scan function information 203 based on this information.

[0022] Furthermore, an extension application 204 can be associated with the general-purpose scan software 202. This allows the general-purpose scan software 202 to perform functions that are not available in the general-purpose scan software 202. For example, the general-purpose scan software 202 cannot accept adjustment settings to adjust at least one of saturation and hue for the target image (scanned image) when the scanning device 102 is made to perform a scan function. In other words, the general-purpose scan software 202 does not support this adjustment setting. This is because this adjustment setting is a function that is performed uniquely by the scanning device 102 manufactured by a predetermined scanner manufacturer. Hereinafter, the adjustment setting to adjust at least one of saturation and hue will be referred to as "saturation and hue adjustment setting (saturation and hue adjustment function)". The extension application 204 can be extended to enable the execution of functions that the general-purpose scan software 202 cannot perform. In this embodiment, the general-purpose scan software 202 cannot perform saturation and hue adjustment settings, and the extension application 204 can be extended to enable such saturation and hue adjustment settings, but it is not limited to this. For example, general-purpose scanning software 202 may perform some of the saturation and hue adjustment settings, and the extended application 204 may further expand the scope of execution by supplementing the missing parts of those saturation and hue adjustment settings.

[0023] <Saturation hue adjustment setting> The saturation and hue adjustment settings allow you to adjust the vividness and hue of scanned images. Saturation adjustment adjusts the vividness; for example, you can make a scanned image more vivid, or deliberately reduce its vividness to create a more subdued impression. Hue adjustment adjusts the hue; for example, you can change the hue of a scanned image, such as changing blue to light blue or yellow-green to green. Saturation and hue adjustments can be performed independently or in combination. Here, we will explain an example of saturation and hue adjustment settings. In this explanation, the colors included in the scanned image are the commonly used R, G, and B, and the data for each color takes an 8-bit value from 0 to 255, but this is not limited to that. In this explanation, we will use an example where saturation and hue adjustments are calculated simultaneously. Furthermore, for saturation, you specify the intensity of vividness, and for hue, you specify the adjusted hue, such as yellow or red. In the saturation and hue adjustment settings, a transformation matrix is ​​first obtained based on the saturation and hue adjustment settings specified by the user. In this embodiment, a matrix shown in the following formula (1), which is predetermined and linked to the set value, is obtained.

[0024]

number

[0025] Furthermore, the input RGB signal value is decomposed into six colors, c, m, y, r, g, and b, using equations (2) to (4) below.

[0026]

number

[0027] Next, the correction amounts ΔR, ΔG, and ΔB for R, G, and B are calculated using the following equation (5).

[0028]

number

[0029] Next, the RGB values ​​R', G', and B' after hue and saturation adjustment are calculated using the following formula (6).

[0030]

number

[0031] During scanning, various image processing steps, including color conversion, are performed to improve the visual appearance of the scanned image. However, people have different preferences regarding the color appearance of scanned images. In particular, for photographic images, images containing graphics, and office documents containing objects such as photographs and graphs in presentation materials, the preferred colors can change depending on the viewing conditions at the time. Therefore, it would be desirable to be able to adjust the colors according to the user's preferences, not just through image processing. In this embodiment, the user's preferred colors can be reproduced by adjusting the hue and saturation.

[0032] <Configuration when an extended application is associated with general-purpose scanning software and scanning devices> Referring to Figure 2(b), the configuration in which the extended application 204 is associated with the general-purpose scan software 202 and the scan device 102 will be described. As shown in Figure 2(b), unlike Figure 2(a), the extended application 204 is added. That is, the host computer 101 has the scan application 201, the general-purpose scan software 202, the scan function information 203, and further has the extended application 204. The extended application 204 is software for extending the functionality of the general-purpose scan software 202, and is sometimes simply called "scan software". Note that the extended application 204 is software that is not pre-included (not bundled) with the OS. Therefore, the extended application 204 is downloaded from a server (not shown) via the Internet by the user operating the host computer 101 and installed on the host computer 101. Alternatively, the extended application 204 may be automatically installed on the host computer 101 based on the connection when the scan device 102 is connected to the host computer 101. Specifically, when a scanning device 102 is connected to the host computer 101, the OS obtains device identification information from the scanning device 102. The OS may also download and install an extended application 204 corresponding to this device identification information from a server via the internet. As a result, the host computer 101 maintains the general-purpose scanning software 202 and the extended application 204 as separate control programs. The general-purpose scanning software 202 and the extended application 204 may be updated and upgraded. In this case, the update process for the general-purpose scanning software 202 and the update process for the extended application 204 may occur at the same time or at different times. Furthermore, the trigger for the host computer 101 to acquire the general-purpose scanning software 202 and the trigger for the host computer 101 to acquire the extended application 204 may be the same trigger or different triggers.Furthermore, if the extended application 204 is installed, the OS associates the extended application 204 with the general-purpose scanning software 202 and the scanning device 102.

[0033] As shown in Figure 2(b), the extended application 204 can exchange information (send and receive information) with the general-purpose scan software 202 and the scan device 102, respectively. That is, the extended application 204 is associated with the general-purpose scan software 202 and the scan device 102. In this embodiment, the extended application 204 has a scan setting screen extension unit 205, a scan function extension unit 206, an image data editing unit 207, and a notification unit 209. The extended application 204 also has shared information 208 that can be accessed from each of the units: the scan setting screen extension unit 205, the scan function extension unit 206, the image data editing unit 207, and the notification unit 209. The shared information 208 is a file stored in the external storage device 114 or information stored in the RAM 113. The extended application 204 can write to and read the shared information 208 by using the API (Application Program Interface) provided by the OS.

[0034] Furthermore, the extended application 204 may terminate its overall operation when the processing of each unit from the scan settings screen extended unit 205 to the notification unit 209 is completed. In this case, the OS will start the extended application 204 each time it receives a processing execution request from each unit. Also, the extended application 204 may cancel processing while each unit from the scan settings screen extended unit 205 to the notification unit 209 is processing. In this case, the OS will delete the jobs currently being processed on the print queue. As mentioned above, the scan application 201 issues a scan command to the OS upon receiving a print request from the user. The scan application 201 can also display the scan settings screen. In the configuration shown in Figure 2(b), the scan application 201 can display the scan settings screen 300A (detailed settings screen 300C) provided by the scan settings screen extended unit 205 (extended application 204). The scan settings screen extended unit 205 can also save the detailed settings set by the user to the shared information 208.

[0035] The image data editing unit 207 acquires image data from the scanning device 102. After acquiring the image data, the image data editing unit 207 can also edit the image data. Furthermore, the image data editing unit 207 acquires detailed setting information from the shared information 208 and performs image editing on the image data according to the detailed setting information. The extended application 204 may also perform image editing on the image data acquired by the general-purpose scanning software 202 according to the detailed setting information. In addition, even in the configuration of Figure 2(b), the saturation and hue adjustment settings may not be executed. In this case, the general-purpose scanning software 202 may send a scan request instruction to the scanning device 102 without going through the extended application 204.

[0036] The scan function expansion unit 206 can edit the scan function information 203 generated by the general-purpose scan software 202 or the OS. This allows for the addition of functions provided by the expansion application 204. It can also add functions that are executable on the scan device 102 but not on the general-purpose scan software 202 (e.g., saturation and hue adjustment functions), and add mutual exclusion relationships between scan function settings. The OS starts the scan function expansion unit 206 when the expansion application 204 is first associated with the scan device 102 and the general-purpose scan software 202. The OS may also start the scan function expansion unit 206 at other times (e.g., when the OS starts). Even if scanning-related functions are expanded later through such startup, the scan function expansion unit 206 can detect the expansion and add it to the scan function information 203.

[0037] The notification unit 209 can notify the user when an error occurs in the scanning device 102. For example, if a read jam error occurs in the scanning device 102, the general-purpose scanning software 202 detects this error. The OS uses a notification function called toast notification, which is one of the functions of the OS, to display the read jam error detected by the general-purpose scanning software 202 as a message on the display unit 119. When the user interacts with the toast notification, the notification unit 209 is called by the OS and the user interface screen (UI screen) of the notification unit 209 is displayed. The user interface screen can display, for example, detailed messages regarding the read jam error and instructions on how to clear the jam.

[0038] As described above, in this embodiment, the extended application 204 can be said to have the following four functions. The first function is to display a settings screen. This function is performed by the scan settings screen extended unit 205. The second function is to edit image data according to detailed setting information. This function is performed by the image data editing unit 207. The third function is to extend the functions that can be specified in the image data generation software. This function is performed by the scan function extended unit 206. The fourth function is to display a screen in response to an error occurring in the scanning device 102. This function is performed by the notification unit 209. Note that the configuration of the extended application 204 is not limited to a configuration having these four functions, and a configuration having at least one function is preferred, and a configuration having other functions is also possible.

[0039] <Example of scan settings screen / advanced settings screen> Figure 3 shows an example of a screen displayed on the display unit of the scan system. Figure 3(a) is the scan settings screen displayed by the scan application 201. Figure 3(b) is the detailed settings screen displayed when the extended application 204 is not associated. Figure 3(c) is the detailed settings screen displayed when the extended application 204 is associated. Figure 3(d) is a modified example of the detailed settings screen displayed when the extended application 204 is associated. Note that the units and modules that display each screen are not particularly limited. For example, the scan settings screen extension unit 205 may be configured only to generate the display screen. In that case, the scan settings screen extension unit 205 sends the generated display screen to the scan application 201 via the general-purpose scan software 202. The scan application 201 may be configured to display the acquired display screen.

[0040] The scan settings screen 300A shown in Figure 3(a) is a screen that allows settings related to scanning on the scanning device 102. This scan settings screen 300A includes control (button) 301, control 302, control 303, and control 304. Control 301 allows you to select and set the scanner device to be used to read the document. In Figure 3(a), as an example, the scanner device used to read the document is set to "Scanner 001 (common driver)". Control 302 allows you to make detailed settings for hue and saturation adjustment. Control 303 allows you to instruct the scanner device 102 to start scanning. Control 304 allows you to instruct the scanner device 102 to cancel scanning.

[0041] If the extended application 204 is not associated with the configuration, operating control 302 will display the detailed settings screen 300B shown in Figure 3(b). The detailed settings screen 300B includes controls 305 and 306. Control 305 allows you to select and set the document scanning destination in the scanner 102, that is, the placement area on which the document to be scanned is placed. For example, if the scanner 102 has both a document glass and a feeder, "Document Glass" is selected as an example in Figure 3(b). Control 306 allows you to finish the settings made in control 305. Operating control 306 will return you to the scan settings screen 300A shown in Figure 3(a).

[0042] In a configuration where the extended application 204 is associated, operating the control 302 displays the detailed settings screen (settings acceptance screen) 300C shown in Figure 3(c) (display control process). The detailed settings screen 300C is displayed together with the scan settings screen 300A, but its display configuration is not particularly limited. For example, the detailed settings screen 300C may be displayed overlaid on the scan settings screen 300A. Alternatively, the detailed settings screen 300C may be displayed adjacent to the scan settings screen 300A, or the scan settings screen 300A may disappear before the detailed settings screen 300C is displayed. The detailed settings screen 300C is a screen that accepts settings for the saturation and hue of the image generated by the scanning function of the scanning device 102 (hereinafter referred to as "saturation and hue adjustment settings"). This detailed settings screen 300C includes controls 305 and 306, similar to the detailed settings screen 300B.

[0043] Additionally, the detailed settings screen 300C includes a saturation adjustment slider 307 and a hue adjustment slider 308. The hue adjustment slider 308 is a saturation adjustment section that allows you to set the amount of saturation adjustment. The hue adjustment slider 308 is a hue adjustment section that allows you to set the amount of hue adjustment. The further you slide the hue adjustment slider 308 to the left, the more you can set the hue to purple, and the further you slide it to the right, the more you can set the hue to red. In the detailed settings screen 300C, you can adjust both the saturation adjustment slider 307 and the hue adjustment slider 308. Furthermore, in the detailed settings screen 300C, you can adjust one of the sliders, either the saturation adjustment slider 307 or the hue adjustment slider 308, and omit the adjustment of the other. In Figure 3(c), the hue adjustment slider 308 is set to "+1" as an example of saturation. Furthermore, the hue adjustment slider 308 is set to "0 (no adjustment)" as an example of hue. By operating the control 306, the settings made by the saturation adjustment slider 307 and the settings made by the hue adjustment slider 308 can be determined. In the case of Figure 3(c), the scanning device 102 is instructed to execute the scanning function based on the saturation setting of "+1" on the hue adjustment slider 308 and the hue setting of "0 (no adjustment)" on the hue adjustment slider 308 (instruction step). The scanning device 102 can then execute the scanning function according to this instruction. With this detailed settings screen 300C, the saturation and hue can be adjusted (set) for the image generated by the scanning function. In this embodiment, the detailed settings screen 300C is configured to allow adjustment of both saturation and hue, but it is not limited to this. For example, it may be configured to allow adjustment of one of saturation and hue, while the adjustment of the other is omitted.

[0044] Furthermore, the detailed settings screen 300C may include a hue / saturation adjustment display 316 and a preview image 319, as shown in Figure 3(d), instead of the saturation adjustment slider 307 and the hue adjustment slider 308. The hue / saturation adjustment display 316 allows the user to set the desired saturation and hue by moving the pointer 317, with the center of the hue / saturation adjustment display 316 as the origin. At the origin, there is no setting for hue / saturation or hue. The saturation is adjusted according to the distance from the origin, and the amount of adjustment is set. The hue is also adjusted according to the angle (rotation angle) in a predetermined direction around the origin, and the amount of adjustment is set. For example, when the pointer 317 is moved to position 318, the saturation can be set to "+1" and the hue can be set to "+2" towards yellow. The preview image 319 is the image after the saturation and hue adjustment settings have been applied. This allows the user to understand the state of the image after the saturation and hue adjustment settings have been applied. The preview image 319 is not particularly limited; for example, it may include an image before the saturation and hue adjustment settings were applied, in addition to the image after the saturation and hue adjustment settings were applied. In this case, it is possible to compare the image before the saturation and hue adjustment settings with the image after the saturation and hue adjustment settings were applied.

[0045] Here, we will explain why the items included in the detailed settings screen 300B shown in Figure 3(b) and the items included in the detailed settings screen 300C shown in Figure 3(c) are different. In other words, we will explain why it is possible to switch between displaying the detailed settings screen 300B or the detailed settings screen 300C. The detailed settings screen 300B and the detailed settings screen 300C are each generated based on scan function information (capability information). As mentioned above, the general-purpose scan software 202 does not support saturation hue adjustment settings. Therefore, the general-purpose scan software 202 alone cannot add the saturation hue adjustment setting function to the scan function information. Furthermore, even if the scan function information originally included the saturation hue adjustment setting function, the general-purpose scan software 202 cannot interpret the saturation hue adjustment setting function included in the scan function information. Therefore, it is not possible to display the saturation hue adjustment setting on the detailed settings screen. Thus, the scan function expansion unit 206 adds the saturation hue adjustment setting function to the scan function information 203. Then, the scan settings screen extension unit 205 refers to the capability information and displays the detailed settings screen 300C. This detailed settings screen 300C is a screen where hue and saturation adjustments can be set. In addition, the detailed settings screen 300C may include additional setting items other than saturation and hue adjustment settings.

[0046] <Flowchart for editing scan function information on the scan function expansion unit> Figure 4 is a flowchart showing the process by which the scan function expansion unit edits scan function information. The program based on the flowchart shown in Figure 4 is executed by the CPU 111 controlling the scan function expansion unit 206. Figure 5 is a diagram showing an example of a list of scan information. As shown in Figure 4, in step S401, the scan function expansion unit 206 acquires capability information from the scan device 102 (acquisition step). This acquisition step is performed prior to the display control step described above. Capability information is capability information related to the ability to perform scan functions, and in this embodiment, it is attribute information indicating the functions that can be specified by the scan device 102 and setting values ​​related to said attribute information. Table 501 shown in Figure 5(a) shows a list of capability information acquired from the scan device 102. As shown in Table 501, functions such as saturation adjustment and options that can be set for each function can be acquired from the scan device 102. For example, the saturation adjustment function has options from "-2" to "+2". Thus, upper and lower limits are set for the saturation adjustment range. Although not illustrated as a function in Table 501, a hue adjustment function is also included.

[0047] In step S402, the scan function extension unit 206 retrieves the scan functions supported by the extension application 204 from the shared information 208. The shared information 208 stores a list of scan functions supported by the extension application 204. Table 502, shown in Figure 5(b), includes all scan functions that the extension application 204 can execute (support) and their settings. For example, the saturation adjustment function has options from "-2" to "+2". Thus, upper and lower limits are set for the adjustable saturation range. Note that, as with Table 501, Table 502 also includes the hue adjustment function, although it is not illustrated as a function. Furthermore, the scan functions that the extension application 204 can execute may be updated through updates to the extension application 204, etc.

[0048] In step S403, the scan function expansion unit 206 obtains scan function information 203 created by the general-purpose scan software 202 from the OS. The scan function information 203 is created by the general-purpose scan software 202 based on capability information obtained from the scan device 102. The scan function information 203 created by the general-purpose scan software 202 includes only the scan functions that the general-purpose scan software 202 can execute from the capability information obtained from the scan device 102. Table 503 shown in Figure 5(c) includes all scan functions that the general-purpose scan software 202 can execute and their settings. As shown in Table 503, the scan functions that the general-purpose scan software 202 can execute do not include the saturation hue adjustment function. Therefore, the scan function information 203 does not include the saturation hue adjustment setting. By adding functions and options to the scan function information 203, the scan function expansion unit 206 enables the expansion application 204 to compensate for the lack of functionality of the general-purpose scan software 202. Furthermore, the scan function expansion unit 206 can also remove unnecessary functions and options from the scan function information 203 created by the general-purpose scan software 202.

[0049] Steps S404, S405, and S406 are repeated processes for the list of functions possessed by the capability information acquired from the scanning device 102 in step S401. In this embodiment, steps S404, S405, and S406 are repeated for all 16 options included in Table 501.

[0050] In step S404, the scan function expansion unit 206 determines whether the function or option currently being processed exists in the scan function information 203 generated by the general-purpose scan software 202. If the determination in step S404 determines that it exists in the scan function information 203, the processing ends if the last item among the options is being processed. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. On the other hand, if the determination in step S404 determines that it does not exist in the scan function information 203, the processing proceeds to step S405. For example, in this embodiment, Table 501 includes the scanning destination "document glass", and Table 503 also includes the scanning destination "document glass". In this case, step S404 determines that the function or option currently being processed exists in the scan function information 203. In contrast, Table 501 includes "-2", but Table 503 does not include "-2". In this case, step S404 determines that the function or option currently being processed does not exist in the scan function information 203.

[0051] In step S405, the scan function expansion unit 206 determines whether the currently processed function (option) exists among the functions (options) supported by the expansion application 204. If the determination in step S405 is made to determine that a currently processed function exists, the process proceeds to step S406. On the other hand, if the determination in step S405 is made to determine that no function is currently being processed, the process terminates if the last item among the options is being processed, similar to when "Yes" was determined in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. For example, in this embodiment, if the currently processed function is "-2", then "-2" also exists in Table 502. Therefore, in step S405, it is determined that a currently processed function exists.

[0052] In step S406, the scan function expansion unit 206 adds the currently processed function (option) to the scan function information 203. After step S406 is executed, if the last item among the options is being processed, the process is terminated, as in the case where "Yes" was determined in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again.

[0053] As described above, the extended application 204 can add functions (options) to the scan function information 203 that are not supported by the general-purpose scan software 202, are supported by the scan device 102, and are also supported by the extended application 204. Based on the scan function information 203 edited through this addition process, capability information is generated. Furthermore, the scan setting screen extension unit 205 generates a display screen based on this capability information, thereby extending the functions not supported by the general-purpose scan software 202 and displaying the detailed setting screen 300C shown in Figure 3(c).

[0054] <Processing after the scan application accepts the scan settings> Figure 6 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application accepts the scan settings. Processing in scan application 201, general-purpose scan software 202, and extended application 204 is executed by the CPU 111 of the host computer 101. This processing program is stored in external storage device 114. Then, the CPU 111 reads the processing program from external storage device 114 into RAM 113 and executes it. Processing in scan device 102 is executed by the CPU 191 of scan device 102. This processing program is stored in external storage device 199. Then, the CPU 191 reads the processing program from external storage device 199 into RAM 193 and executes it. The software configuration of the scan system 1000 is the software configuration shown in Figure 2(b).

[0055] As shown in Figure 6, in step S601, the scan application 201 accepts scan settings from the user. The user can, for example, operate the pointing device 117 or the keyboard 118 to instruct the scan application 201 to configure the scan settings.

[0056] In step S602, the scan application 201 displays the scan settings screen 300A shown in Figure 3(a) on the display unit 119.

[0057] In step S603, the scan application 201 accepts detailed setting instructions from the user. The user can provide detailed settings by, for example, operating the pointing device 117 or keyboard 118 to select control 302 on the scan setting screen 300A.

[0058] In step S604, the scan application 201 requests the general-purpose scan software 202 to display the detailed settings.

[0059] In step S605, the general-purpose scan software 202 requests the extended application 204 to display the detailed settings.

[0060] In step S606, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen 300C shown in Figure 3(c) on the display unit 119 in response to the request in step S605. As described above, the scan function extension unit 206 adds a saturation hue adjustment setting to the scan function information 203. The scan settings screen extension unit 205 can display the detailed settings screen 300C by referring to the capability information generated based on the scan function information 203 to which this saturation hue adjustment setting has been added. If there are settings such as image resolution, these settings may be displayed, suppressed, or grayed out as needed.

[0061] In step S607, the scan settings screen extension unit 205 accepts the user's detailed settings on the detailed settings screen 300C. Here, as an example, let's assume that on the detailed settings screen 300C, the scan destination "document glass" is selected in control 305, the saturation adjustment slider bar 307 is set to "+1", and the hue adjustment slider bar 308 is set to "0 (no adjustment)" (see Figure 3(c)). With these settings, the scan settings screen extension unit 205 accepts that the user has operated the control 306 on the detailed settings screen 300C. As a result, the CPU 111 stores the settings on the detailed settings screen 300C in the RAM 113.

[0062] In step S608, the scan setting screen extension unit 205 accepts that the user has finished the detailed settings based on the operation of control 306 in step S607. The user can indicate the end of detailed settings by, for example, operating the pointing device 117 or keyboard 118 and selecting control 306. As a result, the setting status on the detailed settings screen 300C is written to the scan function information 203. The information written to the scan function information 203 may include, for example, information that is suppressed or grayed out.

[0063] In step S609, the extended application 204 sends detailed configuration completion information to the general-purpose scan software 202, indicating that the detailed configuration in step S608 has been completed.

[0064] In step S610, the general-purpose scan software 202 receives the detailed configuration completion information sent from the extended application 204 in step S609. The general-purpose scan software 202 then sends this detailed configuration completion information to the scan application 201.

[0065] In step S611, the scan application 201 receives a scan command from the user. The user can issue a scan command, for example, by operating the pointing device 117 or keyboard 118 and selecting control 303 on the scan settings screen 300A (see Figure 3(a)).

[0066] In step S612, the scan application 201 sends the scan command received in step S611 to the general-purpose scan software 202.

[0067] In step S613, the general-purpose scan software 202 receives the scan instruction made in step S612. The general-purpose scan software 202 then sends this scan instruction to the extended application 204.

[0068] In step S614, the extended application 204 receives the scan instruction made in step S613. Then, the extended application 204 creates a scan instruction command based on the scan function information 203 in which the settings status on the detailed settings screen 300C was written in step S608. This scan instruction command includes the saturation hue adjustment setting information received on the detailed settings screen 300C. In addition, there are cases where the information that was suppressed or grayed out in step S608 is not written to the scan function information 203. In this case, in step S614, the extended application 204 may add the information not written to the scan function information 203 to the scan instruction command, or it may set it as a default value.

[0069] In step S615, the extended application 204 sends the scan instruction command created in step S614 to the scanning device 102.

[0070] In step S616, the input / output interface 198 of the scanning device 102 receives the scan instruction command transmitted in step S615. The reading unit 195 of the scanning device 102 interprets the scan instruction command and performs a scan with the settings conditions in the detailed setting screen 300C. As a result, scanned image data (read image data) is obtained in which saturation and hue adjustment has been performed. This image with saturation and hue adjustment is more vivid than an image without saturation adjustment. Specifically, the 3x6 values ​​associated with saturation and hue adjustment, which are linked to the saturation setting value stored in the ROM 192 as described above, are retrieved, and the aforementioned saturation and hue adjustment calculation is performed on each pixel value of the image data acquired by the scan. When the saturation is set to "-2", image data with suppressed vibrancy will be generated. However, this generation process is the same as for saturation, and the 3x6 value associated with saturation "-2" is retrieved from ROM192 to adjust each pixel value of the scanned image data. In this embodiment, the 3x6 value for saturation hue adjustment for each setting value is described in advance in ROM192, but this is not the only case. For example, only the reference 3x6 value may be stored in advance in ROM192, and the reference 3x6 value may be calculated to determine the reference 3x6 value corresponding to the setting value.

[0071] In step S617, the input / output interface 198 of the scanning device 102 transmits the image data obtained in step S616 to the extended application 204.

[0072] In step S618, the extended application 204 receives the scanned image data transmitted in step S617 (acquisition step). The extended application 204 then transmits this scanned image data to the general-purpose scanning software 202.

[0073] In step S619, the general-purpose scanning software 202 receives the scanned image data transmitted in step S618. The general-purpose scanning software 202 then transmits this scanned image data to the scanning application 201.

[0074] In step S620, the scan application 201 receives the scan image data transmitted in step S619.

[0075] In step S621, the scan application 201 displays the image data received in step S620 on the display unit 119. As a result, the display unit 119 displays the scanned image data, i.e., the image data after saturation and hue adjustment, as a preview image.

[0076] As described above, in the scan system 1000, even if the general-purpose scan software 202 does not support saturation and hue adjustment settings, the saturation and hue adjustment settings can be performed using the extended application 204. This allows the scan device 102 to perform scanning under the saturation and hue adjustment settings, and therefore the scanned image will be an image with adjusted saturation and hue. In the explanation referring to Figure 6, the software configuration of the scan system 1000 is assumed to be the software configuration shown in Figure 2(b), and the detailed settings screen 300C shown in Figure 3(c) is displayed, but it is not limited to this. For example, if a request to display detailed settings is made to the general-purpose scan software 202 in step S604, the general-purpose scan software 202 displays the detailed settings screen 300B shown in Figure 3(b). In this case, after operating the control 306 on the detailed settings screen 300B, the general-purpose scan software 202 requests the extended application 204 to display an additional detailed settings screen. Subsequently, the extended application 204 may display an additional detailed settings screen in which saturation and hue adjustment settings can be performed.

[0077] Furthermore, the scan command in step S613 is issued from the general-purpose scan software 202 to the extended application 204, but is not limited to this. For example, the scan command may be issued from the scan application 201 to the extended application 204. Alternatively, a control for issuing a scan command may be placed on the detailed settings screen 300C. In this case, the user operates the control for issuing a scan command to the extended application 204. The scan image data may also be sent from the scan device 102 to the scan application 201 via the extended application 204 without going through the general-purpose scan software 202. Alternatively, the scan image data may be sent directly from the scan device 102 to the scan application 201. The scan system 1000 may also be configured to store the scan image data in an external storage device 114 and only allow the transfer of information about the file path where the data is stored. In addition, if there are multiple scan image data files, the scan system 1000 may send all scan image data at once, or it may send scan image data as it becomes available.

[0078] Figure 7 is a flowchart showing the processes executed by the extended application. The program based on the flowchart shown in Figure 7 is stored in the external storage device 114. The CPU 111 can execute this program by reading it from the external storage device 114 into the RAM 113. As shown in Figure 7, in step S701, the extended application 204 receives a request from the general-purpose scan software 202 to display detailed settings (see step S605).

[0079] In step S702, the scan setting screen extension unit 205 of the extended application 204 displays the detailed setting screen 300C shown in Figure 3(c) on the display unit 119 in response to the detailed setting display request received in step S701. As mentioned above, saturation hue adjustment settings are added to the scan function information 203. The scan setting screen extension unit 205 can display the detailed setting screen 300C by referring to the capability information generated based on this scan function information 203.

[0080] In step S703, the scan setting screen extension unit 205 determines whether or not detailed settings have been made on the detailed settings screen 300C, that is, whether or not selection operations have been made for the control 305, saturation adjustment slider bar 307, and hue adjustment slider bar 308. If the determination in step S703 is that detailed settings have been made, the process proceeds to step S704. On the other hand, if the determination in step S703 is that no detailed settings have been made, the process proceeds to step S705.

[0081] In step S704, the scan settings screen extension unit 205 stores (saves) the settings status (setting information) from the detailed settings screen 300C in RAM 113. After step S704 is executed, the process proceeds to step S705.

[0082] In step S705, the scan setting screen extension unit 205 determines whether or not there is an instruction to end detailed settings on the detailed settings screen 300C, that is, whether or not there is an operation on the control 306. If the determination in step S705 is that there is an instruction to end detailed settings, the process proceeds to step S706. On the other hand, if the determination in step S705 is that there is no instruction to end detailed settings, the process returns to step S703 and executes the subsequent steps sequentially.

[0083] In step S706, the extended application 204 notifies the general-purpose scan software 202 that the detailed settings in step S705 have been completed.

[0084] In step S707, the extended application 204 determines whether there is a scan instruction from the general-purpose scan software 202 (see step S613). If the determination in step S707 is that there is a scan instruction, the process proceeds to step S708. On the other hand, if the determination in step S707 is that there is no scan instruction, the process remains in step S707 and waits.

[0085] In step S708, the extended application 204 creates a scan command based on the scan function information 203, which contains the settings from the detailed settings screen 300C. One method for creating the scan command is to extend a standard protocol command. Another method of extension is to write a dedicated command in the extension area of ​​the standard protocol command. Other extension methods include adding a proprietary command to the end of the standard protocol command, or the extended application 204 overwriting the standard protocol command with its own command system. Furthermore, when issuing instructions from the extended application 204, instructions and communication may be performed using the manufacturer's proprietary protocol, regardless of the standard protocol.

[0086] In step S709, the extended application 204 sends the scan instruction command created in step S708 to the scanning device 102.

[0087] In step S710, the extended application 204 determines whether or not it has received all of the scanned image data (see step S617) from the scanning device 102. If the determination in step S710 is that all of the data has been received, the process proceeds to step S711. On the other hand, if the determination in step S710 is that not all of the data has been received, the process remains in step S710 and waits.

[0088] In step S711, the extended application 204 sends all scanned image data from the scanning device 102 to the general-purpose scanning software 202, and the process ends.

[0089] Figure 8 is a flowchart showing the processes performed by the scanning device. The program based on the flowchart shown in Figure 8 is stored in the external storage device 199. The CPU 191 can execute this program by reading it from the external storage device 199 into the RAM 192. As shown in Figure 8, in step S801, the CPU 191 receives a scan instruction command from the extended application 204 (see step S615).

[0090] In step S802, the CPU 191 interprets the scan instruction command received in step S801. The CPU 191 then converts the scan instruction command into a read setting that enables scanning by the scanning device 102, i.e., scanning under the conditions set on the detailed settings screen 300C.

[0091] In step S803, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scan, according to the settings (reading settings) in step S802, and configures the ASIC.

[0092] In step S804, the CPU 191 sends a reading instruction to the reading unit 195 according to the reading settings.

[0093] In step S805, the CPU 191 acquires scanned image data from the reading unit 195.

[0094] In step S806, the CPU 191 controls the image processing unit 190 to perform image processing on the scanned image data acquired in step S805. For example, in this embodiment, the image processing may involve adjusting the saturation and hue.

[0095] In step S807, the CPU 191 saves the scan image data obtained in step S806 to the external storage device 199.

[0096] In step S808, the CPU 191 determines whether the scanning process for all pages of the document to be read has been completed. If the determination in step S808 is made to determine that the scanning process has been completed, the process proceeds to step S809. On the other hand, if the determination in step S808 is made to determine that the scanning process has not been completed, the process returns to step S805 and proceeds to execute the subsequent steps sequentially.

[0097] In step S809, the CPU 191 controls the image processing unit 190 to convert the scanned image data saved in step S807 according to the transmission format. In this embodiment, the transmission format is not included in the scan instruction command received in step S801. Therefore, the scanned image data is converted to the default JPEG format of the scanning device 102, but is not limited to this.

[0098] In step S810, the CPU 191 controls the input / output interface 198 to send the scanned image data converted in step S809 to the extended application 204, and the process ends. In this embodiment, the process of reading the document on the document glass and performing saturation and hue adjustment has been described, but it is also possible to read the document on the feeder and perform saturation and hue adjustment. In this embodiment, if there are multiple image data, all image data is received before being sent to the extended application 204, but this is not limited to this, and for example, each image data may be received and sent to the extended application 204 each time.

[0099] <<Second Embodiment>> The second embodiment will now be described with reference to Figure 9, focusing on the differences from the previously described embodiment, and omitting explanations of similar matters.

[0100] <Processing after the scan application accepts the scan settings> Figure 9 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application receives the scan settings in the second embodiment. Unlike the sequence diagram shown in Figure 6, the sequence diagram in Figure 9 shows steps S901 to S905 being executed sequentially after step S612, instead of steps S613 to S615. Also, after step S616, step S906 is executed instead of steps S617 and S618. As shown in Figure 9, in step S901, the general-purpose scan software 202 receives the scan instruction made in step S612. Then, in step S608, the general-purpose scan software 202 creates a scan instruction command based on the scan function information 203 in which the setting status on the detailed setting screen 300C is written. Note that this scan instruction command does not include functions that are not supported by the general-purpose scan software 202.

[0101] In step S902, the general-purpose scan software 202 sends the scan instruction command created in step S901 to the extended application 204.

[0102] In step S903, the extended application 204 receives the scan command in step S902. The extended application 204 then adds instructions for functions not supported by the general-purpose scan software 202 to the scan command, or modifies existing instructions. This extends the functionality of the scan command. Specifically, in step S901, the scan command created by the general-purpose scan software 202 does not include saturation and hue adjustment settings, so in step S903, saturation and hue adjustment settings are added.

[0103] In step S904, the extended application 204 notifies the general-purpose scan software 202 that the functional enhancement of the scan command in step S903 has been completed. The extended application 204 also sends the scan command with enhanced functionality from step S903 to the general-purpose scan software 202.

[0104] In step S905, the general-purpose scan software 202 receives the scan command in step S904. The general-purpose scan software 202 then transmits this scan command to the scan device 102.

[0105] In step S906, the input / output interface 198 of the scanning device 102 transmits the scan image data obtained in step S616 to the general-purpose scanning software 202. This allows the general-purpose scanning software 202 to receive this scan image data.

[0106] As described above, in this embodiment, a scan command with an extended saturation and hue adjustment setting function in the extended application 204 can be sent to the scanning device 102 via the general-purpose scanning software 202. This enables scanning under saturation and hue adjustment settings.

[0107] <<Third Embodiment>> The third embodiment will now be described with reference to Figures 10 and 11, focusing on the differences from the previously described embodiment, and omitting explanations of similar matters.

[0108] <Processing after the scan application accepts the scan settings> Figure 10 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application receives the scan settings in the third embodiment. Unlike the sequence diagram shown in Figure 6, the sequence diagram in Figure 10 shows steps S1001 to S1005 being executed sequentially after step S613, instead of steps S614 to S616. As shown in Figure 10, in step S1001, the extended application 204 receives the scan instruction made in step S613. The extended application 204 then creates a standard scan instruction command in accordance with the standard protocol. Note that this standard scan instruction command does not include functions not supported by the standard protocol.

[0109] In step S1002, the extended application 204 creates an extended scan command for features that are supported only by the extended application 204.

[0110] In step S1003, the extended application 204 sends the standard scan instruction command created in step S1001 to the scanning device 102.

[0111] In step S1004, the extended application 204 sends the extended scan instruction command created in step S1002 to the scanning device 102.

[0112] In step S1005, the input / output interface 198 of the scanning device 102 receives the standard scan instruction command transmitted in step S1003 and the extended scan instruction command transmitted in step S1004. The reading unit 195 of the scanning device 102 then interprets the standard scan instruction command and the extended scan instruction command, respectively, and performs the scan. As a result, image data with saturation and hue adjustment performed is obtained as scanned image data.

[0113] As described above, in this embodiment, the standard scan command does not extend the saturation and hue adjustment setting function, and the saturation and hue adjustment setting function, which is supported only by the extended application 204, can be handled by a separate scan command. This makes it possible to perform scans with saturation and hue adjustment settings.

[0114] Figure 11 is a flowchart of the process performed by the extended application. Unlike the flowchart in Figure 7, the flowchart in Figure 11 executes steps S1101 to S1104 in order, instead of steps S708 and S709. As shown in Figure 11, in step S1101, the extended application 204 creates a standard scan instruction command in accordance with the standard protocol.

[0115] In step S1102, the extended application 204 creates an extended scan instruction command for a function that is not supported by the standard protocol and is only supported by the extended application 204.

[0116] In step S1103, the extended application 204 sends the standard scan instruction command created in step S1101 to the scanning device 102.

[0117] In step S1104, the extended application 204 sends the extended scan instruction command created in step S1102 to the scanning device 102. After step S1104 is executed, the process proceeds to step S710.

[0118] <<Fourth Embodiment>> The fourth embodiment will be described below with reference to Figures 12 to 14, focusing on the differences from the previously described embodiments, and similar matters will be omitted. In the first embodiment, the extended application 204, together with the general-purpose scan software 202, performs saturation and hue adjustment settings. The scan device 102 is then instructed to perform saturation and hue adjustment according to these settings. As a result, the scan device 102 can perform saturation and hue adjustment. Thus, in the first embodiment, the extended application 204, together with the general-purpose scan software 202, causes the scan device 102 to perform saturation and hue adjustment.

[0119] However, some scanning devices 102 are incapable of performing saturation and hue adjustment. In this case, even if the extended application 204 instructs the scanning device 102 to perform saturation and hue adjustment, it cannot make the scanning device 102 perform the adjustment. Therefore, in this embodiment, it is determined whether or not it is possible to perform saturation and hue adjustment on the scanning device 102 based on the capabilities information of the scanning device 102. If it is determined that it is possible to perform saturation and hue adjustment on the scanning device 102, the scanning device 102 is made to perform the saturation and hue adjustment. On the other hand, if it is determined that it is not possible to perform saturation and hue adjustment on the scanning device 102, the extended application 204 performs the saturation and hue adjustment. This makes it possible to provide saturation and hue adjustment to the user even when it is not possible to perform saturation and hue adjustment on the scanning device 102.

[0120] <Flowchart for editing scan function information on the scan function expansion unit> Figure 12 is a flowchart showing the process by which the scan function expansion unit edits scan function information in the fourth embodiment. The program based on the flowchart shown in Figure 12 is executed by the CPU 111 controlling the scan function expansion unit 206. Furthermore, the flowchart shown in Figure 12 is a flowchart with steps S1301 and S1302 added to the flowchart shown in Figure 4. Figure 13 is a diagram showing an example of a list of capability information for the scanning device. As shown in Figure 12, when the repeated processing of steps S404 to S406 is completed, the process proceeds to step S1301. Table 1401 shown in Figure 13 shows a list of capability information for the scanning device 102. This table 1401 includes information on reading size, reading destination, resolution, and double-sided printing as capability information, but unlike Table 501 shown in Figure 5(a), it does not include information on saturation hue adjustment. Therefore, it can be seen that the scanning device 102 is unable to perform saturation hue adjustment. Therefore, the scan function information 203 after the completion of processing in steps S404 to S406 does not include the saturation hue adjustment setting function.

[0121] As shown in Figure 12, in step S1301, the scan function extension unit 206 determines whether the extension application 204 has a saturation hue adjustment setting function. If the determination in step S1301 is that the saturation hue adjustment setting function is present, the process proceeds to step S1302. On the other hand, if the determination in step S1301 is that the saturation hue adjustment setting function is absent, the process ends. As mentioned above, the extension application 204 has a saturation hue adjustment setting function, so the process proceeds to step S1302.

[0122] In step S1302, the scan function expansion unit 206 adds the information regarding saturation and hue adjustment from Table 501 shown in Figure 5(a) to the scan function information 203.

[0123] As described above, the extended application 204 can add functions to the scan function information 203 that are not supported by the general-purpose scan software 202, are supported by the scan device 102, and are also supported by the extended application 204. The extended application 204 then determines whether or not there is a saturation hue adjustment setting function. If, as a result of this determination, it is determined that there is a saturation hue adjustment setting function, the saturation hue adjustment setting function is added to the scan function information 203. Due to this addition process, even if the scan device 102 is unable to perform saturation hue adjustment, capability information is generated based on the scan function information 203 with the added saturation hue adjustment. Based on this capability information, the extended application 204 can generate a display screen, thereby displaying the detailed settings screen 300C shown in Figure 3(c).

[0124] <Processing after the scan application accepts the scan settings> Figure 14 is a sequence diagram showing the processes executed between the scan application, general-purpose scan software, extended application, and scan device after the scan application receives the scan settings. Unlike the sequence diagram shown in Figure 6, the sequence diagram in Figure 14 executes steps S1201 to S1204 sequentially between steps S605 and S606. Also, step S1205 is executed between steps S617 and S618. As shown in Figure 14, in step S1201, the scan function extension unit 206 of the extended application 204 requests capability information from the scan device 102.

[0125] In step S1202, the scanning device 102 transmits capability information to the scanning function expansion unit 206 in response to the capability information request in step S1201. As a result, the scanning function expansion unit 206 obtains capability information from the scanning device 102.

[0126] In step S1203, the scan function expansion unit 206 obtains a list of scan functions supported by the expansion application 204 from the shared information 208 and determines whether or not the list includes a saturation hue adjustment setting function.

[0127] In step S1204, the scan function expansion unit 206 determines whether the scan device 102 has a saturation hue adjustment setting function based on the capability information acquired in step S1202. In this embodiment, the scan device 102 does not have a saturation hue adjustment setting function, so the result of the determination in step S1204 is that there is no saturation hue adjustment setting function. If the result of the determination in step S1204 is that there is a saturation hue adjustment setting function, the execution of step S1205 is omitted. This is because the scan device 102 can generally perform saturation hue adjustment faster than the image data editing unit 207. Specifically, the scan device 102 can process faster than the multiplication processing unit 904 because it is an ASIC (Application Specific Integrated Circuit).

[0128] In step S1205, the image data editing unit 207 of the extended application 204 performs saturation and hue adjustment on the image data received from the scanning device 102 according to the saturation and hue adjustment settings accepted on the detailed settings screen 300C (execution step). This results in image data with saturation and hue adjustment performed, i.e., generated. In step S616 of this embodiment, unlike step S616 of the first embodiment, saturation and hue adjustment is not performed.

[0129] Then, in step S618, after step S1205 has been executed, the extended application 204 transmits the image data obtained in step S1205, i.e., the execution result in the execution process, to the general-purpose scanning software 202 (transmission process).

[0130] As described above, in this embodiment, even if it is not possible to perform saturation and hue adjustment on the scanning device 102, saturation and hue adjustment can be performed on the extended application 204.

[0131] <<Fifth Embodiment>> The fifth embodiment will be described below with reference to Figure 15, focusing on the differences from the previously described embodiment, and similar matters will be omitted. Some scanning devices 102 can perform one of the saturation adjustment function and hue adjustment function, but not the other. In this case, both the saturation adjustment function and the hue adjustment function can be performed with the extended application 204 (hereinafter referred to as the "first execution pattern"). Alternatively, the functions of the saturation adjustment function and hue adjustment function that can be performed with the scanning device 102 can be performed with the scanning device 102, and the functions that cannot be performed with the scanning device 102 can be performed with the extended application 204 (hereinafter referred to as the "second execution pattern"). This second execution pattern is preferable to the first execution pattern. This is because, generally speaking, performing the functions of the saturation adjustment function and hue adjustment function that can be performed with the scanning device 102 with the scanning device 102 tends to be faster than performing them with the extended application 204. Therefore, the second execution pattern will be described in this embodiment.

[0132] <Processing after the scan application accepts the scan settings> Figure 15 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application receives the scan settings in the fifth embodiment. Unlike the sequence diagram shown in Figure 14, the sequence diagram in Figure 15 executes steps S1501 and S1502 in order instead of steps S1203 and S1204. Also, unlike the sequence diagram shown in Figure 14, the sequence diagram in Figure 15 executes step S1503 instead of step S616, and step S1504 executes step S1205. Furthermore, in this embodiment, as an example, the saturation adjustment function is executed by the scan device 102 and the hue adjustment function is executed by the extended application 204. As shown in Figure 15, in step S1501, the scan function extension unit 206 of the extended application 204 obtains a list of scan functions supported by the extended application 204 from the shared information 208 and determines whether or not the saturation and hue adjustment functions are available.

[0133] In step S1502, the scan function expansion unit 206 determines from the capability information whether the scan device 102 has saturation and hue adjustment modules, that is, whether the scan device 102 is capable of saturation and hue adjustment. In this embodiment, it is determined that the scan device 102 is capable of saturation adjustment but not hue adjustment.

[0134] In step S1503, the scanning device 102 performs saturation adjustment on the image data read by the reading unit 195.

[0135] In step S1504, the image data editing unit 207 of the extended application 204 performs hue adjustment on the image data that the scanning device 102 determined to be impossible to perform. In this embodiment, a second execution pattern becomes possible.

[0136] <<Sixth Embodiment>> The sixth embodiment will be described below with reference to Figures 16 and 17, focusing on the differences from the previously described embodiments, and similar matters will be omitted. When performing saturation and hue adjustment on image data, it is sometimes desirable to perform the adjustment on only a part of the image, in addition to the entire image. For example, if an image contains both photographs and text, there is a need to perform saturation and hue adjustment on the photographic portion while leaving the text color unchanged. In this case, the image can be judged for objects, and based on the judgment result, saturation and hue adjustment can be performed on the photographic portion. An "object" refers to an attribute such as a photograph, text, or background contained in the image. Objects may be set for each pixel of the image data, or for each specific area. Generally, object judgment processing is often performed in combination with filtering processing, pattern judgment processing, etc., and the processing load is relatively large. Therefore, object judgment processing is preferably performed in a dedicated processing module. In this embodiment, object judgment processing is performed in a dedicated processing module of the scanning device 102. The attribute data, which is the result of the object judgment processing, is then sent to the extended application 204 along with the image data to execute the saturation and hue adjustment function. The object determination process may also be performed in the extended application 204.

[0137] <Processing after the scan application accepts the scan settings> Figure 16 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application receives the scan settings in the sixth embodiment. Unlike the sequence diagram shown in Figure 14, step S1601 is executed instead of step S606 in the sequence diagram shown in Figure 16. Also, unlike the sequence diagram shown in Figure 14, steps S1602 to S1604 are executed in order instead of steps S616, S617, and S1205 in the sequence diagram shown in Figure 16. Figure 17 is a diagram showing an example of a screen displayed on the display unit of the scan system. As shown in Figure 16, in step S1601, the scan setting screen extension unit 205 of the extended application 204 displays the detailed setting screen 300E shown in Figure 17 on the display unit 119. The detailed setting screen 300E includes controls 305 to the hue adjustment slider bar 308, similar to the detailed setting screen 300C. Furthermore, the detailed settings screen 300E includes additional checkboxes (specification section) 320 and 321. Checkbox 320 allows you to select (specify) at least one of text and photos as the target for saturation adjustment. Checkbox 321 allows you to select at least one of text and photos as the target for hue adjustment. In Figure 17, as an example, a photo is selected in checkbox 320, while neither text nor photos are selected in checkbox 321. Note that objects such as backgrounds may also be included as options in checkboxes 320 and 321. Alternatively, the targets for each adjustment may be displayed as a list instead of checkboxes 320 and 321.

[0138] In step S1602, the scanning device 102 performs attribute determination processing along with the scanning process. In the attribute determination processing, for example, edge extraction processing is performed on the image data, and pattern determination is performed on the edge information extracted by this process. Then, it is determined for each pixel whether it is text or non-text (photo), and attribute data may be generated, or attribute data may be assigned to a specific area by labeling processing or the like.

[0139] In step S1603, the scanning device 102 transmits the image data read by the reading unit 195 and the attribute data from step S1602 to the extended application 204.

[0140] In step S1604, the image data editing unit 207 of the extended application 204 performs saturation and hue adjustment only on objects that have been set as targets for saturation and hue adjustment based on the image data and attribute data transmitted in step S1603. In this embodiment, when performing saturation and hue adjustment on image data, only a portion of the image can be targeted for the adjustment.

[0141] Although preferred embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of its gist. The present invention can also be realized by supplying a program that implements one or more of the functions of the above 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. Furthermore, the present invention can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0142] Each embodiment of the disclosure includes the following program: (Program 1) A standard driver provided by the provider of the operating system, which is an application program that supports the standard driver pre-installed in the operating system, On the computer, A display control process that displays a setting acceptance screen for accepting settings for the saturation of an image generated by the scanning function of an image processing device, An application program characterized by performing an instruction step of instructing the image processing device to execute the scan function based on the settings received on the setting reception screen. (Program 2) A standard driver provided by the provider of the operating system, which is an application program that supports the standard driver pre-installed in the operating system, On the computer, A display control step that displays a setting acceptance screen for accepting hue settings for an image generated by the scanning function of an image processing device, An application program characterized by performing an instruction step of instructing the image processing device to execute the scan function based on the settings received on the setting reception screen. (Program 3) A standard driver provided by the provider of the operating system, which is an application program that supports the standard driver pre-installed in the operating system, On the computer, A display control process that displays a setting acceptance screen for accepting settings for the saturation of an image generated by the scanning function of an image processing device, An acquisition step of acquiring the image generated by the scanning function from the image processing device, An execution step which performs processing on the image acquired in the acquisition step based on the settings received on the setting reception screen, An application program characterized by causing a transmission step to send the execution result of the execution step to the standard driver. (Program 4) A standard driver provided by the provider of the operating system, which is an application program that supports the standard driver pre-installed in the operating system, On the computer, A display control step that displays a setting acceptance screen for accepting hue settings for an image generated by the scanning function of an image processing device, An acquisition step of acquiring the image generated by the scanning function from the image processing device, An execution step which performs processing on the image acquired in the acquisition step based on the settings received on the setting reception screen, An application program characterized by causing a transmission step to send the execution result of the execution step to the standard driver. (Program 5) The application program according to Program 1 or 3, characterized in that the setting reception screen includes a saturation adjustment unit for adjusting the saturation. (Program 6) The setting reception screen can accept the hue setting for the image, The application program according to program 5, characterized in that the setting reception screen includes a hue adjustment unit for adjusting the hue. (Program 7) The application program according to Program 2 or 4, characterized in that the setting reception screen includes a hue adjustment unit for adjusting the hue. (Program 8) The setting reception screen can accept the setting of the saturation of the image, The application program according to program 7, characterized in that the setting reception screen includes a saturation adjustment unit for adjusting the saturation. (Program 9) An application program according to Program 6 or 8, characterized in that, on the setting reception screen, adjustments are made in both the saturation adjustment unit and the hue adjustment unit, or adjustments are made in one of the saturation adjustment unit and the hue adjustment unit, and adjustments in the other adjustment unit can be omitted. (Program 10) An application program according to any one of Programs 1 to 9, characterized in that the range in which the setting is possible is provided with an upper limit and a lower limit. (Program 11) An application program according to any one of Programs 1 to 10, characterized in that the setting reception screen includes at least a preview image of the image after the setting, among the pre-setting and post-setting images. (Program 12) An application program according to any one of Programs 1 to 11, characterized in that the setting reception screen is configured to accept the setting for a part of the image. (Program 13) The application program according to Program 12, characterized in that the setting reception screen includes a specification section for specifying a part of the image. (Program 14) An application program according to any one of Programs 1 to 13, characterized in that it can switch whether or not to display the setting reception screen depending on the image processing device. (Program 15) The computer, Prior to the display control step, an acquisition step is performed to acquire capability information relating to the ability to perform the scanning function from the image processing device, The process involves performing a determination step to determine whether the capability information acquired in the acquisition step includes information that enables the display of the setting reception screen, In the display control step, if it is determined as a result of the determination step that the settings reception screen contains information that enables the display of the settings reception screen, the settings reception screen is displayed. On the other hand, if it is determined that the settings reception screen does not contain information that enables the display of the settings reception screen, the settings reception screen is not displayed. This is the program according to program 14. (Program 16) An application program according to any one of Programs 1 to 15, characterized in that the function for accepting the above settings is a function that cannot be executed by the standard driver. (Program 17) An application program according to any one of Programs 1 to 4, characterized in that a program that operates based on IPP (Internet Printing Protocol) is used as the standard driver. (Program 18) An application program according to any one of Programs 1 to 16, characterized in that it is stored on a storage medium. [Explanation of Symbols]

[0143] 101 Host computer 102 Scanning device 204 Extended Applications 202 General-purpose scanning software 300A Scan Settings Screen 300C detailed setting screen 307 Saturation Adjustment Slide Bar 308 Hue Adjustment Slide Bar

Claims

1. A standard driver provided by the provider of the operating system, and an application program that supports the standard driver pre-installed in the said operating system, On the computer, A display control process that displays a setting acceptance screen for accepting settings for the saturation of an image generated by the scanning function of an image processing device, An application program characterized by performing an instruction step of instructing the image processing device to execute the scan function based on the settings received on the setting reception screen.

2. A standard driver provided by the provider of the operating system, and an application program that supports the standard driver pre-installed in the said operating system, On the computer, A display control step that displays a setting acceptance screen for accepting hue settings for an image generated by the scanning function of an image processing device, An application program characterized by performing an instruction step of instructing the image processing device to execute the scan function based on the settings received on the setting reception screen.

3. A standard driver provided by the provider of the operating system, and an application program that supports the standard driver pre-installed in the said operating system, On the computer, A display control process that displays a setting acceptance screen for accepting settings for the saturation of an image generated by the scanning function of an image processing device, An acquisition step of acquiring the image generated by the scanning function from the image processing device, An execution step which performs processing on the image acquired in the acquisition step based on the settings received on the setting reception screen, An application program characterized by causing a transmission step to send the execution result of the execution step to the standard driver.

4. A standard driver provided by the provider of the operating system, and an application program that supports the standard driver pre-installed in the said operating system, On the computer, A display control step that displays a setting acceptance screen for accepting hue settings for an image generated by the scanning function of an image processing device, An acquisition step of acquiring the image generated by the scanning function from the image processing device, An execution step which performs processing on the image acquired in the acquisition step based on the settings received on the setting reception screen, An application program characterized by causing a transmission step to send the execution result of the execution step to the standard driver.

5. The application program according to claim 1 or 3, characterized in that the setting reception screen includes a saturation adjustment unit for adjusting the saturation.

6. The aforementioned settings reception screen can accept settings for the hue of the aforementioned image, The application program according to claim 5, characterized in that the setting reception screen includes a hue adjustment unit for adjusting the hue.

7. The application program according to claim 2 or 4, characterized in that the setting reception screen includes a hue adjustment unit for adjusting the hue.

8. The aforementioned settings reception screen can accept settings for the saturation of the aforementioned image, The application program according to claim 7, characterized in that the setting reception screen includes a saturation adjustment unit for adjusting the saturation.

9. The application program according to claim 8, characterized in that the setting reception screen allows adjustments to be made in both the saturation adjustment unit and the hue adjustment unit, or adjustments to be made in one of the saturation adjustment unit and hue adjustment unit, while omitting adjustments in the other adjustment unit.

10. The application program according to any one of claims 1 to 4, characterized in that an upper limit and a lower limit are provided for the range in which the above settings can be made.

11. The application program according to any one of claims 1 to 4, characterized in that the setting request screen includes at least a preview image of the image after the setting, among the pre-setting and post-setting images.

12. The application program according to any one of claims 1 to 4, characterized in that the setting reception screen is configured to accept the setting for a part of the image.

13. The application program according to claim 12, characterized in that the setting request screen includes a designation section for specifying a part of the image.

14. The application program according to any one of claims 1 to 4, characterized in that it is possible to switch whether or not to display the setting reception screen depending on the image processing device.

15. To the aforementioned computer, Prior to the display control step, an acquisition step is performed to acquire capability information relating to the ability to perform the scanning function from the image processing device, The process involves performing a determination step to determine whether the capability information acquired in the acquisition step includes information that enables the display of the setting reception screen, The program according to claim 14, wherein in the display control step, if it is determined as a result of the determination step that the setting reception screen contains information that enables the display of the setting reception screen, the setting reception screen is displayed, and if it is determined that the setting reception screen does not contain information that enables the display of the setting reception screen, the setting reception screen is not displayed.

16. The application program according to any one of claims 1 to 4, characterized in that the function for accepting the above settings is a function that cannot be executed by the standard driver.

17. The application program according to any one of claims 1 to 4, characterized in that a program operating based on IPP (Internet Printing Protocol) is used as the standard driver.

18. An application program according to any one of claims 1 to 4, characterized in that it is stored on a storage medium.

Citation Information

Patent Citations

  • Server system and application

    JP2021033526A