Program, information processing method, and information processing device

The program extends general-purpose scan software to include trimming, masking, and preview functions, addressing limitations in existing drivers to enhance image acquisition and editing capabilities across diverse scanning devices.

JP2025151837APending Publication Date: 2025-10-09CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024053436
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-28
Publication Date
2025-10-09

AI Technical Summary

Technical Problem

Existing general-purpose scan drivers lack support for unique vendor-specific functions such as trimming, masking, and preview, limiting the ability to selectively acquire and edit scanned images.

Method used

A program that extends the functionality of general-purpose scan software to include trimming and masking settings, allowing users to specify and hide parts of scanned images, and supports preview functions, by displaying settings screens and outputting instructions to image reading devices.

Benefits of technology

Enables users to utilize trimming, masking, and preview functions with image reading devices from multiple manufacturers, enhancing image acquisition and editing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025151837000001_ABST
    Figure 2025151837000001_ABST
Patent Text Reader

Abstract

To solve the problem in which, users utilizing standard scanning drivers are limited to functions achievable only with the standard driver, preventing them from specifying features unique to specific scanning vendors.SOLUTION: An extension application 204, which supports the functions of general-purpose scanning software 202 (standard driver) usable across multiple manufacturers' image reading devices, displays a screen (Fig. 3B to Fig. 3D) that accepts settings to make parts of the scanned image invisible, such as trimming settings or masking settings (S606), and issues a scanning instruction to a scanning device 102 based on the settings accepted on the display screen (S620, S621).SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program, an information processing method, and an information processing device that expand or support the functions of general-purpose scan software that can be used in common with image reading devices from multiple manufacturers. [Background technology]

[0002] 2. Description of the Related Art A known configuration uses a scan driver installed in a host computer as control software for a scanning device (image reading device) to issue a reading instruction to a scanning device connected to the host computer.

[0003] An operating system (OS), which is the basic software, is installed on the host computer, and the scan driver is configured according to the specifications defined by the OS and runs when called by the OS. By providing a scan driver that conforms to the OS specifications, vendors (manufacturers) of scanning devices can provide a means for instructing the scanning device to scan using the OS.

[0004] In recent years, Microsoft® Windows® has begun to provide a standard class driver (hereinafter also referred to as a "standard driver") that can be commonly used by scanning devices provided by multiple vendors.

[0005] These standard drivers are included in the OS package and can be easily used by connecting any scanning device to the host computer, eliminating the need to separately install a model-specific scan driver suitable for the scanning device, making them highly convenient.

[0006] The standard driver is also expected to be configured to allow the user to specify scan functions based on scan function information generated based on information obtained from the connected scanning device. This allows users of the standard driver to specify scan functions that correspond to the capabilities of the connected scanning device, even when using a single standard driver. However, this is limited to functions that can be realized by the standard driver alone, and it is not possible to specify functions unique to each scanning vendor.

[0007] Patent Document 1 discloses a program that expands the printing function of general-purpose software (see Patent Document 1). [Prior art documents] [Patent documents]

[0008] [Patent Document 1] Patent Publication No. 2021-033526 Summary of the Invention [Problem to be solved by the invention]

[0009] As with printer drivers, let's consider scan drivers, which are programs that extend the scanning functionality of general-purpose software (standard drivers). For example, functions of a scan driver unique to a scan vendor include trimming settings and masking settings.

[0010] Cropping is a function that allows you to specify a region of a document and acquire an image. By using this function to perform trimming, it is possible to acquire an image from which unnecessary parts of the document have been removed. However, the functions that can be achieved with only the standard driver do not include a trimming setting. Therefore, with only the standard driver, it is not possible to acquire only the image of the required region by trimming.

[0011] Masking is a function that allows you to specify and fill in a specific area of ​​an image. By using this function to mask, you can hide part of the content of a scanned image. However, masking settings are not included in the functions that can be achieved with only the standard driver. Therefore, the masking function cannot be used with only the standard driver.

[0012] Furthermore, if the preview function is not included in the functions that can be realized only with the standard driver, the preview function cannot be used with only the standard driver. As described above, with conventional techniques, it is not possible to use a preview function or a trimming function or a masking function that makes part of a scanned image invisible.

[0013] The present invention has been made to solve the above-mentioned problems, and aims to provide a mechanism that allows users to use functions such as preview functions and cropping and masking functions that hide part of a scanned image, even if they are not supported by general-purpose scanning software that can be used on scanning devices provided by multiple manufacturers. [Means for solving the problem]

[0014] The present invention is characterized by being a program that supports the functions of general-purpose scanning software that can be used in common with image reading devices from multiple manufacturers, and that causes a computer to display a display screen that accepts settings to make part of the read image invisible, and to output a reading instruction that causes the image reading device to perform a scan in accordance with the settings accepted on the display screen. The present invention is also characterized by a program that supports the functions of general-purpose scanning software that can be used in common with image reading devices from multiple manufacturers, and that causes a computer to display a display screen that accepts instructions to display reading settings and a preview image of the read image, outputs instructions to the image reading device to perform a preview scan in response to the instruction to display the preview image on the display screen, and displays the image obtained by the preview scan as a preview image on the display screen. [Effects of the Invention]

[0015] According to the present invention, even if functions such as a trimming function and a masking function for making part of a scanned image invisible and a preview function are not supported by general-purpose scan software that can be commonly used with scan devices provided by a plurality of manufacturers, the user can use these functions. [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 2 is a diagram illustrating the hardware configuration of a scan system according to the present embodiment. [Figure 2] FIG. 2 is a diagram schematically illustrating the software configuration of the scan system according to the present embodiment. [Figure 3A] FIG. 10 is a diagram illustrating an example of a scan setting screen when an extension application is not used. [Figure 3B] FIG. 10 is a diagram illustrating a scan setting screen when an extension application is used. [Figure 3C] FIG. 10 is a diagram illustrating a scan setting screen when an extension application is used. [Figure 3D] FIG. 10 is a diagram illustrating a scan setting screen when an extension application is used. [Figure 4] 10 is a flowchart showing a process in which the scan function extension unit of the first embodiment edits scan function information. [Figure 5A]10A and 10B are diagrams illustrating example capability information acquired from a scanning device, scanning functions supported by an extension application, and scanning functions supported by general-purpose scanning software. [Figure 5B] 10A and 10B are diagrams illustrating capability information acquired from a scanning device and scanning functions supported by an extension application. [Figure 6] FIG. 3 is a diagram illustrating a scan processing sequence according to the first embodiment. [Figure 7] 10 is a flowchart showing a scan process executed by an extension application according to the first embodiment. [Figure 8] 5 is a flowchart showing a scanning process of the scanning device according to the first embodiment. [Figure 9A] 10 is a flowchart showing a process in which a scan function extension unit according to a second embodiment edits scan function information. [Figure 9B] 10 is a flowchart showing a process in which a scan function extension unit according to a second embodiment edits scan function information. [Figure 10] FIG. 10 is a diagram illustrating a scan processing sequence according to the second embodiment. [Figure 11A] 10 is a flowchart showing a scan process executed by an extension application according to a second embodiment. [Figure 11B] 10 is a flowchart showing another example of the scan process executed by the extension application of the second embodiment. [Figure 12] FIG. 10 is a diagram illustrating a scan processing sequence according to the third embodiment. [Figure 13] 10A and 10B are diagrams illustrating a scan processing sequence when image editing is performed by an extension application according to a third embodiment. [Figure 14] FIG. 10 is a diagram illustrating a scan processing sequence according to the fourth embodiment. [Figure 15] 10 is a flowchart showing a scan process executed by an extension application according to a fourth embodiment. [Figure 16] 13 is a flowchart showing an example of a process in which an extension application according to the sixth embodiment updates a preview image. [Figure 17] FIG. 23 is a diagram showing a scan setting screen in the sixth embodiment. [Figure 18] FIG. 20 is a diagram illustrating a scan processing sequence according to the sixth embodiment. [Figure 19] 13 is a flowchart showing a scan process executed by an extension application according to a sixth embodiment. [Figure 20] FIG. 23 is a diagram for explaining another example of another scan processing sequence according to the sixth embodiment. [Figure 21] 13 is a flowchart showing another example of the scan process executed by the extension application of the sixth embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0017] 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 scope of the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention.

[0018] [First embodiment] <Scan system hardware configuration> FIG. 1 is a block diagram illustrating a hardware configuration of a scan system according to an embodiment of the present invention. 1, a host computer 101 is an example of an information processing device. The host computer 101 has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, an input / output interface 116, and a NETIF 120. Note that CPU stands for Central Processing Unit, ROM stands for Read Only Memory, and RAM stands for Random Access Memory.

[0019] 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. The NETIF 120 is a network interface that controls data transfer between external devices via a network.

[0020] An initialization program is stored in the ROM 112. The external storage device 114 is, for example, a hard disk drive (HDD) or a solid state drive (SSD). The external storage device 114 stores a group of application programs, an operating system (OS), and various other data.

[0021] The RAM 113 is used as a work memory or the like when various programs stored in the external storage device 114 are executed, and the various programs are operable within the host computer 101. In this embodiment, the CPU 111 performs processing in accordance with the code of the programs stored in the ROM 112 or the external storage device 114, thereby executing the functions of the host computer 101 described below and the processing related to the flowcharts described below. The input / output interface 116 can be connected to devices such as the scanning device 102 .

[0022] The scanning device 102 is an example of an image reading device, and is connected to the host computer 101 via an input / output interface 198 of the scanning device 102 and an input / output interface 116 of the host computer 101. The input / output interface 198 of the scanning device 102 and the input / output interface 116 of the host computer 101 may be connected via a wired network or a wireless network. Alternatively, the scanning device 102 may be connected to the host computer 101 via a NETIF 197 of the scanning device 102 and a NETIF 120 of the host computer 101.

[0023] The scanning device 102 includes a CPU 191 , a ROM 192 , a RAM 193 , an operation unit 194 , a reading unit 195 , a printing unit 196 , a NETIF 197 , and an input / output interface 198 .

[0024] The CPU 191 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 has hard keys and an operation screen (which may be a display with a touch panel, etc.), and presents information to the user and accepts operations from the user.

[0025] The reading unit 195 is a scanner that reads an image of a document. The printing unit 196 prints an image on a sheet based on image data. Note that the printing unit 196 is not essential. The image processing unit 190 performs various image editing processes on the input image data.

[0026] The external storage device 199 is, for example, an HDD, an SSD, etc. The external storage device 114 stores input image data and various other data. The input / output interface 198 can be connected to a host computer 101 or the like. The NETIF 197 is a network interface that controls data transfer between external devices via a network.

[0027] Here, the host computer 101 and the scanning device 102 are configured as separate devices, but they may also be configured as a single information processing device. Also, a reading setting screen and a detailed setting screen, which will be described later, are displayed on the display unit 119. Note that in this embodiment, an electrophotographic digital multifunction peripheral having multiple functions such as copying, printing, and faxing will be described as an example of a scanning device (image reading device). However, this embodiment is not limited to this, and can also be applied to devices using other processes, such as inkjet processing, or scanners that only read images. The host computer 101 may be a personal computer (PC) such as a desktop PC or a notebook PC, or may be a smartphone or a tablet terminal.

[0028] <Software-based scanning system configuration> FIG. 2 is a diagram illustrating a schematic example of the software configuration of the scan system. The software configuration in Fig. 2 corresponds to functions realized in the host computer 101 by the CPU 111 reading out a program stored in the external storage device 114 in Fig. 1 into the RAM 113 and executing it. Here, the description is based on the premise that the scanning system uses the host computer 101 with Windows 11 from Microsoft Corporation installed as the OS, but the present invention is not limited to this. In other words, the version of Windows is not limited to 11, and any version to which the present invention can be applied may be used. The present invention may also be applied to OSs other than Windows .

[0029] FIG. 2( a ) illustrates a typical configuration where an extension application 204 is not associated with general-purpose scan software 202 and a scan device 102 . FIG. 2B is a diagram illustrating an example of a configuration in which an extension application 204 is associated with general-purpose scan software 202 and a scan device 102. The general-purpose scan software 202 is included (bundled) in advance in the OS, and becomes available when the OS is installed in the host computer 101. The extension application 204 is software for extending or supporting the functions of the general-purpose scan software 202, and is software that is not included (bundled) in advance in the OS.

[0030] <Configuration of Software-Centric Scan System (When the Extension Application 204 is Not Associated)> First, the configuration of the scan system when the extended application 204 is not associated will be described with reference to FIG. The scan application 201 is software that captures scanned content (image data). For example, a document creation application or an image editing application corresponds to the scan application 201. When the scan application 201 receives a scan request from a user, it issues a scan instruction to the OS (not shown). The scan instruction includes scan setting information for instructing the operation of the general-purpose scan software 202 and the scan device 102.

[0031] To execute a scan instruction, the scan application 201 can display a scan setting screen provided by the general-purpose scan software 202, the OS, or the scan application 201. When the advanced settings button on this scan setting screen is pressed, the general-purpose scan software 202 additionally displays an advanced setting screen. The scan setting screen and the advanced setting screen will be described later with reference to FIGS. 3A to 3D.

[0032] The detailed setting screen includes setting items (hereinafter also referred to as "control items") indicating configurable scan functions and control items indicating their setting values ​​according to the capability information (configurable information) of the general-purpose scan software 202. The general-purpose scan software 202 determines the scan capabilities based on the scan function information 203.

[0033] The scan function information 203 is data indicating all configurable scan functions, their setting values, and the exclusive relationships between the setting values. The scan function information 203 is included in a configuration file of the general-purpose scan software 202 and stored in the external storage device 114 as an unmodifiable file. Alternatively, the general-purpose scan software 202 or the OS can dynamically generate the scan function information 203. Specifically, the general-purpose scan software 202 or the OS can be configured to acquire scan device attribute data from the scan device 102 and generate the scan function information 203 based on the attribute information in the acquired attribute data. Note that when the scan function information 203 is dynamically generated, the generated scan function information 203 is editable. In this embodiment, the scan function information 203 is dynamically generated by the general-purpose scan software 202 or the OS.

[0034] The attribute data of the scanning device acquired from the scanning device 102 includes attribute information indicating functions (capabilities of the scanning device) that can be specified by the scanning device 102 and setting values ​​related to the attribute information. This information is stored in the RAM 113.

[0035] With this configuration, the general-purpose scanning software 202 can be configured to allow the user to specify the scan functions available for each scanning device 102 connected to it. In other words, even when scanning devices with different functions or developed by different vendors are connected, the general-purpose scanning software 202 can be configured to allow the user to specify the scan functions available for the connected scanning device. Note that the vendor can also be referred to as the manufacturer of the scanning device 102. Note that, here, a standard class driver that performs scanning based on a standard scanning protocol called Mopria is used as the general-purpose scanning software 202.

[0036] The general-purpose scanning software 202 acquires capability information of the connected scanning device 102 and generates scanning function information 203 based on that information so that the user can specify the scanning functions supported by the connected scanning device 102. However, the general-purpose scanning software 202 does not support the trimming setting function or masking setting function because the trimming setting function and masking setting function are proprietary functions of the scanning device vendor (scanning device manufacturer).

[0037] <Trimming setting function> The trimming setting function is a function that can cut out a specified area in an image and hide unnecessary portions. In other words, the trimming setting function is a function that can hide part of a scanned image. Using this function, a user can remove unnecessary portions of a document and obtain only the necessary portions of the image. The area to be trimmed is not limited to one area in a single image; configurations that allow multiple areas to be trimmed are also known. As will be described in more detail later, in the first embodiment, a configuration is considered in which a trimming area is specified while checking a preview image obtained by a preview scan once with the scanning device 102, and scanning is performed based on the specified trimming area.

[0038] <Masking setting function> The masking setting function is a function that can paint over a specified area in an image to make the specified area invisible. In other words, the masking setting function is a function that can make part of a scanned image invisible. Using this function, a user can hide part of the content of a document by painting over unnecessary parts. A configuration is also known in which the area to be masked is not limited to one area in a single image, but multiple areas can be masked. As will be described in more detail later, in the first embodiment, a configuration is considered in which a masking area is specified while checking a preview image obtained by a preview scan once with the scanning device 102, and scanning is performed based on the specified masking area.

[0039] <Configuration of software-centric scan system (when the extension application 204 is associated)> Next, the configuration of the scan system when the extended application 204 is associated will be described with reference to Fig. 2(b). Note that configurations and processes not specifically mentioned below are the same as those in Fig. 2(a).

[0040] The extension application 204 is software for extending the functionality of the general-purpose scan software 202 and is a program that is not pre-installed (not bundled) with the OS. Therefore, the user must operate the host computer 101 to download and install the extension application 204 from a server or the like via the Internet. Alternatively, the extension application 204 may be automatically installed when the scanning device 102 is connected to the host computer 101. Specifically, when the scanning device 102 is connected to the host computer 101, the OS acquires device identification information from the scanning device 102. The OS may download and install the extension application 204 corresponding to the acquired device identification information from a server via the Internet. In other words, the general-purpose scan software 202 and the extension application 204 are stored in the host computer 101 as separate files.

[0041] The general-purpose scanning software 202 and the extension application 204 may be updated and upgraded, but these update processes are also performed at different times. That is, the timing at which the host computer 101 acquires the general-purpose scanning software 202 is different from the timing at which the extension application 204 is acquired. Furthermore, the trigger at which the host computer 101 acquires the general-purpose scanning software 202 is different from the trigger at which the extension application 204 is acquired. When the extension application 204 is installed, the OS associates the extension application 204 with the general-purpose scanning software 202 and the scanning device 102.

[0042] The extension 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 extension application 204 also includes shared information 208 that can be commonly accessed by each unit. The shared information 208 is actually a file saved in the external storage device 114 or information stored in the RAM 113. The extension application 204 writes and reads information to and from the shared information 208 by using an API (Application Program Interface) provided by the OS.

[0043] The extension application 204 may terminate its operation each time the processing of each unit is completed. In this case, the OS will start the extension application 204 each time it receives a request to use each unit. Furthermore, the extension application 204 may cancel the processing of each unit during its processing. If the processing is canceled, the job being processed is deleted by the OS.

[0044] When the scan application 201 receives a scan request from a user, it issues a scan instruction to the OS. In this configuration, as in the configuration of FIG. 2(a), the scan application 201 can display a scan setting screen. In this configuration, when the advanced settings button on the scan setting screen is pressed, an advanced setting screen provided by the extension application 204 is displayed. Specifically, an advanced setting screen provided by the scan setting screen extension unit 205 included in the extension application 204 is displayed. The scan setting screen extension unit 205 can save the advanced settings set by the user in the shared information 208.

[0045] The extension application 204 has an image data editing unit 207. The image data editing unit 207 acquires image data from the scanning device 102 and performs editing. 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 settings. The extension 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. Also, even in the configuration of FIG. 2(b), there are cases where the user does not perform cropping settings or masking settings. In that case, as in the configuration of FIG. 2(a), the general-purpose scanning software 202 may issue a scan request instruction to the scanning device 102 without going through the extension application 204.

[0046] The extension application 204 has 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 extension application 204. The scan function extension unit 206 can also add functions that are supported by the scan device 102 but not by the general-purpose scan software 202 (e.g., a trimming setting function or a masking setting function), and can add exclusive relationships between setting values ​​of scan functions. The OS starts the scan function extension unit 206 when the extension 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 extension unit 206 at other times, such as when the OS starts up.

[0047] The extension application 204 also 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 reading 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 an OS function, 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 extension 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 a method for clearing the jam.

[0048] Furthermore, the configuration of the extension application 204 for realizing this embodiment is not limited to one having all of the above-mentioned functions (units), but may also have only some of the functions or other functions. The extension application 204 may also be simply called scan software. As described above, the extension application 204 can be said to have at least one of the following functions: The first function is to display a settings screen (scan setting screen extension unit 205). The second function is to edit image data according to detailed settings (image data editing unit 207). The third function is to extend the functions that can be specified in the image data generation software (scan function extension unit 206). The fourth function is to display a screen in response to an error occurring in the scan device 102 (notification unit 209).

[0049] <Example of scan settings screen / detailed settings screen> Next, examples of the scan setting screen and the detailed setting screen in this embodiment will be described with reference to Figures 3A to 3D. Hereinafter, Figures 3A to 3D will be collectively referred to as "Figure 3." FIG. 3A is a diagram illustrating an example of a scan setting screen displayed on the display unit 119 of the host computer 101 by the scan application 201. As shown in FIG. FIG. 3B is a diagram illustrating an example of a detailed setting screen displayed on the display unit 119 of the host computer 101 in a configuration in which the extension application 204 shown in FIG. 2A is not included. 3(c) to 3(h) are diagrams illustrating detailed setting screens displayed on the display unit 119 of the host computer 101 in a configuration in which the extension application 204 shown in FIG. 2(b) is present.

[0050] Note that the units and modules that display the scan setting screen are not limited to those described above. For example, the scan setting screen expansion unit 205 may be configured to only generate a display screen. In this case, the scan setting screen expansion unit 205 transmits 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.

[0051] <Figure 3(a) Scan setting screen displayed by the scan application 201> In the scan settings screen of FIG. 3(a), control 301 has various objects that allow the user to set the scanner (scanning device used for reading) that will perform the scan. Control 303 is a scan start button that starts the scan. Control 304 is a cancel button that cancels the scan. Control 302 is an advanced settings button. When control 304 is pressed, an additional scan screen is displayed on the display unit 119 by the general-purpose scan software 202 or the scan settings screen extension unit 205.

[0052] <Figure 3(b) Advanced setting screen displayed by the general-purpose scan software 202> 3(b) shows an additional setting screen (detailed setting screen) displayed by the general-purpose scan software 202 when the extension application 204 is not installed. Control 305 allows the user to set the reading destination and indicates that the platen is selected. Control 306 is a setting end button, and pressing control 306 returns the user to the scan setting screen in FIG. 3(a).

[0053] <Fig. 3(c) Scan setting screen displayed by the scan setting screen extension unit 205> FIG. 3C is an example of an additional setting screen (detailed setting screen) displayed by the scan setting screen extension unit 205 when the extension application 204 is present. The detailed setting screen of FIG. 3(c) differs from that of FIG. 3(b) in that it has a preview instruction button 307, a preview image display area 308, and a trimming setting button 309.

[0054] When the preview instruction button 307 is pressed, the extended application 204 controls the scanner device set in the control 301 based on the current setting information so that the document is scanned, and displays the scanned image in the preview image display area 308. That is, the preview instruction button 307 accepts an instruction to display a preview image of the read image.

[0055] When the trimming setting button 309 is pressed, the extension application 204 controls the preview image display area 308 so that the trimming setting area 310 can be changed, for example, by a drag operation using the pointing device 117. In other words, it is possible to specify a trimming area according to an area specified on the preview image. The extension application 204 controls the RAM 113 to store coordinate information indicating the thus specified trimming setting area 310.

[0056] As another configuration, as shown in FIG. 3(d), an input form and spin buttons 311 may be provided, and the coordinates of the cropping area may be input as numerical values ​​(for example, numerical values ​​indicating the start point and the end point). As another configuration, the cropping area may be input as numerical values ​​indicating the position of the cropping area (which may be the coordinates of the center, the coordinates of the upper left corner, etc.) and the size of the cropping area. In these cases, too, the extension application 204 stores the input coordinate information in the RAM 113. The extension application 204 changes the display of the cropping setting area 310 based on the values ​​of the input form 311. Conversely, when the cropping setting area 310 is changed by a drag operation, the extension application 204 changes the values ​​of the input form 311 based on the changed cropping setting area 310.

[0057] When displaying preview images of multiple documents, multiple preview images may be displayed in the preview image display area 308, or the preview image to be displayed may be switched using a button. In these cases, the trimming setting area 310 can be set for each preview image, and the extension application 204 associates the trimming setting with the page number and stores it in the RAM 113.

[0058] <FIG. 3(e) Another example of the scan setting screen displayed by the scan setting screen expansion unit 205> FIG. 3(e) is another example of an additional setting screen (detailed setting screen) displayed by the scan setting screen extension unit 205 when the extension application 204 is present. Unlike Fig. 3(b), the detailed setting screen of Fig. 3(e) has a preview instruction button 307, a preview image display area 308, and a masking setting button 329. Note that the preview instruction button 307 is the same as in Fig. 3(c), so a description thereof will be omitted.

[0059] When the masking setting button 329 is pressed, the extended application 204 can change the masking setting area 320 on the preview image display area 308, for example, by dragging the pointing device 117. In other words, it is possible to specify a masking area according to an area specified on the preview image. The extended application 204 controls the RAM 113 to store coordinate information indicating the masking setting area 320 specified in this way.

[0060] Alternatively, as shown in FIG. 3( f), an input form and spin buttons 321 may be provided, and the coordinates of the masking area may be input as numerical values ​​(e.g., numerical values ​​indicating the start point and the end point). Alternatively, the masking area may be input as numerical values ​​indicating the position of the masking area (which may be the coordinates of the center or the coordinates of the upper left corner, etc.) and numerical values ​​indicating the size of the masking area. In these cases, the extended application 204 stores the input coordinate information in the RAM 113. The extended application 204 changes the display of the masking setting area 320 based on the values ​​of the input form 321. Conversely, when the masking setting area 320 is changed by a drag operation, the extended application 204 changes the values ​​of the input form 321 based on the changed masking setting area 320.

[0061] Furthermore, as another configuration, if the capability information of the scanning device 102 and the extended application 204 allows specification of the color to be used to fill the area in the masking process, a button (not shown) may be provided that allows specification of the color to be used to fill the area in the masking process. The color may be specified by displaying color candidates and allowing the user to select a color, or by inputting RGB values, and is not limited to these methods. Note that, in this way, when the color to be used to fill the area in the masking process is specified on the scan setting screen displayed by the extended application 204, the extended application 204 includes an instruction to specify the color to be used to fill the area in the masking process in the scan instruction command output to the scanning device 102.

[0062] 3(c) and 3(d) show examples in which the masking setting area 320 is filled in white. Alternatively, the masking setting area 320 may be displayed by flashing the area, or by displaying only the outline of the area, or by filling it in a specific color. Furthermore, in response to the specification of the fill color, the masking setting area 320 may be filled in with the specified color and displayed as a preview.

[0063] When displaying preview images of multiple documents, multiple preview images may be displayed in the preview image display area 308, or the preview image to be displayed may be switched using a button. In these cases, the masking setting area 320 can be set for each preview image, and the masking setting is associated with the page number and saved in the RAM 113.

[0064] As yet another alternative configuration, the extension application 204 may display a detailed setting screen that combines the settings shown in Figures 3(c) and 3(e). For example, a detailed setting screen having both a trimming setting button 309 and a masking setting button 329 may be displayed, allowing both a trimming setting area 310 and a masking setting area 320 to be set in the preview image display area 308.

[0065] 3(g) and 3(h), a control 390 for changing the function to be set may be provided, and the detailed setting screen may be switched, for example, as shown in Figures 3(g) and 3(h), depending on the function selected by the control 390. In this configuration, both the trimming setting area 310 and the masking setting area 320 may be settable.

[0066] Here, we will explain why the scan setting items are different between Figure 3(b) and Figure 3(c) and Figure 3(e). The following explanation will be given using Figure 3(c) and Figure 3(e), but the same applies to Figure 3(d), Figure 3(f), Figure 3(g), and Figure 3(h).

[0067] The advanced settings screen is generated by referring to the scan capabilities generated based on the scan function information 203. However, because the general-purpose scan software 202 does not support a trimming setting function or a masking setting function, it is not possible to add the trimming setting function or the masking setting function to the scan function information 203. Furthermore, even if the scan function information 203 originally includes a trimming setting function or a masking setting function, the general-purpose scan software 202 cannot interpret the trimming setting function or the masking setting function included in the scan function information 203, and therefore is not able to display the trimming setting function or the masking setting function on the advanced settings screen.

[0068] Therefore, in this embodiment, for example, a configuration will be described in which the scan function extension unit 206 is configured to add a trimming setting function to the scan function information 203, and the scan setting screen extension unit 205 refers to the scan capability and displays the detailed setting screen. With this configuration, the extension application 204 can display the trimming setting on the detailed setting screen. Note that Figure 3(c) may also include additional extension functions other than the trimming setting function. This embodiment also describes a configuration in which the scan function extension unit 206 adds a masking setting function to the scan function information 203, and the scan setting screen extension unit 205 references the scan capability to display the detailed setting screen. This configuration enables the extension application 204 to display the masking setting on the detailed setting screen. Note that Figure 3(e) may also include additional extension functions other than the masking setting function.

[0069] <Flowchart of the scan function extension unit 206 editing the scan function information 203> Here, the processing flow in which the scan function extension unit 206 edits the scan function information 203 will be described with reference to FIGS. 4, 5A, and 5B. 4 is a flowchart showing an example of a process in which the scan function extension unit 206 in the first embodiment edits the scan function information 203. Note that each step of this flowchart is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113. FIG. 5A is a diagram showing an example of a list of capability information acquired from the scanning device 102 and a list of scan functions supported by the extension application 204 in the first embodiment.

[0070] First, in S401, the scan function extension unit 206 acquires capability information from the scan device 102. The capability information is attribute information indicating functions that can be specified in the scan device 102 and setting values ​​related to that attribute information. 5A shows an example of a list of capability information acquired from the scanning device 102. As shown in Table 501, the scanning function extension unit 206 can acquire from the scanning device 102 functions such as scanning size specification and options that can be set for each function.

[0071] Next, in S402, the scan function extension unit 206 obtains a list of scan functions supported by the extension application 204 from the shared information 208. The list of scan functions supported by the extension application 204 is stored in the shared information 208 and contains all scan functions that can be processed by the extension application 204 and their setting values. 5A shows an example of a list of scan functions supported by the extension application 204. The list of scan functions supported by the extension application 204 may be updated when the extension application 204 is updated.

[0072] Next, in S403, the scan function extension unit 206 acquires the scan function information 203 created by the general-purpose scan software 202 from the OS. Table 503 in FIG. 5A shows an example of a list of scan functions supported by the general-purpose scan software 202.

[0073] The scan function information 203 created by the general-purpose scan software 202 is created based on capability information 501 acquired by the general-purpose scan software 202 from the scan device 102. However, the scan function information 203 created by the general-purpose scan software 202 only describes scan functions supported by the general-purpose scan software 202 from the capability information acquired from the scan device 102, and therefore the functions of the scan function information 203 are limited. For example, the capability information 501 acquired from the scan device 102 includes a preview function and a cropping setting function, but the general-purpose scan software 202 does not support these functions. Therefore, the scan function extension unit 206 adds functions and options to the scan function information 203, allowing the extension application 204 to compensate for the lack of functions in the general-purpose scan software 202. The scan function extension unit 206 can also delete unnecessary functions and options from the scan function information 203 created by the general-purpose scan software 202.

[0074] Next, in S404 and S408, the scan function extension unit 206 controls to repeatedly perform the processes shown in S405 to S407 for each function:option included in the capability information acquired from the scan device in S401 above. In the example shown in Table 501, the processes shown in S405 to S407 are repeatedly performed for the 13 types included in Table 501, from "Reading size: A4H" to "Trimming: Supported". First, the scan function extension unit 206 selects one unprocessed item from the function:option included in the capability information acquired from the scan device 102 in S401 above, and proceeds to S405.

[0075] In S405, the scan function extension unit 206 determines whether the function / option being processed exists in the scan function information generated by the general-purpose scan software 202. In the example of Fig. 5A, for example, "Reading destination: Platen" shown in table 501, which is the capability information of the scan device 102, also exists in table 503, which is the capability information of the general-purpose scan software 202, so it is determined as Yes. On the other hand, "Reading size: A4H" shown in table 501 does not exist in table 503, so it is determined as No.

[0076] Here, in S405 above, if the function: option being processed exists in the scan function information generated by the general-purpose scan software 202 (Yes in S405), the scan function extension unit 206 moves on to the processing of the next function: option.

[0077] On the other hand, in S405 above, if the function: option being processed does not exist in the scan function information generated by the general-purpose scan software 202 (No in S405), the scan function extension unit 206 proceeds to S406.

[0078] In S406, the scan function extension unit 206 determines whether the function:option currently being processed exists in the function:options supported by the extension application 204. In the example shown in Fig. 5A, for example, if the function currently being processed is a "trimming setting function," the "trimming setting function" also exists in table 502, which is the capability information of the extension application 204, and therefore the determination is Yes.

[0079] Here, in S406 above, if the function: option being processed exists among the function: options supported by the extension application 204 (Yes in S406), the scan function extension unit 206 advances the process to S407. In S407, the scan function extension unit 206 adds the function: option being processed to the scan function information 203, and moves on to the processing of the next function: option.

[0080] On the other hand, in S406 above, if the function:option being processed does not exist among the functions:options supported by the extension application 204 (No in S406), the scan function extension unit 206 proceeds to the next function:option.

[0081] When proceeding to the next function:option, the scan function extension unit 206 selects the next unprocessed item from the function:options included in the capability information acquired from the scan device 102 in S401 above, and returns the process to S405 (S404, S408). Note that if there are no unprocessed items from the function:options included in the capability information acquired from the scan device 102, the scan function extension unit 206 ends the processing of the flowchart in FIG.

[0082] Another example will now be described with reference to FIG. 5B. 5B is a diagram showing another example of a list of capability information acquired from the scanning device 102 in the first embodiment and a list of scanning functions supported by the extension application 204. Note that the list of scanning functions supported by the general-purpose scanning software 202 is the same as table 503 in FIG. 5A. Only the parts that differ from FIG. 5A will be explained below.

[0083] In the example of Fig. 5B, the capability information (501 in Fig. 5B) acquired from the scanning device 102 includes a preview function and a masking setting function, but the general-purpose scanning software 202 shown as 503 in Fig. 5A does not support the preview function and the masking setting function. Therefore, the scanning function extension unit 206 adds the preview function and the masking setting function to the scanning function information 203, thereby enabling the preview function and the masking setting function to be used. A specific explanation will be given below using the example of Fig. 5B.

[0084] In the example of FIG. 5B, the "preview display function" and "masking setting function" shown in table 501 of FIG. 5B, which is the capability information of the scanning device 102, do not exist in table 503, which is the capability information of the general-purpose scanning software 202. Therefore, if the "preview display function" or "masking setting function" is the function being processed, a "No" determination is made in S405 of FIG. 4. Furthermore, since the "preview display function" and "masking setting function" exist in table 502, which is the capability information of the extension application 204, a "Yes" determination is made in S406. Then, in S407, the "preview display function" and "masking setting function" are added to the scanning capability information 203.

[0085] As described above, the scan function extension unit 206 can add functions / options (e.g., preview display function, trimming function, masking function, etc.) that are not supported by the general-purpose scan software 202, are supported by the scan device 102, and are supported by the extension application 204 to the scan function information 203. Based on the scan function information 203 edited by this process, the general-purpose scan software 202 generates scan capabilities. Furthermore, the scan setting screen extension unit 205 generates a display screen based on the generated scan capabilities, thereby extending functions that are not supported by the general-purpose scan software 202 and making it possible to display detailed setting screens such as those shown in FIGS. 3(c) to 3(h).

[0086] <Sequence after scan application 201 accepts scan settings> Next, the sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 receives the scan settings will be described with reference to FIG. 6 is a diagram illustrating the sequence of operations of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 accepts scan settings. Note that each step other than that of the scan device 102 in FIG. 6 is realized by the CPU 111 reading the scan application 201, the general-purpose scan software 202, and the extension application 204 from the external storage device 114 to the RAM 113 and executing them. Also, each step of the scan device 102 in FIG. 6 is realized by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or the external storage device 199 to the RAM 193 and executing it.

[0087] First, in S601, when the scan application 201 receives a scan setting instruction from the user, the process proceeds to S602. The user can operate the pointing device 117 or keyboard 118 to instruct the scan application 201 to set the scan settings. In S602, the scan application 201 displays the scan setting screen shown in FIG.

[0088] Next, in S603, when the scan application 201 receives an instruction for detailed settings, the process proceeds to S604. The user can instruct detailed settings by operating the pointing device 117 or the keyboard 118 and selecting a control 302. In S604, the scan application 201 requests the general-purpose scan software 202 to display the detailed settings. In response to this request, the general-purpose scan software 202 executes the process of S605.

[0089] In S605, the general-purpose scan software 202 requests the extension application 204 to display the detailed settings. In response to this request, the extension application 204 executes the process of S606.

[0090] In S606, the scan setting screen expansion unit 205 of the extension application 204 displays the detailed setting screen on the display unit 119. As described above, in the configuration of FIG. 2(b), the extension application 204 displays the detailed setting screen as shown in FIG. 3(c) or 3(e). For example, in the example of FIG. 5A, the detailed setting screen as shown in FIG. 3(c) is displayed, and in the example of FIG. 5B, the detailed setting screen as shown in FIG. 3(e) is displayed. This is because, as described in FIG. 4, the scan function expansion unit 206 adds functions (preview function and trimming function in the example of FIG. 5A, and preview function and masking function in the example of FIG. 5B) to the scan function information. The scan setting screen expansion unit 205 references the scan capabilities generated based on the added scan function information and displays the detailed setting screen on the display unit 119. For example, in the example of FIG. 5A, the scan setting screen expansion unit 205 displays the detailed setting screen as shown in FIG. 3(c) or 3(e) on the display unit 119.

[0091] Next, in S607, the scan setting screen expansion unit 205 accepts a preview execution by pressing the preview instruction button 307.

[0092] Next, in S608, the scan setting screen expansion unit 205 instructs the detailed settings currently accepted for preview scanning to be written to the scan setting information, and creates a preview scan instruction command based on the scan setting information. In this embodiment, detailed settings may be accepted before S607 above. For example, as shown in FIG. 3(c), it is assumed that the user has selected "Read destination: Platen" as the reading setting. Although not shown in FIG. 3(c), other detailed reading setting items such as resolution settings may also be accepted. When writing to the scan setting information, items not selected by the user may also be written. The accepted settings are stored in the RAM 113 by the CPU 111.

[0093] Next, in S609, the extension application 204 issues a preview scan instruction by sending the preview scan instruction command created in S608 to the scanning device 102. In response to this preview scan instruction, the scanning device 102 executes the process of S610.

[0094] In S610, the scanning device 102 interprets the preview scan instruction command and executes a scan. In this embodiment, the preview image is generated using the same process as the actual image data, but a configuration is also possible in which image data specifically for preview purposes is generated when a preview scan instruction command is received. For example, to speed up the preview display, methods include lowering the resolution below the setting or increasing the compression rate to reduce the image size. This image generation process for preview scanning may be performed before the image is displayed in the preview image display area 308 in S612, rather than in S610.

[0095] Next, in S611, the scanning device 102 transmits the image data (preview image) generated by the scanning process in S610 to the extension application 204. In response to receiving this image data, the extension application 204 executes the process in S612. In S612, the extension application 204 displays the received preview image in the preview image display area 308.

[0096] Next, in step S613, the scan setting screen expansion unit 205 accepts detailed settings. A specific example will be described below. For example, when the detailed setting screen of FIG. 3C is displayed, selecting the trimming setting button 309 causes the scan setting screen expansion unit 205 to display a trimming setting area 310 for the entire area in the preview image display area 308 and accept changes to the trimming setting area 310. In this embodiment, the area is represented by a dotted line, but other methods of representation, such as blinking the area, may also be used. The user operates the pointing device 117, for example, by dragging the edge of the trimming setting area 310 to change the area's position and size. Numerical values ​​indicating the area's position and size, such as the coordinates of the upper left and lower right corners of the area, change in conjunction with the trimming setting area 310. When the scan setting screen expansion unit 205 accepts the final coordinate data as the trimming setting, it causes the CPU 111 to store the data in the RAM 113. Here, detailed settings other than the trimming setting, such as the scan destination and scan resolution, may also be accepted. Alternatively, the trimming setting button 309 may not be displayed in FIG. 3C, and the trimming setting area 310 may be specified after the preview image is displayed. As yet another alternative configuration, it is also possible to configure the trimming setting area 310 to be specified in the preview image display area 308 without displaying a preview image. Although accurate specification is not possible because a preview image is not displayed, it is possible to shorten the user's setting time because the trimming setting area 310 can be specified without performing a preview scan.

[0097] As another specific example, a case where the detailed setting screen of FIG. 3(e) is displayed will be described. In this case, when the masking setting button 329 is selected, the scan setting screen expansion unit 205 displays a masking setting area 320 for the entire area on the preview image display area 308 and accepts changes to the masking setting area 320. In this embodiment, the area is represented by a dotted line, but other methods of representation, such as blinking the area, may also be used. The user operates the pointing device 117, for example, by dragging the edge of the masking setting area 320 to change the area's position and size. Numerical values ​​indicating the area's position and size, such as the coordinates of the upper left and lower right corners of the area, change in conjunction with the masking setting area 320. When the scan setting screen expansion unit 205 accepts the final coordinate data as the masking setting, it causes the CPU 111 to store the data in the RAM 113. Here, detailed settings other than the masking settings, such as the reading destination and reading resolution, may also be accepted. Alternatively, the masking setting button 329 may not be displayed in FIG. 3(e), and the masking setting area 320 may be specified after the preview image is displayed. As yet another alternative configuration, the masking setting area 320 may be specified for the preview image display area 308 without displaying a preview image. Although accurate specification is not possible because a preview image is not displayed, the masking setting area 320 can be specified without performing a preview scan, thereby reducing the user's setting time.

[0098] Next, in step S614, upon receiving the completion of the detailed settings, the scan setting screen expansion unit 205 instructs the user to write the received settings to the scan setting information. The user can instruct the user to complete the detailed settings by operating the pointing device 117 or keyboard 118 and selecting the control 306.

[0099] Next, in S615, the extension application 204 notifies the general-purpose scan software 202 that the detailed settings have been completed. In response to this notification of the completion of the detailed settings, the general-purpose scan software 202 executes the process of S616. In S616, the general-purpose scan software 202 notifies the scan application 201 that the detailed settings have been completed. In response to this notification of the completion of the detailed settings, the scan application 201 executes the process of S617.

[0100] In S617, when the scan application 201 receives a scan instruction, the process proceeds to S618. The user can issue a scan instruction by operating the pointing device 117 or keyboard 118 and selecting the control 503.

[0101] In S618, the scan application 201 issues a scan instruction to the general-purpose scan software 202. In response to this scan instruction, the general-purpose scan software 202 executes the process of S619. In S619, the general-purpose scan software 202 issues a scan instruction to the extension application 204. In response to this scan instruction, the extension application 204 executes the process of S620.

[0102] In S620, the extension application 204 creates a scan instruction command based on the scan setting information written in S608. Next, in S621, the extension application 204 issues a scan instruction by sending the scan instruction command created in S620 to the scan device 102. The scan device 102 executes the process of S622 in response to this scan instruction.

[0103] In S622, the scanning device 102 interprets the scan instruction command and executes the scan. When executing the scan, the scanning device 102 performs the necessary image processing on the image data in accordance with the scan instruction. For example, if the scan settings include a cropping setting as shown in FIG. 3(c), the scanning device 102 performs cropping on the image scanned at the set reading size and generates image data of the specified area. Also, if the scan settings include a masking setting as shown in FIG. 3(e), the scanning device 102 performs masking on the image scanned at the set reading size and generates image data in which the specified area is filled in.

[0104] Next, in S623, the scanning device 102 transmits the image data generated by the scanning in S622 to the extension application 204. Upon receiving this image data, the extension application 204 executes the process of S624.

[0105] In S624, the extension application 204 transmits the received image data to the general-purpose scan software 202. Upon receiving this image data, the general-purpose scan software 202 executes the process of S625.

[0106] In S625, the general-purpose scan software 202 transmits the received image data to the scan application 201. Upon receiving this image data, the scan application 201 executes the process of S626.

[0107] In S626, the scan application 201 accepts the received image data as the scan result. Next, in S627, the scan application 201 displays the image data received in S626. It is also possible to use the extension application 204 simply as a preview scan function without performing the trimming setting or masking setting in S613.

[0108] Here, the flow of the scan process performed by the extension application 204 will be described with reference to FIG. FIG. 7 is a flowchart showing an example of a scan process executed by the extension application 204 in the first embodiment. Each step is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113.

[0109] First, in S701, when the extension application 204 receives a request to display detailed settings, the process proceeds to S702. In S702, the scan setting screen expansion unit 205 of the extension application 204 displays a detailed setting screen on the display unit 119. As described in FIG. 4, this detailed setting screen is a setting screen in which a preview setting and a trimming setting (in the example of FIG. 5B, a preview setting and a masking setting) have been added to the scan function information by the scan function expansion unit 206. The scan setting screen expansion unit 205 references the scan capabilities generated based on the scan function information to which these settings have been added, and displays a detailed setting screen such as that shown in FIG. 3(c) (in the example of FIG. 5B, FIG. 3(e)) on the display unit 119.

[0110] Next, in S703, the scan setting screen expansion unit 205 determines whether the user has set a function. If the user has set a function (Yes in S703), the scan setting screen expansion unit 205 proceeds to S704. In S704, the scan setting screen expansion unit 205 accepts detailed settings from the user, stores the accepted settings in the RAM 113 by the CPU 111, and advances the process to S705.

[0111] On the other hand, if there is no function setting from the user (No in S703), the scan setting screen expansion unit 205 proceeds to S705.

[0112] In S705, the scan setting screen expansion unit 205 determines whether there is a preview display request from the user. If there is no preview display request (No in S705), the scan setting screen expansion unit 205 proceeds to S706. On the other hand, if a preview display request has been made (Yes in S705), the scan setting screen expansion unit 205 advances the process to S713.

[0113] In S713, the extension application 204 creates a preview scan instruction command based on the setting information stored in S704. The method for creating the preview scan instruction command in S713 can be the same as for the scan instruction command, in that a standard protocol command is first extended. The extension methods include writing a dedicated command in the extension field of the standard protocol command, adding a proprietary command to the end of the standard protocol command, or overwriting the standard protocol command with a proprietary command system by the extension application 204. Furthermore, when issuing an instruction from the extension application 204, the instruction and communication may be configured to be performed using a vendor-specific protocol, regardless of the standard protocol.

[0114] Next, in step S714, the extension application 204 sends the preview scan instruction command created in step S713 to the scanning device 102 to instruct the scanning device 102 to perform a scan. Next, in S715, the extension application 204 determines whether all preview image data has been received from the scanning device 102. If there is still preview image data that has not been received from the scanning device 102 (No in S715), the extension application 204 performs the determination in S715 again. On the other hand, if all the preview image data has been received from the scanning device 102 (Yes in S715), the extension application 204 proceeds to S716. In S716, the extension application 204 displays the received preview image data in the preview image display area 308, and proceeds to S706.

[0115] In S706, the scan setting screen expansion unit 205 determines whether or not there is a setting end instruction from the user. If there is no setting end instruction (No in S706), the scan setting screen expansion unit 205 proceeds to S703. On the other hand, if an instruction to end the settings has been given (Yes in S706), the scan setting screen expansion unit 205 accepts that the detailed settings have been completed, writes the accepted settings into the scan setting information, and proceeds to S707.

[0116] In S707, the extension application 204 notifies the general-purpose scan software 202 that the detailed settings have been completed. Next, in S708, the extension application 204 determines whether or not there is a scan instruction from the general-purpose scan software 202. If there is no scan instruction (No in S708), the extension application 204 performs the determination in S708 again.

[0117] On the other hand, if a scan instruction has been issued (Yes in S708), the extension application 204 advances the process to S709 again. In S709, the extension application 204 creates a scan instruction command based on the scan setting information written in S704. One method for creating a scan instruction command in S709 is to extend the standard protocol command. The extension method involves writing a dedicated command in the extension field of the standard protocol command. Other methods include adding a proprietary command to the end of the standard protocol command, or having the extension application 204 overwrite the standard protocol command with its own command system. Furthermore, when issuing an instruction from the extension application 204, the instruction and communication may be configured to be performed using a vendor-specific protocol, regardless of the standard protocol.

[0118] Next, in S710, the extension application 204 sends the scan instruction command created in S709 to the scanning device 102 to instruct the scanning device 102 to scan. Next, in S711, the extension application 204 determines whether all image data has been received from the scanning device 102. If there is image data that has not yet been received from the scanning device 102 (No in S711), the extension application 204 performs the determination in S711 again.

[0119] On the other hand, if all image data has been received from the scanning device 102 (Yes in S711), the extension application 204 advances the process to S712. In S712, the extension application 204 transmits the received image data to the general-purpose scan software 202, and ends the processing of this flowchart.

[0120] The preview image may be discarded after the completion of the detailed settings in S608 or when the detailed settings are canceled, or may be retained until the final image data is obtained for the purpose of redisplaying it if the detailed settings are accepted again.

[0121] Next, the flow of the scan processing of the scan device 102 that receives a scan instruction from the extension application 204 will be described with reference to FIG. 8 is a flowchart showing an example of a scan process of the scanning device 102 that receives a scan instruction from the extension application 204. Note that each operation (step) shown in the flowchart of FIG. 8 is realized by the CPU 191 executing a program stored in the ROM 192.

[0122] In step S801, when the CPU 191 receives a scan instruction sent from the extension application 204, the process proceeds to step S802.

[0123] In step S802, the CPU 191 analyzes the scan instruction command received in step S801 and converts it into a read setting that enables the scanning device 102 to perform a read process. For example, if a trimming setting is specified in S613 of Fig. 6 from a setting screen such as that shown in Fig. 3(c), the trimming setting specified in S613 is set as the reading setting. If the reading size is not specified, the default setting of A4H size, for example, is used. Note that if the scanning device 102 has the ability to freely set the reading size, the trimming setting may be configured to be set as the reading size. In this case, since it is possible to read only the necessary area from the beginning, no trimming process is required. As another example, if a masking setting is specified on a setting screen such as that shown in Fig. 3(e) in S613 of Fig. 6, the masking setting specified in S613 is set as the reading setting. If the reading size is not specified, the default setting of A4H size is used, for example.

[0124] Next, in S803, the CPU 191 determines the ASIC of the image processing unit 190 to be used for executing scanning in accordance with the reading setting converted in S802, and sets the ASIC.

[0125] Next, in S804, the CPU 191 transmits a reading instruction to the reading unit 195 according to the reading setting. For example, if "Scan size: A4H" and trimming settings are specified on the platen in S613 of Fig. 6, an instruction is sent to scan with "Scan size: A4H" on the platen and the trimming setting set to the area specified in S613 of Fig. 6. When scanning multiple pages, the trimming settings linked to the page number currently being set are applied. As another example, if "Reading size: A4H" and masking settings are specified on the platen in S613 of Fig. 6, an instruction is sent to read with "Reading size: A4H" on the platen and masking settings for the area specified in S613 of Fig. 6. When reading multiple pages, the masking settings associated with the page number currently being set are applied.

[0126] In S805, the CPU 191 acquires image data of A4H size from the reading unit 195. In S806, the CPU 191 and the image processing unit 190 execute image processing on the received image data. In an example where a trimming setting is made, the trimming processing is made on a designated area of ​​the image data. In an example where a masking setting is made, the masking processing is made on a designated area of ​​the image data. In S807, the CPU 191 stores the image data that has been subjected to the image processing in S808 in the external storage device 199.

[0127] Next, in S808, the CPU 191 determines whether scanning of all pages has been completed. If it is determined that there are pages for which scanning has not yet been completed (No in S808), the CPU 191 returns the process to S805 and controls to execute scanning of the next page.

[0128] On the other hand, if it is determined that scanning of all pages has already been completed (Yes in S808), the CPU 191 advances the process to S809. In S809, the CPU 191 and the image processing unit 190 convert the image data saved in the previous S807 in accordance with the transmission format setting received in the previous S801. In this embodiment, the transmission format is not included in the scan instruction received from the extension application 204, so the image data is converted to the default JPEG of the scanning device 102. However, the transmission format to be converted is not limited to this, and any format that can be handled by the information processing device may be used.

[0129] In S810, the CPU 191 transmits the image data converted in S809 to the extension application 204, and ends the processing of this flowchart. Note that the image data may be transmitted to the scan application 201 or the general-purpose scan software 202 (see the third embodiment described below for an example of outputting to the general-purpose scan software 202). Furthermore, the output destination of the image data from the scanning device 102 in S810 is not limited to the host computer 101. For example, the image data may be sent by email, a chat app, fax, or the like to a terminal or multifunction peripheral other than the host computer 101 that issued the scan instruction. In this case, the destination may be input via a detailed setting screen, or may be set by referring to the address book of the host computer 101, or the like.

[0130] 8, the flow of the scan process is described, but the preview scan process is similar. However, in the case of preview scan, as described above, additional image conversion may be performed for preview display. For example, when a preview scan is instructed, in S802, the scan instruction content may be partially ignored and a lower resolution setting may be set among those supported by the scan device 102, or a higher compression rate setting may be set. Alternatively, such conversion may be performed in S809.

[0131] 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 capability information of the general-purpose scan software 202, the extension application 204, and the scan device 102. Furthermore, when a user requests a detailed setting screen, the setting screen is displayed based on the scan capability generated from the scan function information 203, making it possible to accept a preview display and trimming and masking settings from the user. Thereafter, the scan device 102 performs a preview scan based on a preview scan instruction, and the extension application 204 displays a preview image and allows the user to set trimming and masking.

[0132] Thereafter, when the scanning device 102 receives a scan instruction that reflects the trimming setting, it reads the document and cuts out the specified area through the trimming process. Through the above series of processes, the scanning device 102 can realize the trimming function, and it becomes possible to provide the user with the trimming setting function. Furthermore, when a scan instruction reflecting the masking setting is received, the scanning device 102 reads the document and fills in the specified area with a masking process. Through the above series of processes, the scanning device 102 can realize the masking function, and it becomes possible to provide the user with a masking setting function.

[0133] In this embodiment, the configuration of FIG. 2(b) has been described using the detailed setting screens shown in FIG. 3(c) and FIG. 3(e), but the present invention is not limited to this. For example, when a detailed setting display request is made to the general-purpose scan software 202 in S604, the general-purpose scan software 202 may display the detailed setting screen shown in FIG. 3(b). Subsequently, after completing the detailed setting of FIG. 3(b), the general-purpose scan software 202 requests the extension application 204 to display an additional detailed setting screen. In response to this request, the extension application 204 may display an additional detailed setting screen that allows previewing and trimming and masking settings.

[0134] In addition, although the general-purpose scan software 202 has been configured to issue a scan instruction to the extension application 204, this is not limiting. An instruction may be issued from the scan application 201 to the extension application 204, or a control for scan instructions may be placed on a detailed settings screen so that the user can issue an instruction directly to the extension application 204. As a method for transferring image data, the extension application 204 may directly transfer the image data to the scan application 201 without going through the general-purpose scan software 202, or the scan device 102 may transfer the image data to the scan application 201. Alternatively, the received image data may be saved in the external storage device 114, and only information on the file path to the save destination may be transferred.

[0135] Furthermore, in this embodiment, when there are multiple pieces of image data, all the image data are received and then transferred, but the transmitted image data may be transferred as needed. In the above embodiment, a configuration has been described in which trimming settings and masking settings are possible, but the trimming settings and masking settings may be set simultaneously. That is, both the trimming setting for trimming in a specified trimming area and the masking setting for masking a specified masking area may be set simultaneously, and this also applies to the embodiments described below.

[0136] Second Embodiment In the first embodiment, the scanning device 102 interpreted scan setting information including the trimming setting and masking setting, and performed scanning using the trimming function or masking function specified on the scanning device 102. Note that some scanning devices may not support trimming or masking due to cost or other considerations. In such cases, even if the extension application supports the trimming or masking setting and can generate scan setting information including the trimming or masking setting, the scanning device cannot be made to perform the trimming or masking.

[0137] Therefore, in the second embodiment, first, it is determined whether trimming settings, masking settings, etc. are possible based on the capability information of the scanning device. Next, for example, with regard to trimming settings, if the scanning device is capable of trimming, scan setting information including the trimming settings specified by the user is generated and passed to the scanning device. On the other hand, if the scanning device does not support trimming, scan setting information that does not include the trimming settings among the scan settings specified by the user is generated and passed to the scanning device, and image data read by the scanning device is trimmed using an extension application. In other words, if the received trimming settings are not executable by the image reading device performing the scan, the extension application performs trimming on the image read by the image reading device. Furthermore, with regard to masking settings, if the scanning device is capable of masking, scan setting information that includes the masking setting function specified by the user is generated and passed to the scanning device. On the other hand, if the scanning device does not support masking, scan setting information that does not include the masking settings among the scan settings specified by the user is generated and passed to the scanning device, and image data read by the scanning device is masked using an extension application. In other words, if the accepted masking setting is not executable by the image reading device that performs the scan, the extended application performs masking processing on the image read by the image reading device. This makes it possible to provide the user with a trimming setting function or a masking setting function even if the scan device does not support that function. In the following, only the differences from the first embodiment will be described.

[0138] <When the scanning device 102 does not support the cropping function> First, an example will be described in which the scanning device 102 supports a preview function but does not support a trimming function.

[0139] The extension application 204 of this embodiment has a different configuration from the extension application 204 of the first embodiment. Unlike the first embodiment, the scan function extension unit 206 checks whether the extension application 204 has a unit that performs cropping processing on image data, even if the capability information acquired from the scan device 102 does not include a cropping function, and if such a unit is present, adds a cropping setting to the scan function information 203. The image data editing unit 207 performs cropping processing on image data received from the scan device 102 based on the cropping setting set by the user. Details will be described later.

[0140] <Flowchart of the scan function extension unit 206 editing the scan function information 203 in the second embodiment> 9A, the scan function information editing process by the scan function extension unit 206 in the second embodiment will be described below, particularly in the case where the scan device 102 does not support the trimming function. Fig. 9A is a flowchart showing an example of scan function information editing processing by the scan function extension unit 206 in the second embodiment. Note that each step in Fig. 9A is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113. Note that the same step numbers as in Fig. 4 are assigned to the same steps.

[0141] When the repeated processing of S404 to S406 is completed, the scan function extension unit 206 proceeds to S901. Here, it is assumed that the scan device 102 does not support a trimming function. Therefore, the trimming function has not been added to the scan function information 203 after the processing of S404 to S406 is completed. Therefore, in S901 to S902, processing is performed to add a function to the scan function information according to a module that the extension application 204 has, but that is not included in the capability information returned from the scan device 102. This will be explained in detail below.

[0142] Although this is not shown in the figure, since we are describing a case where the scanning device 102 does not support the trimming function, if the trimming function exists in the scanning function information 203 after the processing of S404 to S406 above is completed, the scanning function extension unit 206 will skip the processing of S901 to S902 shown below.

[0143] In S901, the scan function extension unit 206 refers to the table 502 in FIG. 5A and the scan function information 203 to determine whether the extension application 204 has a module that performs trimming processing. Here, if the extension application 204 has a module that performs trimming processing (Yes in S901), the scan function extension unit 206 advances the process to S902. In S902, the scan function extension unit 206 adds the trimming function to the scan function information 203, and ends the processing of this flowchart.

[0144] On the other hand, if the extension application 204 does not have a module that performs trimming processing (No in S901), the scan function extension unit 206 ends the processing of this flowchart.

[0145] As described above, the scan function extension unit 206 first adds function options that are not supported by the general-purpose scan software 202, are supported by the scan device 102, and are supported by the extension application 204 to the scan function information 203. Then, it determines whether the extension application 204 can perform cropping of image data, and if cropping is possible, it adds the cropping function to the scan function information. With this process, even if the scan device 102 does not support (does not support) the cropping function, the scan setting screen extension unit 205 can display the detailed setting screen shown in FIG. 3 by generating a display screen based on the scanning capabilities generated by the scan function information.

[0146] <When the scanning device 102 does not support the masking function> Next, a case will be described in which the scanning device 102 supports a preview function but does not support a masking function. Unlike the first embodiment, the scanning function extension unit 206 of the second embodiment checks whether the extension application 204 includes a unit for performing image data masking processing even if the capability information acquired from the scanning device 102 does not include a masking function, and if such a unit exists, adds a masking setting to the scanning function information 203. The image data editing unit 207 performs masking processing on the image data received from the scanning device 102 based on the masking setting set by the user. Details will be described later.

[0147] <Another Example of Flowchart of the Scan Function Extension Unit 206 Editing the Scan Function Information 203 in the Second Embodiment> 9B, another example of the scan function information editing process by the scan function extension unit 206 in the second embodiment will be described. In particular, the case where the scan device 102 does not support the masking function will be described. Fig. 9B is a flowchart showing another example of the scan function information editing process by the scan function extension unit 206 in the second embodiment. Note that each step in Fig. 9A is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113. Note that the same step numbers as in Fig. 4 are assigned to the same steps.

[0148] When the repeated processing of S404 to S406 is completed, the scan function extension unit 206 proceeds to S911. Here, it is assumed that the scan device 102 does not support the masking function. Therefore, the masking function has not been added to the scan function information 203 after the processing of S404 to S406 is completed. Therefore, in S911 to S912, processing is performed to add a function to the scan function information according to a module that the extension application 204 has, but that is not included in the capability information returned from the scan device 102. This will be explained in detail below.

[0149] Although this is not shown in the figure because it explains the case where the scanning device 102 does not support the masking function, if the masking function exists in the scanning function information 203 after the processing of S404 to S406 above is completed, the scanning function extension unit 206 will skip the processing of S911 to S912 shown below.

[0150] In S911, the scan function extension unit 206 refers to the table 502 in FIG. 5B and the scan function information 203 to determine whether the extension application 204 has a module that performs masking processing. Here, if the extension application 204 has a module that performs masking processing (Yes in S911), the scan function extension unit 206 advances the process to S912. In S912, the scan function extension unit 206 adds the masking function to the scan function information 203, and ends the processing of this flowchart.

[0151] On the other hand, if the extension application 204 does not have a module that performs masking processing (No in S911), the scan function extension unit 206 ends the processing of this flowchart.

[0152] It should be noted that a configuration may be a combination of Figure 9A and Figure 9B. That is, after the processes of S901 and S902 in Figure 9A, the processes of S911 and S912 in Figure 9B may be executed.

[0153] As described above, the scan function extension unit 206 first adds function / options that are not supported by the general-purpose scan software 202, are supported by the scan device 102, and are supported by the extension application 204 to the scan function information 203. Then, it determines whether the extension application 204 has the function of cropping or masking image data. If cropping is possible, the cropping function is added to the scan function information. Also, if masking is possible, the masking function is added to the scan function information. Through this process, even if the scan device 102 does not support the cropping or masking function, the scan setting screen extension unit 205 can display detailed setting screens such as those shown in FIGS. 3(b) to 3(h) by generating a display screen based on the scanning capabilities generated from the scan function information.

[0154] <Sequence after the scan application 201 receives scan settings in the second embodiment> Next, the sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 receives the scan settings will be described with reference to FIG. 10 is a diagram illustrating the sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 accepts scan settings in the second embodiment. Note that each step in FIG. 10 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 extension application 204 from the external storage device 114 to the RAM 113 and executing them. Each step of the scan device 102 in FIG. 10 is realized by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or the external storage device 199 to the RAM 193 and executing it. Note that the same step numbers are assigned to steps that are the same as those in FIG. 6.

[0155] When the extension application 204 of the second embodiment receives a scan instruction from the general-purpose scan software in S619, it executes the process of S1001. In step S1001, the extension application 204 generates a read instruction command. Details of this process will be described with reference to the flowcharts in Figures 11A and 11B. When the extension application 204 of the second embodiment receives image data from the scanning device 102, it executes the process of S1002.

[0156] In S1002, the image data editing unit 207 of the extension application 204 performs image editing on the image data received from the scanning device 102. For example, if a cropping setting is made from a setting screen such as that shown in Fig. 3(c) in S613, the image data editing unit 207 crops the image data in a specified area to create different image data. Also, if a masking setting is made from a setting screen such as that shown in Fig. 3(e) in S613, the image data editing unit 207 masks the image data in a specified area to create different image data.

[0157] <When the extension application 204 executes the trimming process> Here, a flow in which the extension application 204 executes the trimming process will be described with reference to FIG. 11A. 11A is a flowchart showing an example of scanning processing executed by the extension application 204 of the second embodiment. Each step is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113. The same step numbers as in FIG. 7 are assigned to the same steps.

[0158] When a scan instruction is received from the general-purpose scan software 202 (Yes in S708), the extension application 204 of the second embodiment advances the process to S1101. In S1101, the extension application 204 acquires capability information of the scanning device 102 from the shared information 208. If the capability information of the scanning device 102 is not available, the scan function extension unit 206 may request the capability information from the scanning device 102 and store it in the shared information 208. Then, the extension application 204 determines, from the acquired capability information and setting information, whether there is a function setting (described here as a trimming setting) that is not supported by the scanning device 102.

[0159] If the setting information includes a function setting that is not supported by the scanning device 102 (Yes in S1101), the extension application 204 advances the process to S1102. In S1102, the extension application 204 creates a read instruction command by performing settings excluding function settings (here, trimming settings) that are not supported by the scanning device 102, and the process proceeds to S710. On the other hand, if the setting information does not include any function settings that are not supported by the scanning device 102 (No in S1101), the extension application 204 proceeds to S709.

[0160] Furthermore, if the extension application 204 of the second embodiment has received all the image data from the scanning device 102 (Yes in S711), the process proceeds to S1103. In S1103, the extension application 204 determines from the setting information whether there is any setting that needs to be edited by the image data editing unit 207.

[0161] Here, if a function that is not supported by the scanning device 102 (here, a trimming function) is set, the extension application 204 determines that there is a setting that requires editing in the image data editing unit 207 (Yes in S1103), and proceeds to S1104. In S1104, the image data editing unit 207 performs a trimming process on the received image data based on the trimming setting set in S704, and the process proceeds to S712. On the other hand, if there is no setting that requires editing in the image data editing unit 207 (No in S1103), the extension application 204 proceeds to S712.

[0162] As described above, in the second embodiment, even if the scanning device does not support the trimming function, it is possible to provide the user with a trimming setting function.

[0163] <When the extension application 204 executes the masking process> Here, a flow in which the extended application 204 executes the masking process will be described with reference to FIG. 11B. 11B is a flowchart showing another example of the scan process executed by the extension application 204 of the second embodiment. Each step is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113. The same step numbers are assigned to steps that are the same as those in FIG. 7.

[0164] When a scan instruction is received from the general-purpose scan software 202 (Yes in S708), the extension application 204 of the second embodiment advances the process to S1111. In S1111, the extended application 204 acquires capability information of the scanning device 102 from the shared information 208. Then, the extended application 204 determines whether there is a function setting (here, described as a masking setting) that is not supported by the scanning device 102, based on the acquired capability information and setting information.

[0165] If the setting information includes a function setting that is not supported by the scanning device 102 (Yes in S1111), the extension application 204 proceeds to S1112. In S1112, the extension application 204 creates a read instruction command by performing settings excluding function settings (here, masking settings) that are not supported by the scanning device 102, and the process proceeds to S710. On the other hand, if the setting information does not include any function settings that are not supported by the scanning device 102 (No in S1111), the extension application 204 proceeds to S709.

[0166] Furthermore, if the extension application 204 of the second embodiment has received all the image data from the scanning device 102 (Yes in S711), the process proceeds to S1113. In S1113, the extension application 204 determines from the setting information whether there is any setting that needs to be edited by the image data editing unit 207.

[0167] Here, if a function that is not supported by the scanning device 102 (here, a masking function) is set, the extended application 204 determines that there is a setting that requires editing in the image data editing unit 207 (Yes in S1113), and proceeds to S1114. In S1114, the image data editing unit 207 performs masking processing on the received image data based on the masking settings made in S703 to S704 above, and the process proceeds to S712. On the other hand, if there is no setting that requires editing in the image data editing unit 207 (No in S1113), the extension application 204 proceeds to S712.

[0168] As described above, in the second embodiment, even if the scanning device does not support the masking function, it is possible to provide the user with a masking setting function.

[0169] Third Embodiment In the first and second embodiments, the extension application 204 and the scanning device 102 communicate with each other. In the third embodiment, a configuration will be described in which the general-purpose scan software 202 communicates with the scanning device 102, and the extension application 204 only performs scan command extension and image editing. Note that only the differences from the first and second embodiments will be described below.

[0170] The sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 receives the scan settings will be described with reference to FIG. 12 is a diagram illustrating the sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 accepts scan settings in the third embodiment. Note that each step in FIG. 12 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 extension application 204 from the external storage device 114 to the RAM 113 and executing them. Each step of the scan device 102 in FIG. 12 is realized by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or the external storage device 199 to the RAM 193 and executing it. Note that the same step numbers are assigned to steps that are the same as those in FIG. 6.

[0171] The scan application 201 of the third embodiment issues a scan instruction to the general-purpose scan software 202. When the general-purpose scan software 202 receives the scan instruction from the scan application 201 in S618, it executes the process of S1201.

[0172] In S1201, the general-purpose scanning software 202 creates a scan instruction command. At this time, the general-purpose scanning software 202 does not write a scan instruction command for a function that the general-purpose scanning software 202 does not support. Next, in S1202, the general-purpose scan software 202 passes the scan instruction command created in S1201 to the extension application 204. Upon receiving this scan instruction command, the extension application 204 executes the process of S1203.

[0173] In S1203, the extension application 204 adds instructions for functions not supported by the general-purpose scan software 202 to the received scan instruction command or modifies existing instructions, thereby extending the command (creating a scan instruction command). For example, if the scan settings received from the user in S613 include a trimming setting, but the scan instruction command created by the general-purpose scan software 202 in S1201 does not include a trimming setting, the extension application 204 adds the trimming setting here. Also, if the scan settings received from the user in S613 include a masking setting, but the scan instruction command created by the general-purpose scan software 202 in S1201 does not include a masking setting, the extension application 204 adds the masking setting here.

[0174] Next, in S1204, the extension application 204 passes the scan instruction command extended in S1203 to the general-purpose scan software 202. Upon receiving this scan instruction command, the general-purpose scan software 202 executes the process of S1205.

[0175] In S1205, the general-purpose scan software 202 issues a scan instruction by transmitting the received scan instruction command to the scan device 102. Upon receiving this scan instruction command, the scan device 102 executes the process of S622.

[0176] In S622, the scanning device 102 interprets the scan instruction command and executes the scan. Furthermore, in S1206, the scanning device 102 transmits the image data generated by the scanning in S622 to the general-purpose scanning software 202. Upon receiving the image data from the scanning device 102, the general-purpose scanning software 202 executes the process of S625.

[0177] Next, as another example, a sequence for performing image editing such as trimming and masking using the extension application 204 when the general-purpose scan software 202 and the scan device 102 communicate with each other will be described with reference to FIG. 13 is a diagram illustrating a sequence for performing image editing using the extension application 204 when the general-purpose scan software 202 and the scan device 102 communicate with each other in the third embodiment. Note that each step other than that for the scan device 102 in FIG. 13 is performed by the CPU 111 reading the scan application 201, the general-purpose scan software 202, and the extension application 204 from the external storage device 114 to the RAM 113 and executing them. Each step for the scan device 102 in FIG. 13 is performed by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or the external storage device 199 to the RAM 193 and executing it. Note that the same step numbers are used for steps that are the same as those in FIGS. 10 and 12.

[0178] When image editing is performed by the extension application 204, upon receiving image data from the scanning device 102 in step S1206, the general-purpose scanning software 202 executes the process in step S1301. In S1301, the general-purpose scan software 202 transmits the image data received in S1206 to the extension application 204. Upon receiving this image data, the extension application 204 executes the process of S1002.

[0179] In S1002, the extension application 204 performs image editing. For example, if a trimming setting is made, the extension application 204 performs the trimming process in the same manner as S1104 in Fig. 11A. Also, if a masking setting is made, the extension application 204 performs the masking process in the same manner as S1114 in Fig. 11B. Next, in step S1302, the extension application 204 transmits the image data edited in step S1002 to the general-purpose scan software 202.

[0180] As described above, in this embodiment, the extended application 204 extends the reading instruction command, thereby enabling the scanning device 102 to realize trimming setting functions and masking setting functions, thereby making it possible to provide the user with the trimming setting functions and masking setting functions.

[0181] [Fourth embodiment] In the first to third embodiments, the commands used in the standard protocol are extended to communicate with the scanning device 102. In the fourth embodiment, a configuration will be described in which the commands of the standard protocol are not extended, and functions supported only by the extension application 204 are communicated with the scanning device 102 using separate commands. Note that only differences from the above-described embodiments will be described below.

[0182] The sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 receives the scan settings will be described with reference to FIG. 14 is a diagram illustrating the sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 accepts scan settings in the fourth embodiment. Note that each step in FIG. 14 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 extension application 204 from the external storage device 114 to the RAM 113 and executing them. Each step of the scan device 102 in FIG. 14 is realized by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or the external storage device 199 to the RAM 193 and executing it. Note that the same step numbers are assigned to steps that are the same as those in FIG. 6.

[0183] When the extension application 204 of the fourth embodiment receives a scan instruction from the general-purpose scan software in S619, it executes the process of S1401. In S1401, the general-purpose scan software 202 creates a standard scan instruction command in accordance with the standard protocol. At this time, the general-purpose scan software 202 does not include in the scan instruction command any functions that are not supported by the standard protocol. In step S1402, the extension application 204 creates an extended scan instruction command for functions supported only by the extension application 204. For example, trimming processing and masking processing are described in the extended scan instruction command.

[0184] Next, in step S1403, the extension application 204 transmits a standard scan instruction command to the scanning device 102. In step S1404, the extension application 204 transmits an extended scan instruction command to the scanning device 102.

[0185] When the scanning device 102 receives the standard scan instruction command and the extended scan instruction command from the extension application 204, the scanning device 102 executes the process of S1405. In S1405, the scanning device 102 interprets the received standard scan instruction command and extended scan instruction command, and executes the scan process.

[0186] Here, the flow of the scan process performed by the extension application 204 will be described with reference to FIG. 15 is a flowchart showing an example of scanning processing executed by the extension application 204 in the fourth embodiment. Each step is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113. The same step numbers as in FIG. 7 are assigned to the same steps.

[0187] When a scan instruction is received from the general-purpose scan software 202 (Yes in S708), the extension application 204 of the fourth embodiment advances the process to S1501. In S1501, the extension application 204 creates a standard scan instruction command in accordance with the standard protocol. In step S1502, the extension application 204 creates an extended scan command for a function not supported by the standard protocol, such as a trimming process or a masking process, and writes the command in the extended scan command.

[0188] Next, in step S1503, the extension application 204 transmits the standard scan instruction command created in step S1501 to the scanning device 102. In step S1504, the extension application 204 transmits the extended scan instruction command created in step S1502 to the scanning device 102.

[0189] As described above, in the fourth embodiment, for functions that are not supported by the standard protocol, the extended application can send a separate scan instruction command, thereby providing the user with trimming setting functions and masking setting functions.

[0190] Fifth Embodiment In the first embodiment described above, when masking is set, the user determines the masking area by setting the masking setting area 320. In this embodiment, however, a configuration is described in which the masking area is determined automatically. Only the differences from the first embodiment are described below. Note that the OCR processing used in this embodiment is a known technology, and a detailed description thereof will be omitted.

[0191] In the fifth embodiment, a setting button (not shown in FIG. 3E) is provided for instructing whether or not to perform automatic masking area setting during preview scanning. The purpose of automatic masking area setting is to automatically determine the masking area by using OCR to identify areas containing information that should be masked, such as date of birth or phone number, when scanning a document containing personal information. The automatic masking area setting may be configured to allow users to individually specify which items, such as date of birth, name, or phone number, to be masked using check boxes, or it may be configured to determine which items are predetermined. The automatic masking area setting is saved in RAM 113.

[0192] When a preview scan is performed with the automatic masking area setting enabled, the extended application 204 performs OCR on the scanned image under the control of the CPU 111 to determine areas that include specified items before displaying the preview image in step S716 of Fig. 7. Then, the extended application 204 determines a masking area that includes these areas. The number of masking areas determined here may be multiple. Furthermore, the image displayed in the preview image display area 308 in S716 displays the masking area determined above as a masking setting area 320. If automatic masking area setting is enabled after a preview scan is performed, the extended application 204 performs OCR on the preview image under the control of the CPU 111 to determine areas that include specified items. Then, a masking area is determined to include these areas. Multiple masking areas may be determined here. The masking areas determined above are then displayed in the masking setting area 320.

[0193] Thereafter, when scanning is performed, the scanning device 102 performs masking processing on the scanned image based on the masking region settings determined above, in the same manner as in the first embodiment. This allows the user to automatically set a masking area without having to set it, thereby reducing the amount of work required.

[0194] In this embodiment, the extended application 204 has an OCR function. However, if the scanning device 102 also has an OCR function, the scanning device 102 may perform OCR and determine the masking area. In this case, if the extended application 204 and scanning device 102 support automatic masking area setting, a setting button for automatic masking area setting is displayed in FIG. 3E. When a preview scan is performed with the setting enabled, the extended application 204 adds "automatic masking area setting" and information about the items to be masked to the preview scan instruction command. Upon receiving the preview scan instruction command, the scanning device 102 performs OCR on the scanned image using the CPU 191 to determine the area containing the items to be masked. The scanning device 102 notifies the extended application 204 of the image data and information about the determined masking area. The extended application 204 displays a masking setting area 320 for the preview image based on the received masking area information.

[0195] Note that, in the present embodiment, an example configuration has been described in which OCR is performed on the preview scan results to determine the masking area, but a configuration in which OCR is performed on the scan results without performing a preview scan is also possible. In this case, masking is performed on the masking area determined by OCR processing. In a configuration based on the first embodiment, OCR processing and masking are performed on the scanning device 102 side. In addition, in a configuration based on the second embodiment, OCR processing may be performed by either the scanning device 102 or the extended application 204, and masking is performed by the extended application 204. In these configurations, there is no need to perform a preview scan, which can reduce the work time.

[0196] Sixth Embodiment In the sixth embodiment, a further configuration relating to the preview function in the first embodiment will be described. Note that only the differences from the above-described embodiments will be described below.

[0197] 6, if a setting change is made in S613 after a preview image is displayed in S612, and if image processing is possible in the image data editing unit 207 on the extension application 204 side, a method of updating the preview image in the image data editing unit 207 will be described. In this case, there is no need to perform another scan with the scanning device 102. Although the updated preview image differs from the actual final image data, it is possible to easily and quickly provide the user with an image of the final product. For example, in the case of color mode settings, it is possible to visualize how the image will change by changing the setting value.

[0198] The flow in which the extension application 204 updates the preview image will be described with reference to FIG. 16 is a flowchart showing an example of a process in which the extension application 204 of the sixth embodiment updates a preview image. Each step is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113. The same step numbers as in FIG. 7 are assigned to the same steps.

[0199] After saving the detailed settings received from the user in S704, the extension application 204 advances the process to S1601. In S1601, the extension application 204 determines whether a preview image has already been displayed. If a preview image has not yet been displayed (No in S1601), the scan setting screen extension unit 205 proceeds to S705. On the other hand, if the preview image has already been displayed (Yes in S1601), the scan setting screen expansion unit 205 advances the process to S1602.

[0200] In S1602, the extension application 204 determines whether the setting change function accepted in S703 can be processed by the image data editing unit 207. If the setting change function cannot be processed by the image data editing unit 207 (No in S1602), the scan setting screen extension unit 205 proceeds to S705. On the other hand, if the image data editing unit 207 can process it (Yes in S1602), the scan setting screen expansion unit 205 advances the process to S1603. For example, since the color mode setting can be processed by the image data editing unit 207, the process advances to S1603.

[0201] In S1603, the image data editing unit 207 performs image processing on the preview image. Next, in S1604, the extension application 204 displays the preview image data that has been subjected to image processing in S1603, and the process proceeds to S705.

[0202] Next, a configuration will be described in which, after a preview image is displayed, if the user decides to save the previewed image data as image data as is, the preview image is actually passed to the scan application 201 without scanning again. FIG. 17 is a diagram showing an example of a detailed setting screen on which a preview image can be saved. 17 displays a control (1701) for instructing to save a preview image. When the control 1701 is pressed, the extension application 204 executes a process for saving the preview image.

[0203] The sequence of operations of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 accepts scan settings when saving a preview will be described with reference to FIG. 18 is a diagram illustrating the sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 after the scan application 201 accepts scan settings when saving a preview in the sixth embodiment. Note that each step other than that of the scan device 102 in FIG. 18 is performed by the CPU 111 reading the scan application 201, the general-purpose scan software 202, and the extension application 204 from the external storage device 114 to the RAM 113 and executing them. Each step of the scan device 102 in FIG. 18 is realized by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or the external storage device 199 to the RAM 193 and executing it. Note that the same step numbers are assigned to steps that are the same as those in FIG. 6.

[0204] In the sixth embodiment, when the extension application 204 displays a preview image in the preview image display area 308 in S612, it controls so that a request to save the preview image can be accepted. The user can instruct saving of the preview image by operating the pointing device 117 or the keyboard 118 to select the control 1706. When instructed to save, in S1801 the extension application 204 accepts saving of the preview image and proceeds to S624. In S624, the extension application 204 passes image data of the preview image to the general-purpose scan software 202. Then, the general-purpose scan software 202 passes the image data to the scan application 201 (S625), allowing the scan application 201 to handle the image data of the preview image.

[0205] Here, the flow of the scan process performed by the extension application 204 will be described with reference to FIG. 19 is a flowchart showing an example of scanning processing executed by the extension application 204 in the sixth embodiment. Each step is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113. The same step numbers are assigned to steps that are the same as those in FIG. 7.

[0206] After the extension application 204 of the sixth embodiment displays the preview image data in the preview image display area 308 in S716, the process proceeds to S1901. In S1901, the scan setting screen expansion unit 205 of the extension application 204 determines whether the user has requested to save the preview image. If the user has not requested to save the preview image (No in S1901), the scan setting screen expansion unit 205 proceeds to S706. On the other hand, if the user requests to save the preview image (Yes in S1901), the scan setting screen extension unit 205 proceeds to S712. In this case, in S712, the extension application 204 sends the preview image to the general-purpose scan software 202. This allows the preview image data to be saved as a scanned image without rescanning after the preview is displayed.

[0207] Next, we will explain a configuration in which a preview image is displayed using predetermined image data that is internally stored in the extension application 204, rather than using actual document data as the preview image. By using pre-stored image data, although it differs from actual image data, it is possible to easily and quickly provide the user with an image of the finished product without the need for scanning. For example, in the case of color mode settings, it is possible to imagine how the image will change by changing the setting value.

[0208] The sequence of the scan application 201, the general-purpose scan software 202, the extension application 204, and the scan device 102 when a pre-stored preview image is displayed will be described with reference to FIG. 20 is a diagram illustrating the sequence of the scan application 201, general-purpose scan software 202, extension application 204, and scan device 102 when displaying a pre-stored preview image. Note that each step in FIG. 20 other than that of the scan device 102 is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extension application 204 from the external storage device 114 to the RAM 113 and executing them. Each step in FIG. 20 of the scan device 102 is realized by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or the external storage device 199 to the RAM 193 and executing it. Note that the same step numbers are assigned to steps that are the same as those in FIG. 6.

[0209] When displaying a pre-stored preview image, the scan setting screen extension unit 205 of the extension application 204 displays the detailed setting screen on the display unit 119 in S606, and then controls the preview instruction button 307 to accept display of the preview image. In S2001, when the extension application 204 receives a request to display a preview image via the preview instruction button 307, the process proceeds to S2002.

[0210] In S2002, the extension application 204 displays a preview image corresponding to the accepted settings. The preview image displayed at this time may be configured to display an image corresponding to the settings from among multiple preview images corresponding to various settings stored separately in the external storage device 114, or may be configured to perform image processing on specific preview image data each time and display the image.

[0211] Hereinafter, a flow in which the extension application 204 updates a preview image will be described with reference to FIG. 21 is a flowchart showing an example of a process for updating a preview image by the extension application 204. Note that each step is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113.

[0212] When displaying a pre-stored preview image, the extension application 204 saves the detailed settings received from the user in S704, and then proceeds to S2101. In S2101, the extended application 204 determines whether a preview has already been displayed. If a preview has not yet been displayed (No in S2101), the extended application 204 proceeds to S705.

[0213] On the other hand, if the preview has already been displayed (Yes in S2101), the extension application 204 advances the process to S2102. In S2102, the extension application 204 updates and displays the preview image according to the settings, and proceeds to S705.

[0214] If a preview display request is received from the user (Yes in S705), the extension application 204 advances the process to S2103. In S2103, the extension application 204 displays a preview image according to the settings, and proceeds to S706.

[0215] As described above, in the sixth embodiment, a preview image is displayed in the extension application. Then, by changing the preview image according to the settings, the user can easily imagine the final product.

[0216] Note that, depending on the capability response of the scanning device, it may be possible to switch between performing a preview scan and displaying a preview using predetermined image data that has been stored in advance. For example, if the scanning device 102 supports a preview function, the extension application 204 performs a preview scan and displays a preview, whereas if the scanning device 102 does not support the preview function, the extension application 204 controls the device to display a preview using predetermined image data that has been stored in advance.

[0217] As described above, even if the trimming function is not supported by general-purpose scanning software that can be used on scanning devices provided by multiple manufacturers, the trimming function can be made available to users by using a program (extension application) that extends or supports the functions of the general-purpose scanning software. Furthermore, even if the masking function is not supported by general-purpose scanning software that can be used in common with scanning devices provided by multiple manufacturers, the masking function can be made available to users by using a program (extension application) that extends or supports the functions of the general-purpose scanning software. In other words, even if general-purpose scanning software that can be used on scanning devices provided by multiple manufacturers does not support a function that makes part of a scanned image invisible (such as a trimming function or a masking function), a program (extension application) that extends or supports the functions of the general-purpose scanning software can allow users to use the function that makes part of a scanned image invisible. Furthermore, even if the preview function is not supported by general-purpose scanning software that can be commonly used with scanning devices provided by a plurality of manufacturers, the preview function can be made available to the user by using a program (extension application) that extends or supports the function of the general-purpose scanning software. In this way, even if a function is not supported by general-purpose scanning software that can be used in common with scanning devices provided by multiple manufacturers, the function can be made available to the user by using a program (extension application) that extends or supports the function of the general-purpose scanning software.

[0218] It goes without saying that the configurations and contents of the various data described above are not limited to those described above, and that the data may be configured in various configurations and contents depending on the application and purpose. Although one embodiment has been described above, the present invention can be embodied as, for example, a system, an apparatus, a method, a program, a storage medium, etc. Specifically, the present invention may be applied to a system made up of multiple devices, or may be applied to an apparatus made up of a single device. Furthermore, the present invention also includes any combination of the above embodiments.

[0219] Other Embodiments The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. Furthermore, the present invention may be applied to a system made up of multiple devices, or to an apparatus made up of a single device. The present invention is not limited to the above-described embodiments, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and are not excluded from the scope of the present invention. In other words, all configurations that combine the above-described embodiments and their modifications are included in the present invention.

[0220] The disclosure of 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 image reading devices from multiple manufacturers, On the computer, Display a display screen that accepts settings to make part of the scanned image invisible, a program for outputting a reading instruction for causing an image reading device to execute a scan in accordance with the settings received on the display screen; (Program 2) The computer further comprises: instructing the image reading device that executes the scan to execute a preview scan, and displaying an image obtained by the preview scan on the display screen as a preview image; The program according to program 1, wherein the display screen is a display screen that accepts the setting to be specified according to an area specified on the preview image. (Program 3) 3. The program according to claim 1 or 2, wherein the area to be made invisible by the setting is displayed on the preview image on the display screen. (Program 4) the display screen accepts an instruction to display a preview image of the read image; 4. The program according to program 2 or 3, wherein the preview image is displayed in response to the display instruction. (Program 5) A program described in any one of programs 1 to 4, characterized in that the display screen is a display screen that accepts the setting by specifying a number indicating the position and size of the area to be made invisible. (Program 6) A program described in any one of programs 1 to 4, characterized in that the display screen is a display screen that accepts the setting by specifying a number indicating the start point and an end point of the area to be made invisible. (Program 7) The computer further comprises: A program described in any of programs 1 to 6 for performing processing according to the settings on an image read by an image reading device when the settings received from the display screen are not settings that can be executed by the image reading device performing the scan. (Program 8) The program described in program 7 is characterized in that if the setting received from the display screen is not a setting that can be executed by the image reading device performing the scan, the reading instruction does not include an instruction corresponding to the setting. (Program 9) 9. The program according to any one of programs 1 to 8, wherein a read instruction corresponding to the setting is given by a command different from a command conforming to a standard protocol. (Program 10) 10. The program according to any one of programs 1 to 9, wherein the setting items displayed on the display screen are changed according to the capabilities of the image reading device that performs the scan. (Program 11) 11. The program according to any one of Programs 1 to 10, wherein the setting for making a part of the read image invisible is a trimming setting. (Program 12) 11. The program according to any one of Programs 1 to 10, wherein the setting for making a part of the read image invisible is a masking setting. (Program 13) the masking setting that can be accepted from the display screen includes information on a color to be masked; The program described in program 12 is characterized in that, when the masking setting received from the display screen includes information on the color to be masked, the reading instruction includes a reading instruction based on the information on the color to be masked. (Program 14) A program that supports the functions of general-purpose scanning software that can be used in image reading devices from multiple manufacturers, On the computer, A display screen is displayed that accepts instructions for displaying the scan settings and a preview image of the scanned image. A program for outputting an instruction to cause an image reading device to perform a preview scan in response to an instruction to display the preview image on the display screen, and displaying the image obtained by the preview scan as a preview image on the display screen. (Program 15) The computer further comprises: a program according to program 14 for causing the image data obtained by the preview scan to be processed in accordance with the settings received on the display screen; (Program 16) the display screen can accept a request as to whether or not to save the preview image as a scanned image; The computer further comprises: The program according to program 14 or 15, for saving the preview image as a read image when saving the preview image is accepted on the display screen. (Program 17) A program described in any one of programs 14 to 16, characterized in that, depending on the capability of the image reading device performing the scan, switching between performing the preview scan and displaying the image obtained by the preview scan as a preview image, or displaying specified image data as a preview image. (Method 1) An information processing method in a computer that supports functions of general-purpose scan software that can be commonly used in image reading devices from multiple manufacturers, comprising: a display step of displaying a display screen that accepts a setting to make a part of the read image invisible; an instruction step of outputting a reading instruction to cause an image reading device to perform scanning in accordance with the setting received on the display screen; An information processing method comprising: (Method 2) The information processing method according to Method 1, wherein the setting for making part of the scanned image invisible is a trimming setting. (Method 3) The information processing method according to Method 1, wherein the setting for making part of the scanned image invisible is a masking setting. (Method 4) An information processing method in a computer that supports functions of general-purpose scan software that can be commonly used in image reading devices from multiple manufacturers, comprising: a first display step of displaying a display screen for receiving an instruction to display a read setting and a preview image of the read image; a second display step of outputting an instruction to an image reading device to execute a preview scan in response to an instruction to display the preview image on the display screen, and displaying an image obtained by the preview scan on the display screen as a preview image; An information processing method comprising: (Configuration 1) An information processing device that supports functions of general-purpose scan software that can be used in common with image reading devices from multiple manufacturers, a display means for displaying a display screen that accepts a setting for making a part of the scanned image invisible; an instruction step of outputting a reading instruction to cause an image reading device to perform scanning in accordance with the setting received on the display screen; An information processing device comprising: (Configuration 2) 2. The information processing apparatus according to configuration 1, wherein the setting for making a part of the scanned image invisible is a trimming setting. (Configuration 3) 2. The information processing apparatus according to configuration 1, wherein the setting for making a part of the scanned image invisible is a masking setting. (Configuration 4) An information processing device that supports functions of general-purpose scan software that can be used in common with image reading devices from multiple manufacturers, a first display means for displaying a display screen for receiving an instruction to display a read setting and a preview image of the read image; a second display means for outputting an instruction to cause an image reading device to execute a preview scan in response to an instruction to display the preview image on the display screen, and displaying an image obtained by the preview scan on the display screen as a preview image; An information processing device comprising: [Explanation of symbols]

[0221] 101 host computer 102 Scanning Device 202 General-purpose scanning software 204 Extended Applications

Claims

1. A program that supports the functions of general-purpose scanning software that can be used in image reading devices from multiple manufacturers, On the computer, Display a display screen that accepts settings to make part of the scanned image invisible, a program for outputting a reading instruction for causing an image reading device to execute a scan in accordance with the settings received on the display screen;

2. The computer further comprises: instructing the image reading device that executes the scan to execute a preview scan, and displaying an image obtained by the preview scan on the display screen as a preview image; 2. The program according to claim 1, wherein the display screen is a display screen that accepts the setting so as to be designated in accordance with an area designated on the preview image.

3. 3. The program according to claim 2, wherein the area to be made invisible by the setting is displayed on the preview image on the display screen.

4. the display screen accepts an instruction to display a preview image of the read image; 3. The program according to claim 2, wherein the preview image is displayed in response to the display instruction.

5. 2. The program according to claim 1, wherein the display screen accepts the setting by specifying a numerical value indicating the position and size of the area to be made invisible.

6. 2. The program according to claim 1, wherein the display screen accepts the setting by specifying numerical values ​​indicating a start point and an end point of the area to be made invisible.

7. The computer further comprises: The program of claim 1, which, if the settings received from the display screen are not settings that can be executed by the image reading device performing the scan, causes the image read by the image reading device to be processed in accordance with the settings.

8. The program according to claim 7, characterized in that if the setting received from the display screen is not a setting that can be executed by the image reading device that performs the scan, the reading instruction does not include an instruction corresponding to the setting.

9. 2. The program according to claim 1, wherein the read instruction corresponding to the setting is issued by a command different from a command conforming to a standard protocol.

10. 2. The program according to claim 1, wherein the setting items displayed on the display screen are changed depending on the capabilities of the image reading device that executes the scan.

11. 11. The program according to claim 1, wherein the setting for making a part of the scanned image invisible is a trimming setting.

12. 11. The program according to claim 1, wherein the setting for making a part of the scanned image invisible is a masking setting.

13. the masking setting that can be accepted from the display screen includes information on a color to be masked; The program according to claim 12, characterized in that, when the masking setting received from the display screen includes information on the color to be masked, the reading instruction includes a reading instruction based on the information on the color to be masked.

14. A program that supports the functions of general-purpose scanning software that can be used in image reading devices from multiple manufacturers, On the computer, A display screen is displayed that accepts instructions for displaying the scan settings and a preview image of the scanned image. A program for outputting an instruction to cause an image reading device to perform a preview scan in response to an instruction to display the preview image on the display screen, and displaying the image obtained by the preview scan as a preview image on the display screen.

15. The computer further comprises:

15. The program according to claim 14, for causing the image data obtained by the preview scan to be processed in accordance with settings received on the display screen.

16. the display screen can accept a request as to whether or not to save the preview image as a scanned image; The computer further comprises: The program according to claim 14 , wherein when a request to save the preview image is accepted on the display screen, the program saves the preview image as a scanned image.

17. The program according to claim 14, characterized in that, depending on the capabilities of the image reading device performing the scan, switching is performed between performing the preview scan and displaying the image obtained by the preview scan as a preview image, or displaying specified image data as a preview image.

18. An information processing method in a computer that supports functions of general-purpose scan software that can be commonly used in image reading devices from multiple manufacturers, comprising: a display step of displaying a display screen that accepts a setting to make a part of the read image invisible; an instruction step of outputting a reading instruction to cause an image reading device to perform scanning in accordance with the setting received on the display screen; An information processing method comprising:

19. 19. The information processing method according to claim 18, wherein the setting for making a part of the scanned image invisible is a trimming setting.

20. 19. The information processing method according to claim 18, wherein the setting for making a part of the scanned image invisible is a masking setting.

21. An information processing method in a computer that supports functions of general-purpose scan software that can be commonly used in image reading devices from multiple manufacturers, comprising: a first display step of displaying a display screen for receiving an instruction to display a read setting and a preview image of the read image; a second display step of outputting an instruction to an image reading device to execute a preview scan in response to an instruction to display the preview image on the display screen, and displaying an image obtained by the preview scan on the display screen as a preview image; An information processing method comprising:

22. An information processing device that supports functions of general-purpose scan software that can be used in common with image reading devices from multiple manufacturers, a display means for displaying a display screen that accepts a setting for making a part of the scanned image invisible; an instruction step of outputting a reading instruction to cause an image reading device to perform scanning in accordance with the setting received on the display screen; An information processing device comprising:

23. 23. The information processing apparatus according to claim 22, wherein the setting for making a part of the scanned image invisible is a trimming setting.

24. 23. The information processing apparatus according to claim 22, wherein the setting for making a part of the scanned image invisible is a masking setting.

25. An information processing device that supports functions of general-purpose scan software that can be used in common with image reading devices from multiple manufacturers, a first display means for displaying a display screen for receiving an instruction to display a read setting and a preview image of the read image; a second display means for outputting an instruction to cause an image reading device to execute a preview scan in response to an instruction to display the preview image on the display screen, and for displaying an image obtained by the preview scan on the display screen as a preview image; An information processing device comprising:

Citation Information

Patent Citations

  • Server system and application

    JP2021033526A