Program, information processing method, and information processing device that support general-purpose scanning software.
The program extends general-purpose scanning software to include contrast adjustment functionality, allowing users to enhance image clarity by adjusting contrast settings across different scanning devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-13
- Publication Date
- 2026-03-26
AI Technical Summary
The standard class driver in Windows operating systems does not support contrast adjustment functionality for scanning devices, limiting users' ability to adjust image contrast when using general-purpose scanning software.
A program that extends the functionality of general-purpose scanning software by enabling a display screen for contrast adjustment settings and outputting scan instructions to the image processing device based on user input.
Enables users to adjust image contrast using scanning devices from multiple manufacturers, enhancing image clarity through contrast adjustment.
Smart Images

Figure 2026053860000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a program for supporting general-purpose scanning software, an information processing method, and an information processing apparatus.
Background Art
[0002] As a software for controlling a scanning device, a configuration is known in which a scan driver installed in a host computer is used to issue a reading instruction to a scanning device connected to the host computer. An operating system (OS), which is basic software, is installed in the host computer. The scan driver is configured according to the specifications defined by the OS and is called by the OS to operate. A vendor (manufacturer) that provides a scanning device can provide a means for instructing the scanning device to read using the OS by providing a scan driver that conforms to the specifications of the OS.
[0003] In recent years, in Windows (registered trademark), a standard class driver (hereinafter also referred to as "standard driver") that can be commonly used in scanning devices provided by multiple vendors has been attempted to be provided. Such a standard driver is included in the OS package and can be easily used by connecting an arbitrary scanning device to the host computer. Therefore, it is not necessary to separately install a model-specific scan driver suitable for the scanning device, which is highly convenient. Also, it is assumed that the standard driver is configured to be able to specify a scan function according to scan function information generated based on information acquired from the connected scanning device. Thus, a user using the standard driver can specify a scan function according to the capabilities of the connected scanning device even though using only one standard driver. However, since this is only a function that can be realized by the standard driver alone, a function unique to the vendor (manufacturer) of the scanning device cannot be specified. Therefore, Patent Document 1 discloses a program for extending the printing function of general-purpose software (see Patent Document 1). [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2021-033526 [Overview of the project] [Problems that the invention aims to solve]
[0005] One of the features of the scan vendor's proprietary scan driver is the contrast adjustment function. The contrast adjustment function adjusts the contrast of the scanned image. However, when using the standard driver, the contrast adjustment function is not available, and users cannot adjust the contrast of the image. In view of the above issues, the present invention aims to provide a mechanism that extends the functionality of general-purpose scanning software that can be used in common with scanning devices provided by multiple manufacturers, thereby enabling the use of contrast adjustment functionality. [Means for solving the problem]
[0006] To solve the above problems, a program according to one aspect of the present invention has the following configuration. A program that supports the functions of general-purpose scanning software that can be used in common with image processing devices provided by multiple manufacturers, characterized in that it causes a computer to display a display screen that accepts settings for contrast adjustment of an image to be read by the image processing device, and outputs a reading instruction to the image processing device to perform a scan according to the settings accepted on the display screen. [Effects of the Invention]
[0007] According to the present invention, a program that extends the functionality of general-purpose scanning software that can be used in common with scanning devices provided by multiple manufacturers can enable users to use a contrast adjustment function. [Brief explanation of the drawing]
[0008] [Figure 1] Hardware configuration diagram of the scanning system in this embodiment [Figure 2] Software configuration diagram of the scanning system in this embodiment [Figure 3] Scan settings screen and detailed settings screen of Embodiment 1 [Figure 4] Editing process of scan function information by the extended application of Embodiment 1 [Figure 5] List of Scan Functions for Each Device in Embodiment 1 [Figure 6] Sequence diagram illustrating the scan operation of Embodiment 1 [Figure 7] Scanning process in the extended application of Embodiment 1 [Figure 8] Scanning process in the scanning device of Embodiment 1 [Figure 9] Additional processing for contrast adjustment function of the extended application of Embodiment 2 [Figure 10] Sequence diagram illustrating the scan operation of Embodiment 2 [Figure 11] Scanning process in the extended application of Embodiment 2 [Figure 12] Sequence diagram illustrating the scan operation of Embodiment 3 [Figure 13] Sequence diagram illustrating the scan operation of Embodiment 3 [Figure 14] Sequence diagram illustrating the scan operation of Embodiment 4 [Figure 15] Scanning process in the extended application of Embodiment 4 [Figure 16A] Table of capability information in Embodiment 5 [Figure 16B]Figure of the display section of the extended application in Embodiment 5 [Figure 17] Sequence diagram of the operation of the scanning process in Embodiment 5 [Figure 18] Scanning process in the extended application of Embodiment 5 [Figure 19] Scanning process in the extended application of Embodiment 5 [Figure 20] Figure of the display section of the extended application in Embodiment 5 [Figure 21] Sequence diagram of the operation of the scanning process in Embodiment 5 [Figure 22] Scanning process in the extended application of Embodiment 5 [Figure 23] Sequence diagram explaining the scanning operation in Embodiment 5 [Figure 24] Scanning process in the extended application of Embodiment 5
Mode for Carrying Out the Invention
[0009] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the present invention according to the claims, and not all combinations of the features described in this embodiment are essential for the solution means of the present invention. [Embodiment 1]
[0010] Scanning system hardware configuration FIG. 1 is a block diagram showing the hardware configuration of a scanning system. (Host computer) In this figure, the host computer 101 is an example of an information processing device and has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and display devices such as a display unit 119 are connected to the output interface 115. NETIF 120 is a network interface that controls data transfer to and from external devices via the network.
[0011] ROM112 stores the initialization program. The external storage device 114 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The external storage device 114 stores application programs, the operating system (OS), and various other types of data. RAM 113 is used as work memory for executing various programs stored in the external storage device 114, enabling these programs to run within the host computer 101. In this embodiment, the CPU 111 codes the program stored in the ROM 112. By processing according to the instructions, the following functions in the host computer 101 and The process related to the flowchart described later will be executed.
[0012] (Scanning device) The scanning device 102 is an example of an image forming apparatus, and is connected to the host computer 101 via the input / output interface 198 of the scanning device 102 and the input / output interface 116 of the host computer 101. The connection between the input / output interface 198 of the scanning device 102 and the input / output interface 116 of the host computer 101 may be a wired network or a wireless network. The scanning device 102 includes a CPU 191, ROM 192, RAM 193, operation unit 194, reading unit 195, printing unit 196, NETIF 197, and input / output interface 198.
[0013] The CPU 191 provides overall control over the scanning device 102. ROM192 is the memory that stores the program. RAM193 is memory used to temporarily store programs and image data. The reading unit 195 is a scanner that reads the image of the document. The printing unit 196 prints an image onto a sheet based on the image data. Note that the printing unit 196 is not mandatory. NETIF197 is a network interface that controls data transfer between external devices over a network. The image processing unit 190 performs various image editing processes on the input image data.
[0014] In this embodiment, the host computer 101 and the scanning device 102 are configured separately, but they may also be configured as a single information processing device. Furthermore, the reading settings screen and detailed settings screen described later are displayed on the display unit 119. In this embodiment, an electrophotographic digital multifunction device with multiple functions such as copying, printing, and faxing is used as an example of the scanning device. However, this embodiment is not limited to this; it can also be applied to devices using other processes, such as inkjet technology, or scanners that only read images. Also, the host computer 101 may be a desktop computer, a smartphone, or a laptop computer.
[0015] Scanning system software configuration Figure 2 schematically shows the software configuration of the scanning system. The software configuration in Figure 2 is stored in the external storage device 114 shown in Figure 1. Here, we will explain the scanning system assuming a host computer 101 equipped with Microsoft's Windows® 11 as the operating system. Note that standard drivers are also provided for Apple's macOS, and this technology can be applied to it as well. Figure 2(a) shows a typical configuration when the extended application 204 is not associated with the general-purpose scanning software 202 and the scanning device 102. Figure 2(b) shows the configuration when the extended application 204 is associated with the general-purpose scanning software 202 and the scanning device 102.
[0016] Scanning system software configuration (without association of extended applications) First, using Figure 2(a), we will describe the configuration of the scanning system when the extended application 204 is not associated. The scan application 201 is software that captures scanned content (image data). For example, this could be a document creation application or an image editing application. When the scan application 201 receives a scan request from the user, it issues a scan command to the OS. The scan command includes scan setting information to instruct the operation of the general-purpose scan software 202 and the scan device 102.
[0017] The scan application 201 can display a scan settings screen provided by the general-purpose scan software 202, the OS, or the scan application 201 itself in order to execute a scan command. Furthermore, if the "Advanced Settings" button is pressed within the scan settings screen, the general-purpose scan software 202 will display an additional advanced settings screen. The scan settings screen and advanced settings screen will be described later using Figure 3. The advanced settings screen includes setting items (hereinafter also referred to as "control items") that indicate the configurable scan functions, according to the capability information (configurable information) of the general-purpose scan software 202, and control items that indicate their setting values. The general-purpose scan software 202 determines the scan capabilities based on the scan function information 203.
[0018] Scan function information 203 is data indicating the scan function, which includes all configurable scan functions, their settings, and the 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, the general-purpose scan software 202 can dynamically generate the scan function information 203. Specifically, the general-purpose scan software 202 or the OS can be configured to acquire attribute data of the scan device from the scan device 102 and generate the scan function information 203 according to the attribute information in the acquired attribute data. When the scan function information 203 is dynamically generated, the generated scan function information 203 is editable. The attribute data of the scan device acquired from the scan device 102 includes attribute information indicating the functions that can be specified by the scan device 102 (scan device capabilities) and the settings related to that attribute information. This information is stored in RAM 113.
[0019] With this configuration, the general-purpose scan software 202 can be configured so that the user can specify the scan functions available on each connected scan device 102, depending on the connected scan device 102. In other words, even when scan devices with different functions or scan devices developed by different vendors are connected, the general-purpose scan software 202 can be configured so that the user can specify the scan functions available on each connected scan device. Furthermore, the general-purpose scan software 202 can generate scan instructions that can be interpreted by multiple scan devices from different vendors and output these scan instructions to each of the multiple scan devices from different vendors. Note that the vendor may be the manufacturer of the scan device 102. Here, the general-purpose scan software 202 is a standard class driver that performs scans based on a standard scan protocol called Mopria. The general-purpose scan software 202 acquires capability information of the connected scan device 102 and generates scan function information 203 based on that information so that the user can specify the scan functions supported by the connected scan device 102. The general-purpose scanning software 202 acquires scanning function information 203 from the scanning device 102 and receives image data generated by the scanning device 102. This general-purpose scanning software 202 does not support contrast adjustment. This is because contrast adjustment is a function unique to the scanning vendor (scanning manufacturer).
[0020] • Contrast function The contrast adjustment function adjusts the contrast of the scanned image. Scanning a document with increased contrast increases the difference between the bright and dark areas of the image, resulting in a clearer image file. Scanning a document with decreased contrast reduces the difference between the bright and dark areas, resulting in a blurry image file. The contrast adjustment function allows you to set the adjustment level. Automatic settings are also available, enabling the camera to automatically acquire image data with the appropriate contrast. In this embodiment, an example is shown where the adjustment level is set within a range of 10 steps, but this is not the only way to set this function. A wider or narrower setting range may also be used.
[0021] Scanning system software configuration (with associated extension applications) Next, Figure 2(b) will be used to describe the configuration of the scanning system when the extended application 204 is associated. Note that configurations and processes not specifically mentioned below will be the same as those in Figure 2(a).
[0022] The extension application 204 is software that extends or supports the functionality of the general-purpose scanning software 202, and is also called a support application. The extension application 204 is software that is not pre-installed (not bundled) with the OS. Therefore, the user needs to operate the host computer 101 to download and install the extension application 204 from a server via the internet. Alternatively, it may be automatically installed based on the connection of the scanning device 102 to the host computer 101. Specifically, when the scanning device 102 is connected to the host computer 101, the OS obtains device identification information from the scanning device 102. The OS may download and install the extension application 204 corresponding to the obtained device identification information from a server via the internet. In other words, the general-purpose scanning software 202 and the extension application 204 are kept as separate files on the host computer 101.
[0023] The general-purpose scan software 202 and the extended application 204 may be updated and upgraded, but these update processes are performed at different times. In other words, the timing at which the host computer 101 acquires the general-purpose scan software 202 and the timing at which the extended application 204 is acquired are different. Also, the triggers for the host computer 101 to acquire the general-purpose scan software 202 and the triggers for the host computer 101 to acquire the extended application 204 are different. When the extended application 204 is installed, the OS associates the extended application 204 with the general-purpose scan software 202 and the scan device 102.
[0024] The extended application 204 described in this embodiment includes 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 includes shared information 208 that can be accessed from all units. The shared information 208 is actually a file stored in the external storage device 114 or information stored on the RAM 113. The extended application 204 writes to and reads information from the shared information 208 by using the API (Application Program Interface) provided by the OS. The extended application 204 may terminate its operation after each unit has finished processing. In that case, the OS will start the extended application 204 each time a request to use each unit is received. Furthermore, the extended application 204 may cancel processing after each unit has finished processing. If canceled, the OS will delete the job that was in progress.
[0025] When the scan application 201 receives a scan request from the user, it issues a scan command to the OS. In this configuration, as in the configuration shown in Figure 2(a), the scan application 201 can display the scan settings screen. In this configuration, the detailed settings screen provided by the extension application 204 is displayed. Specifically, the detailed settings screen provided by the scan settings screen extension unit 205 of the extension application 204 is displayed. Furthermore, the scan settings screen extension unit 205 can save the detailed settings configured by the user to the shared information 208.
[0026] The extended application 204 includes an image data editing unit 207. The image data editing unit 207 acquires image data from the scanning device 102 and performs editing. The scan 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 settings. The extended application 204 may also be configured to acquire image data acquired by the general-purpose scanning software 202 and perform image editing on the image data according to the detailed settings. In addition, even in the configuration of Figure 2(b), the user may not perform contrast adjustment. In that case, as in the configuration of Figure 2(a), the general-purpose scanning software 202 may issue a scan request instruction to the scanning device 102 without going through the extended application 204.
[0027] The extended application 204 includes a scan function extension unit 206. The scan function extension unit 206 can edit the scan function information 203 generated by the general-purpose scan software 202 or the OS. This allows the scan function extension unit 206 to add functions provided by the extended application 204. In addition, the scan function extension unit 206 can add functions supported by the scan device 102 but not by the general-purpose scan software 202 (e.g., contrast adjustment function), add mutual exclusion relationships between scan function settings, and so on. The OS starts the scan function extension unit 206 when the extended application 204 is first associated with the scan device 102 and the general-purpose scan software 202. Furthermore, the OS may start the scan function extension unit 206 at other times, such as when the OS starts up.
[0028] Furthermore, the extended application 204 has a notification unit 209. The notification unit 209 can display a notification to the user in response to an error occurring 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 it, and the OS uses a notification function called a toast notification, which is a function of the OS, to display a message on the display unit 119. When the user presses this toast notification, the OS calls the notification unit 209 of the extended application 204, and the UI screen of the notification unit 209 is displayed. The UI screen of the notification unit 209 can display, for example, a detailed message about the scan jam error and instructions on how to clear the jam.
[0029] Furthermore, the configuration of the extended application 204 for realizing this embodiment is not limited to having all of the aforementioned functions (units), but may have only some of the functions or other functions. Also, the extended application 204 is sometimes simply called scan software. As described above, the extended application 204 can be said to have at least one of the following functions. The first is a function to display the settings screen (scan settings screen extension unit 205). The second feature is a function (image data editing unit 207) that edits image data according to detailed settings. The third feature is a function that extends the capabilities of the image data generation software (scan function extension unit 206). The fourth feature is a function (notification unit 209) that displays a screen in response to an error occurring in the scanning device 102.
[0030] <Scan Settings Screen / Advanced Settings Screen> Next, an example of the scan settings screen and the detailed settings screen in this embodiment will be explained using Figure 3. Figure 3(a) shows the scan settings screen displayed by the scan application 201. Figure 3(b) shows the detailed settings screen displayed when the extended application 204 shown in Figure 2(a) is not present. Figure 3(c) shows the detailed settings screen displayed when the extended application 204 shown in Figure 2(b) is present. Note that the units and modules that display the scan settings screen are not limited to those mentioned above. For example, the scan settings screen extension unit 205 may be configured solely to generate a 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.
[0031] <Scan settings screen (scan application)> First, we will explain the scan settings screen displayed by the scan application 201 shown in Figure 3(a). Control 301 has objects that allow the user to set the scanner (the scanner used for reading) to which the image data will be scanned. Control 302 is an advanced settings button. When Control 302 is pressed, an additional scan screen is displayed by the general-purpose scan software 202 or the scan settings screen expansion unit 205. Control 303 is the scan start button, and control 304 is the scan cancel button.
[0032] <Advanced Settings Screen (General-Purpose Scan Software)> Next, Figure 3(b) will be explained. Figure 3(b) is an additional settings screen displayed by the general-purpose scanning software 202 when the extended application 204 is not available. Control 305 indicates that the scanning destination can be set and that the document glass is selected. Control 306 is the setting completion button; when Control 306 is pressed, the system returns to the scan settings screen shown in Figure 3(a).
[0033] <Scan Settings Screen (Scan Settings Screen Extension Unit)> Next, Figure 3(c) will be explained. Figure 3(c) is an additional settings screen displayed by the scan settings screen extension unit 205 when the extension application 204 is present. Unlike Figure 3(b), control 307, list 308, and controls 309 and 310 have been added. Control 307 is a button that allows you to select the contrast adjustment setting, and it indicates that "Automatic" is selected. List 308 shows the contrast adjustment settings when Control 307 is pressed. List 308 indicates that in addition to the currently selected "Automatic," there is also a "Manual" option. "Automatic" is a setting that automatically adjusts the contrast based on the scanned image. "Manual" is a setting where the user manually adjusts the contrast, by moving the bar on Control 309 left or right to adjust the contrast of the scanned image. Control 310 indicates the contrast level set by the user when “Manual” is selected in List 308. In subsequent embodiments, the behavior when “Automatic” is selected in List 308 will be described, but the behavior when “Manual” is selected and the user sets the contrast level is the same.
[0034] Here, we will explain why the scan settings differ between Figure 3(b) and Figure 3(c). The detailed settings screen is generated by referring to the scan capability generated based on the scan function information. However, the general-purpose scan software 202 does not support the contrast adjustment function, so it cannot add the contrast adjustment function to the scan function information. Furthermore, even if the scan function information originally included the contrast adjustment function, the general-purpose scan software 202 cannot interpret the contrast adjustment function included in the scan function information, and therefore cannot display the contrast adjustment setting on the detailed settings screen. However, the scan function expansion unit 206 is configured to add the contrast adjustment function to the scan function information 203, and the scan settings screen expansion unit 205 is configured to display the detailed settings screen by referring to the scan capability. With these configurations, the expansion application 204 can display the contrast adjustment setting on the detailed settings screen. Note that Figure 3(c) may also include additional expansion functions other than the contrast adjustment function.
[0035] [Editing process for scan function information: Scan function expansion unit] Here, using Figures 4 and 5, the processing flow in which the scan function expansion unit 206 edits the scan function information 203 will be explained. Each step is realized by the execution of each unit that has been read from the external storage device 114 to the RAM 113 by the CPU 111.
[0036] In S401, the scan function expansion unit 206 acquires capability information from the scan device 102. The capability information consists of attribute information indicating the functions that can be specified on the scan device 102 and the setting values associated with that attribute information. Table 501 in Figure 5 shows an example of a list of capability information acquired from the scan device 102. As shown in Table 501, the scan device 102 can provide information on functions such as read size specification and options that can be set for each function.
[0037] In S402, the scan function expansion unit 206 retrieves a list of scan functions supported by the expansion application 204 from the shared information 208. The list of scan functions supported by the expansion application 204 is stored in the shared information 208 and contains all scan functions that the expansion application 204 can process and their settings. An example of the list of scan functions supported by the expansion application 204 is shown in Table 502 of Figure 5. The list of scan functions supported by the expansion application 204 may be updated due to updates to the expansion application 204, etc.
[0038] In S403, the scan function expansion unit 206 obtains scan function information 203 created by the general-purpose scan software 202 from the OS. Table 503 in Figure 5 shows an example of a list of scan functions supported by the general-purpose scan software 202. The scan function information 203 created by the general-purpose scan software 202 is created based on capability information 501 obtained by the general-purpose scan software 202 from the scan device 102. The scan function information created by the general-purpose scan software 202 only includes scan functions that the general-purpose scan software 202 supports from the capability information obtained from the scan device 102, so the functionality of the scan function information is limited. For example, the capability information obtained from the scan device 102 (Table 501 in Figure 5) includes a contrast adjustment function, but the general-purpose scan software 202 does not support the contrast adjustment function, and therefore the contrast adjustment function is not included in the scan function information. By adding functions and options to the scan function information, the scan function expansion unit 206 makes it possible for 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 created by the general-purpose scan software 202.
[0039] The following steps S404, S405, and S406 are repeated processes for the list of functions contained in the capability information acquired from the scanning device in S401. In this embodiment, these processes are repeated for the 11 types included in Table 501, from reading size: A4H to contrast adjustment: manual (level). In S404, the scan function expansion unit 206 determines whether the function / option being processed exists in the scan function information 203 generated by the general-purpose scan software 202. If the function / option being processed exists in the scan function information 203 (Yes in S404), the process returns to the beginning of the loop. Specifically, the unit selects the next item from the functions / options of the scan function acquired from the scan device 102 and performs S404 again. If the unit is processing the last item from the functions / options of the capability information acquired from the scan device 102, it exits the loop and terminates the flowchart in Figure 4. If the function / option being processed does not exist in the scan function information 203 (No in S404), the process proceeds to S405. In this embodiment, for example, the scan function of the scan device 102, "Scanning destination: Document glass," shown in Table 501A, also exists in Table 503, which is the scan function of the general-purpose scan software 202, so it is determined to be Yes in S404. On the other hand, “Reading size: A4H” shown in Table 501A is not present in Table 503, so it is determined to be No, and the process proceeds to S405.
[0040] In S405, the scan function expansion unit 206 determines whether the function / option being processed exists among the functions / options supported by the expansion application 204. If it is determined that the function / option being processed exists (Yes in S405), the process proceeds to S406. If it is determined that the function / option being processed does not exist (No in S405), the process either repeats S404 as in the case where Yes was determined in S404, or exits the loop and terminates the processing of this flowchart. In this embodiment, for example, if the function being processed is "Contrast Adjustment: Automatic", it also exists in Table 502, which is the scan function of the expansion application 204, so it is determined to be Yes in S405 and the process proceeds to S406. Next, in S406, the scan function expansion unit 206 adds the function / option being processed to the scan function information 203. After processing in S406, if the result in S404 is determined to be Yes, either S404 is repeated or the flowchart in Figure 4 is terminated.
[0041] As described above, the scan function expansion unit 206 adds functions and options that are not supported by the general-purpose scan software 202 but are supported by the scan device 102 and the expansion application 204 to the scan function information 203. Based on the scan function information edited by this process, the scan capabilities are generated. Furthermore, the scan setting screen expansion unit 205 generates a display screen based on the generated scan capabilities, thereby extending the functions not supported by the general-purpose scan software 202 and enabling the display of the detailed settings screen shown in Figure 3(c).
[0042] Scanning process sequence Next, using Figure 6, the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 after the scan application 201 accepts the scan settings will be explained. Note that each step in Figure 6, except for the scan device 102, is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 6 is realized by the CPU 191 of the scan device 102 reading the program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it.
[0043] In S601, the scan application 201 accepts scan settings from the user. The user can instruct the scan application 201 to configure scan settings by operating the pointing device 117 or the keyboard 118. In S602, the scan application 201 displays the scan settings screen shown in Figure 3(a) on the display unit 119. In S603, the scan application 201 accepts detailed setting instructions. The user can specify detailed settings by operating the pointing device 117 or keyboard 118 to select control 302. In S604, the scan application 201 requests the general-purpose scan software 202 to display detailed settings.
[0044] In S605, the general-purpose scan software 202 requests the extended application 204 to display the detailed settings. As mentioned above, in the configuration shown in Figure 2(b), the general-purpose scan software 202 will display the detailed settings screen shown in Figure 3(c). In S606, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen shown in Figure 3(c) on the display unit 119. This is because, as explained in Figure 4, the scan function extension unit 206 adds a contrast adjustment setting to the scan function information. The scan settings screen extension unit 205 displays the detailed settings screen shown in Figure 3(c) on the display unit 119 by referring to the scan capability generated based on the added scan function information. In this embodiment, the extended application 204 supports only one resolution, 300 x 300 dpi, so there is no need for the user to select it, and it is not displayed on the detailed settings screen. Even if it is not selectable, it may be configured to display it on the detailed settings screen to make it clear to the user.
[0045] In S607, the scan settings screen extension unit 205 accepts detailed settings. In this embodiment, as shown in Figure 3(c), the user selects: scan destination: document glass, contrast adjustment: automatic. The accepted settings are stored in RAM 113 by the CPU 111. In S608, the scan settings screen extension unit 205 receives confirmation that the detailed settings have been completed and instructs the system to write the received settings to the scan settings information. The user can signal the completion of the detailed settings by operating the pointing device 117 or keyboard 118 and selecting control 306. When writing to the scan settings information, it is also possible to configure the system to write items that have not been selected by the user, such as resolution. In S609, the extended application 204 sends a message to the general-purpose scanning software 202 indicating that the detailed settings have been completed.
[0046] In the S610, the general-purpose scan software 202 sends a message to the scan application 201 indicating that the detailed settings have been completed. In S611, the scan application 201 receives a scan command. The user can initiate a scan by operating the pointing device 117 or keyboard 118 and selecting control 503. In S612, the scan application 201 issues a scan command to the general-purpose scan software 202. In S613, the general-purpose scan software 202 issues a scan command to the extended application 204.
[0047] In S614, the extended application 204 creates a scan command based on the scan configuration information written in S608. If items that were not selected by the user, such as resolution, are not written to the scan configuration information in S608, the extended application 204 may add them when creating the scan command in S614. Alternatively, it may be configured to operate with the default values of the scan device 102 without adding anything. In step S615, the extended application 204 sends a scan command to the scanning device 102 to perform a scan.
[0048] In S616, the scanning device 102 interprets the scan instruction command and executes the scan. During the scan, it performs the necessary image processing on the image data in accordance with the scan instruction. In this embodiment, if the scan settings shown in Figure 3(c) are configured, the image processing unit 190 performs contrast adjustment on the image data obtained by scanning, as described later. Alternatively, the reading unit 195 may perform the reading operation while adjusting the contrast. In any case, image data adjusted to the specified contrast will be generated. In other words, image data adjusted to the specified contrast will be generated.
[0049] In S617, the scanning device 102 sends the generated image data to the extended application 204. In S618, the extended application 204 sends the received image data to the general-purpose scanning software 202. In S619, the general-purpose scanning software 202 sends the received image data to the scanning application 201. In S620, the scan application 201 accepts image data. In S621, the scan application 201 displays the received image data.
[0050] [Scanning process: Extended application] Here, using Figure 7, we will explain the flow in which the extended application 204 performs the scan process. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111.
[0051] In S701, the extended application 204 accepts a request to display detailed settings. In S702, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen shown in Figure 3(c) on the display unit 119. This is because, as explained in Figure 4, the scan function extension unit 206 has added contrast adjustment settings to the scan function information. The scan settings screen extension unit 205 displays the detailed settings screen shown in Figure 3(c) on the display unit 119 by referring to the scan capability generated based on the added scan function information. In S703, the scan settings screen extension unit 205 determines whether the user has set a function. If the user has set a function (Yes in S703), the CPU 111 proceeds to S704; if the user has not set a function (No in S703), the CPU 111 proceeds to S705.
[0052] S704 accepts detailed settings, the CPU111 stores the accepted settings in RAM113, and then the processing is passed to S705. In S705, the scan settings screen extension unit 205 determines whether the user has given a command to finish the settings. If there is a command to finish the settings (Yes in S705), the CPU 111 accepts that the detailed settings have been completed, writes the accepted settings to the scan settings information, and proceeds to S706. If there is no command to finish the settings (No in S705), it returns to S703 and determines again whether the user has given a command to finish the functions. In S706, the extended application 204 sends a message to the general-purpose scanning software 202 indicating that the detailed settings have been completed. In S707, the extended application 204 determines whether there is a scan command from the general-purpose scan software 202. If there is a scan command (Yes in S706), the CPU 111 proceeds to S708; otherwise, it returns to S707 and determines again whether there is a scan command from the general-purpose scan software 202. In S708, the extended application 204 creates scan command instructions based on the scan configuration information written in S705.
[0053] One way to create scan command instructions in S708 is to extend the standard protocol commands. This extension method involves writing dedicated commands in the extension area of the standard protocol commands. Furthermore, there are methods such as adding proprietary commands to the end of the standard protocol commands, or having the extension application 204 overwrite the standard protocol commands with its own command system. Furthermore, when issuing instructions from the extended application 204, the configuration may be such that instructions and communication are performed using a vendor-specific protocol, regardless of the standard protocol. In S709, the extended application 204 sends a scan command to the scanning device 102 to perform a scan.
[0054] In S710, the extended application 204 determines whether it has received all the image data from the scanning device 102. If all the image data has been received (Yes in S710), the CPU 111 proceeds to S711; otherwise (No in S710), it returns to S710 to determine whether all the image data has been transmitted from the scanning device 102. In S711, the extended application 204 transmits the received image data to the general-purpose scanning software 202.
[0055] [Scanning process: Scanning device] Next, using Figure 8, we will explain the scan process flow of the scanning device 102 that receives a scan command from the extended application 204. Note that each operation (step) shown in the flowchart of Figure 8 is realized by the CPU 191 executing a program stored in the ROM 192. In S801, CPU 191 receives scan instructions sent from extended application 204. S802 analyzes the scan command received by S801 and converts it into a scan setting that allows the scanning device 102 to perform the scanning process. In this embodiment, the scanning settings are made on the document glass with contrast adjustment: automatic and resolution: 300 x 300 dpi.
[0056] In S803, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scan according to the reading settings converted in S802, and configures the ASIC. In S804, the CPU 191 sends a reading instruction to the reading unit 195 according to the reading settings. In this embodiment, an instruction is sent to perform reading on the document glass. In S805, the CPU 191 acquires image data from the reading unit 195. In S806, the CPU 191 and the image processing unit 190 perform image processing on the received image data. In this embodiment, the image is converted to a resolution of 300 x 300 dpi and the contrast is adjusted. The contrast is adjusted automatically by analyzing the image data using the ASIC configured in S803. If the reading unit 195 is capable of reading at 300 x 300 dpi, the reading unit 195 may acquire the image data at 300 x 300 dpi, and S806 may not perform image processing. In this embodiment, the image processing unit 190 performed the contrast adjustment, but the reading unit 195 may perform the reading operation while adjusting the contrast.
[0057] In S807, CPU 191 saves image data to external storage device 199. In S808, CPU191 determines whether the scanning process for all pages has finished. If it determines that it has not finished (S808 is No), CPU191 proceeds to S805 and executes the scanning process for the next page. If it determines that it has finished (S808 is Yes), CPU191 proceeds to S809. In S809, the CPU 191 and the image processing unit 190 convert the image data saved in S807 according to the transmission format setting received in S801. In this embodiment, since the transmission format is not included in the scan instruction received from the extended application 204, it is converted to the default JPEG format of the scanning device 102. However, the transmission format to be converted is not limited to this; any format that can be handled by the information processing device is acceptable. In S810, the converted image data is sent to the extended application 204, and all processing is completed.
[0058] As described above, in this embodiment, the scan setting screen extension unit 205 of the extension application 204 modifies the scan function information 203 based on the general-purpose scan software 202, the extension application 204, and the capability information of the scan device 102. Furthermore, when the user requests the detailed settings screen, the settings screen is displayed based on the scan capabilities generated from the scan function information 203, allowing the user to adjust the contrast. Subsequently, when the scan device 102 receives a scan instruction that reflects the contrast adjustment, it reads the document at the specified contrast. Through this series of processes, the scan device 102 can be equipped with a contrast adjustment function, and the user can be provided with this function.
[0059] Furthermore, while the configuration is such that scan commands to the extended application 204 are issued from the general-purpose scan software 202, this is not limited to this. For example, the scan application 201 could issue commands to the extended application 204, or a control for issuing scan commands could be placed on the detailed settings screen, allowing the user to issue commands directly to the extended application 204. Additionally, the image data could be transferred directly from the extended application 204 to the scan application 201 without going through the general-purpose scan software 202, or from the scan device 102 to the scan application 201. Moreover, the received image data could be saved to the external storage device 114, and only the file path information of the save location could be transferred. Furthermore, in this embodiment, when there are multiple image data, the method is to receive all image data before passing it on, but it is also possible to configure the system to pass on transmitted image data as it is received.
[0060] [Embodiment 2] Embodiment 2 of the present invention will now be described. In Embodiment 1 described above, first, the scanning device 102 interprets the scan setting information, including contrast adjustment, and performs the scan process with the contrast adjustment setting specified on the scanning device 102. However, some scanning devices may not be able to perform contrast adjustment. In such cases, even if the extended application supports it and can generate scan setting information including contrast adjustment specifications, it may not be possible to have the scanning device perform the contrast adjustment process.
[0061] Therefore, in Embodiment 2, first, it is determined from the capability information of the scanning device whether or not contrast adjustment is possible. Next, if contrast adjustment is possible with the scanning device, scan setting information including the contrast adjustment setting specified by the user is generated and passed to the scanning device. On the other hand, if contrast adjustment is not possible with the scanning device, scan setting information without the contrast adjustment setting is generated and passed to the scanning device. After that, the image data read by the scanning device is contrast-adjusted using an extended application. This makes it possible to provide the user with image data adjusted to an arbitrary contrast even if contrast adjustment is not possible with the scanning device. In the following, we will only describe the differences from Embodiment 1.
[0062] Assume that the scanning device 102 is a scanning device that does not support contrast adjustment. The extended application 204 has a different configuration from the extended application 204 of Embodiment 1. Even if contrast adjustment is not included in the capability information acquired from the scanning device, if there is a unit in the extended application 204 that performs contrast adjustment processing of image data, a contrast adjustment specification is added to the scan function information 203. The image data editing unit 207 performs contrast adjustment processing on the image data received from the scanning device 102 based on the contrast setting of the contrast adjustment specification function set by the user. Details will be described later.
[0063] [Editing process for scan function information: Scan function expansion unit] The editing process of scan function information by the scan function extension unit 206 in Embodiment 2 will be explained using Figure 9. Steps common to both Figure 4 and Figure 2 are given the same numbering and their explanations are omitted; the differences will be explained primarily. Note that each step in Figure 9 is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111.
[0064] When the scan function expansion unit 206 completes the repetitive processing from S404 to S406, it proceeds to processing S901. At this point, the scan device 102 does not support the contrast adjustment function. Therefore, the scan function information 203 after the completion of processing S404 to S406 does not include the contrast adjustment function. Therefore, S901 and S902 perform a process to add functions to the scan function information according to the modules that the extended application 204 has, even though they are not included in the capability information returned from the scan device 102. Specifically, in S901, the scan function expansion unit 206 refers to the capability information of the scanning device (Table 501 in Figure 5) and the scan function information 203 to determine whether the expansion application 204 has a module for performing contrast adjustment processing. If it is determined that there is a module for performing contrast adjustment processing (Yes in S901), the process proceeds to S902; if it is determined that there is no such module (No in S901), the process ends. In this embodiment 2, since the image data editing unit 207 can perform contrast adjustment processing, it is determined that the expansion application 204 has a module for performing contrast adjustment processing. Next, in the S902, the scan function expansion unit 206 adds a contrast adjustment function.
[0065] As described above, the function expansion unit 206 first adds functions and options that are not supported by the general-purpose scan software 202 but are supported by the scan device 102 and the expansion application 204 to the scan function information 203. Then, it determines whether the expansion application 204 can perform contrast adjustment processing, and if it can, it adds the contrast adjustment function to the scan function information. As a result of this process, even if the scan device 102 does not support contrast adjustment, the scan setting screen expansion unit 205 generates a display screen based on the scan capabilities generated by the scan function information. Then, it becomes possible to display the detailed settings screen shown in Figure 3(c).
[0066] Scanning process sequence Next, using Figure 10, the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 after the scan application 201 accepts the scan settings will be explained. Note that each step in Figure 10 other than the scan device 102 is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into RAM 113 and executing them. Each step of the scan device 102 in Figure 10 is realized by the CPU 191 of the scan device 102 reading the program stored in ROM 192 or external storage device 199 into RAM 193 and executing it.Hereafter, steps common to Figure 6 will be given the same number and their explanations will be omitted, and the differences will be explained in detail.
[0067] In S1001, the extended application 204 creates a read command. The detailed operation at this time is explained in the flowchart in Figure 11. In step S1002, the image data editing unit 207 performs contrast adjustment on the received image data. This embodiment automatically adjusts the image data to the optimal contrast.
[0068] [Scanning process: Extended application] Here, using Figure 11, we will explain the flow in which the extended application 204 performs the scan process. Steps common to Figure 7 are given the same number and their explanations are omitted, while the differences will be explained primarily. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111. In S1101, the extended application 204 obtains capability information for the scanning device 102 from the shared information 208. If capability information for the scanning device 102 is not available, the scanning function extension unit 206 may request capability information from the scanning device 102 and save it to the shared information 208. The extended application 204 determines from the acquired scan function information and setting information whether there are any function settings that are not supported by the scanning device 102. If it is determined that a function not supported by the scanning device 102 is set (Yes in S1101), the CPU 111 proceeds to S1102. In Embodiment 2, a contrast adjustment function not supported by the scanning device 102 is set, so the process proceeds to S1102. If it is determined that no function not supported by the scanning device 102 is set (No in S1101), the CPU 111 proceeds to S708.
[0069] Next, in S1102, a scan command is created from the extended application 204, excluding unsupported function settings. In this embodiment, the contrast adjustment function is not included in the scan command. Then the process proceeds to S719. Next, we will explain the process that follows when S710 determines that it has received the previous image data. In S1103, the extended application 204 determines from the setting information whether there are any settings that need editing in the image data editing unit 207. If it is determined that there are settings that need editing (Yes in S1103), the CPU 111 proceeds to S1104. In Embodiment 2, a contrast adjustment function that the scanning device 102 cannot execute is set, so the process proceeds to S1104. On the other hand, if it is determined that there are no settings that need editing (No in S1103), the CPU 111 proceeds to S711. In S1104, the image data editing unit 207 automatically adjusts the received image data to the optimal contrast based on the contrast adjustment function settings configured in S703, and proceeds to processing in S711.
[0070] In this embodiment, function settings not supported by the scanning device were excluded from the scan instruction command. However, even if such a function were included in the scan instruction command, the scanning device would not be able to interpret the unsupported instruction command and therefore would not be able to execute the function. For this reason, unsupported functions may be included in the scan instruction command without being excluded. As described above, in Embodiment 2, it is possible to provide the user with a contrast adjustment function even if the scanning device does not support a contrast adjustment function.
[0071] [Embodiment 3] Embodiment 3 of the present invention will now be described. In Embodiments 1 and 2 described above, the extended application 204 and the scanning device 102 are configured to communicate with each other. In Embodiment 3, the general-purpose scanning software 202 interacts with the scanning device 102, and the extended application 204 is configured to perform only scan command extensions and image editing. In the following, we will only describe the differences from Embodiments 1 and 2.
[0072] Scanning process sequence (command extension) Using Figure 12, the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 after the scan application 201 accepts the scan settings will be explained. Steps common to Figure 6 are assigned the same number and their explanations are omitted, with the differences being the main focus of the explanation. Note that each step in Figure 12 other than the scan device 102 is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 12 is realized by the CPU 191 of the scan device 102 reading the program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it.
[0073] In S1201, the general-purpose scan software 202 creates a scan command. At this time, functions that the general-purpose scan software 202 does not support are not included in the scan command. In S1202, the general-purpose scan software 202 passes the created scan command to the extended application 204. In S1203, the extended application 204 extends the received scan command by adding instruction commands for functions not supported by the general-purpose scan software 202 or by modifying existing instructions. In this embodiment, in S1201, since the scan command created by the general-purpose scan software 202 does not include contrast adjustment settings, contrast adjustment settings are added.
[0074] In S1204, the extended application 204 passes the extended scan command to the general-purpose scan software 202. In step S1205, the general-purpose scan software 202 sends a scan command to the scan device 102 and performs the scan command. In S1206, the general-purpose scanning software 202 receives image data from the scanning device 102.
[0075] Scanning process sequence (image editing) Next, using Figure 13, we will explain the sequence of events when the general-purpose scan software 202 and the scan device 102 communicate and image editing is performed using an extended application. Steps common to Figure 12 are given the same number and their explanations are omitted, while the differences will be explained primarily. Note that each step in Figure 13 other than that of the scan device 102 is performed by the CPU 111 reading the scan application 201, the general-purpose scan software 202, and the extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 13 is realized by the CPU 191 of the scan device 102 reading the program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it.
[0076] In S1301, the general-purpose scanning software 202 transmits the received image data to the extended application 204. In S1002, the extended application 204 performs image editing. In this embodiment, contrast adjustment is performed on the received image data based on the contrast adjustment settings configured in the same process as in S1104 in Figure 11. In S1302, the extended application 204 sends the edited image data to the general-purpose scanning software 202.
[0077] As described above, in this embodiment, the extended application 204 extends the contrast adjustment specification command, thereby enabling the scanning device 102 to implement a contrast adjustment function and providing the user with a contrast adjustment function.
[0078] [Embodiment 4] Embodiment 4 of the present invention will now be described. In the first, second, and third embodiments described above, the commands used in the standard protocol were extended and configured to communicate with the scanning device 102. Embodiment 4 describes a configuration in which the standard protocol commands are not extended, and functions supported only by the extended application 204 are communicated with the scanning device 102 using separate commands. In the following, we will only describe the differences from the previously described embodiment.
[0079] Scanning process sequence (sending separate commands) Figure 14 illustrates the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 after the scan application 201 accepts the scan settings. Note that each step in Figure 14, except for the scan device 102, is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 14 is achieved by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it. Steps common to both Figure 6 and Figure 14 are given the same numbering, their explanations are omitted, and the differences are primarily explained.
[0080] In S1401, the general-purpose scan software 202 creates a standard scan instruction command in accordance with the standard protocol. At this time, functions not supported by the standard protocol are not included in the scan instruction command. In S1402, the extended application 204 creates an extended scan command for features that are supported only by the extended application 204. In S1403, the extended application 204 sends a standard scan instruction command to the scanning device 102 and performs a scan instruction. In S1404, the extended application 204 sends an extended scan command to the scanning device 102 and performs a scan command. In S1405, the scanning device 102 interprets the received standard scan instruction command and extended scan instruction command, respectively, and executes the scan process.
[0081] [Scanning process: Extended application] Here, using Figure 15, we will explain the flow in which the extended application 204 performs the scan process. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111. Steps common to Figure 7 are given the same number and their explanations are omitted, while the differences will be explained in detail. In S1501, the extended application 204 creates a standard scan instruction command that conforms to the standard protocol. In S1502, the extended application 204 creates an extended scan command for features not supported by the standard protocol. In S1503, the extended application 204 sends the standard scan instruction command created in S1501 to the scanning device 102. In S1504, the extended application 204 sends the extended scan instruction command created in S1502 to the scanning device 102.
[0082] As described above, in Embodiment 4, the extended application can provide the user with contrast adjustment functionality by sending separate scan command instructions for functions not supported by the standard protocol.
[0083] [Embodiment 5] Embodiment 5 of the present invention will be described below. Embodiment 5 describes a method that allows the user to perform a scan while viewing a preview image and confirming what kind of image data can be obtained depending on the contrast adjustment setting. Below, we will refer to Figures 16A and 16B (hereinafter collectively referred to as "Figure 16") and explain only the differences from the previously described embodiment.
[0084] Figure 16(a) shows an example of a list of capability information obtained from the scanning device 102 in this embodiment, as Table 1601. As shown in Table 1601, the scanning device 102 has obtained information that the preview function is supported (1603). As shown in Table 1602 in Figure 16(b), the extended application 204 also supports preview (1604). Figure 16(c) shows an example of the detailed settings screen where the preview function is available. Figure 16(c) shows the area 1605 for displaying the preview image and the control (1606) for instructing the preview to be performed. When contrast adjustment is set to manual, the contrast can be adjusted by adjusting the slider bar, and pressing the preview control 1606 will display the image with the adjusted contrast in the preview area 1605.
[0085] Scanning process sequence (preview) Using Figure 17, the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 when displaying a preview will be explained. Note that each step in Figure 17 other than the scan device 102 is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into RAM 113 and executing them. Each step of the scan device 102 in Figure 17 is realized by the CPU 191 of the scan device 102 reading the program stored in ROM 192 or external storage device 199 into RAM 193 and executing it.
[0086] In S1701, the extended application 204 accepts a preview display. The user can instruct the preview display by operating the pointing device 117 or keyboard 118 to select control 1606. In S1702, the extended application 204 sends a preview command to the scanning device 102 and issues a scan command for preview. The scan command is created based on the settings received at this point. In this embodiment, a scan command including the received contrast adjustment is created. In S1703, the scanning device 102 interprets the received preview instruction command and executes the scanning process. In this embodiment, the scanning process will be performed with the instructed contrast adjustment. Next, in S1704, the scanning device 102 sends the generated image data to the extended application 204. In S1705, the extended application 204 displays the received preview image.
[0087] [Scanning process: Extended application] Here, using Figure 18, we will explain the flow in which the extended application 204 performs the scan process. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111. In S1801, the scan settings screen extension unit 205 determines whether the user has requested a preview display. If a preview display request has been made (Yes in S1801), the process proceeds to S1802; otherwise (No in S1801), the process proceeds to S705.
[0088] In S1802, the extended application 204 creates a preview image instruction command based on the configuration information stored in S704. In S1802, one way to create preview image instruction commands is to extend standard protocol commands, similar to how scan instruction commands are created. This extension method involves writing dedicated commands in the extension area of the standard protocol commands. Furthermore, it includes methods such as adding proprietary commands to the end of standard protocol commands, or having the extension application 204 overwrite standard protocol commands with its own command system. Furthermore, when issuing instructions from the extended application 204, the configuration may be such that instructions and communication are performed using a vendor-specific protocol, regardless of the standard protocol.
[0089] Next, in S1803, the extended application 204 sends a preview image instruction command to the scanning device 102 to perform a scan. In S1804, the extended application 204 determines whether it has received all of the preview image data from the scanning device 102. If it has received all of the preview image data (Yes in S1804), it proceeds to S1805; otherwise (No in S1804), it returns to S1804 to determine whether it has received the preview image data from the scanning device 102. In S1805, the extended application 204 displays the received preview image data.
[0090] In this embodiment, the preview image is generated using the same processing as the actual image data, but a configuration that generates image data specifically for previewing is also acceptable. For example, to speed up the preview display, methods such as lowering the resolution or increasing the compression ratio to reduce the image size can be used. Furthermore, the preview image may be discarded after the S608's detailed settings are completed or when the detailed settings are canceled, or it may be retained until the final image data is acquired for the purpose of redisplaying it when detailed settings are accepted again.
[0091] Next, we will describe how to update the preview image in the image data editing unit 207 of the extended application 204 if image processing is possible in the image data editing unit 207 after the preview image has been displayed and the settings have been changed. In this case, there is no need to perform another scan with the scanning device 102, and although it differs from the actual final image data, an image of the output can be easily and quickly provided to the user. For example, with contrast adjustment as in this embodiment, it is possible to visualize how the image will change by changing the setting value.
[0092] [Preview image update process: Extended application] Figure 19 illustrates the flow in which the extended application 204 updates the preview image. Each step is achieved by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111.
[0093] In S1901, the extended application 204 determines whether the preview image has already been displayed. If it has been displayed (No in S1901), the process proceeds to S1801; otherwise, the process proceeds to S1902. In S1902, the extended application 204 determines whether the setting change function received in S703 can be processed by the image data editing unit 207. If it can be processed by the image data editing unit (Yes in S1902), the process proceeds to S1903. If it cannot be processed by the image data editing unit (No in S1902), the process proceeds to S1801. In this embodiment, contrast adjustment can be processed by the image data editing unit 207, so the process proceeds to S1903. In S1903, the image data editing unit 207 performs image processing on the preview image. In S1904, the extended application 204 displays the preview image data after image processing.
[0094] Next, we will describe a configuration in which, after displaying the preview image, if the user decides to use the previewed image data as is, the system does not perform another scan, but instead passes the preview image to the actual scan application 201.
[0095] Figure 20 shows an example of a detailed settings screen where a preview image can be saved. Figure 20 displays Control 2001, which is used to instruct the user to save the preview image. When Control 2001 is pressed, the process of saving the preview image is executed.
[0096] Figure 21 illustrates the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 when saving a preview. Note that each step in Figure 21, except for the scan device 102, is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 21 is achieved by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it. Steps common to both Figure 17 and Figure 17 are given the same numbering, their explanations are omitted, and the differences are primarily explained.
[0097] The S1704 accepts scanned images. In S2101, the extended application 204 accepts the saving of a preview image. The user can instruct the system to save the preview image by operating the pointing device 117 or keyboard 118 and selecting control 2001. Upon receiving the instruction to save, the extended application 204 passes the image data to the general-purpose scanning software 202. The general-purpose scanning software 202 then passes the image data to the scanning application 201, allowing the scanning application 201 to handle the image data.
[0098] [Scanning process: Extended application] The flow of the scan process performed by the extended application 204 is explained using Figure 22. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111. Steps common to Figure 18 are given the same number and their explanations are omitted; the differences will be explained primarily. In S2201, the scan settings screen extension unit 205 determines whether the user has requested to save a preview image. If there is a request to save a preview image (Yes in S2201), the process proceeds to S711; if there is no request to save a preview image (No in S2201), the process proceeds to S705. S711 sends the preview image to the general-purpose scanning software 202.
[0099] Next, we will describe a configuration in which the preview is displayed using image data that has been pre-stored internally by the extended application 204, rather than using the actual document data as the preview image. By using pre-stored image data, although it differs from the actual image data, it is possible to provide the user with an image of the final product easily and quickly without the need for scanning. For example, with contrast adjustment as in this embodiment, it is possible to visualize how the image will change by changing the setting value.
[0100] Scanning process sequence (using preview image data) Figure 23 illustrates the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 when displaying a pre-saved preview image. Note that each step in Figure 23, except for the scan device 102, is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 23 is achieved by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it. Steps common to both Figure 17 and Figure 17 are given the same numbering, their explanations are omitted, and the differences are primarily explained.
[0101] In S2301, the extended application 204 displays a preview image corresponding to the received settings. The preview image displayed at this time is configured to store multiple separate preview images corresponding to various settings, and then display the image that matches the settings. Alternatively, it may be configured to perform image processing on a specific preview image data each time before displaying it.
[0102] [Scanning process (preview image update): Extended application] Figure 24 illustrates the flow in which the extended application 204 updates the preview image. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111. Steps common to both Figure 18 and Figure 18 are given the same numbering and their explanations are omitted; the differences are the main focus of this explanation. In S2401, the extended application 204 determines whether the preview has already been displayed. If the preview has already been displayed (Yes in S2401), the process proceeds to S2402; otherwise (No in S2401), the process proceeds to S1801. In S2402, extended application 204 updates and displays the preview image according to the settings. If it is determined in S1801 that the user has requested a preview display (if the answer in S1801 is Yes), the process proceeds to S2403. In S2403, extended application 204 displays a preview image according to the settings.
[0103] As described above, in Embodiment 5, the preview image is displayed in the extended application. By changing the preview image according to the settings, it becomes possible to provide the contrast adjustment function in a way that allows the user to easily visualize the final product.
[0104] (Other examples) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. This embodiment includes the following programs, methods, and configurations. (Program 1) A program that supports the functions of general-purpose scanning software that can be used in common with image processing devices provided by multiple manufacturers, to the computer The image processing device displays a display screen that accepts settings for contrast adjustment of the image to be read by the image processing device. A program characterized by causing the image processing device to output a read command to perform a scan according to the settings received on the display screen. (Program 2) The program according to Program 1, characterized in that the display screen that accepts the above settings changes the items to be displayed based on the scanning capability of the image processing device. (Program 3) The aforementioned settings include the program described in Program 2, which has a setting for automatically adjusting the image to be read. (Program 4) The aforementioned settings include a setting that allows the user to manually adjust the image to be read, as described in Program 2. (Program 5) The image processing device determines whether the received contrast adjustment settings can be implemented. A program according to any one of programs 1 to 5, characterized in that, if it is determined that the received settings cannot be implemented by the image processing device, the program causes the scanned and acquired image data to perform contrast adjustment processing on the image based on the received settings. (Program 6) The reader determines whether the received contrast adjustment settings can be implemented by the reading device. The program according to Program 5, characterized in that, if it is determined that the received settings cannot be implemented by the image processing device, the image processing device outputs an instruction command that does not include an instruction for contrast adjustment. (Program 7) A program according to any one of programs 1 to 6, characterized in that the reading instruction is output to the image processing device via the general-purpose scanning software. (Program 8) When issuing a read instruction to the image processing device that performs the scan, A program as described in any of Programs 1 to 7, characterized by sending instruction commands that extend the instruction commands of the standard protocol. (Program 9) A program according to any one of programs 1 to 7, characterized in that, when issuing a read instruction to the image processing device that performs the scan, it does not send a standard protocol instruction command, but instead sends a proprietary instruction command. (Program 10) A program according to any one of programs 1 to 7, characterized in that, when issuing a read instruction to the image processing device that performs the scan, it sends an extended instruction command in addition to the instruction command of the standard protocol. (Program 11) A program according to any of programs 1 to 10, which outputs a read command to the image processing device based on the settings received, and displays the image read by the image processing device as a preview image on the display screen. (Program 12) The program according to program 11, characterized in that it sends a preview image instruction command when causing the image processing device to output a read instruction. (Program 13) The program described in program 11 or 12 that saves the preview image or allows the user to accept it on the display screen. (Program 14) A program according to any one of programs 11 to 13 that displays the image data saved based on the settings received on the display screen as a preview image on the display screen. (Program 15) The program described in program 14 for updating the preview image based on the settings received. (Method 1) A control method for an information processing device having general-purpose scanning software that can be used in common with image processing devices provided by multiple manufacturers, and an application that supports the functions of the general-purpose scanning software, A display step that displays a display screen that accepts settings for contrast adjustment of the image read by the image processing device, Output process: Outputs a read command to the image processing device to perform a scan according to the settings received on the display screen. A control method characterized by having the following features. (Composition 1) An information processing device having general-purpose scanning software that can be used in common with image processing devices provided by multiple manufacturers, and an application that supports the functions of the general-purpose scanning software, A display means that displays a display screen for accepting settings for contrast adjustment of an image read by the image processing device, Output means that outputs a reading instruction to the image processing device to perform a scan according to the settings received on the display screen. An information processing device characterized by having the following features. [Explanation of symbols]
[0105] 102 Scanning device 111,191 CPU 112,192 ROM 113,193 RAM 119 Display section 201 Scanning Application 202 General-purpose scanning software 203 Scan Function Information 204 Extended Applications 102 Scanning device
Claims
1. A program that supports the functions of general-purpose scanning software that can be used in common with image processing devices provided by multiple manufacturers, to the computer The image processing device displays a display screen that accepts settings for contrast adjustment of the image to be read by the image processing device. A program characterized by causing the image processing device to output a read command to perform a scan according to the settings received on the display screen.
2. The program according to claim 1, wherein the display screen that accepts the above settings changes the items to be displayed based on the scanning capability of the image processing device.
3. The program according to claim 2, characterized in that the aforementioned setting has a setting to automatically adjust the difference between bright and dark parts of the image being read.
4. The program according to claim 2, characterized in that the setting includes a setting that allows the user to manually adjust the level of difference between bright and dark parts of the image to be read.
5. The image processing device determines whether the received contrast adjustment settings can be implemented. The program according to claim 1, characterized in that, if it is determined that the received settings cannot be implemented by the image processing device, it causes the scanned and acquired image data to perform contrast adjustment processing on the image based on the received settings.
6. The reader determines whether the received contrast adjustment settings can be implemented by the reading device. The program according to claim 5, characterized in that, if it is determined that the received settings cannot be implemented by the image processing device, the image processing device is instructed to output an instruction command that does not include an instruction for contrast adjustment.
7. The program according to claim 1, characterized in that it causes the reading instruction to be output to the image processing device via the general-purpose scanning software.
8. When issuing a read instruction to the image processing device that performs the scan, The program according to claim 1, characterized in that it causes the program to send instruction commands that are extensions of instruction commands of a standard protocol.
9. The program according to claim 1, characterized in that, when issuing a read instruction to the image processing device that performs the scan, it does not send a standard protocol instruction command, but instead sends a proprietary instruction command.
10. The program according to claim 1, characterized in that, when issuing a read instruction to the image processing device that performs the scan, it causes the device to send an extended instruction command in addition to the instruction command of the standard protocol.
11. The program according to claim 1, characterized in that, based on the settings received, it causes the image processing device to output a read command, and displays the image read by the image processing device as a preview image on the display screen.
12. The program according to claim 11, characterized in that it sends a preview image instruction command when causing the image processing device to output a read instruction.
13. The program according to claim 11, characterized in that the preview image is saved or accepted on the display screen.
14. The program according to claim 1, characterized in that it displays saved image data as a preview image on the display screen based on the settings received on the display screen.
15. The program according to claim 14, characterized in that it updates the preview image based on the received settings.
16. A control method for an information processing device having general-purpose scanning software that can be used in common with image processing devices provided by multiple manufacturers, and an application that supports the functions of the general-purpose scanning software, A display step that displays a display screen that accepts settings for contrast adjustment of the image read by the image processing device, Output process: Outputs a read command to the image processing device to perform a scan according to the settings received on the display screen. A control method characterized by having the following features.
17. An information processing device having general-purpose scanning software that can be used in common with image processing devices provided by multiple manufacturers, and an application that supports the functions of the general-purpose scanning software, A display means that displays a display screen for accepting settings for contrast adjustment of an image read by the image processing device, Output means that outputs a reading instruction to the image processing device to perform a scan according to the settings received on the display screen. An information processing device characterized by having the following features.
Citation Information
Patent Citations
Server system and application
JP2021033526A