Image forming apparatus and method

The image forming apparatus integrates tilt correction and filtering processes using weighted filter coefficients, addressing the challenge of maintaining processing speed and circuit size in wide-width image reading devices.

JP7780316B2Active Publication Date: 2025-12-04CANON KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021200393
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-09
Publication Date
2025-12-04
Estimated Expiration
2041-12-09

AI Technical Summary

Technical Problem

Existing image forming apparatuses using multiple image sensors to achieve wide-width reading face challenges in maintaining processing speed and circuit size due to the need for separate processing units for weighting filter coefficients.

Method used

An image forming apparatus with a spatial frequency filtering process that uses filter coefficients weighted for each pixel in the sub-scanning direction, shifting pixels to correct tilt, thereby integrating tilt correction and filtering processes within a single circuit.

Benefits of technology

This approach suppresses the increase in circuit size and maintains processing speed by effectively correcting tilt and reducing noise in image data without separate processing units.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007780316000001
    Figure 0007780316000001
  • Figure 0007780316000002
    Figure 0007780316000002
  • Figure 0007780316000003
    Figure 0007780316000003
Patent Text Reader

Abstract

To provide an image forming apparatus that prevents increase in a circuit scale and reduction in a processing speed in setting weighting to a filter coefficient in filter processing on read data.SOLUTION: An image forming apparatus comprises: conversion means that performs, for each predetermined section in a main scanning direction, filter processing with a spatial frequency on read data obtained through reading performed by an image sensor unit, thereby performing gray scale conversion in a sub scanning direction intersecting the main scanning direction in each predetermined section; and correction means that shifts pixels in the sub scanning direction for the data on which the gray scale conversion is performed, thereby correcting the read data obtained with inclination of the image sensor unit. In the filter processing, a filter coefficient set with weighting is used for a plurality of pixels in the sub scanning direction in the predetermined section, and the weighting for the plurality of pixels is defined such that the center of gravity of the weighting gradually moves from one end toward the other end of the predetermined section in the main scanning direction.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an image forming apparatus and method for reading an image of an original document using an image sensor unit. [Background technology]

[0002] In order to reduce the cost of the device itself, wide-width image reading devices generally use multiple A4 or A3 size image sensors arranged side by side to achieve the desired reading width, rather than using a long image sensor. In such a configuration, the images read by each image sensor must be stitched together to form a single image.

[0003] In forming an image, the effects of tilt on the images read by each image sensor, which occur due to manufacturing tolerances of the device, are corrected before the images are joined together. Patent Document 1 describes a method for correcting the tilt of a read image by determining the unit of shift for image data in a predetermined direction based on the tilt of the document, and shifting the image data in the main scanning direction or sub-scanning direction for a predetermined number of lines. Furthermore, to maintain the continuity of the image data, it describes an interpolation method in which the gradation value of a target pixel and the gradation value of its adjacent pixels are weighted and added together. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 2017-147592 Summary of the Invention [Problem to be solved by the invention]

[0005] The configuration of Patent Document 1 requires the provision of a separate processing unit for performing weighting processing, which raises concerns about an increase in circuit size and an accompanying decrease in processing speed.

[0006] An object of the present invention is to provide an image forming apparatus and method that can suppress an increase in circuit size and a decrease in processing speed when weighting filter coefficients in filter processing of scanned data. [Means for solving the problem]

[0007] The image forming apparatus of the present invention comprises a reading means including an image sensor unit in which a reading element that optically reads an original document is arranged in a main scanning direction; a conversion means that performs a gray-scale conversion in a sub-scanning direction that intersects with the main scanning direction in each predetermined section of the main scanning direction by performing a spatial frequency filtering process on the read data read by the image sensor unit for each predetermined section of the main scanning direction; and a correction means that corrects the read data obtained with the inclination of the image sensor unit by shifting pixels in the sub-scanning direction for the data that has been gray-scale converted by the conversion means, wherein the filtering process uses a filter coefficient in which a weight is set for each of a plurality of pixels in the sub-scanning direction in the predetermined section, and the weighting for each of the plurality of pixels is determined so that the center of gravity of the weighting gradually moves from one end of the predetermined section to the other end of the main scanning direction. [Effects of the Invention]

[0008] According to the present invention, it is possible to suppress an increase in circuit size and a decrease in processing speed when weighting filter coefficients in filter processing of read data. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 2 is a diagram showing the appearance of a scanner unit. [Figure 2] FIG. 2 is a diagram illustrating a block configuration of an MFP. [Figure 3] FIG. 2 is a diagram illustrating a configuration of a read image combining unit. [Figure 4] FIG. 2 is a diagram illustrating a configuration of a filter processing unit. [Figure 5]FIG. 10 is a diagram showing block data of m×n pixels. [Figure 6] FIG. 10 is a diagram for explaining that filter coefficients follow a normal distribution curve. [Figure 7] FIG. 10 is a diagram showing filter coefficients corresponding to addresses in the main scanning direction. [Figure 8] FIG. 10 is a diagram illustrating the effect of the present embodiment. [Figure 9] 10 is a flowchart showing a correction process. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.

[0011] FIG. 1(a) shows an external perspective view of a scanner unit 101 of a multifunctional peripheral (MFP) 100 according to this embodiment. FIG. 1(b) shows an internal top view of the scanner unit 101. In this embodiment, the MFP 100 is described as an image forming apparatus that integrates a reading function and a printing function. However, other functions, such as a facsimile function and a transmission function, may also be configured. The scanner unit 101 is a sheet-fed reading device that optically reads an image of a document fed from a document feed port 102 while transporting the document. Inside the scanner unit 101, an upstream transport roller 103 and a downstream transport roller 104 are arranged, and five image sensor units 105a, 105b, 105c, 105d, and 105e are arranged in a staggered pattern in the main scanning direction between them. In this embodiment, each of the image sensor units 105a to 105e has reading elements arranged in the main scanning direction, and has a reading width of, for example, A4 size. The MFP 100 can acquire a read image with a width of 36 inches by stitching together the read images acquired by each of the image sensor units 105a to 105e. In FIG. 1(b), the x direction indicates the main scanning direction, and the y direction indicates the sub-scanning direction that intersects with the main scanning direction.

[0012] Fig. 2 is a block diagram for explaining the schematic electrical configuration of MFP 100. Fig. 2 is a block diagram focusing on the reading function and printing function of MFP 100, and may include block configurations according to the functions that MFP 100 can realize, as appropriate. ASIC 201 controls image sensor units 105a to 105e in scanner unit 101, acquires and processes images of read data input from image sensor units 105a to 105e, and controls printing. Note that ASIC stands for Application Specific Integrated Circuit. The internal configuration of ASIC 201 will be described later.

[0013] The DRAM 203 is used as a buffer memory for temporarily storing read data read by the image sensor units 105a to 105e and image data for printing. The external interface (IF) 204 is a communication interface with an external device and is configured as, for example, a USB interface or a LAN interface. The external interface 204 is used, for example, to output read data to an external device. The print head 205 prints an image by ejecting ink droplets onto a print medium using an inkjet printing method.

[0014] The ASIC 201 is configured to include the following processing units. A CPU 210 controls each processing unit overall. A reading device control unit 211 is connected to the image sensor units 105a to 105e, and performs reading control by generating, for example, timing signals for the image sensor units 105a to 105e and control signals for the RGB light sources.

[0015] The read data acquisition unit 212 is connected to the image sensor units 105a to 105e and performs processes to convert data output from the image sensor units 105a to 105e into pixel data and to rearrange the data to match the pixel arrangement. The read data acquisition unit 212 also performs pre-processing before processing by the subsequent processing unit. For example, the read data acquisition unit 212 performs shading processing to reduce optical variations and sensor sensitivity variations, and gamma look-up table correction processing to correct output linearity.

[0016] The read data acquisition unit 212 includes, for example, five processing circuits for individually processing the read data acquired from each of the five image sensor units 105a to 105e. The read data acquisition unit 212 is connected to an internal bus 213 inside the ASIC 201. The internal bus 213 is connected to a memory control unit 214 that is an interface for the DRAM 203, which is an external memory. Although not shown, the read data acquisition unit 212 has a built-in DMAC (Direct Memory Access). Therefore, the read data acquisition unit 212 can write the read data acquired and processed from the image sensor units 105a to 105e to a read image buffer area of ​​the DRAM 203 via the internal bus 213 and the memory control unit 214.

[0017] The read image combining unit 215 is a processing unit for combining the read data corresponding to each of the image sensor units 105a to 105e. The read image combining unit 215 includes a processing unit for correcting in advance variations in installation and color sensitivity of the image sensor units 105a to 105e when performing the combining process, and a processing unit for reducing the resolution. A detailed internal configuration of the read image combining unit 215 will be described later. The read image combining unit 215 is connected to the internal bus 213. Although not shown, the read image combining unit 215 has a built-in DMAC. Therefore, the read image combining unit 215 can read the read data from the read image buffer area of ​​the DRAM 203 via the internal bus 213 and the memory control unit 214, and write the processed image data to the combined buffer area of ​​the DRAM 203.

[0018] The read image processing unit 216 is a processing unit for processing and correcting the image data combined by the read image combining unit 215 according to the intended use, and performs, for example, edge enhancement, rotation, and magnification processing on the image data. The read image processing unit 216 is connected to the internal bus 213. Although not shown, the read image processing unit 216 has a built-in DMAC. Therefore, the read image processing unit 216 can read image data from the combined image buffer area of ​​the DRAM 203 via the internal bus 213 and the memory control unit 214, and write the processed image data to the processed image buffer area of ​​the DRAM 203.

[0019] The image compression processing unit 217 is a processing unit that performs compression processing to compress image data. The image compression processing unit 217 is connected to the internal bus 213. Although not shown, the image compression processing unit 217 has a built-in DMAC. Therefore, the image compression processing unit 217 can read image data from a post-processing image buffer area of ​​the DRAM 203 via the internal bus 213 and the memory control unit 214, perform compression processing, and write the processed image data to the compressed image buffer area of ​​the DRAM 203. When the read image data is to be output to an external device, the image data written to the compressed image buffer area of ​​the DRAM 203 is output via the external IF unit 204.

[0020] The image decompression processing unit 219 is a processing unit that executes decompression processing to decompress compressed image data. The image decompression processing unit 219 is connected to the internal bus 213. Although not shown, the image decompression processing unit 219 has a built-in DMAC. The image decompression processing unit 219 can read image data written to a compressed image buffer area of ​​the DRAM 203 via the internal bus 213 and the memory control unit 214, execute decompression processing, and write the processed image data to the decompressed image buffer area of ​​the DRAM 203.

[0021] The print image processing unit 220 is a processing unit for converting image data into print data according to print settings. The print image processing unit 220 is connected to the internal bus 213. Although not shown, the print image processing unit 220 has a built-in DMAC. The print image processing unit 220 can read image data from the processed image buffer area or decompressed image buffer area of ​​the DRAM 203 via the internal bus 213 and memory control unit 214, execute processing, and write the processed image data to the print data buffer area of ​​the DRAM 203.

[0022] The print control unit 221 is a processing unit for converting image data converted into print data into drive signals for driving the recording elements of the printhead 205. The print control unit 221 is connected to the internal bus 213. Although not shown, the print control unit 221 has a built-in DMAC. Therefore, the print control unit 221 can read data from the print data buffer area of ​​the DRAM 203 via the internal bus 213 and the memory control unit 214, convert it into drive signals for the printhead 205, and output the drive signals to the printhead 205.

[0023] Next, the internal configuration of the read image combining unit 215 will be described. Fig. 3 is a block diagram showing the internal configuration of the read image combining unit 215. The read image combining unit 215 includes a reduction processing unit 301, a gamma conversion processing unit 302, a filter processing unit 303, a tilt correction processing unit 304, a combining processing unit 305, and an encoding processing unit 306. An internal bus 307 is configured to connect these processing units to the internal bus 213.

[0024] The reduction processing unit 301 is a processing unit that performs processing to reduce the read image to an optimum resolution for subsequent image processing. The reduction processing unit 301 is connected to an internal bus 307. The reduction processing unit 301 reads read data in blocks from the read image buffer area of ​​the DRAM 203 via the internal bus 307, 213, and memory control unit 214 using a DMAC built into the reduction processing unit 301, and outputs reduced image data (pixel data). The gamma correction processing unit 302 is a processing unit that performs three-dimensional gamma correction processing on the pixel data output from the reduction processing unit 301.

[0025] The filter processing unit 303 is a processing unit that performs filter calculations for reducing noise contained in the read data and changing spatial frequencies, and weights the data using filter coefficients to accurately correct the tilt of the image sensor units 105a to 105e. The filter processing unit 303 performs filter processing on the pixel data output from the gamma correction processing unit 302. The filter processing unit 303 is also connected to the internal bus 307, and uses the built-in DMAC to write the processed image data to a filter image buffer area of ​​the DRAM 203 via the internal buses 307, 213, and the memory control unit 214. The internal configuration of the filter processing unit 303 will be described later.

[0026] The tilt correction processing unit 304 is a processing unit that executes correction processing to correct the tilt of image data. The tilt correction processing unit 304 is connected to the internal bus 307, and uses the built-in DMAC to read the image data after the filter processing from the filter image buffer area of ​​the DRAM 203 via the internal bus 307, 213, and the memory control unit 214.

[0027] The skew correction processor 304 reads image data line by line using the internal DMAC, but also has the function of shifting the coordinates in the sub-scanning direction during the readout process according to the skew information of the image sensor units 105a-105e. For example, suppose the scanned image acquired from image sensor unit 105a is skewed such that for every x pixels in the main scanning direction, the image is shifted by one pixel in the sub-scanning direction. In this case, the internal DMAC shifts the sub-scanning position where the next pixel starts to be read by one pixel each time x pixels are read out, and continues reading. After completing the reading of line data from one image sensor unit, e.g., image sensor unit 105a, it reads line data from the adjacent image sensor unit, e.g., image sensor unit 105b. At this time, a line position offset is set so that line data at the same sub-scanning position on the document to be read is read.

[0028] The combining processor 305 combines line data from different image sensor units in accordance with the relative positions of the image sensor units. The combining processor 305 is connected to the tilt correction processor 304, and receives line data corresponding to the image sensor units 105a to 105e in sequence from the tilt correction processor 304. The combining processor 305 determines a combining processing section for adjacent image sensor units based on previously acquired correction information. The combining processing section corresponds, for example, to the overlapping section in the sub-scanning direction of the image sensor units 105a and 105b in FIG. 1(a). Before the combining processing section, pixel data from the image sensor unit on the non-combined side is output as valid pixels. After the combining processing section, pixel data from the image sensor unit on the combining side is output as valid pixels. During the combining processing section, the pixel data from the non-combined side and the combining side are subjected to arithmetic processing based on mask data for error reduction, and then output. Similar processing is performed for all the combining processing sections, and as a result, the combining processing unit 305 outputs line data for one line obtained by combining the line data of each of the image sensor units 105a to 105e.

[0029] The encoding unit 306 is a processing unit that performs compression processing using differential pulse code modulation (DPCM) on input line data. The encoding unit 306 is connected to the splicing unit 305 and an internal bus 307. The encoding unit 306 encodes the line data input from the splicing unit 305, and writes the processed data to a combined image buffer area of ​​the DRAM using the built-in DMAC via the internal buses 307, 213, and memory control unit 214.

[0030] Next, the internal circuit configuration of the filter processing unit 303 will be described. FIG. 4 is a block diagram showing the internal configuration of the filter processing unit 303. FIG. 5 illustrates block data of m×n pixels input from the gamma correction processing unit 302. Here, m represents the number of pixels in the main scanning direction, and n represents the number of pixels in the sub-scanning direction. The numbers in each square in the figure represent coordinates within the block, and the data at each coordinate is expressed as Di[x,y]. Here, for simplicity of explanation, block data whose main scanning coordinate starts from 0 is used, but the block data following the block data shown in FIG. 5 is data with coordinates from [m+1,0] to [2×m,n]. The filter processing unit 303 performs convolution operation processing using filter coefficients on data for five consecutive pixels in the sub-scanning direction from the input block data. In this embodiment, data for five pixels is described as an example, but the number of pixels does not have to be five.

[0031] The data input unit 401 is a processing unit that receives pixel data output from the gamma correction processing unit 302, rearranges the data array in accordance with the calculation contents of the calculation unit at a subsequent stage, and outputs the data. RGB data is input in parallel on a pixel-by-pixel basis as block data from the gamma correction processing unit 302. The data input unit 401 has an internal buffer and is configured to write consecutive input data in the main scanning direction into the buffer once. When five consecutive pixels of data in the sub-scanning direction are completed using pixel data already stored in the buffer and newly input pixel data, the five pixels of data (for example, Di[0,0] to Di[0,4]) are output together to the processing unit at a subsequent stage.

[0032] The tilt information storage unit 402 is a register that stores parameters related to the installation tilt of the image sensor units 105a to 105e. The tilt information storage unit 402 is connected to the CPU 210 via a bus bridge circuit (not shown), and the register values ​​can be rewritten by the CPU 210. The register values ​​are rewritten to set values ​​corresponding to the reading resolution immediately before a reading operation. The tilt information stored in the tilt information storage unit 402 includes, for example, an initial address for reading filter coefficients from the filter coefficient storage unit 403, an address switching threshold, and an address initialization threshold. These values ​​will be described later. The address switching threshold and address initialization threshold are values ​​that are determined for each image sensor unit. The smaller the value, the shorter the filter coefficient switching interval, i.e., the steeper the correction angle of the image sensor unit. These thresholds are determined when the image sensor units 105a to 105e are installed in the scanner unit 101. The set values ​​may be determined by performing measurements in advance, for example, at the time of shipment from the factory, and stored in a memory unit within the MFP 100.

[0033] In this embodiment, as an example, a process will be described in which the initial address set for the image sensor unit 105a is "0", the address switching threshold is "1", and the address initialization threshold is "11". These are the setting values ​​when correcting data that is read as read data from a linear image in the main scanning direction read by the image sensor unit 105a, with a tilt of one pixel in the sub-scanning direction per predetermined section (11 pixels) in the main scanning direction. These setting values ​​are numerical values ​​used to simplify the explanation, and are not limited to these values; for example, larger values ​​may be set.

[0034] The filter coefficient storage unit 403 is a processing unit that stores filter coefficients and is configured, for example, by an SRAM. The filter coefficient storage unit 403 stores, for example, filter coefficients k[0] to k[4] used in one calculation in one word of data. The filter coefficients are used to change the spatial frequency of multiple pixel data consecutive in the sub-scanning direction and to weight pixel positions.

[0035] The following describes a method for deriving the filter coefficients stored in the filter coefficient storage unit 403. The spatial frequency is changed in order to reduce noise, unevenness, etc. by cutting high frequency components of the image. In this embodiment, the description is given assuming that a unique normal distribution curve is given to each image sensor unit.

[0036] 6(a) to 6(c) show, as an example, the normal distribution curve H given to the image sensor unit 105a and the calculation positions of the filter coefficients k. Fig. 6(a) shows the positions for calculating the coefficients to be applied to the 6th pixel, which is the central coordinate of 11 pixels in the main scanning direction, and each coefficient k is calculated as follows:

[0037] k[0]=H[y-2] k[1]=H[y-1] k[2]=H[y] k[3]=H[y+1] k[4]=H[y+2] In other words, the values ​​converted for calculation from the above k[0], k[1], k[2], k[3], and k[4] are applied to the sixth pixel at the center of the 11 pixels 0 to 10 in the main scanning direction in Figure 5, i.e., Di[5,0], Di[5,1], Di[5,2], Di[5,3], and Di[5,4].

[0038] In contrast, the filter coefficient k for shifting a pixel by s pixels in the sub-scanning direction using weighting corresponds to a position shifted by s from the position where each coefficient was calculated. Here, s is a number with an absolute value less than 1, and if it is positive, it indicates the positive direction in the sub-scanning direction, and if it is negative, it indicates the negative direction in the sub-scanning direction. In other words, the filter coefficient k for shifting an image by s pixels in the sub-scanning direction can be calculated as follows:

[0039] k[0]=H[y+s-2] k[1]=H[y+s-1] k[2]=H[y+s] k[3]=H[y+s+1] k[4]=H[y+s+2] Figure 6(b) shows the case where s = -0.45, and shows the filter coefficients to be applied to the pixel data of the first pixel in the main scanning direction. In other words, the values ​​converted for calculation from k[0], k[1], k[2], k[3], and k[4] when s = -0.45 using the above formula are applied to the first pixels of the 11 pixels 0 to 10 in the main scanning direction in Figure 5, i.e., Di[0,0], Di[0,1], Di[0,2], Di[0,3], and Di[0,4].

[0040] Figure 6(c) shows the case where s = 0.45, and shows the filter coefficients to be applied to the pixel data of the 11th pixel in the main scanning direction. In other words, the values ​​converted for calculation from k[0], k[1], k[2], k[3], and k[4] when s = 0.45 in the above formula are applied to the 11th pixel of the 11 pixels 0 to 10 in the main scanning direction in Figure 5, i.e., Di[10,0], Di[10,1], Di[10,2], Di[10,3], and Di[10,4].

[0041] The filter coefficient k calculated for each pixel data in the main scanning direction as described above is converted into a value suitable for use in calculations (for example, a value in which the sum of the coefficients is a power of 2), and the converted value is written to the filter coefficient storage unit 403. The sum of the coefficients is constant in the main scanning direction, as shown in FIG.

[0042] 7 is a diagram showing an example of filter coefficients written to filter coefficient holding unit 403. Five filter coefficients k[0] to k[4] used in one calculation are stored in one address, and the filter coefficients are held in a total of 11 words of addresses.

[0043] As shown in Fig. 7, in a unit block of 11 pixels in the main scanning direction, that is, a unit block in the main scanning direction that is read out tilted by one pixel in the sub-scanning direction, the weighting center of gravity is shifted toward k[4] at the first pixel in the main scanning direction (column "0" in Fig. 7). The weighting center of gravity is k[2] at the sixth pixel in the main scanning direction (column "5" in Fig. 7). The weighting center of gravity is shifted toward k[0] at the 11th pixel in the main scanning direction (column "10" in Fig. 7).

[0044] In this way, in the filter processing unit 303 of this embodiment, the filter coefficients are determined so that the center of gravity of the weighting of the filter coefficients gradually moves in the sub-scanning direction from the first pixel (one end) to the last pixel (the other end) in a unit block in the main scanning direction that is read out at an inclination of one pixel in the sub-scanning direction. At this time, the filter strength of the filter coefficients is constant in the main scanning direction. This allows the data output from the filter processing unit 303 to be in a state in which the inclination in the unit block in the main scanning direction has been corrected.

[0045] The size (number of words) of the SRAM in the filter coefficient storage unit 403 correlates with the accuracy of tilt correction. For example, if weighting is performed by dividing one pixel interval in the sub-scanning direction into 16, an SRAM capacity of 16 words is required. Therefore, by increasing the SRAM size, correction can be performed with higher resolution.

[0046] The filter coefficient reading unit 404 is a processing unit that reads out filter coefficients from the filter coefficient holding unit 403. The filter coefficient reading unit 404 includes an address calculation unit that calculates an address (Addr) at which the filter coefficient to be read out from the filter coefficient holding unit 403 is stored. The address calculation unit is configured to read out the initial address register from the gradient information holding unit 402 and set it as the initial value of the read address when processing a block including the first pixel of line data.

[0047] When the filter coefficient reading unit 404 receives notification of data output from the data input unit 401, it accesses the address (Addr) calculated by the address calculation unit in the filter coefficient holding unit 403 and reads out the stored filter coefficients k[0] to k[4].

[0048] The filter coefficient reading unit 404 is equipped with an address switching counter and an address initialization counter, and counts up each counter when it receives a data output notification signal from the data input unit 401. The count value of the address switching counter is compared with an address switching threshold value read from the gradient information holding unit 402, and when the count value exceeds the threshold value, the address is switched (incremented by +1). Here, switching the address means shifting the address to be read in the filter coefficient holding unit 403 by 1 in the main scanning direction.

[0049] The count value of the address initialization counter is compared with an address initialization threshold value read from the gradient information storage unit 402, and when the count value exceeds the threshold, the address is initialized. Here, address initialization means returning to reading the filter coefficient of the address of the first pixel of the unit block. When the end pixel of the block in the main scanning direction is reached, the address is switched to the address of the beginning of the block, and when the final calculation position of the block data is reached, the address is switched to the address for the beginning of the next block. If none of the above conditions apply, the filter coefficient reading unit 404 continues reading the filter coefficient of the same address even when it receives the next notification signal.

[0050] The data calculation unit 405 is a processing unit that performs calculations for filtering on pixel data input from the outside by the data input unit 401. Data Di[x,y-2] to Di[x,y+2] for five consecutive pixels in the sub-scanning direction is input from the data input unit 401. At the same time, filter coefficients k[0] to k[4] are input from the filter coefficient reading unit 404. Using this input data, the data calculation unit 405 calculates output pixel data Do[x,y] for coordinates [x,y] using the following equation (1). In other words, a convolution calculation is performed using the filter coefficients k[0] to k[4].

[0051] Do[x,y]=(k[0]Di[x,y-2]+k[1]Di[x,y-1]+k[2]Di[x,y]+k[3]Di[x,y+1]+k[4]Di[x,y+2]) / Sk ···(1) where Sk=k[0]+k[1]+k[2]+k[3]+k[4] The data output unit 406 uses the built-in DMAC to write the pixel data that has been processed by the data calculation unit 405 into the DRAM 203 via the internal buses 307 and 213 and the memory control unit 214 .

[0052] Next, the correction process of a scanned image in the MFP 100 will be described with reference to the flowchart in FIG. 9. The process in FIG. 9 is executed by the scanned image combining unit 215. Data scanned by the five image sensor units 105a to 105e is acquired by the scanned data acquiring unit 212 of the ASIC 201 and written to the scanned data buffer area of ​​the DRAM 203. When image data of a predetermined number of lines has been written to the scanned data buffer area, the reduction processing unit 301 of the scanned image combining unit 215 reads the data block by block from the scanned data buffer area (S101). The reduction processing unit 301 then performs a reduction process on the read data so that the output resolution corresponds to the output data specifications (S102). The reduction processing unit 301 simultaneously outputs the reduced pixel data for RGB, and the gamma correction processing unit 302 performs gamma correction on the output data (S103) and outputs the gamma-corrected pixel data to the filter processing unit 303.

[0053] When the data input unit 401 of the filter processing unit 303 receives pixel data from the gamma correction processing unit 302, it writes the data into an internal buffer and rearranges the data. When the data written into the buffer and the newly input pixel data form data for five consecutive pixels in the sub-scanning direction, the data input unit 401 outputs the pixel data from the internal buffer to the data calculation unit 405 (S104). At this time, the data input unit 401 outputs a notification signal indicating data output to the filter coefficient reading unit 404. When the notification signal is output, the data calculation unit 405 starts calculation processing (S105).

[0054] The filter coefficient reading unit 404 of the filter processing unit 303 reads out the filter coefficients k[0] to k[4] from the filter coefficient holding unit 403 based on the initial address register (Addr=0) set in the gradient information holding unit 402, and outputs them to the data calculation unit 405 (S107). When the process of S107 is executed for the first time, the filter coefficients are read out based on the initial address register in this way.

[0055] When the filter coefficient reading unit 404 outputs the filter coefficients to the data calculation unit 405, it counts up an address switching counter and an address initialization counter inside the filter coefficient reading unit 404. The filter coefficient reading unit 404 compares the count value of the address switching counter with an address switching threshold set in the slope information holding unit 402. The filter coefficient reading unit 404 also compares the count value of the address initialization counter with the address initialization threshold. For example, if the address switching threshold is "1" and the count value of the address switching counter is "1," it is determined that the address switching condition is met (S110: Yes), and the next read address (Addr) is switched from "0" to "1" (S112). At this time, the count value of the address switching counter is initialized. Also, for example, if the count value of the address initialization counter is "1", it has not reached the address initialization threshold value "11", so it is determined that the address initialization condition is not met (S109: No), and the count value of the address initialization counter is maintained at "1". In this embodiment, the comparison with the address initialization threshold value (S109) is performed before the comparison with the address switching threshold value (S110).

[0056] The data calculation unit 405 of the filter processing unit 303 performs calculation processing using the data input from the data input unit 401 and the filter coefficients input from the filter coefficient readout unit 404 (S108). The pixel data output after calculation corresponds to the central pixel coordinates of the coordinates of five consecutive pixels in the sub-scanning direction. Therefore, for example, when pixel data with coordinates Di[0,0] to Di[0,4] is input, pixel data with coordinates [0,2] is output by the data output unit 406. Then, data with coordinates Di[1,0] to [1,4] is input from the data input unit 401 to the data calculation unit 405. The filter coefficient readout unit 404 reads the filter coefficient at address "1" from the filter coefficient holding unit 403 and outputs it to the data calculation unit 405 (S107 after S112).

[0057] Then, the filter coefficient reading unit 404 counts up the address switching counter and the address initialization counter inside the filter coefficient reading unit 404. The filter coefficient reading unit 404 compares the count value of the address switching counter with the address switching threshold set in the gradient information holding unit 402. The filter coefficient reading unit 404 also compares the count value of the address initialization counter with the address initialization threshold. For example, if the address switching threshold is "1" and the count value of the address switching counter is "1," it is determined that the address switching condition is met (S110: Yes), and the next read address is switched from "1" to "2" (S112). At this time, the count value of the address switching counter is initialized. For example, if the count value of the address initialization counter is "2," it does not reach the address initialization threshold "11," so it is determined that the address initialization condition is not met (S109: No), and the count value of the address initialization counter is maintained at "1."

[0058] Thereafter, the same process is repeated, and the data input unit 401 outputs pixel data of coordinates [10,0] to [10,4] to the data calculation unit 405. The filter coefficient readout unit 404 reads the filter coefficient at address

[10] from the filter coefficient storage unit 403 and outputs it to the data calculation unit 405 (S107). Then, the filter coefficient readout unit 404 counts up the address switching counter and address initialization counter inside the filter coefficient readout unit 404. The filter coefficient readout unit 404 compares the count value of the address switching counter with the address switching threshold set in the gradient information storage unit 402. The filter coefficient readout unit 404 also compares the count value of the address initialization counter with the address initialization threshold. At this time, the address switching threshold is "1" and the address initialization threshold is "11", while the count value of the address switching counter is "1" and the count value of the address initialization counter is "11". In this embodiment, when the count value of the address initialization counter is equal to or greater than the address initialization threshold, address initialization is performed with priority over the processing of the address switching counter (S109: Yes to S111). In this case, the next read address is initialized from

[11] to [0] (S111). At that time, both the count value of the address switching counter and the count value of the address initialization counter are initialized.

[0059] Thereafter, the same process is repeated as the coordinate of the pixel data increases in the main scanning direction. When the pixel data reaches the terminal pixel in the main scanning direction of the block data, for example, when it reaches the data at coordinates [m,0] to [m,4], the data input unit 401 subsequently outputs pixel data at coordinates [0,1] to [0,5]. In this case, the filter coefficient readout unit 404 sets the filter coefficient readout address for the main scanning coordinate "0" (here, address [0]) as the next readout address, and switches so that the same filter coefficient is applied to the same main scanning coordinate.

[0060] In this way, filtering is performed on the pixel data input to the filtering processing unit 303, and the processed pixel data is written to the filter image buffer area of ​​the DRAM 203. Similar processing is performed on the read data of each image sensor unit. When the above processing is performed on the data read by the image sensor units 105a to 105e, the processing of the filtering processing unit 303 ends (S106: Yes). The address switching threshold, address initialization threshold, and filter coefficients applied in this processing have different setting values ​​for each image sensor unit (each of the image sensor units 105a to 105e).

[0061] In the above example, the address switching threshold is "1", so the address is switched every time the main scanning coordinate changes. However, if the address switching threshold is a value of 2 or more, the filter coefficient is switched every time the main scanning coordinate changes by that value.

[0062] FIG. 8 shows an image read by the image sensor unit 105a and an image after correction processing. FIG. 8(a) shows an image obtained when the tilted image sensor unit 105a reads a linear image parallel to the main scanning direction. FIG. 8(b) shows an image after filter calculation processing when the interval W (11 pixels) of FIG. 8(a) is set as the filter initialization period. As shown in FIG. 8(b), in the interval W, grayscale conversion is achieved in which tilt of less than one pixel is corrected, and the image has a changed spatial frequency in the sub-scanning direction. Meanwhile, the image data adjacent to the interval W are each shifted by one pixel in the sub-scanning direction. The tilt correction processing unit 304 reads the image data written to the filtered image buffer area of ​​the DRAM 203 in the state shown in FIG. 8(b) while shifting the read position in the sub-scanning direction in accordance with the filter initialization period.

[0063] FIG. 8(c) shows an image obtained by correcting the image in FIG. 8(b) by the tilt correction processing unit 304. As shown in FIG. 8(c), by shifting the read position in the sub-scanning direction during the filter initialization period, the image that had steps after filter processing is corrected to be straight and output. FIG. 8(d) shows an image obtained when only the correction processing by the tilt correction processing unit 304 is performed without performing the calculation processing described in this embodiment in the filter processing unit 303. As shown in FIG. 8(d), although coarse tilt correction is possible even by shifting in units of one pixel, it can be seen that the continuity of the image is lost at the shift position.

[0064] In this way, by configuring the filter processing unit 303 to perform calculations using filter coefficients that have been weighted on coefficients for spatial frequency conversion, highly accurate tilt correction becomes possible in combination with a pixel position shift circuit. The filter processing unit 303 only needs to apply filter coefficients according to pixel coordinates in the main scanning direction, and connectivity with circuit units before and after processing on a block-by-block basis can be maintained. Furthermore, compared to performing filter processing for spatial frequency conversion and weighting processing for tilt correction using separate circuits, it is possible to reduce the circuit size and speed up processing.

[0065] In this embodiment, a configuration has been described in which pre-generated filter coefficients are written to an SRAM and then sequentially read out in accordance with the main scanning coordinates of pixel data, but the configuration is not limited to this. For example, a distribution curve for spatial frequency conversion may be stored as a look-up table (LUT), and a filter coefficient may be output in response to an input of a required shift amount.

[0066] When the image sensor units 105a to 105e are configured to have respective RGB light sources that are sequentially turned on to acquire line data, a phenomenon called color shift occurs in a color image due to differences in the timing at which the RGB light sources emit light. To reduce the effects of this phenomenon, a filter is applied to cut high-frequency components in the sub-scanning direction of the image. The filter coefficients set in the filter processing unit 303 of this embodiment may be set to reduce this color shift.

[0067] In this embodiment, the MFP 100 is described, in which the scanner unit 101 is composed of multiple image sensor units 105a-105e. In such a configuration, differences in the optical characteristics and mounting positions of the individual image sensor units 105a-105e can result in differences in the sharpness of the scanned images. Performing image merging processing in this state can result in thin lines of the same thickness in the original document having different thicknesses in parts of the processed image. Therefore, it is desirable to set the spatial frequency-changing filter coefficients applied to each image sensor unit 105a-105e so that the spatial frequencies of the image data after arithmetic processing are approximately equal. Setting the filter coefficients in this way enables the images to be merged, and then sharpening processing, etc., performed by the scanned image processing unit 216 can suppress the phenomenon of line thickness varying depending on the area.

[0068] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program.The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0069] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0070] 100 MFP: 101 Scanner unit: 201 ASIC: 215 Scanned image combining unit: 303 Filter processing unit

Claims

1. a reading means including an image sensor unit in which a reading element for optically reading an original is arranged in a main scanning direction; a conversion means for performing a spatial frequency filtering process on the read data read by the image sensor unit for each predetermined section in the main scanning direction, thereby performing a gray scale conversion in each predetermined section in a sub-scanning direction intersecting with the main scanning direction; a correction unit that corrects the read data obtained with the inclination of the image sensor unit by shifting pixels in the sub-scanning direction for the data that has been subjected to the gray-scale conversion by the conversion unit, In the filtering process, a filter coefficient is used in which a weight is set for each of the plurality of pixels in the sub-scanning direction in the predetermined section, The weighting for each of the plurality of pixels is determined so that the center of gravity of the weighting gradually moves from one end to the other end of the predetermined section in the main scanning direction. An image forming apparatus characterized by:

2. 2. The image forming apparatus according to claim 1, wherein the filter strength for each of the plurality of pixels is constant in the main scanning direction.

3. 3. An image forming apparatus according to claim 1, wherein when the other end of a first predetermined section as the predetermined section is adjacent to one end of a second predetermined section as the predetermined section, the center of gravity of the weighting at one end of the first predetermined section corresponds to the center of gravity of the weighting at one end of the second predetermined section, and the center of gravity of the weighting at the other end of the first predetermined section corresponds to the center of gravity of the weighting at the other end of the second predetermined section.

4. 4. The image forming apparatus according to claim 3, wherein the deviation in the sub-scanning direction between the result of the filtering process at the other end of the first predetermined section and the result of the filtering process at one end of the second predetermined section corresponds to a shift amount in the correction means.

5. 5. The image forming apparatus according to claim 1, wherein weighting of the filter coefficients corresponding to each of the plurality of pixels is set based on a normal distribution curve.

6. 6. The image forming apparatus according to claim 1, wherein the filtering process includes convolution of the plurality of pixels in the sub-scanning direction.

7. a storage means for storing the filter coefficients; the conversion means reads out from the storage means the filter coefficients corresponding to the addresses in the main scanning direction in the predetermined section and performs the filtering process.

7. The image forming apparatus according to claim 1, wherein the image forming apparatus is a recording medium.

8. the reading means has a plurality of the image sensor units, the gray scale conversion by the conversion means and the correction by the correction means are performed on the read data read by each of the plurality of image sensor units; 8. The image forming apparatus according to claim 1, wherein the image forming apparatus is a recording medium.

9. 9. The image forming apparatus according to claim 8, further comprising a combining unit that combines the data corrected by the correcting unit for each of the plurality of image sensor units.

10. 10. The image forming apparatus according to claim 9, further comprising an image processing unit that performs image processing on the data combined by the combining unit.

11. 11. The image forming apparatus according to claim 10, wherein the image processing includes edge enhancement processing.

12. 12. The image forming apparatus according to claim 10, further comprising a recording unit that records data on a recording medium based on the data that has been subjected to the image processing by the image processing unit.

13. 13. The image forming apparatus according to claim 8, wherein the plurality of image sensor units are arranged in a staggered pattern.

14. A method executed in an image forming apparatus having a reading unit including an image sensor unit in which a reading element that optically reads an original in a main scanning direction is arranged, comprising: a conversion step of performing a spatial frequency filtering process on the read data read by the image sensor unit for each predetermined section in the main scanning direction, thereby performing a gray scale conversion in each predetermined section in a sub-scanning direction intersecting with the main scanning direction; a correction step of correcting the read data obtained with the inclination of the image sensor unit by shifting pixels in the sub-scanning direction for the data that has been subjected to the gray-scale conversion in the conversion step, In the filtering process, a filter coefficient is used in which a weight is set for each of the plurality of pixels in the sub-scanning direction in the predetermined section, The weighting for each of the plurality of pixels is determined so that the center of gravity of the weighting gradually moves from one end to the other end of the predetermined section in the main scanning direction. A method characterized by:

Citation Information

Patent Citations

  • Image processing system and digital camera

    JP2004266768A

  • Image processor and image reader

    JP2008085627A

  • Original reader and image forming apparatus

    JP2014140134A

  • Image reading apparatus

    JP2017147592A