Storing data in an optical illusion

For the past five years now, I’ve worked on vision inspection systems for the pharmaceutical industry. In those years, I have seen many applications in which cameras were used to read data on bottles, cartons, even tablets. Barcodes can be printed almost anywhere and can be of almost any size. One application I’ve worked on – with a whole bunch of other people, of course – had Optel vision systems inspect datamatrix 2D barcodes with ten digits in it (a 12×12 ECC200 datamatrix) printed on only 3×3 mm on the neckband of a vial. The system had to be able to inspect several dozens of these a minute, using VGA resolution cameras – and they were small enough that it was hard to find them if you didn’t know where they were.
Let’s just say this was one of the more challenging systems.

Now, researchers at MIT have come up with a new way to print data matrix barcodes: the barcodes are printed in a 3mm dot that looks like little more than a blot but, if looked at with a camera that’s set out of focus, contains one or more data matrix barcodes. With that, the code will not just be hard to find – it will be all but impossible to find if you don’t know it’s there.

I’m wondering what this will be used for: storing information in almost anything is already possible, using RFID, for example. Even if Bokodes are very small and, for the naked eye, difficult to identify, it is a line-of-sight technology. Unlike RFID, which allows the Wal-Mart cashier to see that you have a bottle of blue pills in your pocket, a camera has to be in the line of sight of the Bokode, not just in proximity.

The authors suggest using it for positioning, encoding position information in each of the data matrices encoded in the Bokode, and show that it can be very accurate for that purpose. Use in research, and perhaps off-the-shelf video games, may be obvious uses that could be developed in the short term. I wonder, however, what’s next? What would the privacy concerns for this be?

About rlc

Software Analyst in embedded systems and C++, C and VHDL developer, I specialize in security, communications protocols and time synchronization, and am interested in concurrency, generic meta-programming and functional programming and their practical applications.
I take a pragmatic approach to project management, focusing on the management of risk and scope.
I have over two decades of experience as a software professional and a background in science.