An apparatus, method, and computer program for reducing distortion of a scanned image upon a resume after a pause by a scanner. A default phase difference is calculated by the computer program before the scan starts. The default phase difference is based on a phase relationship between a step signal, an integration signal, and a number of backward steps. The default phase difference is used to control the resumption with a relatively small number of circuit elements.
|
5. A computer program embodied on a computer-readable medium for controlling a scanner configured to scan an image with a sensor, comprising:
a computer-readable medium; and a phase difference calculation subroutine, embodied on said computer-readable medium, configured to calculate at least one phase difference value based on a phase difference between an integration signal having an integration period in which a sensor scans a line of an image and a step signal having a step period in which a step of relative movement between said image and said sensor is performed.
1. A method of controlling a scanner configured to scan an image with a sensor, comprising the steps of:
monitoring an integration signal having an integration period in which a line of an image is scanned and a step signal having a step period in which a step of relative movement between said image and a sensor is performed, wherein a phase difference is a comparative characteristic between said step signal and said integration signal; and calculating at least one phase difference value based on said phase difference between said integration signal and said step signal.
9. An apparatus including a circuit for controlling a scanner configured to scan an image with a sensor by relative movement therebetween in units of steps, said circuit comprising:
a phase difference storage circuit configured to store at least one phase difference value based on a phase difference between an integration signal having an integration period in which a line of an image is scanned and a step signal having a step period in which a step of relative movement between said image and a sensor is performed; and a control circuit, coupled to said phase difference storage circuit, configured to receive a pause signal, said integration signal, a processor clock signal, and said phase difference value, and in accordance therewith to generate a step control signal.
2. The method of
calculating, when a first integration pulse related to said integration period and a first step pulse related to said step period have a phase difference of zero, a first phase difference value based on a phase difference between a previous step pulse and a previous integration pulse that immediately precedes said previous step pulse; and calculating a second phase difference value based on a phase difference between a second step pulse and a second integration pulse that immediately precedes said second step pulse.
3. The method of
generating said integration signal; generating said step signal; receiving a pause signal; pausing generation of said step signal after receipt of said pause signal; and resuming generation of said step signal in accordance with said integration signal, said step signal, and said at least one phase difference value.
4. The method of
moving said sensor relatively backward over a number of lines of said image, before said step of pausing; and moving said sensor relatively forward, after said step of resuming.
6. The computer program of
said phase difference calculation subroutine is further configured to calculate at least a first phase difference value based on a difference between said integration period and a remainder of one or more step periods divided by said integration period.
7. The computer program of
said one or more step periods correspond to one or more steps in a backward direction that said sensor is configured to take.
8. The computer program of
an interface subroutine configured to enable said phase difference value to be transmitted to a scanner.
10. The apparatus of
an integration signal generator circuit, coupled to said control circuit, configured to generate said integration signal; a step signal generator circuit, coupled to said control circuit, configured to receive said step control signal and in accordance therewith to selectively generate said step signal; and a processor clock signal generator circuit, coupled to said control circuit, configured to generate said processor clock signal having a period less than said integration period and less than said step period.
11. The apparatus of
a counter circuit configured to receive said processor clock signal, a resume signal, and said at least one phase difference value, and in accordance therewith to count pulses of said processor clock signal and to generate a counter signal when a pulse count equals one of said at least one phase difference value; and a subcontrol circuit, coupled to said counter circuit, configured to receive said pause signal, said integration signal, and said counter signal, and in accordance therewith to pause generation of said step control signal after receiving said pause signal in said first state, to generate said resume signal after receiving said pause signal in said second state and a pulse of said integration signal, and to resume generation of said step control signal after receiving said counter signal.
12. The apparatus of
said phase difference storage circuit is configured to receive at least one first phase difference value and in accordance therewith to store said at least one first phase difference value, and to receive at least one second phase difference value and in accordance therewith to store said at least one second phase difference value; said control circuit is further configured to generate said at least one second phase difference value based on a phase difference between a first step pulse of said step signal and a first integration pulse of said integration signal that immediately precedes said current step pulse; and said control circuit is further configured to generate said step control signal based on one of said at least one first phase difference value and one of said at least one second phase difference value.
13. The apparatus of
said phase difference storage circuit is further configured to receive said at least one first phase difference value from an associated computer.
14. The apparatus of
said phase difference storage circuit is configured to receive a plurality of phase difference values and in accordance therewith to store said plurality of phase difference values; said control circuit is further configured to generate each of said plurality of phase difference values based on a phase difference between a current step pulse of said step signal and a current integration pulse of said integration signal that immediately precedes said current step pulse; and said control circuit is further configured to generate said step control signal based on one of said plurality of phase difference values.
15. The apparatus of
a scanner incorporating said circuit.
|
1. Field of the Invention
The present invention relates to scanners in which the integration period is not an integer multiple of the step period. In particular, the invention relates to timing a resume after a pause for scanners in which the integration period is not an integer multiple of the step period.
2. Description of the Related Art
Scanners generate data at a rate proportional to a processor clock signal. The duration of a scan is thus the amount of data to scan divided by the rate. The amount of data to scan is determined by the horizontal resolution, the horizontal size, the vertical resolution, and the vertical size. Scanners transfer the scanned data to an associated device (usually a computer) at a rate generally less than the processor clock speed. Thus, data accumulates at the scanner faster than it can be transferred. Many scanners include a buffer to hold the accumulated data.
Unfortunately, the accumulated data backlog is often greater than a desired size for the buffer. Such desired size is usually measured by cost, with a large enough buffer to hold the largest possible data accumulation being expensive and usually inefficient because often the largest possible data backlog will not be generated. A typical solution, instead, is to provide a moderately-sized buffer and then pause generation of the scanned data until the buffer has been emptied.
The amount of time the scanner takes to process one line of an image is called the integration period. An "integration signal" is a series of pulses spaced apart from one another by the integration period. A horizontal sensor in the scanner reads one line of the image. Data processing hardware in the scanner uses the integration signal to time its processing of the data from the sensor.
A stepper motor moves the sensor vertically down the image. (Some scanners move the image instead of the sensor, and some scanners move a vertical sensor horizontally, but the principles are the same.) A "step" is a unit of vertical movement. (Some scanners move the sensor in units of microsteps, but the principles are the same.) The amount of time the scanner takes to move one step is called the step period. A series of pulses spaced apart from one another by the step period is called the step signal. So, the step signal drives the stepper motor.
Many scanners have sensors that are physically configured to scan an image at 600 dots per inch (DPI) or an integer fraction thereof: 300, 200, 150, 120, 100, 85.71, and 75 DPI. (Other resolutions are generally made by scanning at the next higher resolution and then processing the line data in software to reduce it to the desired resolution.) Many scanners also prefer to scan at the same vertical resolution as horizontal resolution. In such a situation the scanner is set such that one step is {fraction (1/600)}th of an inch, and the scanner takes an integer number of steps per integration period.
Region 28 is the area in which the sensor moves across lines of the image and detects the light levels thereof. In the middle of the sixth line, pause signal 24 goes high to indicate that the buffer is about to be full and the scanner should stop scanning. The scanner continues processing line six, although other scanners may be configured to stop processing immediately. If the scanner is scanning at more than one step per integration period then the stepper motor should continue stepping until the line has been completed, otherwise the partial data of the line may have to be discarded and the line re-scanned in its entirety upon resuming.
Upon de-assertion of the step signal 22 pulse, at the end of the sixth line, the data valid signal 26 goes low to indicate that the sensor has completed scanning line six, the last line to be scanned before the pause. Any light levels the sensor detects at this point should not be transferred into the buffer.
Ideally, the sensor would pause right at the start of line seven, because the pulses of step signal 22 could be paused at that point. However, the physical characteristics of the stepper motor and the sensor, such as the mass of the sensor and the finite torque of the stepper motor, result in nonideal conditions. These nonideal conditions may cause the sensor to continue moving into line seven, resulting in an inaccurate sensor position upon resuming. Similarly, nonidealities affect the resuming of sensor movement as well, causing the sensor to move with a nonuniform velocity when it is first restarted. This further increases distortion of the resulting scan.
Many scanners solve these problems by moving the sensor backward over previously-scanned lines during a pause. This solves the continued movement problem because the sensor can move backward enough to compensate for the continued forward movement. It solves the nonuniform velocity problem because the sensor can reach a constant velocity after accelerating over the previously-scanned lines.
As shown in
In region 34, no pulses of step signal 22 are generated as the scanner waits for the buffer to empty. Pulses of the integration signal 20 may continue, if desired. Near the end of region 34, the pause signal 24 changes to indicate that the buffer is no longer full and the scanner can resume moving and generating data.
In region 38, pulses of step signal 22 resume. These three pulses are to move the sensor forward again (over the reversed lines of region 30).
In region 40, after the three pulses of step signal 22 (in region 38), the data valid signal 26 goes high to indicate that the sensor is now at line seven, the correct line to resume generating data.
As detailed above, the scanner having the movement shown in
The first difference from
The second difference from
Thus, a way is needed to control resumption of generation of the step signal after a pause such that the effects of skipping and duplication can be reduced.
The present invention addresses these and other problems of existing scanners by providing an apparatus, method, and computer program for controlling a scanner to reduce distortion of a scanned image on a resume after a pause.
According to one embodiment, an apparatus according to the present invention has a circuit that reduces distortion by controlling a scanner configured to scan an image with a sensor by relative movement therebetween in units of steps. The circuit includes a phase difference storage circuit and a control circuit. The phase difference storage circuit is configured to store a phase difference value. The control circuit is coupled to the phase difference storage circuit and is configured to receive a pause signal, an integration signal, a processor clock signal, and the phase difference value, and in accordance therewith to generate a step control signal.
According to another embodiment, a method according to the present invention reduces distortion by controlling a scanner configured to scan an image with a sensor. The method includes the steps of monitoring an integration signal and a step signal, and calculating at least one phase difference value based on a phase difference between the integration signal and the step signal. The integration signal has an integration period in which a line of an image is scanned, and the step signal has a step period in which a step of relative movement between the image and the sensor is performed. The phase difference is a comparative characteristic between the step signal and the integration signal.
According to yet another embodiment, a computer program according to the present invention reduces distortion by controlling a scanner configured to scan an image with a sensor. The computer program includes a phase difference calculation subroutine configured to calculate a phase difference value based on a phase difference between an integration period in which a sensor scans a line of an image and a step period in which a step of relative movement between the image and the sensor is performed.
The step clock signal generator circuit 154 is configured to receive a step control signal 156 and to generate a step signal 158. The step signal 158 determines when the stepper motor of the scanner moves a step. The stepper motor may move the sensor, or it may move the image. The step signal 158 may be generated in units of microsteps if desired. The step control signal 156 selectively controls generation of the step signal 158. The step signal 158 may also indicate whether the steps are to be in the forward direction or the backward direction (over lines previously scanned). The step signal 158 may be provided to the other scanner components 155 that use it to generate movement.
The processor clock signal generator circuit 160 is configured to generate a processor clock signal 162. The processor clock signal 162 controls the rate at which pixels of the image are processed. Thus, the number of pixels to be processed in a line times the period of the processor clock signal 162 equals the period of the integration signal 152. The frequency of the processor clock signal may be about 6 MHz, although other speeds may be used as desired. The processor clock signal 162 may be adjustable as disclosed in copending application Ser. No. 09/166,871 as referenced above. The processor clock signal 162 will generally be much faster than the integration signal 152 and the step signal 158, so these signals 152 and 158 may be generated as fractions of the processor clock signal 162. The processor clock signal 162 may be provided to other scanner components 155 that use it to control pixel processing.
Phase difference storage circuit 164 is configured to store a phase difference value. The phase difference value is the phase difference between the integration signal 152 and the step signal 158 at a specified time, as further described below. The phase difference value may be in units of the period of the processor clock signal 162. The phase difference value may be calculated by the control circuit 166, by an associated computer 157, or by a program in the associated computer 157. The phase difference value may be a table of phase difference values corresponding to a plurality of phase differences between the integration signal 152 and the step signal 158.
The control circuit 166 is configured to receive the integration signal 152, the step signal 158, the processor clock signal 162, the phase difference value, and a pause signal 168. Alternatively, if the control circuit 166 is configured to calculate the phase difference value, then the control circuit 166 is configured to receive the integration signal 152, the step signal 158, the processor clock signal 162, and the pause signal 168. The other scanner components 155 use the pause signal 168 to indicate that the scanner's buffer is full and the scanner should stop generating data so that the buffer may be unfilled. When the control circuit 166 receives the pause signal 168, the control circuit 166 indicates with step control signal 156 that the step signal generator circuit 154 should stop generating the step signal 158. The absence of the step signal 158 causes the sensor to remain in its present location so that when the step signal 158 is restarted the sensor may resume at the line on which it paused.
The control circuit 166 generates the data valid signal 180 for the scanner components 155. The data valid signal 180 indicates that the scanner should stop processing data because a pause has been signaled, and indicates that the sensor is at the correct position to resume and the scanner can resume processing data.
The control circuit 166 may be configured to generate the step control signal 156 such that the step signal 158 also allows backward movement of the sensor. For example, when pause signal 168 indicates a pause, the control circuit 166 may not immediately stop generation of step control signal 156. Instead, control circuit 166 may be configured to continue generation of step control signal 156 for an amount of time corresponding to the desired number of backward steps, and the step signal 158 includes an indication that backward steps are to be made.
For example, as described above regarding
In region 28, the sensor is moving vertically across lines of the image. The sensor may instead be configured to move horizontally, and the scanner may instead be configured to move the image instead of the sensor. (These choices are not critical to the invention.) Each line is defined by pulses of integration signal 152.
The sensor is moved by the stepper motor, which moves a step every pulse of step signal 158. The stepper motor may instead move a fraction of a step, called a microstep, each step pulse.
The phase difference between a pulse of integration signal 152 and the immediately following pulse of step signal 158 is termed an integration-step phase difference. For example, the integration-step phase difference 182 is the phase difference between integration pulse 190 and step pulse 192.
When scanning the sixth line, the pause signal 168 goes high to indicate that the scanner should pause. After the scanner has finished processing line six, the data valid signal 180 changes to indicate that the scanner is no longer generating valid data. The data valid signal may instead change in the middle of processing the sixth line, but this is not preferred because it may necessitate rescanning line six in its entirety.
In region 30, the integration-step phase difference 184 is the phase difference that should be duplicated at resume for the sensor to continue moving as it was before the pause. Step signal 158 continues for a set number of steps (three in this instance) for the stepper motor to move the sensor backward.
In region 36, pulses of step signal 158 should be restarted at the integration-step phase difference 186 for the sensor to be over the seventh line at the desired time. This occurs when the integration-step phase difference 186 equals the integration-step phase difference 182. Thus, one goal of the present invention is to restart the step signal 158 such that the integration-step phase difference 186 equals the integration-step phase difference 182.
In region 40, scanning resumes at line seven. When the integration-step phase differences 182 and 186 are equal, then the integration-step phase differences 184 and 188 are equal, resulting in the sensor being in the correct position to scan line seven. The present invention makes the integration-step phase differences 182 and 186 equal as follows.
In
where N is the number of steps that were made in the reversal.
Thus, for the special case, the timing of the resumption of the step signal can be calculated based on quantities known at the beginning of a scan.
Step pulse 223 then begins the backward steps. In order to resume processing at the correct line, the scanner counts the two integration pulses 207 and 209 after the step pulse 221 (the present phase difference pulse) and stores this count value.
This can be seen from a comparison of
Counting the integration pulses 207 and 209 after the step pulse 221 allows an efficient resume when more than one integration pulse occur in a step period. Another option would be to resume processing on the first integration pulse 207 after the step pulse 225 and discard any duplicate data.
The control circuit 166 is configured to read the present phase difference when the pause signal 168 changes and to load it as the second phase difference value. The default phase difference value is preferably calculated by the computer before the scan begins because the number of steps to reverse, the integration period, and the step period are all known at that time. The circuit of
Then, pause signal 168 changes. The control circuit 166 loads the appropriate phase value, in this case the phase difference 182, as the count value. The circuit of
The subcontrol circuit 242 is configured to receive the pause signal 168, the integration signal 152, and the counter signal 244. The pause signal 168 has two states. The subcontrol circuit 242 is configured to selectively generate the step control signal 156 such that the step control signal 156 is paused after receiving the pause signal 168 in a first state, to generate the resume signal after receiving a pulse of the integration signal 152 and the pause signal 168 in a second state, and to selectively generate the step control signal 156 such that the step control signal 156 is resumed after receiving the counter signal 244.
More specifically, with reference to
Of course, instead of first counting down the integration-step phase difference 184 and then counting down the default phase difference value, this may be done in reverse order. In addition, when operating with the circuit of
In addition, the subcontrol circuit 242 selectively generates the data valid signal 180. More specifically, with reference to
For example, each pulse of the step signal 158 resets the count. At step pulse 221, the first integration pulse counted is 207. The pause signal 168 then goes high. The second pulse counted is 209, and the value of two is stored.
Then, with reference to
The computer program 254 may be configured to store a table of integration-step phase difference values like the circuit of FIG. 7B. In such a configuration the interface subroutine 258 may be configured to communicate the integration-step phase difference value to the scanner 250 in the middle of a scan after a pause, instead of before the scan. This configuration is less preferred because it involves interrupting the data transfer from the scanner 250 to the computer 252.
The computer program 254 may include other subroutines for controlling other aspects of the computer 252 and the scanner 250.
In step 262, the computer program transmits the default phase difference to the scanner hardware (see FIG. 9).
In step 264, the scanner hardware generates the integration signal 152 and the step signal 158. The scanner is now scanning an image.
In step 266, the scanner hardware detects that the buffer is approaching its capacity and generates the pause signal 168. The capacity threshold may be set at any suitable value, including completely full.
In step 268, the scanner hardware continues processing the current line. As described above, this simplifies resumptions because the sensor does not have to be in the same exact position within a line. This also allows the sensor to continue its movement. In addition, this may be more efficient because if the scan is not resumed at the same exact position within a line, the scan quality may decrease unless the entire line is re-scanned.
In step 270, the scanner has completed scanning the line and stores a present integration-step phase difference 184 between the integration pulse that ended the current line and the next step pulse (see region 30 in FIG. 4). The scanner also stores a count of integration pulses after a step pulse so that the data valid signal may indicate the proper line on which to resume processing.
In step 272, the scanner hardware continues generating the step signal 158 for a desired amount of time, but the stepper motor moves the sensor in a backward direction for N steps.
In step 274, the scanner hardware waits for the buffer to empty.
In step 276, the scanner hardware detects that the buffer is approaching empty and changes the pause signal 168 to so indicate. The empty threshold may be set at any suitable value, including completely empty. Ideally, the empty threshold is set such that the buffer is totally empty when data for the new line is starting to be generated.
In step 278, at the first integration pulse after the pause signal 168 has changed in step 276, the scanner hardware waits for a time period 186 corresponding to the default phase difference and the present integration-step phase difference 184 (see region 36 in FIG. 4).
Alternatively, as described above with reference to
In step 280, after waiting in step 278, the scanner hardware resumes the step signal 158. The sensor will then be in the correct position at the correct time to continue scanning the image.
In step 282, the scanner waits for N step pulses and then waits for the correct integration pulse, as described above with reference to
In step 284, the scanner resumes processing data from the sensor.
It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. It is intended that the following claims define the scope of the invention and that structures within the scope of these claims and their equivalents are covered thereby.
Hamilton, Frederick McGuire, Tom, Ronald Hou Kern
Patent | Priority | Assignee | Title |
6615115, | Apr 26 2000 | CEDAR LANE TECHNOLOGIES INC | Method of reducing scanning discontinuity |
7301680, | Sep 14 1999 | HEWLETT-PACKARD DEVELOPMENT COMPANY L P | Reduction of artifacts in a scanning device |
7345797, | Sep 14 1999 | Hewlett-Packard Development Company, L.P. | Reduction of artifacts in a scanning device |
8514467, | Oct 31 2008 | Brother Kogyo Kabushiki Kaisha | Device, computer readable medium and method for image reading |
8553296, | Mar 31 2010 | Brother Kogyo Kabushiki Kaisha | Image reading apparatus |
8619344, | Jul 08 2005 | Muller Capital, LLC | Method of image joining for scanner |
9604449, | Sep 13 2013 | Ricoh Company, Ltd. | Image forming apparatus, roll print medium conveyance control method and non-transitory computer readable recording medium |
Patent | Priority | Assignee | Title |
4314281, | Oct 12 1979 | Xerox Corporation | Shading compensation for scanning apparatus |
4327377, | Jun 06 1980 | The United States of America as represented by the Secretary of the Navy | Phase-slipped time delay and integration scanning system |
4375652, | Oct 22 1981 | International Business Machines Corporation | High-speed time delay and integration solid state scanner |
4523101, | Jul 23 1981 | Canon Kabushiki Kaisha | Image scanning system with signal integration time control |
4771333, | Jun 15 1987 | Xerox Corporation | System for minimizing residual charge carryover in an asynchronous raster input scanner |
4782840, | Mar 02 1984 | NEOPROBE CORPORATION, A CORP OF OHIO | Method for locating, differentiating, and removing neoplasms |
4839741, | Dec 07 1987 | Xerox Corporation | Image reproducing apparatus with CCD scanner and bubble jet printer simultaneously driven by a common belt in opposite directions and operated asynchronously |
4878119, | Feb 29 1988 | Xerox Corporation | System for synchronizing integration pulses with integration signal in an asynchronous raster input scanner |
5028887, | Aug 31 1989 | QUALCOMM INCORPORATED A CORPORATION OF DELAWARE | Direct digital synthesizer driven phase lock loop frequency synthesizer with hard limiter |
5043827, | Aug 03 1989 | Xerox Corporation | Combined asynchronous-synchronous document scanner |
5336878, | May 10 1993 | Hewlett-Packard Company | Variable speed single pass color optical scanner |
5369504, | Apr 09 1992 | Xerox Corporation | Method and apparatus for reducing image distortion in an asynchronous input scanner |
5416611, | Apr 28 1993 | Xerox Corporation | Raster input scanner with short and long integration periods |
5473445, | Jun 17 1992 | Hitachi, Ltd. | Image scanner and image scanning method |
5491397, | Apr 30 1992 | Murata Kikai Kabushiki Kaisha | Motor drive device using one-two phase excitation |
5519514, | May 22 1995 | Xerox Corporation | Color sensor array with independently controllable integration times for each color |
5541645, | Jul 28 1994 | Eastman Kodak Company | Method and apparatus for dynamically determining and setting charge transfer and color channel exposure times for a multiple color, CCD sensor of a film scanner |
5585620, | Dec 06 1993 | Nikon Corporation | Image signal resolution changing system |
5627367, | Oct 10 1995 | Sofield Science Services, Inc. | Radiation beam calibrater |
5682033, | Dec 08 1995 | The Titan Corporation | Digitizing CCD array system |
5687009, | Sep 28 1995 | Xerox Corporation | Device and method for maintaining image scanner data output rate without regard to scanline length while maintaining a constant integration time |
5703700, | Apr 04 1991 | ADAPTIVE TELECOM, INC | Method of enhancing a print of a transparency |
5716595, | May 06 1992 | Immunomedics, Inc. | Intraperative, intravascular and endoscopic tumor and lesion detection and therapy with monovalent antibody fragments |
EP671848, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 01 1999 | TOM, RONALD HOU KERN | National Semiconductor Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 009771 | /0476 | |
Feb 01 1999 | HAMILTON, FREDERICK MCGUIRE | National Semiconductor Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 009771 | /0476 | |
Feb 08 1999 | National Semiconductor Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Oct 11 2005 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 09 2009 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 25 2013 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Apr 09 2005 | 4 years fee payment window open |
Oct 09 2005 | 6 months grace period start (w surcharge) |
Apr 09 2006 | patent expiry (for year 4) |
Apr 09 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 09 2009 | 8 years fee payment window open |
Oct 09 2009 | 6 months grace period start (w surcharge) |
Apr 09 2010 | patent expiry (for year 8) |
Apr 09 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 09 2013 | 12 years fee payment window open |
Oct 09 2013 | 6 months grace period start (w surcharge) |
Apr 09 2014 | patent expiry (for year 12) |
Apr 09 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |