The present invention relates to printers, printing, and printed image verification. More particularly, the present method and apparatus provides robust printed image verification for improving image quality during printing operation.
Notwithstanding the revolution in digital communications and digital transmission/viewing of documents, hardcopy printed media printing onto tangible sheets of paper or labels—remains essential for many purposes. Hardcopy printing may be accomplished via multiple types of devices, including thermal printers, inkjet printing, and laser printers. For all hardcopy media and printing methods, an important objective is a high level of visual clarity of the final printed output. When a document is intended far conventional, narrative text or images to be read/viewed by a person, visual clarity ensures the document is both readable and aesthetically appealing.
Applicant has identified many deficiencies and problems associated with existing printers. For example, existing printers do not provide accurate determination of print quality, and/or fail to improve the quality of printed images.
In addition, existing printers fail to provide proper print registration, “Proper print registration” means that the image occurs in the precise position as intended (an ideal position). Conversely, the image is not in register if any element of the image is misaligned or displaced, especially in reference to the edge of the print medium. Print registration errors can occur due to printer set-up and differences in print media. For example, the differences between printers and mechanical tolerances may cause the printed image not be aligned properly in the printhead direction (left to right) (i.e., the printed image may be horizontally offset such that an element (part of) the printed image is too close to the edge of or outside a print area of the print medium). During the printing process, the prim media may also drift horizontally in the printhead direction (left and/or right). In these situations, there is a risk of the printed image being horizontally offset as compared to the ideal position, causing the printed image to no longer be machine-readable. The failed printed media needs to be reprinted, print media re-aligned, and/or printer configuration(s) changed before further printing, resulting in lost time and materials. Further, when printing barcodes, the printed barcode may include a distortion. The distortion may occur if a user uses an excessive thermal printhead temperature in an attempt to obtain better graphics and for other reasons. None of existing printers have been successful in reliably and consistently printing images that are in register.
Accordingly, in one aspect, the present system and method solves the problem by employing two scanners, which, in an embodiment, may both be within the printer itself. The scanners may employ 1D or 2D images sensors, such as charge-coupled device (CCD), a complementary metal-oxide-semiconductor (CMOS) or a contact image sensor (CIS). A. first scanner is configured to scan the print media as it is fed into the printer and detect any pre-printed matter. A second scanner is configured to scan the print media after the print operation. A hardware processor is configured to compare the second scan against the first scan to determine what the printhead or print roller (or similar print element) actually or effectively printed onto the paper.
In another aspect, the present system and method solves the problem via computer software which controls a hardware processor of the printer. Under software control, the hardware processor receives image data from a first scanner, which scans the print media as it is fed into the printer and detect any pre-printed matter. The hardware processor also receives image data from a second scanner, which scans the print media after the print operation. The suitably programmed hardware processor then compares the second scan against the first scan to determine what the printhead or print roller (or similar print element) actually or effectively printed onto the paper.
In another aspect, the present system and method solves the problem via a method employed on a processor-based system of a printer. The method employs the hardware processor to receive image data from a first scanner, which scans the print media as it is fed into the printer and detects any pre-printed matter. The method also employs the hardware processor to receive image data from a second scanner, which scans the print media after the print operation. The method then compares the second scan against the first scan, to determine what the printhead or print roller (or similar print element) actually or effectively printed onto the paper.
In accordance with various embodiments, a method for evaluating the print quality of a printed document is provided. The method comprises scanning, via a pre-print image scanner of said printer, a print media which is to be imprinted with said source digital image to generate a pre-printing image of said print media, wherein said pre-printing image comprises an image of any markings, banner or background pre-printed on said print media; printing on said print media, via a printhead of said printer, one or more new document elements based on the source image, yielding a printed document; scanning, via a post-print image scanner of said printer, the printed document to generate a post-printing image of said printed document; wherein: said post-printing image comprises: the image of the markings, banner or background pre-printed on said print media; and the one or more new document elements; generating, via said hardware processor, a validation image by subtracting said pre-printing image from said post-printing image.
In some embodiments, the method further comparing, via said hardware processor, the validation image with the source image, wherein said hardware processor identifies any differences between said validation image and said source image; and determining via said hardware processor, based on said differences, whether the printing on said print media of the source image resulted in a valid printed document or an invalid printed document.
In some embodiments, the method further comprises applying, via the hardware processor, to the differences between said validation image and said source image, a comparison criteria indicative of whether a printed document is valid or invalid.
In some embodiments, said comparison criteria defines a magnitude of the differences between the validation image and the source image.
In some embodiments, said comparison criteria distinguishes a valid printed document from an invalid printed document based on specifying a threshold value which separates an acceptable magnitude of differences from an unacceptable magnitude of differences.
In some embodiments, said magnitude of the differences comprises at least one of a magnitude of a contrast between a newly printed document element and the markings, banner or background pre-printed on said printed document; a degree of displacement of the newly printed document element as compared with a placement of the corresponding element of said source image within the complete source image; and a degree of edge sharpness or edge blur of said newly printed document element as compared with a degree of edge sharpness or edge blur of the corresponding element of said source image.
In some embodiments, said comparison criteria identifies a type of the differences between the validation image and the source image.
In some embodiments, said comparison criteria distinguishes a valid printed document from an invalid printed document based on defining an acceptable type of differences versus an unacceptable type of differences.
In some embodiments, said type of differences of the comparison criteria comprises at least one of: a difference between a coded symbol of the source document and a corresponding coded symbol of the validation image; and a difference between an alphanumeric text of the source document and a corresponding alphanumeric text of the validation image.
In accordance with various embodiments, a method for evaluating the print quality of a printed document is provided. The method comprises obtaining at a hardware processor of the printer a raster source image of a source page to be printed, said source image comprising an intended print content; scanning, via a pre-print image scanner of said printer, a print media which is to be imprinted with said source digital image, wherein said printer generates a pre-printing image of said print media; printing on said print media, via a printhead of said printer, one or more new document elements based on the source image, yielding a printed document; scanning, via a post-print image scanner of said printer, the printed document, wherein said printer generates a post-printing image of said printed document, said post-printing image comprising the one or more new document elements: comparing, via said hardware processor, the pre-printing image, the post-printing image, and the source image, wherein said hardware processor identifies a difference between the one or more new document elements and the intended print content; and determining via said hardware processor, and based on said difference, whether the printing on said print media of the source image resulted in a valid primed document or an invalid printed document.
In some embodiments, comparing the pre-printing image, the post-printing image, and the source image comprises generating, via said hardware processor, a validation image which is generated by digitally subtracting said pre-printing image from said post-printing image. Said pre-printing image comprises an image of any element which was pre-printed on said print media. Said post-printing image comprises: the image of the any element pre-printed on said print media. Said one or more newly imprinted document elements comprise at least one of new alphanumeric text, new symbols, and new graphics. Said validation image comprises the newly imprinted document elements without the image of any pre-primed elements.
In some embodiments, identifying a difference between the one or more newly imprinted document elements and the intended print content comprises comparing, via said hardware processor, the validation image with the source image.
In some embodiments, the method further comprises applying, via the hardware processor, to the difference between said validation image and said source image, a comparison criteria indicative of whether a printed document is valid or invalid.
In some embodiments, said comparison criteria defines a magnitude of the difference between the validation image and the source image; and said comparison criteria further distinguishes a valid printed document from an invalid printed document based on specifying a threshold value which separates an acceptable magnitude of difference from an unacceptable magnitude of difference.
In some embodiments, said comparison criteria identifies a type of difference between the validation image and the source image. Said comparison criteria further distinguishes a valid printed document from an invalid primed document based on defining an acceptable type of difference versus an unacceptable type of difference.
In accordance with various embodiments, a method for evaluating the print quality of a printed document is provided. The method comprises obtaining at a hardware processor a source image of a source page to be printed; obtaining at the hardware processor a pre-print image comprising an image of a print media prior to printing, said pre-print image comprising any pre-printed elements on said print media.; obtaining at the hardware processor a post-print image comprising an image of the printed document, said post-printing image comprising the pre-printed elements and one or more newly imprinted document elements; generating, via said hardware processor, a modified post-print image by subtracting the pre-print image from the post-print image.
In some embodiments, the method further comprises comparing, via said hardware processor, the modified post-printing image and the source image, wherein said hardware processor identifies a difference between the newly imprinted document elements and the source image; and determining via said hardware processor, and based on said difference, whether the printing on said print media of the source image resulted in a valid printed document or an invalid printed document.
In some embodiments, the method further comprises printing on said print media, after obtaining the pre-print image and before obtaining the post-prim image, and via a printhead of a printer coupled with said hardware processor, the one or more new document elements based on the source image, yielding the printed document for post-scanning.
In some embodiments, the method further comprises obtaining said pre-print image from a first image scanner of said printer.
In some embodiments, the method further comprises obtaining said pre-print image from an image scanner external to said printer; and obtaining said post-print image from an image scanner external to said printer.
In some embodiments, the method further comprises obtaining both of said pre-print image and said post-print image from a single internal image scanner of said printer, wherein said print media is fed twice through said printer, first without printing and second with printing.
In some embodiments, the method further comprises replying, via the hardware processor, to the difference between said modified post-print image and said source image, a comparison criteria indicative of whether a printed document is valid or invalid, wherein said comparison criteria comprises at least one of: a magnitude of the difference between the validation image and the source image and a type of difference between the validation image and the source image.
In some embodiments, the method further comprises at least one of distinguishing a valid printed document from an invalid printed document based on an acceptable magnitude of difference versus an unacceptable magnitude of difference; and distinguishing a valid printed document from an invalid printed document based on an acceptable type of difference versus an unacceptable type of difference.
In accordance with various embodiments of the present invention, a method for printing an image on print media with a printer is provided. The method comprises receiving print data at least part of the print data used to generate the image; receiving a reference image or generating the reference image from at least part of the print data: storing the reference image in a memory of the printer; printing the image to obtain a printed image, capturing a representation of the printed image to obtain a captured image, determining if the captured image conforms to the reference image by comparing at least a portion of the captured image with a same portion of the reference image; and modifying at least part of the: print data used to generate the image prior to generating a succeeding image if the captured image does not conform to the reference image.
In some embodiments, the captured image comprises a barcode, and determining if the captured image conforms to the reference image comprises comparing the barcode of the captured image with a reference barcode in the reference image, wherein the captured image does not conform to the reference image if the barcode of the captured image includes a distortion not present in the reference barcode.
In some embodiments, modifying at least part of the print data comprises automatically adjusting the barcode in the print data used to generate the image for improving a print quality of the succeeding image comprising a printed barcode.
In some embodiments, automatically adjusting the barcode comprises at least one of removing a portion of and adding to each bar edge of the barcode in the print data used to generate the image, thereby maintaining overall dimensions in the printed barcode of the succeeding image.
In some embodiments, determining if the captured image conforms to the reference image comprises comparing a horizontal position of the printed image in the captured image with the horizontal position of the reference image, wherein the captured image does not conform to the reference image if There is an offset in the horizontal position of the printed image relative to the horizontal position of the reference image.
In some embodiments, the method further comprises prior to the modifying step, storing a value of the offset in the memory; and wherein modifying the print data used to generate the image results in modified print data and comprises shifting the print data used to generate the image by the value of the offset to reposition the succeeding image on the print media.
In some embodiments, shifting the print data used to generate the image comprises inserting or removing a margin in a left or right portion of the print data used to generate the image.
In some embodiments, the method further comprises, after shifting the print data used to generate the image: printing the succeeding image to obtain a succeeding printed image; capturing a succeeding representation of the succeeding printed image from the same printer to obtain a succeeding captured image; comparing the succeeding captured image with the reference image to determine if the succeeding captured image conforms to the reference image; and further shifting the modified print data used to generate the succeeding image if the succeeding captured image does not conform to the reference image, wherein the succeeding captured image does not conform to the reference image if there is an offset in the horizontal position of the succeeding printed image in the succeeding captured image relative to the horizontal position of the reference image.
In some embodiments, the printing, capturing, comparing, and further shifting steps are repeated until the succeeding printed image in the succeeding captured image conforms to the reference image.
In some embodiments, the method further comprises comparing the horizontal position of the succeeding printed image with the horizontal position of an immediately preceding printed image to determine if the print media is drifting during operation of the printer, wherein a difference in the horizontal position of the succeeding printed image relative to the horizontal position of the immediately preceding printed image comprises a drifting offset having a value; and further shifting the modified print data used to generate the succeeding image by the value of the drifting offset resulting in further modified print data before generating a next succeeding image using the further modified print data.
In some embodiments, the method further comprises shifting the print data by changing a user command.
In some embodiments, capturing the representation of the printed image comprises capturing the representation from at least one of: a first time use of the printer; a first time use of new print data; and a first time use of new print media stock.
In some embodiments, the method further comprises, prior to a first time use of the new print media stock, capturing a width of the new print media stock and shifting the print data based on the width to substantially center the succeeding image on a print medium.
In some embodiments, the captured image comprises a non-conforming captured image if the captured image does not confirm to the reference image, the method further comprising: generating a notice about the non-conforming captured image to a user of the printer.
In some embodiments, generating the notice comprises prompting the user to adjust the print media guide of the printer.
In accordance with various embodiments, the present invention embraces a method for printing an image on print media with a printer. The method comprises receiving print data, at least part of the print data used to generate the image. A reference image is received or generated from at least part of the print data. The reference image is stored in a memory of the printer. The image is printed to obtain a printed image. A representation of the printed image is captured to obtain a captured image. At least a portion of the captured image is compared with a same portion of the reference image to determine if the captured image conforms to the reference image. At least part of the print data used to generate the image is modified prior to generating a succeeding image if the captured image does not conform to the reference image.
In accordance with various embodiments, the present invention embraces a method for printing an image on print media. The method comprises receiving prim data, at least part of the print data used to generate the image. A reference image is received or generated from at least part of the print data and stored in a memory of a printer. The image is printed to obtain a printed image. A representation of the printed image is captured to obtain a captured image. The captured image is compared with the reference image to determine if a horizontal position of the printed image conforms to the horizontal position of the reference image, wherein the captured image comprises a non-conforming captured image if the horizontal position of the printed image in the captured image is offset from the horizontal position of the reference image, the offset having a value. The value of the offset is stored in a memory of the printer. The print data used to generate the image is shifted by the value of the offset to reposition a succeeding image on the print media.
In some embodiments, the image comprises a printed indicium. In some embodiments, shifting the print data used to generate the image comprises inserting or removing a margin in a left or right portion of the print data used to generate the image.
In accordance with various embodiments, the present invention embraces a method for improving print quality during operation of a printer. The method comprises printing a barcode on a print medium to obtain a printed barcode. The barcode is generated using print data. An image of the printed barcode is captured to obtain a captured image. The primed barcode in the captured image is compared with the reference barcode to determine if the printed barcode in the captured image conforms to the reference barcode of a reference image. The printed barcode does not confirm to the reference barcode if a distortion exists in the printed barcode that is not present in the reference barcode. The print data used to generate the barcode is modified prior to generating a succeeding barcode if the printed barcode in the captured image does not conform to the reference barcode.
In some embodiments, modifying the print data used to generate the barcode comprises at least one of removing a portion of and adding to each bar edge of the barcode in the print data used to generate the barcode, thereby maintaining overall dimensions in the succeeding barcode.
The foregoing illustrative summary, as well as other exemplary objectives and/or advantages of the present invention, and the manner in which the same are accomplished, are further explained within the following detailed description and its accompanying drawings.
Some embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the disclosure are shown. Indeed, these disclosures may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein: rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
Unless the context requires otherwise, throughout the specification and claims which follow, the word “comprise” and variations thereof, such as, “comprises” and “comprising” are to be construed man open sense, that is as “including, but not limited to.”
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The word “example” or “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
If the specification states a component or feature “may,” “can,” “could,” “should,” “would,” “preferably,” “possibly,” “typically,” “optionally,” “for example,” “often,” or “might” (or other such language) be included or have a characteristic, that a specific component or feature is not required to be included or to have the characteristic. Such component or feature may be optionally included. In some embodiments, or it may be excluded.
Various embodiments of the present invention will be described in relation to a thermal transfer printer. However, the present invention may be equally applicable to other types and styles of printers (inclusive of printer-verifiers) a thermal direct printer, a laser toner printer, an ink drop printer, etc.).
The headings provided herein are for convenience only and do not limit the scope or meaning of the claimed invention.
Quality of printed document may be assessed to identify printing problems. For example, embodiments of the present invention may scan a printed document after the printing process is complete, and identify errors in the final output. Improvements on print registration may also be provided. For example, to globally address a print registration error that is affecting a plurality of printed medium, a printhead in the printer may be mechanically adjusted to be centered over the print medium, the timing may be adjusted, etc.
Various embodiments of the present invention provide system and method for a printer to compare the final output of a print operation with the initial, preprinted contents of the print media that is fed to the printer. Such system and method can determine if the final output is not visually obscured by any initial, pre-printed contents of the fed print media.
Various embodiments of the present invention provide methods for printing an image on print media and for improving print quality during printer operation. For example, the present invention controls horizontal print registration of an image on a print medium and prints barcodes without distortion.
The terms “print media,” “physical print media,” “paper,” and “labels” refer to tangible, substantially durable physical material onto which text, graphics or images may be imprinted and persistently retained over time.
Physical print media are used for personal communications, business communications, to convey prose expression (including news, editorials, product data academic writings, memos, and many other kinds of communications), data, advertising, fiction, entertainment content, and illustrations and pictures.
Physical print media are generally derivatives of wood pulp or polymers, and includes conventional office paper, clear or tinted acetate media, news print, envelopes, mailing labels, product labels, and other kinds of labels. Thicker materials, such as cardstock or cardboard may be included as well. More generally, print media is used to receive ink, dye, or toner, or is a media Whose color or shading can be selectively varied (for example, through selective application of heat, light, or chemicals) to create a persistent visual contrast (in black and white, shades of gray, and/or colors) that can be perceived by the human eve as text, images, shapes, symbols, or graphics.
In exemplary embodiments discussed throughout this document, reference may be made specifically to “paper” or “labels;” however, the operations, system elements, and methods of such exemplary applications may be applicable to media other than or in addition to the specifically mentioned “paper” or “labels.”
A “printer” is a device which imprints text, images, shapes, symbols, or graphics onto print media to create a persistent, human-readable representation of the text, images, shapes, symbols, or graphics. Printers may include, for example, laser printers, light-emitting diode (LED) printers, inkjet printers, thermal printers, dot matrix printers, impact printers, and line printers.
Generally, printers are designed so that one or more sheets of paper, one or more labels, or other print media can be inserted or “fed” into the printer. For example, multiple sheets or other media can be inserted into a holding tray or other container element of the printer for temporary storage. In alternative embodiments, individual sheets of print media may be hand-fed into a printer one al a time. Command and content instructions are then sent to the printer electronically, for example, from an external computer that is communicatively linked to the printer. The printer feeds a sheet of paper, or a label, or other print media into itself and towards a printhead within the printer. The printhead of the printer then imprint the appropriate contents onto the print media.
Further, the term “printer” refers to both a punter-verifier (in which a printer and verifier are integrated in a single device) such as exemplified in
As depicted in
The term “utility documents” refers to documents used for labeling and routing of other documents or objects. For example, utility documents may include mailing labels: document covers: product, container or document identification labels; and bar codes or matrix codes which are printed onto labels, with the labels then being attached to other materials. If the text or the geometric symbologies on utility documents are blurred or incomplete, or are misaligned and possibly obscured by previously printed matter (for example, by pre-preprinted return addresses), items may fail to be properly routed, transmitted, or stored
In some instances, the print media which may be intended for printing is a completely blank print media, such as a blank sheet of paper or a blank label. Often, the sheet of paper or the label may be of uniform color (for example, plain white) with no other colors or markings on the page, although print media may have colors or textures.
In some instances, the print media (for example, paper or labels), when first fed or loaded into the printer, has at least one pre-printed document element such as preprinted text, markings, or logos. In other words, prior to a current print operation, there can be prior information on the print media that has been imprinted by some prior print process employing a prior printer, and is referred to as containing “pre-printed document element” or “pre-printed content.”
A common example is letterhead stationary, which is a sheet of paper that contains (often at the top) a personal or company name and other pertinent information, such as an address, phone number, e-mail addresses, etc. Another example is mailing label which may have a standardized or uniform return mailing address. Another example is product label with product identification and other information. Corporate and organization logos are often pre-printed as well, along with borders or similar ornamentation. If the printed document is only scanned after printing, the print-analysis software or module has no basis to distinguish the new content which was created by the printer from the pre-printing image.
In addition to, or in alternative to pre-printed document elements, some print media come from the manufacturer with a background and/or a border. Such a background may for example be a uniform color (other than white), a texture (for example, wood grains or marble grains, or other textures), or an ornamental border. Background colors, textures, and borders are referred to herein. (including in the appended claims) as a “background.”
As described above, media which is used or designated to be used for printing, and which includes pre-printed content (logos, banners, etc.) is referred to as “pre-printed media,” or equivalently, as “pre-printed labels” or “pre-printed paper.”
In some instances, when a printer is used to print on pre-printed media, it is usually desirable to not print the new text or graphics on top of the pre-print content. This is because the pre-print banner or logo may obscure the new content, and similarly the new content may obscure the pre-printed content. As such, areas or sections of the print media (such as paper or labels) which do not contain pre-printed content are considered most suitable for printing. Such area(s) may be referred to as the “print area” of the print media. (Other considerations may apply to designating print area(s) as well; for example, it may be desirable to maintain printed text or graphics as being at least a designated, minimum distance from the media margins, such as ½ inch or one inch from the margins.).
As described further below, the present invention embraces methods for printing an image on print media and improving print quality during printer operation. Various embodiments enable correct horizontal positioning of a printed image on a print medium. The term “correct horizontal positioning” means that the printed image is automatically and consistently printed as intended, such as within the boundaries of a print area of the print medium or at the center of the print medium, etc., depending on preference. Various embodiments enable positioning the image to be printed properly with regard to the horizontal edges of the print medium, such that the printing is reliably and consistently in horizontal register. Various embodiments enable the horizontal position to be fixed automatically for each print medium in real-time without user interaction.
As used herein. “horizontal position” refers to the weft direction perpendicular to the movement of the print media and parallel to the printhead. As used herein, the term “further shifting” means a shifting/movement relative to an original position. Various embodiments also enable printing barcodes without distortion while retaining better graphics intended by the user, as hereinafter described.
Most of the remaining area of the print media 100a is −typically designated for use for printing one or more new document elements, and may be referred to as print area 104a. In this regard, some space on print media 100a may be intended for use for page/label margins or to leave some “white space” around text/logo/banner 102, and is therefore not intended for printing. Print media 100a has not yet been run through a current print operation, so print area 104a is currently blank (empty).
Printed document 100b (also referred to herein as “printed media 100b”) is produced from the print media 100a (or an identical media), and the printed media 1006 has been run through a printer, with resulting printed output 106b. The printed output 106b is within the media's print area 104b.
However, error may occur in printing the printed media/document. Print media 100c (also referred to herein as “printed document 100c”) is produced from a print media as print media 100a, and the print media has been run through a printer, with resulting printed output 106c. In this instance, it is visually apparent that a printing error occurred: the printed output 106c is partly outside of the print area 104c, and pally overlaps with preprint text/logo/banner 102. The result is that both the printed output 106c and the preprint text/logo/banner 102 are partly obscured by each other, rending them difficult to read and likely invalid. Various embodiments of the present invention detect and correct such print errors.
Embodiments of the present invention may be implemented as apparatus and systems for verifying printed image and improving print quality.
The present system and method is applicable to different kinds of printers, including but not limited to laser printers, LED printers, inkjet printers, thermal printers, dot matrix printers, and others. For convenience, an exemplary laser printer is illustrated and discussed In some exemplary embodiments below, and these embodiments can be employed on other kinds of printers as well.
A. Primer and Printer with Verifier/Scanner
Referring now to
In various embodiments, the printer-verifier 200 is a thermal transfer printer-verifier that includes a ribbon supply spindle 230 contained within the body 218. A ribbon supply roll 208 is configured to be disposed on the ribbon supply spindle 230. The ribbon supply roll 208 comprises ink ribbon 202 wound on a ribbon supply spool 204. The ink ribbon supplies the media (e.g., ink) that transfers onto the print media. The printer-verifier 200 may further comprise a thermal printhead 216 utilized to thermally transfer a portion of ink from the ink ribbon 202 to the print media 212 as the ink ribbon is unwound from the ribbon supply spool 204 along a ribbon path (arrow B in
A media supply roll 210 comprises the print media 212 wound on the media supply spool 214. A media supply spindle 232 on which the media supply roll 210 is configured to be disposed is contained within the body 218. A ribbon rewind spindle 234 on which unwound ribbon is wound up may also be contained within the body 218. A ribbon take-up 206 may be disposed on the ribbon rewind spindle 234, although the ribbon take-up 206 on the ribbon rewind spindle 234 may not be necessary.
The printer-verifier 200 may further comprise one or more motors for rotating the ribbon supply spindle 230 and the ribbon supply roll 208 disposed thereon (if present) in a forward (arrow A in
The printer-verifier 200 may include a GUI 222 for communication between a user and the printer-verifier 200. The GUI 222 may be communicatively coupled to the other components of the printer-verifier for displaying visual and/or auditory information and receiving information from the user (e.g., typed, touched, spoken, etc.). As depicted in
Referring now to
The central processing unit (CPU) (i.e., the processor 220) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions as hereinafter described. The printer-verifier 200 may be communicatively connected using the communications module 242 to a computer or a network 244 via a wired or wireless data link. In a wireless configuration, the communications module 242 may communicate with a host device over the network 244 via a variety of communication protocols (e.g., WI-FI®, BLUETOOTH®), CDMA, TDMA, or GSM). In accordance with various embodiments of the present invention, the memory 240 is configured to store a print quality verification program 246, a reference image 248, an offset value 250, and a drifting offset value 252 as hereinafter described.
Still referring to
The processor 220 is further configured to determine if the captured image conforms to the reference image 248 by comparing at least a portion of the captured image with a same portion of the reference image. As described further below, determining if the captured image conforms to the reference image comprises comparing a horizontal position of the printed image in the captured image with the horizontal position of the reference image, wherein the captured image does not conform to the reference image if there is an offset in the horizontal position of the printed image relative to the horizontal position of the reference image.
As described further below, if the captured image comprises a barcode, determining if the captured image conforms to the reference image comprises comparing the barcode of the captured image with a reference barcode in the reference image, wherein the captured image does not conform to the reference image if the barcode of the captured image includes a distortion not present in the reference barcode.
Referring now to
Similar to the printer-verifier 200 described above in connection with
The printer 328 may further comprise one or more motors for rotating the ribbon supply spindle and the ribbon supply roll disposed thereon. (if present) in a forward or a backward rotational direction (dependent on the ink surface), for rotating the media supply roll disposed on the media supply spindle in a forward rotational direction, and for rotating the ribbon rewind spindle. In a direct transfer printer-verifier, the ribbon supply spool, the ribbon rewind spool, and the ribbon may be eliminated and a thermally sensitive paper substituted for the print media.
Similar to The printer-verifier 200 described above in connection with
The verifier 302 comprises imaging module 336, a memory (a verifier memory 314) communicatively coupled to the imaging module 336 and a central processing unit (CPU) (herein a “verifier processor” 310) communicatively coupled to the verifier memory 314 and imaging module 336. The verifier 302 may further comprise an ISO module 322 and a verifier communication module 316.
The subsystems in the verifier 302 of
While
The imaging module 336 disposed in verifier 302 is configured to capture the representation of the printed image (e.g. the printed barcode 301 on the print media 312 in
While a thermal transfer printer-verifier and printer are described, it is to be understood that various embodiments of the present invention may be used in other types of printers (e.g., ink-drop printer, laser-toner printer, etc.). It is also to be understood that the print media can be supplied from other than a media supply spindle (e.g., in a “fan-fold” configuration).
B. Primer with a Pre-Print image Scanner and a Post-Print Image Scanner
Laser printer 400 employs a laser 436 (for example, a semiconductor laser) to project laser light 420 onto an electrically charged, rotating cylindrical photoreceptor drum 428 (also referred to a “printhead 428”). The laser light 420 is suitably modulated (via printer electronics, discussed below) in accordance with a rasterized image (and/or rasterized text) on a source document page.
Photoconductivity on the photoreceptor drum 428 allows the charged electrons to fall away from the areas exposed to light. Powdered ink (toner) 412 particles are then electrostatically attracted to the charged areas of the photoreceptor drum 428 that have not been laser-beamed. Print media 401a, such as paper or other print media (such as acetate or labels, etc.), is passed through laser printer 400 by mechanical feed elements, such as paper guides/rollers 430. The print media 401a is transferred along paper path/direction 444. Along path/direction 444, the print media 401a makes contact with the photoreceptor drum 428. The photoreceptor drum 428 then transfers the image onto print media 401a by direct contact. Finally the paper or other print media 401a is passed onto a fuser 426, which uses intense heat to instantly fuse the toner/image onto the paper. The result is printed document 401b, which is imprinted with the durable, persistent image of the original raster-scanned page view.
Exemplary printer 400 may employ other elements as well. One or more motors and other electromechanical mechanisms are typically employed for purposes such as rotating the polygonal minor which may be part of optics 418; driving the paper guides/rollers 430 which propel print media 401a through the printer; rotating photoreceptor drum 428 and other rotary elements; and generally effectuating transfer of print media 401a and materials within printer 400.
A variety of internal sensors may also be present in printer 400. For example, sensor 434a may monitor the temperature and/or pressure of fuser 426. Sensor 434b may monitor the amount of toner 412 left in toner hopper 414. Other sensors may monitor paper movement, the amount of electric charge on various elements, the rotary speed of various rotating elements, and other aspects of operations of printer 400. Some elements of printer 400 may have built-in sensors. Sensors are useful for monitoring the operational status of printer 400, and for identifying and reporting operational problems or errors.
A motherboard 402 typically holds and interconnects various microchips used to control and monitor printer 400. Motherboard 402 may include, for example and without limitation, a central processing unit (CPU) or MCU 404, static memory 406, raster memory, dynamic/volatile memory 408, control circuits (ASICs) 410, and system bus 416.
A central processing unit (CPU) (or microcontroller unit (MCU)) 404 provides overall operational control of printer 400. This includes monitoring printer operations via sensors 434a and 434b, and directing printer operations via various application specific integrated circuits (ASICs) 410 discussed further below.
Static memory 406 may store non-volatile operational code (such as internal device drivers) for printer 400. CPU/MCU 404 may employ the code stored in static memory 406 in order to maintain the operational control of printer 400.
Volatile printer raster memory 408, such as dynamic RAM (DRAM), may be used to store data received from external computers, such as page descriptions, raster images, and other data pertinent to the printing of particular documents.
Control of printer 400 may be maintained in various ways. In some embodiments, CPU/MCU 404 of printer 400 may directly control various elements of the printer (such as motors and other mechanical servers, etc.). In other instances, control may be effectuated by CPU/MCU 404 via various Application Specific integrated Circuits (ASICs) 410, which act as intermediary control circuits 410.
Control circuits 410 may support such functions as external input/output (for example, via USB ports, an Ethernet port, or wireless communications); a control interface for a user control panel or wireless remote on the outside of the printer; mechanical control of motors and other electromechanical elements and control of laser 436. In some embodiments of the printer 400, some or all control circuits 410 may not be on motherboard 402, and may instead by integrated directly in laser 436, fuser 426, toner hopper 414, and into various other electromechanical elements of printer 400.
A system bus 416 may serve to transfer data and messages between elements of motherboard 402, and between motherboard 402 and various other microchips, controllers, and sensors 434a and 434b of printer 400.
In various embodiments of the present invention, different printers 400 may implement these steps described above in distinct ways, and some elements may be referred to by other terms or generic terms. For example, the elements directly responsible for printing onto the print media 401a may be referred to generically as the printhead 428. In exemplary printer 400, either the photoreceptor drum 428 alone, or possibly the photoreceptor drum 428 in combination with fuser 426, may be thought of as the printhead 428. As another example, LED printers use a linear array of light-emitting diodes to “write” the light on the drum, and the array of light-emitting diodes may be referred to as the printhead 428. As another example, a thermal printer uses a heat-emitting element as the printhead 428.
In various embodiments of a laser printer 400, the toner 412 is based on either wax or plastic, so that when the paper passes through the fuser 426, the particles of toner melt. The fuser 426 can be an infrared oven, a heated pressure roller, or (on some very fast, expensive printers) a xenon flash lamp. The warm-up process that a laser printer goes through when power is initially applied to the printer consists mainly of heating the fuser element.
For example, the printer 500 may comprise prim media 501a, toner 512, toner hopper 514, optics 518, laser light 520, fuser 526, printhead 528, paper guides/rollers 530, sensors 534a and 534b, laser 536, and paper path/direction 544, similar to print media 401a, toner 412, toner hopper 414, optics 418, laser light 420, fuser 426, printhead 428, paper guides/rollers 430, sensors 434a and 434b, laser 436, and paper path/direction 444 described above in connection with
In addition, the printer 500 may comprise CPU/MCU 504a, static memory 506, dynamic/volatile memory 508, control circuits 511, and bus 546, similar to CPU/MCU 404, static memory 406, dynamic/volatile memory 408, control circuits 410, and bus 446 described above in connection with
As illustrated in
As discussed above, in some embodiments of the present system and method, a printer configured for the image comparison and validation tasks may have two processors. The first processor may perform the processing tasks associated with printing; while a second, dedicated validation processor (which may be a digital signal processor or a math co-processor) performs some or all calculations and/or logic pertaining specifically to image comparisons and validations, as described further below. In alternative embodiments, a single CPU performs both the processing involved in printer operations and the image comparison/validation calculations/logic of the present system and method.
Scanners 505, 510 are devices that optically scan images, printed text, and graphics on print media. In an embodiment, “scanner” 505, 510 refers to a printer element which optically captures the image(s) or text on print media, and converts the image capture to an electrical representation (which may be analog or digital) for further processing.
In some contexts, the term “scanner” refers to an entire self-contained machine, usually termed a “document scanner,” which is designated principally or exclusively for image scanning. For example, either or both of pre-print image scanner 505 and post-print image scanner 510 could be an external scanner that is external to and separate from printer 500. In such an embodiment, the method of the present system may be performed in whole or in part by an external processor that is communicatively coupled with printer 500 and the external scanner(s).
A variety of scanning technologies may be employed in various embodiments of the present system and method. Scanners may employ 1D or 2D images sensors, such as charge-coupled device (CCD) or a contact image sensor (CIS) for image sensing. As another example, drum scanners use a photomultiplier tube (PMT) as the image sensor. A rotary scanner is a type of drum scanner that uses a CCD array instead of a photomultiplier. These and other types of scanners may be employed in various embodiments of the present system and method.
In some embodiments, the present system and method may employ scanners (pre-print image scanner 505 and post-print image scanner 510) which scan in black and white only. Black and white scanners may be less expensive than color scanners, while still providing sufficient image data for error-detection purposes. In some alternative: embodiments, the present system and method may employ color scanners.
In some embodiment of the present system and method, the resolution of the scanners 505, 510 is at least twice the print frequency (that is, twice the Nyquist frequency). For example, in one exemplary embodiment, if the printing resolution is 600 dots per inch, the scanning resolution may be at least 1200 dots per inch. Higher resolution embodiments may be provided as well. In an alternative embodiment, and for example to reduce production costs, scanners 505, 510 may be employed which scan at less than twice the print frequency, though possibly with some reduction in the reliability of print-error detection.
As may be appreciated from FIG-. 5, the pre-print image scanner 505 is structurally situated within printer 500 so that the pre-print image scanner 505 scans print media 501a when the paper has not yet been imprinted by printer 500. (At this stage, print media is labeled as paper or print media 501a in
As may also be appreciated from
In the embodiment as illustrated in
In an alternative embodiment, either or both of pre-print image scanner 505 and post-print image scanner 510 may be external to printer 500. For example, standardized pre-printed media (such as a company letterhead stationary) may be scanned externally, with the resulting pre-printing image later transferred to printer memory. After printing by printer 500, a printer-internal post-print image scanner may generate a resulting post-printing image capture. Appropriate steps of the image comparison method (discussed below) may then be applied to externally obtain pre-printing image and internally obtained post-printing image.
In some embodiments of the present system and method, a single printer scanner may function in the capacities or functions of pre-print image scanner 503 and post-print image scanner 510. In these embodiments, a single sheet of print media makes two passes through the printer 300. On the first pass, the print media is not printed on, and is scanned for pre-print matter to generate pre-printing image. On the second pass of the same print media, printer 500 prints on print media. The single scanner then scans the printed sheet, generating post-priming image. Suitable structural adaptations and changes may be made to the paper path/direction 544, paper guides/rollers 330, and the placement of single scanner to allow for the necessary two passes of print media through printer 500. In an embodiment, the single scanner is positioned in the post-print direction (for example, in the location of post-print image scanner 510 as shown in
As described above, various embodiments of the present invention may be employed in a thermal printer. A thermal printer may have many elements in common with the exemplary printer-verifier 200 of
Also shown in view 600A is an ink ribbon 606. Upon being heated by a thermal element 604, the ink ribbon 606 is suitable for transferring ink to a print media 601a which moves past thermal printhead 604a in a suitable direction 644. U this way, an image may be impressed upon print media 601a. It may be noted that the present invention may also correspond to other such printer technologies, without deviation from the scope of the disclosure.
Also shown in
As described further below, the present system and method may be configured to identify a difference between an actual edge sharpness or edge blur of a print output or validation image, compared with an expected edge sharpness or edge blur of the intended image. The method may further distinguish an acceptable output from an unacceptable output based on a specified threshold criteria for an acceptable degree of edge sharpness or edge blur.
Embodiments of the present invention may be implemented as methods for verifying printed image and improving print quality.
In accordance with various embodiments of the present invention, a printer may generate printed documents from print media. The steps of generating printed documents may include, for example, (1) raster image processing, (2) applying a negative charge to the photosensitive drum, (3) exposing drum to laser light, (4) developing the image on the drum, (5) transferring image to paper, (6) fusing, and (7) cleaning and recharging. Details of the steps are described hereinafter with reference to
The document to be printed is encoded in a page description language such as PostScript, Printer Command Language (PCL), or Open XML Paper Specification (OpenXPS). This is may be performed by an external computer connected to the printer 500. In some cases, however, the source document is encoded on printer 500 itself, for example, when printer 500 functions in a dual role as a document scanner.
A raster image processor converts the page description into a bitmap which is stored in the printer's raster memory 508 as shown in
A corona wire positioned parallel to the drum or a primary charge roller projects an electrostatic charge onto the revolving photoreceptor drum 528, which is capable of holding an electrostatic charge on its surface while it is in the dark.
Laser light 52.0 selectively neutralizes the negative charge on the photoreceptor drum 528, to form an electrostatic image. Lasers 536 can form highly focused, precise, and intense beams of light. The laser 536 aims laser light 520 at printer optics 518. Printer optics 518 may include a rotating polygonal mirror and a system of lenses and mirrors (not illustrated in detail), which directs the laser light 520 onto the photoreceptor drum 528, writing image/page pixels 1006 as shown in
The laser light 520 neutralizes (or reverses) the charge on the surface of the drum 528. That is, the areas, which are struck by the laser light 520 on the photoreceptor drum 528, momentarily have no charge. The result on the drum's surface is a latent, static electric negative image of the rasterized source page.
Toner 512 consists of fine particles of dry plastic powder mixed with carbon black or coloring agents. Particles of the toner 512 are given a negative charge inside the toner hopper 514. As particles of the toner 5.12 emerge onto the photoreceptor drum 528, they are electrostatically attracted to the latent image on the photoreceptor drum 528 (the areas on the surface of the photoreceptor drum 528 that had been struck by the laser). Because negative charges repel each other, the negatively charged toner particles will not adhere to the photoreceptor drum 528 where the negative charge remains (imparted previously by the charge roller).
Toner 512 is pressed against drum 528 by a toner-coated transfer roll, so the toner 512 is transferred from the surface of toner-coated transfer roller to the uncharged portions of the surface of the photoreceptor drum 528.
A sheet of print media 501a is then rolled under the photoreceptor drum 528. which has been coated with a pattern of toner particles in the exact places where the laser struck it moments before. The toner 512 particles transfer from the surface of the photoreceptor drum 528 to the print media 501a.
Some printers may employ positively charged transfer roller 542 on the back side of the paper to help pull the negatively charged toner from the photoreceptor drum 528 to the print media 501a.
(6) Fusing (Toner Melted Onto Paper with Heat and Pressure)
Print media. 501a passes through rollers in the fuser 526, where high temperatures and pressure are used to permanently bond the toner 512 to print media 501a. One roller is usually a heat roller, and the other is a pressure roller. The result is that source print media 501a has been transformed, via this print process, to printed document 501b with the desired text, image(s), and/or graphic(s).
As the photoreceptor drum 528 completes a revolution, it is exposed to an electrically neutral soft blade that cleans any remaining toner from the photoreceptor drum and deposits it into a waste reservoir. Charge roller then re-establishes a uniform negative charge on the surface of the now clean drum, readying it to be struck again by the laser light 520.
It will be understood that exemplary method 700 is performed by a hardware processor (such as processor 504a or validation processor 504b) of an exemplary printer, in conjunction with or controlled by suitable computer code Which implements the method. The code may be encoded directly into either of the logic of processor 504a or 504b, or may be stored as firmware in a static memory (such as static memory 506), or may be part of device driver code stored (for example, volatile printer raster memory 508). In an alternative embodiment, the method 700 may be performed in whole or in part by a hardware processor of an external computer which is linked to a printer by a suitable wired or wireless communications means.
Method 700 begins with step 705, where the printer either (i) receives a page description of a new page to be printed, and generates (via processor 504b) a rasterized image for storing and printing; or (ii) directly receives and stores the rasterized image of the page for printing. The rasterized image may be stored in printer raster memory 508.
In step 710 of method 700, pre-print image scanner 505 of printer 500 scans a new sheet of print media 501a, which may be a unprinted media. The scan generates pre-printing image, which includes any pre-print text/logo/banner that was on the imprinted media. Pre-printing image may be stored in printer raster memory 508.
In step 715 of method 700, printhead 528 prints output new documents elements, such as new text/new graphics, on the print media 501a based on the rasterized image, resulting in printed document 501b.
In step 720 of method 700, post-print image scanner 510 of printer 500 scans the printed document 501b. The scan generates post-printing image, which includes both pre-print text/logo/banner (if any) and the newly printed documents elements. Post-printing image may be stored in printer raster memory 508.
In step 725 of method 700, pre-printing image is subtracted from post-printing image, resulting in validation image. Validation image may be stored in printer raster memory 508. Validation image contains only the effective printed output of the print operation, details of which are further illustrated hereinafter).
In step 730 of method 700, the validation image is compared against the rasterized image of the document as it was intended to be printed, and areas of similarity and difference are identified. In an embodiment, the comparison may involve digital comparisons of images, for example, on a bitmap basis. In an alternative or complementary embodiment, comparisons may entail optical character recognition of alphanumeric elements of the images, followed by comparison of the recognized characters.
In step 735 of method 700, and based on the comparison of step 730 between the validation image and rasterized image, designated comparison rules and/or comparison metrics are applied. In an embodiment the comparison rules and/or metrics are applied against any identified different and same/similar print elements/areas to determine types and degrees of differences and similarities (for example, a degree to which text or image is blurred or a degree to which a text or image has reduced contrast). In an alternative or complementary embodiment, the rules are also applied to identify types of print elements which are attached (for example, bar codes, matrix codes, parts of addresses, part numbers. etc.).
In step 740, and based on the further application of comparison rules metrics, method 700 assesses if the effective printed output on printed document 501b is considered to result in a valid print operation or a print error.
In an embodiment, if the print operation assessment is “valid,” method 700 may stop. In an embodiment, the printer 500 may further specifically issue a notification or message that the print operation was valid.
In an embodiment, if the print operation assessment is “invalid,” or equivalently, “Print Error”), then printer 500 may have one or more suitable responses as per step 745. In an embodiment, printer 500 may issue a suitable notification to a user interface that the print operation was invalid. In an alternative or complementary embodiment, printer 500 may attempt to reprint the same image to a new sheet or label of print media. In an alternative or complementary embodiment, printer 500 may attempt to adjust printer operations to avoid similar errors in future print operations.
In alternative embodiments consistent with the scope of the appended claims, some steps described above may be deleted or added, and some steps may be performed in a different order or mariner.
It will be appreciated that the printer as illustrated may include, for example and without limitation, various printers described above, such as a thermal printer (see
Also illustrated is a single pre-print media, such as a label or an envelope, in three stages as it passes through printer. Shown at right is the print media 801a before it has reached the printhead 828, and so before an imprinting. Shown towards the center of
As described above and will be discussed in further details, pre-printing image capture 804 and post-printing image capture 806 may be analyzed against an original, digital rasterized image of the intended output of a print operation. The result of the analysis is a determination of whether the print operation was valid or not. “Valid” means the print operation resulted in print which is identical to the intended output, or that the print result is sufficiently similar (by designated standards) to the intended output so as to be a useful print result.
In an embodiment of the present system and method, image analysis may, strictly for convenience, be characterized as having method steps which fall into one stage, into two stages, or more than two stages. For convenience of exposition, the process discussed immediately below is characterized as having two stages: subtracting images and comparing images. However, nothing in the present disclosure limits the present system and method to any particular number of stages.
In an embodiment of the present system and method, a first stage of print validation processing may entail subtracting the pre-printing image capture 804 from the post-printing image capture 806 of the same sheet or item (for example, a label) of the print media.
In accordance with various embodiments of the present invention, the image subtraction is a digital comparison process. In various embodiments of the present system and method, algorithms employed for image subtraction may vary in details. In general, image subtraction entails designating a second image (such as a pre-printing image capture 804) which will be subtracted from a first image (such as a post-printing image capture 806), and then:
(i) if needed, resizing either or both of pre-printing image capture 804 and post-printing image capture 806; and/or aligning pre-printing image capture 804 and post-printing image capture 806, so that the two images can be compared on a basis of pixels which should be corresponding pixels (for example, same x-y coordinates) between the two images;
(ii) reducing each of the first image and the second image to independent, mutually adjacent pixels which together form the entire image. Assuming both images are of the same size and geometry (for example, rectangles of the same size), both images are typically mapped to respective pixel matrices with identical numbers of rows and columns, and so corresponding pixels;
(iii) providing each pixel with one or more suitable mathematical values, which may for example be a degree of lightness or darkness (for example, a value of “0” indicating a perfectly black pixel, “255” indicating a white pixel, and values between 0 and 255 indicating appropriate shades of grayscale (for an eight bit data scan)). Scanners with higher or lower data bits per pixel may employ other ranges of gray scale values. In some embodiments, multiple values may be applied per pixel to indicate color valuations;
(iv) for each corresponding pixel in the first image and second image, subtract the second image pixel value from the first image pixel value; and
(v) the result of the subtraction is the pixel value for the corresponding pixel in the resulting validation image.
In
In
In
The pre-printing image capture 904b is subtracted from the post-printing image capture 906b. The result of the subtraction process is the validation image 908b. It can be observed from
In
The post-printing image capture 906c, which has captured both the pre-print text/logo/banner and the newly printed output. It max be apparent (simply from visual inspection) that the output address and bar code are displaced both upwards and to the left, as compared with the similar address and bar code in the left-most column. The vertical displacement is sufficiently extreme that the address in the printed output partly overlaps the text of the pre-printed logo/banner.
The pre-printing image capture 904c is subtracted from the post-printing image capture 906c. The result of the subtraction process is the validation image 908c. Because the pre-print text/logo/banner and the newly printed output overlapped, and the pixels for both were black pixels, the overlapping pixels are effectively cancelled out (since they cannot be readily distinguished by a reader). As a result, it can be seen from visual inspection that the effective printed output 907c of validation image 908c contains gaps (or white spots) In some of the lettering of the output address. Further evaluation of validation image 908c is presented below in conjunction with
In an embodiment, and based on foregoing discussion in this document, the validation image of a printed document may contain the effective printed output (that is, the text or graphics that were effectively printed on print media (since any pre-print text/logo/banner were stripped out in generating validation image)). In an alternative embodiment, image processing may be used to compensate for pre-print text/logo/banner, so that the validation image may contain the actual printed output printed on the document.
“Effective printed output” refers to the printed image that is effectively visible to a person viewing the printed document after printing. In many cases, the effective printed output will be the same as the printed output that is, what a person (or other optical scanner) sees on print media is the same as whatever printer printed on the print media. However, there may be exceptions.
For example, newly printed output may partly or totally overlap with pre-print text/logo/banner. Or, newly printed output may partly or totally overlap with a pre-printed pattern or texture which fills some or all of print media. Or, newly printed output may partly or totally overlap with a blemish, wrinkle, or tear on some or all of print media.
In any of these cases, the visual effect may be to reduce the output contrast between newly printed output and the pre-print text/logo/banner or the background pattern/texture. As a result, the portion of the effective printed output subject to overlap will typically show reduced contrast (as compared with newly printed output which is printed on a clean, purely white background). This reduced contrast output may be displayed, on validation image, as grayscale text or reduced contrast text or graphics. If the pre-print text/logo/banner or a blemish is entirely black, this may completely obscure affected parts of the print output, rendering the effective printed output in these areas as being no output at all (that is, effectively “white” and not visible).
The digital, rasterized image of a document, stored in raster memory of printer, is the version of the document that either: (i) was transmitted to the printer electronically from a document source (such as an external computer); or (ii) was generated internally within the printer based on a received page description, again received from a document source. In the case of a combined printer/scanning device, such as a fax/printer (not illustrated in the figures), the rasterized image may be obtained by first scanning a document by an exterior scanning element of the fay/printer. In any of these cases immediately above, the rasterized image therefore represents the document it was intended to be printed.
In an embodiment of the present system and method, a second stage of print validation may entail comparing a validation image of a printed document against the digital raster image of the document as it was submitted to and/or generated within printer. By comparing the validation image against the original, rasterized image of the source document, the present system and method may determine whether the finished printed document was printed correctly or had one or more print errors.
In some embodiments of the present system and method, comparison algorithms determine if two images the rasterized image of the original source document and the validation image are substantially the same or not. Further, in embodiments of the present system and method, the comparisons may involve primarily alphanumeric symbols (which have clear and distinctive outlines) and graphics (such as barcodes) which often also employ specific, clear line drawings.
One or more methods may be employed for such a comparison and similarity determination, either alone or in combination, including for example and without limitation:
(i) The rasterized image and the validation image are both represented by two dimensional matrices of equal dimensions, with matrix values corresponding to the grayscale-luminosity of pixels in each raster image. The matrices are compared on a point-by-point basis to determine if the intensity values are substantially the same. In an alternative embodiment, a matrix may employ multiple values for each pixel to capture color information, which may also be compared on a point-by-point basis. If the rasterized image matrix and the validation image matrix have the same, or substantially the same values, on a pixel-by-pixel basis, the two images are substantially the same. In performing such comparisons, the present system and method may make allowances, or have designated tolerance limits, for some variations in pixel values between the two matrices.
For example, in an exemplary embodiment where grayscales are rated from 0 to 255, any pixel in a range from 0 to a designated maximum value (such as 10 or 20) may be considered “black”; any pixel in a range from 226 to 255 may be considered white. In general, any two pixels which correspond in position in the two matrices and are within a designated value range of each other (for example, within 10 points from each other) may be considered to be identical pixels. Similarly, allowances and tolerances may be established for pixel variations at edges or borders of alphanumeric symbols or at borders of other symbols or graphics.
(ii) During a print process, printed output, such as text or graphics, may be shifted somewhat off from an intended position on the print media (as reflected in exemplary effective outputs). This may be due to, for example, a misfeed of the print media by the paper guides rollers. Such shifts may be acceptable if they ate within specified limits and do not cause overlap with pre-print text/logo/banner. In particular, if such shifted, printed output is identical to expected print or graphics in rasterized image, then the location shift may be acceptable. In embodiments of the present system and method, algorithms are employed, to align text or graphics in rasterized image with corresponding effective printed output of validation image. If the matching algorithms identify such alignable areas of text or graphics, further criteria may be employed to determine if the shifted, effective printed output is still within acceptable print boundaries or print areas.
(iii) Comparison algorithms of the present system and method may also compare subsections or subareas of the validation image with corresponding subareas of rasterized image. If the two images are generally matching, but one or more specific subsections are not matching, further analysis algorithms may be employed. For example, in an embodiment, algorithms may determine if the non-matching areas on the validation image are readable at all as alphanumeric text. For another example, in an alternative or complementary embodiment, algorithms may determine a type of data represented on the non-matching areas. Certain types of data may be flagged by a rule-based system as essential, so that print errors in these areas may result in an assessment of a print-error. Other types of data or graphics may be assessed as being non-essential, so that print errors confined to these areas may still yield an assessment of a successful print operation.
(iv) As an element of image comparison, the present system and method may employ optical character recognition (OCR) to identify different elements of intended print content and effective printed output. Such optical character recognition may aid in the identification and comparison of names, addresses, zip codes, product numbers, and other such text.
Based on the comparison of validation image with raster image, the present system and method makes an evaluation or print operation assessment of whether or not the print operation was valid, or instead had one or more print errors. Evaluation criteria (also referred to as “comparison criteria”) may be based on a variety of different print quality criteria.
In an embodiment, evaluation criteria may be expressed in a rule-based system; in an alternative embodiment, evaluation criteria may be based on a one-dimensional or multi-dimensional matrix of criteria with suitable threshold values. In an embodiment, the present system and method may provide a user interface enabling a printer user to activate or deactivate various rules, to fine-tune thresholds for existing rules, or even to add additional logic for new rules.
Exemplary criteria may pertain to, for example and without limitation: (a) a degree or percentage of correspondence between the rasterized image and the validation (b) a degree or percentage of correspondence between the selected portions of the rasterized image and the source image; (c) a degree of accuracy in the two-dimensional document placement (in the validation image) of an intended print content of the rasterized image. Other criteria may be employed as well, consistent with the present system and method.
In an embodiment of the present system and method, additional validations may be performed by evaluating the effective printed output. Such validations may include:, for example and without limitation: evaluating the legibility of text (alphanumeric output); and evaluating the clarity of bar codes or matrix symbols (for example, by ascertaining whether vertical bars in bar codes are of sufficiently distinct widths to be distinguishable by bar codes readers).
Referring now to
A first exemplary validation image 908a illustrates a case where the effective output 907a is substantially identical to the intended print content 1012. It will be seen from
A second exemplary validation image 908b illustrates a case where the effective output 907b has some significant differences from intended print content 1012. In particular, due to pre-print blemish on the unprinted media, there is an output defect 1010b in the final printed output. The output defect 1010b is indicative of reduced contrast between the last four digits of the zip code and the document background.
will also be seen from
A third exemplary validation image 908c illustrates a case where the effective output 907c has some significant differences from intended print content 1012. In particular, the effective printed output 907c has a large upwards and left-wards position shift 1008c, relative to the intended print content 1012. (This may be due, for example, to a misfeed of print media 100.). The position shift is sufficient to cause the new address to overlap with the pre-printed address. This in turn results in print defect 1010c, where the contrast between parts of the addressee address and the return address is zero (as shown by white spots or spaces in defect 1010c).
In such a case, the print assessment may vary depending on evaluation rules. In a typical embodiment, the print operation may be deemed as invalid (that is, as a print error) due to the significant loss of visual content in the alphanumeric symbols of the addressee address. In an alternative embodiment, the print operation may still be deemed as valid. For example, if the entire address can be obtained from the bar code as printed, then defect 1010c may not be counted as a basis for print invalidity. In some embodiments, the present system and method may actually determine that the bar code shown encodes only the zip code, and not the rest of the address. In such a case, defect 1010c may be serious enough to impair routing of the document, and the printed document will likely be deemed invalid, that is, as a “Print Error” 1012c.
Referring now to
As shown in
Still referring to
Still referring to
Still referring to
Still referring to
Still referring to
In various embodiments of the present invention, the captured image is compared with the reference image to determine if a horizontal position of the printed image in the captured image conforms to the horizontal position of the reference image. In various other embodiments as hereinafter described, the captured image is compared with the reference image to determine if there is a distortion in a barcode of the printed image that is not present in the reference barcode.
Turning now to the horizontal position of the printed image relative to the reference image, in various embodiments of the present invention, the captured image is compared with the reference image in memory to determine if a horizontal position of the printed image in the captured image conforms to the horizontal position of the reference image. The captured image comprises a non-conforming captured image if the horizontal position of the printed image in the captured image is offset from the horizontal position of the reference image. In other words, the captured image does not conform to the reference: image if there is an offset in the horizontal position of the printed image relative to the horizontal position of the reference image. The offset has a value.
The value of the offset may be stored in the memory of the printer-verifier, in a memory of printer and/or in verifier memory (step 1113). The comparison is made by processor in the printer-verifier 200 of
Still referring to
In various embodiments of the present invention, modifying the print data used to generate the image results in modified print data and comprises shifting the print data used to generate the image by the value of the offset to reposition the succeeding printed image on the print media. Shifting the print data used to generate the image comprises inserting or removing a margin in a left or right portion of the print data used to generate the image. For example, if the horizontal position of the printed image in the captured image is offset from the horizontal position of the reference image, the print data used to generate the image may be shifted by the value of the offset to reposition the succeeding image on the print media.
Referring now to
While horizontal re-positioning of a barcode has been described, any succeeding captured image may be repositioned in such a manner according to various embodiments of the present invention. It is also to be understood that the offset value may be greater than one square.
in various embodiments of the present invention, shifting the print data used to generate the image may be done prior to a first time use of the new print media stock. A width of the new print media stock may be captured and the print data shifted based on the width to substantially center the succeeding image on the print medium.
Referring back to
In various embodiments of the present invention, the horizontal position of the succeeding printed image may be compared with the horizontal position of an immediately preceding printed image to determine if the print media is drifting during operation of the printer (step 1119). A difference in the horizontal position of the succeeding printed image relative to the horizontal position of the immediately preceding printed image comprises a drifting offset having a value. The drifting offset may be stored in a memory.
Referring now to
Returning to
As noted previously, in various embodiments, step 1111 comprises determining if the captured image conforms to the reference image by comparing at least a portion of the captured image with a same portion of the reference image. However, rather than comparing horizontal position, the inquiry is whether there is a distortion in the printed barcode that is not present in the reference image. The printed barcode does not conform to the reference barcode if a distortion exists in the printed barcode that is not present in the reference barcode.
As noted previously, the thermal printhead may be set to a high temperature in order to obtain better graphics. High printhead temperatures are often used to obtain bolder or more vivid graphics. However, if the printhead temperature is too high, the barcode printed using that thermal printhead may include a distortion. The distortion may cause the printed barcode to be out of specification.
Referring now to
If a distortion is present (such as in the printed barcode of
It is to be understood that the square(s) can alternatively be added, that the square(s) can be added or removed to other edges (e.g., the left edge, the top edge, etc.) as long as the modification is consistently applied.
From the foregoing, it is to be appreciated that various embodiments enable correct horizontal positioning of a printed image on a print medium. Various embodiments enable correct horizontal positioning of a printed image on a print medium and enable placing the printing properly with regard to the edges of the print medium such that the printing is reliably and consistently in register. Various embodiments enable the printing of barcodes without distortions.
In the specification and figures, typical embodiments of the invention have been disclosed. The present invention is not limited to such exemplary embodiments. The use of the term “and/or” includes any and all combinations of one or more of the associated listed items. The figures are schematic representations and so are not necessarily drawn to scale. Unless otherwise noted, specific terms have been used in a generic and descriptive sense and not for purposes of limitation.
The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flow charts, schematics, exemplary data structures, and examples. Insofar as such block diagrams., flow Charts, schematics, exemplary data structures, and examples contain one or more functions and/or operations, each function and/or operation within such block diagrams, flowcharts, schematics, exemplary data structures, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof.
In one embodiment, the present subject matter may be implemented via Application Specific integrated Circuits (ASICs). However, the embodiments disclosed herein, in whole or in part, can be equivalently implemented in standard integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more controllers e.g., microcontrollers), as one or more programs running on one or more processors (e.g., microprocessors), as firmware, or as virtually any combination thereof.
In addition, those skilled in the art will appreciate that the control mechanisms taught herein are capable of being distributed as a program product in a variety of tangible forms, and that an illustrative embodiment applies equally regardless of the particular type of tangible instruction hearing media used to actually early out the distribution. Examples of tangible instruction hearing media include, but are not limited to, the following: recordable type media such as floppy disks, hard disk drives, CD ROMs, digital tape, flash drives, and computer memory.
The various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the present systems and methods in light of the above-detailed description. Accordingly, the invention is not limited by the disclosure, but instead its scope is to be determined by the following claims.
To supplement the present disclosure, this application incorporates entirely by reference the following commonly assigned patents, patent application publications, and patent applications:
U.S. Pat. No. 6,832,725; U.S. Pat. No. 7,128,266;
U.S. Pat. No. 7,159,783; U.S. Pat. No. 7,413,127;
U.S. Pat. No. 7,726,575; U.S. Pat. No. 8,294,969;
U.S. Pat. No. 8,317,105; U.S. Pat. No. 8,322,622;
U.S. Pat. No. 8,366,005; U.S. Pat. No. 8,371,507;
U.S. Pat. No. 8,376,233; U.S. Pat. No. 8,381,979;
U.S. Pat. No. 8,390,909; U.S. Pat. No. 8,408,464;
U.S. Pat. No. 8,408,468; U.S. Pat. No. 8,408,469;
U.S. Pat. No. 8,424,768; U.S. Pat. No. 8,448,863;
U.S. Pat. No. 8,457,013; U.S. Pat. No. 8,459,557;
U.S. Pat. No. 8,469,272; U.S. Pat. No. 8,474,712;
U.S. Pat. No. 8,479,992; U.S. Pat. No. 8,490,877;
U.S. Pat. No. 8,517,271; U.S. Pat. No. 8,523,076;
U.S. Pat. No. 8,528,818; U.S. Pat. No. 8,544,737;
U.S. Pat. No. 8,548,242; U.S. Pat. No. 8,548,420;
U.S. Pat. No. 8,550,335; U.S. Pat. No. 8,550,354;
U.S. Pat. No. 8,550,357; U.S. Pat. No. 8,556,174;
U.S. Pat. No. 8,556,176; U.S. Pat. No. 8,556,177;
U.S. Pat. No. 8,559,767; U.S. Pat. No. 8,599,957;
U.S. Pat. No. 8,561,895; U.S. Pat. No. 8,561,903;
U.S. Pat. No. 8,561,905; U.S. Pat. No. 8,565,107;
U.S. Pat. No. 8,571,307; U.S. Pat. No. 8,579,200;
U.S. Pat. No. 8,583,924; U.S. Pat. No. 8,584,945;
U.S. Pat. No. 8,587,595; U.S. Pat. No. 8,587,697;
U.S. Pat. No. 8,588,869; U.S. Pat. No. 8,590,789;
U.S. Pat. No. 8,596,539; U.S. Pat. No. 8,596,542;
U.S. Pat. No. 8,596,543; U.S. Pat. No. 8,599,271;
U.S. Pat. No. 8,599,957; U.S. Pat. No. 8,600,158;
U.S. Pat. No. 8,600,167; U.S. Pat. No. 8,602,309;
U.S. Pat. No. 8,608,053; U.S. Pat. No. 8,608,071;
U.S. Pat. No. 8,611,309; U.S. Pat. No. 8,615,487;
U.S. Pat. No. 8,616,454; U.S. Pat. No. 8,621,123;
U.S. Pat. No. 8,622,303; U.S. Pat. No. 8,628,013;
U.S. Pat. No. 8,628,015; U.S. Pat. No. 8,628,016;
U.S. Pat. No. 8,629,926; U.S. Pat. No. 8,630,491;
U.S. Pat. No. 8,635,309; U.S. Pat. No. 8,636,200;
U.S. Pat. No. 8,636,212; U.S. Pat. No. 8,636,215;
U.S. Pat. No. 8,636,224; U.S. Pat. No. 8,638,806;
U.S. Pat. No. 8,640,958; U.S. Pat. No. 8,640,960;
U.S. Pat. No. 8,643,717; U.S. Pat. No. 8,646,692;
U.S. Pat. No. 8,646,694; U.S. Pat. No. 8,657,200;
U.S. Pat. No. 8,659,397; U.S. Pat. No. 8,668,149;
U.S. Pat. No. 8,678,285; U.S. Pat. No. 8,678,286;
U.S. Pat. No. 8,682,077; U.S. Pat. No. 8,687,281;
U.S. Pat. No. 8,692,927; U.S. Pat. No. 8,695,880;
U.S. Pat. No. 8,698,949; U.S. Pat. No. 8,717,494;
U.S. Pat. No. 8,717,494; U.S. Pat. No. 8,720,783;
U.S. Pat. No. 8,723,804; U.S. Pat. No. 8,723,904;
U.S. Pat. No. 8,727,223; U.S. Pat. No. D702,237;
U.S. Pat. No. 8,740,082; U.S. Pat. No. 8,740,085;
U.S. Pat. No. 8,746,563; U.S. Pat. No. 8,750,445;
U.S. Pat. No. 8,752,766; U.S. Pat. No. 8,756,059;
U.S. Pat. No. 8,757,495; U.S. Pat. No. 8,760,563;
U.S. Pat. No. 8,763,909; U.S. Pat. No. 8,777,108;
U.S. Pat. No. 8,777,109; U.S. Pat. No. 8,779,898;
U.S. Pat. No. 8,781,520; U.S. Pat. No. 8,783,573;
U.S. Pat. No. 8,789,757; U.S. Pat. No. 8,789,758;
U.S. Pat. No. 8,789,759; U.S. Pat. No. 8,794,520;
U.S. Pat. No. 8,794,522; U.S. Pat. No. 8,794,525;
U.S. Pat. No. 8,794,526; U.S. Pat. No. 8,798,367;
U.S. Pat. No. 8,807,431; U.S. Pat. No. 8,807,432;
U.S. Pat. No. 8,820,630; U.S. Pat. No. 8,822,8481;
U.S. Pat. No. 8,824,692; U.S. Pat. No. 8,824,696;
U.S. Pat. No. 8,842,849; U.S. Pat. No. 8,844,822;
U.S. Pat. No. 8,844,823; U.S. Pat. No. 8,849,019;
U.S. Pat. No. 8,851,383; U.S. Pat. No. 8,854,633;
U.S. Pat. No. 8,866,963; U.S. Pat. No. 8,868,421;
U.S. Pat. No. 8,868,519; U.S. Pat. No. 8,868,802;
U.S. Pat. No. 8,868,803; U.S. Pat. No. 8,870,074;
U.S. Pat. No. 8,879,639; U.S. Pat. No. 8,880,426;
U.S. Pat. No. 8,881,983; U.S. Pat. No. 8,881,987;
U.S. Pat. No. 8,903,172; U.S. Pat. No. 8,908,995;
U.S. Pat. No. 8,910,870; U.S. Pat. No. 8,910,875;
U.S. Pat. No. 8,914,290; U.S. Pat. No. 8,914,788;
U.S. Pat. No. 8,915,439; U.S. Pat. No. 8,915,444;
U.S. Pat. No. 8,916,789; U.S. Pat. No. 8,918,250;
U.S. Pat. No. 8,918,564; U.S. Pat. No. 8,925,818;
U.S. Pat. No. 8,939,374; U.S. Pat. No. 8,942,480;
U.S. Pat. No. 8,944,313; U.S. Pat. No. 8,944,327;
U.S. Pat. No. 8,944,332; U.S. Pat. No. 8,950,678;
U.S. Pat. No. 8,967,468; U.S. Pat. No. 8,971,346;
U.S. Pat. No. 8,976,030; U.S. Pat. No. 8,976,368;
U.S. Pat. No. 8,978,981; U.S. Pat. No. 8,978,983;
U.S. Pat. No. 8,978,984; U.S. Pat. No. 8,985,456;
U.S. Pat. No. 8,985,457; U.S. Pat. No. 8,985,459;
U.S. Pat. No. 8,985,461; U.S. Pat. No. 8,988,578;
U.S. Pat. No. 8,988,590; U.S. Pat. No. 8,991,704;
U.S. Pat. No. 8,996,194; U.S. Pat. No. 8,996,384;
U.S. Pat. No. 9,002,641; U.S. Pat. No. 9,007,368;
U.S. Pat. No. 9,010,641; U.S. Pat. No. 9,015,513;
U.S. Pat. No. 9,016,576; U.S. Pat. No. 9,022,288;
U.S. Pat. No. 9,030,964; U.S. Pat. No. 9,033,240;
U.S. Pat. No. 9,033,242; U.S. Pat. No. 9,036,054;
U.S. Pat. No. 9,037,344; U.S. Pat. No. 9,038,911;
U.S. Pat. No. 9,038,915; U.S. Pat. No. 9,047,098;
U.S. Pat. No. 9,047,359; U.S. Pat. No. 9,047,420;
U.S. Pat. No. 9,047,525; U.S. Pat. No. 9,047,531;
U.S. Pat. No. 9,053,055; U.S. Pat. No. 9,053,378;
U.S. Pat. No. 9,053,380; U.S. Pat. No. 9,058,526;
U.S. Pat. No. 9,064,165; U.S. Pat. No. 9,064,167;
U.S. Pat. No. 9,064,168; U.S. Pat. No. 9,064,254;
U.S. Pat. No. 9,066,032; U.S. Pat. No. 9,070,032;
U.S. Design Patent No, D716,285;
U.S. Design Patent No. D723,560;
U.S. Design Patent No. D730,357;
U.S. Design Patent No. D730,901;
U.S. Design Patent No. D730,902;
U.S. Design Patent No. D733,112;
U.S. Design Patent No. D734,339;
International Publication No. 2013/163789;
International Publication No. 2013/173985;
International Publication No. 2014/019130;
International Publication No. 2014/110495;
U.S. Patent Application Publication No. 2008/0185432;
U.S. Patent Application Publication No. 2009/0134221;
U.S. Patent Application Publication No. 2010/0177080;
U.S. Patent Application Publication No. 2010/0177076;
U.S. Patent Application Publication No. 2010/0177707;
U.S. Patent Application Publication No. 2010/0177749;
U.S. Patent Application Publication No. 2010/0265880;
U.S. Patent Application Publication No. 2011/0202554;
U.S. Patent Application Publication No. 201210111946;
U.S. Patent Application Publication No. 2012/0168511;
U.S. Patent Application Publication No. 2012/0168512;
U.S. Patent Application Publication No. 2012/0193473;
U.S. Patent Application Publication No. 2012/0203647;
U.S. Patent Application Publication No. 2012/0223141;
U.S. Patent Application Publication No. 2012/0228382;
U.S. Patent Application Publication No. 2012/0248188;
U.S. Patent Application Publication No. 2013/0043312;
U.S. Patent Application Publication No. 2013/0082104;
U.S. Patent Application Publication No. 2013/0175341;
U.S. Patent Application Publication No. 2013/0175343;
U.S. Patent Application Publication No. 2013/0257744;
U.S. Patent Application Publication No. 2013/0257759;
U.S. Patent Application Publication No. 2013/0270346;
U.S. Patent Application Publication No. 2013/0287258;
U.S. Patent Application Publication No. 2013/0292475;
U.S. Patent Application Publication No. 2013/0292477;
U.S. Patent Application Publication No. 2013/0293539;
U.S. Patent Application Publication No. 2013/0293540;
U.S. Patent Application Publication No. 2013/0306728;
U.S. Patent Application Publication No. 2013/0306731;
U.S. Patent Application Publication No. 2013/0307964;
U.S. Patent Application Publication No. 2013/0308625;
U.S. Patent Application Publication No. 2013/0313324;
U.S. Patent Application Publication No. 2013/0313325;
U.S. Patent Application Publication No. 2013/0342717;
U.S. Patent Application Publication No. 2014/0001267;
U.S. Patent Application Publication No. 2014/0008439;
U.S. Patent Application Publication No. 2014/0025584;
U.S. Patent Application Publication No. 2014/0034734;
U.S. Patent Application Publication No. 2014/0036848;
U.S. Patent Application Publication No. 2014/0039693;
U.S. Patent Application Publication No. 2014/0042814;
U.S. Patent Application Publication No. 2014/0049120;
U.S. Patent Application Publication No. 2014/0049635;
U.S. Patent Application Publication No. 2014/0061306;
U.S. Patent Application Publication No. 2014/0063289;
U.S. Patent Application Publication No. 2014/0066136;
U.S. Patent Application Publication No. 2014/0067692;
U.S. Patent Application Publication No. 2014/0070005;
U.S. Patent Application Publication No. 2014/0071840;
U.S. Patent Application Publication No. 2014/0074746;
U.S. Patent Application Publication No. 2014/0076974;
U.S. Patent Application Publication No. 2014/0078341;
U.S. Patent Application Publication No. 2014/0078345;
U.S. Patent Application Publication No. 2014/0097249;
U.S. Patent Application Publication No. 201410098792;
U.S. Patent Application Publication No. 2014/0100813;
U.S. Patent Application Publication No. 2014/0103115;
U.S. Patent Application Publication No. 2014/0104413;
U.S. Patent Application Publication No. 2014/0104414;
U.S. Patent Application Publication No. 2014/0104416;
U.S. Patent Application Publication No. 2014/0104451;
U.S. Patent Application Publication No. 2014/0106594;
U.S. Patent Application Publication No. 2014/0106725;
U.S. Patent Application Publication No. 2014/0108010;
U.S. Patent Application Publication No. 2014/0108402;
U.S. Patent Application Publication No. 2014/0110485;
U.S. Patent Application Publication No. 2014/0114530;
U.S. Patent Application Publication No. 2014/0124577;
U.S. Patent Application Publication No. 2014/0124579;
U.S. Patent Application Publication No. 2014/0125842;
U.S. Patent Application Publication No. 2014/0125853;
U.S. Patent Application Publication No. 2014/0125999;
U.S. Patent Application Publication No. 2014/0129378;
U.S. Patent Application Publication No. 2014/0131438;
U.S. Patent Application Publication No. 2014/0131441;
U.S. Patent Application Publication No. 201410131443;
U.S. Patent Application Publication No. 2014/0131444;
U.S. Patent Application Publication No. 2014/0131445;
U.S. Patent Application Publication No. 2014/0131448;
U.S. Patent Application Publication No. 2014/0133379;
U.S. Patent Application Publication No. 2014/0136208;
U.S. Patent Application Publication No. 2014/0140585;
U.S. Patent Application Publication No. 2014/0151453;
U.S. Patent Application Publication No. 2014/0152882;
U.S. Patent Application Publication No. 2014/0158770;
U.S. Patent Application Publication No. 2014/0159869;
U.S. Patent Application Publication No. 2014/0166755;
U.S. Patent Application Publication No. 2014/0166759;
U.S. Patent Application Publication No. 2014/0168787;
U.S. Patent Application Publication No. 2014/0175165;
U.S. Patent Application Publication No. 2014/0175172;
U.S. Patent Application Publication No. 2014/0191644;
U.S. Patent Application Publication No. 2014/0191913;
U.S. Patent Application Publication No. 2014/0197238;
U.S. Patent Application Publication No. 2014/0197239;
U.S. Patent Application Publication No. 2014/0197304;
U.S. Patent Application Publication No. 2014/0214631;
U.S. Patent Application Publication No. 2014/0217166;
U.S. Patent Application Publication No. 2014/0217180;
U.S. Patent Application Publication No. 2014/0231500;
U.S. Patent Application Publication No. 2014/0232930;
U.S. Patent Application Publication No. 2014/0247315;
U.S. Patent Application Publication No. 2014/0263493;
U.S. Patent Application Publication No. 2014/0263645;
U.S. Patent Application Publication No. 2014/0267609;
U.S. Patent Application Publication No. 2014/0270196;
U.S. Patent Application Publication No. 2014/0270229;
U.S. Patent Application Publication No. 2014/0278387;
U.S. Patent Application Publication No. 2014/0278391;
U.S. Patent Application Publication No. 2014/0282210;
U.S. Patent Application Publication No. 2014/0284384;
U.S. Patent Application Publication No. 2014/0288933;
U.S. Patent Application Publication No. 2014/0297058;
U.S. Patent Application Publication No. 2014/0299665;
U.S. Patent Application Publication No. 2014/0312121;
U.S. Patent Application Publication No. 2014/0319220;
U.S. Patent Application Publication No. 2014/0319221;
U.S. Patent Application Publication No. 2014/0326787;
U.S. Patent Application Publication No. 2014/0332590;
U.S. Patent Application Publication No. 2014/0344943;
U.S. Patent Application Publication No. 2014/0346233;
U.S. Patent Application Publication No. 2014/0351317;
U.S. Patent Application Publication No. 2014/0353373;
U.S. Patent Application Publication No. 2014/0361073;
U.S. Patent Application Publication No. 2014/0361082;
U.S. Patent Application Publication No. 2014/0362184;
U.S. Patent Application Publication No. 2014/0363015;
U.S. Patent Application Publication No. 2014/0369511;
U.S. Patent Application Publication No. 2014/0374483;
U.S. Patent Application Publication No. 2014/0374485;
U.S. Patent Application Publication No. 2015/0001301;
U.S. Patent Application Publication No. 2015/0001304;
U.S. Patent Application Publication No. 2015/0003673;
U.S. Patent Application Publication No. 2015/0009338;
U.S. Patent Application Publication No. 2015/0009610;
U.S. Patent Application Publication No. 2015/0014416;
U.S. Patent Application Publication No. 2015/0021397;
U.S. Patent Application Publication No. 2015/0028102;
U.S. Patent Application Publication No. 2015/0028103;
U.S. Patent Application Publication No. 2015/0028104;
U.S. Patent Application Publication No. 2015/0029002;
U.S. Patent Application Publication No. 2015/0032709;
U.S. Patent Application Publication No. 2015/0039309;
U.S. Patent Application Publication No. 2015/0039878;
U.S. Patent Application Publication No. 2015/0040378;
U.S. Patent Application Publication No. 2015/0048168;
U.S. Patent Application Publication No. 2015/0049347;
U.S. Patent Application Publication No. 201510051992;
U.S. Patent Application Publication No. 2015/0053766;
U.S. Patent Application Publication No. 2015/0053768;
U.S. Patent Application Publication No. 2015/0053769;
U.S. Patent Application Publication No. 2015/0060544;
U.S. Patent Application Publication No. 2015/0062366;
U.S. Patent Application Publication No. 2015/0063215;
U.S. Patent Application Publication No. 2015/0063676;
U.S. Patent Application Publication No. 2015/0069130;
U.S. Patent Application Publication No. 2015/0071819;
U.S. Patent Application Publication No. 2015/0083800;
U.S. Patent Application Publication No. 2015/0086114;
U.S. Patent Application Publication No. 2015/0088522;
U.S. Patent Application Publication No. 2015/0096872;
U.S. Patent Application Publication No. 2015/0099557;
U.S. Patent Application Publication No. 2015/0100196;
U.S. Patent Application Publication No. 2015/0102109;
U.S. Patent Application Publication No. 2015/0115035;
U.S. Patent Application Publication No. 2015/0127791;
U.S. Patent Application Publication No. 2015/0128116;
U.S. Patent Application Publication No. 2015/0129659;
U.S. Patent Application Publication No. 2015/0133047;
U.S. Patent Application Publication No. 2015/0134470;
U.S. Patent Application Publication No. 2015/0136851;
U.S. Patent Application Publication No. 2015/0136854;
U.S. Patent Application Publication No. 201510142492;
U.S. Patent Application Publication No. 2015/0144692;
U.S. Patent Application Publication No. 2015/0144698;
U.S. Patent Application Publication No. 2015/0144701;
U.S. Patent Application Publication No. 2015/0149946;
U.S. Patent Application Publication No. 2015/0161429;
U.S. Patent Application Publication No. 2015/0169925;
U.S. Patent Application Publication No. 2015/0169929;
U.S. Patent Application Publication No. 2015/0178523;
U.S. Patent Application Publication No. 2015/0178534;
U.S. Patent Application Publication No. 2015/0178535;
U.S. Patent Application Publication No. 2015/0178536;
U.S. Patent Application Publication No. 2015/0178537;
U.S. Patent Application Publication No. 2015/0181093;
U.S. Patent Application Publication No. 2015/0181109;
This non-provisional application claims the benefit of U.S. Provisional Patent Application No. 62/614,089, filed Jan. 5, 2018, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62614089 | Jan 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16930022 | Jul 2020 | US |
Child | 17468425 | US | |
Parent | 16240067 | Jan 2019 | US |
Child | 16930022 | US |