US 12,075,014 B2
Data embedding and data extraction in image
Bin Zhu, Beijing (CN); Haidong Zhang, Beijing (CN); Yuanyuan Tang, Chaoyang District (CN); He Huang, Beijing (CN); Song Ge, Beijing (CN); and Dongmei Zhang, Beijing (CN)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Appl. No. 17/615,087
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
PCT Filed May 3, 2020, PCT No. PCT/US2020/031239
§ 371(c)(1), (2) Date Nov. 29, 2021,
PCT Pub. No. WO2021/002923, PCT Pub. Date Jan. 7, 2021.
Claims priority of application No. 201910582121.4 (CN), filed on Jun. 30, 2019.
Prior Publication US 2022/0224801 A1, Jul. 14, 2022
Int. Cl. H04N 1/32 (2006.01); G06T 7/194 (2017.01); G06T 11/20 (2006.01)
CPC H04N 1/32267 (2013.01) [G06T 7/194 (2017.01); G06T 11/206 (2013.01); H04N 1/3232 (2013.01); H04N 1/32352 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
determining, from a source image, a target region embeddable with data, the source image comprising a plurality of image elements arranged in rows and columns, and the target region comprising:
one or more flat or textured areas in the source image; and
a sub-region having a plurality of consecutive image elements;
converting target data into a sequence of logical values represented in a predetermined format;
packaging the sequence of logical values into a plurality of data blocks in a predetermined order, each data block comprising a first predetermined number of logical values placed in rows and columns;
embedding a start mark block in the sub-region, the start mark block comprising a plurality of logical values arranged in rows and columns to indicate a start of data embedding in the sub-region;
embedding at least one data block of the plurality of data blocks following the start mark block;
embedding an end mark block following the at least one data block in the sub-region, the end mark block comprising a plurality of logical values arranged in rows and columns to indicate an end of the data embedding in the sub-region; and
generating a target image with the embedded sub-region by changing an image value of at least one of the image elements of the target region within a predetermined range based on the sequence of logical values where different image values of the image elements in the target region respectively indicate different logical values in the predetermined format.