U.S. patent application number 12/554766 was filed with the patent office on 2010-03-18 for image processing apparatus, image processing method and program.
This patent application is currently assigned to CANON KABUSHIKI KAISHA. Invention is credited to Naoki Ito.
Application Number | 20100067023 12/554766 |
Document ID | / |
Family ID | 42006946 |
Filed Date | 2010-03-18 |
United States Patent
Application |
20100067023 |
Kind Code |
A1 |
Ito; Naoki |
March 18, 2010 |
IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD AND PROGRAM
Abstract
There is provided an image processing apparatus which can
generate a vector image with a high image quality at a high speed
in a small memory capacity. The present invention generates an
image with low resolution by performing resolution conversion to a
compressed image with high resolution and obtains information of a
character object with low resolution by performing object division
to the image with the low resolution. The compressed image with the
high resolution is decompressed and an image showing a character
contour with high resolution is generated by using the information
of the character object with the low resolution obtained by the
object dividing and the decompressed image with the high
resolution. At the time of performing the decompression, the
compressed image with the high resolution may be partially
decompressed based upon the information of the character
object.
Inventors: |
Ito; Naoki; (Tokyo,
JP) |
Correspondence
Address: |
FITZPATRICK CELLA HARPER & SCINTO
1290 Avenue of the Americas
NEW YORK
NY
10104-3800
US
|
Assignee: |
CANON KABUSHIKI KAISHA
Tokyo
JP
|
Family ID: |
42006946 |
Appl. No.: |
12/554766 |
Filed: |
September 4, 2009 |
Current U.S.
Class: |
358/1.2 |
Current CPC
Class: |
G06K 9/00463 20130101;
G06K 9/00456 20130101; G06K 15/1872 20130101; H04N 1/4092 20130101;
H04N 1/41 20130101; H04N 1/3871 20130101; G06K 9/481 20130101; G06K
9/4604 20130101 |
Class at
Publication: |
358/1.2 |
International
Class: |
G06K 15/02 20060101
G06K015/02 |
Foreign Application Data
Date |
Code |
Application Number |
Sep 18, 2008 |
JP |
2008-239804 |
Claims
1. An image processing apparatus comprising: a resolution
converting unit configured to generate an image with low resolution
by performing resolution conversion to a compressed image with high
resolution; an object dividing unit configured to obtain
information of a character object with low resolution by performing
object division to the image with the low resolution; a
decompressing unit configured to decompress the compressed image
with the high resolution; and a character contour generating unit
configured to generate an image showing a character contour with
high resolution by using the information of the character object
with the low resolution obtained by the object dividing unit and
the image with the high resolution decompressed by the
decompressing unit.
2. An image processing apparatus according to claim 1, wherein: the
information of the character object with the low resolution
obtained by the object dividing unit is a binary image with low
resolution where pixels of a character and pixels of a background
contained in a character region determined as containing a
character image are shown in a binary value; and the character
contour generating unit specifies pixels in which the pixels of the
character may exist using the binary image with the low resolution
and generates the image showing the character contour with the high
resolution using the each specified pixel and the decompressed
image with the high resolution.
3. An image processing apparatus according to claim 2, wherein: the
character contour generating unit determines a threshold value in
the adjacence of the each specified pixel using the each specified
pixel and the decompressed image with the high resolution to
generate the image showing the character contour with the high
resolution by binarizing a portion of the decompressed image with
the high resolution corresponding to the each specified pixel by
using the determined threshold value.
4. An image processing apparatus according to claim 1, further
comprising: a function approximate unit configured to
function-approximate the character contour based upon the image
showing the character contour with the high resolution generated by
the character contour generating unit; and a formatting unit
configured to format the function-approximated result.
5. An image processing apparatus according to claim 1, further
comprising: a compressing unit configured to compress an inputted
image with high resolution to generate the compressed image with
the high resolution; and a spooling unit configured to spool the
compressed image with the high resolution, wherein: the
decompressing unit decompress the compressed image with the high
resolution spooled by the spooling unit.
6. An image processing apparatus according to claim 1, wherein: the
character contour generating unit converts the image with the high
resolution decompressed by the decompressing unit into a luminance
image with high resolution in a case where the image with the high
resolution is a color image, and generates the image showing the
character contour with the high resolution by using the information
of the character object with the low resolution obtained by the
object dividing unit and the luminance image with the high
resolution.
7. An image processing apparatus according to claim 1, wherein: the
decompressing unit partially decompress the compressed image with
the high resolution based upon the information of the character
object.
8. An image processing apparatus according to claim 7, wherein: the
decompressing unit decompress a portion in the compressed image
with the high resolution corresponding to the character object
region containing plural characters.
9. An image processing apparatus according to claim 7, wherein: the
decompressing unit decompress a portion in the compressed image
with the high resolution corresponding to one character.
10. An image processing apparatus according to claim 7, wherein:
the decompressing unit determines whether or not a memory capacity
necessary for processing the character object region is smaller
than a memory capacity set preliminarily, based upon the
information of the character object; the decompressing unit
decompress a portion in the compressed image with the high
resolution corresponding to the character object region in a case
where it is determined that the memory capacity necessary for
processing the character object region is smaller than the memory
capacity set preliminarily; and the decompressing unit decompress a
portion in the compressed image with the high resolution
corresponding to one character in a case where it is determined
that the memory capacity necessary for processing the character
object region is not smaller than the memory capacity set
preliminarily.
11. An image processing apparatus according to claim 7, wherein:
the decompressing unit determines whether or not a memory capacity
necessary for processing the character object region is smaller
than a memory capacity set preliminarily, based upon the
information of the character object; the decompressing unit
decompress a portion in the compressed image with the high
resolution corresponding to the character object region in a case
where it is determined that the memory capacity necessary for
processing the character object region is smaller than the memory
capacity set preliminarily; and the decompressing unit divides the
character object region into regions each having a process-possible
size and decompress a portion in the compressed image with the high
resolution corresponding to the divided region in a case where it
is determined that the memory capacity necessary for processing the
character object region is not smaller than the memory capacity set
preliminarily.
12. An image processing method, the method comprising the steps of:
generating an image with low resolution by performing resolution
conversion to a compressed image with high resolution by a
resolution converting unit; obtaining information of a character
object with low resolution by performing object division to the
image with the low resolution by an object dividing unit;
decompressing the compressed image with the high resolution by a
decompressing unit; and generating an image showing a character
contour with high resolution by using the information of the
character object with the low resolution obtained by the object
dividing step and the image with the high resolution decompressed
by the decompressing step by a character contour generating
unit.
13. A program on a computer readable medium for making a computer
perform: a resolution converting step of generating an image with
low resolution by performing resolution conversion to a compressed
image with high resolution; an object dividing step of obtaining
information of a character object with low resolution by performing
object division to the image with the low resolution; a
decompressing step of decompressing the compressed image with the
high resolution; and a character contour generating step of
generating an image showing a character contour with high
resolution by using the information of the character object with
the low resolution obtained by the object dividing step and the
image with the high resolution decompressed by the decompressing
step.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The present invention relates to an image processing
apparatus which performs character vectorization process to a
character object recognized by an object recognition process in a
case of generating vectorization data from an input image.
[0003] 2. Description of the Related Art
[0004] For example, Japanese Patent Laid-Open No. 2002-142128
discloses an image processing apparatus configured to have the
following construction as an image processing apparatus capable of
generating a color document image with high quality.
[0005] An input image is converted into an image with low
resolution. The converted image with the low resolution is used to
generate a subtractive color image, and neighboring pixels allotted
to the same representative color from the subtractive color image
are integrated to extract a FCR (Flat Color Region) candidate
region. An image having higher resolution than the subtractive
color image is used to once more determine the region candidate.
Next, a boundary of the FCR is detected to determine a final FCR,
and a representative color of the determined FCR is selected to
perform a coloring process for replacing a color close to a pure
color for the pure color. Finally the FCR is drawn over (combined
to) the input image to perform reproduction of the image.
[0006] Computerization of documents has been conventionally made,
but a memory capacity necessary for computerizing the document so
as to have high quality, as well as in a state of being reusable
becomes large and since a great amount of calculations is required
for computerizing the document, it takes time to perform the
computerization process. In particular, in the limited process
resource, the computerization of the document has to be realized in
a small memory capacity. For the realization, it is required to
restrict a data amount to be processed as many as possible, but
reduction of the data amount to be processed prevents a good image
quality from being obtained. In a case of computerizing the
document in the limited process resource, the memory capacity
necessary for the computerizing is designed to be restricted by
compressing data to be processed. However, there is a problem that
only the compression of the data can reduce the necessary memory
capacity, but can not obtain a good image quality.
SUMMARY OF THE INVENTION
[0007] An image processing apparatus in the present invention
comprises a resolution converting unit configured to generate an
image with low resolution by performing resolution conversion to a
compressed image with high resolution, an object dividing unit
configured to obtain information of a character object with low
resolution by performing object division to the image with the low
resolution, a decompressing unit configured to decompress the
compressed image with the high resolution, and a character contour
generating unit configured to generate an image showing a character
contour with high resolution by using the information of the
character object with the low resolution obtained by the object
dividing unit and the image with the high resolution decompressed
by the decompressing unit.
[0008] According to the present invention, it is possible to
generate a vector image with a high image quality at a high speed
in a small memory capacity.
[0009] Further features of the present invention will become
apparent from the following description of exemplary embodiments
(with reference to the attached drawings).
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] FIG. 1 is a block diagram showing a construction of an image
processing system according to embodiments in the present
invention;
[0011] FIG. 2 is a block diagram showing a construction of MFP;
[0012] FIG. 3 is a flow chart showing the process flow according to
a first embodiment;
[0013] FIG. 4 is a schematic diagram illustrating the processes
according to the first embodiment;
[0014] FIG. 5 is a schematic diagram illustrating the character
contour generating process according to the first embodiment;
[0015] FIG. 6 is a flow chart showing the process flow according to
a second embodiment;
[0016] FIG. 7 is a flow chart showing the flow of the partial
decompressing process according to the second embodiment;
[0017] FIG. 8A to 8C are diagram explaining the flow of the partial
decompressing process according to the second embodiment;
[0018] FIG. 9 is a flow chart showing the flow of a one-character
decompressing process according to a third embodiment;
[0019] FIG. 10 is a diagram explaining the flow of the
one-character decompressing process according to the third
embodiment;
[0020] FIG. 11 is a flow chart showing the flow of a decompressing
process according to a fourth embodiment;
[0021] FIG. 12 is a flow chart showing the flow of a decompressing
process according to a fifth embodiment;
[0022] FIG. 13 is a flow chart showing image reading-in from a
scanner;
[0023] FIG. 14 is diagrams showing object division region
information;
[0024] FIG. 15 is diagrams showing attribute block information and
input file information;
[0025] FIG. 16 is a diagram showing a document which is an object
of a document structure tree generating process;
[0026] FIG. 17 is a diagram showing a document structure tree
generated by the document structure tree generating process;
[0027] FIG. 18 is diagrams each showing an example of a format of
data vectorized by a function approximate process; and
[0028] FIG. 19 is a diagram showing an effect obtained by an
application of the present embodiment.
DESCRIPTION OF THE EMBODIMENTS
[0029] Hereinafter, embodiments of the present invention will be
explained with reference to the drawings.
First Embodiment
Image Processing System
[0030] FIG. 1 is a block diagram showing a construction of an image
processing system according to embodiments in the present
invention.
[0031] The image processing system is configured of an office 10
and an office 20 each provided with various devices. The office 10
is provided with a LAN 107 built therein and the office 20 is
provided with a LAN 108 built therein, and are further connected
with each other through the Internet 104.
[0032] The office 10 is provided with a multifunction peripheral
(hereinafter, referred to as (MFP)) 100, a management PC 101 for
controlling the MFP 100, a local PC 102, a proxy server 103, a data
base 105, and a document management server 106. These devices are
connected by the LAN 107.
[0033] The office 20 is provided with a local PC 102, a proxy
server 103, a data base 105, and a document management server 106.
These devices are connected by the LAN 108.
[0034] The LAN 107 and the LAN 108 are connected respectively to
the proxy servers 103 and are connected through the respective
proxy servers 103 to the Internet 104.
[0035] The MFP 100 performs a part of image processing to an input
image read from a document and transmits the image-processed image
data through the LAN 109 to the management PC 101. In addition, the
MFP 100 interprets a PDL (Page Description Language) language
received through the LAN 107 from the local PC 102 or a general PC
(not shown) and prints out the interpreted language. Further the
MFP 100 transmits the image data read from the document through LAN
107 to the local PC 102 or the general PC.
[0036] The management PC 101 is a computer including am image
storage unit, am image processing unit, a displaying unit, an input
unit (not shown) and the like. The management PC 101 performs the
image process in cooperation with the MFP 100. It should be noted
that in the present embodiment, the management PC 101 performs a
registration process to be described hereinafter and the like to
the data base 105, but the MFP 100 itself may be configured to
perform the registration process.
[MFP]
[0037] FIG. 2 is a block diagram showing a construction of the MFP
100.
[0038] The MFP 100 is provided with an image reading unit 110, a
storage unit (box) 111, a printing unit 112, an input unit 113,
network I/F units 114 and 117, and a data processing unit 115.
[0039] The image reading unit 110 is configured of a scanner having
an auto document feeder. The image reading unit 110 emits light on
images in a bundle of documents or in one document and makes image
formation of the reflected light on a solid image pickup device.
The solid image pickup device generates an image signal with a
predetermined resolution (for example, 600 dpi) and a predetermined
luminance level (for example, 8 bits). This image signal is formed
of image data made of raster data.
[0040] The data processing unit 115, at the time of regular
copying, performs the image process for copying to the image data
received from the image reading unit 110 and converts the processed
image data into print data, which are outputted to the printing
unit 112. In a case of copying plural documents, the data
processing unit 115 stores the print data corresponding to one page
in the storage unit 111 once and thereafter, sequentially outputs
the print data to the printing unit 112. The printing unit 112
prints an image or the like on a print paper based upon the print
data. The data processing unit 115 interprets and processes a PDL
language received through the network I/F 114 from the local PC 102
or the other general PC (not shown) to generate print data, which
are outputted to the printing unit 112.
[0041] The storage unit 111 has a function for storing data
performing rendering to the image data received from the image
reading unit 110 or the PDL data received from the local PC 102.
The storage unit 111 is controlled directly by the management PC
101 through the network I/F 117 and the LAN 109.
[0042] The input unit 113 is provided with operational interfaces,
such as a touch panel and a key board, and receives an operational
input from a user. The MFP 100 is also operable by operating a key
board, a pointing device or the like which is provided in the
management PC 101.
[0043] A displaying unit 116 displays a status, image data and the
like in the MFP 100.
[0044] FIG. 3 is a flow chart showing the flow of the vectorization
process according to the first embodiment.
[0045] At step S301, the MFP 100 inputs an image using the image
reading unit 110.
[0046] At step S302, the MFP 100 performs an image process to the
input image in accordance therewith. The image process is, for
example, a known process such as color conversion or a filtering
process.
[0047] At step S303, the MFP 100 performs a compressing process to
the image-processed image data to generate compressed image data.
An example of a compressing method includes JPEG.
[0048] At step S304, the MFP 100 spools the compressed image data
in the storage unit 111. The storage unit 111 is, for example, a
memory or a hard disc.
[0049] At step S305, the MFP 100 performs a decompressing process
to the spooled compressed image data. For example, in a case where
at step S303, the image is compressed by JPEG, the decompressing
process to the compressed image is performed by JPEG. That is, at
step S305, a decompressing method corresponding to the compressing
method used at step S303 is used.
[0050] At step S306, the MFP 100 performs a resolution converting
process for reducing resolution of the decompressed image data. For
example, the image data with the resolution of 600 dpi are
converted into the image data with the resolution of 300 dpi.
[0051] At step S307, the MFP 100 performs an object dividing
process (region dividing process) to the image data after the
resolution conversion is made. An example of the object kind
includes a character object, a photo object, a graphic (drawing,
line drawing or table) object, and a background object.
[0052] At step S312, the MFP 100 decompress the image data
compressed at step S303.
[0053] At step S308, the MFP 100 performs a character contour
generating process to the character object. Here, the MFP 100
refers to a portion in the image data with the high resolution
corresponding to the character object to generate a contour of the
character. Specifically, the contour of the character is generated
based upon the character object divided at step S307 and the image
data decompressed at step S312. That is, the MFP 100 generates the
contour of the character using the character object divided from
the image data with the low resolution and the image data with the
high resolution after the decompressing. A detail of this character
contour generating process will be described later.
[0054] At step S309, the MFP 100 performs a function approximate
process to the character contour generated at step S308, which is
converted into path data (vector data).
[0055] At step S310, the MFP 100 formats the path data to a general
format. An example of the general format includes PDF, XPS, SVG or
XML. It should be noted that the MFP 100 may store the formatted
data in the storage unit 111 or transmit it through the network to
an external device such as PC.
[0056] Next, the aforementioned process will be explained more
specifically with reference to FIG. 4.
[0057] FIG. 4 is a diagram showing the aforementioned vectorization
process.
[0058] The MFP 100 scans a document (411), performs an image
process to the scanned image (412), and performs an image
compression to the image-processed image data (413). In the present
embodiment, the compressing method is JPEG.
[0059] The MFP 100 spools the compressed image data in the storage
unit 111 (414), reads out the spooled compressed data for
decompression (415), and generates image data with resolution of
600 dpi and the gradation number of 24 bits.
[0060] The MFP 100 performs resolution conversion for converting
the generated image data with the resolution of 600 dpi and the
gradation number of 24 bits (402) into an image with low resolution
(401) to generate image data with resolution of 300 dpi and the
gradation number of 24 bits. It should be noted that the above
resolution or the above gradation number is used simply as an
example, and the present invention is not limited thereto.
[0061] The MFP 100 performs an object division to the image data
(403) with the resolution of 300 dpi and the gradation number of 24
bits (404) to find object division region information and character
information (405 and 406). The object division region information
serves to show in which region in the image and what kind of an
object (object kind such as a character object) exists. That is,
the object division region information (405) is the information
showing position information of a rectangular region and an
attribute of an object (object kind) contained in the rectangular
region, and can be determined using a known technology. The
character information (406) is the information showing a character
object in the region where the character object exists. That is,
the character information (406) is the information showing a region
of the character attribute by binary image data (that is, image of
300 dpi and one bit), and can be obtained, for example, by
binarizing the region of the character attribute. At this point,
for example, in a case where an image as an object to be processed
is an image of a black character with a white background, the
character information is a binary image with low resolution in the
character region where a pixel of the character is expressed as one
and a pixel of the background which is not the character is
expressed as zero.
[0062] The MFP 100 uses the object division region information, the
character information, and the image data with the resolution of
600 dpi and the gradation number of 24 bits which is the image with
the high resolution before the resolution conversion is made (after
the decompression is performed) to perform a character contour
generating process to be described later (407). By performing the
character contour generating process (407), the character contour
image data with resolution of 600 dpi and the gradation number of
one bit can be obtained (408).
[0063] The MFP 100 performs a function approximate process to the
character contour image data 408 to perform a passing process (409)
and formats the path data (that is, vector data) (410).
[0064] Next, a detail of the character contour generating process
(407) will be explained.
[0065] FIG. 5 is a diagram showing the character contour generating
process (407).
[0066] Numeral 501 shows an image with low resolution including
object division region information and character information. The
resolution is set as 300 dpi. Numeral 502 shows a luminance image
having resolution of 600 dpi and the gradation number of 8 bits
generated from the image with the high resolution having resolution
of 600 dpi and the gradation number of 24 bits. The generation of
the luminance image is realized by a known method. For example, the
process for converting a color image (RGB image) of 24 bits into a
luminance image of 8 bits is to be performed using a given
conversion expression.
[0067] Numeral 504 shows one region in the image 501 with
resolution of 300 dpi. Herein, a position of a region of the
character attribute is specified based upon region information 405,
and the region is an image 504 with resolution of 300 dpi and the
gradation number of one bit which is formed by taking out a portion
of a region corresponding to the specified position of the region
of the character from character information 406. The image 504 is a
binary image, and pixels painted in black are, as shown in numeral
503, pixels for forming a character in the image 504. One square in
the image shown in numeral 504 expresses one pixel in an image with
low resolution.
[0068] Numeral 505 shows a region in the image with high resolution
having resolution of 600 dpi and the gradation number of 8 bits
corresponding to the region of the image 504. One square in the
image in numeral 505 expresses one pixel in the image with the high
resolution. It should be noted that the image 505 is a luminance
image (multi-value image) and in most cases, a pixel in gray exists
in the boundary between a pixel forming a character and a pixel
forming the background.
[0069] Numeral 506 shows a character image having resolution of 600
dpi and the gradation number of one bit generated using the image
504 with the low resolution and the image 505 with the high
resolution. That is, the image 506 is a binary image with the high
resolution.
[0070] A method of generating the character image 506 is as
follows.
[0071] The scan is carried out on the low-resolution image 504
having resolution of 300 dpi in raster sequence. At the time of
scanning the low-resolution image 504, it is confirmed for each
target pixel to be scanned whether or not a pixel constituting a
character object exists in the 8 pixels surrounding the target
pixel to be scanned. In a case where no pixel constituting a
character object exists in the adjacent 8 pixels, the one pixel is
divided into pixels of 2.times.2 (four pixels) to be converted into
the image with resolution of 600 dpi, setting a pixel value of the
each pixel as white (0). In contrast, in a case where a pixel
(black pixel) constituting the character object exists in the 8
pixels surrounding the target pixel to be scanned, first, a
threshold value calculating process in a portion of the pixel is
performed using data of resolution of 600 dpi and the gradation
number of 8 bits (multi-value image with high resolution). The data
of the resolution of 600 dpi and the gradation number of 8 bits are
binarized into 0 and 1 using the calculated threshold value. For
example, an average value of pixel values of pixels constituting
the character object existing in the 8 pixels surrounding the
scan-target pixel and an average value of pixel values of pixels
not constituting the character object existing in the 8 pixels are
found from the image of the resolution of 600 dpi and the gradation
number of 8 bits. Next, the respective average values are added,
which is divided by two to find a threshold value. The pixel value
is compared with the threshold value in the image of the resolution
of 600 dpi and the gradation number of 8 bits. The pixel in which
the pixel value exceeds the threshold value is set as black (1) and
the pixel in which the pixel value is below the threshold value is
set as white (0). Therefore, the character image of the resolution
of 600 dpi and the gradation number of one bit (that is, a binary
image with high resolution) can be generated. In this way, in
regard to the adjacent pixel of the pixel where the character with
the resolution of 300 dpi exists in the image 504, a threshold
value is adaptively determined using the image of the resolution of
600 dpi and the gradation number of 8 bits to perform the
binarization process. That is, since only a portion where a
possibility that the character image exists is high is set as an
object of the binarization process, a binary image showing a
character contour with high resolution can be efficiently
generated. For example, when a white pixel and a black pixel in a
portion surrounded by a rectangle 507 in the image 504, since the
pixels of the luminance image 505 with the high resolution
corresponding to the white pixel and the black pixel contains a
gray pixel, are binarized using the threshold value calculated in
each pixel, the image 504 is formed as the image 506. It should be
noted that there exists a case where as in the case of an outline
character on a colored background, pixels in the surroundings of
the character have colors and the character is shown in white. In
this case, it is determined whether or not the character is the
outline character on the colored background from the color in the
surroundings and the color of the character, and, based upon this
determination, generation of the character image of the resolution
of 600 dpi and the gradation number of one bit is made. It is
possible to use a known method in regard to the determination
method of the outline character on the colored background. For
example, at the time of generating the image of the resolution of
600 dpi and the gradation number of one bit, a total number of the
black pixels is compared with a total number of the white pixels,
and it is determined that more pixels are determined as the
background pixels. In this case, when the black pixel is determined
as the background pixel, reverse of white and black in the region
may be made to form the white pixel as the background.
[0072] At the time of specifying the character region in this way,
the image with the reduced resolution is used to perform the region
division, and in regard to the character region, pixels where a
character exists are specified in the image with the low resolution
and in regard to the specified pixels, the image with the high
resolution is used to generate a character contour. Therefore, the
pixels of the character are specified in a small memory and at a
high speed, making it possible to extract the character contour
with high accuracy. For example, in a case of performing the
vectorization process by extracting the character contour using
only the image having resolution of 300 dpi, the generated vector
data are formed to be an image as shown in FIG. 19 (1) by
rendering. On the other hand, in a case of performing the
vectorization process by extracting the character contour using the
luminance image having resolution of 600 dpi while specifying the
character pixel in the image having resolution of 300 dpi, a smooth
image with high accuracy can be obtained as shown in FIG. 19 (2) by
rendering the generated vector data.
[Production of Bit Map Image Data]
[0073] In a case of using the image reading unit 110 in the MFP
100, at step S1301 shown in FIG. 13, an image is read in. The read
image is already bit map image data. At step S1302, the image
processing depending on a scanner is performed to the bit map image
data. The image process depending on the scanner is, for example, a
color process or a filtering process. On the other hand,
application data produced using application software in the PC 102
are converted into PDL by a print driver in the PC 102, which are
transmitted to the MFP 100. Herein, PDL is, for example, LIPS or
Postscript. The MFP 100 which has received the PDL generates a
display list based upon the PDL using a built-in interpreter. Next,
MFP 100 performs rendering to the display list to generate the bit
map image data.
[0074] The MFP 100 performs the processes (processes subsequent to
413 in FIG. 4) subsequent to step S303 (FIG. 3) using the bit map
image data generated by either one of the above two methods as a
process object.
[Detail Setting of Registration]
[0075] FIG. 18 is diagrams each showing an example of the format of
the data vectorized in the function approximate process at step
S309 shown in FIG. 3. In the present embodiment, an SVG (Scalable
Vector Graphic) format is used, but the format is not limited
thereto.
[0076] In FIG. 18, for its explanation, the notation of the object
is surrounded by a frame. In a frame 1801, an image attribute is
shown, and object division region information (information showing
a position and an object attribute) and bit map information (for
example, JPEG data) in regard to a region of the image object
(photo object) are shown. In a frame 1802, information of a text
object (information of an OCR result of a character object) is
shown. In a frame 1803, a configuration of the character object
corresponding to the text object in the frame 1802 is shown as a
vector object. In a frame 1804, a graphic object (line art such as
a table object or a line drawing object) is shown as a vector
object. Also in regard to the graphic object such as the line
drawing object, the process similar to the vector data converting
process of the character object as explained in FIGS. 3 to 5 is
performed, thereby making it possible to convert the graphic object
into the vector object.
[Object Dividing Step]
[0077] FIG. 14 is diagrams each showing the object division region
information (405 in FIG. 4) obtained by the object dividing process
(step S307 in FIGS. 3 and 404I FIG. 4).
[0078] At step S307, the MFP 100, as shown in an image 1402,
divides an input mage 1401 into rectangular blocks for each
attribute. As described above, examples of the attribute of the
rectangular block include a character, a photo, and a graphic
(drawing, line drawing, a table and the like).
[0079] In the object division at step S307, first, the image data
(403) stored in the RAM are binarized into white data and black
data to extract a black-pixel bundle (connected black pixels)
surrounded by a contour made of black pixels. Further, a size of
the extracted black-pixel bundle is calculated. In a case where the
size of the black-pixel bundle is more than a predetermined value,
a white-pixel bundle inside the black-pixel bundle is extracted to
find the contour. Further, a size of the extracted white-pixel
bundle is calculated. In a case where the size of the white-pixel
bundle is more than a predetermined value, a black-pixel bundle
inside the white-pixel bundle is extracted to find the contour. In
this way, as long as the size of the internal pixel bundle is more
than the predetermined value, the pixel bundle is repeatedly
extracted to find the contour. The size of the pixel bundle is an
area of the pixel bundle, for example. A rectangular block
circumscribed to the pixel bundle obtained in this way is found to
determine an attribute of the rectangular block based upon the size
and the shape of the rectangular block. For example, a rectangular
block of which a horizontal to vertical ratio is close to one and
of which a size is within a constant range (range of a size as
large as determined as a character) is determined as a
character-corresponding block which has the high possibility to be
a character object region rectangular block. In addition, when
neighboring character-corresponding blocks are arranged regularly,
a new rectangular block is generated by putting these
character-corresponding blocks together to determine the new
rectangular block as a character object region rectangular block.
That is, since the neighboring character-corresponding blocks are
put together, the character object region rectangular block is a
region of a unit of a character line or a character paragraph.
Further, a flat black-pixel bundle such as a longitudinal bundle or
a horizontal bundle is determined as a line drawing region
rectangular block such as a separator. In a case where the
black-pixel bundle is larger than a constant value and
square-shaped white-pixel bundles are arrange regularly inside the
black-pixel bundle, the block is determined as a table region
rectangular block. The line region rectangular block and the table
region rectangular block are dealt as graphic region rectangular
blocks. In addition, a black-pixel bundle in an indeterminate form
other than the above blocks is determined as a photo region
rectangular block. It should be noted that in the present
embodiment, the attribute is categorized as a character, a photo,
and a graphic, but the kind of the attribute is not limited to
those and may be in more detail categorized.
[0080] At step S307, in regard to each of the rectangular blocks
determined in this way, as shown in FIG. 15, block information of
the attribute or the like and input file information are generated.
In FIG. 15, the block information includes an attribute, a
coordinate X, a coordinate Y, a width W, a height H and OCR
information of each block. Numerals of 1 to 3 are allotted to the
attribute. Numeral 1 shows a character object region rectangular
block, numeral 2 shows a photo region rectangular block, and
numeral 3 shows a graphic region rectangular block. The coordinate
X and the coordinate Y show X and Y coordinates (coordinates of an
upper left angle) at a starting point of each rectangular block in
the image. The width W and the height H show a width of the
rectangular block in the X coordinate direction and a height of the
rectangular block in the Y coordinate direction. The OCR
information shows presence/absence of pointer information in the
input image. In addition, the input information includes a block
sum N showing the numbers of the rectangular blocks (in a case of
image 1402, N=six).
[0081] The block information for each rectangular block is used for
vectorization in a specific region. It should be noted that in the
present embodiment, since the character region is used as an object
of the vectorization process, the specific region is the character
region. That is, the character object region is extracted, which is
used in the character contour generating process 407 at the later
stage. Further, a relative position relationship at the time of
combining the specific region with the other region can be
specified by the block information, and therefore, it is possible
to combine the vectorization region with the raster data region
without damaging a layout of the input image.
[0082] FIG. 16 is a diagram showing a document as an object of a
document structure tree generating process.
[0083] In FIG. 16, rectangular blocks T1 and T2 are lined up
laterally at the uppermost position of the document. A lateral
separator S1 exists under the rectangular blocks T1 and T2 and
rectangular blocks T3, T4, T5, T6, and T7 exist under the lateral
separator S1. The rectangular blocks T3, T4, and T5 are
longitudinally lined up from upward to downward at a left half in a
region under the lateral separator S1 and the rectangular blocks T6
and T7 are lined up upward and downward at a right half in a region
under the lateral separator S1.
[0084] FIG. 17 is a diagram illustrating the above processed result
in a document structure tree.
[0085] In FIG. 17, an input image V0 has groups H1 and H2 and the
separator S1 at the uppermost layer, and the rectangular blocks T1
and T2 in the second layer belong to the group H1. Groups V1 and V2
at the second layer belong to the group H2, the rectangular blocks
T3, T4, and T5 at the third layer belong to the group V1, and the
rectangular blocks T6 and T7 at the third layer belong to the group
V2.
Second Embodiment
[0086] A second embodiment is different from the first embodiment
in a point of the decompressing process in an input image as the
pre-process to the character contour generating process, and is
common with the first embodiment in a point of the apparatus
construction and the other processes. Therefore, the decompressing
process which is different from the first embodiment will be mainly
explained.
[0087] FIG. 6 is a flow chart showing the process flow according to
the second embodiment. Since the processes of steps S 601 to S610
in FIG. 6 respectively are the processes similar to the processes
of steps S301 to S310 in FIG. 3, a detail of the process at step
S612 will be explained in the following.
[0088] At step S612, The MFP 100 performs a partial decompressing
process for partially decompressing each of the several character
object regions in the page using the object division region
information obtained by the object dividing process at step S607.
The processes at steps S608 and S609 are sequentially performed
each time of obtaining the partial decompressed image. It is
possible to perform the decompressing process and the vectorization
process in a small memory capacity by performing the decompression
in an object unit.
[0089] FIG. 7 is a flow chart showing the process flow in the
character vectorization process using the object division region
information according to the second embodiment. The processes
performed in FIG. 7 are the processes corresponding to steps S612,
S608, and S609.
[0090] At step S702, the MFP 100 obtains the object division region
information and obtains one character object region from the
obtained object division region information.
[0091] A step S703, the MFP 100 partially decompress an input image
corresponding to the one character object region. In a case where
the object division region information is the information with
resolution of 300 dpi, coordinates are calculated in a case where
the resolution of 300 dpi in the information is converted into the
resolution of 600 dpi. In addition, since the minimum unit of the
compression is, for example, 8 pixels.times.8 pixels in a case of
JPEG, the MFP 100 is adapted for decompressing a region of the
compressed image corresponding to the obtained character object
region. The method of the partial decompression differs depending
on a compressing method to be used. However, it is possible to
realize the partial decompression by using a known compression
technology and a known partial decompressing method. In this way,
it is possible to obtain the high-resolution image with resolution
of 600 dpi corresponding to the one character object region.
[0092] At step S704, the MFP 100 performs the character contour
generating process. The character contour generating process is the
same as the process explained in the first embodiment.
[0093] At step S705, the MFP 100 performs a function approximate
process to the character contour generated at step S704 to generate
path-processed vector data.
[0094] At step S706, the MFP 100 determines whether or not the
above process is already performed in all the character object
regions. When the above process is completed in all the character
object regions, the vectorization process is completed.
[0095] FIG. 8 is diagrams explaining a case where the object
division region information with resolution of 300 dpi is converted
into coordinates of positions corresponding to an image with
resolution of 600 dpi to perform a partial decompressing process
(step S812).
[0096] FIG. 8A is a diagram showing a compressed image 801 with
resolution of 600 dpi. FIG. 8B is a diagram showing the object
division region information as an image 802. The TEXTs 808 to 812
in the image 802 each express a character object region. In a case
of partially decompressing the character object region (TEXT) 808
in the image 802, coordinates of the compressed image 801
corresponding to the coordinates of the character object region 808
are found to specify a region of the compressed image containing
the coordinates, decompressing the compressed image in the region.
Numerals 813 to 817 in FIG. 8C show the result of the partial
decompressing process to each region of numerals 803 to 807 in
positions in the compressed image 801 corresponding to the numerals
813 to 817 by using the object division region information 802
shown in numerals 808 to 812 in FIG. 8B. For example, numeral 813
(ABCD) in FIG. 8C shows the result of the partial decompressing
process to the region 803 of the compressed image (600 dpi)
corresponding to the character object region 808 in FIG. 8B.
[0097] As explained above, by performing the decompressing process
only to the region of the partially required compressed image by
using the object division region information, it is possible to
perform the vectorization process while restricting a memory
capacity at the time of performing the character contour
generation.
Third Embodiment
[0098] A third embodiment is different from the second embodiment
in a point of the decompressing process of an input image as the
pre-process to the character contour generating process, and is
common with the second embodiment in a point of the apparatus
construction and the other processes. In the second embodiment, the
partial decompression is performed for each character region (each
character line or each paragraph), but in the third embodiment, the
partial decompression is performed for each one character in the
character region. Therefore, the decompressing process which is
different from the second embodiment will be explained.
[0099] The second embodiment performs the partial decompression to
the one character object region. In a case of the second
embodiment, when the one character object region (paragraph or
character line) is large, a memory capacity necessary for the
process becomes possibly insufficient, but the third embodiment can
cope with such a case.
[0100] FIG. 9 is a flow chart showing the process flow of the
character vectorization process using object division region
information according to the third embodiment.
[0101] At step S902, the MFP 100 obtains object division region
information and one-character information for cutting out one
character from one character object region. Information for cutting
out the one character from the one character object region, that
is, coordinates of the one character can be obtained from the
object division region information.
[0102] At step S903, the MFP 100 partially decompress an input
image corresponding to the coordinates. For example, in a case
where the object division region information is the information
with resolution of 300 dpi, coordinates in a case where the
resolution of 300 dpi is converted into resolution of 600 dpi are
calculated. In addition, since the minimum unit of the compression
is, for example, 8 pixels.times.8 pixels in a case of JPEG, the MFP
100 is adapted for decompressing a region of the compressed image
in which the calculated character object region is contained. The
method of the partial decompression differs depending on a
compressing method to be used. However, it is possible to realize
the partial decompression by using a known compression technology
and a known partial decompressing method. In this way, it is
possible to obtain the image with resolution of 600 dpi
corresponding to one character. The character element pixel and the
image with 600 dpi can be obtained from the object division.
[0103] At step S904, the MFP 100 performs the character contour
generating process. The character contour generating process is the
same as the process explained in the first embodiment.
[0104] At step S905, the MFP 100 performs a function approximate
process to the character contour generated at step S904 to generate
a path-processed vector data.
[0105] At step S906, the MFP 100 determines whether or not the
above process is already performed in all the character
objects.
[0106] FIG. 10 is diagrams explaining utility of partially
performing the decompressing process for each character
(one-character decompression).
[0107] Numeral 1001 shows an image JPEG-compressed in a compressing
unit of 8 pixels.times.8 pixels. Numeral 1002 shows a compressing
unit of JPEG compression. In the image 1001, a frame surrounding
each character shows character-cutting information 1003. The
character-cutting information 1003 shows a character determined as
one character in the object dividing process. Since the
decompression is performed in a compressing unit of JPEG, in a case
of desiring to decompress a character of "A", a part of "B" of a
character in the right side adjacent to "A" is also decompressed as
shown in numeral 1004. In addition, in a case of desiring to
decompress a character of "B", likewise a part of "A" of a
character in the left side adjacent to "B" is also decompressed as
shown in numeral 1005. Therefore, when the image partially
decompressed by JPEG is vectorized as it is (character contour
generating process and function approximate process), a part of the
neighboring character is also to be processed. Accordingly, in the
present embodiment, in the image partially decompressed, the
vectorization process is performed only to the region of the one
character specified by the character-cutting information 1003. It
should be noted that the processes of steps S904 and S905, as shown
in FIG. 5, set the region of the one character as an object and
perform the character contour generation using the image data with
high resolution and the element constituting the character obtained
from the object division.
Fourth Embodiment
[0108] A fourth embodiment is different from the third embodiment
in a point of the decompressing process of an input image as the
pre-process to the character contour generating process, and is
common with the third embodiment in a point of the apparatus
construction and the other processes. Therefore, the decompressing
process which is different from the third embodiment will be
explained.
[0109] The third embodiment performs the partial decompressing
process to the one character. In the third embodiment, as the
number of the characters increases, the process time possibly
increases, but the fourth embodiment can cope with such a case.
[0110] FIG. 11 is a flow chart showing the process flow of the
character vectorization process using object division region
information according to the fourth embodiment.
[0111] At step S1102, the MFP 100 obtains object division region
information and information for cutting out one character from one
character object region (region of a character line or a
paragraph). Further, the MFP 100 calculates the size of the
character object region from the object division region information
to calculate a memory capacity necessary for the region process
(memory capacity calculation).
[0112] At step S1103, the MFP 100 compares a usable memory capacity
in advance set with the memory capacity necessary for the region
process calculated at step S1102. As a comparison result, in a case
where the memory capacity necessary for the region process is
smaller than the given usable memory capacity, it is determined
that the region process is possible, and the process goes to step
S1104. In a case if not, the process goes to step S1107.
[0113] In a case where it is determined that the memory capacity
necessary for the region process is smaller than the given usable
memory capacity, the MFP 100 performs the decompressing process to
one character object region (region of a character line or a
paragraph).
[0114] At step S1105, the MFP 100 performs a character contour
generating process (first character contour generating
process).
[0115] On the other hand, in a case where it is determined that the
memory capacity necessary for the region process is larger than the
given usable memory capacity, at step S1107 the MFP 100 performs
the decompressing process to the characters in the character object
region one by one (one-character decompression). The one-character
decompression is as described above.
[0116] At step S1108, the MFP 100 performs a character contour
generating process (second character contour generating
process).
[0117] At step S1106, the MFP 100 performs a function approximate
process to the character contour generated at step S1105 or the
character contour generated at step S1108 to generate
path-processed vector data.
[0118] At step S1109, the MFP 100 determines whether or not the
above process is already performed in all the character
objects.
Fifth Embodiment
[0119] A fifth embodiment is different from the fourth embodiment
in a point of the decompressing process of an input image as the
pre-process to the character contour generating process, and is
common with the fourth embodiment in a point of the apparatus
construction and the other processes. Therefore, the decompressing
process which is different from the fourth embodiment will be
explained.
[0120] The fourth embodiment performs the partial decompressing
process to one character. In the fourth embodiment, a method of
performing the decompressing process to the character object region
as it is and a method of performing the decompressing process to
the characters in the character object region one character by one
character are switched depending on a size of the one character
object region (that is, a required memory capacity). However, even
in the fourth embodiment, when the character object region is
large, since the decompressing process is performed for each one
character, as the number of the characters increases, the process
time possibly increases. The fifth embodiment can cope with such a
case.
[0121] FIG. 12 is a flow chart showing the process flow of the
character vectorization process using object division region
information according to the fifth embodiment.
[0122] At step S1202, the MFP 100 obtains object division region
information and information for cutting out one character from one
character object region. Further, the MFP 100 calculates a size of
the character object region from the object division region
information to calculate a memory capacity necessary for the region
process (memory capacity calculation).
[0123] At step S1203, the MFP 100 compares a usable memory capacity
in advance set with the memory capacity necessary for the region
process calculated at step S1202. As a comparison result, in a case
where the memory capacity necessary for the region process is
smaller than the given usable memory capacity, it is determined
that the region process is possible, and the process goes to step
S1204. In a case if not, the process goes to step S1207.
[0124] In a case where it is determined that the memory capacity
necessary for the region process is smaller than the usable memory
capacity, at step S1204 the MFP 100 performs the decompressing
process to the one character object region.
[0125] At step S1205, the MFP 100 performs a character contour
generating process (first character contour generating
process).
[0126] At step S1206, the MFP 100 performs a function approximate
process to the character contour generated at step S1205 to
generate path-processed vector data.
[0127] On the other hand, in a case where it is determined that the
memory capacity necessary for the region process is larger than the
usable memory capacity, at step S1207 the MFP 100 divides the one
character object region into region process-possible regions. In
regard to the division of the region, a size of the region
process-possible region is calculated from a given usable memory
capacity, and the division of the region is made based upon the
calculated size of the region. At this point, the division is
designed to be made to contain plural characters.
[0128] At step S1208, the MFP 100 partially decompress the region
divided at step S1207.
[0129] At step S1209, the MFP 100 performs a character contour
generating process (second character contour generating
process).
[0130] At step S1210, the MFP 100 performs a function approximate
process to the character contour generated at step S1209 to
generate path-processed vector data.
[0131] At step S1211, the MFP 100 determines whether or not the
above process is already performed in all the divided regions.
[0132] At step S1212, the MFP 100 determines whether or not the
above process is performed to the character object region.
[0133] FIG. 19 shows an example of an improvement on an image
quality.
Other Embodiment
[0134] 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).
[0135] 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.
[0136] This application claims the benefit of Japanese Patent
Application No. 2008-239804 filed Sep. 18, 2008 which is hereby
incorporated by reference herein in its entirety.
* * * * *