Barcodes for the rest of us
From MIT news:
The ubiquitous barcodes found on product packaging provide information to the scanner at the checkout counter, but that’s about all they do. Now, researchers at the Media Lab have come up with a new kind of very tiny barcode that could provide a variety of useful information to shoppers as they scan the shelves — and could even lead to new devices for classroom presentations, business meetings, videogames or motion-capture systems.
The new system, called Bokode, is based on a new way of encoding visual information, explains Media Lab Associate Professor Ramesh Raskar, who leads the lab’s Camera Culture group. Until now, there have been three approaches to communicating data optically: through ordinary imaging (using two-dimensional space), through temporal variations such as a flashing light or moving image (using the time dimension), or through variations in the wavelength of light (used in fiber-optic systems to provide multiple channels of information simultaneously through a single fiber).

Is it actually possible to take out-of-focus images with cheap modern cameras? Or as the article puts it, a camera “with the focus set to infinity”? I don’t think I can do it on mine. That seems like a flaw in the plan. :)
Even with a camera that can do that like the one in the video, it looks like the technology is difficult to use – the woman seems to be moving the camera back and forth to scan the whole Bokode image. Or am I missing the point??
Modern still cameras? Yes, pretty easy I think, since all but the cheapest come with a manual focus mode (if I recall correctly). Cell phone cameras don’t seem to have this feature too often, but can easily be replicated by the addition of a secondary camera whose focus is permanently fixed to infinity, allowing you to use the Bokodes without impairing your ability to take in-focus pictures with the built-in, always-on autofocus that cell phone cameras have.
“Or am I missing the point?”
Actually, it looks like that really is the point. By not being able to capture the entire image without moving, and making the code so large and each tile different, they are able to determine exactly how you are viewing the code by how much is visible to the camera. You can only see codes x, y, z, and parts of v and w? Then you must be at angle p and distance r. That’s how the AR functions work. Move the camera so different portions of different tiles come into view, and they are able to determine how your viewing angle and distance has changed.
I’d really like to see this mounted as part of a HUD, for instance, in a pair of glasses. A permanently out-of-focus camera on each side of the glasses would double (I hope) the accuracy of distance and angle information determination, and allow a much more accurate placement of AR information in the field-of-view. And since this would be head-mounted, not handheld, the information tracking should be automatic based on what’s within your FOV, rather than worrying about moving a camera around with your hand. This would also keep your attention on the environment and the data encoded therein, rather than on the little electronic device in your hand and whether or not it’s pointed the way you actually want it to be.