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