1. A method for extracting data from an image comprising pixels, the method comprising: identifying a set of ordered candidate embedding sites in the image wherein a candidate embedding site comprises a plurality of pixels; extracting a set of data values from at least some of the set of ordered candidate embedding sites wherein a data value is extracted from an ordered candidate embedding site by examining a difference between a first intensity value of the pixels in a first portion of the ordered candidate embedding site and a second intensity value of the pixels in a second portion of the ordered candidate embedding site; extracting at least one data vector from the set of data values by segmenting the set of data values; and decoding the at least one data vector.