Patent Description:
Barcodes are extensively used to provide machine-readable information such as pricing, product identification, and inventory data. Over the years, barcodes have evolved from one-dimensional (ID) linear barcodes to other types of barcodes (such as a QR code, which is one example of a two-dimensional (2D) matrix barcode). Both 1D and 2D barcodes are often printed upon a wide variety of products such as plastic containers, cloth labels, paper tickets, and cardboard boxes. As such, the print quality of a barcode is generally dependent upon a number of factors such as the nature of the medium on which the barcode is printed (paper, cardboard, cloth, plastic etc.), the quality of the printing medium (ink, paint etc.), and the quality of the printer used to print the barcode.

A device known as a verifier is often used to evaluate one or more qualities of a barcode, such as symbol contrast, reflectance, edge contrast, modulation, decodability, and print defects. Furthermore, due to the proliferation of verifiers, national and international standards such as the ISO/IEC <NUM>-<NUM> (linear barcodes) or ISO/IEC <NUM>-<NUM> (2D barcodes) have been developed for evaluating verifiers in a standardized manner. Such standards, which can be used to ensure that various types of verifiers meet an acceptable level of accuracy and compatibility, are generally directed at evaluating verifiers as standalone devices.

However, verifiers are often coupled to other types of devices in a manner that does not take into consideration any incompatibilities and/or adverse impacts that a verifier can have upon the operation of a device to which the verifier is coupled. For example, some conventional verifiers that are used to verify a print quality of barcode images printed by a printer, can adversely affect a print feed mechanism of the printer (paper jams, misfeeds etc.) and/or can slow down the printing speed of the printer.

It is therefore desirable to provide systems and methods that provide for cooperative operations between a verifier and one or more types of devices to which the verifier is coupled. It is also desirable to provide systems and methods that improve upon certain features and operational aspects associated with verifiers.

<CIT>) discloses a system and method for dynamically adjusting operating parameters of a printer using bar code images to achieve optimal print quality. A reader operates in conjunction with a bar code printer and scans the output images printed by the printer. A verifier analyses the scanned image to determine the quality of the output image. The system adjusts printer operating parameters, such as print speed, print head pressure, and burn duration to optimize the quality of the output image for a selected quality grade of output image.

<CIT>) discloses a bar code verification and printing system in which a printer is used in combination with a verifier for verifying the quality of print such as bar codes. The printer can be controlled to provide proper printing functions for printing in response to the verifier input. The printer, upon receipt of a particular report from the verifier, can stop the printing such as barcode printing as to a bad label, overstrike a bad label, or reprint the label. Further, the printer can be controlled by operator intervention on a control panel or by automatic input through the controller of the printer to provide for the respective necessary and correct print or bar codes being printed.

According to the present invention, there is provided a system and corresponding method as claimed in the accompanying claims.

The foregoing as well as other exemplary objectives and/or advantages described in this disclosure, and the manner in which the same are accomplished, are further explained within the following detailed description and its accompanying drawings.

Throughout this description, embodiments and variations are described for the purpose of illustrating uses and implementations of inventive concepts. The illustrative description should be understood as presenting examples of inventive concepts. Towards this end, certain words and terms are used herein solely for convenience and such words and terms should be broadly understood as encompassing various objects and actions that are generally understood in various forms and equivalencies by persons of ordinary skill in the art. For example, words such as "communication links," "control lines," "status lines," "light source," processor," or "computer," can have various interpretations, and certain operations associated with such words can be implemented in different ways (for example, a bi-directional link can be implemented using a single communication medium in one implementation, and two separate communication media in another implementation). It should also be understood that the word "example" as used herein is intended to be non-exclusionary and non-limiting in nature. More particularly, the word "exemplary" as used herein indicates one among several examples and it should be understood that no special emphasis, exclusivity, or preference, is associated or implied by the use of this word.

The present invention is generally directed to a system that has a verifier, which is operationally integrated with a device such as a printer or a barcode label dispenser, in order to allow the verifier to evaluate a print quality of a barcode dispensed by the device. In one exemplary embodiment in accordance with the invention, a verifier is operationally integrated with a printer so as to configure one or more elements of the verifier to have a handshake arrangement with one or more elements of the printer when verifying a print quality of a barcode image during printing of the barcode image by the printer. The handshake arrangement can incorporate the use of various unidirectional and/or bidirectional communication signals that are propagated between the verifier and the printer for optimizing various operational factors such as paper print speed, barcode image verification speed, and barcode verification result intimation. Barcode result intimation can include features such as providing a paper printout indicative of an unacceptable barcode image quality and/or a status message displayed upon a display unit.

In another exemplary embodiment in accordance with the invention, a verifier incorporates a line-scanning system that controls two or more light sources (having different wavelengths) in order to verify a print quality of a barcode image. The verification is carried out by using various light wavelengths, individually and/or in various combinations, to obtain a set of colored line images of a printed barcode. The colored line images are then used to generate a grayscale image for verifying the print quality of the barcode image.

Attention is now drawn to <FIG>, which schematically depicts an exemplary system <NUM> that includes a verifier <NUM> coupled to a printer <NUM> in accordance with an exemplary embodiment of the invention.

In this exemplary embodiment, the verifier <NUM> is mechanically attached to the printer <NUM> such that the verifier <NUM> can evaluate a set of barcode images printed by the printer <NUM> upon a paper strip <NUM> that is dispensed out of the printer <NUM> via an opening <NUM>. The paper strip <NUM> is contained in a paper spool <NUM> that feeds the paper strip <NUM> past a printhead <NUM>. The printhead <NUM> can include printing components such as an ink reservoir and an inkjet (or a toner cartridge and a thermal printhead) and imprints a sequence of barcode images upon the paper strip <NUM> as the paper strip <NUM> traverses the printhead <NUM>.

In one exemplary implementation of this embodiment, the verifier <NUM> is an independent module that is attached to the printer <NUM> using mechanical fasteners (screws, clamps, clips etc.) and can be removed without opening a housing portion of the printer <NUM>. In another exemplary implementation, the verifier <NUM> is an integral part of the printer <NUM> that can be housed inside the housing portion of the printer <NUM> during manufacture, for example. This aspect is indicated in <FIG> by a dashed line outline <NUM>. When the verifier <NUM> is an integral part of the printer <NUM>, the paper strip <NUM> is pushed out of the housing via an opening <NUM>. A tear bar <NUM> located at the opening <NUM> can be used to tear the paper strip <NUM> into multiple pieces, such as in the form of labels, each label having a barcode image.

<FIG> schematically depicts some exemplary components contained in each of the verifier <NUM> and the printer <NUM>. A print motor <NUM> drives the printhead <NUM> when barcode images are printed upon the paper strip <NUM>. A first communication link <NUM> can be used to communicate to a command and control system <NUM>, various status conditions of the print motor <NUM>. The status conditions can pertain to mechanical information (motor rpm, for example) and/or electrical information (such as an overvoltage condition or a blown fuse). A second communication link <NUM> can be used to communicate from the command and control system <NUM> to the print motor <NUM>, one or more control signals. These control signals can include for example, start/stop signals, speed control signals, speed synchronization signals.

In this exemplary embodiment, the command and control system <NUM> generates such control signals based on handshake signals communicated over a communication link <NUM> between the command and control system <NUM> and a processing system <NUM> that is a part of the verifier <NUM>. The handshake signals allow the command and control system <NUM> to control operations of the print motor <NUM> (via the second communication link <NUM>) and coordinate these operations so as to permit the verifier <NUM> and the printer <NUM> to cooperate with each other when printing and verifying barcode images.

The command and control system <NUM> can also use one or more communication links (such as a communication link <NUM>) to operate the printhead <NUM> in cooperation with and/or independent of, the print motor <NUM>. In one example operation, the command and control system <NUM> provides a command to the printhead <NUM> to print a "void" label on the paper strip <NUM> when the verifier <NUM> informs the command and control system <NUM> of a defect in one or more barcode images. This operation will be described below in more detail using other figures.

When in operation, the printhead <NUM> of the printer <NUM> sequentially prints a number of barcode images upon the paper strip <NUM> after which the paper strip <NUM> is fed into the verifier <NUM> (indicated by a forward motion arrow <NUM>) via the opening <NUM>. The paper strip <NUM> then moves across an image scanning window <NUM> of an imaging scanning system <NUM> that is a part of the verifier <NUM>. The image scanning window <NUM>, which can be made of a transparent material such as glass, permits each of a red light source <NUM>, a green light source <NUM>, and a blue light source <NUM> to project light (individually or in combination) upon each barcode image printed on the paper strip <NUM> as the barcode image moves across the image scanning window <NUM>.

Each of the red light source <NUM>, the green light source <NUM>, and the blue light source <NUM> is controlled by a line-scanning system <NUM>. The line-scanning system <NUM> can receive a handshake signal from the print motor <NUM> via communication link <NUM>. In some implementations, the communication link <NUM> can be a bi-directional link that provides bi-directional handshaking capabilities between the print motor <NUM> and the line-scanning system <NUM>. The image scanning system <NUM>, which can be implemented in the form of a color contact image sensor, is communicatively coupled to the processing system <NUM> via a bi-directional communication link <NUM> for executing various operations, such as providing to the processing system <NUM>, barcode verification information pertaining to the barcode images printed on the paper strip <NUM>.

The line-scanning system <NUM> can employ various techniques to verify a print quality of a barcode image printed on the paper strip <NUM>. A few exemplary techniques will be described below in more detail. When no defects are detected in any of the barcode images, the paper strip <NUM> moves past the image scanning system <NUM> (forward motion arrow <NUM>) in a substantially continuous manner (other than for brief pauses at the image scanning window <NUM> if necessary for the image scanning system <NUM> to execute a verification procedure). On the other hand, if the image scanning system <NUM> detects a defect in a barcode image, the verifier <NUM> generates a defect indication signal and/or a defect report that is automatically transmitted from the verifier <NUM> to the printer <NUM> via the communication link <NUM> for example. A handshake signal between the verifier <NUM> and the printer <NUM> (carried over the communication link <NUM>) is used to stop printing of any additional barcode images upon the paper strip <NUM> by the printer <NUM>. Furthermore, a verification result intimation that can provide information pertaining to the detection of the defect in the barcode image and/or indicating a nature of the defect can be provided to a human operator (not shown).

<FIG> schematically depicts an exemplary operational condition of the verifier <NUM> and the printer <NUM> when the verification result intimation is carried out. During this operation, one or more elements of the printer <NUM> (such as a motor that drives the paper spool <NUM>), operate to withdraw a portion of the paper strip <NUM> back into the printer <NUM> (as indicated by a reverse motion arrow <NUM>). In a first exemplary implementation, the paper strip <NUM> is withdrawn to an extent such that a barcode image having a defect that was detected by the verifier <NUM> is aligned with the printhead <NUM>. Under control and guidance of the command and control system <NUM>, the printhead <NUM> prints a defect indication label (such as a "void" label or a defect score label) upon the defective barcode image. The defect score can be provided by using a range of values, such as <NUM> to <NUM>, for rating the extent of the defect with a "<NUM>" indicating an "unacceptable" grade and "<NUM>" indicating a "remediable" grade for example. After printing of the defect indication label, the paper strip <NUM> is pushed outwards (as indicated by forward motion arrow <NUM> shown in <FIG>) and dispensed via the opening <NUM>. A human operator can view the defect indication label and take remedial action to rectify the defect. In an alternative embodiment in accordance with the invention, one or more defects can be automatically rectified by the printer <NUM> (by adjusting a print quality, for example) using the various handshake signals between the printer <NUM> and the verifier <NUM>.

In a second exemplary implementation, the verification result intimation is carried out by using a display <NUM> that can be located in the printer <NUM>. Thus, when the image scanning system <NUM> detects a defect in a barcode image, the handshake signals between the verifier <NUM> and the printer <NUM> (executed via the communication link <NUM> and the communication link <NUM>) can be used to inform a processing system <NUM> located in the printer <NUM> of the defect detection. It should be understood that though shown as a separate entity, the processing system <NUM> can be a part of the command and control system <NUM> in some implementations. The processing system <NUM> responds to the information by providing a defect indication message upon the display <NUM>. Remedial action may be taken by a human operator and/or automatically by the printer <NUM>.

Towards this end, the human operator can use a user I/O <NUM> (keyboard, mouse etc.) to interact with the processing system <NUM> for addressing the defect condition as well as for other purposes (such as configuring the printer <NUM>). In some exemplary implementations, various types of messages can be displayed on the display <NUM> to assist the human operator address one or more detected defects. For example, a help message can indicate that a symbol contrast of a barcode image is poor. The human operator can read the message and adjust a contrast setting of the printer. The help message can also assist the human operator to troubleshoot the defect, for example, by describing how to access a toner cartridge for replacing the toner cartridge.

<FIG> graphically depicts a flowchart <NUM> of an exemplary method to verify a print quality of a barcode image in accordance with an exemplary embodiment of the invention. <FIG> will be used to describe the flowchart <NUM> in order to elaborate upon certain actions of the method that can be performed by the various exemplary elements present in the verifier <NUM> and the printer <NUM>. In block <NUM>, the printer <NUM> is powered on. Dashed arrow <NUM> indicates an optional configuration where the power-on condition of the printer <NUM> is used to simultaneously power-on the verifier <NUM> (block <NUM>). Block <NUM> pertains to a decision block indicative of a wait condition for a print task to be initiated in the printer <NUM>. The print task pertains to printing barcode images upon the paper strip <NUM>. When a print task is initiated, printing of a first barcode image is started as indicated in block <NUM>. It should be understood that several more barcode images can be printed on the paper strip <NUM> and the various blocks that follow block <NUM> in the flowchart <NUM>, are executed upon the other barcode images in a sequential manner.

In block <NUM>, the printer <NUM> transmits a "verification start" trigger to the verifier <NUM> (via communication link <NUM>, for example). Attention is drawn to block <NUM>, which pertains to a decision block executed in the verifier <NUM> and is indicative of a wait condition for the verification start trigger. Upon receiving the verification start trigger, the processing system <NUM> in the verifier <NUM> transmits a signal to the image scanning system <NUM> to scan the first barcode image (block <NUM>). The scanning operation, which is indicated in block <NUM>, is carried out in order to verify a print quality of the first barcode image. Verifying the print quality can include operations such as verifying symbol contrast, reflectance, edge contrast, modulation, decodability, and/or print defects in the barcode image. In block <NUM>, a verification result is communicated from the verifier <NUM> to the printer <NUM>. This may be carried out by transmitting a message and/or image data to the printer <NUM> via the communication link <NUM>.

In block <NUM>, the printer <NUM> can evaluate the received verification result by using one or both of the command and control system <NUM> and the processing system <NUM>. If the evaluation indicates an acceptable print quality, the next barcode image is printed (as indicated in block <NUM>) and operation of the flowchart <NUM> continues by executing the operation indicated in block <NUM> and subsequent operations. It should be understood that this recursive operation can continue uninterruptedly for verifying multiple barcode images printed upon the paper strip <NUM>, as long as each image in the multiple barcode images has no defect.

On the other hand, if the decision action indicated by block <NUM> indicates an unacceptable print quality (in any barcode image among the plurality of barcode images), the defective barcode image is retracted (block <NUM>) in a manner described above in <FIG> (reverse motion arrow <NUM>). In block <NUM>, an indication (such as the "void" label described above) is provided. In decision block <NUM> a decision is made in terms of fixing and reprinting the defective barcode image. The decision can be made automatically (by the processing system <NUM> for example) or manually by a human operator (after reading of a defect message upon the display <NUM>). If decision block <NUM> indicates no fixing and reprinting of the defective barcode image is necessary, the printing and verifying operations are ended (as indicated in block <NUM>). If decision block <NUM> indicates fixing and reprinting is to be carried out, in block <NUM>, one or more settings in the printer can be modified in order to rectify the defect. The rectified barcode image is then printed (block <NUM>) and operations are re-initiated from block <NUM> onwards to verify the print quality of the reprinted barcode image.

<FIG> schematically depicts some exemplary mechanical components of the verifier <NUM> in accordance with an exemplary embodiment of the invention. The mechanical components can include a top cover <NUM>, the image scanning system <NUM>, the image scanning window <NUM>, an upper portion <NUM> of a paper tray, a lower portion <NUM> of the paper tray, a support ray <NUM>, the tear bar <NUM>, a first circuit board <NUM>, a second circuit board <NUM>, a bottom enclosure <NUM>, a communication cable <NUM>, and a connector <NUM>. The connector <NUM>, which is used to interconnect the verifier <NUM> to the printer <NUM>, is a part of the communication cable <NUM>. The communication cable <NUM> can include the various communication links (the communication link <NUM>, the communication link <NUM>, and the communication link <NUM> for example) that carry handshake signals between the verifier <NUM> and the printer <NUM>.

<FIG> schematically depict a few exemplary embodiments of various printing systems incorporating the verifier <NUM> and the printer <NUM> in integrated form. <FIG> depicts a printing system <NUM> that includes each of the verifier <NUM> and the printer <NUM> constructed in modular form and coupled together to form an integrated assembly. <FIG> depicts the printing system <NUM> with the verifier <NUM> (in module form) uncoupled from the printer <NUM>, thus offering an internal view of various mechanical elements that are used to couple the verifier <NUM> to the printer <NUM>. <FIG> depicts the printing system <NUM> when the paper strip <NUM> is being dispensed by the verifier <NUM> that is coupled to the printer <NUM>. Attention is drawn to the display <NUM> that is a part of the printer <NUM> and can be used to display information such as verification result intimation.

<FIG> depicts a printing system <NUM> that includes each of the verifier <NUM> and the printer <NUM> constructed in modular form and coupled together to form an integrated assembly. The form factor and construction of the verifier <NUM> of the printing system <NUM> is different than that of the verifier <NUM> that is a part of the printing system <NUM>. In this exemplary embodiment, the verifier <NUM> includes a hinge <NUM> that couples a top portion <NUM> and a bottom portion <NUM>. This arrangement allows an upper surface of a bottom portion <NUM> to be exposed for various purposes such as for inspecting a barcode label printed upon the paper strip <NUM>. The paper strip <NUM> (not shown) is dispensed from the printer <NUM> via the opening <NUM> and traverses the upper surface of the bottom portion <NUM> in the direction indicated by an axis <NUM>.

<FIG> schematically depict a first exemplary method of verifying a print quality of a barcode image <NUM> in accordance with an embodiment of the invention. The barcode image <NUM> can be one of multiple barcode images (other barcode images not shown) printed upon the paper strip <NUM>. The paper strip <NUM> moves across the various light sources in the verifier <NUM> as indicated by the forward motion arrow <NUM>.

In this first exemplary method, the line-scanning system <NUM> (not shown) is configured to use only one of the red light source <NUM>, the green light source <NUM>, or the blue light source <NUM>. Keeping this in mind, attention is drawn to <FIG>, which illustrates this method when the line-scanning system <NUM> is configured to use only the red light source <NUM>. The green light source <NUM> and the blue light source <NUM> are not used here. The red light source <NUM>, which radiates light in the red wavelength spectrum, is used to carry out a line-by-line scan of a printed portion (or an entirety) of the barcode image <NUM>. In some implementations, a pixel-by-pixel scan can be used for capturing image information of the entire barcode image <NUM> at a pixel level granularity.

<FIG> depicts the line-scanning system <NUM> alternatively configured to use only the green light source <NUM> (the red light source <NUM> and the blue light source <NUM> are not used), while <FIG> depicts the line-scanning system <NUM> configured to use only the blue light source <NUM> (the red light source <NUM> and the green light source <NUM> are not used).

Irrespective of which one of the three light sources is used, the image information that is captured at a color wavelength (red, green, or blue) is converted by the processing system <NUM> into a grayscale image and/or into grayscale image information. The print quality of the barcode image <NUM> can then be evaluated by processing the grayscale image. The verification can include operations such as verifying symbol contrast, reflectance, edge contrast, modulation, decodability, and/or print defects in the first barcode image.

The image scanning system <NUM>, which is communicatively coupled to the processing system <NUM>, provides to the processing system <NUM>, barcode verification information pertaining to the barcode images printed on the paper strip <NUM>. The barcode verification information can then be transmitted by the processing system <NUM> to the printer <NUM> using a handshake procedure executed via the communication link <NUM> and the communication link <NUM>. The line-scanning system <NUM>, which also has a handshake arrangement with the printer <NUM>, uses the handshake procedure during the process of executing the method depicted in <FIG>.

In an alternative implementation of this method, the line-scanning system <NUM> is configured to sequentially scan the barcode image <NUM> using two or more of the light sources rather than a single light source. Accordingly, if all three light sources are used in a sequential color scan, the barcode image <NUM> is first scanned using the red light source <NUM> (as shown in <FIG>), followed by using the green light source <NUM> (as shown in <FIG>), followed by the blue light source <NUM> (as shown in <FIG>). It should be understood that the sequential color scan can be executed using various color sequences (for example, green scan followed by red scan, followed by blue scan).

The sequential color scan can be a line-by-line scan of the barcode image <NUM> and/or a pixel-by-pixel scan of the barcode image <NUM>. The image information that is captured by the sequential color scan in two or more colors is converted by the processing system <NUM> into grayscale image information and processed to verify the print quality of the barcode image <NUM>. The conversion can include merging multiple images (red, green, and blue images, for example) into a common image, which constitutes the grayscale image.

In a variant of this implementation, a first light source (the red light source <NUM> for example) can be used to scan a first set of lines (even numbered lines, for example) and a second light source (one of the green light source <NUM> or blue light source <NUM>) to scan a second set of lines (odd numbered lines for example). The image information that is captured in the two scans is then converted by the processing system <NUM> into grayscale image information and processed to verify the print quality of the barcode image <NUM>.

In yet another variant of this implementation, the red light source <NUM> can be used to scan a first set of lines (lines <NUM>, <NUM>, <NUM>, and so on for example), the green light source <NUM> to scan a second set of lines (lines <NUM>, <NUM>, and <NUM>, and so on for example), the blue light source <NUM> to scan a third set of lines (lines <NUM>, <NUM>, and <NUM>, and so on for example). The image information that is captured in the three scans is converted by the processing system <NUM> into grayscale image information and processed to verify the print quality of the barcode image <NUM>.

<FIG> schematically depicts a second exemplary method of verifying a print quality of a barcode image <NUM> in accordance with an embodiment of the invention. The barcode image <NUM> can be one of multiple barcode images printed upon the paper strip <NUM> (other barcode images not shown). The paper strip <NUM> moves through the verifier <NUM> as indicated by the forward motion arrow <NUM>. In this second exemplary method, the line-scanning system <NUM> (not shown) is configured to use a combination of two or more light sources concurrently. In the example implementation shown in <FIG>, the line-scanning system <NUM> is configured to concurrently use the red light source <NUM> and the green light source <NUM> (the blue light source <NUM> is not used). Thus, the barcode image <NUM> is exposed to a line-by-line and/or a pixel-by-pixel scan using the two-light combination, and a bi-color composite image (and/or image information) is generated based on the scanning. The processing system <NUM> converts the bi-color composite image and/or information into grayscale image information and carries out processing to verify the print quality of the barcode image <NUM>.

In other example implementations, various other bi-color combinations of the red light source <NUM>, the green light source <NUM>, and the blue light source <NUM> (red-blue, green-blue, for example) can be used. In yet other example implementations, a tri-color combination of the red light source <NUM>, the green light source <NUM>, and the blue light source <NUM> can be used.

Claim 1:
A system comprising:
a printer (<NUM>); and
a verifier (<NUM>) coupled to the printer (<NUM>), the verifier (<NUM>) including an image scanning system (<NUM>) configured to verify a print quality of a barcode image (<NUM>) printed by the printer (<NUM>),
wherein one or more elements of the verifier (<NUM>) are configured to have a handshake arrangement with one or more elements of the printer (<NUM>) via a communication cable (<NUM>) comprising a plurality of communication links (<NUM>, <NUM>, <NUM>) when verifying the print quality of the barcode image (<NUM>),
wherein the handshake arrangement comprises one or more handshake signals propagated between the verifier (<NUM>) and the printer (<NUM>), via the communication cable (<NUM>), for optimization of one or more operational factors,
wherein the printer (<NUM>) comprises a print feed motor (<NUM>) and a command and control system (<NUM>), the command and control system (<NUM>) being configured to control the print feed motor (<NUM>) using one or more control signals generated based on the one or more handshake signals, and
characterized in that, upon detecting at least one defect in the print quality of the barcode image (<NUM>), the image scanning system (<NUM>) is configured to generate a handshake signal that is propagated via one communication link (<NUM>) of the plurality communication links (<NUM>, <NUM>, <NUM>) to the print motor (<NUM>) to stop printing any additional barcode images.