1. A method for encoding digital data in a color barcode having a plurality of cells including data cells, comprising the steps of: (a) determining a shape to be formed inside each data cell and a color for the shape for encoding digital data, wherein a combination of the shape and the color for the data cell is chosen from a plurality of combinations of shapes and colors in accordance with a value of the digital data to be encoded in the data cell; and (b) coloring, for each data cell, a subset of the plurality of pixels in the data cell in to form the shape determined for the data cell in step (a) with the color determined for the data cell in step (a), wherein the shape formed inside each data cell is defined by the subset of the plurality of pixels in the data cell colored by the color for said each data cell, such that each data cell has only one shape, and said one shape is colored by only one color.