COMMUNICATION SYSTEM, INFORMATION PROCESSING APPARATUS, IMAGE PROCESSING APPARATUS, AND NON-TRANSITORY COMPUTER READABLE MEDIUM

A communication system includes an information processing apparatus and an image processing apparatus. The information processing apparatus includes an image data receiving unit, a memory, a processing identification data receiving unit, a processing-related data transmitting unit, and a processing unit. The image processing apparatus includes an image data obtaining unit, an image data transmitting unit, a processing identification data transmitting unit, a processing-related data receiving unit, and an image formation instruction unit.

DETAILED DESCRIPTION

Configuration

FIG. 1is a block diagram illustrating the overall configuration of a communication system1according to an exemplary embodiment of the present invention. The communication system1includes a storage service providing apparatus10, an image processing apparatus20, a relay apparatus30, a flow management apparatus40, and processing service providing apparatuses50a,50b, and50c. The storage service providing apparatus10and the processing service providing apparatuses50a,50b, and50care server apparatuses that provide a so-called cloud service. Here, a cloud service is a service in which, for example, a server apparatus in a network performs various information processing operations, such as storing and providing of data. The storage service providing apparatus10is an apparatus that mainly stores and provides data. The processing service providing apparatuses50a,50b, and50care apparatuses that perform various information processing operations, such as character recognition processing called optical character recognition (OCR), data format conversion processing, and translation processing. Hereinafter, the services provided by the processing service providing apparatuses50a,50b, and50care referred to as “processing services” for the convenience of description.

The image processing apparatus20is an apparatus that receives services provided by the storage service providing apparatus10and the processing service providing apparatuses50a,50b, and50c. In this exemplary embodiment, the image processing apparatus20has a print function and a scanner function. A network60is a communication network that connects the image processing apparatus20, the relay apparatus30, the flow management apparatus40, the storage service providing apparatus10, and the processing service providing apparatuses50a,50b, and50cto one another, and is the Internet, for example.

The relay apparatus30relays data that is transmitted and received between the storage service providing apparatus10and the image processing apparatus20, when a storage service is provided from the storage service providing apparatus10to the image processing apparatus20. More specifically, for example, upon receiving data to be stored from the image processing apparatus20, the relay apparatus30transfers the data to the storage service providing apparatus10. Also, upon receiving data to be printed from the storage service providing apparatus10, the relay apparatus30transfers the data to the image processing apparatus20.

The flow management apparatus40is an apparatus that manages a processing service performed on data relayed by the relay apparatus30. In this exemplary embodiment, a user utilizes one or plural processing services for data to be stored, before storing the data in the storage service providing apparatus10. Plural combinations of processing services that are provided by the processing service providing apparatuses50a,50b, and50care registered in advance in the flow management apparatus40. The flow management apparatus40requests the processing service providing apparatus50a,50b, or50cto provide a processing service selected by the user in accordance with data received from the relay apparatus30. Hereinafter, an information processing operation that is performed on data to be stored is referred to as a “flow”, and a combination of plural flows is referred to as a “flow combination” for the convenience of description. The processing service providing apparatuses50a,50b, and50chave the same hardware configuration and operate in the same manner, and are hereinafter referred to as processing service providing apparatuses50except in a case where they are distinguished from one another.

FIG. 2is a diagram illustrating the hardware configuration of the storage service providing apparatus10. InFIG. 2, a controller11includes an arithmetic unit such as a central processing unit (CPU), and main memories such as a read only memory (ROM) and a random access memory (RAM). The arithmetic unit executes a program stored in the ROM or a memory13by using the RAM as a working area, thereby controlling the operations of the individual units of the storage service providing apparatus10. A communication unit12communicates with the relay apparatus30via the network60. The memory13is a storage device such as a hard disk, and stores data and programs used by the controller11. The memory13stores data that is transmitted from the image processing apparatus20via the relay apparatus30.

FIG. 3is a diagram illustrating the hardware configuration of the image processing apparatus20. InFIG. 3, a controller21includes an arithmetic unit such as a CPU, and main memories such as a ROM and a RAM. The ROM stores a program executed by the arithmetic unit. The arithmetic unit executes a program stored in the ROM or a memory27by using the RAM as a working area, thereby controlling the operations of the individual units of the image processing apparatus20. A communication unit22communicates with the relay apparatus30via the network60. An operation unit23includes operation elements, such as various keys and a touch sensor, and supplies an operation signal to the controller21in response to a user operation. The controller21performs processing in response to the operation signal. A display24includes a liquid crystal panel and a liquid crystal drive circuit, and displays an image under control performed by the controller21. An image forming unit25forms an image on a recording medium, such as a sheet, by using an electrophotographic system. An image reading unit26optically reads an image of a document. The memory27is a storage device such as a hard disk, and stores data and programs used by the controller21.

FIG. 4is a diagram illustrating the hardware configuration of the relay apparatus30. InFIG. 4, a controller31includes an arithmetic unit such as a CPU, and main memories such as a ROM and a RAM. The arithmetic unit executes a program stored in the ROM or a memory33by using the RAM as a working area, thereby controlling the operations of the individual units of the relay apparatus30. A communication unit32communicates with the image processing apparatus20and the storage service providing apparatus10via the network60. The memory33is a storage device such as a hard disk, and stores data and programs used by the controller31.

FIG. 5is a diagram illustrating the hardware configuration of the flow management apparatus40. InFIG. 5, a controller41includes an arithmetic unit such as a CPU, and main memories such as a ROM and a RAM. The arithmetic unit executes a program stored in the ROM or a memory43by using the RAM as a working area, thereby controlling the operations of the individual units of the flow management apparatus40. A communication unit42communicates with the relay apparatus30and the processing service providing apparatus50via the network60. The memory43is a storage device such as a hard disk, and stores data and programs used by the controller41. The memory43includes a flow data memory44. The flow data memory44stores, for each of plural information processing operations (flows) that are performed by using image data, processing identification data identifying the flow, and flow data related to the flow (processing-related data) in association with each other. In this exemplary embodiment, the flow data includes overview data representing the overview (explanation) of the corresponding flow, and data representing an image of a form that prompts a user to select a processing condition (attribute) of the corresponding flow (for example, an image that allows a user to select image resolution (high/middle/low) and color (monochrome/full-color). Hereinafter, data representing an image of a form is referred to as “form data”.

In this exemplary embodiment, the user of the image processing apparatus20is capable of designating an attribute by filling out a sheet on which an image that prompts the user to select a processing condition (attribute) of a flow is formed (hereinafter referred to as a “form sheet”).FIG. 9Ais a diagram illustrating an example of a form sheet. As illustrated inFIG. 9A, an image of a form that is used for selecting the resolution and color of an image is formed on the form sheet.

FIG. 6is a diagram illustrating the functional configuration of the flow management apparatus40and the image processing apparatus20. The flow management apparatus40implements, with the controller41or with the controller41and the communication unit42, an image data receiving unit141, a processing identification data receiving unit142, a flow data transmitting unit143, a processing unit144, and a specifying unit145. The image data receiving unit141receives image data from the image processing apparatus20. The image data includes filled-out form data representing an image of a form that has been filled out by a user.

The processing identification data receiving unit142receives processing identification data identifying a flow selected by the user from the image processing apparatus20. The flow data transmitting unit143transmits, to the image processing apparatus20, flow data stored in the flow data memory44in association with the processing identification data received by the processing identification data receiving unit142.

The specifying unit145specifies the condition of the flow written by the user and included in the form represented by the filled-out form data received by the image data receiving unit141. The processing unit144performs processing related to the flow by using the image data received by the image data receiving unit141so that the flow identified by the processing identification data received by the processing identification data receiving unit142is performed in the condition specified by the specifying unit145. In this exemplary embodiment, in a case where the flow identified by the processing identification data is to be provided by the processing service providing apparatus50, the processing unit144requests the processing service providing apparatus50to perform the flow so that the flow is performed in the condition specified by the specifying unit145. On the other hand, in a case where the flow identified by the processing identification data is to be performed by the own apparatus (that is, the flow management apparatus40), the processing unit144performs the flow in the condition specified by the specifying unit145.

The image processing apparatus20implements, with the controller21or with the controller21and the communication unit22, an image data obtaining unit121, an image data transmitting unit122, a processing identification data transmitting unit123, a flow data receiving unit124, and an image formation instruction unit125. The image data obtaining unit121obtains image data. The image data that is obtained includes filled-out form data representing an image of a form that has been filled out by a user. The image of the form is formed by the image forming unit25, and is recorded on a recording medium.

The image data transmitting unit122transmits the image data obtained by the image data obtaining unit121to the relay apparatus30. The processing identification data transmitting unit123transmits, to the relay apparatus30, processing identification data identifying a flow selected by a user from among plural flows performed by using the image data obtained by the image data obtaining unit121. The flow data receiving unit124receives flow data that is transmitted from the relay apparatus30as a response to the processing identification data transmitted by the processing identification data transmitting unit123. The image formation instruction unit125instructs the image forming unit25to form an image of a form represented by the flow data received by the flow data receiving unit124.

Operations

Next, operations according to this exemplary embodiment will be described. In the following example of operations, a user U performs an operation for causing the image processing apparatus20to generate image data by scanning plural sheets (recording media), and store the image data in the storage service providing apparatus10. At this time, the user U designates an information processing operation (flow) to be performed on the image data, such as character recognition processing or translation processing, by using the operation unit23of the image processing apparatus20. The relay apparatus30relays the communication between the image processing apparatus20and the storage service providing apparatus10, and requests the flow management apparatus40to perform a flow on the image data that is to be stored. In the following example of operations, character recognition processing, data format conversion processing, and translation processing are examples of flows to be performed. Among these flows, character recognition processing is performed by the flow management apparatus40. On the other hand, data format conversion processing and translation processing are requested, by the flow management apparatus40, to be performed by the processing service providing apparatuses50.

Hereinafter, a description will be given of a process of generating image data by scanning sheets, performing various processing operations on the generated image data, and storing the image data in the storage service providing apparatus10, with reference to the sequence chart illustrated inFIG. 7. The user U performs an operation for generating image data by scanning sheets, and storing the image data in the storage service providing apparatus10by using the operation unit23of the image processing apparatus20. This operation includes a process of inputting authentication information for accessing the storage service providing apparatus10. The process of inputting authentication information is similar to a process that is performed in a system according to the related art, and thus the detailed description thereof is omitted here. As a method for transmitting and receiving authentication information, for example, authentication using a card may be performed for the image processing apparatus20, a digital certificate recorded on the card may be read by the image processing apparatus20, the read digital certificate may be attached to the data that is transmitted and received by the relay apparatus30and the flow management apparatus40, and thereby a user may be specified. Alternatively, for example, a digital certificate obtained by the image processing apparatus20may be transformed to a QR code (registered trademark), the QR code may be embedded in a form sheet, and the QR code may be analyzed by the flow management apparatus40to perform authentication.

The user U selects a cloud service or a folder in which data is stored, by using the operation unit23of the image processing apparatus20. The controller21of the image processing apparatus20selects a cloud service or a folder in which data is stored, in accordance with information output from the operation unit23. Further, the user U selects a combination of flows that are to be performed on the image data (flow combination) by using the operation unit23. The controller21selects any one of plural flow combinations in accordance with information output from the operation unit23(step S1) and displays a list of flows included in the selected flow combination on the display24.

FIG. 8Ais a diagram illustrating a screen of a list of flows displayed on the display24.FIG. 8Aillustrates an example of a screen in a case where a flow combination including “Flow-A”, “Flow-B”, “Flow-C”, and “Flow-D”, is selected. In the screen Sc1illustrated inFIG. 8A, “Details” buttons B1, B2, B3, and B4, which are used for displaying detailed information on the respective flows, are displayed next to the names of the respective flows. Also, an “OK” button B5for confirming the selection of a flow in the list (for providing an instruction to perform a flow) is displayed on the screen Sc1.

The user U checks the details of the individual flows by using the “Details” buttons B1, B2, B3, and B4displayed on the screen Sc1. Upon any one of the “Details” buttons B1, B2, B3, and B4being pressed by the user U, an image including the detailed content of the corresponding flow (the overview of the flow) and a form on which an attribute of the flow (processing condition) is to be written is printed by the image processing apparatus20(step S2to step S7inFIG. 7). Specifically, upon any one of the “Details” buttons B1, B2, B3, and B4being pressed by the user U, the controller21transmits an apparatus ID identifying the own apparatus, information identifying the flow combination (hereinafter referred to as “flow combination information”), the name of the flow (processing identification data), and information representing a request for detailed information (hereinafter referred to as a “detailed information request”) to the relay apparatus30(step S2inFIG. 7).

Upon receiving the apparatus ID, the flow combination information, the name of the flow, and the detailed information request from the image processing apparatus20, the relay apparatus30transmits a request indicating the name of the flow and a request for detailed information regarding the flow to the flow management apparatus40(step S3).

Upon receiving the request from the relay apparatus30, the controller41of the flow management apparatus40generates form data (page description language (PDL) data or the like) indicating that a character string identifying flow data and a form is to be described at a specific position, in accordance with the received request (step S4).FIG. 9Ais a diagram illustrating an example of the content of form data that is generated. A character string included in the form data may be a character string that is randomly generated, or may be a character string generated by combining specific words. Also, the character string may be the same among plural flows, or may vary among plural flows. The character string may be located at a position that does not overlap the other characters or the like, for example, at a corner of the sheet.

The form data generated in step S4includes data representing the items “explanation of flow”, “plug-in”, and “attribute”. The item “explanation of flow” includes data representing the overview and explanation of the flow. The item “plug-in” includes data representing a plug-in used in the flow. The item “attribute” includes data representing an image of a form that allows the user to select a processing condition (hereinafter referred to as an “attribute”) of the flow, such as resolution and color. The flow management apparatus40transmits the generated form data to the relay apparatus30(step S5). The relay apparatus30transfers the form data received from the flow management apparatus40to the image processing apparatus20(step S6). Upon receiving the form data from the relay apparatus30, the image processing apparatus20supplies the received form data to the image forming unit25and causes the image forming unit25to form an image on a sheet (step S7).

FIG. 9Ais a diagram illustrating an example of an image that is formed on a sheet in step S7. As illustrated inFIG. 9A, an image corresponding to data representing the individual items “explanation of flow”, “plug-in”, and attribute” is formed on a form sheet P1. In the example illustrated inFIG. 9A, an image including characters or a figure representing “explanation of Flow-A” is formed, an image including characters or a figure representing the content of plug-in is formed, and also an image of fields that are provided for individual attributes so that the user U writes the attributes of the flow therein is formed.

The user U checks the form sheet P1on which an image has been formed by the image processing apparatus20. The user U visually checks the “explanation of flow” and “plug-in” printed on the form sheet P1, thereby grasping the details of the flow and plug-in. In a case where the user U wants to change an attribute of the flow, the user U fills out the form on the form sheet. Specifically, for example, the user U writes a value “600 (dpi)”, “200 (dpi)”, or “500 (dpi)” for the item “resolution”, and writes a character string “monochrome” or “full-color” for the item “color”.

After writing the attributes, the user U performs an operation for causing the image processing apparatus20to read the filled-out form sheet and a sheet to be scanned, by using the operation unit23. At this time, the user U may cause scan processing to be performed by superposing the form sheet on the sheet to be scanned. The controller21of the image processing apparatus20causes the image reading unit26to read an image in accordance with information output from the operation unit23(step S8). Accordingly, the image reading unit26reads the image on the sheet to be scanned and generates image data. The controller21transmits the generated image data and the flow combination information indicating the flow combination selected in step S1to the relay apparatus30(step S9). The relay apparatus30transfers the image data and the flow combination information received from the image processing apparatus20to the flow management apparatus40(step S10).

Upon receiving the image data and the flow combination information from the relay apparatus30, the controller41of the flow management apparatus40performs OCR processing on the received image data, and determines, in units of pages, whether or not a character string representing a form has been extracted from the image data. If a character string representing a form is extracted from the image data, the controller41determines that the image data is form data. Otherwise, the controller41determines that the image data is image data of the sheet to be scanned (step S11). In the process of comparing character strings, there is a probability that the character strings do not match each other due to misrecognition. In consideration of this, if there are plural pieces of image data from which a character string has been extracted, the controller41may determine image data including a character string of a high degree of similarity to be form data. In this case, the degree of similarity may be calculated on the basis of the number of characters or the number of the same characters included.

The controller41analyzes the form data, extracts attribute information written by the user U from the form data (step S12), and performs a flow (character recognition processing) on the image data in accordance with the attribute represented by the extracted attribute information (step S13). After the flow (character recognition processing) has finished, the controller41requests the processing service providing apparatus50ato perform a flow (data format conversion processing) on the data generated by performing character recognition processing in accordance with the attribute represented by the extracted attribute information (step S14). The processing service providing apparatus50aperforms the flow (data format conversion processing) on the received data in response to the request from the flow management apparatus40(step S16), and transmits the data generated by performing the flow to the flow management apparatus40(step S18). The data on which the data format conversion processing has been performed by the processing service providing apparatus50ais transmitted by the flow management apparatus40to the processing service providing apparatus50b(step S15). The processing service providing apparatus50bperforms translation processing in accordance with the content of the request from the flow management apparatus40(step S17), and transmits the data on which translation processing has been performed to the flow management apparatus40(step S19).

After the flows represented by the flow combination information have finished, the flow management apparatus40transmits the data on which the flows have been performed to the relay apparatus30(step S20). The relay apparatus30transmits the data received from the flow management apparatus40to the storage service providing apparatus10designated by the user U (step S21), and the storage service providing apparatus10stores the data received from the relay apparatus30in a designated folder (step S22). The data is stored in the manner described above. According to this exemplary embodiment, even in a case where the display area of a user interface (UI) of an apparatus is small, for example, a user is capable of easily checking the overview of a flow and changing the attribute of the flow.

Exemplary Modifications

The above-described exemplary embodiment is an example of the embodiment of the present invention, and may be modified in the following manner. Further, the following exemplary modifications may be implemented in combination with one another.

(1) The configuration of the communication system1is not limited to the configuration described above in the exemplary embodiment. For example, the number of individual apparatuses constituting the communication system1may be different from the number according to the exemplary embodiment. For example, in the above-described exemplary embodiment, the communication system1includes a single image processing apparatus20. However, the number of image processing apparatuses20is not limited to one, and plural image processing apparatuses20may be provided. Further, in the above-described exemplary embodiment, a single storage service is provided by a single storage service providing apparatus, but a single storage service may be provided by plural server apparatuses. Specifically, for example, as illustrated inFIG. 10, a single storage service may be provided by plural storage service providing apparatuses10-1,10-2, and10-3. Alternatively, a single processing service may be provided by plural processing service providing apparatuses.

In the above-described exemplary embodiment, a description has been given of a case where a single storage service is provided. The number of storage services is not limited to one, and may be two or more.

(2) The image processing apparatus20according to the above-described exemplary embodiment is an example of an apparatus that receives a service from the storage service providing apparatus10or the processing service providing apparatus50and that outputs image data. The image processing apparatus20may be another type of apparatus, such as a portable game machine.

(3) In the above-described exemplary embodiment, the relay apparatus30and the flow management apparatus40are constituted as separate apparatuses, but the relay apparatus30and the flow management apparatus40may be integrated together. The relay apparatus30and the flow management apparatus40are examples of an information processing apparatus according to an exemplary embodiment of the present invention.

(4) In the above-described exemplary embodiment, the controller41of the flow management apparatus40performs OCR processing on image data received from the relay apparatus30, determines whether or not a character string representing a form has been extracted from the image data, and thereby determines whether or not the image data is form data. A method for determining whether or not the image data is form data is not limited to this method, and another method may be used. For example, determination may be performed by using a predetermined figure or QR code instead of a character string.

(5) In the above-described exemplary embodiment, the screen Sc1illustrated inFIG. 8Ais given as an example of a screen displayed on the display24of the image processing apparatus20. The screen showing a flow list is not limited thereto, and another screen may be used. For example, as illustrated inFIG. 8B, a screen Sc2may be displayed in which a single “Details” button B21is provided for all the flows. In this case, upon pressing of the “Details” button B21, the explanations and forms of all the flows may be formed on the same sheet in units of flows, as illustrated inFIG. 11A. Alternatively, as illustrated inFIG. 11B, form sheets for the individual flows may be output. The user checks the form sheet or form sheets on which the explanations and forms of the flows are printed, selects a flow, writes an attribute on the form data corresponding to the selected flow, and causes the image processing apparatus20to scan the form data.

(6) In the above-described exemplary embodiment, the image illustrated inFIG. 9Ais given as an example of an image which the image processing apparatus20forms on a form sheet. The image formed on a form sheet is not limited thereto, and may be another image. For example, the image illustrated inFIG. 9Bor9C may be used. Any image may be used as long as the image includes an overview (explanation) of the flow and an image that allows a user to write an attribute of the flow. In the example illustrated inFIG. 9B, check boxes that are used for selecting any one of “high”, “middle”, and “low” as “resolution” are printed, and also check boxes that are used for selecting any one of “monochrome” and “full-color” as “color” are printed. In the example illustrated inFIG. 9C, check boxes that are used for selecting any one of “600 dpi”, “200 dpi”, and “50 dpi” as “resolution” are printed on a form sheet.

(7) In the above-described exemplary embodiment, data including form data representing a form that is used by a user to write a processing condition of a flow and overview data representing the overview of the flow is used as flow data representing information related to an information processing operation (flow). However, the configuration of the flow data is not limited to the configuration including both form data and overview data. For example, the flow data may not include overview data, or the flow data may not include form data.

In the above-described exemplary embodiment, the user writes a processing condition of a flow on a form sheet, and the controller41of the flow management apparatus40specifies the processing condition of the flow on the basis of filled-out form data. However, the user does not necessarily write a processing condition of the flow on the form sheet (that is, the controller41does not specify a processing condition of the flow). For example, in a case where flow data includes only overview data (that is, flow data does not include form data), the image forming unit25forms an image representing the overview of the flow on a sheet, and does not form an image representing a form on the sheet. In this case, the user checks the image representing the overview of the flow formed on the sheet, and thereby grasps the details of the flow.

(8) The program executed by the image processing apparatus20, the relay apparatus30, and the flow management apparatus40may be downloaded via a communication line such as the Internet. Alternatively, the program may be provided by being recorded on a computer readable recording medium, such as a magnetic recording medium (a magnetic tape, a magnetic disk, or the like), an optical recording medium (an optical disc or the like), a magneto-optical recording medium, or a semiconductor memory.