archive enabling tagging using progressive barcodes
TRANSCRIPT
1
Archive-enabling Tagging Using Progressive BarcodesSteven Simske and Marie VansHP Labs; Fort Collins, Colorado May 22, 2015
2
Agenda•Barcodes•Progressive Barcodes•Archiving Applications•Inference Model•Conclusions
http://usahitman.com/wp-content/uploads/2011/08/baby_barcode.jpg
http://beqrious.com/wp-content/uploads/2012/01/train-tickets.jpg
http://articlesweb.org/blog/wp-content/uploads/2012/08/Does-Many-Barcode-Tattoos-Have-Something-to-do-With-Many-People-08.jpeg
3
Barcodesi. 1 Dimensional
-
ii. 2 Dimensional -
iii. 3 Dimensional –
iv. 4 Dimensional -
Data Capacity 11 numeric digits
Data Matrix: 2335 bytesAztec: 1914 bytesQR-Code: 3706 bytes
2.585 bits/tile for 6 colors: RGBCMY
4
Non-Standard BarcodesColorTile
Progressive Barcode
Non-payload indicia
Non-payload indicia
The example shown here comprises:1. 64 data tiles, max 165 bits total2. 8 non-payload tiles:
a. Two black for orientation & corner detection b. 6 color {RGBCMY} for color calibration c. Colors are 180 rotated from their color opponency pair, providing the greatest contrast in hue space and thus the most reliable opposite-corner orientation detection possible
5
Example Progression• Reader-Friendly
Progressive Barcodes
• Columns indicate progression along workflow
• Colors saturated enough so that 2D barcode reader still interprets them as “white”
• 2D barcode reads the same throughout the progression.
6
Progressive Barcodes - Statistical Probability • Statistical probability assigned at each step of the progression• Associated with any transition between two steps in a workflow • Based on how many bits are written and how many remain
i
iRB
IU PNN!!
Pi = Step iNRB = the number of residual (0 bits) at end of the workflow NIU = number of initial unwritten bits
7
Progressive Barcodes - Statistical Probability
• If barcode is unique at step i-1, then total number of barcodes of the current state is 1.
• If the progressive barcode is binary, then the number of bits in the workflow is NRB-NIU.
• If there are NC colors, number of bits increases to:
• The size (height and width in tiles) of progressive barcode used in the workflow can be determined from these equations along with the number of bits to write at each state
8
Progressive Barcodes - Data Capacity• Each color tile independent• Define a tile to be N-ary, where N = number of colors allowed at
each tile:log2 (𝑛)log2 (2 )
= log2 (𝑛 )𝑏𝑖𝑡𝑠 𝑎𝑡𝑎𝑛𝑦 𝑠𝑡𝑎𝑔𝑒
• n=2, e.g. DataMatrix, QR, Aztec: 1 bit per tile• Color tile with six colors {RGBCMY}: 2.585 bits/tile• 8 colors allowed {RGBCMYWK}: 3.0 bits/tile• Color tile barcode X data tiles wide & Y data tiles high contains
exactly: 𝑋𝑌 log2 ( ) 𝑛 𝑏𝑖𝑡𝑠
• 120x120 DataMatrix barcode with 8 colors allows for 120*120*3 = 43, 200 bits or 5400 bytes >> 1800 bytes using black & white only
9
Progressive Barcodes for Archiving Applications – Static Channel• Amount of data that to be encoded in first set of data
limited by the total number of black & white tiles available & standards.• URLs to websites - QR Codes • Data Matrix - serial numbers, invoicing information or
product numbers. • Possible to encode other information;
• xml fields for archiving purposes, • ISBNs, other document-related information
• The main characteristic is that information remains static over time.
10
Progressive Barcodes for Archiving Applications – Dynamic Channel• Second channel of information can be encoded into the white tile
channel• Track and store documents• Versioning or tracking document changes• Assign ownership of documents.
• “Hybridization” allows for multiple services: • open services and proprietary services
• Encoding of a website URL along with security/authentication services.
• These barcodes are readable by any off-the-shelf, QR Code and the Data Matrix code readers.
• The Data Matrix code can store a large quantity of data in the black-as-black and rest-as-white tiles.
11
Progressive Barcodes for Archiving Applications – Two Channels
Demonstration of barcode with two channels. The black and rest-as-white will read with an off-the-shelf reader, the right Data Matrix will display an abstract and the left QR-Code displays a test message.
12
Hybrid barcodes with Progression in the Color Channel
Layer 1
Layer 2
Same barcodes with progression
Barcodes don’t change
13
Inference for Archiving Data
D:Computer containing files C: Directory with files B: My Document with images
A: Individual images
• Inference is the relationship between objects and their containers:• Individual objects (e.g. images) A
• Packaged into file B: At(Bu,Bu+1,Bu+2, …, Bu+v-1)• Multiple files contained in folders C: Cq(Br,Br+1,Br+2, …,
Br+s-1)• Multiple folders per computer D: D←{C} ← {B} ← {A}
Dn(Cm,Cm+1,Cm+2, …, Cm+p-1)
14
Inference for Archiving Data• How many tags (barcodes) are required to tag n(A) items when
they are inferred to B, C and D containers • The following ratios are very important: n(A)/n(B), n(B)/n(C), and
n(C)/n(D). • We create series of cryptographically secure tags, in sequence, and
assign them to the containers they are representing as follows: (D) (C) (B) A….A (B) …. (B) A….A (B) (C) …. (C) …. (C) (D)
• Example:• Label the associated C, B and A items:• “A” items: n(A)*n(B)*n(C) tags -- 4*3*1 = 12
• “B” items: 2*n(B)*n(C) tags -- 2*3*1 = 6• “C” items: 2*n(C) tags – 2*1 = 2
15
Inference for Archiving Data - Continued• The overall number of identifiers required, nIDs required, is:
M
Bi
M
ij
M
AjrequiredIDs jnjnn )(*2)(_
)]()(*)()(*)(*)([*2)(*)(*)(*)(_ DnDnCnDnCnBnDnCnBnAnrequiredIDsn
(3)
• Thus, if M=4 (for the A, B, C, D example above):
where M = levels of containment: M=alphabetic (levels of containment, where M is for Matryoshka, since it is a Russian doll model )
16
Inference - Use
• This model for inference allows a wide variety of possibilities. • If tags on individual items {A} cannot be read –
• Labeled with barcodes and inside a folder that cannot be read due to permission issues
• The tags on the folder B, would correspond to the start and end of the sequence of tags corresponding to the two on container B and all of the individual tags on the A items within.
17
Document Storage using Inference for tagging
18
Another Inference Example – GS1
GS1: 734236023450
GS1: 734236023450
GS1: 734236023450
GS1: 734236023450
DS DS DS
Inferenced or Identical Inferenced or Identical Inferenced or Identical
Pallet Case Carton Individual Unit
Tags from GS1: standards for supply chain workflows. Image based on single GS1 tag that is readable via inference even at the pallet level.
19
Relative & Absolute inference • Want to ensure that multiple items infer to the same container in a
statistically meaningful way• Relatively - No connection to an on-line database• Relative inference is established when there is a mechanism for
associating a container with an item and vice versa• Absolute inference requires approval of two or more binary strings
simultaneously• With or without the overlying relative inference model
• Easiest absolute inference:• Association of two binary strings in database
• Another form:• When two strings related to each other through algorithm or
process• E.g., C=digital signature(I) • C=scrambling_algorithm(I)
20
Conclusions• Progressive barcodes ideal mechanisms for applications & services
that:• Take advantage of two channels of information encoded into a
single mark that does not change size over time• Suitable for document workflow tracking and archiving solutions
where data for one channel does not change • serial numbers, document IDs, MARC and other archiving
information • Channel represented as color tiles can change over time:
• tracking, security, and other purposes• Using inference, possible to contain objects inside other objects and
verify their authenticity without having to open the container• Other archiving applications – I am interested in ideas!
21
Thank You for Your Kind Attention
Welcome to the “Marker Revolution”