When documents containing barcode symbols are faxed, barcode code symbol deteriorates. Document scanned with standard fax machines is sampled with 204 horizontal dots per inch and 98 vertical dots per inch. Each test point is then converted to either a white or black value a process called binarization. The binarization process converts straight lines into barcode symbols into truncated lines that change the width of the bars and spaces. If a fax document itself is triggered as a fax, further deterioration occurs. Each additional fax cycle continues to worsen the barcode. At some point, the symbol can no longer be decoded by barcode decoding.
The rest of this article will discuss the issues that should be considered when selecting barcode symbols and sizes to increase the probability of successful decoding after multiple fax cycles.
Linear 1D Symbologies
Two popular 1D symbologies were investigated Code 128 and Code 39. Code 128 uses four stack and space widths to encode information while Code 39 only uses two. Thirteen module sizes minimum element ranging from 12.5 mil to 32.5 mil of each symbol type, encoding ten numeric numbers, were printed on a sheet. The sheet was sent via a fax at Standard Resolution for a total of ten cycles. This corresponds to a horizontal sample per module ranging from 2.6 to 6.6. The resulting 11 pages were then scanned on a 300 bit flatbed scanner and presented for a barcode decoding tool. At 2.6 samples per module, both barcode symbols could only be decoded for 3 faxes while the same codes with 6.6 samples per module could still be read after 10 faxes.
The larger samples per module 6 samples and larger could successfully decode after 10 fax cycles. At 5.6 samples per module, the decoding performance was no better than 4.6 pixels per module. This shows that each fax cycle changes the barcode in a subtle way. Each fax cycle produces a unique version of the original barcode, and each change can create a symbol that is not read after a certain number of fax cycles are read to the next. However, if high read rates are desired after many fax cycles, it is recommended that barcode symbols be printed with at least 6 samples per module.
From the completed test, code 128 has slightly exceeded code 39 after several faxes. Given the higher data density of code 128 and the built in checksum, code 128 appears to be a better choice between the two symbologies. The pictures below show the size advantage of code 128 over code 39, with both symbols encoding 10 numbers with the same module size. If data to be encoded is purely numeric, the numeric compression mode of code 128 can be used to further increase data density.
There is an equilibrium to keep in mind the larger the module size of a linear code, the more horizontal space will be required to encode the same amount of information, but the larger modules may improve the read speed. An additional factor to consider is bar code height. For this test, all codes were ½ inch in height. Given that all vertical information in 1D barcodes by definition is redundant, if space permits, it will usually provide higher read speeds after multiple fax cycles.
Matrix 2D Symbologies
Matrix symbologies dramatically improve information density because information is encoded in both horizontal and vertical directions. Given their size advantage over their linear equivalents, 2D symbols can be printed with much larger module sizes and can still be compared to linear symbols encoding the same information. For the 2D test, we printed different sizes of Data Matrix and Micro QR codes. The data matrix was a 12 x 12 module square symbol. Micro QR is a more space efficient version of a QR code that uses only a search pattern and is limited to a number of smaller sizes. The symbols were encoded at a comparable level of error correction. The module sizes ranged from 39 miles to 79 miles. Like the 1D test, the image was exposed to 10 fax cycles and then scanned the images. The images were scanned at 150 samples per inch given the large operating sizes of the test bar codes. The scanned images were then processed by the same barcode decoding tool.
At 8.7 samples per module, 2D bar codes could be read after 5 fax cycles and once 15 samples per module were achieved, the codes were readable up to 10 cylinders.
The results were not as consistent as the 1D symbols. This is due to the fact that the distortion of the symbol during the increasing number of fax cycles affects data in both data layers. However, we can conclude that symbols with larger sized modules will be decoded more reliably after multiple fax cycles.