A data-bearing image (391) is created from a carrier image (371). The carrier image (371) is scaled to produce a scaled image. A clustered-dot halftone screen is applied to the scaled image to produce a halftone image. A resulting number of cells in the halftone image conforms to a cell count (372) that includes a horizontal cell value and a vertical cell value. Payload data is encoded into the halftone image to produce a data-bearing halftone image, including shifting pixel clusters within cells of the halftone image that include pixel clusters.