Exemplary embodiments described herein relate to an image processing apparatus such as a scanning system for dealing with a plurality of documents.
Currently, a scanning system allows a user to scan documents to a local storage on the scanning system, to a file share on a network, to e-mail, to document stores such as an e-filing system, and to enterprise applications. For each destination, the user manually taps on a control panel on the scanning system to select a destination, scan a document, and then select another destination and scan the next document and so on and so forth.
Moreover, the user selects a scan template or uses a default template to scan a document using current scanning systems. For different types of documents, scan settings are different; therefore, scan templates need to be selected and default scan settings can be altered. The user taps the control panel two times or more to select a scan template. It typically requires a user to tap the control panel about five times to change scan settings.
Furthermore, to scan multiple sets of documents to the same or different destinations, the user loads one set of documents and scans each set of documents at a time.
However, the user may load documents in different directions (i.e. up-side-down, or 90 degrees rotated), and the user manually rotates images that are different from others (i.e. 180 degrees rotation for up-side-down images) or the user makes sure all the pages are in the same direction before scanning.
Such repeated steps significantly slow down the scanning process, repeats unnecessary scans, and/or introduce many mistakes that ultimately waste a lot of users' time.
The following presents a simplified summary in order to provide a basic understanding of one or more aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key or critical elements, nor to delineate the scope of the claimed subject matter. Rather, the sole purpose of this summary is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented hereinafter.
According to an exemplary embodiment, one aspect of the invention is an image processing apparatus, including: an input module configured to input an image and first character data, the first character data being associated with the image; a template database module configured to store a template, the template including information of an operation associated with second character data; a determination module configured to determine the template according to the first character data and the second character data; and a job server module configured to execute the operation included in the template for the image.
Another aspect of the invention relates to a sheet folding apparatus, including: an input module configured to input an image and first character data, the first character data being associated with the image; a template database module configured to store a template, the template including information of an operation associated with second character data; a determination module configured to determine the template according to the first character data and the second character data; a job server module configured to create a print direction based on the operation included in the template for the image; and a printer configured to print the image based on the print direction.
Yet another aspect of the invention relates to an image processing method, including: inputting an image and first character data, the first character data being associated with the image; determining a template according to the first character data and a second character data, the template including information of an operation associated with the second character data; and executing the operation included in the template for the image.
To the accomplishment of the foregoing and related ends, the invention, then, comprises the features hereinafter fully described. The following description and the annexed drawings set forth in detail certain illustrative aspects of the invention. However, these aspects are indicative of but a few of the various ways in which the principles of the invention may be employed. Other aspects, advantages and novel features of the invention will become apparent from the following description when considered in conjunction with the drawings.
The invention and attendant advantages therefore are best understood from the following description of the non-limiting embodiments when read in connection with the accompanying Figures, wherein:
Provided are systems, devices, and methods for scan destination selection, multiple destination routing of scanned documents, scan template selection, batch processing, automatic job separation, and/or automatic image rotation. The systems, devices, and methods use, for example, OCR image pattern matching, or image searching can be used to minimize the manual settings input required for each scanning task a user engages an MFP (Multi Function Peripheral). Relying on automated systems and methods not only increases efficiency of use of an MFP, but also decreases errors associated with more complex individual task settings input by a user.
For example, one of possible embodiment may be an MFP including: a scanner configured to input an image and job template keyword, the job template keyword being associated with the image; a template database module configured to store a template including operations such as copying, scanning to store and scanning to send; a determination module configured to determine a template associated with the job template keyword from the template database module; and a job server module configured to execute the operation included in the template for the image.
Referring now to the Figures in which like reference numerals designate identical or corresponding parts throughout the several views.
The image processing apparatus 102 copies a sheet document to an output sheet. The image processing apparatus 102 processes post processing such as stapling, sort offset, punching and folding on the output sheet. The image processing apparatus 102 processes the post processing in units of a job. The image processing apparatus 102 scans sheet documents to create an electronic data file, also. The image processing apparatus 102 scans sheet documents to send facsimile messages, also. The image processing apparatus 102 connects to a network 116 to transmit information to and receive information from the image processing apparatus 104, the network file device 106 and the server 108.
The image processing apparatus 104 and the network printer 114 print an image obtained through the network 116 on an output sheet. The image processing apparatus 104 may scan sheet documents to create an electronic data file to transmit the electric data file to the image processing apparatus 104.
The network file device 106 stores the electric data file transferred from the image processing apparatus 102. The network file device 106 may support a network file system (NFS) protocol.
The server 108 can operate based on server software. The server 108 may be an e-mail server capable for communicating based on e-mail protocols such as Post Office Protocol (POP), Internet Message Access Protocol (IMAP) and Simple Mail Transfer Protocol (SMTP). The server 108 may be a file server capable of communicating based on network file transfer protocols such as File Transfer Protocol (FTP). The server 108 may support a network file system (NFS) protocol to work as a data file server.
The client computer 112 retrieves the electronic data file from the network file device 106, edits the electronic data file and updates the electronic data file in the network file device 106. The client computer 112 may communicate with the network file device 106 based on the NFS protocol and the file transfer protocols. The client computer 112 retrieves e-mail from the server 108 based on the e-mail protocols. The client computer 112 may work as a print server for a local printer 110 to print an image obtained through the network 116 on an output sheet.
The scanner 202 set above the printer 206 scans an image of a sheet included in a manuscript to generate a scan image data to provide to the controller 210. The sheet is fed on the scanner 202 by the ADF 204. The ADF 204 may detect whether the manuscript includes a plurality of sheets or just a single sheet to create sheet number information. The ADF 204 may detect a length and a width of each sheet to create sheet size information. The sheet number information and the sheet size information may be provided from ADF 204 to the controller 210 through the scanner 202.
The printer 206 prints an image according to a raster image data provided by the controller 210. The printer 206 may have an operation panel 232.
If one of the copy tab 312, the scan to file tab 314 and the scan to send tab 316 is selected, the touch panel 302 displays mode buttons 310 as shown in
The controller 210 may provide an instruction for finishing sheets discharged from the printer 206 to the finisher 208 through the printer 206. The finisher 208 may sort, staple, fold and process a saddle-stitch on the sheets discharged from the printer 206 according to the instruction.
The controller 210 can convert the scan image data to the raster image data, and can convert the scan image data into compressed image data. The controller 210 may store the compressed image data in an internal storage, and may transmit the compressed image data to other computing devices via the network by using protocols such as NFS, e-mail protocols, network file transfer protocols and others. The controller 210 may work as one of e-mail clients affiliated with the server 108 which works as a SMTP server. The controller 210 may work as a SMTP server for an e-mail client module running on the controller 210.
The controller 210 includes a system processor 212, a system ROM (Read Only Memory) 214, the system memory 216, a system controller 218, a bus 220, an image processor 222, a page memory 224, a HDD (Hard Disk Drive) 226, a storage interface 228, a network adapter 230, and a fax adapter 236.
The system processor 212 determines a direction input from the operation panel 232, and produces instructions for other components according to the direction and a programmed instruction stored in the system ROM 214. The system processor 212 uses the system memory 216 as a working memory space. The system processor 212 may work as a Raster Image Processor (RIP) that produces raster image data. The system processor 212 may work as a processor for Optical Character Recognition (OCR) that produces character data from the scan image data. The OCR may produce the character data from the raster image data. The OCR may produce the character data from an intermediate image data produced during conversion from the scan image data to the raster image data. Dictionary data for the OCR may be stored in the HDD 226 and read out to the system memory 216 to be used by the system processor 212 in the OCR. A controller-external OCR engine can be employed.
The HDD 226 also stores a dictionary for a job separation which includes a correspondence between character data and a job separation.
Properties of a page may be associated with actions instead of, or with, job separation keywords. For example, the properties of a page may be a size of a page, a background color of a page, density of printing on a page, font size of printing on a page, and so on. On the table 330, a background color “GREEN” is associated with “+1(RESERVE)” which is a number of the job separation position. On the table 330, a transition of background color “WHITE→GREEN” is associated with “0” which is a number of the job separation position.
An image file may be associated with actions instead of, or with, job separation keywords as a job separation key image. For example, an image file may be associated by a path wherein the image file is stored. On the table 330, a path where the image file “¥¥DRIVE_C¥REF_IMG.BMP” is associated with “0” which is a number of the job separation position.
The HDD 226 further stores a dictionary for a job template which includes a correspondence of character data, a job separation, and an action.
The operation panel 232 may display one or more of a settings button 334, a print action button 336, a send action button 338, a file action button 340 and an action delete button 374 with the table 332. The print action button 336 adds a print operation to a selected association of job template keywords and a job separation position. The send action button 338 adds a send operation to a selected association of job template keywords and a job separation position. The file action button 340 adds a file operation to a selected association of job template keywords and a job separation position. The action delete button 374 deletes a selected action from an association of job template keywords, a job separation position, and the selected action.
Properties of a page may be associated with actions instead of, or with, job template keywords. A size of a page “A4” is associated with a plurality of “SEND” actions without a sign of job separation position in the table 376. A background color of a page “GREEN” is associated with another plurality of “SEND” actions without a sign of job separation position in the table 376. Additional properties may have discrete sets of “SEND” actions.
An image file may be associated with actions instead of, or with, job template keywords as a job separation key image. For example, an image file may be associated by a path wherein the image file is stored.
The system controller 218 coordinates communications for the system processor 212, the system ROM 214, the system memory 216 and other components connected through the bus 220.
The storage interface 228 has a feature to write a data into, as well as to read the data out from, storage media including a controller-internal storage component such as the HDD 226 and a controller-external storage component such as a USB (Universal Serial Bus) storage 234. The storage interface 228 selects a storage component to communicate with according to an instruction produced by the system processor 212. The storage interface 228 exchanges the data with the system processor 212 via the bus 220 and the system controller 218.
The network adapter 230 connects to the network 116 to transmit information to and receive information from the image processing apparatus 104, the network file device 106 and the server 108.
The fax adapter 236 connects to the telecommunication network 120 to transmit information to and receive information from the fax machine 118.
The HDD 226 may store software that acts as the software system. The software system may be distributed to the devices over the network 116.
The OS 1102 controls and communicates with hardware devices such as the storage interface 228, the network adapter 230, fax adapter 236, the operation panel 232, the printer 206 and the scanner 202.
The OS 1102 controls the finisher 208 through the printer 206, also. The OS 1102 may provide an instruction for finishing to the printer 206. The instruction may indicate to execute sorting, stapling, folding and processing a saddle-stitch in unit of a job.
The OS 1102 communicates the ADF 204 through the scanner 202. The OS 1102 may receive information whether a manuscript set on the ADF 204 includes a plurality of sheets or just a single sheet, from the ADF 204 through the scanner 202.
The OCR module 1104 communicates with the OS 1102 to refer the OCR character database 1106 and to obtain the raster image data in unit of page of the sheets to produce the character data. The OCR module 1104 may produce the character data with information indicating from which page the character data is produced. The OCR module 1104 may also produce information indicating from which region of the page the character data is produced. The region may be a header, a footer, a right and left region in the header or the footer, and so on. The OCR module 1104 looks up the raster image data in the OCR character database 1106. The OCR character database 1106 is stored in the HDD 226. The OCR character database 1106 may be read out through the OS 1102.
The OCR module 1104 may recognize an orientation of characters in the raster image data. The OCR module 1104 can employ ordinary techniques to recognize an orientation of text characters disclosed in U.S. Pat. No. 7,286,718 for example, which is hereby incorporated by reference.
The OCR module 1104 may obtain the scan image data instead of the raster image data, to produce the character data. The OCR module 1104 may obtain an intermediate image data produced during conversion from the scan image data to the raster image data, to produce the character data. The OCR module 1104 may use other data corresponding to the raster image data, to produce the character data.
The image rotation module 1108 communicates with the OCR module 1104 to obtain the raster image data in units of pages of sheets. The image rotation module 1108 may obtain the raster image data from the OS 1102. The image rotation module 1108 recognizes an orientation of the raster image data based on characteristics of the raster image data. The characteristics may be a direction of a straight line, an aspect of a rectangle object, or other graphic objects in the raster image data. The characteristics may use a graphic object dictionary which contains relational information between a graphic object and an angle. For example, the graphic object dictionary includes four triangle objects respectively rotated by 0, 90, 180 and 270 degrees associated with its rotated angles. The characteristics may be the orientation of a character recognized by the OCR module 1104. To determine the orientation, the image rotation module 1108 may refer the information indicating from which region of a page the character is produced. If the image rotation module 1108 determines that the orientation of a raster image represented by the raster image is correct, the image rotation module 1108 outputs the raster image data as is. If the image rotation module 1108 determines that the orientation of the raster image is rotated away from a correct orientation, the image rotation module 1108 converts the raster image data to represent a rotated raster image which is the raster image rotated to the correct orientation.
The job separator 1110 receives the raster image data serially in unit of page. The job separator 1110 may obtain the raster image data from the image rotation module 1108. The job separator 1110 obtains the character data in units of pages from the OCR module 1104.
The job separator 1110 delimits the raster image data according to the character data to create a group of pages. The group of pages is a job. The job separation database 1112 stores a rule to delimit the raster image data. The rule may be displayed on the operation panel 232 as the table 330. The job separator 1110 refers the rule to delimit the raster image data. The job separation database 1112 is stored in the HDD 226. The job separation database 1112 may be read out through the OS 1102.
Based on the exemplary association between job separation keywords and job separation position on the table 330, for example, a word “DEAR” is associated with “0”. The word “DEAR” is the job separation keyword. The number “0” is a number of the job separation position. The job is separated in front of a page where the job separation keyword “DEAR” is found in as illustrated in
For another example, a phrase “DETAILED ACTION” is associated with “−1” on the table 330. By this rule, a new job starts from one page previously from a page where the job separation keyword “DETAILED ACTION” is found in as illustrated in
For another example, a phrase “LAST PAGE” is associated with “+1” on the table 330. By this rule, a new job starts on a page after a page where the job separation keyword “LAST PAGE” is found in as illustrated in
For another example, a phrase “PAGE# [AT RIGHT BOTTOM]” is associated with “+1 (RESERVE)” on the table 330. The character “#” means any numeral character. The statement “[AT RIGHT BOTTOM]” means a position in the page. By this rule, a start for new job is reserved as a position after a page where the job separation keyword “PAGE#” is found at right bottom of the page in as illustrated in
For another example, a phrase “PATENT AND TRADEMARK OFFICE/LLP” is associated with “0” on the table 330. By this rule, job separation is held between a page containing the word “PATENT AND TRADEMARK OFFICE” and a page containing the word “LLP” as illustrated in
The job separation database 1112 includes information indicating such association between job separation keywords and job separation position. The job separation keywords may be not only words composed with letters as described above but also combinations of other graphic objects such as a logo, icon, letter heads, circle, triangles, rectangles and any other objects. The job separation keywords may be obtained by scanning documents to be stored in the job separation database 1112.
The job server 1114 receives the raster image data serially in unit of page. The job server 1114 may obtain the raster image data from at least one of the job separator 1110, the image rotation module 1108, and the OS 1102. The job server 1114 obtains the character data in unit of page from the OCR module 1104.
The job server 1114 deals the job in accordance with the character data and input from the operation panel 232. The job template database 1116 stores a rule to deal the job. The rule may be displayed on the operation panel 232 as the table 332. The job server 1114 looks up the character data in the job template database 1116. The job template database 1116 is stored in the HDD 226. The job template database 1116 may be read out through the OS 1102.
The job server 1114 includes job modules such as a copy module 1126, a scan to send module 1128 and a scan to store module 1130. The job server 1114 processes the job using the job modules according to the rule in the job template database 1116. The job modules communicate with operation modules such as the scanning operation module 1118, the printing operation module 1120, the file operation module 1122 and the send operation module 1124 through the OS 1102. The operation modules control the hardware devices through the OS 1102 to operate respective operations.
The job server 1114 executes the job in accordance with the exemplary association of job template keywords, job separation position, and an action on the table 332. For example, actions “SEND” and “FILE” are associated with no keyword on the table 332. The job server 1114 executes both of a send operation and a file operation for a job containing no keyword.
For another example, a word “DEAR” is associated with “0” and an action “FILE”. The word “DEAR” is the job template keyword. The number “0” is a number of the job separation position. The job is separated in front of a page where the job template keyword “DEAR” is found in as illustrated in
For another example, a phrase “DETAILED ACTION” is associated with “−1” and actions “PRINT” and “FILE” on the table 332. By this rule, a new job starts from one page previously from a page where the job template keyword “DETAILED ACTION” is found in as illustrated in
For another example, a phrase “LAST PAGE” is associated with “+1” and an action “PRINT” on the table 332. By this rule, a new job starts on a page after a page where the job template keyword “LAST PAGE” is found in as illustrated in
For another example, a phrase “PAGE#” is associated with “+1 (RESERVE)” and an action “PRINT” on the table 332. By this rule, a start for new job is reserved as a position after a page where the job template keyword “PAGE#” is found in as illustrated in
For another example, a phrase “PATENT AND TRADEMARK OFFICE/LLP” is associated with “0” and actions “SEND” and “FILE” on the table 332. By this rule, a job separation is generated between a page containing the word “PATENT AND TRADEMARK OFFICE” and a page containing the word “LLP” as illustrated in
For another example, a phrase “PRINT ALL” is associated with an action “PRINT” and no job separation position on the table 332. By this rule, a print operation is executed for the job without job separation.
For another example, an action “FILE” is cited on the table 332 with no job template keyword and no job separation position. By this rule, a file operation is executed without job separation for a job in which any job template keyword is found.
The job template database 1116 includes information indicating such association of job template keywords, job separation position and an action. The job template keywords may be not only words composed with letters as described above but also combinations of other graphic objects such as a circle, triangles, rectangles and any other objects. The actions may be not only the print operation, the send operation and the file operation but also other actions such as a facsimile operation.
(1) Exemplary Operation of an Image Processing Apparatus With Automatic Image Rotation
(1-1 Copying Operation With Automatic Image Rotation)
Upon the system processor 212 determines a direction for copying operation, the system processor 212 executes a scanning operation at 1702.
At 1704, the system processor 212 determines that whether a manuscript on the ADF 204 includes a plurality of sheets or just a single sheet according to detection by the ADF 204.
If the system processor 212 determines that the manuscript includes just a single sheet (reference “NO” of 1704), the image processor 222 converts the scan image data on the page memory 224 obtained in the scanning operation to a raster image data and lays out the raster image data on the page memory 224 at 1706.
If the system processor 212 determines that the condition of input represents executing image rotation (reference “YES” of 1708), the system processor 212 executes image rotation at 1710. The system processor 212 may execute OCR on the raster image data on the page memory 224 before the image rotation if the image rotation uses character data concerning the raster image.
The image processor 222 provides the raster image data on the page memory 224 to the printer 206. The printer 206 prints the image according to the raster image data at 1712.
If the system processor 212 determines that an input number of sets of copying, the input number may be the copy quantity input by the number keys 306 on the operation panel 232, are not yet printed, (reference “NO” of 1714), the act 1712 is executed again.
A circular terminal given a numeral “1” in
If the system processor 212 determines that the condition of input represents executing image rotation (reference “YES” of 1804), the system processor 212 executes multi image rotation at 1806.
If the system processor 212 determines that the condition of input represents executing job separation (reference “YES” of 1808), the system processor 212 executes OCR on the compressed image data in the storage at 1809 and job separation at 1810. The OCR may be executed at between the act 1804 and the act 1806 instead of the act 1809 if the multi image rotation uses the character data produced by the OCR. The OCR may be executed at between the act 1802 and the act 1804 instead of the act 1809.
The system processor 212 executes multi job printing at 1812. A circular terminal given a numeral “2” in
(1-2 Scan to Store Operation With Automatic Image Rotation)
Upon the system processor 212 determining a direction for scanning to store operation, the system processor 212 executes a scanning operation at 1902.
The system processor 212 may convert a scan image data on the page memory 224 obtained in the scanning operation to compressed image data to store into a storage at 1904. The storage may be the controller-internal storage component such as the HDD 226. The system processor 212 may execute OCR on the compressed image data stored in the storage.
If the system processor 212 determines that the condition of input represents executing image rotation (reference “YES” of 1906), the system processor 212 executes multi image rotation at 1908.
If the system processor 212 determines that the condition of input represents executing job separation (reference “YES” of 1910), the system processor 212 executes OCR on the compressed image data in the storage at 1911 and job separation at 1912. The OCR may be executed at between the act 1906 and the act 1908 instead of the act 1911 if the multi image rotation uses the character data produced by the OCR. The OCR may be executed at between the act 1904 and the act 1906 instead of the act 1911.
The system processor 212 executes file operation at 1914.
(1-3 Scan to Send Operation With Automatic Image Rotation)
Upon the system processor 212 determining a direction for scanning to send operation, the system processor 212 executes a scanning operation at 2002.
The system processor 212 may convert a scan image data on the page memory 224 obtained in the scanning operation to a compressed image data to store into a storage at 2004. The storage may be the controller-internal storage component such as the HDD 226. The system processor 212 may execute OCR on the compressed image data stored in the storage.
If the system processor 212 determines that the condition of input represents executing image rotation (reference “YES” of 2006), the system processor 212 executes multi image rotation at 2008.
If the system processor 212 determines that the condition of input represents executing job separation (reference “YES” of 2010), the system processor 212 executes OCR on the compressed image data in the storage at 2011 and job separation at 2012. The OCR may be executed at between the act 2006 and the act 2008 instead of the act 2011 if the multi image rotation uses the character data produced by the OCR. The OCR may be executed at between the act 2004 and the act 2006 instead of the act 2011.
The system processor 212 executes send operation at 2014.
(1-4-1 Scanning Operation)
The scanner 202 lets the ADF 204 feed a first sheet of a manuscript to the scanner 202 at 2102. Concerned with the act 2102, the ADF 204 detects whether the manuscript includes a next sheet following the first sheet.
The scanner 202 scans the image of the sheet to generate scan image data at 2104.
The image processor 222 receives the scan image data from the scanner 202 and lays out the scan image data on the page memory 224 at 2106.
If the system processor 212 determines that the manuscript includes a next or following sheet (reference “YES” of 2108), the image processor 222 may convert the scan image data on the page memory 224 to compressed image data to store into a storage at 2110 and the act 2102 through the act 2106 are executed again. The storage may be the controller-internal storage component such as the HDD 226.
If the system processor 212 determines that the manuscript does not include any more sheets (reference “NO” of 2108), the system processor 212 finishes the scanning operation.
(1-4-2 Image Rotation)
At 2202, the system processor 212 determines an orientation of a raster image which the raster image data represents. If the system processor 212 determines that the orientation of the raster image is rotated from a correct orientation (reference “NO” of 2202), the system processor 212 converts the raster image data to represent a rotated raster image which is the raster image rotated to the correct orientation at 2204.
(1-4-3 Multi Image Rotation)
The system processor 212 reads out compressed image data in a storage to a page memory 224 at 2302. The storage may be the controller-internal storage component such as the HDD 226. The system processor 212 converts the compressed image data into raster image data to lay out on the page memory 224.
The system processor 212 determines an orientation of a raster image of a page which the raster image data represents at 2304. If the system processor 212 determines that the orientation of the raster image of the page is rotated from a correct orientation (reference “NO” of 2304), the system processor 212 converts the raster image data to represent a rotated raster image which is the raster image of the page rotated to the correct orientation at 2306.
The system processor 212 converts the raster image data on the page memory 224 into compressed image data at 2308. The system processor 212 stores the compressed image data into the storage.
If the system processor 212 determines that all compressed image data associated with pages in a manuscript are not yet processed (reference “NO” of 2310), the act 2302 through the act 2310 are executed again for next page of the manuscript selected at 2312.
If the system processor 212 determines that all compressed image data associated with pages in the manuscript are processed (reference “YES” of 2310), the system processor 212 finishes the multi image rotation.
(1-4-4 Multi Job Printing)
The image processor 222 selects a compressed image data of a first page of a first job of a plural job at 2402.
The image processor 222 converts the compressed image data read out from the storage to the raster image data to lay out on the page memory 224 at 2404. The storage may be the controller-internal storage component such as the HDD 226.
The image processor 222 provides the raster image data on the page memory 224 to the printer 206. The printer 206 prints the image according to the raster image data at 2406.
If the system processor 212 determines that all compressed image data associated with pages included in the job are not yet printed (reference “NO” of 2408), the act 2404 through the act 2406 are executed again for next page in the job selected at 2410. The job may be in units of a manuscript if the job separation is not executed. The manuscript may be separated to plural jobs if the job separation is executed on the manuscript.
If the system processor 212 determines that all compressed image data associated with pages included in the job are printed (reference “YES” of 2408), the system processor 212 determines whether input number of sets of copy are printed at 2412. If the system processor 212 determines that input number of sets of copy are not yet printed (reference “NO” of 2412), the act 2404 through the act 2408 are executed again for the job again from a compressed image data concerned with the first page of the job selected at 2414.
If the system processor 212 determines that input numbers of sets of copy are printed, (reference “YES” of 2412), the system processor 212 determines whether all jobs are printed at 2416. If the system processor 212 determines that all jobs are not yet printed (reference “NO” of 2416), the act 2404 through the act 2412 are executed again for next job selected at 2418.
If the system processor 212 determines that all jobs are printed, (reference “YES” of 2416), the system processor 212 finishes the multi job printing.
(1-4-5 File Operation)
The system processor 212 determines a designated destination to store plural compressed image data concerned with a job. The job may be in units of a manuscript if the job separation is not executed. The manuscript may be separated to plural jobs if the job separation is executed on the manuscript. The system processor 212 stores the plural compressed image data associated with the job into the designated destination at 2502. The designated destination may be the controller-internal storage component such as one or more of the HDD 226, the controller-external storage component such as the USB storage 234, and other computing devices such as the image processing apparatus 104, the network file device 106, the server 108 as a data file server, the client computer 112 communicating via the network 116. The system processor 212 may store the plural compressed image data associated with the job into the designated destination as a file collectively.
The system processor 212 determines that other destination is designated for the plural compressed image data associated with the job at 2504. If the system processor 212 determines that other destination is designated for the plural compressed image data associated with the job (reference “YES” of 2504), the system processor 212 selects next designated destination to store the plural compressed image data concerned with the job at 2506 to execute the act 2502 again.
If the system processor 212 determines that no more destinations are designated for the plural compressed image data associated with the job (reference “NO” of 2504), the system processor 212 determines whether or not all jobs are processed at 2508.
If the system processor 212 determines that all jobs are not yet processed (reference “NO” of 2508), the act 2502 through the act 2504 are executed again for next job selected at 2510. If the system processor 212 determines that all jobs are processed (reference “YES” of 2508), the system processor 212 finishes the file operation.
(1-4-6 Send Operation)
The system processor 212 determines a designated destination to send plural compressed image data associated with a job. The job may be in units of a manuscript if the job separation is not executed. The manuscript may be separated to plural jobs if the job separation is executed on the manuscript.
The system processor 212 prepares a transfer data set according to protocol at 2602. The transfer data set may contain the plural compressed image data associated with the job. The protocol may be one of an e-mail protocol or other protocol. The transfer data set may include at least one of destinations input as the character information by the character keyboard 308 on the operation panel 232.
The system processor 212 produces an instruction for the network adapter 230 to transmit the transfer data set at 2604. The network adapter 230 may transmit the transfer data set to a destination indicated in the transfer data set according to the protocol.
The system processor 212 determines that another destination is designated to send the plural compressed image data concerned with the job at 2606. If the system processor 212 determines that another destination is designated to send the plural compressed image data concerned with the job (reference “YES” of 2606), the system processor 212 selects the next designated destination to send the plural compressed image data concerned with the job at 2608 to execute the act 2602 and the act 2604 again. If the system processor 212 determines that no more destinations are designated to send the plural compressed image data concerned with the job (reference “NO” of 2606), the system processor 212 determines whether all jobs are processed at 2610. If the system processor 212 determines that all jobs are not yet processed (reference “NO” of 2610), the act 2602 through the act 2606 are executed again for next job selected at 2612. If the system processor 212 determines that all jobs are processed (reference “YES” of 2610), the system processor 212 finishes the send operation.
(1-4-7 OCR Operation)
The system processor 212 reads out a compressed image data in a storage to a page memory 224 at 2702. The storage may be the controller-internal storage component such as the HDD 226. The system processor 212 converts the compressed image data to raster image data to lay out on the page memory 224.
The system processor 212 executes OCR on the raster image data on the page memory 224 to produce character data at 2704. At 2704, the job separation key image and the job template key image may be recognized on the raster data to produce a flag which indicate that the key image is found in the page. The flag may be used a part of the character data.
At 2706, The system processor 212 stores the character data into the storage to associate the character data with the compressed image data which is a source of the character data.
If the system processor 212 determines that all compressed image data concerned with pages in a manuscript are not yet processed (reference “NO” of 2708), the act 2702 through the act 2706 are executed again for next page of the manuscript selected at 2710.
If the system processor 212 determines that all compressed image data concerned with pages in the manuscript are processed (reference “YES” of 2708), the system processor 212 finishes the OCR operation.
(1-4-8 Job Separation)
The system processor 212 searches a job separation keyword in character data associated with image data of a page included in a current job at 2802. The system processor 212 may search for a flag associated with a job separation key image in the character data associated with an image data of a page included in a current job at 2802. The system processor 212 searches for a job separation keyword and a flag of a job separation key image ranked as the lowest priority in the table 330. Hereinafter, the “job separation keyword” may mean both the job separation keyword and the flag of a job separation key image.
The system processor 212 determines whether or not the job separation keyword is found in the character data associated with the image data of the page at 2804. If the system processor 212 determines that the job separation keyword is found in the character data associated with the image data of the page (reference “YES” of 2804), the system processor 212 delimits the current job and commence a next job from a position according to a job separation position associated with the job separation keyword at 2806. If the system processor 212 determines that the job separation keyword is not found in the character data associated with the image data of the page (reference “NO” of 2804), the system processor 212 determines whether all of job separation keywords are searched in the character data associated with the image data of the page at 2808.
If the system processor 212 determines that all job separation keywords are not searched in the character data associated with the image data of the page (reference “NO” of 2808), the act 2802 is executed again with next job separation keyword selected at 2810. The system processor 212 selects a job separation keyword ranked as the next lowest priority in the table 330 at 2810.
If the system processor 212 determines that all job separation keywords are searched in the character data associated with the image data of the page (reference “YES” of 2808) or after the act 2806 is executed, the system processor 212 determines at 2812 whether all pages included in the current job before the job separation started are processed.
If the system processor 212 determines that all pages included in the current job before the job separation started are not yet processed (reference “NO” of 2812), the act 2802 is executed again for next page selected at 2814.
If the system processor 212 determines that all pages included in the current job before the job separation started are processed (reference “YES” of 2812), the system processor 212 finishes the job separation.
(1-5 Job Template Operation)
Upon the system processor 212 determines a direction for job template operation, the system processor 212 executes a scanning operation at 2902.
At 2904, the system processor 212 may convert a scan image data on the page memory 224 obtained in the scanning operation to a compressed image data to store into a storage. The storage may be the controller-internal storage component such as the HDD 226.
If the system processor 212 determines that the condition of input represents executing image rotation (reference “YES” of 2906), the system processor 212 executes multi image rotation at 2908.
If the system processor 212 determines that the condition of input represents executing job separation (reference “YES” of 2910), the system processor 212 executes job separation at 2912.
The system processor 212 executes an auto job template determination at 2914.
If the system processor 212 determines that a print operation is assigned to the job in the auto job template determination (reference “YES” of 2916), the system processor 212 executes the multi job printing at 2918.
If the system processor 212 determines that a send operation is assigned to the job in the auto job template determination (reference “YES” of 2920), the system processor 212 executes the send operation at 2922.
If the system processor 212 determines that a file operation is assigned to the job in the auto job template determination (reference “YES” of 2924), the system processor 212 executes the file operation at 2926.
If the system processor 212 determines that all jobs are not yet processed (reference “NO” of 2928), the act 2914 through the act 2928 are executed again for next job selected at 2930.
If the system processor 212 determines that all jobs are processed (reference “YES” of 2928), the system processor 212 finishes the job template operation.
(1-5-1 Auto Job Template Determination)
The system processor 212 determines whether the job template keyword is found in the character data associated with the image data of the page at 3004. If the system processor 212 determines that the job template keyword is found in the character data associated with the image data of the page (reference “YES” of 3004), the system processor 212 assigns an action associated with the job template keyword in the table 332, and delimits the current job and commence a next job from a position according to a job template position associated with the job template keyword at 3006. According to the table 332 shown in
If the system processor 212 determines that the job template keyword is not found in the character data associated with the image data of the page (reference “NO” of 3004), the system processor 212 determines whether all job template keywords are searched in the character data associated with the image data of the page at 3008.
If the system processor 212 determines that all job template keywords are not searched in the character data associated with the image data of the page (reference “NO” of 3008), the act 3002 is executed again with next job template keyword selected at 3010. The system processor 212 selects a job template keyword ranked as the next lowest priority in the table 332 at 3010.
If the system processor 212 determines that all job template keywords are searched in the character data associated with the image data of the page (reference “YES” of 3008) or after the act 3006 is executed, the system processor 212 determines at 3012 whether all pages included in the current job before the job separation started are processed.
If the system processor 212 determines that all pages included in the current job before the job separation started are not yet processed (reference “NO” of 3012), the act 3002 is executed again for next page selected at 3014.
If the system processor 212 determines that all pages included in the current job before the job separation started are processed (reference “YES” of 3012), the system processor 212 finishes the auto job template determination.
(1-6 Job Template Operation for a File)
The client computer 112 may display a control window 342 illustrated in
A path of the file is input into the file designation field 3402. The file explorer button 3404 may call a file explorer to help selecting the file from a file system. The OCR buttons 3406 are to input whether or not the OCR operation is applied to the file. The auto image rotation buttons 3408 is to input whether or not the auto image rotation is applied to the file. The job separation buttons 3410 is to input whether or not the job separation is applied to the file. The auto job template determination button 3412 is to input whether or not the auto job template determination is applied to the file.
The client computer 112 sends a direction for the job template operation for a file upon the apply button 3414 being activated. The direction may include one or more of the path input into the file designation field 3402 and information about the input from the OCR buttons 3406, the auto image rotation buttons 3408, the job separation buttons 3410 and the auto job template determination button 3412. If the cancel button 3416 is activated, the control window 342 may be closed.
In the image processing apparatus 1, the system processor 212 determines the direction received through the network 116 at 3304. The system processor 212 interprets the direction.
If the system processor 212 determines that the direction represents to execute OCR operation (reference “YES” of 3304), the system processor 212 executes the OCR operation at 3306. The OCR operation may not be executed if the file already includes character data. The character data included in the file can be used instead of character data generated by the OCR operation.
If the system processor 212 determines that the direction represents executing image rotation (reference “YES” of 3308), the system processor 212 executes multi image rotation at 3310.
If the system processor 212 determines that the direction represents executing job separation (reference “YES” of 3312), the system processor 212 executes job separation at 3314.
The system processor 212 executes an auto job template determination at 3316.
If the system processor 212 determines that a print operation is assigned to the job in the auto job template determination (reference “YES” of 3318), the system processor 212 executes the multi job printing at 3320.
If the system processor 212 determines that a send operation is assigned to the job in the auto job template determination (reference “YES” of 3322), the system processor 212 executes the send operation at 3324.
If the system processor 212 determines that a file operation is assigned to the job in the auto job template determination (reference “YES” of 3326), the system processor 212 executes the file operation at 3328.
If the system processor 212 determines that all jobs are not yet processed (reference “NO” of 3330), the act 3316 through the act 3330 are executed again for next job selected at 3332.
If the system processor 212 determines that all jobs are processed (reference “YES” of 3330), the system processor 212 finishes the job template operation for a file.
A plurality of files may be selected at the client computer 112. If the plurality of files are selected, the act 3304 through the act 3332 may be applied to an aggregation of the plurality of files. All pages included in the plurality of files may be dealt as pages in a file in the aggregation.
Such configuration as described above may provide methods of an automatic/intelligent scan template selection, an automatic/intelligent scan destination routing based on information that a scanned document contains, an automatic scan job separation, and/or an automatic image rotation/correction.
Using the automatic/intelligent scan template selection and the automatic/intelligent scan destination may retrieve keywords from the scanned documents and may match the keywords to pre-defined scan destinations and templates.
Using the automatic scan job separation, a user can put all sets of the documents on the ADF and start scanning at once. A different set of documents can be separated automatically and can be sent to same or different destinations accordingly. Incorrectly placed documents can be automatically flipped to the correct direction.
Using the automatic image rotation/correction, the incorrectly placed documents can be automatically flipped to the correct direction.
Such configuration as described above may automate tedious, error-prone and repeated steps that users may go through to scan in image, invoices, receipts, and any other documents. Such configuration as described above may dramatically reduce a time which a user spends on using and occupying the scanning system, therefore, improves users' productivity and maximize usage of the scanning system.
As used in this application, entities for executing the actions exemplary described as “module” can refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, an entity for executing an action can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and a computer. By way of illustration, both an application running on a document processing machine and the document processing machine can be an entity. One or more entities can reside within a process and/or thread of execution and an entity may be localized on one document processing machine and/or distributed between two or more document processing machines.
There are multiple ways of implementing the invention, e.g., an appropriate API, tool kit, driver code, operating system, control, standalone or downloadable software object, etc. which enables applications and services to use the techniques of the invention. The claimed subject matter contemplates the use from the standpoint of an API (or other software object), as well as from a software or hardware object that operates according to the techniques in accordance with the invention. Thus, various implementations of the innovation described herein may have aspects that are wholly in hardware, partly in hardware and partly in software, as well as in software.
Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive methods and devices can be practiced with other system configurations, including single-processor or multiprocessor systems, and the like, each of which can be operatively coupled to one or more associated devices.
The illustrated aspects of the claimed subject matter may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
An image processing apparatus typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by the image processing apparatus and includes both volatile and non-volatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media can comprise computer storage media and communication media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD ROM, digital video disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the image processing apparatus.
Although the description of computer-readable media above refers to a HDD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as removable magnetic diskette, CDs, DVDs, zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the illustrative operating environment, and further, that any such media may contain executable instructions for performing the methods of the disclosed and claimed subject matter.
Although the invention is shown and described with respect to certain illustrated aspects, it will be appreciated that equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In particular regard to the various functions performed by the above described components, the terms used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the invention.