Application program, storage medium, information processing method, and information processing apparatus

The application program allows users to set scanning resolution independently of the manufacturer, addressing the limitations of standard drivers by supporting resolution settings in scanning software for multiple manufacturers, thereby optimizing image quality and processing efficiency.

JP2025167046APending Publication Date: 2025-11-07CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024071327
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-25
Publication Date
2025-11-07

AI Technical Summary

Technical Problem

Standard drivers for scanning devices do not support vendor-specific functions such as resolution setting, limiting users' ability to scan at desired resolutions.

Method used

An application program that supports scanning software for multiple manufacturers, featuring a screen display code for resolution settings and a reading instruction code to instruct image processing devices based on user-defined resolution.

Benefits of technology

Enables users to set and achieve optimal scanning resolution according to their preferences, enhancing image quality while managing file size and processing time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025167046000001_ABST
    Figure 2025167046000001_ABST
Patent Text Reader

Abstract

To provide an application program that supports scan software usable in common for image processing apparatuses from a plurality of manufacturers and allows a user to use a resolution setting function, a storage medium, an information processing method, and an information processing apparatus.SOLUTION: An application support program for supporting scan software usable in common for image processing apparatuses from a plurality of manufacturers has a screen display code for displaying a display screen that receives settings of the resolution of an image, and a reading instruction code for instructing the image processing apparatus to read of an image of a document on the basis of the resolution that is set.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an application program, a storage medium, an information processing method, and an information processing device. [Background technology]

[0002] Conventionally, a configuration has been known in which a user issues scan instructions to a scanning device from a host computer using a scan driver installed on the host computer as software for controlling the scanning device. 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 is called by the OS to operate. For this reason, vendors (manufacturers) of scanning devices provide scan drivers that conform to the OS specifications as a means of issuing scan instructions to the scanning device.

[0003] In recent years, Windows® has begun to provide standard class drivers (hereinafter referred to as "standard drivers") that can be used with scanning devices from multiple vendors. Such standard drivers are included in the OS package, allowing users to easily use any scanning device simply by connecting it to a host computer. This eliminates the need to separately install a model-specific scan driver suited to the scanning device, providing greater convenience. Furthermore, standard drivers are expected to generate scan function information based on information acquired from the connected scanning device and allow users to specify scan functions based on the scan function information. In this case, users of a standard driver can specify scan functions appropriate to the capabilities of the connected scanning device, even while using a single standard driver. However, this is limited to functions that can be implemented using the standard driver alone, and does not allow users to specify vendor-specific scan functions that cannot be implemented using the standard driver alone.

[0004] On the other hand, Patent Document 1 discloses a program that expands the printing function of general-purpose software. [Prior art documents] [Patent documents]

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

[0006] However, Patent Document 1 does not disclose a program that expands the scanning function of general-purpose software.

[0007] For example, one of the functions of a vendor's proprietary scan driver is resolution setting. Resolution setting allows you to set the resolution of the image that will be output after scanning by the scanning device. The higher the set resolution, the better the quality of the output image will be, but the data size will also increase, and the processing time will increase. However, by using this function, the scanning device will be able to perform optimal scanning according to the resolution set by the user.

[0008] However, the standard driver assumes that the scan function does not include a resolution setting, and in that case, the host computer on which the standard driver is installed will not be able to scan at the resolution the user desires.

[0009] The present invention has been made in view of the above-mentioned problems, and aims to provide an application program, a storage medium, an information processing method, and an information processing device that support scan software that can be used in common with image processing devices from multiple manufacturers and enable users to use a resolution setting function. [Means for solving the problem]

[0010] In order to solve the above problem, the application program of the present invention is an application program that supports scanning software that can be used commonly with image processing devices from multiple manufacturers, and is characterized by having a screen display code that displays a display screen that accepts image resolution settings, and a reading instruction code that instructs the image processing device to read an image of a document based on the set resolution. [Effects of the Invention]

[0011] According to the present invention, it is possible to support scan software that can be used in common with image processing devices from a plurality of manufacturers, and to make the resolution setting function available to the user. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a block diagram showing a hardware configuration of a scan system according to a first embodiment. [Figure 2] FIG. 2 is a block diagram showing the software configuration of the scan system. [Figure 3] FIG. 10 is a diagram showing an example of a screen displayed on a display unit of the scanning system. [Figure 4] 3 is a flowchart showing a process in which the scan function extension unit in FIG. 2 edits scan function information. [Figure 5] FIG. 10 is a diagram illustrating an example of a list of scan information. [Figure 6] 3 is a sequence diagram showing processing according to the first embodiment that is executed between the scan application, general-purpose scan software, extension application, and scan device after the scan application in FIG. 2 accepts scan settings. FIG. [Figure 7] 10 is a flowchart showing details of processing according to the first embodiment, which is executed by an extension application. [Figure 8] 10 is a flowchart illustrating a process executed by a scanning device that receives a scan instruction from an extension application. [Figure 9] 10 is a flowchart showing a scan function information editing process performed by a scan function extension unit in the second embodiment. [Figure 10] FIG. 10 is a sequence diagram showing processing according to the second embodiment that is executed between the scan application, general-purpose scan software, extension application, and scan device after the scan application accepts scan settings. [Figure 11] 10 is a flowchart showing details of processing executed by an extension application in the second embodiment. [Figure 12] FIG. 11 is a sequence diagram showing processing according to the third embodiment, which is executed between the scan application, general-purpose scan software, extension application, and scan device after the scan application accepts scan settings. [Figure 13] FIG. 13 is a sequence diagram showing a modified example of the process of FIG. [Figure 14] FIG. 11 is a sequence diagram showing processing according to the fourth embodiment, which is executed between the scan application, general-purpose scan software, extension application, and scan device after the scan application accepts scan settings. [Figure 15] 10 is a flowchart showing processing according to the fourth embodiment, which is executed by an extension application. DETAILED DESCRIPTION OF THE INVENTION

[0013] Hereinafter, each embodiment of the present invention will be described in detail with reference to the drawings. Note that the configurations described in each of the following embodiments are merely examples, and the scope of the present invention is not limited to the configurations described in each embodiment. For example, each component constituting the present invention can be replaced with any configuration that can perform the same function. Also, any component may be added. Furthermore, any two or more configurations (features) of each embodiment can be combined.

[0014] <<First Embodiment>> The first embodiment will be described below with reference to FIGS.

[0015] <Scan system hardware configuration> FIG. 1 is a block diagram showing the hardware configuration of a scan system 1000 according to the first embodiment.

[0016] As shown in FIG. 1, the scanning system 1000 includes a host computer 101, a scanning device (scanner) 102 which is an example of an image processing device, a pointing device 117, a keyboard 118, and a display unit 119, all of which are connected to each other so that they can communicate with each other.

[0017] The host computer 101 is an example of an information processing device, and includes an input interface 110, a CPU 111, a NETIF 120, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Note that the host computer 101 may be, for example, a desktop personal computer, but is not limited to this, and may also be, for example, a notebook personal computer, a tablet terminal, a smartphone, etc.

[0018] 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.

[0019] The CPU 111 is a computer that executes programs stored in the ROM 112 or the external storage device 114. In this embodiment, the CPU 111 performs processing in accordance with the code of the program stored in the ROM 112, thereby executing the functions and processing of the host computer 101.

[0020] The NETIF 120 is a network interface that controls data transfer between external devices via a network.

[0021] 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). Application programs, an operating system (OS), and various other data are stored in the external storage device 114. In this embodiment, the host computer 101 is equipped with Microsoft Windows (registered trademark) as the OS. The external storage device 114 (storage medium) is not particularly limited, and may be, for example, a hard disk drive (HDD) or a solid state drive (SSD). The RAM 113 is used as a work memory or the like when various programs stored in the external storage device 114 are executed, allowing the various programs to run within the host computer 101.

[0022] The display unit 119 displays, for example, a scan setting screen 300A and a detailed setting screen 300C, which will be described later. The input / output interface 116 is connected to the scanning device 102. This allows the host computer 101 to communicate with scanning devices 102 from multiple manufacturers, regardless of the manufacturer of the scanning device 102, i.e., allows information to be processed between the host computer 101 and the scanning device 102 from multiple manufacturers. The host computer 101 and the scanning device 102 may be connected by wire or wirelessly.

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

[0024] The CPU 191 is a computer that executes programs stored in the ROM 192 and the external storage device 199 and comprehensively controls the scanning device 102. The ROM 192 is a memory that stores programs. The RAM 193 is a memory that temporarily stores programs and image data. The operation unit 194 can issue various operational instructions to the scanning device 102. 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 generated by, for example, reading the image of the document by the reading unit 195. Note that the printing unit 196 may be omitted. The NETIF 197 is a network interface that controls data transfer between the device and external devices via a network. The input / output interface 198 is connected to the host computer 101. The image processing unit 190 receives image data generated by, for example, reading the image of the document by the reading unit 195 and performs various editing processes on the input image data.

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

[0026] <Software-based scanning system configuration> Fig. 2 is a block diagram showing the software configuration of the scan system. The software configuration in Fig. 2 is stored in the external storage device 114 in Fig. 1. Here, the scan system will be described assuming that the host computer 101 is running Microsoft (registered trademark) Windows 11 as its OS.

[0027] 2(a) is a diagram showing a typical configuration when an extension application (application program) 204 is not associated with the general-purpose scan software 202 and the scan device 102. FIG. 2(b) is a diagram showing a configuration when the extension application 204 is associated with the general-purpose scan software 202 and the scan device 102.

[0028] The general-purpose scanning software 202 is a general-purpose program (scanning software) that can be used commonly with scanning devices 102 from multiple manufacturers, for example, when scanning (reading images), and is pre-installed in the OS. The extension application 204 is a program that supports, i.e., assists, the general-purpose scanning software 202. In this embodiment, the extension application 204 is an extension program (a program that executes a control method) that can extend functions that the general-purpose scanning software 202 cannot execute for the scanning device 102, but is not limited to this. For example, the extension application 204 may be a program that improves the usability of functions that the general-purpose scanning software 202 can execute for the scanning device 102. The extension application 204 is stored in the external storage device 114, for example, together with the OS (general-purpose scanning software 202). As a result, the host computer 101 has the general-purpose scanning software 202 and the extension application 204.

[0029] First, the configuration of the scan system when it is not associated with the extended application 204 and the scan device 102 will be described with reference to FIG. 2(a).

[0030] The scan application 201 is software that captures content (image data) generated by scanning with the scanning device 102. The scan application 201 is not particularly limited, and examples thereof include a document creation application and an image editing application. The scan application 201 issues a scan instruction to the OS upon receiving a scan request from, for example, a user. The scan instruction includes scan setting information for instructing the operation of the general-purpose scan software 202 and the scanning device 102.

[0031] To issue a scan instruction, the scan application 201 can display a scan setting screen 300A (see FIG. 3A) provided by any of the general-purpose scan software 202, the OS, and the scan application 201 on the display unit 119. Furthermore, by operating (pressing) a control 302 in the scan setting screen 300A, detailed setting screens 300B to 300D (see FIGS. 3B to 3C) can be displayed on the display unit 119. The scan setting screen 300A and the detailed setting screens 300B to 300D will be described later. The scan setting screen 300A includes setting items indicating configurable scan functions and control items indicating setting values ​​according to capability information acquired by the general-purpose scan software 202, i.e., information that can be set as scan settings. The "capability information" is information regarding the scanning capability of the scan device 102. Furthermore, it is possible to determine whether or not the capability information includes information that enables the detailed setting screens 300C and 300D to be displayed. If it is determined that the information enabling the display of the detail setting screens 300C and 300D is included as a result of this determination, the detail setting screens 300C and 300D can be displayed. On the other hand, if it is determined that the information enabling the display of the detail setting screens 300C and 300D is not included, the detail setting screens 300C and 300D are not displayed.

[0032] The scan function information 203 is data indicating scan functions, describing all configurable scan functions, their setting values, and the mutual exclusion 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 scan function information 203 is dynamically generated by the general-purpose scan software 202. Specifically, the general-purpose scan software 202 acquires attribute data of the scan device 102 from the scan device 102. The general-purpose scan software 202 generates the scan function information 203 based on the attribute information in the attribute data. Note that when the scan function information 203 is dynamically generated in this manner, the scan function information 203 can be edited. The attribute data of the scan device 102 also includes attribute information indicating functions that can be specified by the scan device 102 (the capabilities of the scan device 102) and setting values ​​related to the attribute information, which are stored in the RAM 113.

[0033] With this configuration, the general-purpose scanning software 202 allows the user to specify scan functions available in the scanning device 102 depending on the scanning device 102 connected to the host computer 101. This makes it possible to specify scan functions available in the scanning device 102 regardless of the scanning device 102, i.e., even when a scanning device with different functions or a scanning device 102 developed by a different scanner vendor (manufacturer) is connected. In this embodiment, the general-purpose scanning software 202 is a standard class driver that executes scanning based on a standard scanning protocol (instruction protocol) called Mopria. Specifically, the general-purpose scanning software 202 is not a unique scan driver specific to the model of the scanning device 102, but a standard class driver that can be commonly used by scanning devices 102 of various scanner manufacturers regardless of the scanner manufacturer. Furthermore, the general-purpose scanning software 202 acquires capability information of the scanning device 102 and generates scan function information 203 based on the acquired information.

[0034] Furthermore, an extension application 204 can be associated with the general-purpose scanning software 202. This allows the general-purpose scanning software 202 to execute functions that are not available in the general-purpose scanning software 202. For example, the general-purpose scanning software 202 cannot accept a resolution setting for a document (image) to be scanned by the scanning device 102. In other words, the general-purpose scanning software 202 does not support resolution setting. This is because resolution setting is a function that is executed independently by the scanning device 102 manufactured by a specific manufacturer.

[0035] <Resolution setting function> The resolution setting function is a function that allows the scan application 201 to specify the resolution of an image obtained from a document to be scanned.

[0036] The higher the resolution of the image acquired by the scan application 201, the better the image quality will be, but the file size and processing time of the image will increase.

[0037] In this embodiment, the resolution setting function allows the user to set the resolution of the image obtained from the document to be scanned according to the purpose, thereby obtaining appropriate image quality while suppressing increases in file size and processing time.

[0038] 2(b), a case will be described in which an extension application 204 is associated with the general-purpose scan software 202 and the scan device 102. As shown in FIG. 2(b), unlike FIG. 2(a), an extension application 204 is added. That is, the host computer 101 has the scan application 201, the general-purpose scan software 202, the scan function information 203, and further has the extension application 204.

[0039] The extension application 204 is software for extending the functionality of the general-purpose scan software 202 and is sometimes simply referred to as "scan software." The extension application 204 is software that is not pre-installed (not bundled) in the OS. Therefore, the extension application 204 is downloaded from a server (not shown) via the Internet by a user operating the host computer 101 and installed on the host computer 101. Alternatively, the extension application 204 may be automatically installed upon connection of the scanning device 102 to the host computer 101. Specifically, when the scanning device 102 is connected to the host computer 101, the OS 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. As a result, the host computer 101 stores the general-purpose scan software 202 and the extension application 204 as separate control programs.

[0040] The general-purpose scan software 202 and the extension application 204 may be updated and upgraded. In this case, the update process for the general-purpose scan software 202 and the update process for the extension application 204 may be performed at the same time or at different times. Furthermore, the trigger for the host computer 101 to acquire the general-purpose scan software 202 and the trigger for the extension application 204 may be the same or different. Furthermore, when the extension application 204 is installed, the OS associates the extension application 204 with the general-purpose scan software 202 and the scan device 102.

[0041] As shown in FIG. 2B, the extension application 204 can exchange information (send and receive information) with the general-purpose scan software 202 and the scan device 102. That is, the extension application 204 is associated with the general-purpose scan software 202 and the scan device 102. In this embodiment, the extension application 204 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 accessed from each of the scan setting screen extension unit 205, the scan function extension unit 206, the image data editing unit 207, and the notification unit 209. The shared information 208 is a file saved in the external storage device 114 or information stored in the RAM 113. The extension application 204 can write and read information to and from the shared information 208 by using an API (Application Program Interface) provided by the OS.

[0042] The extension application 204 may terminate its operation as a whole upon completion of processing of each unit from the scan setting screen expansion unit 205 to the notification unit 209. In this case, the OS will start the extension application 204 every time it receives a request to use each unit. The extension application 204 may also cancel the processing of each unit from the scan setting screen expansion unit 205 to the notification unit 209 while that unit is in the middle of processing. In this case, the job being processed in the job queue is deleted by the OS.

[0043] As described above, the scan application 201 issues a scan instruction to the OS upon receiving a scan request from a user. The scan application 201 can also display a scan setting screen. In the configuration shown in FIG. 2(b), the scan application 201 can display detailed setting screens 300B to 300D provided by the scan setting screen extension unit 205 (extension application 204). The scan setting screen extension unit 205 can also save the detailed settings set by the user in the shared information 208.

[0044] 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 also 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 perform image editing on the image data acquired by the general-purpose scanning software 202 according to the detailed settings. Even in the configuration of FIG. 2(b), there are cases where the user does not set the resolution. In this case, the general-purpose scanning software 202 may send a scan request instruction to the scanning device 102 without going through the extension application 204.

[0045] 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 can be executed by the scan device 102 but not by the general-purpose scan software 202 (e.g., a resolution setting function), add exclusive relationships between scan function setting values, and so on. 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 (e.g., when the OS starts up). Even if scan-related functions are later expanded through such startup, the scan function extension unit 206 can detect the expanded functions and add them to the scan function information 203.

[0046] When an error occurs in the scanning device 102, the notification unit 209 can notify the user of the occurrence of the error. For example, when a reading jam error occurs in the scanning device 102, the general-purpose scanning software 202 detects the occurrence of this error. The OS uses a notification function called a toast notification, which is one of the OS's functions, to display a message on the display unit 119 informing the user of the occurrence of the scan jam error, which is the result of detection by the general-purpose scanning software 202. When the user operates the toast notification, the OS calls the notification unit 209, and a user interface screen (UI screen) of the notification unit 209 is displayed. The UI screen of the notification unit 209 can display, for example, a detailed message of the scan jam error and a method for clearing the jam.

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

[0048] <Example of scan settings screen / detailed settings screen> Next, examples of the scan setting screen and the advanced setting screen in this embodiment will be described with reference to FIG. 3. FIG. 3(a) shows a scan setting screen 300A displayed by the scan application 201. FIG. 3(b) shows an advanced setting screen 300B displayed when the extension application 204 is not associated with the general-purpose scan software 202 or the scan device 102. FIG. 3(c) shows an advanced setting screen 300C displayed when the extension application 204 is associated with the general-purpose scan software 202 or the scan device 102. Note that the units and modules that display each screen are not particularly limited. For example, the scan setting screen extension unit 205 may be configured to only generate a display screen. In this case, the scan setting screen extension 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.

[0049] The scan setting screen 300A shown in FIG. 3(a) is a screen on which the scan conditions for scanning with the scanning device 102 can be set. This scan setting screen 300A includes controls (buttons) 301, 302, 303, and 304. Control 301 allows the user to select and set the scanner device to be used to read the document. In FIG. 3(a), as an example, the scanner device to be used to read the document is set as "Scanner 001 (common driver)." Control 303 allows the user to instruct the scanning device 102 to start scanning. Control 304 allows the user to instruct the scanning device 102 to cancel scanning. Control 302 allows the user to set detailed scan conditions. When control 302 is pressed, a detailed setting screen is displayed by the general-purpose scan software 202 or the scan setting screen extension unit 205.

[0050] <Figure 3(b) Advanced setting screen displayed by the general-purpose scan software 202> 3(b) shows an advanced settings screen 300B that is displayed when the extension application 204 is configured not to be associated with the general-purpose scan software 202 or the scanning device 102. The advanced settings screen 300B includes controls 305 and 306. Control 305 allows the user to set the reading destination, and in FIG. 3(b), as an example, a platen is selected as the reading destination. Control 306 allows the user to instruct the end of the advanced settings, and when control 306 is pressed, the screen returns to the scan settings screen 300A (FIG. 3(a)).

[0051] <Figure 3(c) Detailed setting screen displayed by the scan setting screen expansion unit 205> FIG. 3(c) shows an advanced settings screen 300C (display screen) that is displayed when the extension application 204 is configured to be associated with the general-purpose scan software 202 or the scan device 102. Unlike the advanced settings screen 300B, the advanced settings screen 300C includes controls 305 and 306, as well as control 307 and list 308. Control 307 allows the user to set the resolution, and in FIG. 3(c), 600×600 dpi is selected as an example of a set resolution. List 308 is displayed when control 307 is pressed, and indicates that there are other resolutions that can be set in addition to the currently selected "600×600 dpi." The user can switch the resolution setting by selecting a desired resolution from list 308.

[0052] Also, instead of the detailed setting screen 300C that allows the user to select a resolution from a list 308, a detailed setting screen 300D (FIG. 3(d)) that has an input form and spin buttons 309 may be displayed, and the value input by the user may be set as the resolution. The resolution may be configured so that it can be specified both vertically and horizontally.

[0053] The resolution candidates displayed in the list 308 may be a plurality of resolutions at which the scanning device 102 can scan, based on capability information acquired by the scan function extension unit 206 from the scanning device 102, as described below. The resolution candidates displayed in the list 308 may be resolutions at which the scanning device 102 can scan and that are supported by the extension application 204.

[0054] Alternatively, the display of available resolution candidates may be changed depending on the combination with other setting items (other functions), such as image file format and color mode. For example, the capability information of the scanning device 102 may indicate that the maximum scanning resolution when the color mode is black and white is 600 x 600 dpi, but the maximum scanning resolution when the color mode is color is 300 x 300 dpi. In this case, if the color mode is set to color, the 600 x 600 dpi item may not be displayed in the list 308. Also, if control 306 is selected with 600 x 600 dpi selected, a warning message may be displayed indicating that the settings are incompatible. This configuration is possible by defining the resolution for each color mode in the capability information 501 (FIG. 5) of the scanning device 102, which will be described later.

[0055] Furthermore, if a resolution higher than a certain level, such as 1200 x 1200 dpi, is specified by operating the spin button 309 on the detailed setting screen 300D, a warning message may be displayed to warn that the reading process may take a very long time. Note that this warning message may also be displayed when the control 306 is selected with this specification made.

[0056] Here, we will explain why the items included in the detail setting screen 300B shown in FIG. 3(b) are different from the items included in the detail setting screens 300C and 300D shown in FIGS. 3(c) and 3(d). That is, we will explain why it is possible to switch between displaying the detail setting screen 300B and displaying the detail setting screens 300C and 300D. The detail setting screens 300B to 300D are generated by referring to capability information generated based on the scan function information. However, as described above, the general-purpose scan software 202 does not support a resolution setting function. Therefore, the general-purpose scan software 202 alone cannot add the resolution setting function to the scan function information. Furthermore, even if the scan function information originally included the resolution setting function, the general-purpose scan software 202 cannot interpret the resolution setting function included in the scan function information and therefore cannot display the resolution setting on the detail setting screen 300B. On the other hand, if the scan function extension unit 206 adds the resolution setting function to the scan function information 203, the scan setting screen extension unit 205 can display the detail setting screens 300C and 300D by referring to the capability information. The detailed setting screens 300C and 300D may additionally include an expanded function other than the resolution setting function, such as a reading size setting function, etc. In this case, an estimate of the capacity (size) of the scanned image data obtained by scanning at the set reading size and resolution may be displayed on the detailed setting screens 300C and 300D.

[0057] Furthermore, when a scan result at the resolution set on the detailed setting screens 300C and 300D is obtained by pressing the control 303, the scan setting screen expansion unit 205 may display a preview of the scan result.

[0058] <Flowchart of the scan function expansion unit for editing scan function information> Fig. 4 is a flowchart showing the process of editing scan function information by the scan function extension unit 206. The program based on the flowchart shown in Fig. 4 is realized by the CPU 111 executing the control of the scan function extension unit 206 read from the external storage device 114 to the RAM 113. Fig. 5 is a diagram showing an example of a list of scan information.

[0059] As shown in Fig. 4, first, in step 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. Table 501 shown in Fig. 5(a) shows an example of a list of capability information acquired from the scan device 102. As shown in table 501, functions such as reading size setting and options that can be set for each function can be acquired from the scan device 102.

[0060] In step 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 shared information 208 stores a list of scan functions supported by the extension application 204. Table 502 shown in FIG. 5(b) includes all scan functions that can be executed (supported) by the extension application 204 and their setting values. For example, the resolution setting function has options such as "100×100 dpi," "300×300 dpi," "400×400 dpi," and "600×600 dpi." In addition, the scan functions that can be executed by the extension application 204 may be updated by updating the extension application 204, for example.

[0061] In step S403, the scan function extension unit 206 acquires from the OS the scan function information 203 created by the general-purpose scan software 202. The scan function information 203 is created based on the capability information acquired by the general-purpose scan software 202 from the scan device 102. The scan function information 203 created by the general-purpose scan software 202 includes only the scan functions that the general-purpose scan software 202 can execute, from the capability information acquired from the scan device 102. Table 503 shown in FIG. 5(c) includes all scan functions that the general-purpose scan software 202 can execute and their setting values. The capability information 501 (FIG. 5(a)) acquired from the scan device 102 includes a resolution setting function, but as shown in table 503, there is only one resolution option (300 × 300 dpi) that can be specified by the general-purpose scan software 202. 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 functionality 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 .

[0062] Steps S404, S405, and S406 are processes that are repeatedly performed for the list of scan functions included in the capability information acquired in step S401 from the scanning device 102. In this embodiment, steps S404, S405, and S406 are repeatedly performed for all nine options included in table 501 (excluding double-sided setting and continuous page copying setting).

[0063] In step S404, the scan function extension unit 206 determines in order whether all the above nine options exist in the scan function information 203 generated by the general-purpose scan software 202.

[0064] If it is determined that the option currently being judged exists in the scan function information 203 (Yes in step S404), it is determined whether the option currently being judged is the last item of the nine options. If the result of this determination is that the option currently being judged is the last item of the nine options, this process ends; if not, the next item of the nine options is selected as the option currently being judged, and step S404 is executed again.

[0065] On the other hand, if it is determined that the option currently being judged does not exist in the scan function information 203 (No in step S404), the process proceeds to step S405.

[0066] For example, in this embodiment, table 501 includes the reading destination "Platen," and table 503 also includes the reading destination "Platen." Therefore, when the option currently being determined is the reading destination "Platen," it is determined that the option currently being determined exists in scan function information 203 (Yes in step S404). In contrast, table 501 includes the reading size "A4H," but table 503 does not include the reading size "A4H." In this case, it is determined that the option currently being determined does not exist in scan function information 203 (No in step S404).

[0067] In step S405, the scan function extension unit 206 determines whether the option currently being determined exists among the options supported by the extension application 204. If a function currently being processed exists (Yes in step S405), the process proceeds to step S406. On the other hand, if a function currently being processed does not exist (No in step S405), the process determines whether the option currently being determined is the last item of the nine options. If the result of this determination is that the option currently being determined is the last item of the nine options, the process ends; if not, the next item of the nine options is selected as the option currently being determined, and step S404 is executed again.

[0068] For example, in this embodiment, the resolution "600 x 600 dpi" is included in table 501, and the resolution "600 x 600 dpi" is also included in table 502. Therefore, if the option currently being determined is the resolution "600 x 600 dpi," it is determined that the option currently being determined is included in the options supported by the extension application 204 (Yes in step S405).

[0069] In step S406, the scan function extension unit 206 adds the option currently being evaluated to the scan function information 203. Then, it is determined whether the option currently being evaluated is the last item of the nine options. If the result of this determination is that the option currently being evaluated is the last item of the nine options, this process is terminated; if not, the next item of the nine options is selected as the option currently being evaluated, and step S404 is executed again.

[0070] As described above, in this process, the scan function extension unit 206 adds options that are not supported by the general-purpose scan software 202 but are supported by the scan device 102 and extension application 204 to the scan function information 203. Furthermore, capability information is generated based on the scan function information to which the options have been added. Furthermore, the scan setting screen extension unit 205 generates a display screen based on this generated capability information. This enables functions that are not supported by the general-purpose scan software 202 to be extended, and makes it possible to display the detailed setting screens 300C and 300D shown in FIGS. 3(c) and 3(d).

[0071] <Processing after the scan application accepts the scan settings> 6 is a sequence diagram showing the processing executed between 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 for the scan device 102 in FIG. 6 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. 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.

[0072] In step S601, the scan application 201 accepts scan settings from the user. The user can instruct the scan application 201 to set scan settings by operating the pointing device 117 or keyboard 118.

[0073] In step S602, the scan application 201 displays the scan setting screen 300A shown in FIG.

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

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

[0076] In step S605, the general-purpose scan software 202 requests the extension application 204 to display the detailed settings. Below, a case will be described in which the scan application 201 is in a scan system configured as shown in Fig. 2(b), and the general-purpose scan software 202 causes the extension application 204 to display the detailed settings screen 300C shown in Fig. 3(c) in response to this display request.

[0077] In step S606 (screen display code), the scan setting screen expansion unit 205 of the extension application 204 displays the detailed setting screen 300C of FIG. 3(c) on the display unit 119 in response to the request in step S605. If the scan function expansion unit 206 has added a resolution setting to the scan function information 203 as described above in FIG. 4, the scan setting screen expansion unit 205 references the capability information generated based on this added scan function information 203. Then, the scan setting screen expansion unit 205 displays the detailed setting screen 300C of FIG. 3(c) on the display unit 119. Note that the reading destination and the like may be displayed, or may be suppressed or grayed out as necessary.

[0078] In step S607, the scan setting screen expansion unit 205 accepts the user's detailed settings on the detailed setting screen 300C. Here, as shown in FIG. 3C, a case will be described in which the user has selected the reading destination "Platen" and the resolution "600 x 600 dpi" as detailed settings. The accepted detailed settings are stored in the RAM 113 by the CPU 111.

[0079] In step S608, the scan setting screen expansion unit 205 accepts that the user has completed the detailed settings based on the operation of the control 306 in step S607. The user can instruct the user to complete the detailed settings by, for example, operating the pointing device 117 or the keyboard 118 to select the control 306. This causes the setting status on the detailed settings screen 300C to be written to the scan function information 203. Note that the information written to the scan function information 203 may also include items that are not displayed or are grayed out as described above and that the user is not allowed to select.

[0080] In step S609, upon receiving the information that the detailed settings have been completed in step S608, the extension application 204 transmits detailed setting completion information to the general-purpose scan software 202.

[0081] In step S610, upon receiving the detailed setting completion information sent from the extension application 204 in step S609, the general-purpose scan software 202 sends this detailed setting completion information to the scan application 201.

[0082] In step S611, the scan application 201 receives a scan instruction from the user. The user can issue a scan instruction by, for example, operating the pointing device 117 or the keyboard 118 to select a control 503 on the scan setting screen 300A (see FIG. 3(a)).

[0083] In step S612, the scan application 201 transmits the scan instruction received in step S611 to the general-purpose scan software 202.

[0084] In step S613 (read instruction code), when the general-purpose scan software 202 receives the scan instruction sent from the scan application 201 in step S612, it sends this scan instruction to the extension application 204.

[0085] In step S614, upon receiving the scan instruction sent from the general-purpose scan software 202 in step S613, the extension application 204 creates a scan instruction command based on the scan function information 203 written in step S608. Note that this scan instruction command includes the set resolution (resolution "600 x 600 dpi") accepted on the advanced settings screen 300C. Also, as described above, information that is suppressed or grayed out in step S608 and that the user is not allowed to select may not be written in the scan function information 203. In this case, in step S614, the extension application 204 may add the information that is not written in the scan function information 203 to the scan instruction command, or may use it as a default value.

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

[0087] In step S616, when input / output interface 198 of scanning device 102 receives the scan instruction command sent in step S615, it transfers the scan instruction command to reading unit 195. Reading unit 195 interprets the scan instruction command transferred from input / output interface 198, executes scanning under the conditions set on detailed setting screen 300C, and performs the necessary image processing on the image data in accordance with the scan instruction command. In this embodiment, because the set resolution (resolution "600 x 600 dpi") is accepted on detailed setting screen 300C, image data with a resolution of 600 x 600 dpi is generated by the scan processing.

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

[0089] In step S618, upon receiving the image data sent from the scanning device 102 in step S617, the extension application 204 sends the image data to the general-purpose scanning software 202.

[0090] In step S619, upon receiving the image data sent from the extension application 204 in step S618, the general-purpose scan software 202 sends this image data to the scan application 201.

[0091] In step S620, the scan application 201 receives the image data sent from the general-purpose scan software 202 in step S619, and the process proceeds to step S621.

[0092] In step S621, the scan application 201 displays the image data received in step S620 on the display unit 119. As a result, the result of reading the document in step S616 is displayed as a preview image on the display unit 119. Thereafter, this process ends.

[0093] 7 is a flowchart showing details of processing according to this embodiment, which is executed by the extension application 204. This processing is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113.

[0094] First, in step S701, the extension application 204 receives a request to display detailed settings from the general-purpose scan software 202 (see step S605).

[0095] In step S702, the scan setting screen expansion unit 205 of the extension application 204 displays the detailed setting screen 300C of Fig. 3(c) on the display unit 119. This is because the resolution setting has been added to the scan function information by the scan function expansion unit 206, as described in Fig. 4. The scan setting screen expansion unit 205 references the capability information generated based on the scan function information after the resolution setting has been added, and displays the detailed setting screen 300C of Fig. 3(c) on the display unit 119.

[0096] In step S703, the scan setting screen expansion unit 205 determines whether the user has made any detailed settings on the detailed setting screen 300C, i.e., whether any selection operation has been made on the control 305 or the control 307. If it is determined that detailed settings have been made (YES in step S703), the process proceeds to step S704, and if it is determined that detailed settings have not been made (NO in step S703), the process proceeds to step S705.

[0097] In step S704, the scan setting screen expansion unit 205 stores (saves) the setting state (setting information) on the detailed setting screen 300C in the RAM 113, and the process proceeds to step S705.

[0098] In step S705, the scan setting screen expansion unit 205 determines whether or not an instruction to end the detailed settings has been given on the detailed setting screen 300C, i.e., whether or not an operation has been performed on the control 306. If it is determined that an instruction to end the detailed settings has been given (YES in step S705), the setting information saved in RAM 113 is written to the scan setting information, and then the process proceeds to step S706. On the other hand, if it is determined that an instruction to end the detailed settings has not been given (NO in step S705), the process returns to step S703, and the presence or absence of detailed settings from the user is determined again.

[0099] In step S706, the extension application 204 sends a notification of completion of the detailed settings to the general-purpose scan software 202.

[0100] In step S707, the extension application 204 determines whether or not there is a scan instruction (see step S613) from the general-purpose scan software 202. If it is determined that there is a scan instruction (YES in step S707), the process proceeds to step S708. On the other hand, if it is determined that there is no scan instruction (NO in step S707), the process returns to step S707 and determines again whether or not there is a scan instruction from the general-purpose scan software 202.

[0101] In step S708, the extension application 204 creates a scan instruction command based on the scan setting information written in step S705. As described above, this scan instruction command includes the set resolution (resolution "600 x 600 dpi") accepted on the detailed setting screen 300C.

[0102] The scan instruction command can be created in step S708 by extending a standard protocol command. Another extension method is to write a dedicated command in the extension field of the standard protocol command. Other methods include adding a proprietary command (extended instruction command) that is not supported by the standard protocol to the end of the standard protocol command, or having the extension application 204 overwrite the standard protocol command with its own command system. When issuing an instruction from the extension application 204, the instruction and communication may be performed using a manufacturer's proprietary protocol, regardless of the standard protocol.

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

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

[0105] In step S711, the extension application 204 transmits all the scanned image data received from the scanning device 102 to the general-purpose scanning software 202, and then the process ends.

[0106] 8 is a flowchart showing the processing executed by the scanning device 102 upon receiving a scan instruction from the extension application 204. The processing in FIG. 8 is realized by the CPU 191 reading a program stored in the external storage device 199 into the RAM 192.

[0107] In step S801, the CPU 191 receives the scan instruction command sent from the extension application 204 (see step S615).

[0108] In step S802, the CPU 191 analyzes the scan instruction command received in step S801 and converts the scan instruction command into settings that enable the scanning device 102 to execute the scan process. That is, the CPU 191 converts the settings into settings that enable the scanning process to be executed under the conditions set on the detailed setting screen 300C. In this embodiment, the reading setting is set to a resolution of 600 x 600 dpi on the platen. Since the reading size is not specified, the default setting of A4H size is used, for example.

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

[0110] In step S804, the CPU 191 transmits a scan instruction according to the read settings to the reading unit 195. In this embodiment, the scan instruction transmitted is to read an image of the document placed on the platen with a read size of A4H and a set resolution of 600×600 dpi.

[0111] In step S805, the CPU 191 acquires scanned image data from the reading unit 195. In this embodiment, image data of A4H size is acquired as scanned image data.

[0112] In step S806, the CPU 191 controls the image processing unit 190 to perform image processing on the scanned image data acquired in step S805. In this embodiment, the reading unit 195 is capable of reading at a set resolution of 600×600 dpi, and the scanning image data is acquired by the reading unit 195 at 600×600 dpi, so image processing is not performed in step S806.

[0113] In this embodiment, if the reading setting in step S802 or the set resolution in the scan instruction in step S804 is 300×300 dpi, the reading unit 195 reads at 600×600 dpi, and then the image processing unit 190 converts the resolution to 300×300 dpi. However, a configuration in which the reading unit 195 reads at 300×300 dpi and the image processing unit 190 does not convert the resolution is also possible.

[0114] In step S807, the CPU 191 stores the scanned image data in the external storage device 199.

[0115] In step S808, CPU 191 determines whether scanning of all pages of the document to be read has been completed. If it is determined that scanning of all pages has not been completed (NO in step S808), the process returns to step S805, and scanning of the next page is executed. On the other hand, if it is determined that scanning of all pages has been completed (YES in step S808), the process proceeds to step S809.

[0116] In step S809, the CPU 191 controls the image processing unit 190 to convert the scanned image data saved in step S807 in accordance with the transmission format accepted in step S801. In this embodiment, the transmission format is not included in the scan instruction command accepted from the extension application 204 in step S801, so the 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.

[0117] In step S810, the CPU 191 controls the input / output interface 198 to send the scanned image data converted in step S809 to the extension application 204. After that, this process ends.

[0118] 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 capability information generated from the scan function information 203, allowing the user to set the resolution. Thereafter, when the scan device 102 receives a scan instruction that reflects the resolution set by the user, it scans the document at that set resolution. Through the above series of processes, the scan device 102 can realize the resolution setting function, making it possible to provide the resolution setting function to the user.

[0119] In this embodiment, the configuration of FIG. 2(b) has been described using the detailed settings screen 300C shown in FIG. 3(c), but the present invention is not limited to this. For example, when a detailed settings display request is made to the general-purpose scanning software 202 in step S604, the general-purpose scanning software 202 may display the detailed settings screen 300B shown in FIG. 3(b). Subsequently, after the detailed settings of FIG. 3(b) are completed, the general-purpose scanning software 202 requests the extension application 204 to display the detailed settings screen 300C. In response to this request, the extension application 204 may additionally display the detailed settings screen 300C, which allows resolution setting.

[0120] 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. For example, the scan application 201 may issue an instruction 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. Furthermore, the scanned image data may be transferred directly from the extension application 204 to the scan application 201 without going through the general-purpose scan software 202, or from the scanning device 102 to the scan application 201. Furthermore, the received scanned 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.

[0121] Furthermore, in the present embodiment, when there are multiple pieces of scanned image data, all of the scanned image data are received and then transferred, but the configuration may be such that the transmitted scanned image data is transferred as needed.

[0122] <<Second embodiment>> The second embodiment will be described below. In the first embodiment described above, the scanning device 102 interprets the scan setting information including the resolution setting, and performs the scan process using the resolution setting function specified on the scanning device 102 side.

[0123] However, depending on the scanning device 102, the resolution at which scanning can be performed may be limited due to cost considerations, etc. In such cases, even if the extended application 204 supports the resolution and scan setting information including the resolution setting can be generated, the scanning device 102 cannot perform scanning processing at the specified resolution.

[0124] Therefore, in the second embodiment, first, a readable resolution setting is determined from the capability information of the scanning device 102. Next, if the resolution is readable by the scanning device 102, scan setting information including a resolution setting function specified by the user is generated and passed to the scanning device 102. On the other hand, if the resolution is not readable by the scanning device 102, scan setting information with a higher resolution setting than the resolution specified by the user is generated and passed to the scanning device 102. Thereafter, the extension application 204 converts the resolution of the scanned image data read by the scanning device 102. This makes it possible to provide the user with a resolution setting function for a resolution specified by the user that is not supported by the scanning device 102.

[0125] In the following description of this embodiment, the same components as those in the first embodiment are assigned the same numbers, and redundant description will be omitted, and only the differences from the first embodiment will be described.

[0126] In this embodiment, the scanning device 102 is assumed to be a scanning device that does not support a resolution setting of 150×150 dpi. Therefore, the capability information acquired from the scanning device 102 does not include a resolution setting of 150×150 dpi. On the other hand, in this embodiment, the extension application 204 supports a resolution setting of 150×150 dpi. In such a case, if the extension application 204 has a unit that performs resolution conversion of image data, the scan function extension unit 206 adds a resolution setting of 300×300 dpi, which is readable by the scanning device 102, to the scan function information 203. The image data editing unit 207 performs resolution conversion processing to 150×150 dpi on the image data received from the scanning device 102 based on the resolution setting set by the user. This will be described in detail later.

[0127] <Flowchart of the scan function expansion unit for editing scan function information> 9 is a flowchart showing the scan function information editing process by the scan function extension unit 206 in the second embodiment. Note that each step in FIG. 9 is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113.

[0128] In the flowchart shown in Fig. 9, steps S401 to S406 are executed, similarly to the flowchart shown in Fig. 4. After these steps are executed, the process proceeds to step S901. As described above, the scanning device 102 does not support a resolution setting of 150 x 150 dpi. Therefore, the 150 x 150 dpi resolution setting is not added to the scan function information 203 after the processing of steps S404 to S406 is completed. On the other hand, the extension application 204 supports a resolution setting of 150 x 150 dpi.

[0129] 5 and the scan function information 203, and determines whether the extension application 204 has a unit capable of converting the resolution of scanned image data to 150 x 150 dpi. If it is determined that such a unit exists (Yes in step S901), the process proceeds to step S902. If it is determined that such a unit does not exist (No in step S901), the process ends. In this embodiment, the extension application 204 proceeds to step S902 because the image data editing unit 207 is capable of converting the resolution of image data.

[0130] Next, in step S902, the scan function extension unit 206 adds a resolution setting of 150×150 dpi to the scan function information 203. Furthermore, the scan function extension unit 206 adds to the scan function information 203 a resolution conversion function that converts the resolution of 300×300 dpi scan image data read by the scanning device 102 to 150×150 dpi using the image data editing unit 207. The resolution of the scan image data to be converted by the added resolution conversion function may be any resolution that can be read by the scanning device 102 and exceeds 150×150 dpi, and may be, for example, 600×600 dpi.

[0131] As described above, the scan function extension unit 206 first adds functions / options that are not supported by the general-purpose scan software 202 but are supported by both the scan device 102 and the extension application 204 to the scan function information 203. Then, it determines whether the extension application 204 can perform resolution conversion processing for image data, and if resolution conversion processing is possible, it adds a resolution conversion function to the scan function information. This allows the scan setting screen extension unit 205 to display, on the detailed setting screen 300C, resolution settings that are not supported by the scan device 102 but are supported by the extension application 204, based on the capability information generated by the scan function information.

[0132] <Sequence after the scan application accepts the scan settings> 10 is a sequence diagram showing the processing executed between 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 for the scan device 102 in FIG. 10 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. 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.

[0133] As shown in Fig. 10, steps S601 to S613 are first executed, similarly to the processing in Fig. 6. Then, step S1001 is executed instead of step S614, and step S1002 is executed between step S617 and step S618.

[0134] In step S1001, the extension application 204 generates a scan instruction command. The detailed processing of step S1001 will be described later with reference to the flowchart in FIG.

[0135] In step S1002, the image data editing unit 207 of the extension application 204 performs image editing on the scanned image data transmitted from the scanning device 102 in step S617. In this embodiment, in step S1002, the scanned image data with a resolution of 300 x 300 dpi is converted to scanned image data with a resolution of 150 x 150 dpi through a resolution conversion process. Then, the process proceeds to step S618.

[0136] 11 is a flowchart showing details of the processing in this embodiment executed 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.

[0137] As shown in Fig. 11, steps S701 to S707 are first executed, similarly to the processing in Fig. 7. Then, as shown in Fig. 11, step S1101 is executed between step S707 and step S708. Depending on the determination result in step S1101, step S1102 may be executed. Furthermore, step S1103 is executed between step S710 and step S711. Depending on the determination result in step S1103, step S1104 may be executed.

[0138] In step S1101, the extension application 204 acquires the capability information of the scanning device 102 from the shared information 208. If the shared information 208 does not contain the capability information of the scanning device 102, the scan function extension unit 206 may request the capability information from the scanning device 102 and store it in the shared information 208. The extension application 204 determines whether the user-selected resolution (setting information) is a resolution that cannot be executed by the scanning device 102 (unsupported function setting) based on the acquired capability information and the resolution selected by the user on the detailed setting screen 300C. If the result of this determination is that the resolution is not supported by the scanning device 102 (YES in step S1101), the process proceeds to step S1102. If the resolution is supported by the scanning device 102 (NO in step S1101), the process proceeds to step S708. In this embodiment, the user-selected resolution (150 × 150 dpi) is a resolution that is not supported by the scanning device 102, so the process proceeds to step S1102.

[0139] In step S1102, the extension application 204 sets function settings supported by the scanning device 102 based on the user-selected resolution (function settings not supported by the scanning device 102) and creates a scan instruction command. Specifically, the extension application 204 sets a resolution (here, a resolution of 300 x 300 dpi) that is higher than the user-selected resolution (150 x 150 dpi) and supported by the scanning device 102 and creates a scan instruction command. Then, the process proceeds to step S709. In this way, by reading the image of the original at a resolution higher than the user-selected resolution, it is possible to suppress image degradation during subsequent resolution conversion.

[0140] In step S1103, the extension application 204 determines whether there are any settings that require editing in the image data editing unit 207 from the information (setting information) selected by the user on the detailed setting screen 300C. If there are any settings that require editing in the image data editing unit 207 (Yes in step S1103), the process proceeds to step S1104. If there are no settings that require editing in the image data editing unit 207 (No in step S1103), the process proceeds to step S711. In this embodiment, the user has selected a resolution of 150 x 150 dpi on the detailed setting screen 300C, which is not supported by the scanning device 102, so the process proceeds to step S1104.

[0141] In step S1104 (resolution conversion code), the image data editing unit 207 performs resolution conversion of the scanned image data based on the resolution conversion function added in step S902, and then the process proceeds to step S711.

[0142] The above has described the case where the user selects a resolution on the detailed setting screen 300C that is not supported by the scanning device 102, but the same applies when the scanning device 102 does not support the resolution setting function. For scanned image data read by the scanning device 102 at a fixed resolution, the image data editing unit 207 performs resolution conversion on the received image data based on the resolution setting set in step S703.

[0143] As described above, in this embodiment, even if the scanning device 102 does not support a specific resolution or does not support a resolution setting function, it is possible to provide the user with a resolution setting function.

[0144] <<Third Embodiment>> A third embodiment of the present invention will be described below. In the first and second embodiments, the extension application 204 and the scanning device 102 communicate with each other.

[0145] In contrast to this, in this embodiment, it is the general-purpose scan software 202 that communicates with the scan device 102, and the extension application 204 only performs the extension of scan instruction commands and image editing.

[0146] In the following, only the differences from the first and second embodiments will be explained.

[0147] 12 is a sequence diagram showing the processing executed between 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 for the scan device 102 in FIG. 12 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. 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.

[0148] As shown in Fig. 12, steps S601 to S612 are first executed, similarly to the processing in Fig. 6. Thereafter, steps S1201 to S1205 are executed instead of steps S613 to S615, and step S1206 is executed instead of steps S617 and S618.

[0149] In step S1201, the general-purpose scanning software 202 creates a scan instruction command. At this time, functions that the general-purpose scanning software 202 does not support are not described in the scan instruction command.

[0150] In step S1202, the general-purpose scan software 202 passes the created scan instruction command to the extension application 204.

[0151] In step S1203, the extension application 204 extends the scan instruction command. Specifically, the extension application 204 adds instructions for functions not supported by the general-purpose scan software 202 to the scan instruction command received from the general-purpose scan software 202 in step S1202, or modifies existing instructions. In this embodiment, in step S1201, the scan instruction command created by the general-purpose scan software 202 does not include a resolution setting, so a resolution setting is added.

[0152] In step S1204, the extension application 204 transmits the scan instruction command extended in step S1203 to the general-purpose scan software 202.

[0153] In step S1205, the general-purpose scan software 202 transmits the scan instruction command received from the extension application 204 in step S1204 to the scan device 102, and after issuing a scan instruction, the process proceeds to step S616.

[0154] In step S1206, the general-purpose scanning software 202 receives the scanned image data from the scanning device 102.

[0155] Fig. 13 is a sequence diagram showing a modified example of the process in Fig. 12. In this modified example, image editing is performed by the extension application 204 when the general-purpose scan software 202 and the scan device 102 communicate with each other. 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 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.

[0156] As shown in FIG. 13, steps S1301, S1002, and S1302 are executed in this order between steps S1206 and S619.

[0157] In step S1301, the general-purpose scanning software 202 transmits to the extension application 204 the scanned image data received from the scanning device 102 in step S1206.

[0158] In step S1002, the image data editing unit 207 of the extension application 204 performs image editing of the scanned image data received in step S1301 from the general-purpose scan software 202. In this embodiment, in step S1002, the scanned image data with a resolution of 300 × 300 dpi is converted into image data of 150 × 150 dpi by a resolution conversion process similar to step S1104 in Fig. 11 .

[0159] In step S1302, the extension application 204 transmits the image data obtained by the image editing in step S1002 to the general-purpose scan software 202. Then, the process proceeds to step S619.

[0160] As described above, in this embodiment, the extension application 204 extends the scan instruction command, which allows the user to set a resolution that is supported by the extension application 204, even if the resolution is not supported by the scanning device 102.

[0161] <<Fourth Embodiment>> A fourth embodiment of the present invention will be described below. In the first, second and third embodiments, the commands used in the standard protocol are extended to communicate with the scanning device 102.

[0162] In contrast to this, in this embodiment, the commands of the standard protocol are not extended, and a configuration will be described in which functions supported only by the extension application 204 are communicated with the scanning device 102 using separate commands.

[0163] In the following, only the differences from the first, second and third embodiments will be described.

[0164] 14 is a sequence diagram showing the processing executed between 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 for the scan device 102 in FIG. 14 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. 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.

[0165] As shown in Fig. 12, steps S601 to S613 are first executed, similarly to the process in Fig. 6. Then, steps S1401 to S1405 are executed instead of steps S614 to S616.

[0166] In step S1401, the extension application 204 creates a standard scan instruction command in accordance with the standard protocol. At this time, functions that are not supported by the standard protocol are not described in the scan instruction command.

[0167] In step S1402, the extension application 204 generates an extension scan instruction command for a function that is supported only by the extension application 204.

[0168] In step S1403, the extension application 204 transmits the standard scan instruction command created in step S1401 to the scanning device 102 to instruct the scanning device 102 to scan.

[0169] In step S1404, the extension application 204 transmits the extended scan instruction command created in step S1402 to the scanning device 102 to instruct the scanning device 102 to scan.

[0170] In step S1405, the scanning device 102 interprets the standard scan instruction command and the extended scan instruction command received from the extension application 204 in steps S1403 and S1404, respectively, and executes the scan process. Then, the process proceeds to step S1417.

[0171] 15 is a flowchart showing details of processing according to this embodiment, which is executed by the extension application 204. This processing is realized by the CPU 111 executing each unit read from the external storage device 114 to the RAM 113.

[0172] As shown in Fig. 15, steps S701 to S707 are first executed, similarly to the process in Fig. 7. Then, steps S1501 to S1504 are executed instead of steps S708 and S709.

[0173] In step S1501, the extension application 204 creates a standard scan instruction command in accordance with the standard protocol.

[0174] In step S1502, the extension application 204 creates an extended scan instruction command (extended instruction command) for a function not supported by the standard protocol.

[0175] In step S1503, the extension application 204 transmits the standard scan instruction command created in step S1501 to the scanning device 102.

[0176] In step S1504, the extension application 204 transmits the extended scan instruction command created in step S1502 to the scanning device 102. Then, the process proceeds to step S710.

[0177] As described above, in the fourth embodiment, the extension application 204 can provide the user with a resolution setting function by sending a separate scan instruction command for functions not supported by the standard protocol.

[0178] (Other embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the present embodiment to a system or device via a network or a recording medium, and having one or more processors in the computer of the system or device read and run the program.The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0179] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention.

[0180] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of the gist of the present invention.

[0181] The disclosure of each embodiment includes the following programs, media, methods, and configurations. (Program 1) An application program that supports scanning software that can be used commonly with image processing devices from multiple manufacturers, characterized in that it has a screen display code that displays a display screen that accepts image resolution settings, and a reading instruction code that instructs the image processing device to read an image of a document based on the set resolution. (Program 2) The application program according to Program 1, wherein the set resolution is one of a plurality of predetermined resolution candidates. (Program 3) An application program described in Program 2, characterized in that the screen display code includes code for displaying on the display screen only resolutions that can be read by the image processing device, out of the plurality of predetermined resolution candidates. (Program 4) An application program described in Program 1, characterized in that the screen display code includes code that accepts a value input by a user on the display screen as the set resolution value. (Program 5) An application program according to any one of Programs 1 to 4, wherein the set resolution is a resolution that cannot be specified by the scan software. (Program 6) An application program described in any one of Programs 1 to 5, characterized in that the screen display code includes code for displaying a warning on the display screen if the set resolution is a certain resolution or higher. (Program 7) An application program described in any one of Programs 1 to 6, characterized in that it has resolution conversion code that converts the resolution of image data obtained by reading the document in the image processing device to the set resolution if reading the document at the set resolution is not possible in the image processing device. (Program 8) An application program described in Program 7, characterized in that the reading instruction code instructs the image processing device to read the image of the document at a resolution greater than the set resolution and supported by the image processing device if reading of the document at the set resolution is not possible on the image processing device. (Program 9) An application program described in any one of Programs 1 to 8, characterized in that when the reading instruction code instructs the image processing device to read an image of a document, it creates an instruction command that extends the instruction command of a standard instruction protocol with commands for functions not supported by the standard instruction protocol, and sends the instruction command to the image processing device. (Program 10) An application program described in any one of Programs 1 to 8, characterized in that when instructing the image processing device to read an image of a document, the reading instruction code adds an extended instruction command for a function not supported by the standard instruction protocol to the instruction command of the standard instruction protocol and sends it to the image processing device. (Program 11) An application program described in any one of Programs 1 to 8, characterized in that when the reading instruction code instructs the image processing device to read an image of a document, it creates an instruction command of a standard instruction protocol and an extended instruction command for a function not supported by the standard instruction protocol, and sends the instruction command and the extended instruction command to the image processing device. (Program 12) An application program described in any one of Programs 1 to 11, characterized in that the screen display code changes the items to be displayed on the display screen from among the predetermined plurality of resolution candidates in combination with other functions. (Program 13) An application program described in any one of Programs 1 to 12, characterized in that the screen display code acquires capability information of the image processing device and changes the items to be displayed on the display screen from among the predetermined plurality of resolution candidates according to the capability information. (Medium 1) A storage medium that stores an application program that supports scanning software that can be used commonly with image processing devices from multiple manufacturers, characterized in that the application program can cause a computer to execute a screen display process that displays a display screen that accepts image resolution settings, and a read instruction process that instructs the image processing device to read an image of a document based on the set resolution. (Method 1) A control method that performs control to support scanning software that can be used in common with image processing devices from multiple manufacturers, characterized by having a screen display process that displays a display screen that accepts image resolution settings, and a read instruction process that instructs the image processing device to read an image of a document based on the set resolution. (Configuration 1) An information processing device that is communicatively connected to image processing devices from multiple manufacturers and is capable of processing information between the image processing devices, and that is equipped with scanning software that can be used in common with the image processing devices from the multiple manufacturers, and an application program that supports the scanning software, wherein the application program is capable of causing a computer to execute a screen display process that displays a display screen that accepts image resolution settings, and a reading instruction process that instructs the image processing device to read an image of a document based on the set resolution. [Explanation of symbols]

[0182] 1000 Scan System 101 host computer 102 Scanning Device 117 Pointing Device 118 keyboards 119 Display section 201 Scan Application 202 General-purpose scanning software 203 Scan Function Information 204 Extended Applications 205 Scan Setting Screen Expansion Unit 206 Scan Function Expansion Unit 207 Image Data Editing Unit 208 Shared Information 300C detailed setting screen

Claims

1. An application program that supports scan software that can be used in common with image processing devices from multiple manufacturers, a screen display code for displaying a display screen for accepting a setting of the image resolution; a read instruction code for instructing the image processing device to read an image of a document based on the set resolution; 1. An application program comprising:

2. 2. The application program according to claim 1, wherein the set resolution is one of a plurality of predetermined resolution candidates.

3. 3. The application program according to claim 2, wherein the screen display code includes a code for displaying, on the display screen, only resolutions that can be read by the image processing device, out of the plurality of predetermined resolution candidates.

4. 2. The application program according to claim 1, wherein the screen display code includes a code for accepting a value input by a user on the display screen as the set resolution value.

5. 2. The application program according to claim 1, wherein the set resolution is a resolution that cannot be specified by the scan software.

6. 2. The application program according to claim 1, wherein the screen display code includes code for displaying a warning on the display screen when the set resolution is equal to or higher than a certain resolution.

7. An application program as described in claim 1, characterized in that it has a resolution conversion code that converts the resolution of image data obtained by reading the document at the image processing device to the set resolution if reading the document at the set resolution is not possible in the image processing device.

8. The application program according to claim 7, characterized in that the reading instruction code instructs the image processing device to read the image of the document at a resolution greater than the set resolution and supported by the image processing device if reading of the document at the set resolution is not possible on the image processing device.

9. The application program according to claim 1, characterized in that, when instructing the image processing device to read an image of a document, the reading instruction code creates an instruction command that extends the instruction command of a standard instruction protocol with commands for functions not supported by the standard instruction protocol, and sends the instruction command to the image processing device.

10. The application program according to claim 1, characterized in that, when instructing the image processing device to read an image of a document, the reading instruction code is sent to the image processing device by adding an extended instruction command for a function not supported by the standard instruction protocol to the instruction command of the standard instruction protocol.

11. The application program according to claim 1, characterized in that, when the reading instruction code instructs the image processing device to read an image of a document, it creates an instruction command of a standard instruction protocol and an extended instruction command for a function not supported by the standard instruction protocol, and sends the instruction command and the extended instruction command to the image processing device.

12. 2. The application program according to claim 1, wherein the screen display code changes an item to be displayed on the display screen from among the plurality of predetermined resolution candidates in combination with another function.

13. The application program according to claim 1, characterized in that the screen display code acquires capability information of the image processing device and changes the items to be displayed on the display screen from among the plurality of predetermined resolution candidates according to the capability information.

14. A storage medium for storing an application program that supports scan software that can be commonly used for image processing devices from multiple manufacturers, The application program is installed on a computer. a screen display step of displaying a display screen that accepts setting of image resolution; a read instruction step of instructing the image processing device to read an image of a document based on the set resolution.

15. A control method for controlling image processing devices of multiple manufacturers to support scan software that can be commonly used, comprising: a screen display step of displaying a display screen that accepts setting of image resolution; a read instruction step of instructing the image processing device to read an image of a document based on the set resolution.

16. An information processing device that is communicably connected to image processing devices from a plurality of manufacturers and is capable of processing information between the image processing devices, a scanning software program that can be used in common with the image processing devices of the plurality of manufacturers; and an application program that supports the scanning software; The application program is installed on a computer. a screen display step of displaying a display screen that accepts setting of image resolution; a read instruction step of instructing the image processing device to read an image of a document based on the set resolution.

Citation Information

Patent Citations

  • Server system and application

    JP2021033526A