WO2010058735A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- WO2010058735A1 WO2010058735A1 PCT/JP2009/069320 JP2009069320W WO2010058735A1 WO 2010058735 A1 WO2010058735 A1 WO 2010058735A1 JP 2009069320 W JP2009069320 W JP 2009069320W WO 2010058735 A1 WO2010058735 A1 WO 2010058735A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- value
- pixel
- unit
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/40068—Modification of image resolution, i.e. determining the values of picture elements at new relative positions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/40062—Discrimination between different image types, e.g. two-tone, continuous tone
Definitions
- the present invention relates to an image processing apparatus and method for performing image classification, enlargement by interpolation processing, resolution conversion, and creation of image data composed of a plurality of pixel values.
- the present invention was created in view of the above points, and an object of the present invention is to provide an image processing apparatus, method, and program capable of classifying images according to image characteristics.
- an image processing apparatus includes an image input unit that inputs an image including a plurality of pixels, and each of a plurality of pixels that form an image input by the image input unit.
- a labeling processing means for labeling each of the plurality of pixels based on the value, and a plurality of parts constituted by a part of the plurality of pixels based on the contents of the labels given by the labeling processing means
- Image separation means for classifying the images and separating the plurality of partial images.
- An image processing method is an image processing method in an image processing apparatus including an image input unit, a labeling unit, and an image separation unit, and an image input unit is used to input an image composed of a plurality of pixels.
- An image input step to be performed, and a labeling process for labeling each of the plurality of pixels using a labeling processing unit based on the pixel values of the plurality of pixels constituting the image input by the image input unit Based on the content of the label given by the step and the labeling processing means, a plurality of partial images constituted by a part of the plurality of pixels are classified, and the processing for separating the plurality of partial images is performed by the image separating means. And performing an image separation step.
- the labeling processing unit described above is attached to the peripheral pixel with respect to the pixel to be labeled when the color of the pixel to be labeled is the same as the peripheral pixel for which labeling has been completed. It is desirable to attach the same label as the label, and to add a new label when such peripheral pixels do not exist.
- the above-described labeling processing means determines whether or not the color of the pixel to be labeled is the same as the color of the surrounding pixels, and compares the pixel value difference of these pixels with the first threshold value. It is desirable to determine that these pixels have the same color when the difference between the pixel values is equal to or smaller than the first threshold value. This makes it possible to grasp the characteristics of the image based on the color of each pixel.
- the above-described labeling processing unit may replace a label of each pixel included in this area with a new label for an area where the number of pixels included in the same labeled area is less than the second threshold. desirable. As a result, it is possible to distinguish a region where the color change is severe from a region where the color change is not so.
- the image separation means described above separates the area replaced with a new label as a grayscale image, and separates the area with other labels as a character / illustration image. This makes it possible to separate the grayscale image and the character / illustration image based on the state of color change.
- image processing means for extracting the edge of the region corresponding to the above-described grayscale image as a contour line. Thereby, the contour of the grayscale image can be easily extracted.
- image processing means for extracting the end of the region to which the same label is attached as the outline for the character / illustration image described above.
- image processing means for extracting the end of the region to which the same label is attached as the outline for the character / illustration image described above.
- an intermediate pixel value acquisition unit that acquires a pixel value of a pixel having a predetermined resolution constituting an image as an intermediate pixel value and outputs a plurality of intermediate pixel values included in a predetermined range of the image, and a plurality of pixels corresponding to the predetermined range
- Function value storage means for storing a plurality of function values, a plurality of intermediate pixel values output from the intermediate pixel value acquisition means, and a plurality of functions stored in the function value storage means for a conversion function having function values
- a corresponding point multiplying unit that multiplies corresponding values in a one-to-one correspondence with each other and outputs a plurality of multiplication results, and an addition that adds a plurality of multiplication results output from the corresponding point multiplying unit It is desirable to further comprise means.
- At least a partial image of the plurality of partial images separated by the image separation unit is configured by a plurality of pixels having intermediate pixel values, and the intermediate pixel value is obtained for the partial image.
- a plurality of intermediate pixel values are output by the means. Further, the addition result output from the adding means is set as one pixel value corresponding to a plurality of intermediate pixel values.
- pixel values corresponding to the image are generated by a product-sum operation (inner product operation) of a plurality of intermediate pixel values of higher resolution and a plurality of function values of the conversion function. Even if the pixel value includes noise, it is possible to reduce the influence of noise on the pixel value when generating image data.
- the generation of the pixel value using the addition result output from the addition unit described above is repeatedly performed while shifting a predetermined range corresponding to the plurality of intermediate pixel values output from the intermediate pixel value acquisition unit. It is desirable that the predetermined ranges corresponding to the respective values partially overlap. In particular, it is desirable to vary the range that overlaps the predetermined range described above.
- the generation of the pixel value using the addition result output from the addition unit described above is repeatedly performed while shifting a predetermined range corresponding to the plurality of intermediate pixel values output from the intermediate pixel value acquisition unit. The predetermined ranges corresponding to each of the values may not overlap.
- the range of the plurality of intermediate pixel values used for generating the pixel value may be overlapped or not overlapped, but when overlapping, by varying the degree of overlap (range), It is possible to change the number of generated pixels (resolution) without changing the resolution of the intermediate pixels.
- a sampling that stores a plurality of function values corresponding to a plurality of sample positions and positions obtained by dividing between these sample positions.
- Function value storage means image data input means for taking in image data including pixel values of pixels whose positions are specified by two variables, and outputting pixel values in order along either one of the two variables, and sampling Multiplication that outputs a plurality of multiplication results corresponding to each of the plurality of function values by multiplying each of the plurality of function values stored in the function value storage unit by the pixel value output from the image data input unit.
- first intermediate value creating means for creating and outputting a plurality of intermediate values corresponding to each of a plurality of multiplication results output from the multiplying means, and output from the multiplying means.
- a plurality of multiplication results to be output and a plurality of intermediate values output from the first intermediate value creating means are associated with each other in a one-to-one correspondence, and a plurality of addition results are output.
- Corresponding point addition means a first calculation result storage means for storing a plurality of addition results output from the first corresponding point addition means, and a plurality of addition results stored in the first calculation result storage means.
- a second intermediate value generating means for generating and outputting a plurality of intermediate values corresponding to the respective output values; a plurality of addition results stored in the first calculation result storage means; and a second intermediate value generating means for output. Output from the second corresponding point adding means and the second corresponding point adding means for adding the corresponding values in a one-to-one correspondence with each other and outputting a plurality of addition results.
- a second operation result storage means for storing a plurality of addition results; It is desirable.
- at least a partial image of the plurality of partial images separated by the image separation unit is configured by a plurality of pixels having intermediate pixel values, and image data for the partial image is targeted.
- the pixel value is output by the input means.
- the first intermediate value creation means outputs the plurality of addition results stored in the first calculation result storage means along one of the two variables each time the pixel value output from the image data input means is switched. An intermediate value is created by shifting the interval corresponding to the adjacent sample position of the sampling function.
- the second intermediate value creation means outputs the plurality of addition results stored in the second calculation result storage means along the other of the two variables every time the pixel value output from the image data input means is switched. An intermediate value is created by shifting the interval corresponding to the adjacent sample position of the sampling function.
- the first intermediate value creating means described above generates a first calculation result storage means when creating an intermediate value by shifting by an interval corresponding to an adjacent sample position of the sampling function along one of the two variables.
- the second intermediate value creating means described above generates the second calculation result storage means when creating the intermediate value by shifting the section corresponding to the adjacent sample position of the sampling function along the other of the two variables.
- the addition result having the largest number of additions by the first corresponding point addition means is the addition calculation by the second corresponding point addition means. It is desirable to be used for.
- an interpolation value output means for extracting and outputting the addition result having the largest number of additions by the second corresponding point addition means from among the plurality of addition results stored in the second calculation result storage means described above is further provided. It is desirable to provide.
- a function value corresponding to each of a plurality of sample positions included in the predetermined range is 0, and a function value corresponding to at least a part of the other positions is a finite value other than 0. It is desirable to have.
- sampling function described above has a function value of 0 outside the predetermined range.
- the sampling function described above is preferably a piecewise polynomial function in which each divided section obtained by dividing a predetermined range into two or more along each of the two variables is represented by an nth order polynomial.
- FIG. 1 is a diagram illustrating a configuration of an image processing apparatus according to an embodiment.
- the image processing apparatus includes an image input unit 10, an input image storage unit 12, a labeling processing unit 20, a condition setting unit 22, an operation unit 24, a label storage unit 30, characters and illustrations.
- the image separation unit 40 includes a grayscale image separation unit 42, a character / illustration image storage unit 50, a grayscale image storage unit 52, a character / illustration image processing unit 60, and a grayscale image processing unit 62.
- the image input unit 10 is for capturing image data with a predetermined resolution.
- This image data corresponds to an image composed of a plurality of pixels arranged at equal intervals along each of the horizontal direction and the vertical direction. Further, it is assumed that each pixel value is represented by multi-value data (for example, RGB data in which a predetermined number of bits correspond to each of RGB).
- a scanner that optically reads an image drawn on a paper document with a predetermined resolution can be used as the image input unit 10.
- a drive device (reading device) for these storage media can be used as the image input unit 10.
- an input / output interface for connecting them can be used as the image input unit 10.
- a communication device corresponding to the type of line can be used as the image input unit 10.
- a receiving device corresponding to the broadcast form can be used as the image input unit 10.
- the input image storage unit 12 stores the image data captured by the image input unit 10.
- the labeling processing unit 20 reads out the pixel value of each pixel constituting the image data stored in the input image storage unit 12, and performs labeling on each pixel based on the pixel value of surrounding pixels.
- the condition setting unit 22 sets conditions necessary for labeling processing by the labeling processing unit 20. For example, as this condition, a threshold value (first threshold value) that serves as a pixel value reference for determining whether or not to give the same label, and a threshold value (first threshold value) that serves as a reference for an area for separating a character / illustration image from a grayscale image 2) is set by the condition setting unit 22. Specific examples of labels and labeling will be described later.
- the operation unit 24 is used for inputting a user's instruction when the condition setting unit 22 sets conditions. For example, a numeric keypad for inputting a threshold value, a mouse for selecting a threshold value, or the like is used as the operation unit 24.
- the label storage unit 30 stores a label attached to each pixel.
- the character / illustration image separation unit 40 separates a portion corresponding to the character / illustration image from the image data stored in the input image storage unit 12.
- the gray image separation unit 42 separates a portion corresponding to the gray image from the image data stored in the input image storage unit 12. The separation of these character / illustration images and the grayscale image is performed based on the labels stored in the label storage unit 30.
- Image data corresponding to the character / illustration image separated by the character / illustration image separation unit 40 is stored in the character / illustration image storage unit 50.
- the image data corresponding to the gray image separated by the gray image separation unit 42 is stored in the gray image storage unit 52.
- the character / illustration image processing unit 60 reads the image data stored in the character / illustration image storage unit 50, and performs predetermined processing on the character / illustration image including contour extraction.
- the grayscale image processing unit 62 reads out the image data stored in the grayscale image storage unit 52 and performs predetermined processing on the grayscale image including contour extraction. Note that the contents of these image processes are appropriately determined depending on the specific purpose and the like. For example, when each image is enlarged and displayed, an interpolation process for increasing the number of pixels is performed as the image process. When transmitting via a communication line, a process of compressing image data of each image is performed as the image process as a pre-process.
- the image input unit 10 described above is an image input unit
- the labeling processing unit 20 is a labeling processing unit
- the character / illustration image separation unit 40 and the gray image separation unit 42 are image separation units
- the character / illustration image processing unit 60 corresponds to the image processing means.
- the operation by the image input unit 10 is the operation of the image input step
- the operation of the labeling processing unit 20 is the operation of the labeling processing step
- the operations of the character / illustration image separating unit 40 and the gray image separating unit 42 are respectively performed.
- the operations of the character / illustration image processing unit 60 and the grayscale image processing unit 62 correspond to the operation of the image processing step, respectively.
- the above-described image processing apparatus can be realized by a computer configuration including a CPU, a ROM, a RAM, and the like.
- the input image storage unit 12, the label storage unit 30, the character / illustration image storage unit 50, and the grayscale image storage unit 52 can be configured by a hard disk device or a semiconductor memory.
- the image input unit 10, the labeling processing unit 20, the condition setting unit 22, the character / illustration image separation unit 40, the grayscale image separation unit 42, the character / illustration image processing unit 60, and the grayscale image processing unit 62 are ROM, RAM, or hard disk. This can be realized by executing a predetermined image processing program stored in the apparatus or the like by the CPU.
- FIG. 2 is a flowchart showing the operation procedure of the image processing apparatus of the present embodiment, showing the operation procedure up to the image separation process by the character / illustration image separation unit 40 and the grayscale image separation unit 42.
- classification conditions are set (step 100).
- the classification condition is a condition for classifying these as separate images when a character / illustration image and a grayscale image are included in the input image.
- conditions first and second threshold values necessary for the labeling process performed by the labeling processing unit 20 described above are set by the condition setting unit 22.
- the user can instruct the contents of the condition using the operation unit 24.
- first and second threshold values suitable for general images are set in advance, and if these recommended values are not changed, the user's instruction can be omitted.
- an image to be classified is input using the image input unit 10, and image data of a predetermined resolution corresponding to this image is stored in the input image storage unit 12 (step 101).
- the labeling processing unit 20 reads image data (pixel value) of one pixel to be labeled from the image data of the classification target image stored in the input image storage unit 12 (step 102). If there is a pixel with the same color and label in the vicinity of this pixel, the same label as that of the neighboring pixel is applied, and if not, a new label is attached (step 103). For example, eight pixels surrounding one pixel to be labeled are neighboring pixels. Whether or not they are the same color is determined by comparing the difference between the pixel value of the pixel to be labeled and the pixel value of the neighboring pixel with the first threshold value set by the condition setting unit 22.
- the same label as the label attached to the neighboring pixel is attached to the pixel to be labeled as the same color.
- a new label (a label not used in the past labeling) is attached to the pixel to be labeled as a different color.
- an integer greater than 1 is used as a label.
- the difference between the pixel value of the pixel to be labeled and the pixel value of the neighboring pixel is obtained for each of the R, G, and B components.
- the labeling process in step 103 is performed on the component having a large difference value.
- the labeling processing unit 20 When labeling is completed for one pixel, the labeling processing unit 20 next determines whether or not there is an unprocessed (unlabeled) pixel (step 104). If there is an unprocessed pixel, an affirmative determination is made, and the process returns to step 103 to perform labeling corresponding to one unprocessed pixel.
- step 104 When labeling is completed for all pixels, a negative determination is made in the determination in step 104.
- the labeling processing unit 20 calculates the number of pixels of the same labeled region (partial image) (step 105), and this number of pixels is larger than the second threshold set by the condition setting unit 22. It is determined whether or not the number is small (step 106). When the number is small (when the area of the region is small), an affirmative determination is made, and the labeling processing unit 20 changes the label attached to all the pixels included in the region to a new label “1” (step S1). 107). On the other hand, if it is large (when the area of the region is large), a negative determination is made in the determination of step 106. In this case, the label changing process in step 107 is skipped (omitted).
- the labeling processing unit 20 determines whether or not there is an unprocessed area (area where the number of pixels has not been determined) (step 108). If there is an unprocessed area, an affirmative determination is made, and the process returns to step 105 to determine the number of pixels for the unprocessed area, change the label to “1”, and the like. If there is no unprocessed area, a negative determination is made in the determination of step 108.
- the character / illustration image separation unit 40 and the grayscale image separation unit 42 classify (separate) the character / illustration image and the grayscale image (step 109). Specifically, the character / illustration image separation unit 40 extracts a region with a label other than “1” (two or more labels) as a character / illustration image. In addition, the gray image separation unit 42 extracts the region labeled “1” as a gray image.
- the region with the label “1” is a region having a small area among the regions with the same label corresponding to the same color, and when the color gradually changes like a grayscale image. Are labeled like this. In the present embodiment, the region with the label “1” is extracted as a grayscale image.
- the character / illustration image processing unit 60 extracts the contour lines of the separated character / illustration images, and then performs various image processing on each region partitioned by the extracted contour lines.
- the contour line is extracted by extracting and connecting pixels located at the end of the region with the same label. Specifically, when the same label is attached to the surrounding eight pixels, it is determined that the pixel located at the center of the eight pixels is not included in the contour line. On the other hand, if the surrounding 8 pixels are not all the same label (including the case where there are no 8 pixels in the surroundings), it is determined that the pixel located at the center of the 8 pixels is included in the contour line. . By performing the above determination for all the pixels constituting the character / illustration image, the pixels constituting the contour line are extracted for each region having the same label.
- the grayscale image processing unit 62 extracts the contour line of the separated grayscale image, and then performs various image processing on the region (grayscale image) surrounded by the extracted contour line.
- the contour line is extracted by extracting and connecting the pixels located at the end of the region labeled “1”. Specifically, when the same label “1” is attached to the surrounding eight pixels, it is determined that the pixel located at the center of the eight pixels is not included in the contour line. On the other hand, if the labels of the surrounding 8 pixels are not all “1” (including the case where there are no 8 pixels around), it is determined that the pixel located at the center of the 8 pixels is included in the outline. Is done. By performing the above determination for all the pixels constituting the grayscale image, the pixels constituting the contour line are extracted from the region (grayscale image) labeled “1”.
- the image processing apparatus by separating a plurality of images based on the pixel values, it is possible to classify the images according to the characteristics (contents) of the images. In addition, it is possible to grasp the characteristics of the image based on the color of each pixel. In particular, it is possible to distinguish between a region where the color change is intense and a region where the color change is not so, and to separate the grayscale image and the character / illustration image based on the state of the color change. Furthermore, it is possible to easily extract the contour of the grayscale image and the contour of each color region included in the character / illustration image.
- FIG. 3 is a diagram showing a specific example of image classification.
- FIG. 3A shows a specific example of the input image.
- the input image shown in FIG. 3A includes three regions S1, S2, and S3.
- the region S1 includes the character P1, and the background has a single color (for example, white).
- the region S2 includes a colored gray image (a portion corresponding to the gray image is hatched).
- the region S3 includes an illustration P2 and a character P3, and the background has a single color (for example, white).
- the labeling processing unit 20 performs labeling other than “1” for each of the characters P1, P3, the illustration P2 and the background in the regions S1, S3, and is included in the region S2.
- a label “1” is attached to the grayscale image.
- the character / illustration image separating unit 40 separates the regions S1 and S3 as character / illustration images based on the contents of the labels attached by the labeling processing unit 20 (FIG. 3B). Further, the gray image separation unit 42 separates the region S2 as a gray image based on the contents of the label attached by the labeling processing unit 20 (FIG. 3C).
- each pixel is represented by RGB data.
- each pixel is represented by one type of multi-value data (for example, multi-value data indicating black and white shading). It may be the case.
- FIG. 4 is a diagram showing a specific configuration of the grayscale image processing unit 62.
- the grayscale image processing unit 62 includes an image data input unit 112, an AD (analog-digital) function value storage unit 120, a corresponding point multiplication unit 130, an addition unit 140, an operation result storage unit 150, a display process.
- the unit 160 is configured to be included.
- each pixel constituting the grayscale image stored in the grayscale image storage unit 52 is “intermediate pixel” and the pixel value of the intermediate pixel is “intermediate pixel value”.
- the AD function value storage unit 120 stores a plurality of values (AD function values) indicating the waveform of an AD function (conversion function) defined by two variables, and outputs the plurality of AD function values in parallel.
- FIG. 5 is a diagram illustrating a specific example of the AD function value storage unit 120.
- a two-variable AD function ⁇ (x, y) represented by the following equation (1) is used.
- this AD function is not for converting an analog signal into digital data, but for performing a predetermined calculation using a pixel value represented by the digital data. You may make it call a "conversion function.”
- ⁇ (t) 0 (t ⁇ -2) -0.25t 2 -t-1 (-2 ⁇ t ⁇ -1.5) 0.75t 2 + 2t + 1.25 ( ⁇ 1.5 ⁇ t ⁇ ⁇ 1) 1.25t 2 + 3t + 1.75 (-1 ⁇ t ⁇ ⁇ 0.5) ⁇ 1.75t 2 +1 ( ⁇ 0.5 ⁇ t ⁇ 0.5) 1.25t 2 -3t + 1.75 (0.5 ⁇ t ⁇ 1) 0.75t 2 -2t + 1.25 (1.0 ⁇ t ⁇ 1.5) -0.25t 2 + t-1 (1.5 ⁇ t ⁇ 2) 0 (2 ⁇ t)
- the pixel position to be calculated is specified by t.
- This function ⁇ (t) is a finite function focusing on differentiability.
- the function ⁇ (t) can be differentiated only once in the entire area, and t along the horizontal axis is between ⁇ 2 and +2.
- a function of a finite platform having a finite value other than 0 at a position other than t 0, ⁇ 1, ⁇ 2.
- the function value is always 0.
- the corresponding point multiplication unit 130 includes a plurality of multipliers (289 multipliers in the case of the AD function value storage unit 120 having 289 storage units illustrated in FIG. 5), and the AD function value.
- Each of the plurality of AD function values output in parallel from each storage unit of the storage unit 120 and each of the 289 intermediate pixel values output from the image data input unit 112 are associated with each other in a one-to-one correspondence. Multiply things to do.
- the corresponding point multiplication unit 130 outputs 289 multiplication results in parallel.
- the addition unit 140 adds the 289 multiplication results output from the corresponding point multiplication unit 130 and outputs one addition result.
- the inner product operation of the plurality of input intermediate pixel values and the plurality of AD function values is performed by the product-sum operation by the corresponding point multiplication unit 130 and the addition unit 140, and the pixel value as the operation result (addition result) is added to the addition unit 140. Is output from.
- the calculation result storage unit 150 stores the calculation result output from the addition unit 140.
- the display processing unit 160 reads out the interpolation value stored in the calculation result storage unit 150 and displays it on the display unit 62.
- the image data input unit 112 described above corresponds to the intermediate pixel value acquisition unit
- the AD function value storage unit 120 corresponds to the function value storage unit
- the corresponding point multiplication unit 130 corresponds to the corresponding point multiplication unit
- the addition unit 140 corresponds to the addition unit.
- the operation by the image data input unit 112 is the operation of the intermediate pixel value output step
- the operation of outputting the intermediate pixel value from the AD function value storage unit 120 is the operation of the function value output step
- the operation of the corresponding point multiplication unit 130 is
- the operation by the addition unit 140 corresponds to the operation of the addition step, corresponding to the operation of the corresponding point multiplication step.
- the grayscale image processing unit 62 of the present embodiment has such a configuration. Next, pixel value generation processing performed by the grayscale image processing unit 62 will be described.
- FIG. 6 is a diagram showing a relationship between a plurality of intermediate pixels corresponding to the original image and pixels whose pixel values are calculated based on these intermediate pixels.
- black circles ( ⁇ ) indicate intermediate pixels
- white circles ( ⁇ ) indicate pixels P whose pixel values are calculated based on the intermediate pixel values.
- the image data input unit 112 outputs a plurality of intermediate pixel values corresponding to the plurality of intermediate pixels included in the region S of FIG.
- the AD function value storage unit 120 reads and outputs a plurality of AD function values stored in each of the plurality of storage units illustrated in FIG.
- the arrangement of the intermediate pixels shown in FIG. 6 and the arrangement of each storage unit of the AD function value storage unit 120 shown in FIG. 5 correspond one-to-one, and each multiplier included in the corresponding point multiplication unit 130 is Multiply the corresponding intermediate pixel value by the AD function value.
- a plurality of multiplication results calculated in this way are added by the adding unit 140, and the pixel value of the pixel indicated by P in FIG. 6 is obtained.
- FIGS. 7 and 8 are explanatory diagrams showing the range of intermediate pixels used for generating pixel values.
- a plurality of intermediate pixel ranges S1, S2, S3,... Used for pixel value generation are set so as not to overlap each other.
- a plurality of intermediate pixel ranges S1, S2, S3,... Used for pixel value generation are set to overlap each other.
- the generation of the pixel value of the image after compression (reduction) corresponding to the grayscale image is the product of a plurality of intermediate pixel values and a plurality of function values of the AD function. Performed by sum operation (inner product operation).
- AD function represented by the expression (1) is used, but another AD function may be used.
- the present invention can be applied to any AD function as long as each function value can be stored along the horizontal direction and the vertical direction.
- this overlapping range may be varied.
- FIG. 9 is a diagram illustrating another specific configuration of the grayscale image processing unit 62.
- the grayscale image processing unit 62 includes an image data input unit 210, a sampling function value storage unit 220, a multiplication unit 230, corresponding point addition units 240 and 270, a horizontal intermediate value creation unit 250, and an operation result storage. Sections 260 and 290, a vertical intermediate value creation section 280, an interpolation value output section 300, an enlarged image data storage section 302, and a display processing section 304.
- the grayscale image processing unit 62 of the present embodiment performs an operation of enlarging the original image (the grayscale image stored in the grayscale image storage unit 52) four times (or changing the resolution to four times). I do.
- the image data input unit 210 is for capturing image data corresponding to a grayscale image having a predetermined resolution stored in the grayscale image storage unit 52.
- This image data is composed of pixel values of a plurality of pixels arranged at equal intervals along the horizontal direction (X direction) and the vertical direction (Y direction).
- the image data input unit 210 sequentially outputs each pixel value included in the captured image data one by one along the horizontal direction. For example, for the captured image data, the image data input unit 210 outputs a pixel value of each pixel by focusing on a predetermined pixel column along the horizontal direction, and then sets the target pixel column in the vertical direction. The same operation is repeated while staggering.
- the sampling function value storage unit 220 stores a plurality of values (sampling function values) indicating the waveform of the sampling function defined by two variables, and outputs the plurality of sampling function values in parallel.
- FIG. 10 is a diagram illustrating a specific example of the sampling function value storage unit 220.
- a two-variable sampling function ⁇ (x, y) represented by the following equation (2) is used.
- This function ⁇ (t) is a finite function focusing on differentiability.
- the function ⁇ (t) can be differentiated only once in the entire region, and the sample position t along the horizontal axis is between ⁇ 2 and +2.
- it is a function of a finite stage having a finite value other than 0 at a position other than the sample position.
- the function value is always 0.
- an interpolation position is set by dividing an interval between two adjacent sample positions (pixel positions of the original image) in each of the horizontal direction and the vertical direction, and a sampling function corresponding to each interpolation position is set.
- the value is stored in the sampling function value storage unit 220.
- 16 ( 4 ⁇ 4) sampling function values corresponding to a rectangular area defined by two adjacent sample positions along the horizontal and vertical directions, the entire range (horizontal and vertical)
- a total of 256 (16 ⁇ 16) sampling function values corresponding to each of the directions are stored in 256 storage units in the sampling function value storage unit 20. It is remembered.
- the multiplier 230 includes a plurality of multipliers (256 multipliers in the case of the sampling function value storage unit 220 having 256 storage units shown in FIG. 10), and the sampling function values. Each of the plurality of sampling function values output from the storage unit 220 is multiplied by the pixel value output from the image data input unit 210. Thereby, the multiplication unit 230 outputs 256 multiplication results in parallel.
- the corresponding point adding unit 240 adds the corresponding values of the 256 multiplication results output from the multiplying unit 230 and the 256 intermediate values output from the horizontal intermediate value creating unit 250, and adds 256 values. Output the results in parallel.
- the corresponding point addition unit 240 includes 256 adders, and each adder outputs one multiplication result output from the multiplication unit 230 and the horizontal intermediate value creation unit 250. Add one intermediate value.
- the horizontal intermediate value creation unit 250 has 256 storage units for creating and holding 256 intermediate values, and outputs the intermediate values stored in these 256 storage units in parallel.
- the calculation result storage unit 260 temporarily stores the 256 addition results output from the corresponding point addition unit 240. Among these, 64 addition results are output toward the corresponding point addition unit 270. Further, the remaining 192 addition results are read out by the horizontal intermediate value creating unit 250. Specifically, as illustrated in FIG. 11, the calculation result storage unit 260 includes 256 storage units, and the 256 addition results output from the corresponding point addition unit 240 are stored in the respective storage units. Store.
- 256 storage units of the sampling function value storage unit 220, 256 storage units of the horizontal intermediate value generation unit 250, and 256 storage units of the operation result storage unit 260 are solid lines. Or it is shown by 256 squares partitioned by a dotted horizontal line and a vertical line, and the same arrangement order corresponds to each other.
- the horizontal intermediate value creation unit 250 reads 192 computation results from the computation result storage unit 260, but creates intermediate values by storing them in 192 storage units shifted by 64. ing.
- Corresponding point addition section 270 calculates the 64 calculation results stored in calculation result storage section 260 (addition results by corresponding point addition section 240) and the 64 intermediate values output from vertical intermediate value creation section 280. , Corresponding ones are added together, and 64 addition results are output in parallel.
- the corresponding point addition unit 270 includes 64 adders, and each adder outputs one calculation result output from the calculation result storage unit 260 and the vertical intermediate value generation unit 80. One intermediate value to be added is added.
- the vertical intermediate value creation unit 280 has 64 storage units for creating and holding 64 intermediate values, and outputs the intermediate values stored in these 64 storage units in parallel.
- the calculation result storage unit 290 temporarily stores the 64 addition results output from the corresponding point addition unit 270. Among these, 16 addition results are output to the interpolation value output unit 300 as interpolation values. Further, the remaining 48 addition results are read out by the vertical intermediate value creating unit 280.
- the calculation result storage unit 290 has a number of storage units corresponding to the number of pixels arranged in the horizontal direction, and is output from the corresponding point addition unit 270 each time a pixel value is output from the image data input unit 210.
- the storage positions of the 64 addition results are changed, and the addition results are not overwritten until the vertical positions of the pixels are updated.
- the vertical intermediate value creating unit 280 When the output of the pixel value along the horizontal direction is completed and the output of the pixel value along the next horizontal direction is performed, the vertical intermediate value creating unit 280 has the same position in the vertical direction as this pixel value.
- the 48 addition results among the 64 addition results corresponding to the pixel value one horizontal line before are read out and stored in 48 storage units shifted by 16 to create intermediate values. Yes. Further, the remaining 16 addition results that are not read by the vertical intermediate value creation unit 280 are output to the interpolation value output unit 300 as interpolation values as described above.
- the interpolation value output unit 300 stores the 64 interpolation values output from the calculation result storage unit 290 in the enlarged image data storage unit 302.
- the display processing unit 304 reads out the interpolation value (the pixel value of the image after enlargement) stored in the enlarged image data storage unit 302 and displays it on the display unit 306.
- the sampling function value storage unit 220 described above is the sampling function value storage unit
- the image data input unit 210 is the image data input unit
- the multiplication unit 230 is the multiplication unit
- the corresponding point addition unit 240 is the first corresponding point addition.
- the horizontal intermediate value generator 250 is the first intermediate value generator
- the operation result storage unit 260 is the first operation result storage unit
- the vertical intermediate value generator 280 is the second intermediate value generator
- the corresponding point addition unit 270 corresponds to the second corresponding point addition unit
- the calculation result storage unit 290 corresponds to the second calculation result storage unit
- the interpolation value output unit 300 corresponds to the interpolation value output unit.
- the above-described operation by the image data input unit 210 is the operation of the image data input step
- the operation of the multiplication unit 230 is the operation of the multiplication step
- the operation of the corresponding point addition unit 240 is the operation of the first corresponding point addition step.
- the operation by the horizontal intermediate value creation unit 250 is the operation of the first intermediate value creation step
- the storage operation to the computation result storage unit 260 is the operation of the first computation result storage step
- the operation by the vertical intermediate value creation unit 280 is.
- the operation by the corresponding point addition unit 270 is the operation of the second corresponding point addition step
- the storage operation to the calculation result storage unit 290 is the operation of the second calculation result storage step
- the operation by the interpolation value output unit 300 corresponds to the operation of the interpolation value output step.
- the grayscale image processing unit 62 of the present embodiment has such a configuration. Next, an image enlargement process (interpolation process) performed by the grayscale image processing unit 62 will be described.
- FIG. 13 is a diagram showing the relationship between the original image and each pixel included in the enlarged image.
- white circles ( ⁇ ) indicate the pixels of the original image
- black circles ( ⁇ ) indicate the interpolation pixels after the enlargement process.
- the image data input unit 210 outputs the pixel values of the pixels arranged in the horizontal direction in the order of the pixels p1, p2, p3, and p4, and after the pixel value of the final pixel of the horizontal line is output, Similar pixel value output is performed along a horizontal line including the pixels p5, p6, p7, and p8. Thereafter, similarly, pixel value output along each horizontal line is sequentially performed.
- the two-variable sampling function whose function value is stored in the sampling function value storage unit 220 shown in FIG. 10 has a spread of ⁇ 2 pixels along each of the horizontal and vertical directions. Therefore, the pixel values of the 16 interpolation pixels ( ⁇ ) included in the region partitioned by the pixels p6, p7, p10, and p11 are obtained by using the pixel values of the 16 pixels p1 to p16 included in the original image. It can be calculated.
- Step S1 First, consider a case where the pixel value of the pixel p1 is output from the image data input unit 210.
- the multiplication unit 230 multiplies each of the 256 function values stored in the sampling function value storage unit 220 and the input pixel value, and outputs 256 multiplication results in parallel.
- the corresponding point addition unit 240 adds each of the 256 multiplication results and each of the 256 intermediate values output from the horizontal intermediate value creation unit 250 (adds one-to-one correspondences). .
- the code A FIG. 11
- the corresponding point adding unit 240 stores the 64 stored in the 64 storage units denoted by reference symbol A (FIG. 10) in the sampling function value storage unit 220.
- These addition results are stored in the area to which the code A (FIG. 11) is attached in the calculation result storage unit 260.
- Step S2 Next, consider a case where the pixel value of the pixel p2 is output from the image data input unit 210.
- the multiplication unit 230 multiplies each of the 256 function values stored in the sampling function value storage unit 220 and the input pixel value, and outputs 256 multiplication results in parallel.
- the corresponding point addition unit 240 adds each of the 256 multiplication results and each of the 256 intermediate values output from the horizontal intermediate value creation unit 250 (adds one-to-one correspondences). .
- 64 intermediate values to which the code B (FIG. 11) is added among the 256 intermediate values generated by the horizontal intermediate value generating unit 250 these 64 intermediate values are obtained in step S1.
- the corresponding point addition unit 240 has the 64 points to which the sampling function value storage unit 220 is assigned the symbol B (FIG. 10).
- a multiplication result obtained by multiplying each of the 64 function values stored in the storage unit and the pixel value of the pixel p2 (this multiplication result is expressed as “p2 ⁇ B”), and a horizontal intermediate value creation unit 250.
- the result of adding the 64 intermediate values (p1 ⁇ A) to which the symbol B is attached is output.
- These addition results are stored in an area to which the symbol B (FIG. 11) is attached in the calculation result storage unit 260.
- Step S3 Next, consider a case where the pixel value of the pixel p3 is output from the image data input unit 210.
- the multiplication unit 230 multiplies each of the 256 function values stored in the sampling function value storage unit 220 and the input pixel value, and outputs 256 multiplication results in parallel.
- the corresponding point addition unit 240 adds each of the 256 multiplication results and each of the 256 intermediate values output from the horizontal intermediate value creation unit 250 (adds one-to-one correspondences). .
- 64 intermediate values to which the code C (FIG. 11) is added among the 256 intermediate values generated by the horizontal intermediate value generating unit 250 these 64 intermediate values are obtained in step S2.
- the corresponding point addition unit 240 has the 64 pieces of the sampling function value storage unit 220 to which the symbol C (FIG. 10) is attached.
- a multiplication result obtained by multiplying each of the 64 function values stored in the storage unit and the pixel value of the pixel p3 (this multiplication result is expressed as “p3 ⁇ C”), and a horizontal intermediate value creation unit 250.
- a result obtained by adding 64 intermediate values (p1 ⁇ A + p2 ⁇ B) to which the symbol C is attached is output.
- Step S4 Next, consider a case where the pixel value of the pixel p4 is output from the image data input unit 210.
- the multiplication unit 230 multiplies each of the 256 function values stored in the sampling function value storage unit 220 and the input pixel value, and outputs 256 multiplication results in parallel.
- the corresponding point addition unit 240 adds each of the 256 multiplication results and each of the 256 intermediate values output from the horizontal intermediate value creation unit 250 (adds one-to-one correspondences). .
- 64 intermediate values to which the code D (FIG. 11) is added among the 256 intermediate values generated by the horizontal intermediate value generating unit 250 these 64 intermediate values are obtained in step S3.
- the corresponding point addition unit 240 has 64 pieces of the sampling function value storage unit 220 to which the symbol D (FIG. 10) is attached.
- a multiplication result obtained by multiplying each of the 64 function values stored in the storage unit and the pixel value of the pixel p4 (this multiplication result is expressed as “p4 ⁇ D”), and a horizontal intermediate value creation unit 250.
- a result obtained by adding 64 intermediate values (p1 ⁇ A + p2 ⁇ B + p3 ⁇ C) to which the symbol D is attached is output. These addition results are stored in an area to which the reference symbol D (FIG. 11) is attached in the calculation result storage unit 260.
- Step T1 the 64 calculation results stored in the area to which the code D of the calculation result storage unit 260 is attached are read by the corresponding point addition unit 270.
- the corresponding point adding unit 270 adds each of the 64 calculation results read out and each of the 64 intermediate values output from the vertical intermediate value creating unit 280 (adds one-to-one correspondences). To do.
- the 16 intermediate values are associated with the 16 intermediate values.
- the corresponding point addition unit 270 outputs the result of adding the 16 calculation results to which the code D and the code a (FIG.
- the 16 calculation results to which the code D and the code a (FIG. 12) of the calculation result storage unit 260 are attached are among the 64 calculation results indicated by p1 ⁇ A + p2 ⁇ B + p3 ⁇ C + p4 ⁇ D. 10 corresponds to the function value included in the area indicated by the symbol a (this multiplication result is represented as “(p1 ⁇ p4) ⁇ a”).
- Step T2 The pixel value of the pixel p8 included in the next horizontal line is output from the image data input unit 210, and the same processing is performed. Then, the 64 calculation results stored in the area to which the code D of the calculation result storage unit 260 is attached are read by the corresponding point addition unit 270. The corresponding point adding unit 270 adds each of the 64 calculation results read out and each of the 64 intermediate values output from the vertical intermediate value creating unit 280 (adds one-to-one correspondences). To do.
- the 16 intermediate values to which the symbol b (FIG. 12) is attached among the 64 intermediate values generated by the vertical intermediate value generating unit 280 these 16 intermediate values are determined in step T1.
- the 16 calculation results to which the code D and the code b (FIG. 12) of the calculation result storage unit 260 are attached are among the 64 calculation results indicated by p5 ⁇ A + p6 ⁇ B + p7 ⁇ C + p8 ⁇ D. In FIG. 10, it corresponds to the function value included in the area indicated by symbol b (this multiplication result is expressed as “(p5 ⁇ p8) ⁇ b”).
- Step T3 The pixel value of the pixel p12 included in the next horizontal line is output from the image data input unit 210, and the same processing is performed. Then, the 64 calculation results stored in the area to which the code D of the calculation result storage unit 260 is attached are read by the corresponding point addition unit 270. The corresponding point adding unit 270 adds each of the 64 calculation results read out and each of the 64 intermediate values output from the vertical intermediate value creating unit 280 (adds one-to-one correspondences). To do. Here, when attention is paid to the 16 intermediate values to which the code c (FIG. 12) is added among the 64 intermediate values generated by the vertical intermediate value generating unit 280, these 16 intermediate values are determined in step T2.
- the 16 calculation results to which the code D and the code c (FIG. 12) of the calculation result storage unit 260 are attached are among the 64 calculation results indicated by p9 ⁇ A + p10 ⁇ B + p11 ⁇ C + p12 ⁇ D.
- FIG. 10 corresponds to the function value included in the area indicated by symbol c (the multiplication result is expressed as “(p9 ⁇ p12) ⁇ c”).
- Step T4 The pixel value of the pixel p16 included in the next horizontal line is output from the image data input unit 210, and the same processing is performed. Then, the 64 calculation results stored in the area to which the code D of the calculation result storage unit 260 is attached are read by the corresponding point addition unit 270. The corresponding point adding unit 270 adds each of the 64 calculation results read out and each of the 64 intermediate values output from the vertical intermediate value creating unit 280 (adds one-to-one correspondences). To do. Here, when attention is paid to the 16 intermediate values to which the code d (FIG. 12) is added among the 64 intermediate values generated by the vertical intermediate value generating unit 280, these 16 intermediate values are determined in step T3.
- FIG. 10 corresponds to the function value included in the area indicated by the symbol d (the multiplication result is represented as “(p13 ⁇ p16) ⁇ d”). That is, in the region to which the code p and the code d (FIG. 12) of the calculation result storage unit 290 are attached, (p1-p4) ⁇ a + (p5-p8) ⁇ b + (p9 ⁇ p12) ⁇ c + (p13 ⁇ p16 ) Xd is stored.
- the density processing unit 62 of the present embodiment performs adjacent multiplication along each of two variables by performing multiplication and various additions with pixel values in parallel for a plurality of function values corresponding to the sampling function.
- a plurality of interpolation values between the four sample positions (pixel positions) can be generated simultaneously, and the calculation time of the interpolation values can be shortened.
- sampling function represented by the expression (2) is used.
- other sampling functions may be used.
- the present invention can be applied to any sampling function as long as each function value can be stored along the horizontal direction and the vertical direction.
- the present invention by separating a plurality of images based on pixel values, it is possible to classify images according to the characteristics (contents) of the images.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
画像の特徴に合わせて画像の分類を行うことができる画像処理装置、方法およびプログラムを提供することを目的とする。画像処理装置は、複数の画素からなる画像の入力を行う画像入力部10と、画像入力部10によって入力された画像を構成する複数の画素のそれぞれの画素値に基づいて、これら複数の画素のそれぞれについてラベル付けを行うラベル付け処理部20と、ラベル付け処理部20によって付与されたラベルの内容に基づいて、複数の画素の一部によって構成される複数の部分画像を分類し、これら複数の部分画像を分離する文字・イラスト画像分離部40および濃淡画像分離部42とを備えている。
Description
本発明は、画像の分類、補間処理による拡大や解像度変換、複数の画素値からなる画像データの作成を行う画像処理装置および方法に関する。
従来から、画像に含まれるエッジ部を2回微分係数に基づいて抽出し、抽出したエッジ部で囲まれた領域毎に画像を分類するようにした画像処理装置が知られている(例えば、特許文献1参照。)。
ところで、特許文献1に開示された従来手法では、エッジ部によって区画される画像毎に分類を行うものであり、書類等に異なる特徴の画像が混在するような場合であっても、画像の特徴に合わせた画像の分類を行うことができないという問題があった。このため、例えば、文字、イラスト、濃淡画像(例えば、写真)などの特徴が異なる画像毎に圧縮方法を異ならせようとすると、圧縮処理の前に画像の特徴を判定する処理が必要になり、処理が煩雑になる。
本発明は、このような点に鑑みて創作されたものであり、その目的は、画像の特徴に合わせて画像の分類を行うことができる画像処理装置、方法およびプログラムを提供することにある。
上述した課題を解決するために、本発明の画像処理装置は、複数の画素からなる画像の入力を行う画像入力手段と、画像入力手段によって入力された画像を構成する複数の画素のそれぞれの画素値に基づいて、これら複数の画素のそれぞれについてラベル付けを行うラベル付け処理手段と、ラベル付け処理手段によって付与されたラベルの内容に基づいて、複数の画素の一部によって構成される複数の部分画像を分類し、これら複数の部分画像を分離する画像分離手段とを備えている。
また、本発明の画像処理方法は、画像入力手段、ラベル付け処理手段、画像分離手段を備える画像処理装置における画像処理方法であって、複数の画素からなる画像の入力を画像入力手段を用いて行う画像入力ステップと、画像入力手段によって入力された画像を構成する複数の画素のそれぞれの画素値に基づいて、これら複数の画素のそれぞれについてラベル付けをラベル付け処理手段を用いて行うラベル付け処理ステップと、ラベル付け処理手段によって付与されたラベルの内容に基づいて、複数の画素の一部によって構成される複数の部分画像を分類し、これら複数の部分画像を分離する処理を画像分離手段を用いて行う画像分離ステップとを有している。
画素値に基づいて複数の画像を分離することにより、画像の特徴(内容)に合わせて画像を分類することが可能となる。
また、上述したラベル付け処理手段は、ラベル付け対象となる画素の色が、ラベル付けが終了した周辺画素と同じである場合に、ラベル付け対象となる画素に対してこの周辺画素に付されたラベルと同じラベルを付け、このような周辺画素が存在しない場合には新たなラベルを付けることが望ましい。特に、上述したラベル付け処理手段は、ラベル付け対象となる画素の色が周辺画素の色と同じであるか否かの判定を、これらの画素の画素値の差と第1の閾値とを比較することにより行い、画素値の差が第1の閾値以下であるときにこれらの画素が同じ色であると判断することが望ましい。これにより、各画素の色を基準にした画像の特徴を把握することが可能になる。
また、上述したラベル付け処理手段は、同一ラベルが付された領域に含まれる画素数が第2の閾値よりも少ない領域について、この領域に含まれる各画素のラベルを新たなラベルに付け替えることが望ましい。これにより、色の変化が激しい領域とそうでない領域とを区別することが可能になる。
また、上述した画像分離手段は、新たなラベルに付け替えられた領域を濃淡画像とし、その他のラベルが付された領域を文字・イラスト画像として分離することが望ましい。これにより、色の変化の状態に基づいて濃淡画像と文字・イラスト画像とを分離することが可能となる。
また、上述した濃淡画像に対応する領域の端部を輪郭線として抽出する画像処理手段をさらに備えることが望ましい。これにより、濃淡画像の輪郭を容易に抽出することができる。
また、上述した文字・イラスト画像について、同一ラベルが付された領域の端部を輪郭線として抽出する画像処理手段をさらに備えることが望ましい。これにより、文字・イラスト画像に含まれる各色毎の領域の輪郭を容易に抽出することができる。
また、画像を構成する所定解像度の画素の画素値を中間画素値として取得し、画像の所定範囲に含まれる複数の中間画素値を出力する中間画素値取得手段と、所定範囲に対応する複数の関数値を有する変換関数について、複数の関数値を記憶する関数値記憶手段と、中間画素値取得手段から出力される複数の中間画素値のそれぞれと、関数値記憶手段に格納された複数の関数値のそれぞれとを、1対1に対応させて対応するもの同士を乗算して複数の乗算結果を出力する対応点乗算手段と、対応点乗算手段から出力される複数の乗算結果を加算する加算手段とをさらに備えることが望ましい。この場合に、画像分離手段によって分離した複数の部分画像の中の少なくとも一部の部分画像は、中間画素値を有する複数の画素によって構成され、この一部の部分画像を対象に中間画素値取得手段による複数の中間画素値の出力が行われる。また、加算手段から出力される加算結果を複数の中間画素値に対応する1つの画素値とする。
これにより、画像に対応する画素値の生成が、より高解像度の複数の中間画素値と変換関数の複数の関数値との積和演算(内積演算)によって行われるため、一部の中間画素の画素値にノイズが含まれていた場合であっても、画像データ生成時の画素値に対するノイズの影響を低減することができる。
また、上述した加算手段から出力される加算結果を用いた画素値の生成は、中間画素値取得手段から出力される複数の中間画素値に対応する所定範囲をずらしながら繰り返し行われ、複数の画素値のそれぞれに対応する所定範囲は、一部が重複していることが望ましい。特に、上述した所定範囲を重複させる範囲を可変することが望ましい。あるいは、上述した加算手段から出力される加算結果を用いた画素値の生成は、中間画素値取得手段から出力される複数の中間画素値に対応する所定範囲をずらしながら繰り返し行われ、複数の画素値のそれぞれに対応する所定範囲は重複しないようにしてもよい。
このように、画素値を生成するために用いられる複数の中間画素値の範囲は、重複させる場合や重複させない場合が考えられるが、重複させる場合に重複の程度(範囲)を可変することにより、中間画素の解像度を変えることなく生成画素の画素数(解像度)を変化させることが可能になる。
また、所定範囲において2変数によって標本位置および補間位置が特定される標本化関数について、複数の標本位置およびこれらの標本位置間を分割した位置のそれぞれに対応する複数の関数値を記憶する標本化関数値記憶手段と、2変数によって位置が特定される画素の画素値を含む画像データを取り込んで、2変数のいずれか一方に沿って順番に画素値を出力する画像データ入力手段と、標本化関数値記憶手段に格納された複数の関数値のそれぞれと、画像データ入力手段から出力される画素値とを乗算することにより、複数の関数値のそれぞれに対応する複数の乗算結果を出力する乗算手段と、乗算手段から出力される複数の乗算結果のそれぞれに対応する複数の中間値を作成して出力する第1の中間値作成手段と、乗算手段から出力される複数の乗算結果と、第1の中間値作成手段から出力される複数の中間値とを、1対1に対応させて対応するもの同士を加算して複数の加算結果を出力する第1の対応点加算手段と、第1の対応点加算手段から出力される複数の加算結果を記憶する第1の演算結果記憶手段と、第1の演算結果記憶手段に記憶された複数の加算結果のそれぞれに対応する複数の中間値を作成して出力する第2の中間値作成手段と、第1の演算結果記憶手段に記憶された複数の加算結果と、第2の中間値作成手段から出力される複数の中間値とを、1対1に対応させて対応するもの同士を加算して複数の加算結果を出力する第2の対応点加算手段と、第2の対応点加算手段から出力される複数の加算結果を記憶する第2の演算結果記憶手段とをさらに備えることが望ましい。この場合に、画像分離手段によって分離した複数の部分画像の中の少なくとも一部の部分画像は、中間画素値を有する複数の画素によって構成されており、この一部の部分画像を対象に画像データ入力手段による画素値の出力が行われる。また、第1の中間値作成手段は、画像データ入力手段から出力される画素値が切り替わる毎に、第1の演算結果記憶手段に記憶された複数の加算結果を、2変数の一方に沿って標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成する。また、第2の中間値作成手段は、画像データ入力手段から出力される画素値が切り替わる毎に、第2の演算結果記憶手段に記憶された複数の加算結果を、2変数の他方に沿って標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成する。
これにより、標本化関数に対応する複数の関数値について並行して画素値との乗算や各種の加算を行うことにより、2変数のそれぞれに沿って隣接する4つの標本位置(画素位置)の間の複数の補間値を同時に生成することができ、補間値の演算時間を短縮することができる。
また、上述した第1の中間値作成手段は、2変数の一方に沿って標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成する際に、第1の演算結果記憶手段に、対応する加算結果が記憶されていない場合には0を内容とする中間値を作成することが望ましい。
また、上述した第2の中間値作成手段は、2変数の他方に沿って標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成する際に、第2の演算結果記憶手段に、対応する加算結果が記憶されていない場合には0を内容とする中間値を作成することが望ましい。
また、上述した第1の演算結果記憶手段に記憶されている複数の加算結果の中で、第1の対応点加算手段による加算回数が最も多い加算結果が第2の対応点加算手段による加算演算に用いられることが望ましい。
また、上述した第2の演算結果記憶手段に記憶されている複数の加算結果の中で、第2の対応点加算手段による加算回数が最も多い加算結果を取り出して出力する補間値出力手段をさらに備えることが望ましい。
また、上述した標本化関数は、所定範囲に含まれる複数の標本位置のそれぞれに対応する関数値が0で、それ以外の位置の少なくとも一部に対応する関数値が0以外の有限の値を有することが望ましい。
また、上述した標本化関数は、前記所定範囲以外で関数値が0であることが望ましい。また、上述した標本化関数は、2変数のそれぞれに沿って所定範囲を2以上に分割した各分割区間がn次多項式で表現される区分的多項式関数であることが望ましい。
以下、本発明を適用した一実施形態の画像処理装置について、図面に基づいて詳細に説明する。
(画像処理装置の全体構成)
図1は、一実施形態の画像処理装置の構成を示す図である。図1に示すように、本実施形態の画像処理装置は、画像入力部10、入力画像格納部12、ラベル付け処理部20、条件設定部22、操作部24、ラベル格納部30、文字・イラスト画像分離部40、濃淡画像分離部42、文字・イラスト画像格納部50、濃淡画像格納部52、文字・イラスト画像処理部60、濃淡画像処理部62を含んで構成されている。
図1は、一実施形態の画像処理装置の構成を示す図である。図1に示すように、本実施形態の画像処理装置は、画像入力部10、入力画像格納部12、ラベル付け処理部20、条件設定部22、操作部24、ラベル格納部30、文字・イラスト画像分離部40、濃淡画像分離部42、文字・イラスト画像格納部50、濃淡画像格納部52、文字・イラスト画像処理部60、濃淡画像処理部62を含んで構成されている。
画像入力部10は、所定の解像度の画像データを取り込むためのものである。この画像データは、水平方向と垂直方向のそれぞれに沿って等間隔に配置された複数の画素からなる画像に対応するものである。また、各画素値が多値データ(例えばRGBのそれぞれに所定ビット数が対応したRGBデータ)で表されているものとする。
具体的には、紙原稿に描かれた画像を所定の解像度で光学的に読み取るスキャナを画像入力部10として用いることができる。あるいは、CDやDVD等の挿抜可能な記憶媒体に記録された画像データを取り込む場合には、これらの記憶媒体のドライブ装置(読み取り装置)を画像入力部10として用いることができる。半導体メモリやハードディスク装置に記録された画像データを取り込む場合には、これらを接続する入出力インタフェースを画像入力部10として用いることができる。また、インターネットやその他のネットワーク、あるいは電話回線等を介した通信によって画像データを取り込む場合には、回線の種類等に応じた通信装置を画像入力部10として用いることができる。また、放送による配信によって画像データを取り込む場合には、放送の形態に応じた受信装置を画像入力部10として用いることができる。入力画像格納部12は、画像入力部10によって取り込まれた画像データを格納する。
ラベル付け処理部20は、入力画像格納部12に格納された画像データを構成する各画素の画素値を読み出して、周囲の画素の画素値に基づいて、各画素に対するラベル付けを行う。条件設定部22は、ラベル付け処理部20によるラベル付け処理に必要な条件を設定する。例えば、この条件として、同一のラベルを付与するか否かの画素値の基準となる閾値(第1の閾値)や、文字・イラスト画像と濃淡画像の切り分けを行う面積の基準となる閾値(第2の閾値)などが、条件設定部22によって設定される。ラベルおよびラベル付けの具体例については後述する。操作部24は、条件設定部22による条件の設定に際して、利用者の指示入力を行うためのものである、例えば、閾値を入力するテンキーや閾値を選択するマウスなどが操作部24として用いられる。ラベル格納部30は、各画素毎に付されたラベルを格納する。
文字・イラスト画像分離部40は、入力画像格納部12に格納されている画像データの中から文字・イラスト画像に対応する部分を分離する。同様に、濃淡画像分離部42は、入力画像格納部12に格納されている画像データの中から濃淡画像に対応する部分を分離する。これらの文字・イラスト画像の分離や濃淡画像の分離は、ラベル格納部30に格納されているラベルに基づいて行われる。文字・イラスト画像分離部40によって分離された文字・イラスト画像に対応する画像データは文字・イラスト画像格納部50に格納される。また、濃淡画像分離部42によって分離された濃淡画像に対応する画像データは濃淡画像格納部52に格納される。
文字・イラスト画像処理部60は、文字・イラスト画像格納部50に格納された画像データを読み出して、輪郭線抽出を含む文字・イラスト画像に対する所定の処理を行う。濃淡画像処理部62は、濃淡画像格納部52に格納された画像データを読み出して、輪郭線抽出を含む濃淡画像に対する所定の処理を行う。なお、これらの画像処理の内容は、具体的な目的等によって適宜決定される。例えば、各画像を拡大して表示する場合には、画素数を増加させる補間処理が上記画像処理として行われる。また、通信回線を介して送信する場合には、その前処理として各画像の画像データを圧縮する処理が上記画像処理として行われる。
上述した画像入力部10が画像入力手段に、ラベル付け処理部20がラベル付け処理手段に、文字・イラスト画像分離部40、濃淡画像分離部42が画像分離手段に、文字・イラスト画像処理部60、濃淡画像処理部62が画像処理手段にそれぞれ対応する。また、画像入力部10による動作が画像入力ステップの動作に、ラベル付け処理部20による動作がラベル付け処理ステップの動作に、文字・イラスト画像分離部40、濃淡画像分離部42のそれぞれによる動作が画像分離ステップの動作に、文字・イラスト画像処理部60、濃淡画像処理部62のそれぞれによる動作が画像処理ステップの動作にそれぞれ対応する。
また、上述した画像処理装置は、CPU、ROM、RAM等を備えたコンピュータの構成によって実現することができる。この場合に、入力画像格納部12やラベル格納部30、文字・イラスト画像格納部50、濃淡画像格納部52はハードディスク装置や半導体メモリによって構成することが可能である。画像入力部10、ラベル付け処理部20、条件設定部22、文字・イラスト画像分離部40、濃淡画像分離部42、文字・イラスト画像処理部60、濃淡画像処理部62は、ROMやRAMあるいはハードディスク装置等に格納された所定の画像処理プログラムをCPUで実行することにより実現することができる。
本実施形態の画像処理装置はこのような構成を有しており、次にその動作を説明する。図2は、本実施形態の画像処理装置の動作手順を示す流れ図であり、文字・イラスト画像分離部40および濃淡画像分離部42による画像の分離処理までの動作手順が示されている。
最初に、分類条件の設定が行われる(ステップ100)。分類条件とは、入力画像に文字・イラスト画像と濃淡画像が含まれる場合に、これらを別々の画像として分類するための条件である。具体的には、上述したラベル付け処理部20によって行われるラベル付け処理に必要な条件(第1および第2の閾値)が条件設定部22によって設定される。利用者は、操作部24を用いて条件の内容を指示することができる。但し、一般的な画像に適した第1および第2の閾値(推奨値)が予め設定されており、これらの推奨値を変更しない場合には、利用者による指示は省略することができる。次に、画像入力部10を用いて分類対象の画像の入力が行われ、この画像に対応する所定解像度の画像データが入力画像格納部12に格納される(ステップ101)。
次に、ラベル付け処理部20は、入力画像格納部12に格納された分類対象の画像の画像データの中から、ラベル付け対象となる1画素の画像データ(画素値)を読み出し(ステップ102)、この画素の近傍に同じ色でラベル付きの画素があればこの近傍の画素と同じラベルを付ける処理を行い、なければ新しいラベルを付ける(ステップ103)。例えば、ラベル付け対象となる1画素を囲む8個の画素が近傍の画素となる。また、同じ色であるか否かは、ラベル付け対象の画素の画素値と近傍画素の画素値との差と、条件設定部22によって設定された第1の閾値とを比較することにより行われ、これらの画素値の差が第1の閾値以下であれば、同じ色であるとして、近傍画素に付されているラベルと同じラベルがラベル付け対象の画素に付される。一方、これらの画素値の差が第1の閾値よりも大きい場合には、異なる色であるとして、新しいラベル(今までのラベル付けで使用していないラベル)がラベル付け対象の画素に付される。また、ステップ103におけるラベル付け処理では、1よりも大きい整数がラベルとして用いられる。なお、画素値がRGBデータで表されている場合にはR、G、Bの各成分について、ラベル付け対象の画素の画素値と近傍画素の画素値との差が求められ、その中で最も差の値が大きい成分についてステップ103のラベル付け処理が行われる。
1画素についてラベル付けが終了すると、次にラベル付け処理部20は、未処理の(ラベル付けが行われていない)画素があるか否かを判定する(ステップ104)。未処理の画素がある場合には肯定判断が行われ、ステップ103に戻って、未処理の1画素に対応するラベル付けが行われる。
このようにして、例えば、最初の画素に対してラベル付けを行う場合には、1より大きい最小の整数である「2」がラベルとして付与される。次に、色が異なる画素に対してラベル付けを行う場合には、2より大きい最小の整数である「3」がラベルとして用いられる。以後、同様にして、色が異なる画素が現れる毎に、それまでに用いられていない最小の整数がラベルとして用いられる。
全ての画素についてラベル付けが終了するとステップ104の判定において否定判断が行われる。次に、ラベル付け処理部20は、同じラベル付けがなされた領域(部分画像)の画素数を計算し(ステップ105)、この画素数が条件設定部22によって設定された第2の閾値よりも少ないか否かを判定する(ステップ106)。少ない場合(領域の面積が小さい場合)には肯定判断が行われ、ラベル付け処理部20は、この領域に含まれる全ての画素に付されたラベルを新たなラベル「1」に変更する(ステップ107)。一方、多い場合(領域の面積が大きい場合)にはステップ106の判定において否定判断が行われる。この場合には、ステップ107のラベルの変更処理がスキップ(省略)される。
次に、ラベル付け処理部20は、未処理の領域(画素数の判定を行っていない領域)があるか否かを判定する(ステップ108)。未処理の領域がある場合には肯定判断が行われ、ステップ105に戻って、未処理の領域に対する画素数判定およびラベル「1」への変更等が行われる。未処理の領域がない場合にはステップ108の判定において否定判定が行われる。
次に、文字・イラスト画像分離部40および濃淡画像分離部42による文字・イラスト画像と濃淡画像の分類(分離)が行われる(ステップ109)。具体的には、文字・イラスト画像分離部40は、「1」以外のラベル(2以上のラベル)が付された領域を文字・イラスト画像として抽出する。また、濃淡画像分離部42は、ラベル「1」が付された領域を濃淡画像として抽出する。ラベル「1」が付された領域とは、同じ色に対応して同じラベルが付された領域の内、面積の小さな領域であり、濃淡画像のように色が徐々に変化するような場合にはこのようなラベル付けがなされる。本実施形態では、ラベル「1」が付された領域を濃淡画像として抽出している。
このようにして、ラベルの内容に基づいて文字・イラスト画像と濃淡画像の分離が行われる。文字・イラスト画像処理部60は、分離された文字・イラスト画像の輪郭線を抽出した後、抽出した輪郭線で区画される各領域に対する各種の画像処理を行う。輪郭線の抽出は、同じラベルが付された領域の端部に位置する画素を抽出して連結することにより行われる。具体的には、周囲の8画素について同じラベルが付されている場合には、その8画素の中心に位置する画素は輪郭線に含まれていないと判定される。反対に、周囲の8画素のラベルが全て同じでない場合(周囲に8画素が存在しない場合を含む)には、その8画素の中心に位置する画素は輪郭線に含まれていると判定される。文字・イラスト画像を構成する全ての画素について上記の判定を行うことにより、同一ラベルが付された各領域毎に輪郭線を構成する画素の抽出が行われる。
また、濃淡画像処理部62は、分離された濃淡画像の輪郭線を抽出した後、抽出された輪郭線で囲まれた領域(濃淡画像)に対する各種の画像処理を行う。輪郭線の抽出は、ラベル「1」が付された領域の端部に位置する画素を抽出して連結することにより行われる。具体的には、周囲の8画素について同じラベル「1」が付されている場合には、その8画素の中心に位置する画素は輪郭線に含まれていないと判定される。反対に、周囲の8画素のラベルが全て「1」でない場合(周囲に8画素が存在しない場合を含む)には、その8画素の中心に位置する画素は輪郭線に含まれていると判定される。濃淡画像を構成する全ての画素について上記の判定を行うことにより、ラベル「1」が付された領域(濃淡画像)について、輪郭線を構成する画素の抽出が行われる。
このように、本実施形態の画像処理装置では、画素値に基づいて複数の画像を分離することにより、画像の特徴(内容)に合わせて画像を分類することが可能となる。また、各画素の色を基準にして、画像の特徴を把握することが可能になる。特に、色の変化が激しい領域とそうでない領域とを区別し、色の変化の状態に基づいて濃淡画像と文字・イラスト画像とを分離することが可能となる。さらに、濃淡画像の輪郭や文字・イラスト画像に含まれる各色毎の領域の輪郭を容易に抽出することができる。
図3は、画像分類の具体例を示す図である。図3(A)には入力画像の具体例が示されている。図3(A)に示す入力画像には、3つの領域S1、S2、S3が含まれている。領域S1は、文字P1を含み、背景は単一色(例えば白)を有する。領域S2は、色付きの濃淡画像(濃淡画像に対応する部分にハッチングが付されている)を含んでいる。領域S3は、イラストP2と文字P3を含み、背景は単一色(例えば白)を有する。このような画像が入力されると、ラベル付け処理部20は、領域S1、S3内の文字P1、P3、イラストP2および背景のそれぞれについて「1」以外のラベル付けを行い、領域S2に含まれる濃淡画像についてラベル「1」を付ける。文字・イラスト画像分離部40は、ラベル付け処理部20によって付されたラベルの内容に基づいて、領域S1、S3を文字・イラスト画像として分離する(図3(B))。また、濃淡画像分離部42は、ラベル付け処理部20によって付されたラベルの内容に基づいて、領域S2を濃淡画像として分離する(図3(C))。
なお、上述した実施形態では、各画素がRGBデータで表されている場合を考えたが、各画素が1種類の多値データ(例えば、白黒の濃淡を示す多値データ)で表されている場合であってもよい。
(濃淡画像処理部62の動作の具体例1)
次に、濃淡画像処理部62の動作の具体例として、画像の圧縮(縮小)処理を行う場合について説明する。
次に、濃淡画像処理部62の動作の具体例として、画像の圧縮(縮小)処理を行う場合について説明する。
図4は、濃淡画像処理部62の具体的な構成を示す図である。図4に示すように、濃淡画像処理部62は、画像データ入力部112、AD(アナログ-デジタル)関数値記憶部120、対応点乗算部130、加算部140、演算結果記憶部150、表示処理部160を含んで構成されている。
以下では、濃淡画像格納部52に格納された濃淡画像を構成する各画素を「中間画素」、中間画素の画素値を「中間画素値」として説明を行うものとする。
画像データ入力部112は、濃淡画像格納部52に格納された濃淡画像の画像データに含まれる各中間画素値を複数個を単位に読み出して出力する。例えば、X方向およびY方向のそれぞれについて17画素、合計で289(=17×17)個の中間画素値を出力する。
AD関数値記憶部120は、2変数で定義されるAD関数(変換関数)の波形を示す複数の値(AD関数値)を記憶しており、これら複数のAD関数値を並行して出力する。図5は、AD関数値記憶部120の具体例を示す図である。本実施形態では、以下の(1)式で示される2変数のAD関数ψ(x,y)が用いられる。なお、実際には、このAD関数は、アナログ信号をデジタルデータに変換するためのものではなく、デジタルデータで表された画素値を用いて所定の演算を行うためのものであるため、単に「変換関数」と称するようにしてもよい。
ψ(x,y)=φ(x)φ(y) ・・・(1)
ここで、φは以下の式で表される。
ここで、φは以下の式で表される。
φ(t)=0 (t≦-2)
-0.25t2-t-1 (-2≦t≦-1.5)
0.75t2+2t+1.25 (-1.5≦t≦-1)
1.25t2+3t+1.75 (-1≦t≦-0.5)
-1.75t2+1 (-0.5≦t≦0.5)
1.25t2-3t+1.75 (0.5≦t≦1)
0.75t2-2t+1.25 (1.0≦t≦1.5)
-0.25t2+t-1 (1.5≦t≦2)
0 (2≦t)
tによって演算対象となる画素位置が特定される。この関数φ(t)は、微分可能性に着目した有限台の関数であり、例えば全域において1回だけ微分可能であって、横軸に沿ったtが-2から+2の間にあるときに、t=0,±1,±2以外の位置において関数値が0以外の有限な値を有する有限台の関数である。また、tが-2以下あるいは2以上のときは関数値が常に0となる。また、φ(t)は、t=0の位置でのみ1になり、t=±1,±2の位置において0になる。
-0.25t2-t-1 (-2≦t≦-1.5)
0.75t2+2t+1.25 (-1.5≦t≦-1)
1.25t2+3t+1.75 (-1≦t≦-0.5)
-1.75t2+1 (-0.5≦t≦0.5)
1.25t2-3t+1.75 (0.5≦t≦1)
0.75t2-2t+1.25 (1.0≦t≦1.5)
-0.25t2+t-1 (1.5≦t≦2)
0 (2≦t)
tによって演算対象となる画素位置が特定される。この関数φ(t)は、微分可能性に着目した有限台の関数であり、例えば全域において1回だけ微分可能であって、横軸に沿ったtが-2から+2の間にあるときに、t=0,±1,±2以外の位置において関数値が0以外の有限な値を有する有限台の関数である。また、tが-2以下あるいは2以上のときは関数値が常に0となる。また、φ(t)は、t=0の位置でのみ1になり、t=±1,±2の位置において0になる。
本実施形態では、t=0,±1,±2のそれぞれの間を水平方向および垂直方向のそれぞれについて4分割してAD関数値が求められており、これらのAD関数値がAD関数値記憶部120に記憶されている。具体的には、水平方向(X方向)に沿ってxが-2から+2までの範囲に17個、垂直方向(Y方向)に沿ってyが-2から+2の範囲に17個、これらの範囲に対応する四角形領域全体で289(=17×17)個のAD関数値が、AD関数値記憶部120内の289個の格納部に記憶されている。
対応点乗算部130は、複数の乗算器(図5に示す289個の格納部を有するAD関数値記憶部120の場合には289個の乗算器)を含んで構成されており、AD関数値記憶部120の各格納部から並行して出力される複数のAD関数値のそれぞれと、画像データ入力部112から出力される289個の中間画素値のそれぞれとを1対1に対応させ、対応するもの同士を乗算する。これにより、対応点乗算部130は、289個の乗算結果を並行して出力する。
加算部140は、対応点乗算部130から出力される289個の乗算結果を加算して1つの加算結果を出力する。対応点乗算部130と加算部140による積和演算により、入力される複数の中間画素値と複数のAD関数値の内積演算が行われ、演算結果(加算結果)としての画素値が加算部140から出力される。
演算結果記憶部150は、加算部140から出力される演算結果を格納する。表示処理部160は、演算結果記憶部150に格納された補間値を読み出して表示部62に表示する。
上述した画像データ入力部112が中間画素値取得手段に、AD関数値記憶部120が関数値記憶手段に、対応点乗算部130が対応点乗算手段に、加算部140が加算手段にそれぞれ対応する。また、画像データ入力部112による動作が中間画素値出力ステップの動作に、AD関数値記憶部120から中間画素値を出力する動作が関数値出力ステップの動作に、対応点乗算部130による動作が対応点乗算ステップの動作に、加算部140による動作が加算ステップの動作にそれぞれ対応する。
本実施形態の濃淡画像処理部62はこのような構成を有しており、次に、この濃淡画像処理部62によって行われる画素値の生成処理について説明する。
図6は、原画像に対応する複数の中間画素とこれらの中間画素に基づいて画素値が演算される画素との関係を示す図である。図6において、黒丸(●)は中間画素を、白丸(○)は中間画素値に基づいて画素値が演算される画素Pをそれぞれ示している。
画像データ入力部112は、図6の領域Sに含まれる複数の中間画素に対応する複数の中間画素値を出力する。また、AD関数値記憶部120は、図5に示す複数の格納部のそれぞれに格納された複数のAD関数値を読み出して出力する。図6に示した中間画素の配置と図5に示したAD関数値記憶部120の各格納部の配置は1対1に対応しており、対応点乗算部130に含まれる各乗算器は、対応する中間画素値とAD関数値を乗算する。このようにして演算された複数の乗算結果が加算部140によって加算され、図6のPで示される画素の画素値が得られる。
図7および図8は、画素値を生成するために用いられる中間画素の範囲を示す説明図である。図7に示す例では、画素値生成に用いられる複数の中間画素の範囲S1、S2、S3、・・・が互いに重複しないように設定されている。図8(A)、(B)、(C)に示す例では、画素値生成に用いられる複数の中間画素の範囲S1、S2、S3、・・・が互いに重複するように設定されている。
このように、本実施形態の濃淡画像処理部62では、濃淡画像に対応する圧縮(縮小)後の画像の画素値の生成が、複数の中間画素値とAD関数の複数の関数値との積和演算(内積演算)によって行われる。
なお、上述した実施形態では、(1)式で示されるAD関数を用いたが、他のAD関数を用いるようにしてもよい。水平方向および垂直方向に沿って各関数値を記憶可能であれば、どのようなAD関数に対しても本発明を適用することができる。
また、上述した実施形態においては、標本化関数はt=±2で0に収束するようにしたが、本発明はこれに限らず、t=±3以上、あるいはt=±2未満で0に収束するようにしてもよい。
また、図8に示したように中間画素の範囲S1、S2、S3、・・・を互いに重複させた場合に、この重複範囲を可変するようにしてもよい。この場合には、中間画素の解像度を変えることなく、生成画素の間隔(画素数、解像度)を変化させて画像の圧縮率(あるいは縮小率)を可変することが可能になる。
(濃淡画像処理部62の動作の具体例2)
次に、濃淡画像処理部62の動作の他の具体例として、画像の拡大(高解像度化)処理を行う場合について説明する。
次に、濃淡画像処理部62の動作の他の具体例として、画像の拡大(高解像度化)処理を行う場合について説明する。
図9は、濃淡画像処理部62の他の具体的な構成を示す図である。図9に示すように、濃淡画像処理部62は、画像データ入力部210、標本化関数値記憶部220、乗算部230、対応点加算部240、270、水平中間値作成部250、演算結果記憶部260、290、垂直中間値作成部280、補間値出力部300、拡大画像データ格納部302、表示処理部304を含んで構成されている。本実施形態の濃淡画像処理部62では、原画像(濃淡画像格納部52に格納された濃淡画像)を4倍に拡大(あるいは解像度を4倍に変更)する動作を行うものとして、以下の説明を行う。
画像データ入力部210は、濃淡画像格納部52に格納された所定の解像度の濃淡画像に対応する画像データを取り込むためのものである。この画像データは、水平方向(X方向)と垂直方向(Y方向)のそれぞれに沿って等間隔に配置された複数の画素の各画素値から構成されている。また、画像データ入力部210は、取り込まれた画像データに含まれる各画素値を水平方向に沿って一つずつ順番に出力する。例えば、画像データ入力部210は、取り込んだ画像データについて、水平方向に沿った所定の画素列に着目して各画素の画素値を1画素ずつ出力した後、着目する画素列を垂直方向に一つずらしながら同様の動作を繰り返す。
標本化関数値記憶部220は、2変数で定義される標本化関数の波形を示す複数の値(標本化関数値)を記憶しており、これら複数の標本化関数値を並行して出力する。図10は、標本化関数値記憶部220の具体例を示す図である。本実施形態では、以下の(2)式で示される2変数の標本化関数ψ(x,y)が用いられる。
ψ(x,y)=φ(x)φ(y) ・・・(2)
ここで、φは以下の式で表される。
ここで、φは以下の式で表される。
φ(t)=0 (t≦2)
-0.25t2-t-1 (-2≦t≦-1.5)
0.75t2+2t+1.25 (-1.5≦t≦-1)
1.25t2+3t+1.75 (-1≦t≦-0.5)
-1.75t2+1 (-0.5≦t≦0.5)
1.25t2-3t+1.75 (0.5≦t≦1)
0.75t2-2t+1.25 (1.0≦t≦1.5)
-0.25t2+t-1 (1.5≦t≦2)
0 (2≦t)
t=0,±1,±2,・・・が標本位置に対応している。この関数φ(t)は、微分可能性に着目した有限台の関数であり、例えば全域において1回だけ微分可能であって、横軸に沿った標本位置tが-2から+2の間にあるときに、標本位置以外の位置において関数値が0以外の有限な値を有する有限台の関数である。また、標本位置tが-2以下あるいは2以上のときは関数値が常に0となる。また、φ(t)は標本化関数であるため、t=0の標本点でのみ1になり、t=±1,±2の標本点において0になるという特徴を有する。
-0.25t2-t-1 (-2≦t≦-1.5)
0.75t2+2t+1.25 (-1.5≦t≦-1)
1.25t2+3t+1.75 (-1≦t≦-0.5)
-1.75t2+1 (-0.5≦t≦0.5)
1.25t2-3t+1.75 (0.5≦t≦1)
0.75t2-2t+1.25 (1.0≦t≦1.5)
-0.25t2+t-1 (1.5≦t≦2)
0 (2≦t)
t=0,±1,±2,・・・が標本位置に対応している。この関数φ(t)は、微分可能性に着目した有限台の関数であり、例えば全域において1回だけ微分可能であって、横軸に沿った標本位置tが-2から+2の間にあるときに、標本位置以外の位置において関数値が0以外の有限な値を有する有限台の関数である。また、標本位置tが-2以下あるいは2以上のときは関数値が常に0となる。また、φ(t)は標本化関数であるため、t=0の標本点でのみ1になり、t=±1,±2の標本点において0になるという特徴を有する。
本実施形態では、隣接する2つの標本位置(原画像の画素位置)の間を水平方向および垂直方向のそれぞれについて4分割して補間位置が設定されており、各補間位置に対応する標本化関数値が標本化関数値記憶部220に記憶されている。具体的には、水平方向および垂直方向に沿って隣接する2つの標本位置で区画される四角形領域に対応して16(=4×4)個の標本化関数値、全体範囲(水平方向および垂直方向のそれぞれについて標本位置-2から2までの範囲)に対応して合計256(16×16)個の標本化関数値のそれぞれが、標本化関数値記憶部20内の256個の格納部に記憶されている。
乗算部230は、複数の乗算器(図10に示す256個の格納部を有する標本化関数値記憶部220の場合には256個の乗算器)を含んで構成されており、標本化関数値記憶部220から出力される複数の標本化関数値のそれぞれと、画像データ入力部210から出力される画素値とを乗算する。これにより、乗算部230は、256個の乗算結果を並行して出力する。
対応点加算部240は、乗算部230から出力される256個の乗算結果と、水平中間値作成部250から出力される256個の中間値について、対応するもの同士を加算し、256個の加算結果を並行して出力する。具体的には、対応点加算部240には256個の加算器が備わっており、各加算器は、乗算部230から出力される1つの乗算結果と、水平中間値作成部250から出力される1つの中間値とを加算する。
水平中間値作成部250は、256個の中間値を作成して保持するために256個の格納部を有し、これら256個の格納部に格納した中間値を並行して出力する。図11は、水平中間値作成部250と演算結果記憶部260の概略を示す図である。図11に示すように、水平中間値作成部250に含まれる256個の格納部の中で、64(=4×16)個の格納部(図11ではハッチングが付されている)に格納された64個の中間値の値は「0」に固定されており、残りの192個の格納部に格納された192個の中間値の内容が、画像データ入力部210から画素値が出力されるタイミングに同期して更新される。
演算結果記憶部260は、対応点加算部240から出力される256個の加算結果を一時的に記憶する。この中で、64個の加算結果は、対応点加算部270に向けて出力される。また、残りの192個の加算結果は、水平中間値作成部250によって読み出される。具体的には、図11に示すように、演算結果記憶部260は、256個の格納部を有しており、対応点加算部240から出力される256個の加算結果をそれぞれの格納部に格納する。
なお、図10および図11において、標本化関数値記憶部220の256個の格納部、水平中間値作成部250の256個の格納部、演算結果記憶部260の256個の格納部は、実線あるいは点線の水平線および垂直線で区画された256個のマス目によって示されており、配置の順番が同じもの同士が対応している。
図11に示すように、水平中間値作成部250は、演算結果記憶部260から192個の演算結果を読み出すが、64個分ずれた192個の格納部に格納することにより中間値を作成している。
対応点加算部270は、演算結果記憶部260に記憶されている64個の演算結果(対応点加算部240による加算結果)と、垂直中間値作成部280から出力される64個の中間値について、対応するもの同士を加算し、64個の加算結果を並行して出力する。具体的には、対応点加算部270には64個の加算器が備わっており、各加算器は、演算結果記憶部260から出力される1つの演算結果と、垂直中間値作成部80から出力される1つの中間値とを加算する。
垂直中間値作成部280は、64個の中間値を作成して保持するために64個の格納部を有し、これら64個の格納部に格納した中間値を並行して出力する。図12は、垂直中間値作成部280と演算結果記憶部290の概略を示す図である。図12に示すように、垂直中間値作成部280に含まれる64個の格納部の中で、16(=4×4)個の格納部(図12ではハッチングが付されている)に格納された16個の中間値の値は「0」に固定されており、残りの48個の格納部に格納された48個の中間値の内容が、画像データ入力部210から画素値が出力されるタイミングに同期して更新される。
演算結果記憶部290は、対応点加算部270から出力される64個の加算結果を一時的に記憶する。この中で、16個の加算結果は、補間値として補間値出力部300に向けて出力される。また、残りの48個の加算結果は、垂直中間値作成部280によって読み出される。
ところで、本実施形態では、水平方向に1画素分の画素値が画像データ入力部210から出力される毎に、対応点加算部270から64個の加算結果が出力される。演算結果記憶部290は水平方向に並んだ画素数に対応する数の格納部を有しており、画像データ入力部210から画素値が出力される毎に、対応点加算部270から出力される64個の加算結果の格納位置が変更され、画素の垂直方向の位置が更新されるまで各加算結果が上書きされないようになっている。
水平方向に沿った画素値の出力が一巡し、次の水平方向に沿った画素値の出力が行われているときに、垂直中間値作成部280は、この画素値と垂直方向の位置が同じである1水平ライン分前の画素値に対応する64個の加算結果の中の48個の加算結果を読み出し、16個分ずれた48個の格納部に格納することにより中間値を作成している。また、垂直中間値作成部280によって読み出されない残りの16個の加算結果が、上述したように補間値として補間値出力部300に向けて出力される。
補間値出力部300は、演算結果記憶部290から出力された64個の補間値を拡大画像データ格納部302に格納する。表示処理部304は、拡大画像データ格納部302に格納された補間値(拡大後の画像の画素値)を読み出して表示部306に表示する。
上述した標本化関数値記憶部220が標本化関数値記憶手段に、画像データ入力部210が画像データ入力手段に、乗算部230が乗算手段に、対応点加算部240が第1の対応点加算手段に、水平中間値作成部250が第1の中間値作成手段に、演算結果記憶部260が第1の演算結果記憶手段に、垂直中間値作成部280が第2の中間値作成手段に、対応点加算部270が第2の対応点加算手段に、演算結果記憶部290が第2の演算結果記憶手段に、補間値出力部300が補間値出力手段にそれぞれ対応する。
また、上述した画像データ入力部210による動作が画像データ入力ステップの動作に、乗算部230による動作が乗算ステップの動作に、対応点加算部240による動作が第1の対応点加算ステップの動作に、水平中間値作成部250による動作が第1の中間値作成ステップの動作に、演算結果記憶部260に対する記憶動作が第1の演算結果記憶ステップの動作に、垂直中間値作成部280による動作が第2の中間値作成ステップの動作に、対応点加算部270による動作が第2の対応点加算ステップの動作に、演算結果記憶部290に対する記憶動作が第2の演算結果記憶ステップの動作に、補間値出力部300による動作が補間値出力ステップの動作にそれぞれ対応する。
本実施形態の濃淡画像処理部62はこのような構成を有しており、次に、この濃淡画像処理部62によって行われる画像の拡大処理(補間処理)について説明する。
図13は、原画像と拡大画像に含まれる各画素との関係を示す図である。図13において、白丸(○)は原画像の各画素を、黒丸(●)は拡大処理後の補間画素をそれぞれ示している。例えば、画像データ入力部210からは、画素p1、p2、p3、p4の順で水平方向に並んだ各画素の画素値が出力され、この水平ラインの最終画素の画素値が出力された後に、画素p5、p6、p7、p8が含まれる水平ラインに沿って同様の画素値出力が行われる。以後、同様にして各水平ラインに沿った画素値出力が順番に行われる。以下の説明では、画素p6、p7、p10、p11で区画される領域に含まれる黒丸で示される16個の補間画素の画素値を出力する場合について考えるものとする。
図10に示す標本化関数値記憶部220に関数値が記憶されている2変数の標本化関数は、水平および垂直方向のそれぞれにそって±2画素分の広がりを有している。したがって、画素p6、p7、p10、p11で区画される領域に含まれる16個の補間画素(●)の画素値は、原画像に含まれる16個の画素p1~p16の各画素値を用いて演算することができる。
(ステップS1)まず、画素p1の画素値が画像データ入力部210から出力された場合を考える。乗算部230では、標本化関数値記憶部220に記憶されている256個の関数値のそれぞれと、この入力された画素値とを乗算し、256個の乗算結果を並行して出力する。対応点加算部240では、これら256個の乗算結果のそれぞれと、水平中間値作成部250から出力される256個の中間値のそれぞれとを加算(1対1に対応するもの同士を加算)する。ここで、水平中間値作成部250において作成される256個の中間値の中の符号A(図11)が付された(値が「0」に固定された)64個の中間値に着目すると、これら64個の中間値に対応して、対応点加算部240からは、標本化関数値記憶部220の符号A(図10)が付された64個の格納部に格納された64個の関数値のそれぞれと画素p1の画素値とを乗算した乗算結果(この乗算結果を「p1×A」と表すものとする。)と、固定値「0」の中間値とを加算した結果が出力される。これらの加算結果は、演算結果記憶部260の符号A(図11)が付された領域に格納される。
(ステップS2)次に、画素p2の画素値が画像データ入力部210から出力された場合を考える。乗算部230では、標本化関数値記憶部220に記憶されている256個の関数値のそれぞれと、この入力された画素値とを乗算し、256個の乗算結果を並行して出力する。対応点加算部240では、これら256個の乗算結果のそれぞれと、水平中間値作成部250から出力される256個の中間値のそれぞれとを加算(1対1に対応するもの同士を加算)する。ここで、水平中間値作成部250において作成される256個の中間値の中の符号B(図11)が付された64個の中間値に着目すると、これら64個の中間値は、ステップS1において演算結果記憶部260の符号Aが付された領域に格納された加算結果(p1×A)に等しい。したがって、水平中間値作成部250の符号Bが付された領域に対応して、対応点加算部240からは、標本化関数値記憶部220の符号B(図10)が付された64個の格納部に格納された64個の関数値のそれぞれと画素p2の画素値とを乗算した乗算結果(この乗算結果を「p2×B」と表すものとする。)と、水平中間値作成部250の符号Bが付された64個の中間値(p1×A)とを加算した結果が出力される。これらの加算結果は、演算結果記憶部260の符号B(図11)が付された領域に格納される。
(ステップS3)次に、画素p3の画素値が画像データ入力部210から出力された場合を考える。乗算部230では、標本化関数値記憶部220に記憶されている256個の関数値のそれぞれと、この入力された画素値とを乗算し、256個の乗算結果を並行して出力する。対応点加算部240では、これら256個の乗算結果のそれぞれと、水平中間値作成部250から出力される256個の中間値のそれぞれとを加算(1対1に対応するもの同士を加算)する。ここで、水平中間値作成部250において作成される256個の中間値の中の符号C(図11)が付された64個の中間値に着目すると、これら64個の中間値は、ステップS2において演算結果記憶部260の符号Bが付された領域に格納された加算結果(p1×A+p2×B)に等しい。したがって、水平中間値作成部250の符号Cが付された領域に対応して、対応点加算部240からは、標本化関数値記憶部220の符号C(図10)が付された64個の格納部に格納された64個の関数値のそれぞれと画素p3の画素値とを乗算した乗算結果(この乗算結果を「p3×C」と表すものとする。)と、水平中間値作成部250の符号Cが付された64個の中間値(p1×A+p2×B)とを加算した結果が出力される。これらの加算結果は、演算結果記憶部260の符号C(図11)が付された領域に格納される。
(ステップS4)次に、画素p4の画素値が画像データ入力部210から出力された場合を考える。乗算部230では、標本化関数値記憶部220に記憶されている256個の関数値のそれぞれと、この入力された画素値とを乗算し、256個の乗算結果を並行して出力する。対応点加算部240では、これら256個の乗算結果のそれぞれと、水平中間値作成部250から出力される256個の中間値のそれぞれとを加算(1対1に対応するもの同士を加算)する。ここで、水平中間値作成部250において作成される256個の中間値の中の符号D(図11)が付された64個の中間値に着目すると、これら64個の中間値は、ステップS3において演算結果記憶部260の符号Cが付された領域に格納された加算結果(p1×A+p2×B+p3×C)に等しい。したがって、水平中間値作成部250の符号Dが付された領域に対応して、対応点加算部240からは、標本化関数値記憶部220の符号D(図10)が付された64個の格納部に格納された64個の関数値のそれぞれと画素p4の画素値とを乗算した乗算結果(この乗算結果を「p4×D」と表すものとする。)と、水平中間値作成部250の符号Dが付された64個の中間値(p1×A+p2×B+p3×C)とを加算した結果が出力される。これらの加算結果は、演算結果記憶部260の符号D(図11)が付された領域に格納される。
(ステップT1)このようにして、演算結果記憶部260の符号Dが付された領域に格納された64個の演算結果は、対応点加算部270によって読み出される。対応点加算部270は、読み出した64個の演算結果のそれぞれと、垂直中間値作成部280から出力される64個の中間値のそれぞれとを加算(1対1に対応するもの同士を加算)する。ここで、垂直中間値作成部280において作成される64個の中間値の中の符号a(図12)が付された16個の中間値に着目すると、これら16個の中間値に対応して、対応点加算部270からは、演算結果記憶部260の符号Dと符号a(図12)が付された16個の演算結果と、固定値「0」の中間値とを加算した結果が出力される。これらの加算結果は、例えば演算結果記憶部290の符号pと符号a(図12)が付された領域に格納される。
なお、演算結果記憶部260の符号Dと符号a(図12)が付された16個の演算結果とは、p1×A+p2×B+p3×C+p4×Dで示される64個の演算結果の中で、図10において符号aで示される領域に含まれる関数値に対応するもの(この乗算結果を「(p1-p4)×a」と表すものとする。)である。
(ステップT2)次の水平ラインに含まれる画素p8の画素値が画像データ入力部210から出力され、同様の処理が行われる。そして、演算結果記憶部260の符号Dが付された領域に格納された64個の演算結果は、対応点加算部270によって読み出される。対応点加算部270は、読み出した64個の演算結果のそれぞれと、垂直中間値作成部280から出力される64個の中間値のそれぞれとを加算(1対1に対応するもの同士を加算)する。ここで、垂直中間値作成部280において作成される64個の中間値の中の符号b(図12)が付された16個の中間値に着目すると、これら16個の中間値は、ステップT1において演算結果記憶部290の符号pと符号aが付された領域に格納された演算結果((p1-p4)×a)に等しい。したがって、垂直中間値作成部280の符号bが付された領域に対応して、対応点加算部270からは、演算結果記憶部260の符号Dと符号b(図12)が付された16個の演算結果と、垂直中間値作成部280の符号bが付された16個の中間値((p1-p4)×a)とを加算した結果が出力される。これらの加算結果は、演算結果記憶部290の符号pと符号b(図12)が付された領域に格納される。
なお、演算結果記憶部260の符号Dと符号b(図12)が付された16個の演算結果とは、p5×A+p6×B+p7×C+p8×Dで示される64個の演算結果の中で、図10において符号bで示される領域に含まれる関数値に対応するもの(この乗算結果を「(p5-p8)×b」と表すものとする。)である。
(ステップT3)次の水平ラインに含まれる画素p12の画素値が画像データ入力部210から出力され、同様の処理が行われる。そして、演算結果記憶部260の符号Dが付された領域に格納された64個の演算結果は、対応点加算部270によって読み出される。対応点加算部270は、読み出した64個の演算結果のそれぞれと、垂直中間値作成部280から出力される64個の中間値のそれぞれとを加算(1対1に対応するもの同士を加算)する。ここで、垂直中間値作成部280において作成される64個の中間値の中の符号c(図12)が付された16個の中間値に着目すると、これら16個の中間値は、ステップT2において演算結果記憶部290の符号pと符号bが付された領域に格納された演算結果((p1-p4)×a+(p5-p8)×b)に等しい。したがって、垂直中間値作成部280の符号cが付された領域に対応して、対応点加算部270からは、演算結果記憶部260の符号Dと符号c(図12)が付された16個の演算結果と、垂直中間値作成部280の符号cが付された16個の中間値((p1-p4)×a+(p5-p8)×b)とを加算した結果が出力される。これらの加算結果は、演算結果記憶部290の符号pと符号c(図12)が付された領域に格納される。
なお、演算結果記憶部260の符号Dと符号c(図12)が付された16個の演算結果とは、p9×A+p10×B+p11×C+p12×Dで示される64個の演算結果の中で、図10において符号cで示される領域に含まれる関数値に対応するもの(この乗算結果を「(p9-p12)×c」と表すものとする。)である。
(ステップT4)次の水平ラインに含まれる画素p16の画素値が画像データ入力部210から出力され、同様の処理が行われる。そして、演算結果記憶部260の符号Dが付された領域に格納された64個の演算結果は、対応点加算部270によって読み出される。対応点加算部270は、読み出した64個の演算結果のそれぞれと、垂直中間値作成部280から出力される64個の中間値のそれぞれとを加算(1対1に対応するもの同士を加算)する。ここで、垂直中間値作成部280において作成される64個の中間値の中の符号d(図12)が付された16個の中間値に着目すると、これら16個の中間値は、ステップT3において演算結果記憶部290の符号pと符号cが付された領域に格納された演算結果((p1-p4)×a+(p5-p8)×b+(p9-p12)×c)に等しい。したがって、垂直中間値作成部280の符号dが付された領域に対応して、対応点加算部270からは、演算結果記憶部260の符号Dと符号d(図12)が付された16個の演算結果と、垂直中間値作成部280の符号dが付された16個の中間値((p1-p4)×a+(p5-p8)×b+(p9-p12)×c)とを加算した結果が出力される。これらの加算結果は、演算結果記憶部290の符号pと符号d(図12)が付された領域に格納される。
なお、演算結果記憶部260の符号Dと符号d(図12)が付された16個の演算結果とは、p13×A+p14×B+p15×C+p16×Dで示される64個の演算結果の中で、図10において符号dで示される領域に含まれる関数値に対応するもの(この乗算結果を「(p13-p16)×d」と表すものとする。)である。すなわち、演算結果記憶部290の符号pと符号d(図12)が付された領域には、(p1-p4)×a+(p5-p8)×b+(p9-p12)×c+(p13-p16)×dで示される演算結果が格納される。これらの演算結果は、図13に示す画素p6、p7、p10、p11で囲まれた領域に含まれる16個の補間画素の画素値であり、その後これらの補間画素の画素値が補間値出力部300によって読み出される。
このように、本実施形態の濃淡処理部62では、標本化関数に対応する複数の関数値について並行して画素値との乗算や各種の加算を行うことにより、2変数のそれぞれに沿って隣接する4つの標本位置(画素位置)の間の複数の補間値を同時に生成することができ、補間値の演算時間を短縮することができる。
なお、上述した実施形態では、(2)式で示される標本化関数を用いたが、他の標本化関数を用いるようにしてもよい。水平方向および垂直方向に沿って各関数値を記憶可能であれば、どのような標本化関数に対しても本発明を適用することができる。
また、上述した実施形態においては、標本化関数はt=±2で0に収束するようにしたが、本発明はこれに限らず、t=±3以上で0に収束するようにしてもよい。
本発明によれば、画素値に基づいて複数の画像を分離することにより、画像の特徴(内容)に合わせて画像を分類することが可能となる。
10 画像入力部
12 入力画像格納部
20 ラベル付け処理部
22 条件設定部
24 操作部
30 ラベル格納部
40 文字・イラスト画像分離部
42 濃淡画像分離部
50 文字・イラスト画像格納部
52 濃淡画像格納部
60 文字・イラスト画像処理部
62 濃淡画像処理部
112 画像データ入力部
120 AD関数値記憶部
130 対応点乗算部
140 加算部
150 演算結果記憶部
160、304 表示処理部
162、306 表示部
210 画像データ入力部
220 標本化関数値記憶部
230 乗算部
240、270 対応点加算部
250 水平中間値作成部
260、290 演算結果記憶部
280 垂直中間値作成部
300 補間値出力部
302 拡大画像データ格納部
12 入力画像格納部
20 ラベル付け処理部
22 条件設定部
24 操作部
30 ラベル格納部
40 文字・イラスト画像分離部
42 濃淡画像分離部
50 文字・イラスト画像格納部
52 濃淡画像格納部
60 文字・イラスト画像処理部
62 濃淡画像処理部
112 画像データ入力部
120 AD関数値記憶部
130 対応点乗算部
140 加算部
150 演算結果記憶部
160、304 表示処理部
162、306 表示部
210 画像データ入力部
220 標本化関数値記憶部
230 乗算部
240、270 対応点加算部
250 水平中間値作成部
260、290 演算結果記憶部
280 垂直中間値作成部
300 補間値出力部
302 拡大画像データ格納部
Claims (22)
- 複数の画素からなる画像の入力を行う画像入力手段と、
前記画像入力手段によって入力された画像を構成する複数の画素のそれぞれの画素値に基づいて、これら複数の画素のそれぞれについてラベル付けを行うラベル付け処理手段と、
前記ラベル付け処理手段によって付与されたラベルの内容に基づいて、前記複数の画素の一部によって構成される複数の部分画像を分類し、これら複数の部分画像を分離する画像分離手段と、
を備える画像処理装置。 - 請求項1において、
前記ラベル付け処理手段は、ラベル付け対象となる画素の色が、ラベル付けが終了した周辺画素と同じである場合に、ラベル付け対象となる画素に対してこの周辺画素に付されたラベルと同じラベルを付け、このような周辺画素が存在しない場合には新たなラベルを付ける画像処理装置。 - 請求項2において、
前記ラベル付け処理手段は、ラベル付け対象となる画素の色が周辺画素の色と同じであるか否かの判定を、これらの画素の画素値の差と第1の閾値とを比較することにより行い、画素値の差が第1の閾値以下であるときにこれらの画素が同じ色であると判断する画像処理装置。 - 請求項2において、
前記ラベル付け処理手段は、同一ラベルが付された領域に含まれる画素数が第2の閾値よりも少ない領域について、この領域に含まれる各画素のラベルを新たなラベルに付け替える画像処理装置。 - 請求項4において、
前記画像分離手段は、前記新たなラベルに付け替えられた領域を濃淡画像とし、その他のラベルが付された領域を文字・イラスト画像として分離する画像処理装置。 - 請求項5において、
前記濃淡画像に対応する領域の端部を輪郭線として抽出する画像処理手段をさらに備える画像処理装置。 - 請求項5において、
前記文字・イラスト画像について、同一ラベルが付された領域の端部を輪郭線として抽出する画像処理手段をさらに備える画像処理装置。 - 請求項1において、
画像を構成する所定解像度の画素の画素値を中間画素値として取得し、画像の所定範囲に含まれる複数の中間画素値を出力する中間画素値取得手段と、
前記所定範囲に対応する複数の関数値を有する変換関数について、前記複数の関数値を記憶する関数値記憶手段と、
前記中間画素値取得手段から出力される複数の中間画素値のそれぞれと、前記関数値記憶手段に格納された複数の関数値のそれぞれとを、1対1に対応させて対応するもの同士を乗算して複数の乗算結果を出力する対応点乗算手段と、
前記対応点乗算手段から出力される複数の乗算結果を加算する加算手段と、をさらに備え、
前記画像分離手段によって分離した複数の部分画像の中の少なくとも一部の部分画像は、中間画素値を有する複数の画素によって構成されており、この一部の部分画像を対象に前記中間画素値取得手段による複数の中間画素値の出力が行われ、
前記加算手段から出力される加算結果を前記複数の中間画素値に対応する1つの画素値とする画像処理装置。 - 請求項8において、
前記加算手段から出力される加算結果を用いた画素値の生成は、前記中間画素値取得手段から出力される複数の中間画素値に対応する前記所定範囲をずらしながら繰り返し行われ、複数の画素値のそれぞれに対応する前記所定範囲は、一部が重複している画像処理装置。 - 請求項9において、
前記所定範囲を重複させる範囲を可変する画像処理装置。 - 請求項8において、
前記加算手段から出力される加算結果を用いた画素値の生成は、前記中間画素値取得手段から出力される複数の中間画素値に対応する前記所定範囲をずらしながら繰り返し行われ、複数の画素値のそれぞれに対応する前記所定範囲は重複しない画像処理装置。 - 請求項1において、
所定範囲において2変数によって標本位置および補間位置が特定される標本化関数について、複数の標本位置およびこれらの標本位置間を分割した位置のそれぞれに対応する複数の関数値を記憶する標本化関数値記憶手段と、
前記2変数によって位置が特定される画素の画素値を含む画像データを取り込んで、前記2変数のいずれか一方に沿って順番に前記画素値を出力する画像データ入力手段と、
前記標本化関数値記憶手段に格納された複数の関数値のそれぞれと、前記画像データ入力手段から出力される画素値とを乗算することにより、前記複数の関数値のそれぞれに対応する複数の乗算結果を出力する乗算手段と、
前記乗算手段から出力される複数の乗算結果のそれぞれに対応する複数の中間値を作成して出力する第1の中間値作成手段と、
前記乗算手段から出力される複数の乗算結果と、前記第1の中間値作成手段から出力される複数の中間値とを、1対1に対応させて対応するもの同士を加算して複数の加算結果を出力する第1の対応点加算手段と、
前記第1の対応点加算手段から出力される複数の加算結果を記憶する第1の演算結果記憶手段と、
前記第1の演算結果記憶手段に記憶された複数の加算結果のそれぞれに対応する複数の中間値を作成して出力する第2の中間値作成手段と、
前記第1の演算結果記憶手段に記憶された複数の加算結果と、前記第2の中間値作成手段から出力される複数の中間値とを、1対1に対応させて対応するもの同士を加算して複数の加算結果を出力する第2の対応点加算手段と、
前記第2の対応点加算手段から出力される複数の加算結果を記憶する第2の演算結果記憶手段と、をさらに備え、
前記画像分離手段によって分離した複数の部分画像の中の少なくとも一部の部分画像は、中間画素値を有する複数の画素によって構成されており、この一部の部分画像を対象に前記画像データ入力手段による画素値の出力が行われ、
前記第1の中間値作成手段は、前記画像データ入力手段から出力される画素値が切り替わる毎に、前記第1の演算結果記憶手段に記憶された複数の加算結果を、前記2変数の一方に沿って前記標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成し、
前記第2の中間値作成手段は、前記画像データ入力手段から出力される画素値が切り替わる毎に、前記第2の演算結果記憶手段に記憶された複数の加算結果を、前記2変数の他方に沿って前記標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成する画像処理装置。 - 請求項12において、
前記第1の中間値作成手段は、前記2変数の一方に沿って前記標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成する際に、前記第1の演算結果記憶手段に、対応する加算結果が記憶されていない場合には0を内容とする中間値を作成する画像処理装置。 - 請求項12において、
前記第2の中間値作成手段は、前記2変数の他方に沿って前記標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成する際に、前記第2の演算結果記憶手段に、対応する加算結果が記憶されていない場合には0を内容とする中間値を作成する画像処理装置。 - 請求項12において、
前記第1の演算結果記憶手段に記憶されている複数の加算結果の中で、前記第1の対応点加算手段による加算回数が最も多い加算結果が前記第2の対応点加算手段による加算演算に用いられる画像処理装置。 - 請求項12において、
前記第2の演算結果記憶手段に記憶されている複数の加算結果の中で、前記第2の対応点加算手段による加算回数が最も多い加算結果を取り出して出力する補間値出力手段をさらに備える画像処理装置。 - 請求項12において、
前記標本化関数は、前記所定範囲に含まれる複数の標本位置のそれぞれに対応する関数値が0で、それ以外の位置の少なくとも一部に対応する関数値が0以外の有限の値を有する画像処理装置。 - 請求項17において、
前記標本化関数は、前記所定範囲以外で関数値が0である画像処理装置。 - 請求項12において、
前記標本化関数は、前記2変数のそれぞれに沿って前記所定範囲を2以上に分割した各分割区間がn次多項式で表現される区分的多項式関数である画像処理装置。 - 画像入力手段、ラベル付け処理手段、画像分離手段を備える画像処理装置における画像処理方法であって、
複数の画素からなる画像の入力を前記画像入力手段を用いて行う画像入力ステップと、
前記画像入力手段によって入力された画像を構成する複数の画素のそれぞれの画素値に基づいて、これら複数の画素のそれぞれについてラベル付けを前記ラベル付け処理手段を用いて行うラベル付け処理ステップと、
前記ラベル付け処理手段によって付与されたラベルの内容に基づいて、前記複数の画素の一部によって構成される複数の部分画像を分類し、これら複数の部分画像を分離する処理を前記画像分離手段を用いて行う画像分離ステップと、
を有する画像処理方法。 - 請求項20において、
中間画素値取得手段を用いて、画像を構成する所定解像度の画素の画素値を中間画素値として取得し、画像の所定範囲に含まれる複数の中間画素値を出力する中間画素値出力ステップと、
前記所定範囲に対応する複数の関数値を有する変換関数について、関数値記憶手段に記憶された前記複数の関数値を出力する関数値出力ステップと、
前記中間画素値取得ステップにおいて出力される複数の中間画素値のそれぞれと、前記関数値出力ステップにおいて出力される複数の関数値のそれぞれとを、1対1に対応させて対応するもの同士を対応点乗算手段を用いて乗算して複数の乗算結果を出力する対応点乗算ステップと、
前記対応点乗算ステップにおいて出力される複数の乗算結果を加算手段を用いて加算する加算ステップと、をさらに有し、
前記画像分離ステップにおいて分離した複数の部分画像の中の少なくとも一部の部分画像は、中間画素値を有する複数の画素によって構成されており、この一部の部分画像を対象に前記中間画素値出力ステップにおける複数の中間画素値の出力が行われ、
前記加算ステップにおいて出力される加算結果を前記複数の中間画素値に対応する1つの画素値とする画像処理方法。 - 請求項20において、
所定範囲において2変数によって標本位置および補間位置が特定される標本化関数について、複数の標本位置およびこれらの標本位置間を分割した位置のそれぞれに対応する複数の関数値を標本化関数値記憶手段が記憶しており、
前記2変数によって位置が特定される画素の画素値を含む画像データを画像データ入力手段によって取り込んで、前記2変数のいずれか一方に沿って順番に前記画素値を出力する画像データ入力ステップと、
前記標本化関数値記憶手段に格納された複数の関数値のそれぞれと、前記画像データ入力手段から出力される画素値とを乗算することにより、前記複数の関数値のそれぞれに対応する複数の乗算結果を乗算手段を用いて出力する乗算ステップと、
前記乗算手段から出力される複数の乗算結果のそれぞれに対応する複数の中間値を作成して出力する動作を第1の中間値作成手段を用いて行う第1の中間値作成ステップと、
前記乗算手段から出力される複数の乗算結果と、前記第1の中間値作成手段から出力される複数の中間値とを、1対1に対応させて対応するもの同士を加算して複数の加算結果を出力する動作を第1の対応点加算手段を用いて行う第1の対応点加算ステップと、
前記第1の対応点加算手段から出力される複数の加算結果を第1の演算結果記憶手段に記憶する第1の演算結果記憶ステップと、
前記第1の演算結果記憶手段に記憶された複数の加算結果のそれぞれに対応する複数の中間値を作成して出力する動作を第2の中間値作成手段を用いて行う第2の中間値作成ステップと、
前記第1の演算結果記憶手段に記憶された複数の加算結果と、前記第2の中間値作成手段から出力される複数の中間値とを、1対1に対応させて対応するもの同士を加算して複数の加算結果を出力する動作を第2の対応点加算手段を用いて行う第2の対応点加算ステップと、
前記第2の対応点加算手段から出力される複数の加算結果を第2の演算結果記憶手段に記憶する第2の演算結果記憶ステップと、をさらに有し、
前記画像分離ステップにおいて分離した複数の部分画像の中の少なくとも一部の部分画像は、中間画素値を有する複数の画素によって構成されており、この一部の部分画像を対象に前記画像データ入力ステップにおける画素値の出力が行われ、
前記第1の中間値作成手段は、前記画像データ入力手段から出力される画素値が切り替わる毎に、前記第1の演算結果記憶手段に記憶された複数の加算結果を、前記2変数の一方に沿って前記標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成し、
前記第2の中間値作成手段は、前記画像データ入力手段から出力される画素値が切り替わる毎に、前記第2の演算結果記憶手段に記憶された複数の加算結果を、前記2変数の他方に沿って前記標本化関数の隣接する標本位置に対応する区間分ずらして中間値を作成する画像処理方法。
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008-297487 | 2008-11-21 | ||
| JP2008297487A JP4650958B2 (ja) | 2008-11-21 | 2008-11-21 | 画像処理装置、方法およびプログラム |
| JP2008305828A JP4531835B2 (ja) | 2008-12-01 | 2008-12-01 | 画像処理装置および方法 |
| JP2008-305828 | 2008-12-01 | ||
| JP2008310841A JP4693895B2 (ja) | 2008-12-05 | 2008-12-05 | 画像処理装置および方法 |
| JP2008-310841 | 2008-12-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010058735A1 true WO2010058735A1 (ja) | 2010-05-27 |
Family
ID=42198175
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2009/069320 Ceased WO2010058735A1 (ja) | 2008-11-21 | 2009-11-13 | 画像処理装置および方法 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2010058735A1 (ja) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11213090A (ja) * | 1998-01-29 | 1999-08-06 | Nippon Telegr & Teleph Corp <Ntt> | 文字図形と背景領域の識別方法およびその装置およびその方法を記録した記録媒体 |
| JPH11339041A (ja) * | 1998-05-26 | 1999-12-10 | Ricoh Co Ltd | カラー画像処理方法及び装置並びに記録媒体 |
| JPH11353473A (ja) * | 1998-06-10 | 1999-12-24 | Fluency Kenkyusho:Kk | 画像処理装置 |
| JPH11353472A (ja) * | 1998-06-10 | 1999-12-24 | Fluency Kenkyusho:Kk | 画像処理装置 |
| JP2005072635A (ja) * | 2003-08-21 | 2005-03-17 | Sharp Corp | 画像処理装置、画像形成装置、画像読取装置、画像処理方法、画像処理プログラム、及び画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2005210650A (ja) * | 2004-01-26 | 2005-08-04 | Fuji Xerox Co Ltd | 画像処理装置 |
-
2009
- 2009-11-13 WO PCT/JP2009/069320 patent/WO2010058735A1/ja not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11213090A (ja) * | 1998-01-29 | 1999-08-06 | Nippon Telegr & Teleph Corp <Ntt> | 文字図形と背景領域の識別方法およびその装置およびその方法を記録した記録媒体 |
| JPH11339041A (ja) * | 1998-05-26 | 1999-12-10 | Ricoh Co Ltd | カラー画像処理方法及び装置並びに記録媒体 |
| JPH11353473A (ja) * | 1998-06-10 | 1999-12-24 | Fluency Kenkyusho:Kk | 画像処理装置 |
| JPH11353472A (ja) * | 1998-06-10 | 1999-12-24 | Fluency Kenkyusho:Kk | 画像処理装置 |
| JP2005072635A (ja) * | 2003-08-21 | 2005-03-17 | Sharp Corp | 画像処理装置、画像形成装置、画像読取装置、画像処理方法、画像処理プログラム、及び画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2005210650A (ja) * | 2004-01-26 | 2005-08-04 | Fuji Xerox Co Ltd | 画像処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1347410A2 (en) | Image processing method and apparatus | |
| CN102196175A (zh) | 图像处理设备和方法以及程序 | |
| JPH05328106A (ja) | 画像変倍装置 | |
| JP2003018403A (ja) | 画像処理装置 | |
| CN101795350A (zh) | 一种基于相关性检测的非线性图像放大两倍方法 | |
| JP2010286959A (ja) | 顔画像高解像度化方法、顔画像高解像度化装置、及びそのプログラム | |
| KR101369394B1 (ko) | 화상 처리 장치, 화상 처리 프로그램을 저장하는 컴퓨터 판독 가능한 기록 매체, 및 화상 처리 방법 | |
| US7652610B2 (en) | Signal processing device and method, signal processing program, and recording medium where the program is recorded | |
| JP3210264B2 (ja) | 画像処理装置及び方法 | |
| JP3849817B2 (ja) | 画像処理装置および画像処理方法 | |
| WO2010058735A1 (ja) | 画像処理装置および方法 | |
| JP3888090B2 (ja) | 画像処理装置及び画像処理方法 | |
| JP2871570B2 (ja) | 文字認識装置およびその方法 | |
| JP4139979B2 (ja) | 画像変換装置および方法、並びに記録媒体 | |
| JP5407582B2 (ja) | 画像処理装置及び画像処理プログラム | |
| JP3783815B2 (ja) | 画像処理装置 | |
| JP3972625B2 (ja) | 画像処理装置および画像処理方法 | |
| JP4650958B2 (ja) | 画像処理装置、方法およびプログラム | |
| JP3949642B2 (ja) | 画像処理装置 | |
| JPH08251397A (ja) | 画像処理方法及び装置 | |
| JPH07262351A (ja) | 画像処理装置及びその制御方法 | |
| JPH09270911A (ja) | 画像形成装置 | |
| JP4693895B2 (ja) | 画像処理装置および方法 | |
| JP3564216B2 (ja) | 画像処理装置 | |
| KR100363965B1 (ko) | 4그레이 표시장치를 위한 컬러영상의 최적화 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09827516 Country of ref document: EP Kind code of ref document: A1 |
|
| DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09827516 Country of ref document: EP Kind code of ref document: A1 |