• No results found

Demo: Scalable Visual Codes for Embedding Digital Data in the Physical World

N/A
N/A
Protected

Academic year: 2021

Share "Demo: Scalable Visual Codes for Embedding Digital Data in the Physical World"

Copied!
2
0
0

Loading.... (view fulltext now)

Full text

(1)

Demo Abstract: Scalable Visual Codes for

Embedding Digital Data in the Physical World

Frederik Hermans

Uppsala University, Sweden frederik.hermans@it.uu.se

Liam McNamara

SICS Swedish ICT ljjm@sics.se

Thiemo Voigt

Uppsala University & SICS thiemo@sics.se

ABSTRACT

Visual codes, such as QR codes, offer a low-cost alternative to RF technology when digital data needs to be embedded in objects in the physical world. However, in order to sup-port receivers with a poor visual channel, e.g. low-resolution cameras, most visual codes are designed for low data capac-ity and short reading distances.

We present our work-in-progress on Focus, a visual code that avoids earlier work’s explicit trade-off between code ca-pacity and channel quality. Rather than encoding the load directly into individual pixels, Focus encodes the pay-load over a range of spatial frequencies. As a result, even a receiver with a very poor channel (e.g., with low-resolution camera or motion blur) can still partly decode a Focus code, because the code’s low-frequency components are robust to common channel impairments. A receiver with a good chan-nel can decode all data from the same code.

In our demo, we will present a prototype of Focus for smartphones and showcase how it deals with common im-pairments of the visual channel.

1.

INTRODUCTION

To bridge the gap between the physical and the digital world, it is necessary to associate physical objects with dig-ital data. Embedding data in physical objects enables rich, digitally assisted interactions between people and the ob-jects around them: a sculpture in a museum provides its viewers with information about its creator; an engine part advises mechanics how it should be serviced; a projector informs a lecturer’s tablet how to wireless connect to it.

As an alternative to RF-based solutions, visual codes, such as QR codes, offer a simple means to associate digital data with physical objects. With the proliferation of camera-equipped smartphones and wearables, people already carry a suitable receiver with them. As the quality of cameras increases, so does the capacity of their visual channel.

However, a fundamental challenge of visual codes arises from the heterogeneity in channels between the transmitter (i.e., the displayed code) and the receiver (i.e., the camera). Consider the example from Fig. 1, where three smartphones try to retrieve data from visual codes printed on a parcel. The phones’ visual channels are very different: phone A is nearby and has a high-resolution camera; phone B is expe-riencing motion blur; and phone C is an older model and located far away from the code. In the case of QR codes [1], only phone A would be able to retrieve the data, whereas phones B and C would not retrieve any data at all. Re-cently proposed visual codes offer higher capacity than QR

A

B C

Decoded QR payload Decoded Focus Payload

Phone A

Phone B

Phone C

Figure 1: Smartphones at various distance try to decode a QR code and a Focus code on a parcel. In contrast to QR codes, Focus codes can still be partially decoded even at larger distances or when subject to motion blur.

codes [4, 6], but can only be read under very specific chan-nel conditions (e.g., using expensive DSLR cameras or at sub-meter distances). Other work aims to support a wider range of channel conditions, but only supports low data ca-pacity [2].

We are developing Focus, a new visual code that does not require earlier work’s explicit trade-off between the code capacity and the required channel quality. The observation underlying Focus is that common impairments of the visual channel affect an image’s fine details. In the frequency do-main, these details are represented by high-frequency com-ponents. Therefore, rather than encoding data directly into individual pixels or small blocks of pixels, Focus encodes data in the frequency domain over a wide range of spatial frequencies. As a result, a receiver with a poor channel can still partially decode data from a Focus code by extracting the data contained in the code’s low-frequency components (e.g., phone C in Fig. 1). A receiver with a good channel can decode all data contained in a code (phone A). The ac-tual length of decoded data scales smoothly with the quality of the receiver’s channel—the better the channel, the more data a receiver can decode.

2.

FOCUS OVERVIEW

We briefly sketch the reasoning behind Focus, describe how a Focus code is constructed, and lay out how a receiver extracts data from a Focus code.

Channel impairments in frequency space. An image captured by a digital camera can be understood as a

(2)

fi-nite, real-valued 2D signal. As such, each captured image can be decomposed into a finite number of sinusoids using a discrete Fourier transform. The sinusoids differ in their fre-quency: low-frequency sinusoids describe gradual changes in the image, whereas high-frequency sinusoids correspond to fine details in the image.

Consider a camera that is perfectly aligned and focused on an LCD screen showing an image of n × n pixels. If the camera’s resolution is ≥ 2n × 2n, the camera can perfectly capture the displayed image, according to Nyquist’s theo-rem. Thus, if the displayed image is a visual code of any kind, all data from the code can be extracted.

Now consider the case in which the camera either is far away from the image or it only supports a low resolution. In this cases, the resolution of the captured image is less than 2n × 2n; the camera undersamples the displayed image. As a result, foldback aliasing can occur [3] and the captured image lacks details present in the displayed image. In effect, the captured image lacks the high-frequency components of the displayed image, but the low-frequency components are still correctly captured. Thus, too low a camera resolution or too large a distance between image and camera both cause the loss of high-frequency components. Similarly, consider the case in which the camera is not correctly focused on the displayed image, or in which there is motion blur from the camera or displayed image moving. In the frequency do-main, these effects are similar to a low-pass filter [5]. Thus, the captured image will lack the fine details of the displayed image, while more gradual changes are preserved correctly. Constructing a Focus code. We now outline the steps of constructing a Focus code for a given sequence of payload bytes. (i) The payload is modulated using 4-PSK, resulting in a sequence of complex symbols. (ii) A complex matrix is populated with the symbols following a spiral arrange-ment, so that symbols which represent earlier payload bytes are closer to the matrix’s center. This arrangement process also ensures that the populated complex matrix is conjugate symmetric. (iii) The inverse Fourier transform of the com-plex matrix is computed. Because the matrix is conjugate symmetric, the transform is real and thus can be understood as a grayscale image. Note that elements closer to the com-plex matrix’s center correspond to lower frequencies. Thus, due to the arrangement of complex symbols, earlier payload bytes are represented by low-frequency components in the grayscale image. (iv) Finally, the grayscale image is dis-played on a suitable medium such as paper or screen. Decoding a Focus code. A receiver that has captured a photo containing a code carries out the following steps. (i) The receiver converts the captured image to grayscale and localizes the code in the image. It then corrects the code for perspective distortion. (ii) The Fourier transform of the captured code is computed, yielding a complex ma-trix. (iii) The receiver extracts the complex symbols from the matrix, observing the same spiral arrangement as in the construction process. Note that if the receiver has under-sampled the code (because it is too far away or due to too low camera resolution), the matrix will not contain the latter payload symbols. (iv) The receiver demodulates the payload symbols and validates the integrity of chunks of the recon-structed payload using checksums. Valid chunks are handed to the application layer. From our reasoning about channel impairments, it follows that latter parts of the payload are more susceptible to corruption than earlier parts.

0 100 200 300 400 500 600

Distance (cm)

0 2 4 6 8 10

Useful received payload (kbit)

Focus QR

Figure 2: Number of decodable payload bits for QR codes and Focus codes over distance. Focus codes can consistently be read at larger distances.

3.

INITIAL RESULTS

We are currently running an extensive set of experiments to investigate Focus’s performance. Some initial results can be seen in Fig. 2, which shows how much data a receiver can decode from a Focus code over varying distance. In this experiment, we used a Samsung Galaxy S5 smartphone as a receiver, and codes were displayed on a LCD screen. We compared Focus codes to QR codes, and chose a capacity of 2048 bytes for both. The figure clearly shows how Fo-cus codes can be read at larger distances and how decoding performance is much more consistent, as shown by the lower variance.

4.

DEMO

In our demo, we show how our Focus prototype copes with different channel impairments. In particular, we will showcase Focus’s performance on smartphones with differ-ent capabilities, ranging from older models with poor cam-eras to recent smartphones with high-resolution camcam-eras and high-quality lenses.

We will further demonstrate how Focus supports different display media by reading codes from an LCD screen, from printed paper, and from low-power eInk displays. If physical space allows, we will also show how Focus’s performance adapts to the distance between the reader and the code.

To set up the demo, we need a table and a multi-outlet power strip. If possible, we would also employ a large (≥ 24 inches) LCD screen and an easel for a poster.

5.

REFERENCES

[1] European Committee for Standardization. Automatic identification and data capture techniques – QR Code 2005 bar code symbology specification: ISOi/IEC 18004-2006. 2006.

[2] W. Hu, J. Mao, Z. Huang, Y. Xue, J. She, K. Bian, and G. Shen. Strata: Layered coding for scalable visual communication. In ACM MobiCom 2014.

[3] A. V. Oppenheim, A. S. Willsky, and S. H. Nawab. Signals and Systems. Prentice-Hall, Inc., 1996. [4] S. D. Perli, N. Ahmed, and D. Katabi. PixNet:

Interference-free Wireless Links Using LCD-camera Pairs. In ACM MobiCom 2010.

[5] L. G. Shapiro and G. C. Stockman. Computer Vision. Prentice-Hall, Inc., 2001.

[6] A. Wang, S. Ma, C. Hu, J. Huai, C. Peng, and G. Shen. Enhancing Reliability to Boost the Throughput over Screen-Camera Links. In ACM MobiCom 2014.

References

Related documents

This overview of the handling of user profile data and user activity in some crowdsourcing tools provides a framework for analyzing data production processes in terms of

Summing up the big picture, the results indicate that cointegration based trading can produce returns well in the excess of market returns given that the sector in which it

The financial information is improved to a certain extent that seems to reduce information asymmetries, and auditors can utilise analysis of big data which has led to that

A successful data-driven lab in the context of open data has the potential to stimulate the publishing and re-use of open data, establish an effective

drop if dthdate < $startTime | dthdate > $endTime drop if round< $startRound | round> $endRound sort individid. save

Moreover,  outcome  data  from  the  CDWÖ  were  used  in  three  dif‐ ferent analyses. Thus, this thesis can 

In the organisation in the case study performed by Shanks and Darke (from now on called com- pany A), the syntactic and semantic data quality levels were well recognised, but not

Value is included for material that discuss the value in some form and finally, the concept of data mining contains an assortment of different methods for extracting data and