Noise generation

In practice, a scene may contain multiple frames, each task of this scene contains some range of frames to be rendered, consequently each worker may render only a subset of these frames. For the simplification purpose, we assume in this section that a scene has only one frame, so the output image is determined uniquely by the scene.

Let RR denote the rendering process, for each input scene GG, the result of the rendering is an image:

I=R(G)I = \mathcal{R} \left(G\right)

It is important to note that II is actually never computed, neither by the manager in the noise embedding (see also the discussion about frame sampling) nor by workers in the frame rendering. The equation above represents only equality.

Similar with invisible watermark schemes in the literature [2], [3], [9] a noise WW consists in a random vector of atomic watermarks:

W(w1,,wn)W \triangleq \left(w_1, \dots, w_n \right)

where wi,(1in)w_i , \left(1 \leq i \leq n\right) is independently chosen from some normal probability distribution N(μ,σ2)\mathcal{N}\left(\mu, \sigma^2\right). Furthermore, wiw_i has a special structure depending on where it is introduced in the scene GG. The number nn of atomic watermark signals is chosen around an experimental trade-off between human perception threshold about the image distortion and the false positive ratio of the noise verification.

Using a uniformly generated task identification number JidJ_{\mathtt{id}}, we calculate a verification key which is a vector of the same size as the noise vector WW:

Kverif(S,W,Jid)(k1,,kn)K_{\mathtt{verif}} \left(S, W, J_{\mathtt{id}}\right) \triangleq \left( k_1,\dots,k_n \right)

that will be used later for the noise verification.

We have discussed that embedding watermarks into II cannot help the authentication, then the noise WW is not embedded into the image II but into the scene GG. Let E\mathcal{E} denote the embedding function, we now create a watermarked scene:

G^=E(G,W)\hat{G} = \mathcal{E} \left(G, W\right)

Finally, G^\hat{G} is sent to workers for rendering, that results in a rendered image:

I^=R(G^)\hat{I} = \mathcal{R} (\hat{G})

If got accepted, namely I^\hat{I} passes the noise verification which will be presented hereafter, this is the image sent back to the user (recall that II in the rendering equation is not computed). The encoding function E\mathcal{E} and the noise WW are designed so that the distortion of I^\hat{I} against II is imperceptible [10], [11] then I^\hat{I} can be authentically used as a result of the graphics rendering.

Last updated