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 |
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.
|