QR Images Optimized Image Embedding in Q
QR Images Optimized Image Embedding in Q
7, JULY 2014
Abstract— This paper introduces the concept of QR images, to the advantage they provide in tracking the performance of
an automatic method to embed QR codes into color images publicity campaigns.
with bounded probability of detection error. These embeddings An important problem of QR codes is its impact on the
are compatible with standard decoding applications and can
be applied to any color image with full area coverage. The aesthetics of publicity designs. The square shapes and limited
QR information bits are encoded into the luminance values of the color tolerance, severely impairs their integration into billboard
image, taking advantage of the immunity of QR readers against designs or printed materials. This challenge has generated
local luminance disturbances. To mitigate the visual distortion great interest for algorithms capable of embedding QR codes
of the QR image, the algorithm utilizes halftoning masks for into images without loosing decoding robustness. There have
the selection of modified pixels and nonlinear programming
techniques to locally optimize luminance levels. A tractable model been several efforts to improve the appearance of such embed-
for the probability of error is developed and models of the dings [4]–[15] which can be classified in two categories,
human visual system are considered in the quality metric used to methods that modify the luminance or color of image pixels
optimize the luminance levels of the QR image. To minimize the and methods that replace QR modules.
processing time, the optimization techniques proposed to consider The methods presented in [6] and [7] base the strategy on
the mechanics of a common binarization method and are designed
to be amenable for parallel implementations. Experimental finding the best group of QR modules to substitute by the
results show the graceful degradation of the decoding rate and image or logo in the QR code. Other methods take advantage
the perceptual quality as a function the embedding parameters. of unused modules in the padding regions [8]–[10] to introduce
A visual comparison between the proposed and existing methods the image without affecting the decoding robustness. In [7]
is presented. the impact of replacing code modules with image pixels was
Index Terms— QR codes, image embedding, halftoning. studied. The authors concluded that to retain high rate of
decodability, the ratio between image and code area should
be approximately proportional to the correction capacity of
I. I NTRODUCTION
the code. It was also found that superimposing images over
Fig. 2. QR code regions with the location of finder and alignment patterns
highlighted in red.
image in such a way that the average luminance is increased a halftone mask. The size of the square of center pixels
for light regions in the code and decreased for dark regions. is selected by the user and regulates the robustness of the
In fact any embedding algorithm tailored for a standard embedding but also affects its visual quality. The distribution
decoder must be a variation of this type since the binarization of modified pixels in non central pixels is generated by
thresholds are usually calculated as local averages of pixels thresholding a blue or green noise mask to generate a binary
luminance. The parameters of the modification consist of pattern with a concentration of dots of pc . To simplify the
selecting the location of modified pixel and its luminance or notation we denote by I pc the binary pattern generated by the
to keep the QR module pixels unchanged. In this paper we halftoning mask and by M a mask that is 1 on the set of
consider the last possibility as a particular case in which the central pixels and 0 otherwise.
concentration of modified pixels in a region is close to 1.
The embedding method proposed consists of two components. C. Luminance Modification
The first is the use of halftoning techniques for the selection
After selecting the pixels, its luminance is modified to one
of modified pixels allowing to break and reduce the coarse
of four possible levels α, β, αc , βc . The luminance of the
square structures of the code. The second component is the
embedded image Yi,out j at (i, j ) is selected as a function of
modification of the luminance levels to minimize the image
the QR code value qi, j and the luminance of the original
distortion. This modification parameters are optimized inde-
image Yi, j as described in equation (3). This transformation
pendently in local windows as described in Section VI in
changes the luminance of the pixels that are selected according
order to accelerate the embedding and leverage the correlation
to the halftone distribution and keep the remaining pixels
between the luminance of the image and the code.
in the image unchanged. The pixels at the center of the
QR module are assigned different luminance levels, since they
A. Halftoning Techniques play a central role in the detection of binary values when the
The method proposed to select modified pixels is based on sampling accuracy is high.
halftoning techniques in order to minimize the appearance of ⎧
blocks while preserving high frequency details. If modified ⎪β
⎪
⎪ if Mi, j = 0, qi, j = 1, I pc ,(i, j ) = 1
⎪α
⎪
pixels are randomly but uniformly distributed in space, the
⎪
⎨ if Mi, j = 0, qi, j = 0, I pc ,(i, j ) = 1
visual impact of the embedding is minimized since these Yi,out
j = β c if Mi, j = 1, qi, j = 1 (3)
patterns concentrate most of their energy at higher frequencies
⎪
αc if Mi, j = 1, qi, j = 0
⎪
⎪
⎪
where the human visual system is less sensitive. This effect
⎪
⎪
⎩Y
i, j otherwise.
is commonly used in digital halftoning [23] where different
algorithms to generate even distributions of points with par-
ticular spectral properties have been proposed. Examples of D. Color Optimization
such algorithms are, error diffusion [24], [25], blue noise Since the goal is to embed the codes into color images,
masks [26]–[28], green noise masks [26], or direct binary we need to establish a rule to select the corresponding color
search [29]. Error diffusion has a long history in the printing vector for each modified luminance since there is an associated
industry where it has been used for the last 30 years; however, subspace of colors in the RG B space for each luminance
being a recursive algorithm, the processing time increase value. To determine the best possible color that fulfills the
considerably for very large images. Blue and green noise luminance constraint, it is necessary to measure the color
masking techniques in contrast, generate high frequency binary differences into a perceptually uniform color space [33]. The
patterns by thresholding a carefully designed multilevel array. H S L color space is selected because it involves simpler
These patterns can be computed in parallel which greatly computations than other color spaces while it is still capable
increase the speed of generation. Many algorithms to design of representing perceptual difference using euclidean metrics.
halftoning masks were presented in the literature such as, To obtain the RG B values of a modified pixel given the
Void and Cluster [30], direct binary search [29], green noise luminance target lt ∈ [0, 1], the original color is transformed
masks [26], [31], blue noise multitone dithering [32] and into the H S L color space and then the L component is
techniques based on centroidal voronoi tessellations [28]. Each optimized keeping S and H fixed until reaching the desired
of these techniques have different computational complexities, luminance Y = lt . The relationship between the luminance
but since the mask design process is performed offline the defined as Y = 0.2989R + 0.5870G + 0.114B and the
speed of pattern generation does not change. min(R, G, B) + max(R, G, B)
L=
2
B. Pixel Selection component in the H S L color space is a piecewise, linear and
Ideally, only the pixels at the center of the QR module are monotone function Y = f (L). If the weight luminance vector
relevant for a correct decoding, however, due to errors in the is defined as w = [0.298, 0.587, 0.1140]T , then f (L) is given
determination of the sampling grid, adjacent pixels play an by
important role in the decoding process. To account for this
Y = f (L) = w T T −1 (H, S, L), (4)
we make a distinction between the pixels in the QR module.
A square of size da × da is always selected for modification where (R, G, B) = T −1 (H, S, L)
is the backward transfor-
and the remaining pixels in the module are selected using mation from H S L to RG B color spaces. The optimal value
2846 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 23, NO. 7, JULY 2014
Algorithm 1 Color Modification for Luminance Target where p0 = P(qi, j = 0) and p1 = P(qi, j = 1) are the
probabilities of having a black or white pixel in the code
respectively. The detector makes a binary decision on the value
of the code qi, j based on the threshold ti, j and the embedding
luminance Yi,out
j . Taking this into account, the probabilities of
miss detection in (6) can be expressed as
P(decide qi, j = 1|qi, j = 0) = P(Yi,out
j > ti. j |qi, j = 0)
P(decide qi, j = 0|qi, j = 1) = P(Yi,out
j < ti. j |qi, j = 1). (7)
Fig. 5. Different stages of the QR embedding procedure. The inputs are the original image, the QR code, the halftone mask, the masks used for image
prioritization and global value of Pmax and da . These images are divided in local windows and then optimized independently and in parallel. Finally the
results are interpolated to combine them in the final result.
characteristic of the HVS. One of the most used models the number of pixels in the window. Only the L component
for the HVS was proposed by Näsänen [36] and consist is considered here because S and H are unchanged in the
of an exponential model H ( f r ) = e−k fr where fr is the color optimization. The filter h used in all the experiments
radial frequency in cycles/degree. The corresponding discrete is the one defined in (15) with parameters D = 9 inches
impulse response considering the viewing distance D in inches and R = 150 dpi. Considering all the requirements, the final
and the resolution R in dots/inch is given by expression for the distortion metric used in the optimizations
k 1 is then given by
h[m, n] = 3/2
(15)
2π k
+ ( π180m 2 + ( π180n 2 1
2π RD ) RD ) J (α, β, αc , βc , pc ) = ||h ∗ (L out − L)|| F
N
where the constant k is determined by fitting empirical data 1
to the model [36]. + (1 − M SS I M(Y out , Y )). (18)
2
To evaluate the similarity between the image and the embed-
ding, we propose a variation of the metric presented in [37]
originally introduced to design structure aware halftones. The VII. PARAMETER O PTIMIZATION
rationale for this selection is that blocks of the QR code In order to take advantage of local correlations between
should be less visible when viewed from a distance where the luminance of the image and the values of the QR code,
the low pass characteristics dominate but at the same time the the optimization of the transformation parameters is performed
embedding should preserver important details when viewed independently using local overlapping windows. In our imple-
at closer distances. This metric considers both the halftone mentation we choose to set the size of the windows to
visibility and image structure and allows to select the trade 40×40 pixels centered around each image block of 8×8 pixels.
off between both by adjusting two weighting parameters. The This respects the proportions of the window defined in (2)
general form of this metric is given by and based on our experimental tests, yields a good trade off
J (Y out , Y ) = wl G(Y out , Y ) + wh (1 − M SS I M(Y out , Y )). between robustness and quality for typical scanning distances.
The optimization of luminance parameters in local win-
(16)
dows has other advantages besides leveraging the correlation
where the term G(Y out , Y ) gives more importance to the low between image and code luminance. For example it is pos-
pass error between the embedding and the image while the sible to specify regions of the image which require higher
term 1 − M SS I M(Y out , Y ) measures the structure dissimi- visual quality or higher decoding robustness and set different
larity considering high frequency components and the overall probability bounds for each case.
structure of the image. A block diagram of the optimization process is depicted in
The weighting factors selected for all the simulations in this Fig. 5. After the initial subdivision of the image, the code
paper are wl = 1 and wh = 1/2 and its determination was and the different masks, the optimization of each window is
based on several experiments with different images from which performed in parallel. The combination of the global lumi-
the best combination of parameters was selected. To make a nance parameters is performed by low pass filtering the array
faithful prediction of tone similarity the term G includes a of solutions and interpolating to match the size of the original
model of the HVS and the difference between the images in image. This global map is then applied to the original image
calculated in the HSL color space since color similarity is an to obtain the QR embedding.
important component of the perceived similarity. The general The local optimizations are formulated based on the quality
expression for G is then given by metrics defined in (18) and the probability of error model in
1 (14) as
G(Y out , Y ) = ||h ∗ (L out − L)|| F (17)
N argmin Ji (α, β, αc , βc , pc )
where L out and L are the lightness components of the embed- α,β,αc ,βc , pc
ding and original image in the HSL color space and N is subject to Perr < Pmax,i (19)
GARATEGUY et al.: OPTIMIZED IMAGE EMBEDDING IN QR CODES 2849
Fig. 6. (Top row) Image embeddings for (a) da = 2 pixels (J = 0.4), (b) da = 3 pixels (J = 0.4053), (c) da = 4 pixels (J = 0.4194). The QR modules in
this example had a size of Wa = 8 pixels, and the global probability of error used was Pmax = 0.2. A noise level of ση = 0.1 was assumed. (Bottom row)
Images acquired using a Google Nexus 7 tablet at 12in from the target. The images were printed in a resolution of 150d pi.
The input parameters to the optimizations are the global for decreasing values of the regularization parameter µ. The
parameter Pmax which determines the maximum admissible advantage of this approach is that the starting points can be
probability of error and the size of the center region in pixels, infeasible at the beginning and as the regularization parameter
da . The parameter Pmax,i in the local optimization (19) is is decreased the sequence of solutions converges towards a
determined as a function of the local features of the image. feasible local minimum of the original problem in Eqn. (19).
In particular here, we define a mask M P which has value The solver used is based on a sequential quadratic programing
−2 in regions where the image presents an edge, 1 in the with trust region method presented in [39] and implemented
function pattern regions and 0 elsewhere. The value of Pmax,i by the f mi ncon function of MATLAB [40].
is calculated as
Pmax,i = (1 − mean(M P,i ))Pmax (20) VIII. I MAGE AND L OGO E MBEDDINGS
This Section presents the result of embedding different
where M P,i is the corresponding patch of M P in the local
images into a QR code and the experimental decoding rates
window.
obtained with mobile devices in order to evaluate the effec-
The edges are detected using a canny edge detector and
tiveness of the embedding method on a real setting.
lowpass filtering to generate the edge regions. This is a
common practice in other embedding algorithms such as [12]
or [15]. The values of Pmax,i can be distributed based on a A. Decoding Robustness
probability of error budget consistent with the user preferences To determine the robustness of the embedding against non
and type of error correction provided by the QR code (i.e. modeled disturbances such as blur and uneven illumination we
L, M, Q or H). conducted an scanning experiment. The experiment consisted
of scanning the embeddings in Fig. 6 from a printed version
A. Nonlinear Optimization Methods in which each QR pixels was render at 150 dpi and also
The optimization problem in Eqn. (19) is solved by means from a laptop screen with a smart phone and a tablet. The
of a logarithmic barrier method [38]. The solutions are found embeddings generated had different sizes of the central region
by solving the sequence of problems corresponding to da = 2, da = 3 and da = 4 pixels with a
argmin J (α, β, αc , βc , pc ) + µ log(s) corresponding module size of Wa = 8 pixels and the halftone
α,β,αc ,βc , pc ,s mask used was a green noise mask [41] to minimize the dot
subject to Perr (α, pc ) − Pmax + s = 0 (21) gain effect introduced by the printer. The devices used to scan
2850 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 23, NO. 7, JULY 2014
Fig. 7. Comparison of the embedding of different images and logos into a QR code. (a) Embedding of an image for a center region size of da = 2 pixels
and a global probability of error of Pmax = 0.2 using a blue noise mask (b) Embedding of a logo for da = 1 and Pmax = 0.15 using a clustered dot
mask aligned with the centers of the QR code modules. (c) Embedding of a logo for da = 3 and Pmax = 0.15 using a blue noise mask. The embedding in
(d) and (e) where generated using the method in [5] while the embedding in (f) corresponds to [14].
the codes were a smart phone Samsung Galaxy S I897 and a TABLE I
Google Nexus 7 tablet and the app used was Barcode Scanner1 T HE MSE AND MSSIM A RE C ALCULATED OVER THE L UMINANCE
which is based on the Zxing Library. The recognition times OF THE E MBEDDING AN THE O RIGINAL I MAGE . T HE MSE
where in general in the order of 5 to 10 seconds for the P RESENTED H ERE I S N ORMALIZED BY THE N UMBER OF
embeddings in Fig. 6(a) and Fig. 6(b) and in the order of 1 to P IXELS IN THE I MAGE , M S E = √1 ||(Y out − Y )|| F
N
2 seconds for the embedding of Fig. 6(c) comparable to the
method in [5]. The effective scanning distance depends on the
resolution of the device, and in general is necessary to have
multiple image pixels per QR module pixel for a successful
decoding. This is in line with the assumption that QR pixels
can be individually resolved, used to develop the probability
models. Examples of the images captured by the tablet are
depicted in Figs. 6(d), 6(e), and 6(f). These pictures were
taken at an average distance of 9 inches from the target with
approximately 10 pixels per QR module. The embeddings with
smaller center regions where more susceptible to error and the
scanning distance limited to 1 or 2 inches around the distance The values of Pmax selected should be smaller than the
in which a QR module pixel is represented by a pixel in the corresponding decoding robustness of the code in order to
captured image. For images with larger central regions such have a successful decoding. In the case of Fig. 6, the code
as 6(c). The range of successful scanning is extended since used had a correction level H (30% correction capacity) and
the assumption about correct sampling of the centers applies Pmax = 0.2. It is important to note that this embedding
to a broader range of conditions. One possible explanation for method always reduces the robustness of the code, however,
the reduced robustness of the embedding is 6(a) and Fig. 6(b) this reduction can be precisely controlled by changing the
is that the noise level used to design the embedding underes- value of the Pmax parameter and the center size da . Smaller
timates the contributions of poor illumination or camera blur. center sizes imply a unifrom tone change similar to the results
1 https://play.google.com/store/apps/details?id=com.google.zxing.client. in [14] while larger center regions yield similar results to the
android method in [5]. The main advantage here is that the user can
GARATEGUY et al.: OPTIMIZED IMAGE EMBEDDING IN QR CODES 2851
select which is best in each case given more versatility for the luminance of modified pixels to achieve particular error limits.
integration in different designs. In a similar way as in [15] or [12] different regions of the
image are prioritized by using local probability limits Pmax,i .
B. Visual Quality of the Embeddings These bounds can be used to select the codewords in error
allowing to distribute the errors spatially to regions where the
Fig. 7 depicts the results of embedding a QR code into
image presents non relevant features.
different images and logos. Each embedding is compared with
The main limitation of this method is the assumption that
their corresponding counterparts using the methods in [5]
single pixels in the QR code can be resolved in the acquired
or [14]. Different center sizes and halftone masks are used
image and that they are only corrupted by Gaussian noise.
for each embedding. For an objective evaluation of the quality
This is a simple yet powerful model but it adds a constraint
different metrics are compared in Table I, including the metric
on the minimum resolution of the image. Different trials using
J (18) used in the optimization. An interesting feature of
mobile devices and printed codes however have shown that for
the proposed embedding method is the possibility to generate
common scanning distances the models are indeed applicable
embeddings with different textures by changing the halftone
and the decoding rates are reasonable in comparison with
mask as in Fig. 7(b) where a clustered dot mask aligned with
similar methods while having a noticeable improvement in
the center of the QR modules was used generating pseudo
visual quality with respect to the metric defined. An important
random cluster of dots. This feature also allows to solve
factor for the success of the decoding is the correct estimation
the problem of dot gain generated when the embeddings are
of the variance of the noise to accommodate different illumi-
printed simply by using appropriate halftoning masks.
nations or camera blur. The values of ση used in this paper are
between 0.1 and 0.2 an were selected by experimentation with
IX. D ISCUSSION AND C ONCLUSION
different images and standard fluorescent illumination in an
A method to embedded QR codes into color images was office environment. It is important to note that the embedding
presented, allowing to automatically generate embeddings with method might fail to decode if the reading application uses
limited probability of detection error for a given noise power. a different binarization method than the one assumed here,
This method shares different elements with previous methods however since the Zxing library is widely adopted this is
such as [5], [14], and [15] since it allows to optimize the not a severe limitation. Finally as a consequence of the
luminance values of individual pixels in the image at locations elaborate models for the visual quality and the probability of
selected via halftoning techniques and by setting the centers error the implementation of the method is significantly more
of the QR modules to specific values. The method presented computationally intensive than other methods. The present
in [14] change the luminance of modified pixels into two implementation in Matlab takes 30 minutes to optimize a color
luminance levels analogous to the α and β used here. However image of size 350×350 pixels, but more efficient implementa-
these levels are global and the selection of its optimal values tions that take advantage of parallelism and especial processors
is based on the assumption that the image is uniformly like GPUs might reduce the optimization time to practical
distributed and that the binarization threshold is fixed. The levels.
method developed here is much more general and includes
A PPENDIX A
these as particular cases. We make an accurate approximation
of the image statistics using its local mean and variance and P ROBABILITY OF B INARIZATION E RROR
develop a model for the probability of error using a common If we assume that all pixels in the window are indis-
binarization algorithm widely used in real applications. The tinguishable then we can treat them as non-central pixels
proposed method also introduces a novel technique to distrib- and assume that they can only take two independent values
ute modified pixels based on halftoning methods which help to α or β. The binarization threshold at location (i, j ) is in
reduce the visual impact of the modification. The embedding general given by (2) and it can be divided in three components
of halftones into QR codes was proposed in [15] where the ti, j = ai, j + bi, j + ηi, j with
location of binary pixels in the QR modules is optimized to
1
maximize visual quality and decoding robustness. This method ai, j = (k,l)∈B p,q βqk,l + α(1 − qk,l )
however is only suitable to generate binary halftones and no 25 × 64 p,q
(k,l)∈C
modification for the embedding of color or multilevel halftones 1
bi, j = (k,l)∈B p,q Y [k, l]. (22)
was proposed. 25 × 64 p,q
(k,l) ∈C
In addition to the use of halftones to diminish the visual
distortion of the embedding, the method presented here defines Given the set of modified pixels these components are indepen-
a quality metric which considers color, tone and structural dent and is possible to evaluate the distribution of the threshold
similarity used to select the optimal luminance of modified as the convolution of the distributions of its components. The
pixels. To fully leverage the characteristics of QR decoders, component ai, j can be modeled as a binomial distribution
central pixels in the QR modules play an important role in assuming independence of the code pixels given by
our algorithms similarly to [5] and [15]. However in contrast n
kβ (n − k)α n k n−k
to these methods which fix the ratio between central and non P(ai, j = x) = δ x− + p p
central pixels, the method proposed here allows to choose the 25 × 64 25×64 k 1 0
k=0
number of central pixels and then optimize the location and (23)
2852 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 23, NO. 7, JULY 2014
[29] M. Analoui and J. P. Allebach, “Model-based halftoning using direct Gonzalo R. Arce (F’00) received the M.S. and
binary search,” in Proc. SPIE/IS&T Symp. Electron. Imag., Sci. Technol., Ph.D. degrees in electrical engineering from Pur-
Int. Soc. Opt. Photon., 1992. due University, West Lafayette, IN, USA. He is
[30] R. Ulichney, “The void-and-cluster method for generating dither arrays,” the Charles Black Evans Professor of Electri-
Proc. SPIE, Human Vis., Vis. Process., Digit. Display IV, vol. 1913, cal and Computer Engineering with the Univer-
pp. 332–343, 1993. sity of Delaware, Newark, DE, USA. He was the
[31] D. L. Lau, R. Ulichney, and G. R. Arce, “Blue and green noise halfton- Fulbright-Nokia Distinguished Chair of Information
ing models,” IEEE Signal Process. Mag., vol. 20, no. 4, pp. 28–38, and Communications Technologies at Aalto Uni-
Jul. 2003. versity, Helsinki, Finland, in 2010. His research
[32] J. B. Rodriguez, G. R. Arce, and D. L. Lau, “Blue-noise multitone interests include statistical signal processing and
dithering,” IEEE Trans. Image Process., vol. 17, no. 8, pp. 1368–1382, computational imaging. He has co-authored the texts
Aug. 2008. Nonlinear Signal Processing (Wiley, 2004), Modern Digital Halftoning (CRC
Press, 2008), and Computational Lithography (Wiley, 2010). He has served
[33] H. J. Trussell, E. Saber, and M. Vrhel, “Color image processing [basics
as an Associate Editor of several journals of the IEEE, OSA, and SPIE.
and special issue overview],” IEEE Signal Process. Mag., vol. 22, no. 1,
pp. 14–22, Jan. 2005.
[34] Z. Wang and A. C. Bovik, “Mean squared error: Love it or leave it?
A new look at signal fidelity measures,” IEEE Signal Process. Mag.,
vol. 26, no. 1, pp. 98–117, Jan. 2009.
[35] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, “Image
quality assessment: From error visibility to structural similarity,” IEEE
Daniel L. Lau (SM’09) received the B.Sc. (Hons.)
Trans. Image Process., vol. 13, no. 4, pp. 600–612, Apr. 2004.
degree from Purdue University, West Lafayette, IN,
[36] R. Nasanen, “Visibility of halftone dot textures,” IEEE Trans. Syst., Man, USA, in 1995, and the Ph.D. degree in electri-
Cybern.,Syst., vol. SMC-14, no. 6, pp. 920–924, Nov./Dec. 1984. cal engineering from the University of Delaware,
[37] W.-M. Pang, Y. Qu, T.-T. Wong, D. Cohen-Or, and P.-A. Heng, Newark, DE, USA, in 1999. He is currently an
“Structure-aware halftoning,” ACM Trans. Graph., vol. 27, no. 3, p. 89, Associate Professor with the Department of Electri-
2008. cal and Computer Engineering, University of Ken-
[38] D. P. Bertsekas, Nonlinear Programming. Belmont, MA, USA: Athena tucky, Lexington, KY, USA, where his early research
Scientific, 1999. interest focused on digital printing and halftoning.
[39] R. H. Byrd, J. C. Gilbert, and J. Nocedal, “A trust region method He has authored Modern Digital Halftoning. His
based on interior point techniques for nonlinear programming,” Math. current research interests include 3-D measurements
Program., vol. 89, no. 1, pp. 149–185, 2000. by means of structured light, with his contributions having been featured in
[40] Mathworks, Natick, MA, USA. Fmincon Reference Page numerous machine vision trade magazines, and the creation of a startup cor-
Documentation [Online]. Available: http://www.mathworks.com/help/ poration, i.e., Seikowave Inc., Lexington. Apart from the research, he is also
optim/ug/fmincon.html an Avid Digital Photographer primarily interested in lenticular photography.
[41] D. L. Lau, G. R. Arce, and N. C. Gallagher, “Digital color halftoning He has authored papers in the P ROCEEDINGS OF THE IEEE.
with generalized error diffusion and multichannel green-noise masks,”
IEEE Trans. Image Process., vol. 9, no. 5, pp. 923
Gonzalo J. Garateguy (S’06) received the B.E.E. Ofelia P. Villarreal received the B.E.E. degree at
degree from the Catholic University of Uruguay, the University of Valle in Cali, Colombia, in 2006.
Montevideo, Uruguay, in 2007, and the Ph.D. degree She is currently a Master student at the Depart-
from the University of Delaware, Newark, DE, USA, ment of Electrical and Computer Engineering at the
in 2014. He is currently a Signal Processing Quality University of Delaware, Newark, DE, USA. Her
Engineer with The MathWorks, Inc., Natick, MA, current research interests include signal and image
USA. His research interests include signal and image processing.
processing, halftoning, and convex optimization.