System and method for reading marks on a document
AssigneeComputer Election Systems
InventorsM. Charles Fogg, Charles F. Krieger, John R. Veale
Life of this patent
Estimating the term…
Abstract
A microprocessor based mark-sense ballot card reading system has automatic mark detection threshold adjustment, automatic skew and card speed correction, and provision for simultaneous, accurate reading of both sides of a ballot card regardless of card input orientation. A multidispatch, miltipage real time control program is utilized to enable multiple event detection on each card side and asynchronous processing of such multiple events on a two-sided card. Positive document sensing and control are monitored by the microprocessor control system. A folded card path card transport mechanism with diverter stations operates under microprocessor control to determine card destination.
Claims58
In a system for reading marks on a document having at least one mark track comprising a plurality of prearranged candidate mark regions with blank regions therebetween,
- reading means including illuminating means for directing a beam of light to a prearranged illumination region and sensing means for receiving one of reflected or transmitted values of illumination from said illumination region and producing an analog output signal representing said values of illumination;
- means producing relative scanning motion between said reading means and said mark track;
- signal conversion means for sampling said analog output signal and converting sampled signals to corresponding binary digital words;
- and
- digital computer means coupled to said signal conversion means, including means for:
- acquiring at least one background digital word representing a background illumination value as said illumination region traverses each said blank region of said mark track and a plurality of candidate digital words representing a plurality of sequential illumination levels from subregions of each candidate mark region, calculating a separate digital mark detect threshold word value for each of said candidate mark regions as a prearranged function of at least one background digital word associated with an adjacent blank region, and registering a mark in a candidate mark region when the value of one of said candidate digital words is less than or equal to said associated digital mark detect threshold word value.
In a method for detecting marks on a document having a mark track comprising a sequence of candidate mark regions separated by blank regions, the steps of:
- scanning said mark track with a small area light source and an associated light sensitive detector for producing an analog output signal representing transmitted or reflected illumination levels from said mark track,
- converting said analog output signals into a sequence of corresponding binary digital words grouped as blank region words and candidate region words;
- calculating a separate digital mark detect threshold for each said candidate mark regions as a prearranged function of at least one of said blank region words derived from at least one adjacent blank region;
- comparing the values of a preselected plurality of candidate region words associated with each candidate mark region with said digital mark detect threshold for said candidate mark regions;
- and
- registering the presence of a mark in said candidate mark region if the value of any of said candidate region words is less than or equal to said digital mark detect threshold.
The method of 10, applied to detecting marks on a document which also has a timing track thereon extending parallel to said mark track and comprising a sequence of timing marks separated by blank timing track regions, the leading edges of successive timing marks generally defining the beginning and ending of a scan subinterval including a blank region and candidate mark region of said mark track, said method further including the steps of:
- scanning said timing track with a second small area light source and an associated light sensitive detector for producing a second analog output signal representing transmitted or reflected illumination levels from said timing track at the same time as said mark track is being scanned by said first light source and said first light sensitive detector;
- converting said second analog output signals into a sequence of corresponding binary digital words at least while scanning a substantial portion of each blank timing track region preceding each timing mark and the leading edge of each timing mark;
- calculating a separate timing mark detect threshold for each timing mark as a prearranged function of at least one digital word associated with a blank timing track region preceding said timing mark;
- comparing the values of said digital words derived from said second analog output signal with said timing mark detect threshold;
- and
- registering the leading edge of each timing mark when the value of one of said digital words derived from said second analog output signal is less than or equal to said timing mark detect threshold.
In a system for reading marks on a document having a mark track comprising a regular sequence of candidate mark regions and blank regions therebetween and a timing track extending parallel to said mark track and comprising a regular sequence of timing mark separated by blank timing track regions with said timing marks generally defining a scan subinterval of said mark track as the region between leading edges of a pair of successive timing marks and including one blank region and one candidate mark region, said mark track and said timing track being preceded by a skew detect pattern printed on said document at the same time as said timing marks and comprising separate skew bar marks aligned with said mark track and said timing track and equidistant from said skew sync mark,
- reading means including first and second illuminating means for separately directing a small spot of light onto said mark track and said timing track respectively, and first and second light sensing means receiving reflected or transmitted illumination from said small spot of light for producing first and second analog output signal representing the magnitude of detected illumination;
- means for scanning said reading means with respect to said skew detect pattern and said mark track and timing track;
- signals conversion means for converting the analog outputs of said light sensing means into corresponding word digital values;
- digital computer means coupled to said signal conversion means for acquiring and analyzing digital word values representing illumination values received from said skew detect pattern and said mark track and timing track;
- said digital computer means includes means for:
- operating on digital word values acquired from said signal conversion means during scanning of said skew detect pattern to calculate a skew differential between said mark track and said timing track cumulatively due to any skew factor including, but not limited to, positional skew between said first and second light sensing means, scanning skew between said document and said reading means, and printing skew between the edges of said document and said mark track and said timing track;
- said digital computer means further includes means for operating on digital word values acquired from said signal conversion means during scanning of each said scan subinterval to detect the leading edge of associated beginning and ending timing marks and to utilize said calculated skew differential between said mark track and said timing track to appropriately position a candidate mark data analysis window to analyze only digital word values acquired from substantially the actual candidate mark region of said mark track within said scan subinterval.
In a system for reading marks on a document having at least one mark track comprising a regular sequence of candidate mark regions with blank regions therebetween and a timing track extending parallel to said mark track and comprising a regular sequence of timing marks separated by blank timing track regions, said timing marks generally defining the top and bottom boundaries of a scan subinterval including a blank region and a candidate mark region of said mark track, said document further having top and bottom header sections each having an orientation code track located thereon and comprising a unique document orientation code, one of said code track locations being aligned with a mark track or said timing track and the other being located symmetrical with the first in the other header section on said document and aligned with a mark track or said timing track,
- reading means including separate illumination means for directing a small spot of light onto each mark track and said timing track and associated light sensing means for receiving reflected or transmitted illumination from each said small spots of light and producing analog output signals representing the magnitude of detected illumination,
- means for receiving said document in either top or bottom end first orientation and for transporting said document past said reading means;
- signal conversion means for converting the analog output signals of said light sensing means into corresponding digital word values;
- digital computer means coupled to said signal conversion means includes means for:
- acquiring and analyzing digital word values corresponding to output signals from an appropriate light sensing means associated with said orientation code track while one of said top or bottom header sections of said document is transported past said reading means, decoding said orientation code on said header section to determine which direction said document is being scanned, and thereafter using said decoded orientation code to control the acquiring and processing of digital word values corresponding to output signals from said light sensing means as digital words appropriately representing each mark track and said timing track.
In a system for simultaneously reading marks on a document having on each side at least one mark track comprising a sequence of prearranged mark regions with blank regions therebetween and a timing track extending parallel to said mark track and comprising a sequence of timing marks separated by blank timing track regions, said timing marks generally defining the top and bottom boundaries of a scan subinterval comprising a blank region and a candidate mark region of said mark track, said document further having top and bottom header sections on each side, each of said header sections having an orientation code track thereon comprising a unique document orientation code with said orientation code track locations in one of said header sections being aligned with a mark track or said timing track on each side of said document and the other being located symmetrical with the first and aligned with a mark track or said timing track,
- upper and lower reading means each including separate illumination means for directing a small spot of light onto each mark track, and said timing track and associated light sensing means for receiving reflected illumination from each small spot of light for producing output signals representing the magnitude of said detected illumination;
- means for receiving said document in any of the four possible orientations and for transporting said document between said upper and lower reading means;
- signal conversion means for converting the analog output signals of said light sensing means into corresponding digital word values;
- digital computer means coupled to said signal conversion means includes means for:
- acquiring and analyzing digital word values corresponding to output signals from the appropriate light sensing means in each said reading means associated with respective orientation code tracks while one of said top or bottom header sections is transported past said upper and lower reading means, decoding said orientation code to determine in which of said four orientations said document entered, and thereafter using said decoded orientation code to control the acquiring and processing of digital word values corresponding to output signals from said light sensing means in each reading means as digital words appropriately representing each mark track and each timing track on both sides of said document.
In a system for reading marks on a ballot card having at least one vote track on one side of said card,
- a card entry chute, an external card exit chute, and at least one internal card exit chute;
- card transport means, including motor driving means, for engaging a card inserted through said entry chute and transporting said card throughout an elongated card guide path to said exit chutes;
- card directing means mounted adjacent said internal card exit chute and selectively actuable to direct said card to one of said exit chutes;
- reading means mounted at a reading station near said card entry chute for detecting marks on said vote track as said card transport means transports said card past said reading station;
- separate card sensing means positioned in front of said reading station, and at each of said exit chutes for signalling the presence of a card at said locations;
- and
- digital computer means, including a central processing unit, first memory means for storing a firmware operating system, second memory means for storing data to be used by said firmware operating system and vote information detected on said vote track of a ballot card, and programmable input/output ports operating under the control of said central processing unit for inputting and outputting data and control signals;
- said programmable input/output ports being coupled to said drive motor and said card directing means to output operating control signals thereto and being coupled to said reading means and said card sensing means for inputting data signals therefrom;
- said firmware operating system including means for:
- programming said central processing unit to execute a sequence of input-output operations via said programmable input and output ports including inputting data from said card sensor at said entry chute to detect entry of a card and responding by outputting a control signal to turn on said motor in said card transport means, acquiring and processing data from said reading means as said card is transported past said reading station to detect marks on said vote track and storing said detected marks in said second memory means, and outputting control signals to said card directing means to direct said card to an appropriate exit chute based on said acquired and processed data from said reading means.
In a method for detecting marks on a document having a mark track comprising a regular sequence of candidate mark regions separated by blank regions and a timing track comprising a regular sequence of timing marks separated by blank timing track regions with the leading edges of successive timing marks defining a mark track scan subinterval including a blank region and a candidate mark region, the steps of:
- simultaneously scanning said mark track and said timing mark with separate small area light sources and associated light sensitive detectors for producing analog output signals representing transmitted or reflected illumination values from said tracks,
- sampling analog output signals representing illumination levels from said mark track at a rate independent of speed of said scanning;
- converting said sampled analog output signals into corresponding binary digital words grouped as blank region words and candidate words;
- temporarily storing candidate words for each scan subinterval;
- detecting the leading edge of each timing mark based on outputs from said associated light sensitive detector scanning said timing track;
- measuring the time between detected leading edges of successive timing marks as an indication of scanning speed for each scan subinterval;
- calculating an appropriately sized data analysis window for each scan subinterval as a function of said associated scanning speed;
- and
- examining the stored candidate words only within said data analysis window to determine the presence or absence of a mark within the associated candidate mark region.
Dependencies are inferred from the claim text.