1. Field of the Invention
The present invention relates generally to storing an image in a storage device, such as an image process to store an object separated from an image in a storage device so that the object can be easily used.
2. Description of the Related Art
Copy machines in recent years have become dramatically more sophisticated in terms of having more functions by the digitization of image processing. Copy machines available in recent years have included basic functions such as a copy function for copying an original document and a PDL function by which a document prepared by a host computer can be printed. Other functions can include a SEND function by which an original document is sent via a network to the exterior of a copy machine, a copy function, and a BOX function by which an original document image generated by a PDL function can be stored in the copy machine and can be reused. Recent copy machines also have numerous functions such as an edit function by which an original document image stored in the copy machine by the BOX function is used (e.g., synthesis, bookbinding).
Among such new techniques, a technique has been used to divide a read original document to region units, and to store the original document so that the document can be easily reused by the edit function. This technique divides the respective regions included in an original document to object regions (e.g., characters, photograph, and graphics) for example to store the object regions for the respective objects. The character and graphic regions are subjected to a vectorization and the resultant data is stored as vector data. The photo region is converted to JPEG data and the resultant data is stored and is used by the edit function (see Japanese Patent Laid-Open No. 2005-159517). According to this technique, without using bitmap data having of a very high information amount with a high resolution and a high bit number and by using vector data that can be easily edited and deformed, a reduced cost and an improved operability can be achieved to improve the image quality and the convenience. Regions judged as those other than character, photograph, and graphic regions are stored as a background object. The background region is a region that is used by the edit function with a low region and that is subjected to a JPEG compression with a higher compression rate than that of a photo region and the resultant data is stored.
When many users store objects in a disorderly manner, it can occur that the stored objects may not be capable of being reused efficiently.
To solve this, Japanese Patent Laid-Open No. 2006-146486 has suggested that an application (Copy, Send, FAX) and a format for the subsequent use can be selected with regard to the respective divided character, photograph, and graphic regions.
However, Japanese Patent Laid-Open No. 2006-146486 does not disclose that a certain object is judged with regard to whether the object is suitable for reuse or not, or that the judgment result is presented to a user. Thus, it can occur that an object that should be a background object may be inappropriately presented as a character, photograph, or graphic object to the user.
According to one aspect of the present invention, an image processing apparatus is provided that includes a separation unit for separating objects constituting an image input by an image input unit, a setting unit for setting a criterion to determine whether a separated object is stored or not, and a determination unit for determining whether the separated object is stored or not based on the criterion set by the setting unit. The apparatus also includes a unit for displaying the separated object, responding to a user access via an interface unit, when the separated object is determined to be stored by the determination unit and storing the separated object such that the separated object can be reused.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
A first embodiment of an image processing method according to aspects of the present invention will be described with reference to the drawings.
In Embodiment 1, a method for switching the storage method of an object depending on the property of the object will be described.
In
According to this embodiment, a LAN 107 structured in the office 10 is connected to a multifunction peripheral (hereinafter MFP) 100, a management PC 101 for controlling the MFP 100, a local PC 102, a document management server 106, and a database 105 for the document management server 106.
A LAN 108 is structured in the other office 20. The LAN 108 is connected to the document management server 106 and database 105 for the document management server 106.
The LAN 107 and the LAN 108 are connected to proxy servers 103. The LAN 107 and the LAN 108 are connected to the Internet via the proxy servers 103.
According to this embodiment, the MFP 100 is responsible for a part of an image processing of an input image read from an original document. The MFP 100 functions to input the image data of the processing result to a management PC 101 via a LAN 109. The MFP 100 also has a function to interpret a Page Description Language (hereinafter PDL) language sent from the local PC 102 or a general PC (not shown) to act as a printer.
The MFP 100 also has a function to send an image read from an original document to the local PC 102 or a general PC (not shown). The management PC 101 is a general computer that includes one or more of an image storage device, an image processing device, a display device, and an input device or the like. The functions of these constituting elements may be partially integrated to the MFP 100 to make up the image processing system. The MFP 100 may be directly connected to the management PC 101 via a LAN 109.
In the embodiment shown in
According to this embodiment, the MFP 100 has a storage device (hereinafter BOX) 111 and a printer 112. In order to carry out a general copy machine function, the MFP 100 may subject image data to an image copying process by the data processing apparatus 115 to convert the data to a recording signal to store and maintain the signal in the BOX 111. Thereafter, the MFP 100 may consecutively output the recording signal to the printer 112 to form a recording image on a printing paper.
The MFP 100 according to this embodiment has a network I/F 114 for the connection to the LAN 107. The MFP may use the printer 112 to record a PDL language outputted from the local PC 102 or other general PCs (not shown) via driver. The PDL data outputted from the local PC 102 via the driver is converted to a recordable recording signal by being sent from the LAN 107 via the network I/F 114 to the data processing apparatus 115 where the language is interpreted and processed. Thereafter, the converted recording signal may be recorded by the MFP 100 as a recording image on a printing paper.
The BOX 111 may have a function to store data from the image reader 110 and data obtained by rendering data outputted from the local PC 102 via a driver.
The MFP 100 may be operated through a key operation section provided in the MFP 100 (e.g., input device 113) or an input device of the management PC 101 (e.g., keyboard, pointing device). For the operation of the MFP 100, the data processing apparatus 115 uses an internal controller (not shown) to carry out a predetermined control.
The MFP 100 according to this embodiment has a display device 116. The display device 116 can display the status of an operation input and to-be-processed image data.
The BOX 111 may be directly controlled by the management PC 101 via a network I/F 117. The LAN 109 is used for the exchange of data and a control signal between the MFP 100 and the management PC 101.
Next, the details of the embodiment of the data processing apparatus 115 of
According to this embodiment, a data processing apparatus 115 is a control unit that comprises at least one of a CPU, a memory and the like, and is a controller for the input and output of image information and device information. The CPU 120 is a controller that controls the entire system. A RAM 123 is a system work memory for the operation of the CPU 120 and is also an image memory that temporarily stores image data. The ROM 122 is a boot ROM where a system boot program is stored. A console I/F 121 is an interface to the console 133 that outputs to the console 133 image data to be displayed on the console 133. The console I/F 121 also functions to send to the CPU 120 information inputted by a user of this image processing apparatus through the console 133. The devices as described above are provided on a system bus 124.
An image bus interface 125 according to this embodiment is a bus bridge that connects the system bus 124 to an image bus 126 transferring image data with a high speed to convert the data structure. The image bus 126 may comprise a PCI bus and an IEEE 1394, for example. On the image bus 126, the following devices may be arranged. A PDL processor 127 may analyze the PDL code to develop the code into a bitmap image. A device I/F section 128 may connect the image reader 110 as an image input/output device via a signal line 131 to the data processing apparatus 115 and may connect the printer 112 via a signal line 132 to the data processing apparatus 115 to subject the image data to a synchronous/asynchronous conversion. A scanner image processor 129 may subject the input image data to correction, processing, and editing. The print output image data to be outputted to the printer 112 may be subjected by a printer image processor 130 to correction, resolution conversion or the like in accordance with the printer 112.
According to this embodiment, an object recognition section 140 subjects the object separated by an object separation section 143 (which will be described later) to an object recognition processing (which will also be described later). A vectorization processor 141 subjects the object separated by the object separation section 143 to a vectorization (described below). An OCR processing (e.g., character recognition processing) section 142 subjects the object separated by the object separation section 143 to a character recognition processing (described further below). The object separation section 143 carries out an object separation (also described below). An object storage determination section 144 subjects the object separated by the object separation section 143 to a determination to determine whether the object is stored as an object or not (described below). A metadata assignment section 145 assigns metadata to the object separated by the object separation section 143 (described in further detail below). A compression/decompression section 146 subjects the image data to a compression/decompression in order to more efficiently use the image bus 126 and the printer 112.
Step S401 allows the image reader 110 to obtain the bitmap image to subject the data to scanned image processing by the data processing apparatus 115. In this process, the data processing apparatus 115 may mainly use the scanner image processor 129 and a compression/decompression section 146.
In Step S402, a document prepared by application software on the local PC 102 is received via the network I/F 114 by the MFP 100, and is rendered by the data processing apparatus 115 to generate a bitmap image. In this process, the data processing apparatus 115 may mainly use the PDL processor 127 and the compression/decompression section 146. As described above, an image can be inputted by a method for inputting a scanned image and a method for inputting an image prepared by application software on a local PC via a network.
In Step S403, the bitmap image generated in Step S401 or Step S402 is stored in the BOX 111 on the basis of a page.
In Step S404, the data processing apparatus 115 subjects the bitmap image stored in Step S403 to an object separation processing and the resultant data for the respective objects is stored in the BOX 111. In this process, the data processing apparatus 115 may mainly use the object recognition section 140, the vectorization processor 141, the OCR (optical character recognition) processing section 142, the object separation section 143, the object storage determination section 144, the metadata assignment section 145, and the compression/decompression section 146.
Step S405 is a step to print the data stored in the BOX. In Step S405, the data stored in the BOX 111 is subjected by the data processing apparatus 115 to a print image processing and the to-be-printed image data is outputted to the printer 112 to record the image as a recorded image on a printing paper. In this process, the data processing apparatus 115 mainly uses the printer image processor 130 and the compression/decompression section 146.
According to this example, when a user depresses a button 501, then a copy can be printed and outputted by allowing the user to use a button 502 to select an original document type to be printed and outputted as a copy. In
Next, a button 503 will be described. When this button is depressed, the processes of Steps S401, S403, S404, and S405 of
The PDL print output also can be executed simultaneously with the BOX storage. In this case, the processes of Steps S402, S403, S404, and S405 of
When the image reader 110 of the MFP 100 is used, Step S601 allows the image reader 110 to read the image. The read image may already be a bitmap image data.
Step S602 subjects the bitmap image data to image processing depending on a scanner. The image processing mainly includes the two processes of: 1) color processing optimal to the scanner; and 2) filter processing. Two types of filters may be prepared in order to subject the respective original document types to an optimal processing. Specifically, a filter for subjecting characters to an optimal high edge enhancement and a filter for subjecting photo data to an optimal smoothing may be used depending on the original document type.
Step S603 subjects the bitmap image to a compression. In this case, the bitmap image is subjected to a JPEG compression. In the compression, the compression coefficient maybe adjusted so that the image has a size smaller than the specified image size. This compression process may remarkably deteriorate some images.
The application data prepared using the application software on the PC 102 is converted in Step S701 by the print driver on the PC 102 to print data and the resultant data is sent to the MFP 100. The term “print data” herein may mean PDL, including for example LIPS® and Postscript®.
Next, in Step S702, a display list is generated via an interpreter existing in the MFP 100.
In Step S703, the display list is rendered to generate bitmap image data.
In Step S704, the bitmap image is subjected to a compression. In this case, the bitmap image is subjected a JPEG compression. In the compression process, the compression coefficient maybe adjusted so that the image has a size smaller than the specified image size. This compression process may remarkably deteriorate some images.
First, in Step S800, the bitmap image compressed stored in S403 is decompressed. The decompression may be executed using a decompression coefficient corresponding to the compression coefficient used in the compression. Next, Step S801 carries out the object separation to divide objects into, for example, one or more of a character object, a photo object, a graphics object (graphic, line, table), and a background object.
The respective divided objects of bitmap data are subjected by Step S802 to different processes depending on the types of the objects (e.g., characters, photograph, graphics, and background) If the object is a photo object or a background object (PHOTO/BACKGROUND in step S802), processing proceeds to step S803. A photo object of bitmap data is subjected by Step S803 to a JPEG compression. A background object of bitmap is similarly subjected by Step S803 to a JPEG compression. Next, when the object determination results in a graphic object (GRAPHIC in step S802), processing proceeds to step S804 where the graphic object is subjected to a vectorization to convert the data to data subjected to a pathing process. When the object determination results in a character object (CHARACTERS in step S802), processing proceeds to both steps S804 and S808. In step S804, the character object is subjected to a vectorization as in the graphic object to convert the data to data subjected to a pathing process. The character object is further subjected by Step S808 to an OCR processing (character recognition processing) to convert the data to character-coded data. All of the object data and character-coded data are stored in a single file.
Next, Step S805 gives optimal metadata to the respective objects. The respective objects given with the metadata are stored by Step S806 in the BOX 111. The stored data is displayed by Step S807 on a UI screen, and processing is ended.
First, Step S901 decompresses the compressed bitmap image stored in S403. The decompression may use a decompression coefficient corresponding to the compression coefficient used in the compression. The decompressed image data is subjected by Step S902 to a background color removal. Next, Step S903 subjects the data to a color conversion. This color conversion converts RGB image data to CMYK image data. Next, Step S904 subjects the respective colors of C, M, Y, and K to a gamma correction processing. Next, Step S905 subjects the data to an image forming and Step S906 outputs a print.
A region division technique may be used to carry out an object separation. An example will be described.
In Step S801 (object separating step) of
In one version of the object separating Step, image data stored in a RAM (not shown) is first binarized to white and black data to extract a pixel block surrounded by a contour formed by black pixels.
Then, the size of the extracted black pixel block is evaluated. The contour of a white pixel block within a black pixel block having a size equal to or higher than a predetermined value is tracked. Next, so long as the inner pixel block has a value equal to or higher than the predetermined value, the pixel block is extracted and the contour is tracked recursively by evaluating the size to the white pixel block and by tracking the contour of the inner black pixel block.
The size of the pixel block may be evaluated based on the area of the pixel block, for example.
A rectangular block circumscribed with the pixel block thus obtained is generated to determine the attribute based on the size and shape of the rectangular block.
For example, in the case of a rectangular block having an aspect ratio close to 1 and the size within a fixed range, the rectangular block is judged as a character corresponding block for which the rectangular block may be a rectangular character region block. Then, when neighboring character corresponding blocks are arranged regularly, a new rectangular block obtained by collecting these character corresponding blocks is generated to use the new rectangular block as a rectangular character region block.
A flat pixel block or a black pixel block in which circumscribed rectangles of white pixel blocks having a fixed size or more and a square shape are arranged without being superposed on one another is assumed as a rectangular graphic region block. A pixel block having various shapes other than the above ones is assumed as a rectangular photo region block.
The object separating step generates, with regard to the respective rectangular blocks thus generated, block information such as attributes as shown in
In the object separating step, with regard to the respective rectangular blocks thus generated, the block information and the input file information, such as attributes as shown in
In the example shown in
The input file information shown in the example of
The block information for the respective rectangular blocks may be used for the vectorization in a specific region. The block information also can be used to recognize the relative positional relation between the specific region and other regions in order to synthesize the former with the latter. Thus, the vectorization region can be synthesized with the raster data region without damaging the layout of the input image.
A vectorization technique may be used to carry out vectorization, an example of which will be described.
Step S804 (vectorization Step) of
Step S1201 determines whether a specific region is a rectangular character region block or not. When the specific region is a rectangular character region block (YES in step S1201), then the processing proceeds to steps after Step S1202 to use a pattern matching method to carry out the character recognition to obtain the corresponding character code. When the specific region is not a rectangular character region block (NO in step S1201), then the processing proceeds to Step S1212.
Step S1202 determines the specific region with regard to whether the region is a horizontal writing region or a vertical writing region (e.g., determination of writing direction) by obtaining horizontal and vertical projections to the pixel value within the specific region.
Step S1203 evaluates the dispersion of the projection of Step S1202. When the horizontal projection has a high dispersion, the region is determined as a horizontal writing. When the vertical projection has a high dispersion, then the region is determined as a vertical writing.
Based on the evaluation result of Step S1203, Step S1204 determines the writing direction to determine the writing direction to cut out a line. Thereafter, characters are cut out to obtain character images.
The disassembly of the lines into characters strings and characters are performed, in the case of the horizontal writing, the projection in the horizontal direction is used to cut out a line to cut out characters based on the projection of the line in the vertical direction. A character region of the vertical writing is subjected to opposite processings with regards to the horizontal and vertical directions. Detection of lines and characters also may detect a character size.
Step S1205 generates, with regard to characters cut out in Step S1204, a observation feature vector obtained by converting a feature obtained from a character image to a numerical string of dozen of dimensions. A feature vector may be extracted by various known methods, including a method to divide a character in a mesh-like manner to count character lines in each mesh based on each direction as linear elements to assume a vector of a few dimensions as the linear elements as a feature vector.
Step S1206 compares the observation feature vector obtained in Step S1205 with a dictionary feature vector previously calculated based on the respective font types to calculate the distance between the observation feature vector and the dictionary feature vector.
Step S1207 evaluates the distance calculated in Step S1206 to determine the type of a font having the shortest distance as a recognition result.
Step S1208 determines, with regard to the distance evaluation in Step S1207, whether the shortest distance is longer than a predetermined value or not to determine the similarity. When the similarity is equal to or higher than the predetermined value, there is a high probability where a wrong character having a similar shape is mistakenly recognized in the dictionary feature vector. Thus, when the similarity is equal to or higher than the predetermined value (YES in step S1208), the recognition result of Step S1207 is not used to proceed to the processing of Step S1211. When the similarity is lower or smaller than the predetermined value (NO in step S1208), then the recognition result of Step S1207 is used to proceed to Step S1209.
Step S1209 (font recognition Step); the data processing apparatus 115 has a plurality of dictionary feature vectors corresponding to the font types used in the character recognition with regard to the character shape types (i.e., font types). The pattern matching may use this dictionary feature vector to output a character code and a font type to recognize the character font.
Step S1210 uses the character code and font information obtained in the character recognition and font recognition to use the respective previously-prepared outline data to convert the respective characters to vector data, after which the processing is ended. When the input image is a color image, the colors of the respective characters are extracted from the color image to record the colors and the vector data.
Step S1211 handles characters like general graphics to provide the characters with an outline, after which the processing is ended. Specifically, with regard to a character that may be mistakenly recognized with a high probability, vector data having an outline directly based on image data in a visible manner is generated.
Step S1212 carries out, when the specific region is not a rectangular character region block, the vectorization based on the contour of the image, after which the processing is ended.
Through the processes as described above, the image information corresponding to the rectangular character region block can be converted to vector data having substantially-correct shape, size, and color.
When it is determined that a block separated in Step S801 (
In the vectorization of a region other than a character region, a line or the like may be represented by a combination of a straight line and/or a curve by detecting “angles” at which a curve is divided to a plurality of intervals (pixel strings). The angle means a point at which the curvature is maximum. An example of the determination with regard to whether the pixel Pi on the curve of
Specifically, pi is assumed as an origin and it is assumed that pixels Pi−k and Pi+k separated from each other by a predetermined number of pixels (in an amount of “k”) are arranged in both directions from Pi along a curve and are connected by a line segment L. When assuming that the distance between the pixels Pi−k and Pi+k is d1, the distance between the line segment L and the pixel Pi is d2, and the length of an arc between the pixels Pi−k and Pi+k of the curve is A and when d2 is maximum or the ratio (d1/A) is equal to or lower than a threshold value, then the pixel Pi is determined as the angle.
The pixel string divided by the angle is approximated by a straight line or a curve. The approximation to a straight line is executed by the least-square method for example. The approximation to a curve uses the cubic spline function for example. A pixel at an angle at which a pixel string is divided functions as a start end or a finish end in an approximation straight line or an approximation straight line.
Next, whether the inner contour of the white pixel block exists in the vectorized contour or not is determined. When the inner contour exists, the contour is vectorized. Then, the inner contour of the inverted pixel is recursively vectorized by vectorizing the inner contour of the inner contour for example.
As described above, the approximation of the section line of the contour can be used to vectorize the outline of a graphic form having an arbitrary shape. When the original document is a color document, then the color of the graphic form is extracted from the color image to record the color together with the vector data.
As shown in the example of
Tables and ruled lines composed of lines and the collection of lines can be represented by a vector by being recognized as a collection of lines having a thickness.
After the processing of collecting the contour, the entire processing may be completed.
The rectangular photo region block may not be vectorized and may be directly used as image data.
After the vectorization of the outline of lines and graphics, the vectorized section line maybe grouped with regard to each a graphic object.
The respective steps in the example of processing illustrated in
Step S1501 first calculates the origin and end point of each vector data.
Step S1502 uses the information for the origin and endpoint calculated in Step S1501 to detect the graphic element. The graphic element may be a closed graphic composed of section lines. The graphic element may be detected by connecting vectors of pixels of a common angle of the origin and the final end. Specifically, a principle may be used according to which the respective vectors constituting a closed shape have connecting vectors at both ends thereof.
Next, Step S1503 groups other graphic elements or section lines existing in the graphic element to assume the graphic elements or section lines as one graphic object. When no graphic elements or section lines exist in the graphic element, then the graphic elements may be assumed as a graphic object.
An example of the processing of Step S1502 (detection of graphic element) is executed by the respective steps shown in the processing of
Step S1601 first uses the vector data to remove an unnecessary vector not connecting at both ends to extract a vector constituting a closed graphic.
Next, Step S1602 assumes, with regard to vectors constituting a closed graphic, any end point (origin or end point) of the vector as a start point to consecutively search vectors in a fixed direction (e.g., clockwise direction). Specifically, Step S1602 searches end points of other vectors in other end points to assume the closest end point within the predetermined distance as an end point of a connecting vector. When vectors of the closed graphic are all searched to return to the start point, then all of the searched vectors are grouped as a closed graphic constituting one graphic element. All of vectors constituting the closed graphic in the closed graphic are also grouped. Then, the origin of the not-yet-grouped vector is assumed as a start point to repeat the same processing.
Finally, Step S1603 detects, from among the unnecessary vectors removed in Step S1601, a vector having an end point close to vectors grouped as a closed graphic in Step S1602 to group the vectors as one graphic element.
Through the example of processing as described above, the graphic block can be handled as an individual graphic object that can be reused.
An example of the format of the data vectorized by the vectorization of Step S804 (
For description,
First, Step S1801 selects a character object around the object that exists at a position closest to the object. Next, Step S1802 subjects the selected character object to a morphological analysis. A word extracted by the result of the morphological analysis is assumed as metadata. Step S1803 applies the metadata to the respective objects, after which the processing may be ended.
Metadata can be prepared not only by the morphological analysis but also by the extraction of the image feature amount or a syntax analysis for example.
After the object separating step (Step S801) of
In the example shown in
The header 1901 retains the information regarding the input image as a processing target.
The layout description data section 1902 retains information (e.g., characters, line, diagram, table, photograph) as attributes of rectangular blocks in an input image and the information for the positions of the respective rectangular blocks for which these attributes are recognized.
The character recognition description data section 1903 retains the character recognition result obtained by recognizing characters in the rectangular character region block.
The table description data section 1904 stores therein the details of the table structure of the rectangular graphic region block having a table attribute.
The image description data section 1905 retains the image data in the rectangular graphic region block cut out from the input image data.
With regard to a block in a specific region for which the vectorization is instructed, the image description data section 1905 retains the data collection (e.g., data representing the block inner structure obtained by the vectorization, the image shape, or a character code).
On the other hand, with regard to a rectangular block other than a specific region not subjected to the vectorization, the input image data itself may be retained.
The processing of the conversion to the BOX storage data may be executed by the respective steps in the example of processing illustrated in
Step S2001 inputs DAOF form data.
Step S2002 generates the document tree structure functioning as a base of application data.
Step S2003 obtains, based on the document tree structure, actual data in the DAOF to generate actual application data.
The processing of Step S2002 of generating the document tree structure may be carried out by the respective steps in the example of processing illustrated in
Step S2101 groups the rectangular blocks again based on the correlation of the rectangular blocks in the longitudinal direction. Although the processing of
The correlation is defined by features such as a short distance, the substantially same block width (or height in the lateral direction). The information for a distance, width, height or the like is extracted by referring to DAOF.
In the case of the example of image data shown in
The rectangular blocks T3, T4, T5 are arranged in the left-half section in the lower region of the lateral direction separator S1 in the longitudinal direction from the top to the bottom. The rectangular blocks T6 and T7 are arranged in the right-half section in the lower region of the lateral direction separator S1.
Returning to
Step S2102 checks the existence or nonexistence of the longitudinal separator. The separator is an object that has a line attribute in DAOF and that has a function to explicitly divide a block in application software. When the separator is detected, a region of an input image in a hierarchical layer as a processing target is divided to left and right parts from the separator as a boundary. In the example shown in
Step S2103 determines whether the total of group heights in the longitudinal direction is equal to the height of the input image or not. Specifically, when the regions as a processing target are grouped in the lateral direction while checking the regions in the longitudinal direction (e.g., from the top to the bottom) and when the processing of the entire input image is completed, then the total of the group height equals to the height of the input image. This result is used to determine whether the processing is completed or not. When the grouping is completed (YES in step S2103), then the processing is completed. When the grouping is not completed (NO in step S2103), then the processing proceeds to Step S2104.
Step S2104 carries out the grouping based on the correlation in the lateral direction. As a result, the rectangular blocks T1 and T2 are grouped into one group (rectangular block) H1 and the rectangular blocks V1 and V2 are grouped into one group (rectangular block) H2. The groups H1 and H2 are in the same hierarchical layer. In this case, the determination is similarly made based on a micro block just after the start of the processing.
Step S2105 checks the existence or nonexistence of a separator in the lateral direction. When a separator is detected, then the region of the input image in the hierarchical layer as a processing target is divided to upper and lower parts from the separator as a boundary. In
The result of the processing as described above is registered as a tree in the example illustrated in
In the example illustrated in
The group H2 has the groups V1 and V2 in the second hierarchical layer. The group V1 has the rectangular blocks T3, T4, and T5 in the third hierarchical layer. The group V2 has the rectangular blocks T6 and T7 in the third hierarchical layer.
Step S2106 determines whether the total of the group length in the lateral direction is equal to the width of the input image. Based on this, the final decision on the grouping in the lateral direction is made. When the group length in the lateral direction is equal to the page width (YES in step S2106), then the processing for generating the document tree structure is completed. When the group length in the lateral direction is not equal to the page width (NO in step S2106), the processing returns to Step S2101 to start the process of checking the correlation in the longitudinal direction again in a hierarchical layer that is higher than the previous hierarchical layer by one hierarchical layer.
The processing in the example shown in
The example of the user interface illustrated in
The example of the user interface illustrated in
The following section will describe an example of object separating in this embodiment.
First, Step S2901 decompresses the compressed bitmap image stored in S403. The decompression may be executed using a decompression coefficient corresponding to the compression coefficient used in the compression. The used decompression coefficient is used as a reference to determine whether the object is stored or not in Step S2904.
Step S2902 subjects the bitmap image data to the object separation. When the separation result shows an object other than the background object (OTHER in Step S2902), then processing proceeds to Step S2904 where it is determined whether to store the object as an object or not, as well as the image recognition of Step S2903. When the separation result shows a background object (BACKGROUND in step S2902), processing proceeds to step S2905.
The determination in Step S2904 also uses the result of the image recognition in Step S2903. The image recognition in Step S2903 uses a general image analysis technique including, for example, the use of a parameter showing the image quality (e.g., image dispersion, S/N, edge feature amount). The output of this analysis result shows the complexity or the complexity level of the object.
In Step S2904, the object determined not to be stored as an object (OBJECT DETERMINED NOT TO BE STORED AS AN OBJECT in Step S2904) is merged by Step S2905 with a background object. The merged background object is subjected by Step S2906 to a JPEG compression. The resultant object is stored by Step S2907 in the BOX 111 as a background object, after which processing may be ended.
In Step S2904, the object determined to be stored as an object (OBJECT DETERMINED TO BE STORED AS OBJECT in Step S2904) is subjected to the same processings as the processings after Step S802 in
The object storage determination processing step S2904 determines whether the separated object is stored as an object or not.
First, Step S3001 determines, based on the decompression coefficient used in Step S2901 (
Next, Step S3002 determines the complexity of the object based on the result of the object recognition in Step S2903 (
Next, Step S3003 determines the quality of the object based on the input form used when the object is inputted in the MFP 100. The input form represents PDL or scan. PDL shows that the original data is digital data on a PC and thus provides an object source of a high quality. From the viewpoint as described above, based on whether the object can be reused or not, an evaluation value showing whether the object is stored as an object or not is outputted.
Next, Step 3004 determines, based on the original document mode used in the MFP 100 to input the object, which object is considered as the important and/or preselected one. The original document mode includes a character mode in which an original character document is subjected to an optimal image processing, a photo mode in which an original photo document is subjected to an optimal image processing, and a character/photo mode for carrying out a mixed processing. The document mode is a setting specified by a user. Thus, an object considered as the important and/or preselected one by the user can be determined based on the selected original document mode. From the viewpoint as described above, based on whether the object can be reused or not, an evaluation value showing whether the object is stored as an object or not is outputted.
Finally, since there is a possibility where the evaluation values of the object obtained in Step S3001 to Step S3004 are used to reuse the object, Step S3005 determines whether to store the object as an object or not.
For example, Step S3001 puts an evaluation value of 0 to a high compression rate such as the one to compress a standard image to have a size equal to or smaller than one sixteenths and puts an evaluation value of 2 to a compression rate lower than this compression rate.
Next, Step S3002 similarly puts an evaluation value of 1 to two superposed objects, puts an evaluation value of 0 to two or more superposed objects, and puts an evaluation value of 2 to a not-superposed object.
Similarly, Step S3003 puts an evaluation value of 2 to an image obtained by PDL and puts an evaluation value of 0 to a scanned image.
Finally, Step S3004 puts an evaluation value of 2 to a photo object when the user uses a photo mode during a scanning operation and puts an evaluation value of 0 to a photo object when the user uses a character mode during a scanning operation.
The total of these evaluation values is calculated in the comprehensive determination in Step S3005. An object for which the total exceeds a certain point (i.e., an object for which the total exceeds a fixed threshold value) may be reused. Thus, such an object is determined to be stored as an object (TO BE STORED AS OBJECT in Step S3005), and processing may proceed to step S802. If the total does not exceed a certain point, the object may not be reused, and the object is determined not to be stored as an object (NOT TO BE STORED AS OBJECT in Step S3005), and processing may proceed to Step 2905.
The threshold value can be set by a user or a person in charge of control in advance by setting that an object having an evaluation point of 3 or more for example is determined as having a value to be reused for example.
When any of the evaluation values obtained in Step S3001 to Step S3004 is 0, then the object may be determined as having a low probability of being reused and may be determined not to be stored as an object.
Although the determination result depends on each evaluation value or a threshold value, a determination as shown below may be assumed.
When the original document scanned in a photo mode is subjected to the object separation and has high compression and decompression coefficients for example, then the character object may be reused with a high probability and thus the object is not stored as an object. Since a photo object has a probability of being reused, the photo object is determined to be stored. The reason is that the fact that the photo mode is set by the user means that the photograph is highly important and thus some deterioration maybe permitted. When the original document scanned by the user in the character mode is subjected to the object separation and has high compression and decompression coefficients for example, the character object has a high probability of being reused and thus is stored as an object. In this case, the photo object has a low probability of being reused and thus is determined not to be stored as an object.
The object that is determined as having a probability of being reused and that is thus determined to be stored as an object may be subjected to the processings after S802 (
The embodiment allows a user who reuses an object to have a reduced burden. This is because whether to store an object or not is automatically determined regarding a probability of the object being reused and a storage method of an object that has a high probability of being reused and is determined to be stored as an object is changed, according to the embodiment.
Aspects of the present invention thus allow for the selection of one or more objects suitable for reuse from among separately stored objects to store the selected object(s) separately as an object and show a user only the separately stored object(s). Other aspects of the present invention allow a user to decide a criterion with which whether the separated object is stored as an object or not is determined.
According to aspects of the present invention, whether an object is suitable for reuse or not is determined and the determination result may be shown to a user. This eliminates a case where an object that should be a background image is mistakenly presented to a user as a character, photograph, or graphic object, and hereby a burden on a user can be reduced. Furthermore, a criterion with which a user determines whether an object is suitable for reuse or not can be variably set, and thus a determination can be made in accordance with a user's intention.
Next, Embodiment 2 of the image processing method according to the present invention will be described with reference to the drawings. It is noted that configurations and flowcharts already described in Embodiment 1 will not be further described. The following section will describe features of this embodiment.
The determination in Step S3104 also uses the result of the image recognition in Step S3103. The image recognition in Step S3103 uses a general image analysis technique including, for example, the use of a parameter showing the image quality (e.g., image dispersion, S/N, edge feature amount). The output of this analysis result shows the complexity or the complexity level of the object.
The determination in Step S3104 also uses the result in Step S3108 of the specification of an object separation level. The specification of an object separation level is set by a user in advance and specifies an object separation level. The separation level represents how the object can be easily stored as an object.
In other words, a threshold value in order to determine whether the object is an object that is suitable for reuse or not can be set by a user by allowing the user to specify an object separation level (S3108). Thus, a storage judgment criterion incorporating the intention of the user can be set.
An object that is determined as having no probability of being reused and that is determined not to be stored as an object in Step S3104 (OBJECT DETERMINED NOT TO BE STORED AS AN OBJECT in Step S3104) is merged in Step 3105 with a background object. The merged background object is subjected in Step S3106 to a JPEG compression. Then, the object is stored in the BOX 111 as a background object in Step S3107, after which processing may be ended.
An object that is determined as having a probability of being reused and that is determined to be stored as an object in Step S3104 (OBJECT DETERMINED TO BE STORED AS OBJECT in Step S3104) on the other hand is subjected to the same processings as those after Step S802 in
First, Step S3201 determines the image status by the compression of the bitmap image based on the decompression coefficient used in Step S3101 of
Thus, even when a high compression coefficient is used for the object, the object can be easily determined as having a high probability of being reused and is determined to be stored as an object if the object is set by a user as having “a high object separation level”.
Next, Step S3202 determines the complexity of the object based on the result of the object recognition in Step S3103 (
Thus, even when an object is composed of a great number of superposed objects, the object can be easily determined to be stored as an object if the user sets the object as having “a high object separation level” in advance to show a high probability at which the object is reused.
Next, Step S3203 determines the quality of the object source based on the function used in the MFP 100 when the object is inputted. The function means PDL or scan. PDL shows that the original data is digital data on a PC and thus provides an object source of a high quality. From the viewpoint as described above, based on the probability at which the object is reused or not, an evaluation value showing whether the object is stored as an object or not is determined and outputted. The evaluation value is weighted based on the object separation level specified in Step S3108 (
Thus, even when an input image is a scanned image, the image can be relatively easily determined as being used as an object if the user sets the image as having “a high object separation level” in advance to show a high probability of being reused.
Next, Step 3204 determines which object is considered as the important and/or preselected one based on the original document mode used in the MFP 100 to input the object. The original document mode includes a character mode in which an original character document is subjected to an optimal image processing, a photo mode in which an original photo document is subjected to an optimal image processing, and a character/photo mode for carrying out a mixed processing. The document mode is a setting specified by a user. Thus, an object considered as the important and/or preselected one by the user can be determined based on the selected original document mode. From the viewpoint as described above, based on the probability of being reused of the object, an evaluation value showing whether the object is stored as an object or not is outputted. The evaluation value is weighted based on the object separation level specified in Step S3108 and the resultant evaluation value is outputted.
Thus, even when an image is not determined as the one considered to be important and/or preselected by the user, the image can be determined to be easily stored as an object if the user sets the image with “a high object separation level” in advance to show a high probability of being reused.
Finally, based on the probability at which the object is reused based on the evaluation values of the object obtained in Step S3201 to Step S3204, Step S3205 determines whether the object is stored as an object or not by adding the weight based on the object separation level specified in Step S3108 (
According to the embodiment, as described above, a storage method of an object is determined regarding a probability of being reused, which clearly reflects an intention of a user.
An object that is determined to have a probability of being reused and that is determined to be stored as an object is subjected to the processings after S802 (
A setting according to which the object is likely a background means a setting specifying that the object value is determined so that only an object that is a single object with a high probability (i.e., low complexity or complexity level) and that has a high image quality should be stored as an object. Specifically, this setting means reduced images to be stored as an object.
A setting according to which an object is relative easily stored as an object means a setting specifying that the object value is determined so that even an object that is composed of superposed objects (i.e., high complexity or complexity level) or that is determined to have a poor image quality should be stored as an object. Specifically, this setting means increased images to be stored as an object.
Although
Other examples of the processing to specify the object separation level S3108 (
The present invention may also achieved by attaching a recording medium storing therein a program code of software having computer-executable instructions realizing the above-described functions of aspects of the invention to a system or an apparatus to allow a computer such as the system to read the program code from the recording medium to execute the program code and instructions therein. The recording medium is a computer-readable recording medium. In this case, the program code itself read out from the recording medium may realize at least some of the above-described functions according to aspects of the invention and the recording medium storing therein the program code may itself constitute an embodiment of the invention. Another configuration also may be used where an operating system (OS) operating on the computer partially or entirely carries out the actual processing based on the instructions by the program code to realize the above-described functions according to aspects of the invention by the processing. Another configuration also may be used where the program code read out from the recording medium is written to a function expansion card or a function expansion unit of a computer to allow the function expansion card for example to partially or entirely carries out the processing based on the instruction by the program code to realize aspects according to the invention.
When the present invention is used in the recording medium, the recording medium may store therein a program code corresponding to one or more of the flowcharts as described above.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
The present application claims the benefit of Japanese Patent Application No. 2008-032267, filed Feb. 13, 2008, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2008-032267 | Feb 2008 | JP | national |