Bar Codes to the Rescue!

Similar documents
Presented by: Tel Logitogo GmbH Schl langer M nchen Germany

ANTENNAS, WAVE PROPAGATION &TV ENGG. Lecture : TV working

The Century Archive Project CAP

Example: compressing black and white images 2 Say we are trying to compress an image of black and white pixels: CSC310 Information Theory.

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

VISION. Data VS2 DATAVS2. Phone: Fax: Web:

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS General Certificate of Education Advanced Subsidiary Level and Advanced Level

BAR CODE BASICS: Principles of Bar Code Printing & Scanning

CS2401-COMPUTER GRAPHICS QUESTION BANK

6.111 Project Proposal IMPLEMENTATION. Lyne Petse Szu-Po Wang Wenting Zheng

Chapt er 3 Data Representation

Audio and Video II. Video signal +Color systems Motion estimation Video compression standards +H.261 +MPEG-1, MPEG-2, MPEG-4, MPEG- 7, and MPEG-21

SSTV Transmission Methodology

FAX Image Compression

Lecture 18: Exam Review

A Novel Approach towards Video Compression for Mobile Internet using Transform Domain Technique

QubeVu Operator s Guide

4. ANALOG TV SIGNALS MEASUREMENT

CHECKPOINT 2.5 FOUR PORT ARBITER AND USER INTERFACE

Experiment 13 Sampling and reconstruction

Laser coding still the technology of choice for the Pharma industry

Communication Theory and Engineering

An Alternative Architecture for High Performance Display R. W. Corrigan, B. R. Lang, D.A. LeHoty, P.A. Alioshin Silicon Light Machines, Sunnyvale, CA

Objectives: Topics covered: Basic terminology Important Definitions Display Processor Raster and Vector Graphics Coordinate Systems Graphics Standards

Understanding Multimedia - Basics

PCM ENCODING PREPARATION... 2 PCM the PCM ENCODER module... 4

DOWNLOAD OR READ : COLOR BARS AND COLOR YOUR LIFE PDF EBOOK EPUB MOBI

Comp 410/510. Computer Graphics Spring Introduction to Graphics Systems

2D Interleaver Design for Image Transmission over Severe Burst-Error Environment

Elements of a Television System

HEBS: Histogram Equalization for Backlight Scaling

Implementation of a turbo codes test bed in the Simulink environment

RECOMMENDATION ITU-R BT.1201 * Extremely high resolution imagery

Overview of Graphics Systems

PTIK UNNES. Lecture 02. Conceptual Model for Computer Graphics and Graphics Hardware Issues

Department of Communication Engineering Digital Communication Systems Lab CME 313-Lab

Video Signals and Circuits Part 2

Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS General Certificate of Education Ordinary Level. Paper 1 May/June hours 30 minutes

Reducing tilt errors in moiré linear encoders using phase-modulated grating

3. Displays and framebuffers

The software concept. Try yourself and experience how your processes are significantly simplified. You need. weqube.

Beyond the Resolution: How to Achieve 4K Standards

Television History. Date / Place E. Nemer - 1

Reading. 1. Displays and framebuffers. History. Modern graphics systems. Required

Digital SWIR Scanning Laser Doppler Vibrometer

Getting Images of the World

9608 COMPUTER SCIENCE

SCANNER TUNING TUTORIAL Author: Adam Burns

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

9691 COMPUTING. 9691/12 Paper 1 (Written Paper), maximum raw mark 75

Simple LCD Transmitter Camera Receiver Data Link

Autosophy data / image compression and encryption

1843 First facsimile patent (England, nº 9745) registered by Mr. Alexander Bain telephone has not been invented until 1876!

Part 1: Introduction to Computer Graphics

Lecture 1: Introduction & Image and Video Coding Techniques (I)

The software concept. Try yourself and experience how your processes are significantly simplified. You need. weqube.

Advanced Test Equipment Rentals ATEC (2832)

Understanding Human Color Vision

Design of VGA Controller using VHDL for LCD Display using FPGA

INFORMATION AND COMMUNICATION TECHNOLOGY

Motion Video Compression

TechNote: MuraTool CA: 1 2/9/00. Figure 1: High contrast fringe ring mura on a microdisplay

Restoration of Hyperspectral Push-Broom Scanner Data

Chrominance Subsampling in Digital Images

Digital Audio and Video Fidelity. Ken Wacks, Ph.D.

Achieve Accurate Critical Display Performance With Professional and Consumer Level Displays

Screen Codes: Visual Hyperlinks for Displays

METHOD, COMPUTER PROGRAM AND APPARATUS FOR DETERMINING MOTION INFORMATION FIELD OF THE INVENTION

NENS 230 Assignment #2 Data Import, Manipulation, and Basic Plotting

Man-Machine-Interface (Video) Nataliya Nadtoka coach: Jens Bialkowski

Data Storage and Manipulation

Toward Convergence of FEC Interleaving Schemes for 400GE

2. Problem formulation

Modified Generalized Integrated Interleaved Codes for Local Erasure Recovery

Display Technologies CMSC 435. Slides based on Dr. Luebke s slides

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur

Error Resilience for Compressed Sensing with Multiple-Channel Transmission

Downloads from:

Real-time QC in HCHP seismic acquisition Ning Hongxiao, Wei Guowei and Wang Qiucheng, BGP, CNPC

3D Video Transmission System for China Mobile Multimedia Broadcasting

A Layered Approach for Watermarking In Images Based On Huffman Coding

Development of Simple-Matrix LCD Module for Motion Picture

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

Polygon Scanners Capabilities, Applications and System integration. considerations

1. Introduction. 1.1 Graphics Areas. Modeling: building specification of shape and appearance properties that can be stored in computer

PS User Guide Series Seismic-Data Display

TV Character Generator

Digital SWIR Scanning Laser Doppler Vibrometer

Types of CRT Display Devices. DVST-Direct View Storage Tube

Comunicação de Áudio e Vídeo, Fernando Pereira

h t t p : / / w w w. v i d e o e s s e n t i a l s. c o m E - M a i l : j o e k a n a t t. n e t DVE D-Theater Q & A

Reconfigurable Neural Net Chip with 32K Connections

In-process inspection: Inspector technology and concept

J. ISSN: The ISSN/EAN-13 barcode has the following components:

Displays. History. Cathode ray tubes (CRTs) Modern graphics systems. CSE 457, Autumn 2003 Graphics. » Whirlwind Computer - MIT, 1950

Lossless Compression Algorithms for Direct- Write Lithography Systems

Inside Digital Design Accompany Lab Manual

THE CAPABILITY to display a large number of gray

Statistics for Engineers

Transcription:

Fighting Computer Illiteracy or How Can We Teach Machines to Read Spring 2013 ITS102.23 - C 1 Bar Codes to the Rescue! If it is hard to teach computers how to read ordinary alphabets, create a writing system that is well suited for them. Bar Codes are such a system! Spring 2013 ITS102.23 - C 2 1

The Modern Deity of Commerce! Spring 2013 ITS102.23 - C 3 Pros and Cons of Bar Codes Bar codes make store check out easier. Bar codes hide the price. When they were first introduced some consumer advocates were asking for markings that could be read by both machines and people. Spring 2013 ITS102.23 - C 4 2

Examples of Bar Codes Bar code labels (symbols) contain both computer readable and human readable information. But the information displayed is only a key to a database. Price is included only rarely (second example). Spring 2013 ITS102.23 - C 5 Pros and Cons for a Key Prices of items can be updated easily (every few hours in places with rampant inflation). Price displayed with the item need not correspond to the price in the database. (This is often the case with sale prices.) However there is a paper trail! Spring 2013 ITS102.23 - C 6 3

How Bar Codes Work (and why were designed that way) Information is encoded in the relative widths of the dark and light stripes. Computers are good at precise measurements and numerical calculations. They are not good at figuring out shapes. People are the opposite: Good at shapes, bad in measurements. Spring 2013 ITS102.23 - C 7 Pixels of a Bar Code Scan Spring 2013 ITS102.23 - C 8 4

Making Sense of the Pixels in the case of a Bar Code 1. Find edges, D to L or L to D. 2. Fit straight lines on the edges. 3. Compute the distance between lines. Spring 2013 ITS102.23 - C 9 Pixels of a Text Scan Spring 2013 ITS102.23 - C 10 5

Making Sense of the Pixels in the case of Text To reach an anthropomorphic description of the image we need to fit lines along groups of dark pixels. (Other representations are also possible.) Spring 2013 ITS102.23 - C 11 Some Specifics UPC (Universal Product Code): It was introduced around 1970 and it is used mainly in supermarkets. It encodes the ten digits, each one in two bars and two spaces. If we use as unit the narrowest element (bar or space), the sum of the widths is equal to 7. Spring 2013 ITS102.23 - C 12 6

Examples of UPC Manufacturer ---- Product Spring 2013 ITS102.23 - C 13 Examples of Encoding Kleenex 36000 85 3-ply 8.2 by 8.4 26085 12 pack of above 22333 110 2-ply 8.2 by 8.4 28110 Codes on product: 3600,26085 3600,22333 3600,28110 Spring 2013 ITS102.23 - C 14 7

The Gory Details - 1 Spring 2013 ITS102.23 - C 15 The Gory Details - 2 Code expressed through modules Code expressed through widths Spring 2013 ITS102.23 - C 16 8

Real World Problems 1 Engineering must deal with real world imperfections. Because of ink spread, bar widths are greater than space widths of the same (theoretical) value. The distance between the start of two elements is called the t distance. We decode on the basis of t distances rather than widths. Spring 2013 ITS102.23 - C 17 Real World Problems -2 Even if an image has only two colors (say black and white) a scanner element has finite dimensions, so it will average colors if its field covers an area with more than one color. We end up getting a big range of gray! Spring 2013 ITS102.23 - C 18 9

How do we get gray from black and white? Red mark laser scanner spots and orange an ordinary light spot. If a spot saddles two colors we get gray. Ordinary Light Laser Spring 2013 ITS102.23 - C 19 Laser Scanning Laser light beams stay more focused than ordinary light beams, that is why they are used for bar code scanning. Spring 2013 ITS102.23 - C 20 10

Oscilloscope Tracing of a Bar Code with a Laser Scanner - 1 Bar Code was printed with a high quality printer so the distortion is due only to the scanner. Spring 2013 ITS102.23 - C 21 Oscilloscope Tracing of a Bar Code with a Laser Scanner - 2 Bar code was printed with a dot matrix printer, so the distortion is due to both the printer and the scanner. Spring 2013 ITS102.23 - C 22 11

Simulated Tracing Spring 2013 ITS102.23 - C 23 Decoding Bar Codes is Harder than it Looks! Because of distortions due to the printer and the scanner, decoding bar codes is a challenging problem. There is an interesting trade-off: Use computing power (cheap these days) to make up for distortions caused by low quality (cheap) optics! Spring 2013 ITS102.23 - C 24 12

De-blurring We can decodes bar code scans if we de-blur them. But de-blurring is a mathematically illdefined problem. (A bit like dividing by a number close to zero.) We need clever mathematical tricks that can be implemented on cheap micro-processor and run in milliseconds. Spring 2013 ITS102.23 - C 25 Help for Decoders The arrangement of bars and spaces is not arbitrary but subject to several constraints. Symbols contain checksums that make possible error detection. (Keep scanning until we get a valid checksum.) Spring 2013 ITS102.23 - C 26 13

Bar Code Types UPC encodes only digits (used in supermarkets) Code 39 it has 44 code words: 10 digits, 26 letters, and 8 special symbols ($, /, ) Code 128 it has 105 code words Etc, etc, etc. Spring 2013 ITS102.23 - C 27 Linear Bar Code Limitations Because linear bar codes have low information density (the vertical dimension is wasted ) they can store only indices to a database. They are useless unless we have access to the database. Spring 2013 ITS102.23 - C 28 14

Two-Dimensional Bar Codes Two-dimensional bar codes use the vertical dimension and as a result have much higher information density. They can store a full record of data without needing access to a database. Spring 2013 ITS102.23 - C 29 PDF417-1 A stack of thin bar code strips (You will find it in NY State DMV documents such as car registrations, etc) Spring 2013 ITS102.23 - C 30 15

PDF417-2 The code encodes all letters and numbers (full ASCII character set) in elements of four bars and four spaces covering 17 modules. It came into existence around 1990 as a result of research at Stony Brook University and Symbol Technologies. (Y.P. Wang completed a PhD thesis at SBU while employed by Symbol.) Spring 2013 ITS102.23 - C 31 Example of PDF417 use Spring 2013 ITS102.23 - C 32 16

PDF417-3 Scanner beam crosses data rows. How can we find what row we are on? Spring 2013 ITS102.23 - C 33 PDF417-4 Use a different encoding scheme for each row! We need only three schemes! (Greek / Roman / Cyrillic alphabets) In PDF417 we use a discriminator f: f(w) = (w[0]-w[2]+w[4]-w[6])%9 where w[k] (k even) is the width of a bar. Spring 2013 ITS102.23 - C 34 17

PDF417-5 The discriminator f has 9 possible values and it divides the possible code words of PDF417 into 9 clusters. We use only three clusters with discriminator values 0, 3, and 6. This policy provides for error detection: If we find a value, say, 1 we know we made an error! Spring 2013 ITS102.23 - C 35 PDF417-6 Each cluster has 929 possible code words, thus each code word can store log 2 (929) = 9.86 bits. Therefore there is plenty of room for a full ASCII set. In addition, PDF417 provides for error correction by storing a few additional code words besides the data code words. Spring 2013 ITS102.23 - C 36 18

Error Correction - 1 Error correction in communications is achieved by transmitting an over determined systems of equations, for example: x = 5 y = 8 x + y = 13 x y = -3 We can miss two of the transmissions and still recover the data! Spring 2013 ITS102.23 - C 37 Error Correction - 2 Error detection and error correction are used widely in electronic communications and electronic storage media. There is a considerable mathematical theory behind them. In order to use this theory for the 2D barcodes we had only to modify the model for noise: paper noise has different characteristics than electronic noise. Spring 2013 ITS102.23 - C 38 19

Other 2D Symbologies PDF417 was designed to be scanned by handheld laser scanner. If we limit scanning to CCD array cameras, then we can increase the information density of a symbol. Datamatrix Maxicode (United Parcel Service) Spring 2013 ITS102.23 - C 39 Datamatrix Use each spot as a bit. Result is higher information density, but less robust reading. Example of use in prepaid mail. Spring 2013 ITS102.23 - C 40 20

Maxicode Developed for UPS to be used on conveyor belts for package sorting (at speeds of 150m per minute.) A codeword consists of six hexagonal cells. Spring 2013 ITS102.23 - C 41 Bar Codes for Cell Phones? It is a challenge because cell phone cameras have too low resolution. Why would we want to do that? To read URLs? Letter indexing makes typing URLs easy!!! Spring 2013 ITS102.23 - C 42 21

2D Bar Codes for Cell Phones By typing only priority in Google Chrome you get the desired page. Spring 2013 ITS102.23 - C 43 Scanning the special 2-D code is not that easy! Spring 2013 ITS102.23 - C 44 22