A method comprising: receiving, at a media rendering device, a command from a video provider to embed a subscriber ID in at least one video frame in a video stream; receiving a random key, k, from the video provider; invoking an injective transformation for k and the subscriber ID, the injective transformation generating a sequence of pairs of: near-transparent patterns and corresponding time periods, wherein the injective transformation comprises: mapping the subscriber ID to a set of pairs: {(B 1, X 1), (B 2, X 2),..., (B n, X n)}, wherein n is the total number of logical blocks per video frame, and X i is the number of time periods to overlay an embedded overlay on block B i; creating a set of sequences of the near-transparent patterns, each one of the patterns being associated with one logical block; displaying one of the near-transparent patterns of the set of sequences on each one of the logical blocks for the number of time periods; and changing the displayed one of the near-transparent patterns of the set of sequences on each one of the logical blocks to a next one of the one of the near- transparent patterns of the set of sequences on each one of die logical blocks at the end of the number of time periods; and overlaying logical blocks of the at least one video frame in the video stream with one of the near-transparent patterns for its one of the corresponding time periods according to the generated pairs. receiving, at a media rendering device, a command from a video provider to embed a subscriber ID in at least one video frame in a video stream; receiving a random key, k, from the video provider; invoking an injective transformation for k and the subscriber ID, the injective transformation generating a sequence of pairs of: near-transparent patterns and corresponding time periods, wherein the injective transformation comprises: mapping the subscriber ID to a set of pairs: {(B 1, X 1), (B 2, X 2),..., (B n, X n)}, wherein n is the total number of logical blocks per video frame, and X i is the number of time periods to overlay an embedded overlay on block B i; creating a set of sequences of the near-transparent patterns, each one of the patterns being associated with one logical block; displaying one of the near-transparent patterns of the set of sequences on each one of the logical blocks for the number of time periods; and changing the displayed one of the near-transparent patterns of the set of sequences on each one of the logical blocks to a next one of the one of the near- transparent patterns of the set of sequences on each one of die logical blocks at the end of the number of time periods; and mapping the subscriber ID to a set of pairs: {(B 1, X 1), (B 2, X 2),..., (B n, X n)}, wherein n is the total number of logical blocks per video frame, and X i is the number of time periods to overlay an embedded overlay on block B i; creating a set of sequences of the near-transparent patterns, each one of the patterns being associated with one logical block; displaying one of the near-transparent patterns of the set of sequences on each one of the logical blocks for the number of time periods; and changing the displayed one of the near-transparent patterns of the set of sequences on each one of the logical blocks to a next one of the one of the near- transparent patterns of the set of sequences on each one of die logical blocks at the end of the number of time periods; and overlaying logical blocks of the at least one video frame in the video stream with one of the near-transparent patterns for its one of the corresponding time periods according to the generated pairs.