| CPC G06T 1/0064 (2013.01) [G06T 1/0028 (2013.01); G06T 3/60 (2013.01); G06T 2201/0052 (2013.01); G06T 2201/0061 (2013.01); G06T 2201/0064 (2013.01)] | 22 Claims |

|
1. A computer system, comprising:
a first processor; and
memory having stored thereon executable instructions that, when executed by the first processor, cause the first processor to:
receive a first image and receive identifier information for embedding in the first image;
preprocess the first image to produce a preprocessed first image;
preprocess the identifier information by at least channel-encoding the identifier information to produce preprocessed identifier information including a plurality of sets of bits;
embed the preprocessed identifier information in the preprocessed first image by at least:
selecting a plurality of blocks of the preprocessed first image; and
embedding in each block of the plurality of blocks a respective set of bits of the plurality of sets of bits, wherein each set of bits of the plurality of sets of bits is embedded in a minimum number of blocks of the plurality of blocks, wherein the minimum number of blocks is greater than one; and
output the preprocessed first image, wherein the respective set of bits of the identifier information is embedded in each of the plurality of blocks of the preprocessed first image;
a second processor; and
memory having stored thereon executable instructions that, when executed by the second processor, cause the second processor to:
modify or copy the preprocessed first image to produce a second image, wherein the respective set of bits of the identifier information is embedded in each block of the second image corresponding to each of the plurality of blocks of the preprocessed first image output; and
a third processor; and
memory having stored thereon executable instructions that, when executed by the third processor, cause the third processor to:
output an indication of the identifier information extracted from the second image.
|