Barcodes have dramatically transformed the efficiency of retail store operation. Nevertheless, correct identification and handling of products is challenging when there are potentially conflicting labels applied to items or groups of items. Such conflict often arises in the following scenarios:
1. groups of separately marked items sold as a unit (e.g., a family pack);
2. items marked with price change labels (e.g., a discount or fixed price label).
In the first case, error occurs when items are recognized and priced individually rather than as a group. In some configurations, a pack is constructed with an over-wrap that obscures barcodes on individual items. The overwrap carries a separate barcode for the family pack. Conflict occurs when a scanner reads barcodes for individual items and the family pack or misses the barcode of the family pack. Conflict also occurs when the scanner reads the barcode of the family pack and then individual items, without treating the individual items as part of the pack. In another family pack configuration, the individual items are held in a carrying case that bears the barcode of the family pack. The individual items may be oriented to obscure their barcodes, yet they may still be visible. The items within a pack may be different items that the retailer wishes to sell together or multiple instances of the same item in a group. In the former situation, each of the items contains a different barcode, which is also different than the group barcode. In all these cases, errors occur when the scanner provides decoded product codes for the individual items in the family pack.
In the case of price change labels, error occurs when the scanner or checker misses the price change item, and instead, only provides the product code for the product without the price change. Additional slowing occurs in the check-out process when the checker is required to manually enter the change in price.
Other errors may occur due to conflicting codes inserted in product packaging artwork or printing errors. In the former case, a package design file may encompass design elements, each bearing a different product code, which may conflict in some cases. Also, the package design file may include references to artwork in other files, which is composited to produce the package design image prior to printing. In this image assembly process, conflicting codes may be incorporated from the artwork in the reference files. In the latter case, conflicting codes may be printed due to printing plates that apply imagery with conflicting codes. Also, printing may occur with plural print stages, in which a first print technology like flexography or offset applies a first design to a package substrate, and a second print technology like a digital offset or inkjet applies a second design to a package substrate.
The problem with these scenarios is that they cause pricing error and slow down the check-out process. Below, we describe approaches for scanner devices to identify items accurately and at higher speed while minimizing use of processing resources within the POS system or requiring manual intervention by the checker.
In our prior work, we have detailed methods for robust encoding of auxiliary data in objects. In this work, we describe methods to encode machine readable data redundantly within two-dimensional spatial blocks across an image to create an enhanced image with an auxiliary data carrier. This enhanced image is applied to objects by printing it on packaging or labeling with commercial presses, or directly applying the image by marking the object, with ink jet, laser marking, embossing, photographic, or other marking technology. This redundant marking is particularly useful for automatic identification of objects, as it is able to be merged with other imagery (instead of occupying dedicated spatial area like conventional codes) and enables reliable and efficient optical reading of the machine-readable data from various different views of the object. See, e.g., U.S. Pat. Nos. 6,102,403 and 6,614,914, U.S. application Ser. No. 14/724,729 (Now U.S. Pat. No. 9,747,656), Ser. No. 14/725,399 (Now U.S. Pat. No. 9,635,378), and US Publications 20100150434 (with encoding applied to color channels of image content rendered for printing or display), which are hereby incorporated by reference.
One aspect of the invention is a scanner with control logic that resolves code conflicts based on detection results from one or more recognition units in the scanner. The scanner includes a processor that controls illumination and image capture by an imager of an object within its view volume. A processor executes a controller process to receive a detection result from a recognition unit for image frames captured of an object or objects in the view volume. For some objects, the detection results acquired from sensing the object within a scan operation (typically under 1 second) includes an outer or inner code, or both. An example of an outer code is an identifier of a family pack or price change label, while an example of an inner code is an identifier of a family pack member or product identifier of a product with a price change label attached.
The controller analyzes the detection result by comparing the detection result with state stored for a prior detection result during the scan operation to determine whether to initiate one of plural types of waiting periods based on the type of detection result and comparing the detection result with a prior result in a state data structure. The controller sets the waiting period to control reporting of an outer code relative to an inner code on the package. It enforces a first type of waiting period and control logic to control reporting of an inner code after detection of an outer code and a second type of waiting period and control logic to delay reporting of an inner code until the second type of waiting period ends. Variations of the waiting period and control logic are described further below.
Additional aspects of the invention include control logic and associated methods for integrated within automatic identification devices, and various configurations and types of recognition units and controller logic for determining when and how to report identification in the presence of plural conflicting and duplicative detection results.
Further advantages and features are described and illustrated in the detailed description and drawings below.