This patent application is based on and claims priority pursuant to 35 U.S.C. § 119 to Japanese Patent Application No. 2016-213097, filed on Oct. 31, 2016, in the Japan Patent Office, the entire disclosure of which is hereby incorporated by reference herein.
Technical Field
Exemplary aspects of the present disclosure relate to an image processing apparatus, an image forming apparatus, and an image processing method.
Related Art
Image forming apparatuses such as copiers and scanners include a scanner unit that reads an original document, and an image processing apparatus that performs various processes on image data read by the scanner unit.
The various processes performed by the image processing apparatus include an inclination correction process. The original document can skew with respect to the scanner unit while being conveyed, and such a skew can cause inclination of an original image area in the image data. The inclination correction process corrects such inclination of the original image area in the image data. The image processing apparatus performs the inclination correction process by following a writing process in which the image data read by the scanner unit is written in a memory.
Particularly, the scanner unit scans an original image in a main scanning direction to acquire image data line by line. The image processing apparatus sequentially writes the image data acquired line by line in a memory. Meanwhile, the image processing apparatus sequentially reads the image data already written in the memory from the memory line by line. Accordingly, the image processing apparatus performs the inclination correction process according to inclination of the original image.
Thus, such inclination correction process can reduce processing time from the reading of the original image by the scanner to the output of inclination-corrected image data.
In at least one embodiment of this disclosure, there is provided an improved image processing apparatus that includes a memory, a correction circuit, and a calculation circuit. The memory stores image data of an original image that is moved in a sub-scanning direction with respect to an image sensor that scans the original image in a main scanning direction to generate the image data. The correction circuit sequentially reads the image data from the memory line by line in the main scanning direction, extracts a pixel in a position corresponding to the inclination, and forms an inclination-corrected line in the main scanning direction to correct the inclination of the original image. The calculation circuit calculates an amount of movement of a corner of the original image with respect to the sub-scanning direction before and after correction of inclination of the original image with respect to the main scanning direction. The correction circuit restricts progress of the formation of the inclination-corrected line in the main scanning direction based on the amount of movement. The amount of movement is applied when the inclination of the original image is corrected.
Further provided is an improved image processing method that includes storing, correcting, and calculating. The storing stores image data of an original image that is moved in a sub-scanning direction with respect to an image sensor that scans the original image in a main scanning direction to generate the image data. The correcting corrects the inclination of the original image, and includes reading, extracting, and forming. The reading sequentially reads the image data from a memory line by line in the main scanning direction. The extracting extracts a pixel in a position corresponding to the inclination. The forming forms an inclination-corrected line in the main scanning direction. The calculating calculates an amount of movement of a corner of the original image with respect to the sub-scanning direction before and after correction of the inclination of the original image with respect to the main scanning direction, the amount of movement being applied when the inclination of the original image is corrected. The correcting restricts progress of formation of the inclination-corrected line in the main scanning direction based on the amount of movement.
The aforementioned and other aspects, features, and advantages of the present disclosure would be better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
The accompanying drawings are intended to depict exemplary embodiments of the present disclosure and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted.
In describing embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this patent specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that have the same function, operate in a similar manner and achieve similar results.
Although the exemplary embodiments are described with technical limitations with reference to the attached drawings, such description is riot intended to limit the scope of the disclosure and all of the components or elements described in the exemplary embodiments of this disclosure are not necessarily indispensable.
Referring now to the drawings, exemplary embodiments of the present disclosure are described below. In the drawings for explaining the following exemplary embodiments, the same reference codes are allocated to elements (members or components) having the same function or shape and redundant descriptions thereof are omitted below.
First Embodiment
<1. Overall Configuration of Image Forming Apparatus and Hardware Configuration of Image Processing Apparatus>
First, an overall configuration of an image forming apparatus 100 according to an exemplary embodiment and a hardware configuration of an image processing apparatus (also called an image processing board) 120 of the image forming apparatus 100 are described.
The scanner unit 110 includes an image sensor in which a plurality of sensor elements is arranged in a main scanning direction. The term “image sensor” used herein includes, for example, a charge-coupled device (CCD), a contact image sensor (CIS), and a complementary metal oxide semiconductor (CMOS). The image sensor is disposed in a reading position to scan an original image in a main scanning direction when the original image is conveyed in a sub-scanning direction, thereby generating image data. Then, the image sensor transmits the generated image data to the image processing board 120.
The image processing board 120 as one example of an image processing apparatus performs various processes on the image data transmitted from the scanner unit 110. The present exemplary embodiment is described using an inclination correction process for correcting inclination of a document image in image data out of the various processes performed by the image processing board 120. Thus, in
As illustrated in
The DRAM 121 as one example of a memory temporarily retains the image data transmitted by the scanner unit 110. The image data is written in the DRAM 121 by the image processing ASIC 122 for each scanning line in the main scanning direction. Moreover, the image data written in the DRAM 121 is sequentially read by the image processing ASIC 122 fine by line.
The image processing ASIC 122 as an integrated circuit for image process writes the image data transmitted by the scanner unit 110 in the DRAM 121 for each scanning line in the main scanning direction, and sequentially reads the image data already written in the DRAM 121 line by line. Moreover, the image processing ASIC 122 performs the inclination correction process based on the read image data, and transmits inclination-corrected image data (image data of an original image area) to the printer unit 130.
The printer unit 130 prints a color image on a sheet (e.g., an output medium) according to a predetermined image forming method, for example, an electrophotographic method. If the electrophotographic method is employed, the printer unit 130 includes a plurality of units (each including an optical writing unit, a developing unit, a transfer unit, a fixing unit, a charging unit, and a cleaning unit) for different color around respective photoconductors that are rotated. The plurality of units is operated, so that the printer unit 130 prints a color image.
Particularly, the optical wiring unit emits writing light modulated based on the inclination-corrected image data to form an electrostatic latent image on the photoconductor uniformly charged by the charging unit. The developing unit supplies toner to the photoconductor on which the electrostatic latent image is formed to develop the electrostatic latent image as a toner image. The transfer unit sequentially transfers the toner images developed on the photoconductor to a sheet conveyed between the transfer unit and the photoconductor. The fixing unit fixes the toner image transferred to the sheet. The cleaning unit removes the toner remaining on the photoconductor. Such operations are performed by each of the plurality of units for the different color, so that printing of the inclination-corrected image data is completed.
<2. Functional Configuration of Image Processing ASIC>
Next, a function relating to the inclination correction process performed by the image processing ASIC 122 is described.
The data writer 210 writes the image data transmitted by the scanner unit 110 in the DRAM 121 for each scanning line in the main scanning direction. Moreover, the data writer 210 notifies each of the state detector 220 and the data reader 230 of a write line number indicating a line being written in the DRAM 121.
The image data is written in the DRAM 121 by the data writer 210. Meanwhile, the state detector 220 sequentially reads the image data line by line from the DRAM 121 upon receipt of the write line number notified by the data writer 210. The state detector 220 reads the image data of the predetermined number of lines. The state detector 220 detects two corners (right and left corners on a leading end side of the original image in a conveyance direction) of the original image based on the image data of the predetermined number of lines, and notifies the data reader 230 of position coordinates of the two detected corners as corner information.
Moreover, the state detector 220 calculates inclination of the original image with respect to the main scanning direction from relative positions of the two corners of the original image. Then, the state detector 220 notifies the data reader 230 of the calculated inclination as inclination data. Subsequently, the state detector 220 notifies the data reader 230 of a correction start instruction.
The image data is written in the DRAM 121 by the data writer 210. Meanwhile, the data reader 230 sequentially reads the image data line by line from the DRAM 121 upon receipt of the write line number notified by the data writer 210. Moreover, upon receipt of the correction start instruction from the state detector 220, the data reader 230 performs the inclination correction process on the image data read from the DRAM 121.
Particularly, the data reader 230 performs the inclination correction process on the read image data based on the inclination data and the corner information notified by the state detector 220 to generate inclination-corrected image data (image data of the original image area) line by line. In the present exemplary embodiment, a cycle in which the data reader 230 generates the inclination-corrected image data line by line is set shorter than a writing cycle in which image data is written in the DRAM 121 and a reading cycle in which image data is read from the DRAM 121.
According to the present exemplary embodiment, therefore, a delay of the inclination correction process with respect to the writing process for writing the image data in the DRAM 121 and the reading process for reading the image data from the DRAM 121 can be recovered although the inclination correction process begins after the collection start instruction is notified by the state detector 220. As a result, processing time from the beginning of the writing process for writing the image data in the DRAM 121 by the data writer 210 to the output of the inclination-corrected image data by the data reader 230 can be reduced.
When performing the inclination correction process, the data reader 230 sets a restrictive condition on progress of the inclination correction process (a detailed description is below) such that there is no mismatch between the inclination correction process and each of the writing process for wiring the image data in the DRAM 121 and the reading process for reading the image data from the DRAM 121.
<3. Overview of Each Process Performed by Inclination Corrector>
Next, a description is given of each of various processes (a writing process, a reading process, and an inclination correction process) performed by the inclination corrector 200.
Similarly, each of arrows L2 through L6 in
According to the present exemplary embodiment, in the image area which is formed by sequentially writing the image data of one scanning line in the main scanning direction in the DRAM 121, a coordinate in the sub-scanning direction is set as a y coordinate (a y coordinate corresponds to one pixel (i.e., one line) in the image area). That is, the writing position indicated by the arrow L1 is expressed by y coordinate=y1 in the image area. Similarly, the writing positions indicated by the arrows L2 through L6 are respectively expressed by y coordinates=y2 through y6 in the image area.
In
In an example illustrated in
In the example illustrated in
Moreover, in the present exemplary embodiment, when reading the lines in the reading positions indicated by the respective arrows L1 though L10 (the lines in a range indicated by an arrow 330 illustrated in
At this time, the state detector 220 notifies the data reader 230 of the corner information and the inclination data. Moreover, the state detector 220 notifies the data reader 230 of a correction start instruction.
In the example illustrated in
<4. Restrictive Condition on Inclination Correction Process>
Next, a description is given of a restrictive condition on progress of the inclination correction process performed by the inclination corrector 200. As described above, the data reader 230 sets the restrictive condition on progress of the inclination correction process such that there is no mismatch between the inclination correction process and each of a writing process for wiring image data in the DRAM 121 and a reading process for reading image data from the DRAM 121.
As mentioned above, the cycle of the inclination correction process performed by the data reader 230 is shorter than the cycle of the writing process for writing image data in the DRAM 121 and the cycle of the reading process for reading image data from the DRAM 121. Accordingly, in
Herein, although there is a plurality of pixels in the line l7, no pixel is provided in the left end of the original image area 340 as illustrated in
In other words, when the reading process by the data reader 230 has proceeded to only the reading position indicated by the arrow L13, the data reader 230 can execute the inclination correction process up to a line l6. Thus, the data reader 230 according to the present exemplary embodiment controls a difference between the current reading position and an inclination correction position such that the difference is greater than or equal to a difference indicated by an arrow 341 illustrated in
Therefore, the data reader 230 controls progress of the inclination correction process according to progress of the reading process determined with progress of the writing process. A restrictive condition herein can be calculated based on a difference between a position coordinate (y coordinate=y8) of a corner p2 in corner information and a position coordinate (y coordinate=y4) of an upper end of the original image area 340 generated by the inclination correction process.
The position coordinate (y coordinate=y4) of the upper end of the original image area 340 can be calculated based on the inclination data and a position coordinate of the rotation center. Hereinafter, a method for calculating the restrictive condition is described in detail.
<5. Restrictive Condition Calculation Method>
Herein, if coordinates of the two corners p1 and p2 are respectively set to (x1, y3) and (x2, y8), and coordinates of the corners P1 and P2 are respectively set to (x3, y4) and (x4, y4), a relation between the coordinates of the corners p1 and p2 and the coordinates of the corners P1 and P2 can be calculated by Expressions 1 and 2 below.
As described above, since the restrictive condition is calculated based on a difference (an amount of movement of the left corner p2 in the sub-scanning direction) between a position coordinate (y coordinate) of the corner P1 or P2 and a position coordinate (y coordinate) of the left corner p2, a restrictive condition α=y4−y8. That is, in the example illustrated in
<6. Functional Configuration of Data Reader>
Next, one example of a functional configuration of the data reader 230 is described with reference to
As illustrated in
The read controller 620 notifies the DRAM interface 630 of a reading process start instruction upon receipt of the notification indicating a write line number from the data writer 210. Moreover, the read controller 620 compares a line number being read (a read line number) notified by the DRAM interface 630 with a line number being in the inclination correction process (a correction line number) notified by the corrector 640 to determine whether the comparison result is less than the restrictive condition α. Moreover, if the comparison result is less than the restrictive condition α, the read controller 620 notifies the corrector 640 of a pause signal.
The DRAM interface 630 transmits a command request to the DRAM 121, and reads image data of each line upon receipt of the reading process start instruction from the read controller 620. The DRAM interface 630 notifies the corrector 640 of the read image data. Moreover, the DRAM interface 630 notifies the read controller 620 of a read line number.
The corrector 640 receives the image data from the DRAM interface 630. Moreover, the corrector 640 starts an inclination correction process on the image data notified by the DRAM interface 630 upon receipt of the correction start instruction from the state detector 220. The operations of the corrector 640 described herein are merely examples.
The corrector 640 notifies the read controller 620 of a correction line number. The corrector 640 temporarily stops the inclination correction process upon receipt of the pause signal from the read controller 620. Moreover, when the pause signal is cancelled, the corrector 640 resumes the inclination correction process. The corrector 640 outputs inclination-corrected image data that is generated by the inclination correction process.
<7. Inclination Correction Process Performed by Inclination Corrector>
Next, an inclination correction process performed by the inclination corrector 200 is described with reference to a flowchart illustrated in
In step S701, the data writer 210 starts a writing process by which image data is written in the DRAM 121 for each scanning line in the main scanning direction.
In step S702, the data writer 210 starts a process for notifying the data reader 230 of a write line number indicating a line being written in the DRAM 121.
In step S703, each of the state detector 220 and the data reader 230 starts a reading process by which image data is sequentially read from the DRAM 121 line by line.
In step S704, the DRAM interface 630 of the data reader 230 starts a process for notifying the read controller 620 of a read line number (y coordinate).
In step S705, the state detector 220 calculates corner information and inclination data based on the image data of the predetermined number of lines (e.g., image data of a line in each of reading positions indicated by respective arrows L1 through L10).
When the state detector 220 completes the calculation of the corner information and the inclination data based on the image data of the predetermined line numbers, the operation proceeds to step S706 in which the state detector 220 stops the image data reading process.
Subsequently, in step S707, the state detector 220 notifies the data reader 230 of the corner information, the inclination data, and a correction start instruction.
In step S708, the restrictive condition calculator 610 of the data reader 230 calculates a restrictive condition based on the corner information and the inclination data notified by the state detector 220.
In step S709, the corrector 640 of the data reader 230, based on the correction start instruction from the state detector 220, starts an inclination correction process on the image data sequentially read from the DRAM 121 line by line.
In step S710, the corrector 640 of the data reader 230 starts a process for notifying the read controller 620 of a correction line number (y coordinate).
In the step S711, the read controller 620 of the data reader 230 determines whether a difference between the read line number (y coordinate) and the inclination correction line number (y coordinate) is less than a restrictive condition α.
If the difference is less than the restrictive condition α (YES in step S711), the operation proceeds to step S712 in which the read controller 620 transmits a pause signal to the corrector 640. On the other hand, if the difference is greater than or equal to the restrictive condition α (NO in step S711), the operation proceeds to step S713.
In step S713, the corrector 640 of the data reader 230 determines whether the inclination correction process has been finished. If the inclination correction process has not been finished (NO in step S713), the operation returns to step S711. On the other hand, if the inclination process has been finished (YES in step S713), the operation proceeds to step S714. In step S714, the corrector 640 outputs inclination-corrected image data generated by the inclination correction process (image data of the original image area 340).
<8. Timing Chart of Inclination Correction Process>
Next, one example of a timing chart of the inclination correction process is described with reference to
In
A read line 820 indicates lines that are respectively read at the times 811 through 817.
A correction start instruction signal 830 indicates a signal of a correction start instruction transmitted from the state detector 220 to the data reader 230, and a time 831 indicates a time at which the correction start instruction signal 830 is transmitted.
A correction line synchronization signal 840 indicates a signal for an inclination correction process preformed on image data of each read line. Each of times 841, 843, 844, 845, 846, and 848 indicates a time when the inclination correction process is performed. An inclination correction process cycle is shorter than the reading cycle. However, since the inclination correction process temporarily stops if the aforementioned difference is less than the restrictive condition α, the inclination correction process cycle is not constant.
A correction line 850 indicates a line that has undergone the inclination correction process. A pause signal 860 indicates a pause signal transmitted from the read controller 620 to the corrector 640, and a time 861 indicates a time when the pause signal is transmitted.
In
In
On the other hand, at a time 847 of the correction line synchronization signal 840, the read line 820 remains in the line L13 (y coordinate=y13), whereas the correction line 850 indicates a line l7 (y coordinate=y10). Thus, a difference line (a y-coordinate difference) is three lines (which is less than the restrictive condition (α=4)), and the pause signal 860 is output at the time 861. As a result, the next correction line l7 is not formed at the time 847 of the correction line synchronization signal 840.
However, at a time 848 of the correction line synchronization signal 840, the read line 820 indicates a line L14 (y coordinate=y14) and the correction line 850 indicates the line l7 (y coordinate=y10). That is, a difference line (a y-coordinate difference) is four lines (equal to or greater than the restrictive condition (α=4)) again. Hence, the correction line l7 is formed in a position of y coordinate=y10.
<9. Summary>
Therefore, the image processing apparatus of the present exemplary embodiment can provide following points. The image processing apparatus reads image data line by line, and calculates a restrictive condition with respect to the read image data such that there is no mismatch between a reading process and an inclination correction process when the inclination correction process is performed. The image processing apparatus calculates the restrictive condition based on an amount of movement in a sub-scanning direction of a predetermined corner before and after the correction of the original image. The image processing apparatus restricts progress of the inclination correction process if a difference between a reading position at a reading process and a correction position at the inclination correction process is less than the restrictive condition.
Therefore, even if the inclination correction process is performed at a high speed, the image processing apparatus can appropriately generate inclination-corrected image data.
Second Embodiment
The first exemplary embodiment has been described using an example of a restrictive condition calculation method when an original image is inclined counterclockwise. However, an original image may be inclined clockwise.
Herein, if coordinates of the two corners p1 and p2 are respectively set to (x1, y3) and (x2, y8), coordinates of the corners P1 and P2 can be respectively calculated to (x3, y5) and (x4, y5) based on the above-described Expressions 1 and 2. Since a restrictive condition is calculated from a difference (an amount of movement of the right corner p2 in a sub-scanning direction) between a position coordinate (y coordinate) of the corner P1 or P2 and a position coordinate (y coordinate) of the right corner p2, a restrictive condition β=y5−y8. That is, in the example illustrated in
Accordingly, even if an original image is inclined clockwise, a restrictive condition α can be calculated, and the calculated restrictive condition α can be used for an inclination correction process. Thus, as similar to the above exemplary embodiment, even if the inclination correction process is performed at a high speed, the image processing apparatus can appropriately generate inclination-corrected image data (image data of an original image area 910).
Other Embodiments
In each of the first and second exemplary embodiments, a restrictive condition α is defined as a difference between a reading position and a correction position, and a difference between a read line number and a correction line number is monitored. However, a relation between a write line number and the read line number may be defined beforehand. In such a case, a restrictive condition α can be defined as a difference between a writing position and a correction position, and a difference between the write line number and the correction line number can be monitored.
Moreover, in each of the first and second exemplary embodiments, a restrictive condition is arranged for a high-speed inclination correction process to prevent delay in reading of a pixel to be used for formation of a correction line. However, an advantage of the restrictive condition is not limited thereto. For example, arrangement of the restrictive condition enables an original image area 340 or 910 having a correct length in a sub-scanning direction to be output.
Moreover, in each of the first and second exemplary embodiments, the state detector 220 calculates inclination data based on the image data read from the DRAM 121. However, an inclination detection sensor may be disposed in a reading position in which an image sensor is disposed. In such a case, the inclination detection sensor detects inclination data.
Moreover, in each of the first and second exemplary embodiments, an image sensor of the scanner unit 110 is disposed in a reading position, and conveyance of an original image moves the original image in a sub-scanning direction with respect to the image sensor. However, the configuration for relatively moving the original image in the sub-scanning direction with respect to the image sensor is not limited thereto. For example, a position of an original image can be fixed, and an image sensor can be moved in a sub-scanning direction with respect to the original image.
Moreover, each of the first and second exemplary embodiments has been described using an example case in which the image forming apparatus 100 includes the scanner unit 110, the image processing board 120, and the printer unit 130. That is, the image forming apparatus 100 has a scanner function and a copy function (a scanner function and a printer function). However, the image forming apparatus 100 does not necessarily include the printer unit 130. That is, the image forming apparatus 100 can simply include a scanner function, and display, store, or transmit inclination-corrected image data.
Moreover, the first exemplary embodiment has been described using an example case in which the inclination corrector 200 operates on an integrated circuit. However, a storage medium in which a software program code (an image processing program code) for performing a function of the inclination corrector 200 is recorded may be supplied to an image processing apparatus. In such a case, a computer of the image processing apparatus reads the program code recorded in the storage medium to execute the program code, thereby performing a function of the inclination corrector 200.
The present disclosure has been described above with reference to specific exemplary embodiments but is not limited thereto. Various modifications and enhancements are possible without departing from scope of the disclosure. It is therefore to be understood that the present disclosure may be practiced otherwise than as specifically described herein. For example, elements and/or features of different illustrative exemplary embodiments may be combined with each other and/or substituted for each other within the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
2016-213097 | Oct 2016 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5912448 | Sevier | Jun 1999 | A |
6999209 | Kelly | Feb 2006 | B2 |
7690745 | Ouchi | Apr 2010 | B2 |
8903173 | Cooper | Dec 2014 | B2 |
20060039628 | Li | Feb 2006 | A1 |
20090268264 | Minamino | Oct 2009 | A1 |
20110085216 | Noh | Apr 2011 | A1 |
20150319335 | Baba | Nov 2015 | A1 |
20170187916 | Ohta et al. | Jun 2017 | A1 |
Number | Date | Country |
---|---|---|
2001-101399 | Apr 2001 | JP |
2006-296640 | Nov 2006 | JP |
2017-118454 | Jun 2017 | JP |
Number | Date | Country | |
---|---|---|---|
20180124268 A1 | May 2018 | US |