A program that supports general-purpose scanning software, a control method for an information processing device, and an information processing device.
The program enhances standard scan drivers by allowing users to set scaling functions, addressing the limitation of standard drivers in supporting proprietary scaling features across different scanning devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2024-10-03
- Publication Date
- 2026-04-15
AI Technical Summary
The standard scan driver in Windows does not support the scaling function, which allows users to enlarge or reduce image data during scanning, limiting the functionality of scanning devices from multiple manufacturers.
A program that supports general-purpose scanning software, enabling the display of settings for scaling functions and outputting instructions to image reading devices to perform scans based on these settings, thereby extending the capabilities of standard drivers to include scaling.
Enables users to utilize a scaling function with scanning devices from multiple manufacturers, enhancing the functionality of standard drivers to support proprietary features.
Smart Images

Figure 2026065545000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a program for supporting general-purpose scanning software, a control method for an information processing apparatus, and an information processing apparatus.
Background Art
[0002] As scanning software for controlling a scanning apparatus, a configuration is known in which a scan driver installed in a host computer is used to give a read instruction to a scanning apparatus connected to the host computer. An operating system (OS), which is basic software, is installed in the host computer. The scan driver is configured according to the specifications defined by the OS and is called from the OS to operate. A vendor (manufacturer) that provides a scanning apparatus can provide a means for instructing reading of the scanning apparatus using the OS by providing a scan driver that conforms to the specifications of the OS.
[0003] In recent years, in Windows (registered trademark), a standard class driver (hereinafter also referred to as "standard driver") that can be commonly used in scanning apparatuses provided by a plurality of vendors has been attempted to be provided. Such a standard driver is included in the package of the OS and can be easily used by connecting an arbitrary scanning apparatus to the host computer. Therefore, there is no need to separately install a model-specific scan driver suitable for the scanning apparatus, and the convenience is high. Also, it is assumed that the standard driver is configured to be able to specify a scan function according to scan function information generated based on information acquired from the connected scanning apparatus. Thus, a user who uses a standard driver can specify a scan function according to the capabilities of the connected scanning apparatus even though using one standard driver. However, since this is only a function that can be realized by the standard driver alone, a function unique to the vendor (manufacturer) of the scanning apparatus cannot be specified. Therefore, Patent Document 1 discloses a program for extending the printing function of general-purpose software. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2021-033526 [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] One of the features of the scan vendor's proprietary scan driver is the scaling function. The scaling function allows you to enlarge or reduce image data during scanning. The scaling function allows you to directly set the magnification or reduction ratio, as well as select from pre-defined settings to specify the magnification, such as enlarging from A4 to A3. There is also an automatic scaling function that automatically enlarges or reduces the scanned image to a specified size based on the original document size. This feature allows users to obtain image data that has been enlarged or reduced to a specified size. However, when using the standard driver, the scaling function is not available, and users cannot obtain enlarged or reduced images. In view of the above issues, the present invention aims to provide a mechanism that supports general-purpose scanning software that can be used in common with scanning devices provided by multiple manufacturers, and that enables the use of a scaling function. [Means for solving the problem]
[0006] To solve the above problems, an information processing device according to one aspect of the present invention has the following configuration. The present invention is a program that supports general-purpose scanning software that can be used in common with image reading devices provided by multiple manufacturers, and is characterized by displaying an object that accepts settings related to a scaling function for enlarging or reducing image data, and outputting a reading instruction to the image reading device that performs the scan based on the settings accepted by the object. [Effects of the Invention]
[0007] According to the present invention, a program that supports general-purpose scanning software usable in common with scanning devices provided by multiple manufacturers can enable users to utilize a scaling function. [Brief explanation of the drawing]
[0008] [Figure 1] Hardware configuration diagram of the scanning system of this embodiment [Figure 2] Software configuration diagram of the scanning system of this embodiment [Figure 3A] Scan settings screen and detailed settings screen of Embodiment 1 [Figure 3B] Scan settings screen and detailed settings screen of Embodiment 1 [Figure 4] Editing process of scan function information by the extended application of Embodiment 1 [Figure 5] List of Scan Functions for Each Device in Embodiment 1 [Figure 6] Sequence diagram illustrating the scan operation of Embodiment 1 [Figure 7] Scanning process in the extended application of Embodiment 1 [Figure 8] Scanning process in the scanning device of Embodiment 1 [Figure 9] Additional processing for the multiplication function of the extended application in Embodiment 2 [Figure 10] Sequence diagram illustrating the scan operation of Embodiment 2 [Figure 11] Scanning process in the extended application of Embodiment 2 [Figure 12] Sequence diagram for explaining the scanning operation of Embodiment 3 [Figure 13] Sequence diagram for explaining the scanning operation of Embodiment 3 [Figure 14] Sequence diagram for explaining the scanning operation of Embodiment 4 [Figure 15] Scanning process in the extended application of Embodiment 4
Mode for Carrying Out the Invention
[0009] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the present invention according to the claims, and not all combinations of the features described in this embodiment are essential for the solution means of the present invention.
[0010] [Embodiment 1] Scanning system hardware configuration FIG. 1 is a block diagram showing the hardware configuration of a scanning system. (Host computer) In this figure, the host computer 101 is an example of an information processing device, and has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Further, input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and display devices such as a display unit 119 are connected to the output interface 115. The NETIF 120 is a network interface and controls data transfer with external devices via the network.
[0011] The ROM 112 stores the initialization program. The external storage device 114 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The external storage device 114 stores application programs, the operating system (OS), and various other data. The RAM 113 is used as work memory for executing the various programs stored in the external storage device 114, enabling the various programs to run within the host computer 101. In this embodiment, the CPU 111 performs processing according to the program code stored in the ROM 112, thereby executing the functions and flowchart-related processing described later in the host computer 101.
[0012] (Scanning device) The scanning device 102 is an example of an image reading device, and is connected to the host computer 101 via the input / output interface 198 of the scanning device 102 and the input / output interface 116 of the host computer 101. The connection between the input / output interface 198 of the scanning device 102 and the input / output interface 116 of the host computer 101 may be a wired network or a wireless network. The image reading device, the scanning device 102, includes a CPU 191, ROM 192, RAM 193, operation unit 194, reading unit 195, printing unit 196, NETIF 197, input / output interface 198, and external storage device 199.
[0013] The CPU 191 provides overall control over the scanning device 102. ROM192 is the memory that stores the program. RAM193 is memory that temporarily stores programs and image data. The reading unit 195 is a scanner that reads images from a document. The printing unit 196 prints an image onto a sheet based on the image data. Note that the printing unit 196 is not mandatory. NETIF197 is a network interface that controls data transfer between external devices over a network. The image processing unit 190 performs various image editing processes on the input image data.
[0014] In this embodiment, the host computer 101 and the scanning device 102 are configured separately, but they may also be configured as a single information processing device. Furthermore, the reading settings screen and detailed settings screen described later are displayed on the display unit 119. In this embodiment, an electrophotographic digital multifunction device with multiple functions such as copying, printing, and faxing is used as an example of the scanning device. However, this embodiment is not limited to this; it can also be applied to devices using other processes, such as inkjet technology, or scanners that only read images. Also, the host computer 101 may be a desktop computer, a smartphone, or a laptop computer.
[0015] Scanning system software configuration Figure 2 schematically shows the software configuration of the scanning system. The software configuration in Figure 2 is stored in the external storage device 114 shown in Figure 1. Here, we will explain the scanning system assuming a host computer 101 equipped with Microsoft's Windows® 11 as the operating system. Note that standard drivers are also provided for Apple's macOS, and this technology can be applied to it as well. Figure 2(a) shows a typical configuration when the extended application 204 is not associated with the general-purpose scanning software 202 and the scanning device 102. Figure 2(b) shows the configuration when the extended application 204 is associated with the general-purpose scanning software 202 and the scanning device 102.
[0016] Scanning system software configuration (without association of extended applications) First, using Figure 2(a), we will describe the configuration of the scanning system when the extended application 204 is not associated. The scan application 201 is software that captures scanned content (image data). For example, this could be a document creation application or an image editing application. When the scan application 201 receives a scan request from the user, it issues a scan command to the OS. The scan command includes scan setting information to instruct the operation of the general-purpose scan software 202 and the scan device 102.
[0017] The scan application 201 can display a scan settings screen provided by either the general-purpose scan software 202, the OS, or the scan application 201 itself in order to execute a scan command. Furthermore, if the "Advanced Settings" button is pressed within the scan settings screen, the general-purpose scan software 202 will display an additional advanced settings screen. The scan settings screen and advanced settings screen will be described later using Figure 3. The advanced settings screen includes setting items (hereinafter also referred to as "control items") that indicate the configurable scan functions according to the capability information (configurable information) of the general-purpose scan software 202, and control items that indicate their setting values. The general-purpose scanning software 202 determines the scanning capability based on the scanning function information 203.
[0018] Scan function information 203 is data indicating the scan function, which includes all configurable scan functions, their settings, and the mutual exclusion relationships between the settings. Scan function information 203 is included in the configuration file of the general-purpose scan software 202 and is placed on the external storage device 114 as an immutable file. Alternatively, the general-purpose scan software 202 can dynamically generate the scan function information 203. Specifically, the general-purpose scan software 202 or the OS can be configured to acquire attribute data of the scan device from the scan device 102 and generate the scan function information 203 according to the attribute information in the acquired attribute data. When the scan function information 203 is dynamically generated, the generated scan function information 203 is editable. The attribute data of the scan device acquired from the scan device 102 includes attribute information indicating the scan functions (capabilities of the scan device) that can be specified by the scan device 102 and the settings related to that attribute information. This information is stored in RAM 113.
[0019] With this configuration, the general-purpose scan software 202 can be configured so that the user can specify the scan functions available on each connected scan device 102, depending on the connected scan device 102. In other words, even when scan devices with different functions or scan devices developed by different vendors are connected, the general-purpose scan software 202 can be configured so that the user can specify the scan functions available on each connected scan device. Furthermore, the general-purpose scan software 202 can generate scan instructions that can be interpreted by multiple scan devices from different vendors and output these scan instructions to each of the multiple scan devices from different vendors. Note that the vendor may be the manufacturer of the scan device 102. Here, the general-purpose scan software 202 is a standard class driver that performs scans based on a standard scan protocol called Mopria. The general-purpose scan software 202 acquires capability information of the connected scan device 102 and generates scan function information 203 based on that information so that the user can specify the scan functions supported by the connected scan device 102. The general-purpose scanning software 202 obtains scanning function information 203 from the scanning device 102 via IPP (Internet Printing Protocol) and receives image data generated by the scanning device 102 scanning the document. However, the general-purpose scanning software 202 does not support the scaling function. This is because the scaling function is a proprietary function of the scanning device vendor (scanning device manufacturer).
[0020] • Variable magnification function The scaling function is a function that enlarges or reduces image data. With the scaling function, the user directly sets the scaling ratio (magnification ratio), and the image data is generated after scaling the image according to the specified magnification ratio. In this embodiment, this is called magnification specification. Different magnification ratios may be set for the vertical and horizontal directions of the image, which in this embodiment is called XY independent scaling.
[0021] In addition to the function that allows users to directly set the scaling factor, there is also a function that allows users to specify the scaling factor by selecting from pre-defined settings, such as enlarging from A4 size to A3 size. In this embodiment, this is called fixed scaling. The options for setting fixed scaling are not limited to those listed in this embodiment. Furthermore, there is a function that automatically calculates the scaling factor based on the original document size and the recording size of the scanned image specified by the user, and then enlarges or reduces the image accordingly. In this embodiment, this is called automatic scaling. The options for recording size in automatic scaling are not limited to those listed in this embodiment. In this embodiment, the image scaling is performed by the ASIC of the image processing unit 190, but the scaling is not limited to this method, and for example, the image scaling may be performed by software.
[0022] Scanning system software configuration (with associated extension applications) Next, Figure 2(b) will be used to describe the configuration of the scanning system when the extended application 204 is associated. Note that the same configuration as in Figure 2(a) will not be explained.
[0023] The extension application 204 is software that extends or supports the functionality of the general-purpose scanning software 202, and is also called a support application. The extension application 204 is software that is not pre-installed (not bundled) with the OS. Therefore, the user needs to operate the host computer 101, download the extension application 204 from a server via the internet, and install it. Alternatively, it may be automatically installed based on the connection of the scanning device 102 to the host computer 101. Specifically, when the scanning device 102 is connected to the host computer 101, the OS obtains device identification information from the scanning device 102. The OS may download the extension application 204 corresponding to the obtained device identification information from a server via the internet and install it. In other words, the general-purpose scanning software 202 and the extension application 204 are kept as separate files on the host computer 101.
[0024] The general-purpose scan software 202 and the extended application 204 may be updated and upgraded, but these update processes are performed at different times. In other words, the timing at which the host computer 101 acquires the general-purpose scan software 202 and the timing at which the extended application 204 is acquired are different. Also, the triggers for the host computer 101 to acquire the general-purpose scan software 202 and the triggers for the host computer 101 to acquire the extended application 204 are different. When the extended application 204 is installed, the OS associates the extended application 204 with the general-purpose scan software 202 and the scan device 102.
[0025] The extended application 204 described in this embodiment includes a scan setting screen extension unit 205, a scan function extension unit 206, an image data editing unit 207, and a notification unit 209. The extended application 204 also includes shared information 208 that can be accessed from all units. The shared information 208 is actually a file stored in the external storage device 114 or information stored on the RAM 113. The extended application 204 writes to and reads information from the shared information 208 by using the API (Application Program Interface) provided by the OS. Furthermore, the extension application 204 may terminate its operation after each unit has finished processing. In that case, the OS will start the extension application 204 each time a request to use each unit is received.
[0026] Furthermore, the extended application 204 may cancel processing within each unit. If canceled, the job being processed will be deleted by the OS. When the scan application 201 receives a scan request from the user, it issues a scan command to the OS. In this configuration, as in the configuration shown in Figure 2(a), the scan application 201 can display the scan settings screen. In this configuration, the detailed settings screen provided by the extension application 204 is displayed. Specifically, the detailed settings screen provided by the scan settings screen extension unit 205 of the extension application 204 is displayed. Furthermore, the scan settings screen extension unit 205 can save the detailed settings configured by the user to the shared information 208.
[0027] The extended application 204 includes an image data editing unit 207. The image data editing unit 207 acquires image data from the scanning device 102 and performs editing. The image data editing unit 207 acquires detailed setting information from the shared information 208 and performs image editing on the image data according to the detailed settings. The extended application 204 may also be configured to acquire image data acquired by the general-purpose scanning software 202 and perform image editing on the image data according to the detailed settings. Furthermore, even in the configuration of Figure 2(b), the user may not set the scaling setting. In that case, as in the configuration of Figure 2(a), the general-purpose scanning software 202 may issue a scan request instruction to the scanning device 102 without going through the extended application 204.
[0028] The extended application 204 includes a scan function extension unit 206. The scan function extension unit 206 can edit the scan function information 203 generated by the general-purpose scan software 202 or the OS. This allows the scan function extension unit 206 to add functions provided by the extended application 204. In addition, the scan function extension unit 206 can add functions supported by the scan device 102 but not by the general-purpose scan software 202 (such as a scaling function), add mutual exclusion relationships between scan function settings, and so on. The OS starts the scan function extension unit 206 when the extended application 204 is first associated with the scan device 102 and the general-purpose scan software 202. Furthermore, the OS may start the scan function extension unit 206 at other times, such as when the OS starts up.
[0029] Furthermore, the extended application 204 has a notification unit 209. The notification unit 209 can display a notification to the user in response to an error occurring in the scanning device 102. For example, if a read jam error occurs in the scanning device 102, the general-purpose scanning software 202 detects it, and the OS uses a notification function called a toast notification, which is a function of the OS, to display a message on the display unit 119. When the user presses this toast notification, the OS calls the notification unit 209 of the extended application 204, and the UI screen of the notification unit 209 is displayed. The UI screen of the notification unit 209 can display, for example, a detailed message about the scan jam error and instructions on how to clear the jam.
[0030] Furthermore, the configuration of the extended application 204 for realizing this embodiment is not limited to having all of the aforementioned functions (units), but may have only some of the functions or other functions. Also, the extended application 204 is sometimes simply called scan software. As described above, the extended application 204 can be said to have at least one of the following functions. The first is a function to display the settings screen (scan settings screen extension unit 205). The second feature is a function (image data editing unit 207) that edits image data according to detailed settings. The third feature is a function that extends the capabilities of the image data generation software (scan function extension unit 206). The fourth feature is a function (notification unit 209) that displays a screen in response to an error occurring in the scanning device 102.
[0031] (Settings screen) Next, an example of the scan settings screen and detailed settings screen in this embodiment will be explained using Figures 3A and 3B (hereinafter collectively referred to as "Figure 3"). Figure 3(a) shows the scan settings screen displayed by the scan application 201. Figure 3(b) shows the detailed settings screen displayed when the extended application 204 shown in Figure 2(a) is not present. Figure 3(c) shows the detailed settings screen displayed when the extended application 204 shown in Figure 2(b) is present. Note that the units and modules that display the scan settings screen are not limited to those mentioned above. For example, the scan settings screen extension unit 205 may be configured solely to generate a display screen. In that case, the scan settings screen extension unit 205 sends the generated display screen to the scan application 201 via the general-purpose scan software 202. The scan application 201 may be configured to display the acquired display screen.
[0032] <Scan settings screen (scan application)> First, we will explain the scan settings screen displayed by the scan application 201 shown in Figure 3(a). Control 301 has objects that allow the user to set the scanner (the scanner used for reading) to which the image data will be scanned. Control 302 is an advanced settings button. When Control 302 is pressed, an additional scan screen is displayed by the general-purpose scan software 202 or the scan settings screen expansion unit 205. Control 303 is the scan start button, and control 304 is the scan cancel button.
[0033] <Advanced Settings Screen (General-Purpose Scan Software)> Next, Figure 3(b) will be explained. Figure 3(b) is an additional settings screen displayed by the general-purpose scanning software 202 when the extended application 204 is not available. Control 305 indicates that the scanning destination can be set and that the document glass is selected. Control 306 is the setting completion button; when Control 306 is pressed, the system returns to the scan settings screen shown in Figure 3(a).
[0034] <Scan Settings Screen (Scan Settings Screen Extension Unit)> Next, Figures 3(c) to 3(f) will be explained. Figures 3(c) to 3(f) are additional settings screens displayed by the scan settings screen extension unit 205 when the extension application 204 is present. First, let's explain Figure 3(c). Unlike Figure 3(b), control 307 and lists 308-310 have been added. Control 307 is a button (object) that allows you to select the scaling setting, and you can select the type of scaling. Here, it indicates that specified scaling is selected. Lists 308-310 show the settings for the scaling type when control 307 is pressed. Lists 308-310 indicate that, in addition to the currently selected "magnification" scaling, there are also "XY independent" scaling, "fixed size" scaling, and "automatic" scaling options. The user selects the desired scaling type from lists 308-310 to set the zoom function and perform the scan. Depending on the scaling type selected by control 307 and lists 308-310, additional settings will be added to the screen.
[0035] In the case of scaling by specifying the magnification as shown in Figure 3(c), a text box 311 is added, allowing the user to directly set the magnification. The user can specify the magnification by directly entering the magnification in the text box 311. In the case of independent XY scaling shown in Figure 3(d), text boxes 312 and 313 are added to set the scaling factor for the vertical and horizontal directions of the image, allowing the user to set different scaling factors for the vertical and horizontal directions. In the case of fixed-size scaling shown in Figure 3(e), lists 314-322, which are objects that specify scaling from one fixed size to another, are added, allowing the user to set enlargement or reduction to a different fixed size. In this embodiment, the settings for AB-type fixed sizes are shown, but settings for Inch-type fixed sizes such as LTR (Letter), LGL (Leagal), 11x17inch, etc., or combinations thereof may also be used. Furthermore, the setting items added to the screen may be switched between AB-type and Inch-type depending on the destination information.
[0036] In the case of automatic scaling as shown in Figure 3(f), lists 323 to 327 are added to specify the size to be recorded as image data, allowing the user to set the size to be enlarged or reduced to a specified recording size. In this embodiment, the recording size is shown as a standard AB size, but it may also be set to a standard inch size such as LTR (Letter), LGL (Leagal), or 11x17inch, or a combination thereof. Furthermore, the recording size item added to the screen may be switched between AB and inch sizes depending on the destination information.
[0037] Here, we will explain why the scan settings differ between Figure 3(b) and Figures 3(c) to (f). The detailed settings screen is generated by referring to the scan capability generated based on the scan function information. However, the general-purpose scan software 202 does not support the multiplier function, so it cannot add the multiplier function to the scan function information. Also, even if the scan function information originally included the multiplier function, the general-purpose scan software 202 cannot interpret the multiplier function included in the scan function information, and therefore cannot display the multiplier setting on the detailed settings screen. However, the scan function expansion unit 206 is configured to add the multiplier function to the scan function information 203, and the scan settings screen expansion unit 205 is configured to display the detailed settings screen by referring to the scan capability. With these configurations, the expansion application 204 can display the multiplier setting on the detailed settings screen. Note that Figures 3(c) to (f) may also include additional expansion functions other than the multiplier function.
[0038] [Editing process for scan function information: Scan function expansion unit] Here, using Figures 4 and 5, the processing flow in which the scan function expansion unit 206 edits the scan function information 203 will be explained. Each step is realized by the execution of each unit that has been read from the external storage device 114 to the RAM 113 by the CPU 111.
[0039] In S401, the scan function expansion unit 206 acquires capability information from the scan device 102. The capability information consists of attribute information indicating the functions that can be specified on the scan device 102 and the setting values associated with that attribute information. Table 501 in Figure 5 shows an example of a list of capability information obtained from the scanning device 102. As shown in Table 501, the scanning device 102 can provide information on functions such as specifying the reading size, as well as configurable options for each function. In S402, the scan function expansion unit 206 retrieves a list of scan functions supported by the expansion application 204 from the shared information 208. The list of scan functions supported by the expansion application 204 is stored in the shared information 208 and contains all scan functions that the expansion application 204 can process and their settings. An example of the list of scan functions supported by the expansion application 204 is shown in Table 502 of Figure 5. The list of scan functions supported by the expansion application 204 may be updated due to updates to the expansion application 204, etc.
[0040] In S403, the scan function expansion unit 206 obtains scan function information 203 created by the general-purpose scan software 202 from the OS. Table 503 in Figure 5 shows an example of a list of scan functions supported by the general-purpose scan software 202. The scan function information 203 created by the general-purpose scan software 202 is created based on the capability information (Table 501 in Figure 5) obtained by the general-purpose scan software 202 from the scan device 102.
[0041] The scan function information created by the general-purpose scan software 202 only includes the scan functions supported by the general-purpose scan software 202 from the capability information acquired from the scan device 102, thus limiting the functionality of the scan function information. For example, the capability information acquired from the scan device 102 (Table 501 in Figure 5) includes a scaling function, but the general-purpose scan software 202 does not support the scaling function, and therefore the scaling function is not included in the scan function information. The scan function expansion unit 206 adds functions and options to the scan function information, allowing the expansion application 204 to compensate for the lack of functionality in the general-purpose scan software 202. The scan function expansion unit 206 can also remove unnecessary functions and options from the scan function information created by the general-purpose scan software 202.
[0042] The following steps S404, S405, and S406 are processes that are repeatedly performed on the list of functions contained in the capability information acquired from the scanning device in S401. In this embodiment, these processes are repeatedly performed on the 23 types of reading sizes included in Table 501, from A4H to automatic magnification. In S404, the scan function expansion unit 206 determines whether the function / option being processed exists in the scan function information generated by the general-purpose scan software 202. If the function / option being processed exists in the scan function information 203 (Yes in S404), the process returns to the beginning of the loop. Specifically, the next item is selected from the functions / options of the scan function acquired from the scan device 102, and S404 is performed again. If the last item of the functions / options of the capability information acquired from the scan device 102 is being processed, the loop is exited and the flowchart in Figure 4 is terminated. If the function / option being processed does not exist in the scan function information 203 (No in S404), the process proceeds to S405. In this embodiment, for example, the scan function of the scan device 102, "Scanning destination: document glass" shown in Table 501, also exists in Table 503, which is the scan function of the general-purpose scan software 202, so it is determined to be Yes in S404. On the other hand, “Reading size: A4H” shown in Table 501 is not present in Table 503, so it is determined to be No, and the process proceeds to S405.
[0043] In S405, the scan function expansion unit 206 determines whether the function / option being processed exists among the functions / options supported by the expansion application 204. If it is determined that the function / option being processed exists (Yes in S405), the process proceeds to S406. If it is determined that the function / option being processed does not exist (No in S405), the process either repeats S404 as in the case where Yes was determined in S404, or exits the loop and terminates the processing of this flowchart. In this embodiment, for example, if the function being processed is "magnification: magnification specification," it also exists in Table 502, which is the capability information of the expansion application 204, so it is determined to be Yes in S405 and the process proceeds to S406.
[0044] In S406, the scan function expansion unit 206 adds the function / option being processed to the scan function information 203. After processing in S406, if Yes is determined in S404, either S404 is repeated, or the loop is exited and the processing of this flowchart ends. As described above, the scan function expansion unit 206 adds functions and options that are not supported by the general-purpose scan software 202 but are supported by the scan device 102 and the expansion application 204 to the scan function information 203. Based on the scan function information edited by this process, the scan capabilities are generated. Furthermore, the scan setting screen expansion unit 205 generates a display screen based on the generated scan capabilities, thereby extending the functions not supported by the general-purpose scan software 202 and enabling the display of the detailed settings screen shown in Figure 3(c).
[0045] Scanning process sequence Next, using Figure 6, the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 after the scan application 201 accepts the scan settings will be explained. Note that each step in Figure 6, except for the scan device 102, is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 6 is realized by the CPU 191 of the scan device 102 reading the program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it.
[0046] In S601, the scan application 201 accepts scan settings from the user. The user can instruct the scan application 201 to configure scan settings by operating the pointing device 117 or the keyboard 118. In S602, the scan application 201 displays the scan settings screen shown in Figure 3(a) on the display unit 119. In S603, the scan application 201 accepts detailed setting instructions. The user can specify detailed settings by operating the pointing device 117 or keyboard 118 and selecting control 302. In S604, the scan application 201 requests the general-purpose scan software 202 to display detailed settings.
[0047] In S605, the general-purpose scan software 202 requests the extended application 204 to display detailed settings. In S606, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen shown in Figure 3(c) on the display unit 119. This is because, as explained in Figure 4, the scan function extension unit 206 has added a scaling setting to the scan function information. The scan settings screen extension unit 205 displays the detailed settings screen shown in Figure 3(c) on the display unit 119 by referring to the scan capability generated based on the added scan function information. In this embodiment, the extended application 204 supports only one resolution, 300 x 300 dpi, so there is no need for the user to select it, and it is not displayed on the detailed settings screen. Even if it is not selectable, it may be configured to display it on the detailed settings screen to make it clear to the user.
[0048] In S607, the scan settings screen extension unit 205 accepts detailed settings. In this embodiment, as shown in Figure 3(c), the user selects: Scan destination: Document glass, Magnification: Magnification specified as 50%. The accepted settings are stored in RAM 113 by CPU 111. In S608, the scan settings screen extension unit 205 receives confirmation that the detailed settings have been completed and instructs the system to write the received settings to the scan settings information. The user can signal the completion of the detailed settings by operating the pointing device 117 or keyboard 118 and selecting control 306. When writing to the scan settings information, it is also possible to configure the system to write items that have not been selected by the user, such as resolution. In S609, the extended application 204 sends a message to the general-purpose scanning software 202 indicating that the detailed settings have been completed.
[0049] In the S610, the general-purpose scan software 202 sends a message to the scan application 201 indicating that the detailed settings have been completed. In S611, the scan application 201 receives a scan command. The user can initiate a scan by operating the pointing device 117 or keyboard 118 and selecting control 303. In S612, the scan application 201 issues a scan command to the general-purpose scan software 202. Next, in S613, the general-purpose scan software 202 issues a scan command to the extended application 204.
[0050] In S614, the extended application 204 creates a scan command based on the scan configuration information written in S608. If items that were not selected by the user, such as resolution, are not written to the scan configuration information in S608, the extended application 204 may add them when creating the scan command in S614. Alternatively, it may be configured to operate with the default values of the scan device 102 without adding anything. In step S615, the extended application 204 sends a scan command to the scanning device 102 to perform a scan.
[0051] In S616, the scanning device 102 interprets the scan instruction command and executes the scan. During the scan, it performs the necessary image processing on the image data according to the scan instruction. In this embodiment, if the scan settings (magnification: magnification specified) shown in Figure 3(c) are configured, the scan process that performs the magnification is performed. In other words, image data that has been enlarged or reduced is generated. In S617, the scanning device 102 sends the generated image data to the extended application 204. Next, in S618, the extended application 204 sends the received image data to the general-purpose scanning software 202.
[0052] In S619, the general-purpose scanning software 202 sends the received image data to the scanning application 201. In S620, the scan application 201 accepts image data. In step S621, the scan application 201 displays the received image data and terminates the process.
[0053] [Scanning process: Extended application] Here, using Figure 7, we will explain the flow in which the extended application 204 performs the scan process. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111. In S701, the extended application 204 accepts a request to display detailed settings. In S702, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen shown in Figure 3(c) on the display unit 119. This is because, as explained in Figure 4, the scan function extension unit 206 has added a scaling setting to the scan function information. The scan settings screen extension unit 205 displays the detailed settings screen shown in Figure 3(c) on the display unit 119 by referring to the scan capability generated based on the added scan function information 203.
[0054] In S703, the scan settings screen extension unit 205 determines whether the user has set a function. If the user has set a function (Yes in S703), the CPU 111 proceeds to S704; if the user has not set a function (No in S703), the CPU 111 proceeds to S705. S704 accepts detailed settings, the CPU111 stores the accepted settings in RAM113, and then the processing is passed to S705. In S705, the scan settings screen extension unit 205 determines whether the user has given a command to finish the settings. If there is a command to finish the settings (Yes in S705), the CPU 111 accepts that the detailed settings have been completed, writes the accepted settings to the scan settings information, and proceeds to S706. If there is no command to finish the settings (No in S705), it returns to S703 and determines again whether the user has given a command to finish the functions.
[0055] In S706, the extended application 204 sends a message to the general-purpose scanning software 202 indicating that the detailed settings have been completed. In S707, the extended application 204 determines whether there is a scan command from the general-purpose scan software 202. If there is a scan command (Yes in S706), the CPU 111 proceeds to S708; otherwise, it returns to S707 and determines again whether there is a scan command from the general-purpose scan software 202. In S708, the extended application 204 creates scan command instructions based on the scan configuration information written in S705.
[0056] One way to create scan command instructions in S708 is to extend the standard protocol commands. This extension method involves writing dedicated commands in the extension area of the standard protocol commands. Furthermore, there are methods such as adding proprietary commands to the end of the standard protocol commands, or having the extension application 204 overwrite the standard protocol commands with its own command system. Furthermore, when issuing instructions from the extended application 204, the configuration may be such that instructions and communication are performed using the vendor's (manufacturer's) proprietary protocol, regardless of the standard protocol. In S709, the extended application 204 sends a scan command to the scanning device 102 to perform a scan.
[0057] In S710, the extended application 204 determines whether it has received all the image data from the scanning device 102. If all the image data has been received (Yes in S710), the CPU 111 proceeds to S711; otherwise (No in S710), it returns to S710 to determine whether all the image data has been transmitted from the scanning device 102. In S711, the extended application 204 transmits the received image data to the general-purpose scanning software 202.
[0058] Next, using Figure 8, we will explain the scan process flow of the scanning device 102 that receives a scan command from the extended application 204. Note that each operation (step) shown in the flowchart of Figure 8 is realized by the CPU 191 executing a program stored in RAM 192. In the S801, the CPU 191 receives scan instructions sent from the extended application 204. In S802, the scan command received in S801 is analyzed and converted into a reading setting that allows the scanning device 102 to perform the reading process. In this embodiment, the scanning settings are configured on the document glass with magnification: 50% and resolution: 300 x 300 dpi.
[0059] In S811, CPU191 determines whether multiplication is set in the read settings. If it is determined that it is not set (No in S811), the process proceeds to S803; if it is determined that it is set (Yes in S811), the process proceeds to S812. (Multiplier is not set) In S803, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scan according to the reading settings converted in S802, and configures the ASIC. In S804, the CPU 191 sends a read instruction to the reading unit 195 according to the read settings. In the S805, the CPU 191 acquires image data from the reading unit 195.
[0060] In S806, the CPU 191 and the image processing unit 190 perform image processing on the received image data. In this embodiment, the resolution is converted to 300 x 300 dpi. If the reading unit 195 is capable of reading at 300 x 300 dpi, the reading unit 195 may acquire the image data at 300 x 300 dpi, and S806 may not perform any image processing. In S807, CPU 191 saves image data to external storage device 199. In S808, CPU191 determines whether the scanning process for all pages has finished. If it determines that it has not finished (S808 is No), CPU191 proceeds to S805 and executes the scanning process for the next page. If it determines that it has finished (S808 is Yes), CPU191 proceeds to S809.
[0061] In S809, the CPU 191 and the image processing unit 190 convert the image data saved in S807 according to the transmission format setting received in S801. In this embodiment, the transmission format is not included in the scan instruction received from the extended application 204. Therefore, it is converted to the default JPEG of the scanning device 102, but the transmission format to be converted is not limited to this; any format that can be handled by the information processing device is acceptable. In S810, the converted image data is sent to the extended application 204, and all processing is completed.
[0062] (Multiplier is set) In S812, CPU191 determines the type of scaling setting. If it is determined to be a specified scaling or XY independent scaling, the process proceeds to S813; if it is determined to be a fixed scaling, it proceeds to S820; and if it is determined to be an automatic scaling, it proceeds to S828. (Specified magnification / Independent XY magnification) In S813, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scaling process according to the reading settings converted in S802, and configures the ASIC. In S814, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scan according to the reading settings other than the scaling conversion converted in S802, and configures the ASIC. In S815, the CPU 191 sends a read instruction to the reading unit 195 according to the read settings. In the S816, the CPU 191 acquires image data from the reading unit 195.
[0063] In S817, the CPU 191 and the image processing unit 190 perform image processing on the received image data. In this embodiment, the processing involves converting the image to a resolution of 300 x 300 dpi and scaling the image down to 50%. In S818, the CPU 191 saves image data to the external storage device 199. In S819, CPU191 determines whether the scanning process for all pages has finished. If it determines that it has not finished (No in S819), the process proceeds to S816 and the scanning process for the next page is executed. If it determines that it has finished (Yes in S819), the process proceeds to S809.
[0064] (Fixed format multiplication) In S820, CPU191 calculates the scaling factor from the fixed scaling setting in the reading settings converted by S802. For example, if scaling from A4 size to A3 size is set, 141.4% is calculated as the scaling factor. In S821, the CPU 191 determines the ASIC for the image processing unit 190 to be used to perform the scaling process at the scaling factor calculated in S820, and configures the ASIC. In S822, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scan according to the reading settings other than the scaling conversion converted in S802, and configures the ASIC. In S823, the CPU 191 sends a read instruction to the reading unit 195 according to the read settings.
[0065] In S824, the CPU 191 acquires image data from the reading unit 195. In step S825, the CPU 191 and the image processing unit 190 perform image processing on the received image data. In this embodiment, the process involves converting the image to a resolution of 300 x 300 dpi and scaling it up using the scaling factor of 141.4% calculated in step S820. In S826, the CPU 191 saves image data to the external storage device 199. In S827, CPU191 determines whether the scanning process for all pages has finished. If it determines that it has not finished (No in S827), the process proceeds to S824 and the scanning process for the next page is executed. If it determines that it has finished (Yes in S827), the process proceeds to S809.
[0066] (Automatic multiplier) In S828, the CPU 191 obtains information about the document size detected by the reading unit 195 from the reading unit 195. In S829, CPU191 calculates the scaling factor based on the automatic scaling recording size setting in the scanning settings converted in S802 and the original document size information acquired in S828. For example, if the recording size setting is A4 and the original document size is A3, the scaling factor is calculated to be 70.7%.
[0067] In S830, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scaling process at the scaling factor calculated in S829, and configures the ASIC. In S831, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scan according to the reading settings other than the scaling conversion converted in S802, and configures the ASIC. In S832, the CPU 191 sends a read instruction to the reading unit 195 according to the read settings. In the S833, the CPU 191 acquires image data from the reading unit 195.
[0068] In S834, the CPU 191 and the image processing unit 190 perform image processing on the received image data. In this embodiment, the process involves converting the image to a resolution of 300 x 300 dpi and scaling it up using the scaling factor of 70.7% calculated in S829. In S835, the CPU 191 saves image data to the external storage device 199. In S836, CPU191 determines whether the scanning process for all pages has finished. If it determines that it has not finished (No in S836), the process proceeds to S833 and the scanning process for the next page is executed. If it determines that it has finished (Yes in S836), the process proceeds to S809.
[0069] In this embodiment, the multiplication process is implemented using an ASIC, but the multiplication process may also be implemented using software processing, or by combining an ASIC and software processing. As described above, in this embodiment, the scan setting screen extension unit 205 of the extension application 204 modifies the scan function information 203 based on the general-purpose scan software 202, the extension application 204, and the capability information of the scan device 102. Furthermore, when the user requests a detailed settings screen, the settings screen is displayed based on the scan capability generated from the scan function information 203, allowing the user to set the scaling factor. Subsequently, when the scan device 102 receives a scan instruction that reflects the scaling factor setting, it executes the scaling factor function and performs reading. Through this series of processes, the scanning device 102 can implement the scaling factor function, and the user can be provided with the scaling factor function.
[0070] In this embodiment, the detailed settings screens shown in Figures 3(c) to 3(f) were used under the configuration shown in Figure 2(b) for the explanation, but the present invention is not limited thereto. For example, when a request to display detailed settings is made to the general-purpose scan software 202 in S604, the general-purpose scan software 202 may display the detailed settings screen shown in Figure 3(b). Subsequently, after the detailed settings shown in Figure 3(b) are completed, the general-purpose scan software 202 requests the extended application 204 to display an additional detailed settings screen. Next, the extended application 204 may display an additional detailed settings screen that allows for scaling settings.
[0071] Furthermore, while the configuration is such that scan commands to the extended application 204 are issued from the general-purpose scan software 202, this is not limited to this. For example, the scan application 201 could issue commands to the extended application 204, or a control for issuing scan commands could be placed on the detailed settings screen, allowing the user to issue commands directly to the extended application 204. Additionally, the image data could be transferred directly from the extended application 204 to the scan application 201 without going through the general-purpose scan software 202, or from the scan device 102 to the scan application 201. Moreover, the received image data could be saved to the external storage device 114, and only the file path information of the save location could be transferred. Furthermore, in this embodiment, when there are multiple image data, the method is to receive all image data before passing it on, but it is also possible to configure the system to pass on transmitted image data as it is received.
[0072] [Embodiment 2] Embodiment 2 of the present invention will now be described. In Embodiment 1 described above, first, the scanning device 102 interprets the scan setting information including the multiplication function and performs the scan process with the multiplication function specified on the scanning device 102. However, some scanning devices do not support the scaling function at all. In such cases, users cannot utilize the scaling function.
[0073] Therefore, in Embodiment 2, first, it is determined from the capability information of the scanning device whether it supports the scaling function. Next, if the scanning device supports the scaling function, scan setting information including the scaling function specified by the user is generated and passed to the scanning device. On the other hand, if the scanning device does not support the scaling function, scan setting information without the scaling setting is generated and passed to the scanning device. After that, the scaling process is performed on the image data read by the scanning device using the extended application. This makes it possible to provide the scaling function to the user even if the scanning device does not support the scaling function. In the following, we will only describe the differences from Embodiment 1.
[0074] Assume that the scanning device 102 is a scanning device that does not support the scaling function. The extended application 204 has a different configuration from the extended application 204 of Embodiment 1. Unlike Embodiment 1, the scanning function extension unit 206 adds the scaling function to the scanning function information 203 even if the scaling function is not present in the capability information acquired from the scanning device, as long as there is a unit in the extended application 204 that performs scaling processing of image data. The image data editing unit 207 performs scaling processing on the image data received from the scanning device 102 based on the scaling function settings set by the user. Details will be described later.
[0075] [Editing process for scan function information: Scan function expansion unit] The scan function information editing process by the scan function extension unit 206 in Embodiment 2 will be explained using Figure 9. Steps common to both Figure 4 and this embodiment are given the same numbering and their explanations are omitted; the differences will be explained primarily. Note that each step in Figure 9 is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111.
[0076] When the scan function expansion unit 206 completes the repetitive processing from S404 to S406, it proceeds to processing S901. At this point, the scan device 102 does not support the multiplication function. Therefore, the multiplication function is not added to the scan function information 203 after the completion of processing S404 to S406. Therefore, S901 and S902 perform a process to add functions to the scan function information according to the modules that the extended application 204 has, even though they are not present in the capability information returned from the scan device 102. Specifically, in S901, the scan function expansion unit 206 refers to the capabilities table of the scan device and the scan function information 203 to determine whether the expansion application 204 has a module that performs scaling processing. If it is determined that there is a module that performs scaling processing (Yes in S901), the process proceeds to S902; if it is determined that there is no such module (No in S901), the process ends. In this embodiment 2, since the image data editing unit 207 can perform scaling processing, it is determined that the expansion application 204 has a module that performs scaling processing.
[0077] Next, in S902, the scan function expansion unit 206 adds the multiplication function to the scan function information. As described above, the function expansion unit 206 first adds functions and options that are not supported by the general-purpose scan software 202 but are supported by the scan device 102 and the expansion application 204 to the scan function information 203. Then, it determines whether the expansion application 204 can perform scaling processing, and if it can, it adds the scaling function to the scan function information. Through this process, even if the scan device 102 does not support scaling processing, the scan setting screen expansion unit 205 can generate a display screen based on the scanning capabilities, making it possible to display the detailed setting screen shown in Figure 3.
[0078] Scanning process sequence Next, using Figure 10, the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 12 after the scan application 201 accepts the scan settings will be explained. Note that each step in Figure 10 other than the scan device 102 is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into RAM 113 and executing them. Each step of the scan device 102 in Figure 10 is realized by the CPU 191 of the scan device 102 reading the program stored in ROM 192 or external storage device 199 into RAM 193 and executing it.Hereafter, steps common to Figure 6 will be given the same number and their explanations will be omitted, and the differences will be explained in detail.
[0079] In S1001, the extended application 204 creates a read command. The detailed operation at this time is explained in the flowchart in Figure 11. In S1002, the image data editing unit 207 performs image editing on the received image data. This embodiment performs image processing to enlarge or reduce the image data according to the scaling function setting. Here, using Figure 11, we will explain the flow in which the extended application 204 performs the scan process. Steps common to Figure 7 are given the same number and their explanations are omitted, while the differences will be explained primarily. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111.
[0080] [Scanning process: Extended application] In S1101, the extended application 204 obtains capability information for the scanning device 102 from the shared information 208. If capability information for the scanning device 102 is not available, the scanning function extension unit 206 may request capability information from the scanning device 102 and save it to the shared information 208. The extended application 204 determines from the acquired capability information and configuration information whether there are any standard size settings that are not supported by the scanning device 102. If it is determined that a function not supported by the scanning device 102 is set (if the answer is Yes in S1101), the CPU 111 proceeds to S1102. In Embodiment 2, a multiplication function not supported by the scanning device 102 is set, so the process proceeds to S1102. If it is determined that no function not supported by the scanning device 102 is set (if the answer is No in S1101), the CPU 111 proceeds to S708. Next, in S1102, the extended application 204 creates a scan command by excluding unsupported function settings, and the process proceeds to S707. In this embodiment, the multiplication function is not included in the scan command.
[0081] In S1103, the extended application 204 determines from the configuration information whether there are any settings that need editing in the image data editing unit 207. If it is determined that there are settings that need editing (Yes in S1103), the CPU 111 proceeds to S1104. In Embodiment 2, since a scaling function that the scanning device 102 cannot execute is set, the process proceeds to S1104. On the other hand, if it is determined that there are no settings that need editing (No in S1103), the CPU 111 proceeds to S711. Next, in S1104, the image data editing unit 207 performs scaling processing on the received image data based on the scaling function settings configured in S703.
[0082] In this embodiment, function settings not supported by the scanning device were excluded from the scan instruction command. However, even if such a function were included in the scan instruction command, the scanning device would not be able to interpret the unsupported instruction command and therefore would not be able to execute the function. For this reason, unsupported functions may be included in the scan instruction command without being excluded. As described above, in Embodiment 2, even if the scanning device does not support the multiplication function, it is possible to provide the user with the multiplication function.
[0083] [Embodiment 3] Embodiment 3 of the present invention will now be described. In Embodiments 1 and 2 described above, the extended application 204 and the scanning device 102 are configured to communicate with each other. In Embodiment 3, the general-purpose scanning software 202 interacts with the scanning device 102, and the extended application 204 is configured to perform only scan command extensions and image editing. In the following, we will only describe the differences from Embodiments 1 and 2.
[0084] Scanning process sequence (command extension) Figure 12 illustrates the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 after the scan application 201 receives the scan settings. Steps common to both Figure 6 and Figure 12 are given the same numbering and their explanations are omitted; the differences will be explained primarily. Note that each step in Figure 12, except for the scan device 102, is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 12 is achieved by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it.
[0085] In S1201, the general-purpose scan software 202 creates a scan command. At this time, functions that the general-purpose scan software 202 does not support are not included in the scan command. In S1202, the general-purpose scan software 202 passes the created scan command to the extended application 204. In S1203, the extended application 204 extends the command by adding instruction commands for functions not supported by the general-purpose scan software 202 to the received scan instruction command or by modifying existing instructions. In this embodiment, in S1201, since the scan instruction command created by the general-purpose scan software 202 does not include a multiplier setting, a multiplier setting is added.
[0086] In S1204, the extended application 204 passes the extended scan command to the general-purpose scan software 202. In step S1205, the general-purpose scan software 202 sends a scan command to the scan device 102 and performs the scan command. In S1206, the general-purpose scanning software 202 receives image data from the scanning device 102.
[0087] Scanning process sequence (image editing) Next, using Figure 13, we will explain the sequence of events when the general-purpose scan software 202 and the scan device 102 communicate and image editing is performed using an extended application. Steps common to Figure 12 are given the same number and their explanations are omitted, while the differences will be explained primarily. Note that each step in Figure 13 other than that of the scan device 102 is performed by the CPU 111 reading the scan application 201, the general-purpose scan software 202, and the extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 13 is realized by the CPU 191 of the scan device 102 reading the program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it.
[0088] In S1301, the general-purpose scanning software 202 transmits the received image data to the extended application 204. In S1002, the extended application 204 performs image editing. In this embodiment, image processing is performed to enlarge or reduce the received image data based on the scaling settings set in the same way as in S1104 in Figure 11. In S1302, the extended application 204 sends the edited image data to the general-purpose scanning software 202. As described above, in this embodiment, the extended application 204 extends the multiplication instruction command, thereby enabling the scanning device 102 to implement a multiplication function and providing the user with a multiplication function.
[0089] [Embodiment 4] Embodiment 4 of the present invention will now be described. In Embodiments 1 to 3 described above, the commands used in the standard protocol were extended and configured to communicate with the scanning device 102. Embodiment 4 describes a configuration in which the standard protocol commands are not extended, and functions supported only by the extended application 204 are communicated with the scanning device 102 using separate commands. In the following, we will only describe the differences from the previously described embodiment.
[0090] Scanning process sequence (sending separate commands) Figure 14 illustrates the sequence of the scan application 201, general-purpose scan software 202, extended application 204, and scan device 102 after the scan application 201 accepts the scan settings. Note that each step in Figure 14, except for the scan device 102, is performed by the CPU 111 reading the scan application 201, general-purpose scan software 202, and extended application 204 from the external storage device 114 into the RAM 113 and executing them. Each step of the scan device 102 in Figure 14 is achieved by the CPU 191 of the scan device 102 reading a program stored in the ROM 192 or external storage device 199 into the RAM 193 and executing it. Steps common to both Figure 6 and Figure 14 are given the same numbering, their explanations are omitted, and the differences are primarily explained.
[0091] In S1401, the extended application 204 creates a standard scan command in accordance with the standard protocol. At this time, functions not supported by the standard protocol are not included in the scan command. In S1402, the extended application 204 creates an extended scan command for features that are supported only by the extended application 204. In S1403, the extended application 204 sends a standard scan instruction command to the scanning device 102 and performs a scan instruction.
[0092] In S1404, the extended application 204 sends an extended scan command to the scanning device 102 and performs a scan command. In S1405, the scanning device 102 interprets the received standard scan instruction command and extended scan instruction command, respectively, and executes the scan process.
[0093] [Scanning process: Extended application] Here, using Figure 15, we will explain the flow in which the extended application 204 performs the scan process. Each step is realized by the execution of each unit read from the external storage device 114 to the RAM 113 by the CPU 111. Steps common to Figure 7 are given the same number and their explanations are omitted, while the differences will be explained in detail. In S1501, the extended application 204 creates a standard scan instruction command that conforms to the standard protocol. In S1502, the extended application 204 creates an extended scan command for features not supported by the standard protocol.
[0094] In S1503, the extended application 204 sends the standard scan instruction command created in S1501 to the scanning device 102. In S1504, the extended application 204 sends the extended scan instruction command created in S1502 to the scanning device 102. As described above, in Embodiment 4, the extended application can provide the user with a multiplication function by sending a separate scan command for functions not supported by the standard protocol.
[0095] (Other examples) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. This embodiment includes the following programs, methods, and configurations. (Program 1) A program that supports the functions of general-purpose scanning software that can be used in common with image reading devices provided by multiple manufacturers, Display an object that accepts settings related to the scaling function for enlarging or reducing image data. A program characterized by causing an image reading device to perform a scan to output a read instruction based on the settings received by the aforementioned object. (Program 2) The program according to Program 1, characterized in that the setting for the scaling function is a setting that specifies the magnification or reduction ratio. (Program 3) The program according to Program 2, characterized in that the setting for the scaling function allows specifying different magnifications for the vertical and horizontal directions of the image. (Program 4) The program according to Program 2, characterized in that the setting for the scaling function is a setting that specifies conversion from a fixed size to a different fixed size. (Program 5) The setting for the scaling function is the program according to Program 2, characterized in that it calculates and sets the magnification ratio for enlargement or reduction to a specified size from the original document size. (Program 6) The program according to Program 2, characterized in that the settings related to the scaling function are set by selecting from a displayed list of objects. (Program 7) The image reading device determines whether the settings regarding the type of received document can be performed. If it is determined that the settings regarding the type of document received cannot be implemented, the program according to any one of programs 1 to 6 is characterized in that it performs image scaling processing on the scanned and acquired image data based on the received settings. (Program 8) The image reading device determines whether the settings regarding the type of received document can be performed. The program according to Program 7, characterized in that, if it is determined that the setting regarding the type of received document cannot be performed, the image reading device outputs an instruction command that does not include a scaling function. (Program 9) The program according to Program 1, characterized in that when issuing a read command to the image reading device that performs the scan, the device sends an instruction command that is an extension of the instruction command of the standard protocol. (Program 10) The program according to Program 1, characterized in that when issuing a read command to the image reading device that performs the scan, it sends an extended instruction command separate from the instruction command of the standard protocol. (Program 11) The program according to Program 1, characterized in that when issuing a read instruction to the image reading device that performs the scan, it does not transmit a standard protocol but transmits a proprietary instruction command. (Method 1) A control method for an information processing device having a program that supports general-purpose scanning software that can be used in common with image reading devices provided by multiple manufacturers, And, A display process that displays an object that accepts settings related to a scaling function that enlarges or reduces image data, Based on the settings received by the object, an output step is performed to output an instruction to the image reading device that performs the scan to read the document. A control method characterized by having [a certain characteristic]. (Composition 13) An information processing device having a program that supports general-purpose scanning software that can be used in common with image reading devices provided by multiple manufacturers, A display means for displaying an object that accepts settings related to a scaling function for enlarging or reducing image data, Based on the settings received by the object, an output means outputs an instruction to the image reading device that performs the scan to read the document. An information processing device characterized by having [Explanation of Symbols]
[0096] 102 Scanning device 111,191 CPU 112,192 ROM 113,193 RAM 119 Display section 201 Scanning Application 202 General-purpose scanning software 203 Scan Function Information 204 Extended Applications 102 Scanning device
Claims
1. A program that supports general-purpose scanning software that can be used in common with image reading devices provided by multiple manufacturers, Display an object that accepts settings related to the scaling function for enlarging or reducing image data. A program characterized by causing an image reading device to perform a scan to output a read instruction based on the settings received by the aforementioned object.
2. The program according to claim 1, characterized in that the setting for the scaling function is a setting that specifies the magnification or reduction ratio.
3. The program according to claim 2, characterized in that the setting for the scaling function allows specifying different magnifications for the vertical and horizontal directions of the image.
4. The program according to claim 2, characterized in that the setting for the scaling function is a setting that specifies conversion from a fixed size to a different fixed size.
5. The program according to claim 2, characterized in that the setting for the scaling function involves calculating and setting the magnification ratio for enlargement or reduction to a specified size from the original document size.
6. The program according to claim 2, characterized in that the settings related to the scaling function are set by selecting from a displayed list of objects.
7. The image reading device determines whether the settings regarding the type of received document can be performed. The program according to claim 1, characterized in that, if it is determined that the settings regarding the type of received document cannot be implemented, it performs image scaling processing on the scanned and acquired image data based on the received settings.
8. The image reading device determines whether the settings regarding the type of received document can be performed. The program according to claim 7, characterized in that, if it is determined that the setting regarding the type of received document cannot be performed, the image reading device outputs an instruction command that does not include a scaling function.
9. The program according to claim 1, characterized in that, when issuing a reading instruction to the image reading device that performs the scan, it causes the device to send an instruction command that is an extension of the instruction command of the standard protocol.
10. The program according to claim 1, characterized in that when issuing a reading instruction to the image reading device that performs the scan, it transmits an extended instruction command in addition to the instruction command of the standard protocol.
11. The program according to claim 1, characterized in that, when issuing a read command to the image reading device that performs the scan, it does not transmit a standard protocol but transmits its own instruction command.
12. A control method for an information processing device having a program that supports general-purpose scanning software that can be used in common with image reading devices provided by multiple manufacturers, And, A display process that displays an object that accepts settings related to a scaling function that enlarges or reduces image data, Based on the settings received by the object, an output step is performed to output an instruction to the image reading device that performs the scan to read the document. A control method characterized by having [a certain characteristic].
13. An information processing device having a program that supports general-purpose scanning software that can be used in common with image reading devices provided by multiple manufacturers, A display means for displaying an object that accepts settings related to a scaling function for enlarging or reducing image data, Based on the settings received by the object, an output means outputs an instruction to the image reading device that performs the scan to read the document. An information processing device characterized by having
Citation Information
Patent Citations
Server system and application
JP2021033526A