When a barcode is printed on paper, a white pixel does not affect its neighboring black pixels provided that the print quality is good and the resolution is high enough. On the other hand, when data is shown on an LCD, light that is passing through white pixels may leak into neighboring black pixelsmaking them look gray. The straightforward solution to this problem is to increase the size of the pixels so that they have minimal effects on each other. This is called barcode granularity in QR coding [2]. On a lower level this is exactly the way a printed barcode is generated, where each printed dot is not corresponding to a data symbol but rather many printer dots contribute to a single black symbol. In the case of LCD, each k x k pixel set is assigned the same color to generate just one symbol, isolating the center pixel from bordering pixels that may be affected by neighbors. Unfortunately thismethod greatly decreases the transfer rate because
the M x N independent data symbols reduce to M/K x N/K which leads to k^2 a to 1 rate decrease. The inter-symbol interference could happen in the receiver camera as well becoming a major obstacle for increasing the pixel density of barcodes. Moreover, any movements between camera and LCD during