The present invention provides an image processing apparatus which able to shorten processing time and includes an image inputting unit that inputs an image, a region division unit that generates region information by dividing an input image input by the image inputting unit into regions having a plurality of different types of attributes, including a frame region attribute, a non-frame region processing unit that obtains data of respective regions other than frame regions by applying attribute-specific processing for respective regions, excluding frame regions, included in the input image on the basis of the input image and the region information, and executes processing of filling of the processed regions, and a frame region processing unit that executes reduction processing and vectorization processing for the frame region according to the region size of the frame region.
|
9. An image processing method, comprising the steps of:
conducting region division that generates region information by dividing an input image into regions having a plurality of different types of attributes, wherein the plurality of different types of attributes includes a frame region attribute;
conducting non-frame region processing that obtains data of respective regions other than frame regions by applying attribute-specific processing for respective regions, excluding frame regions, included in the input image on the basis of the input image and the region information, and executes processing of filling of the processed regions; and
conducting frame region processing that executes reduction processing and vectorization processing for the frame region according to the region size of the frame region;
wherein, in the frame region processing step, it is determined whether or not to execute the reduction processing and vectorization processing for the frame region by comparing the size of the frame region to the size of the input image,
and wherein, in the non-frame region processing step, regions with other attributes enclosed within a frame region of the input image are processed before the frame region is processed in the frame region processing step.
1. An image processing apparatus, comprising:
an image inputting unit that inputs an image;
a region division unit that generates region information by dividing an input image input by the image inputting unit into regions having a plurality of different types of attributes, wherein the plurality of different types of attributes includes a frame region attribute;
a non-frame region processing unit that obtains data of respective regions other than frame regions by applying attribute-specific processing for respective regions, excluding frame regions, included in the input image on the basis of the input image and the region information, and executes processing of filling of the processed regions; and
a frame region processing unit that executes reduction processing and vectorization processing for the frame region according to the region size of the frame region;
wherein the frame region processing unit determines whether or not to execute the reduction processing and the vectorization processing for the frame region by comparing the size of the frame region to the size of the input image,
and wherein the non-frame region processing unit processes regions with other attributes enclosed within a frame region of the input image before the frame region is processed by the frame region processing unit.
10. A non-transitory computer-readable storage medium storing a program that causes a computer to execute the steps of:
conducting region division that generates region information by dividing an input image into regions having a plurality of different types of attributes, wherein the plurality of different types of attributes includes a frame region attribute;
conducting non-frame region processing that obtains data of respective regions other than frame regions by applying attribute-specific processing for respective regions, excluding frame regions, included in the input image on the basis of the input image and the region information, and executes processing of filling of the processed regions; and
conducting frame region processing that executes the reduction processing and vectorization processing for the frame region according to the region size of the frame region;
wherein, in the frame region processing step, it is determined whether or not to execute reduction processing and vectorization processing for the frame region by comparing the size of the frame region to the size of the input image,
and wherein, in the non-frame region processing step, regions with other attributes enclosed within a frame region of the input image are processed before the frame region is processed in the frame region processing step.
2. The image processing apparatus according to
3. The image processing apparatus according to
a background image encoding unit that obtains background image data by encoding a background image after processing has been conducted by the non-frame region processing unit and the frame region processing unit;
an output unit that outputs a file containing data for regions other than frame regions that was obtained by the non-frame region processing unit, frame region vector data obtained in the case where vectorization processing is conducted by the frame region processing unit, and background image data obtained by the background image encoding unit.
4. The image processing apparatus according to
5. The image processing apparatus according to
in the case where the size of the frame region is less than or equal to the first reference, and greater than a second reference determined on the basis of the size of the input image, the frame region processing unit executes a first reduction processing and a first vectorization processing for the frame region,
in the case where the size of the frame region is less than or equal to the second reference, and greater than a third reference determined on the basis of the size of the input image, the frame region processing unit executes a second reduction processing and a second vectorization processing for the frame region, and
in the case where the size of the frame region is less than or equal to the third reference, the frame region processing unit executes vectorization processing for the frame region, without conducting reduction processing.
6. The image processing apparatus according to
the first reference is ½ the size of the input image,
the second reference is ¼ the size of the input image, and
the third reference is ⅛ the size of the input image.
7. The image processing apparatus according to
8. The image processing apparatus according to
|
1. Field of the Invention
The present invention relates to an image processing apparatus, an image processing method, and a program.
2. Description of the Related Art
The digitization of information is advancing in recent years, and systems are increasingly prevalent wherein paper documents are not stored as-is, but instead digitized by scanning using a scanner or similar device, with the resulting electronic data being stored or sent to another apparatus. In order to reduce transmission costs, high compressibility is demanded of digitized document images. Also demanded are reusability enabling partial editing of document images, as well as high image quality wherein image quality is not lost after enlarging or reducing document images.
However, when text regions and photo regions are mixed within a document image, applying compression suited to text regions results in good image quality but with a lower compression ratio. Meanwhile, applying compression suited to photo regions results in a high compression ratio, but with less-readable text. Consequently, the related art divides digitized document images into text regions and photo regions, and converts the text regions into vector data, where reusability and high image quality are emphasized. The related art then uses JPEG to compress the remaining photo and other regions that cannot be easily reproduced by vectorization, and then synthesizes and outputs the compressed results for the respective regions. In so doing, the related art realizes highly compressible and reusable document images with high image quality (see Japanese Patent Laid-Open No. 2004-265384).
In many cases, a region enclosed by a large frame taking up either approximately a fourth or over half of the total area of a document image (hereinafter also referred to as the large frame region) contains within it many graphics vectorization regions. Herein, such graphics vectorization regions are graphics regions targeted for vectorization.
When a plurality of graphics vectorization regions overlap, handling the partial overlaps of the target regions becomes difficult if each of the plurality of target regions is separately processed as a graphics vectorization region. Consequently, in such cases, the plurality of graphics vectorization regions are synthesized into a large, all-containing region. Vectorizing such a large, synthesized graphics vectorization region is easier.
However, if the entire plurality of graphics vectorization regions within the large frame region are treated as a single graphics vectorization region, then the region to be vectorized becomes too large, and the time required to process each image becomes extremely long. In order to resolve such increases in processing time, it is conceivable to reduce the graphics vectorization region before vectorizing. However, in this case, the image quality is degraded for the comparatively small graphics vectorization region contained within the large frame region. Furthermore, when enlarging the graphics vectorization region, insufficient memory or limitations on processing time may result in only a portion of the graphics vectorization region within the large frame region being processed.
In light of the foregoing problems, it is desirable to provide an image processing apparatus able to shorten processing time.
In order to solve the foregoing problems, an image processing apparatus in accordance with an embodiment of the present invention includes: an image inputting unit that inputs an image, a region division unit that generates region information by dividing an input image input by the image inputting unit into regions having a plurality of different types of attributes, including a frame region attribute, a non-frame region processing unit that obtains data of respective regions other than frame regions by applying attribute-specific processing for respective regions, excluding frame regions, included in the input image on the basis of the input image and the region information, and executes processing of filling of the processed regions, and a frame region processing unit that executes reduction processing and vectorization processing for the frame region according to the region size of the frame region.
According to an embodiment of the present invention, an image processing apparatus with shortened processing time can be provided.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
Hereinafter, the present invention will be described in detail and with reference to the accompanying drawings.
<Embodiment 1>
Next, the flow of processing in the present invention will be described using the flowchart in
Next, in step S20, the CPU 20 extracts rectangular regions from the color document image (hereinafter also simply referred to as the image data) input in step S10, by using a known method to divide the image data into regions having a plurality of different types of attributes, including a frame region attribute. The CPU 20 then generates rectangular region information for the extracted rectangular regions. Subsequently, the CPU 20 outputs the generated rectangular region information to the region of the work memory 4 in the RAM 40. Herein, rectangular region information generated in the present embodiment is shown in
Next, in step S30, the CPU 20 conducts a color document image adaptive compression process, wherein the rectangular region information generated in step S20 is referenced, and for each rectangular region, adaptive compression processing suited to the attributes of that region is applied. The color document image adaptive compression process will be described later.
Next, in step S40, the CPU 20 outputs the processed data generated by the color document image adaptive compression process in step S30. The data may be output to an auxiliary storage apparatus, or to external equipment connected via a network, for example. The series of processes is then terminated.
Next, the color document image adaptive compression process in step S30 of the flowchart shown in
Next, in step S310, the CPU 20 references the attribute information for the rectangular region j currently set as the processing target from among the rectangular region information described earlier using
In step S340, the CPU 20 determines whether or not there exists another unprocessed rectangular region enclosed within the rectangular region j that was determined to be a frame region in step S310. If it is determined in step S340 that another unprocessed rectangular region does exist, then the process proceeds to step S350. If it is determined in step S340 that another unprocessed rectangular region does not exist, then the process proceeds to step S370. At this point, the CPU 20 determines whether or not there exists a rectangular region other than the rectangular region j with a processing status set to N (i.e., unprocessed) by referencing the processing status information of each rectangular region. Subsequently, the CPU 20 determines whether or not an unprocessed rectangular region is enclosed within the rectangular region j by, for example, using the coordinate values for the unprocessed rectangular region. For example, the CPU 20 may determine that an unprocessed rectangular region is enclosed within the rectangular region j in the case where the following condition 1 and condition 2 are satisfied. Herein, the condition 1 is the case wherein the x coordinate value of the upper-left corner of the unprocessed region is equal to or greater than the x coordinate value of the upper-left corner of the rectangular region j, and wherein the y coordinate value of the upper-left corner of the unprocessed rectangular region is equal to or greater than the y coordinate value of the upper-left corner of the rectangular region j. The condition 2 is the case wherein the x coordinate value of the lower-right corner of the unprocessed region is less than or equal to the x coordinate value of the lower-right corner of the rectangular region j, and wherein the y coordinate value of the lower-right corner of the unprocessed rectangular region is less than or equal to the y coordinate value of the lower-right corner of the rectangular region j.
In step S350, the CPU 20 sets the processing status information of the rectangular region j to N (i.e., unprocessed).
In step S360, the CPU 20 newly sets a rectangular region with a processing status of N (i.e., unprocessed) as the processing target from among the rectangular regions, excluding the rectangular region that was set as the processing target in step S330 or step S340. The process then returns to step S310.
In step S370, the CPU 20 conducts a region size-based adaptive reduction frame region process for the rectangular region j set as the processing target. The steps in this process will be later described in detail using the flowchart shown in
Meanwhile in step S320, the CPU 20 conducts an attribute-based process that executes processing respectively suited to the text regions, graphics regions, and photo regions that are not frame regions. The steps in the attribute-based process will be later described in detail using the flowchart shown in
In step S330, the CPU 20 determines whether or not all rectangular regions have been processed. The determination is made not just for the rectangular region j set as the current processing target, but for all rectangular regions contained in the rectangular region information. The CPU 20 makes the determination by checking the processing status information for each rectangular region. If it is determined in step S330 that not just the rectangular region j set as the current processing target, but all rectangular regions contained in the rectangular region information have been processed, then the process proceeds to step S380. If it is determined in step S330 that not all rectangular regions contained in the rectangular region information besides the rectangular region j set as the current processing target have been processed, then the process proceeds to step S360.
In step S380, the CPU 20, using technology of the related art, encodes the underlying image (i.e., background image) using the known JPEG format. The underlying image is the result obtained by filling in regions having various types of attributes, such as text regions, clip art, or similar graphics regions. The process then proceeds to step S390.
In step S390, the CPU 20 outputs the processing results from step S320, step S370, and step S380 as file of the processing results for the image data that was input in step S10. The series of processes is then terminated.
Next, the attribute-based process conducted in step S320 will be described using the flowchart shown in
In step S3210, the CPU 20 conducts processing for text region (i.e., text vectorization processing) for the rectangular region set as the current processing target.
Next, in step S3220, the CPU 20 conducts processing of filling of the text region, and the process proceeds to step S3290.
Herein, the text vectorization processing in step S3210, as well as the processing of filling of a text region in step S3220, are realized using known processes.
In step S3230, the CPU 20 determines whether or not the rectangular region set as the current processing target is a photo region by referencing the attribute information for that rectangular region. If it is determined in step S3230 that the rectangular region is a photo region, then the process proceeds to step S3240. If it is determined in step S3230 that the rectangular region is not a photo region, then the process proceeds to step S3260.
In step S3290, the CPU 20 conducts photo region encoding processing (i.e., JPEG encoding) for the rectangular region set as the current processing target.
Next, in step S3250, the CPU 20 conducts processing of filling of the photo region.
Herein, the photo region JPEG encoding processing in step S3240, as well as the processing of filling of a photo region in step S3250, are realized using known processes.
In step S3260, the CPU 20 determines whether or not the rectangular region set as the current processing target is a graphics (i.e., clip art) region by referencing the attribute information for that rectangular region. If it is determined in step S3260 that the rectangular region is a graphics (clip art) region, then the process proceeds to step S3270. If it is determined in step S3260 that the rectangular region is not a graphics (clip art) region, then the process proceeds to step S3290.
In step S3270, the CPU 20 conducts graphics (clip art) region processing (i.e., vectorization processing) for the rectangular region set as the current processing target.
Next, in step S3280, the CPU 20 conducts processing of filling of the graphics (clip art) region. The process then proceeds to step S3290.
Herein, the graphics (clip art) region vectorization processing in step S3270, as well as the processing of filling of a graphics (clip art) region in step S3280, are realized using known processes.
In step S3290, the CPU 20 ends the series of processing in the attribute-based process shown in the flowchart in
Next, the region size-based adaptive reduction frame region process executed in step 3370 of
In step S3710, the CPU 20 determines whether or not the region size of the rectangular region set as the current processing target is greater than ¼ the image size of the input image. If it is determined in step S3710 that the region size of the rectangular region set as the current processing target is greater than ¼ the image size of the input image, then the process proceeds to step S3760. In this case, the rectangular region is greater than ¼ the image size of the input image, while also less than or equal to ½ the image size. If it is determined in step S3710 that the region size of the rectangular region set as the current processing target is not greater than ¼ the image size of the input image, then the process proceeds to step S3720.
In step S3760, the CPU 20 performs known processing to reduce the image data in the current region to ¼ original size, such as by simple pixel sampling, or by taking the average values of 4×4 blocks of 16 pixels, for example. The reduced image thus obtained is then stored in a temporary storage area (not shown) in the RAM 40.
Next, in step S3770, the CPU 20 vectorizes the reduced image that was stored in the RAM 40 in step S3760. Subsequently, the CPU 20 conducts a ¼ vectorization process, wherein the CPU 20 multiplies the coordinate values of the vectorized result obtained above by a factor of 4, and then processes vector data containing the coordinate data obtained by processing the original size image. The process then proceeds to step S3740.
In step S3720, the CPU 20 determines whether or not the region size of the rectangular region set as the current processing target is greater than ⅛ the image size. If it is determined in step S3720 that the region size of the rectangular region set as the current processing target is greater than ⅛ the image size, then the process proceeds to step S3780. In this case, the rectangular region is greater than ⅛ the image size, while also less than or equal to ¼ the image size. If it is determined in step S3720 that the region size of the rectangular region set as the current processing target is not greater than ⅛ the image size, then the process proceeds to step S3730. In this case, the CPU 20 advances the process to step S3730 without performing reduction processing or vectorization processing.
In step S3780, the CPU 20 performs known processing to reduce the image data in the current region to ½ original size, such as by simple pixel sampling, or by taking the average values of 2×2 blocks of 4 pixels, for example. The reduced image thus obtained is then stored in a temporary storage area (not shown) in the RAM 40. Next, in step S3790, the CPU 20 vectorizes the reduced image that was stored in the RAM 40 in step S3780. Subsequently, the CPU 20 conducts a ½ vectorization process, wherein the CPU 20 multiplies the coordinate values of the vectorized result obtained above by a factor of 2, and then processes vector data containing the coordinate data obtained by processing the original size image. The process then proceeds to step S3740.
In step S3730, the CPU 20 vectorizes the rectangular region set as the current processing target at its original region size. The process then proceeds to step S3740.
In step S3740, the CPU 20 conducts processing of filling of processing for the frame region that was vectorized in step S3770, step S3790, or step S3730. The processing of filling herein is conducted using a technique similar to that of the processing of filling of the graphics (clip art) regions described earlier.
Next, in step S3750, the CPU 20 ends the series of processing in the region size-based adaptive reduction frame region process shown in the flowchart in
In the foregoing, the CPU 20 may, for example, use the above Eq. 1 to compute the region size of the rectangular region set as the current processing target. Additionally, when accepting the input of image data in step S10, the CPU 20 may obtain the size of the image data using a known method, and then store the size information in an area (not shown) of the RAM 40.
According to the embodiment described in the foregoing, suitable processing economizing reduction and vectorization is performed for a rectangular region contained in a color document image, according to the attributes and size of the rectangular region. In so doing, the processing time can be shortened.
<Embodiment 2>
In the foregoing Embodiment 1, the processing status information of the entire rectangular region information is referenced each time in order to search for unprocessed rectangular regions. However, the present invention is not limited thereto, and information on processed rectangular regions may also be successively deleted from the rectangular region information or updated. In so doing, processing to update the rectangular region information becomes necessary, but the time searching for unprocessed rectangular regions can be shortened.
<Embodiment 3>
In the foregoing embodiments, it is assumed that the input image is to be processed as a document image obtained by a scanner. However, the present invention is not limited thereto, and the input image may also be an image shot by a document camera or similar device, or a still image obtained by capturing video data shot by a video camera or similar device.
<Other Embodiments>
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment (s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment (s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
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.
This application claims the benefit of Japanese Patent Application No. 2009-100189, filed Apr. 16, 2009, which is hereby incorporated by reference herein in its entirety.
Patent | Priority | Assignee | Title |
8934710, | May 09 2011 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and computer-readable medium |
8995761, | May 09 2011 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and computer-readable medium |
Patent | Priority | Assignee | Title |
5051930, | Mar 16 1988 | Hitachi, Ltd. | Method and apparatus for editing documents including a plurality of data of different types |
5065437, | Dec 08 1989 | Technology Licensing Corporation | Identification and segmentation of finely textured and solid regions of binary images |
5107345, | Feb 27 1990 | QUALCOMM INCORPORATED A CORPORATION OF DELAWARE | Adaptive block size image compression method and system |
5386483, | Oct 30 1991 | Dainippon Screen Mfg. Co. | Method of and apparatus for processing image data to produce additional regions on the boundary of image regions |
5452104, | Feb 27 1990 | Qualcomm Incorporated | Adaptive block size image compression method and system |
5664031, | Nov 15 1992 | Fujitsu Limited | Image processing apparatus with function of extracting visual information from region printed in dropout color on sheet |
5680479, | Apr 24 1992 | Canon Kabushiki Kaisha | Method and apparatus for character recognition |
5917947, | Jul 31 1990 | Canon Kabushiki Kaisha | Image processing method and apparatus permitting use of PDL in compression memory |
5920655, | Feb 10 1995 | Canon Kabushiki Kaisha | Binarization image processing for multi-level image data |
5933249, | Dec 27 1993 | Canon Kabushiki Kaisha | Image processing apparatus and method |
6931591, | Oct 15 1999 | SAEPIO TECHNOLOGIES, INC | Publishing layout wizard |
7158669, | Apr 17 2002 | Canon Kabushiki Kaisha | Image compression method and apparatus, and image coding method and apparatus |
7170647, | Dec 21 2000 | Canon Kabushiki Kaisha | Document processing apparatus and method |
7184589, | Jun 25 2003 | PFU Limited | Image compression apparatus |
7366357, | Feb 12 2004 | III Holdings 6, LLC | Systems and methods for adjusting image data to form highly compressible image planes |
7532757, | Nov 21 2003 | Canon Kabushiki Kaisha | Image processing apparatus, control method therefor, and program |
7623712, | Jun 09 2005 | Canon Kabushiki Kaisha | Image processing method and apparatus |
7693328, | Sep 12 2005 | Sharp Kabushiki Kaisha | Printing apparatus, printing processing method, and storage medium |
7747077, | Feb 14 2005 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and image processing program |
7929757, | Jun 12 2006 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method for gathering vector data from an image |
8045801, | Sep 02 2005 | Canon Kabushiki Kaisha | Image processing apparatus and method |
8050499, | Mar 31 2006 | Canon Kabushiki Kaisha | Image-processing apparatus, image-processing method, and computer program used therewith |
8132097, | Oct 15 1999 | APOGEM CAPITAL LLC, AS SUCCESSOR AGENT | Computer-implemented system for creating a publication and method thereof |
20020025072, | |||
20020085243, | |||
20020085755, | |||
20020106124, | |||
20030202707, | |||
20030210803, | |||
20040223197, | |||
20050163389, | |||
20050235201, | |||
20060008114, | |||
20060045386, | |||
20060133671, | |||
20070127771, | |||
20070133031, | |||
20070230810, | |||
20070286478, | |||
20080304751, | |||
20080310730, | |||
20090249195, | |||
20090274363, | |||
20090285479, | |||
20090316219, | |||
20090324065, | |||
20100017705, | |||
20100021059, | |||
20100097656, | |||
20100172595, | |||
20100202025, | |||
JP2004265384, | |||
WO2004068368, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 31 2010 | ISHIDA, YOSHIHIRO | Canon Kabushiki Kaisha | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024749 | /0952 | |
Apr 08 2010 | Canon Kabushiki Kaisha | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jul 21 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 28 2020 | REM: Maintenance Fee Reminder Mailed. |
Mar 15 2021 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Feb 05 2016 | 4 years fee payment window open |
Aug 05 2016 | 6 months grace period start (w surcharge) |
Feb 05 2017 | patent expiry (for year 4) |
Feb 05 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 05 2020 | 8 years fee payment window open |
Aug 05 2020 | 6 months grace period start (w surcharge) |
Feb 05 2021 | patent expiry (for year 8) |
Feb 05 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 05 2024 | 12 years fee payment window open |
Aug 05 2024 | 6 months grace period start (w surcharge) |
Feb 05 2025 | patent expiry (for year 12) |
Feb 05 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |