Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROGRESSIVE IDENTIFIER
Document Type and Number:
WIPO Patent Application WO/2018/182587
Kind Code:
A1
Abstract:
An example system includes an identifier reader to read a progressive identifier, a white space modification portion, and a controller. The progressive identifier includes white space and non-white space. The controller is to select portions of the white space to be changed to nonwhite space, and cause the white space modification portion to change the selected portions of the white space to non-white space. The amount of white space selected to be changed to nonwhite space is constant for all stages in the progression.

Inventors:
SIMSKE STEVEN J (US)
VANS MARIE (US)
CARLTON CODY (US)
Application Number:
PCT/US2017/024680
Publication Date:
October 04, 2018
Filing Date:
March 29, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD DEVELOPMENT CO (US)
International Classes:
G06K7/14; B41J2/01
Foreign References:
US20130346242A12013-12-26
CN105512598A2016-04-20
US20050024841A12005-02-03
Attorney, Agent or Firm:
BURROWS, Sarah E. et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A system, comprising:

an identifier reader to read a progressive identifier, the progressive identifier including white space and non-white space;

a white space modification portion; and

a controller to:

select portions of the white space to be changed to non-white space; and cause the white space modification portion to change the selected portions of the white space to non-white space, wherein the amount of white space selected to be changed to non-white space is constant for all stages in the progression.

2. The apparatus of claim 1, wherein the amount of white space selected to be changed to non-white space is based on a total amount of white space at the beginning of the progression and the number of stages in the progression.

3. The apparatus of claim 1, wherein the controller selects portions of the white space to be changed to non-white space by:

identifying a residual set of white space bits in the white space, the residual set including a predetermined number of bits;

forming a candidate set of white space bits, the candidate set including the residual set and an additional set of white space bits from the white space, the additional set of white space bits including the predetermined number of bits and the candidate set including twice the predetermined number of bits;

selecting the predetermined number of bits from the candidate set of white space bits to be changed to non-white space bits.

4. The apparatus of claim 1, wherein the progressive identifier is one of two-dimensional bar code or a quick read (QR) code.

5. The apparatus of claim 1, wherein the controller is to cause the white space modification portion to change the selected portions of the white space to non-white space by changing the white space to one of cyan, magenta, yellow, or a combination thereof.

6. A method, comprising:

a) receiving progressive identifier at a stage of a progression, the progressive identifier including white space and non-white space;

b) identifying a residual set of white space bits, the residual set including a predetermined number of bits;

c) forming a candidate set of white space bits, the candidate set including the residual set and an additional set of white space bits, the additional set of white space bits including the predetermined number of bits and the candidate set including twice the predetermined number of bits; and

d) modifying the progressive identifier by selectively changing the predetermined number of bits from the candidate set of white space bits to non-white space bits.

7. The method of claim 6, further comprising:

forwarding the modified progressive identifier to a next stage in the progression; and repeating a)-d) at the next stage.

8. The method of claim 7, wherein the predetermined number is same for each stage in the progression.

9. The method of claim 6, wherein the progressive identifier is one of two-dimensional bar code or a quick read (QR) code.

10. The method of claim 6, wherein the changing the predetermined number of bits from the candidate set of white space bits to non-white space bits includes changing the white space to one of cyan, magenta, yellow, or a combination thereof.

11. A non-transitory computer-readable storage medium encoded with instructions executable by a processor of a computing system, the computer-readable storage medium comprising instructions to:

identify a residual set of white space bits in a progressive identifier at a stage of a progression, the residual set including a predetermined number of bits;

form a candidate set of white space bits, the candidate set including the residual set and an additional set of white space bits, the additional set of white space bits including the predetermined number of bits and the candidate set including twice the predetermined number of bits; and

modify the progressive identifier by selectively changing the predetermined number of bits from the candidate set of white space bits to non-white space bits.

12. The non-transitory computer-readable storage medium of claim 11, further comprising instructions to:

forward the modified progressive identifier to a next stage in the progression; and repeat instructions a)-d) at the next stage.

13. The non-transitory computer-readable storage medium of claim 12, wherein the predetermined number is same for each stage in the progression.

14. The non-transitory computer-readable storage medium of claim 11, wherein the progressive identifier is one of two-dimensional bar code or a quick read (QR) code.

15. The non-transitory computer-readable storage medium of claim 11, wherein the changing the predetermined number of bits from the candidate set of white space bits to non-white space bits includes changing the white space to one of cyan, magenta, yellow, or a combination thereof.

Description:
PROGRESSIVE IDENTIFIER

BACKGROUND

[0001] Identifiers, such as bar codes, are used to uniquely identify each of a large set of items. For example, bar codes or other identifiers may be used to identify retail items. Similarly, serial numbers on various products are used to identify each individual product in such a set. Such identifiers may be applied to packaging material or may be applied to objects using labels or medallions, or even impressed or stamped directly on the object.

BRIEF DESCRIPTION OF THE DRAWINGS

[0002] For a more complete understanding of various examples, reference is now made to the following description taken in connection with the accompanying drawings in which:

[0003] Figure 1 illustrates an example system of progressive identifiers;

[0004] Figure 2 illustrates an example identifier and an example progression;

[0005] Figure 3 illustrates an example flow of a product with a progressive identifier;

[0006] Figure 4 illustrates an example progression of an example identifier;

[0007] Figure 5 is a flow chart illustrating an example method for progression of a progressive identifier; and

[0008] Figure 6 illustrates a block diagram of an example system with a computer-readable storage medium including instructions executable by a processor for progression of a progressive identifier.

DETAILED DESCRIPTION

[0009] Various examples described herein relate to systems using progressive identifiers, such as progressive barcodes. In various examples, a progressive barcode is updated as it progresses through various stages by changing a predetermined amount of white space to non- white space. The predetermined amount of white space to be changed at each stage may be constant. This results in the identical number of possible states of the progressive identifier at each successive stage of the progression.

[0010] As noted above, various identifiers may be applied to uniquely identify a product, for example. In various examples, a product may be a physical object, such as a package, a label or a printed document. In other examples, a product may be a virtual object, such as an electronic record, electronic transaction, electronic document or the like. The product may be any of a variety of objects, such as an object for retail sale, a component for a larger assembly, etc. The identifier may be any of a variety of identifiers, such as a bar code, a 2-D bar code such as a quick-response (QR) code, or the like. The identifier may be used to identify various features of the product.

[0011] Progressive identifiers may be incremented at various stages of a progression. In various examples, the progression may be a logical progression, such as a workflow or a supply chain. Accordingly, a product with a progressive identifier may be processed through various stages of the progression. At each stage, the identifier may be modified by changing a portion of the identifier from the previous stage. In this regard, the state of an identifier may be indicative of a specific stage in the progression.

[0012] In various examples, as described below, a progressive identifier may be formed with a combination of white space and non-white space. In this regard, in an example binary system, white space may refer to a "0", and non-white space may refer to a "1". In a non-binary system, the non-white space may refer to a non-zero character, for example. In some examples, such as a two-dimensional bar code (e.g., QR code), white space (or "0") may be represented with a white bit or square, and non-white space may be represented by a non-white square. In a binary system, the non-white space may be black. In a non-binary system, the non-white space may be, for example, cyan, magenta, yellow, or a combination thereof (resulting in red, blue or green, in most cases). In another example, the non-white space may be represented with variations of grayscale.

[0013] Referring now to Figure 1, an example system of progressive identifiers is schematically illustrated. The example system 100 of Figure 1 may be implemented in any of a variety of applications. For example, the example system 100 may be implemented in a manufacturing environment, such as an assembly line. Of course, various other environments are possible and are contemplated within the scope of the present disclosure.

[0014] The example system 100 of Figure 1 includes a controller 110. In various examples, the controller 110 may be implemented as hardware, software or firmware. The controller 110 may be a central processor to control various functions of the example system 100 and may communicate with other systems or controllers outside the example system 100. [0015] The example system 100 of Figure 1 includes an identifier reader 120 coupled to the controller 110. In various examples, the identifier reader 120 may include a scanner (e.g., a laser scanner), a camera or other image capture device. The identifier reader 120 of the example system 100 may be provided to read a progressive identifier which may be provided on or associated with an object, for example. As noted above, the progressive identifier may include white space and non-white space. In various examples, a progression may include an identifier reader 120 at each stage of the progression. The identifier reader 120 at each stage may be coupled to a common controller 110. Alternatively, the controller 110 at each stage may be communicatively coupled to other controllers through a network, for example.

[0016] The example system 100 of Figure 1 further includes a white space modification portion 130. The white space modification portion 130 may include, for example, a printer to selectively modify portions of the white space in an identifier to non-white space. For example, the printer may be a color printer to change the selected portions of the white space to cyan, magenta, yellow or a combination thereof. In other examples, the printer may be three- dimensional printer. In this regard, white space may be associated with lack of material in a region, and non-white space may be associated with material formed in the region. In other examples, white space may be associated with a base material, and non-white space may be associated with the base material treated with a pigment or a dye.

[0017] In the example system 100 of Figure 1, when an object and/or an identifier is received at a stage of a progression, the controller 110 can read the identifier with the identifier reader 120 by, for example, scanning the identifier. The controller 110 may then modify the identifier as desired for the current stage. For example, once processing of the object associated with the identifier at a given stage is complete, the identifier may be modified to indicate the completed stage in the progression.

[0018] In this regard, the controller 110 may be provided with a database or an algorithm to determine the changes to be made to the identifier. In various examples, the controller 110 may select portions of the white space in the identifier to be changed to non-white space. The selection of the portions of the white space to be changed may be based on or indicated by the database or algorithm. The controller 110 may then cause the white space modification portion 130 (e.g., a printer) to change the selected portions of the white space to non-white space. In various examples, the amount of white space selected to be changed to non-white space is constant for all stages in the progression, as described in greater detail below with reference to the examples illustrated in Figures 4-6.

[0019] Referring now to Figure 2, an example identifier is illustrated that may be used to represent a progressive identifier. The example identifier of Figure 2 is a two-dimensional, machine readable, bar code, such as a QR-code, having a plurality of regions (e.g., squares) that may be white or non-white. In various examples, additional colors may also be used, such as cyan, magenta, yellow, varying levels of grey or a combination thereof. An initial state (or stage 0) of the example identifier is illustrated in Figure 2(a). In this regard, the identifier includes large squares in three corners which may be part of a template of the identifier. This

configuration may allow for the correct identification of the orientation of the identifier by a machine reading the identifier, such as a scanner. The remainder of the identifier illustrated in Figure 2(a) includes a combination of white space and non-white space. The non-white space in the identifier is black in the example of Figure 2(a). In one example, the distribution of the white space and non-white space in Figure 2(a) may uniquely identify the initial state of a specific progression.

[0020] Referring now to Figures 2(b) - 2(e), the example identifier is illustrated at various stages of the progression. For example, Figure 2(b) illustrates the identifier at a first stage, which in various examples may be a manufacturing stage. In the example of Figure 1, the identifier at the first stage may be a representation of a code determined or selected by a controller at the first stage, such as the controller 110 of the example system 100 of Figure 1. The identifier may be modified at a second stage (e.g., packaging stage) by changing additional white squares to black, as indicated in Figure 2(c). Again, in the example of Figure 2, the identifier at the second stage may be a representation of a code determined or selected by a controller The identifier may be similarly modified further at a third stage, as illustrated in Figure 2(d), and a fourth stage, as illustrated in Figure 2(e).

[0021] In various examples, the identifiers may have a representation as a string of characters. For example, the identifiers of Figure 2 may be represented as a binary string of 0's and l 's. In other examples, the identifiers may be represented with a non-binary string of characters that may include various other types of characters, such as lower case letters, upper case letters, numerals, and/or various other types of characters. [0022] As illustrated in Figure 2, at each stage a certain amount of white space is changed to non-white space. In a binary system, the white space may be changed to black or another color. In a non-binary system, such as one that may be implemented with a color printer, each square (or bit) may be changed from white (or "0") to cyan, magenta, yellow or a combination thereof. In the example of Figure 2, the non-white regions are illustrated as grayscale, but each level of gray may correspond to a different color, such as cyan, magenta, yellow or a combination thereof.

[0023] As indicated above, at each stage in the progression, additional white space is changed to non-white space. Thus, as the identifier advances through the progression, a reduced amount of white space remains at each stage. In this regard, a visual inspection can reveal the stage in the progression of the identifier.

[0024] Referring now to Figure 3, a progression in accordance with an example is illustrated. In various examples, the example progression 300 may be associated with a product which passes through various entities or stages of the progression 300, such as stage 1 330, stage 2, 332, stage N-l 334, and N 336. The example of Figure 1 illustrates a product 320 progressing through the various stages 330-336 in the progression. In various examples, the various stages 330-336 may correspond to, for example, manufacturing, packaging, shipping, etc. Of course, in various examples, the example progression 300 may include additional stages.

[0025] In various examples, one or more stages in the progression 300 may include identifiers from a controller 310, as indicated by the arrows from the controller 310 to each stage 330-336 in the progression 300. The controller 310 may be a central controller which may be responsible for the progression 300, for example. In this regard, the controller 110 may include a database or logic to select the white space region in each identifier to be changed.

[0026] Referring now to Figure 4, an example progression of an example identifier is illustrated. The example identifier is illustrated at Stage 0 402 as a combination of white space ("W") and non-white (e.g., black) space ("K") bits. As illustrated in the example of Figure 2(a), in its initial state, the example identifier includes a certain amount of non-white bits (or squares) and white bits. The white bits are available for changing to non-white bits as the identifier progresses through the progression. In one example, in its initial state, the example identifier has an equal amount of white bits and non-white bits. [0027] As noted above, as the identifier progresses through the progression, select portions of the white space are changed to non-white space. In various examples, the amount of white space changed to non-white space at each stage may be predetermined. In one example, the amount of white space changed to non-white space is constant for each stage in the progression. One example with constant amount of white space changed at each stage is illustrated in Figure 4. In this regard, the amount of white space changed at each stage is based on the total amount of white space available at the beginning of the progression and the number of stages in the progression. For example, if the progression includes S stages, and the amount of white space changed at each stage is N, the total amount of white space available at the start of the progression should be greater than or equal to SN. In one example described below with reference to Figure 4, at each stage, N white bits are selected for changing to non-white bits from a group of 2N bits.

[0028] For purposes of clarity, Figure 4 illustrates a progression with binary characters. Thus, white space is represented as 0's, and non-white space is represented as l 's. The strings illustrated in Figure 4 may be represented as graphical identifiers, such as two-dimensional bar codes illustrated in the example of Figure 2.

[0029] Referring again to Figure 4, the progressive identifier is received at stage 1, as illustrated by the string 404. In this state, the black bits are labeled as "K", and the white bits available for change throughout the progression are labeled as "0". As noted above, a bit labeled as "0" constitutes a white space bit. In the example of Figure 4, the identifier progresses through three stages of the progression (S = 3). At each stage, six white space bits are to be changed to non-white space bits (N = 6).

[0030] In the example of Figure 4, N white space bits are selected for changing from a candidate set of 2N bits at each stage. Thus, in the string 404, N bits are selected or identified for inclusion in the candidate set. In the example string 404 of Figure 4, the first N = 6 white space bits are underlined as being included in the candidate set. Next, an additional N bits are selected to form a candidate set of 2N = 12 white space bits, as shown underlined in the string 406. From the candidate set of 2N = 12 white space bits, N = 6 bits are selected for changing to non-white space bits, as indicated in the string 408. The string 408 represents the identifier at the end of Stage 1. [0031] The identifier is then received at Stage 2, as shown in the string 410. Again, 2N = 12 bits are selected to form a candidate set, and N = 6 bits are selected from the candidate set for changing to non-white space bits. In this regard, the residual bits from the candidate set of Stage 1 are selected for inclusion in the candidate set. In Stage 2, the residual bits are the white space bits from the candidate set of Stage 1 which were not changed to non-white bits. Thus, the string 410 illustrates the residual set of bits as underlined. Next, an additional N bits are selected to form a candidate set of 2N = 12 white space bits, as shown underlined in the string 412. From the candidate set of 2N = 12 white space bits, N = 6 bits are selected for changing to non-white space bits, as indicated in the string 414. The string 414 represents the identifier at the end of Stage 2.

[0032] Finally, the identifier is then received at Stage 3, as shown in the string 416. Again, 2N = 12 bits are selected to form a candidate set, and N = 6 bits are selected from the candidate set for changing to non-white space bits. In this regard, the residual bits from the candidate set of Stage 2 are selected for inclusion in the candidate set of Stage 3. The string 416 illustrates the residual set of bits as underlined. Next, an additional N bits are selected to form a candidate set of 2N = 12 white space bits, as shown underlined in the string 418. From the candidate set of 2N = 12 white space bits, N = 6 bits are selected for changing to non-white space bits, as indicated in the string 420. The string 420 represents the identifier at the end of Stage 3.

[0033] Referring now to Figure 5, a flow chart illustrates an example method for progression of a progressive identifier. The example method 500 may be implemented in various systems, including the example systems described above with reference to Figures 1-4. In accordance with the example method 500, a progressive identifier is received at a stage of a progression (block 510). As noted above, the progressive identifier includes white space and non-white space.

[0034] At block 520 of the example method 500, a residual set of white space bits from the white space is identified. The residual set includes a predetermined number of bits. As described above with reference to Figure 4, residual bits may be white space bits from a candidate set of white bits at a previous stage that were not changed to non-white bits. In the example described above with reference to Figure 4, the predetermined number is N = 6. Thus, the residual set includes six white space bits. In various examples, in a first stage of the progression, the residual bits may be the six white space bits selected from the available white space.

[0035] In the example method 500 of Figure 5, a candidate set of white space bits is formed (block 530). The candidate set includes the residual set described above, as well as an additional set of white space bits. The additional set includes the same number of bits as the residual set. Thus, the candidate set includes twice the predetermined number of white space bits. For example, as described above with reference to Figure 4, the candidate set includes the residual bits (N = 6) and an additional N = 6 white space bits. Thus, in the example of Figure 4, the candidate set includes 2N = 12 white space bits.

[0036] The progressive identifier is modified by selectively changing the predetermined number of bits from the candidate set of white space bits to non-white space bits (block 540). Thus, from a candidate set of 2N white space bits, N white space bits are selectively changed to modify the progressive identifier. For example, in the example of Figure 4 described above, from the candidate set of 2N = 12 white space bits at each stage, N = 6 bits are changed to non- white space bits.

[0037] Referring now to Figure 6, a block diagram of an example system is illustrated with a non-transitory computer-readable storage medium including instructions executable by a processor for the progression of a progressive identifier. The system 600 includes a processor 610 and a non-transitory computer-readable storage medium 620. The computer-readable storage medium 620 includes example instructions 621-624 executable by the processor 610 to perform various functionalities described herein. In various examples, the non-transitory computer-readable storage medium 620 may be any of a variety of storage devices including, but not limited to, a random access memory (RAM) a dynamic RAM (DRAM), static RAM

(SRAM), flash memory, read-only memory (ROM), programmable ROM (PROM), electrically erasable PROM (EEPROM), or the like. In various examples, the processor 610 may be a general purpose processor, special purpose logic, or the like.

[0038] The example instructions include identify residual set of white space bits instructions 621. The residual set includes a predetermined number of bits. As described above with reference to Figure 4, residual bits may be white space bits from a candidate set of white bits at a previous stage that were not changed to non-white bits or, in a first stage of the progression, the residual bits may be the six white space bits selected from the available white space. [0039] The example instructions further include form candidate set instructions 622. The candidate set instructions 622 includes instructions to form the candidate set with the residual set and an additional set of white space bits. As noted above, the residual set includes a

predetermined number of bits. The additional set further includes the same number of bits. Thus, the candidate set includes twice the predetermined number of bits.

[0040] The example instructions further include modify progressive identifier instructions 623. As noted above, from a candidate set of 2N white space bits, N white space bits are selectively changed to modify the progressive identifier. For example, in the example of Figure 4 described above, from the candidate set of 2N = 12 white space bits at each stage, N = 6 bits are changed to non-white space bits.

[0041] Software implementations of various examples can be accomplished with standard programming techniques with rule-based logic and other logic to accomplish various database searching steps or processes, correlation steps or processes, comparison steps or processes and decision steps or processes.

[0042] The foregoing description of various examples has been presented for purposes of illustration and description. The foregoing description is not intended to be exhaustive or limiting to the examples disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of various examples. The examples discussed herein were chosen and described in order to explain the principles and the nature of various examples of the present disclosure and its practical application to enable one skilled in the art to utilize the present disclosure in various examples and with various modifications as are suited to the particular use contemplated. The features of the examples described herein may be combined in all possible combinations of methods, apparatus, modules, systems, and computer program products.

[0043] It is also noted herein that while the above describes examples, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope as defined in the appended claims.