US 12,137,167 B2
Watermarking in a virtual desktop infrastructure environment
Jinxing Hu, Beijing (CN); Kar Fai Tse, Peachtree Corners, GA (US); Lina Li, Beijing (CN); Shengbo Teng, Beijing (CN); and Lu Liu, Beijing (CN)
Assigned to Omnissa, LLC, Mountain View, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Feb. 15, 2019, as Appl. No. 16/276,692.
Claims priority of application No. PCT/CN2019/072958 (WO), filed on Jan. 24, 2019.
Prior Publication US 2020/0244459 A1, Jul. 30, 2020
Int. Cl. H04L 9/32 (2006.01); G06F 9/455 (2018.01); G06T 1/00 (2006.01); H04L 9/08 (2006.01)
CPC H04L 9/3231 (2013.01) [G06F 9/45558 (2013.01); G06T 1/0021 (2013.01); H04L 9/0838 (2013.01); H04L 9/0869 (2013.01); G06F 2009/45587 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium embodying a program for generating a watermarked image that is executable in at least one computing device, wherein when executed, the program causes the at least one computing device to at least:
obtain an image corresponding to a virtual desktop infrastructure (VDI) desktop associated with a user;
generate a watermarking fingerprint based upon an identity of the user;
generate a watermarking payload based upon the watermarking fingerprint;
perform at least one discrete wavelet transform (DWT) on the image to produce a plurality of wavelet functions, the DWT performed on a Y channel extracted from the image in a YUV color encoding system to create a watermarked Y channel, wherein the plurality of watermarked wavelet functions correspond to the watermarked Y channel;
embed the watermarking payload into the plurality of wavelet functions to produce a plurality of watermarked wavelet functions using a multiplicative embedding rule that characterizes the Y channel with a gain factor, a sequence of watermark signals from the watermarking payload, and an amplitude associated with a data point of the DWT, the plurality of watermarked wavelet functions comprising the watermarked Y channel, an un-watermarked U channel, and an un-watermarked V channel;
generate the watermarked image from the plurality of watermarked wavelet functions using an inverse discrete wavelet transform; and
transmit the watermarked image to a client device executing a VDI client associated with the user.