IP Library Granted Patent US 8,818,019
Granted Patent B2
US 8,818,019 · App. 13/376,394 · Granted Aug 26, 2014

Robust watermark

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,818,019
App. No.
13/376,394
Granted
Aug 26, 2014
Kind
B2
Abstract

A method and system for embedding a watermark in block encrypted content, including encoding a bit string, the bit string including n bits, denoted b 0 -b n-1 , the encoding including translating each bit, b 0 -b n-1 , into a block of data, according to the following rule if b i =1, then translate b i into a block of data of a first type, and if b i =0, then translate b i into a block of data of a second type, thereby translating the n bits into n blocks of data corresponding to each bit b 0 -b n-1 , arranging a composite block of data including the n blocks of data, and at least one additional block indicating the presence of the n blocks of data, and inserting the composite block of data into a content item as a watermark, wherein the watermarked content item is encrypted using an ECB mode of encryption. Related methods and apparatus are also described.

Claims (43)

1. A method for embedding a watermark in block encrypted content, the method comprising:

providing an MPEG packet, the MPEG packet comprising a payload;

dividing the payload into N blocks of equal size, each block denoted as one of b 0 -b n-2 and b x ;

determining b 0 ⊕ . . . ⊕b n-2 =B

providing a byte, denoted A, in an MPEG header, A being an adaptation field comprising proprietary parameters;

encrypting, according to an encryption function f, f(b x , B, A), where an encryption key for the encryption function f comprises g(A,B);

selecting a value k, where 0<=k<32; and

calculating Y=f(bx, B, A), Y being a 16 byte long vector;

calculate P k (Y);

determine if P k (Y)=the k th bit of the watermark;

if P k (Y)=the k th bit of the watermark then continuing to a next MPEG packet;

if P k (Y) does not equal the k th bit of the watermark, then increment A and repeat the above procedure until one of:

P k (Y)=the k th bit of the watermark; and

a predetermined upper bound is reached, in which case, the provided MPEG packet does not participate in the watermarking process.

2. The method according to claim 1 and wherein Y is calculated as follows:

setting A=1, and incrementally performing:

performing the following steps in a loop:

determining Y=f(b x , B, A);

determining if P k (Y)=the k th bit of the watermark;

if P k (Y)=the k th bit of the watermark then setting Y=an encrypted value of b x ;

if P k (Y) !=the k th bit of the watermark then:

if a loop index has exceeded a predetermined upper bound, setting A=0; and stopping the loop and processing another MPEG packet; and

if the loop index has not exceeded a predetermined upper bound, incrementing A and repeating the determining of Y in the loop.

3. The method according to claim 1 wherein the predicate P comprises a secret value.

4. The method according to claim 1 wherein the predicate P comprises a content dependent predicate.

5. The method according to claim 1 and wherein when A=0, utilizing regular encryption.

6. A system for embedding a watermark in block encrypted content, the system comprising:

an MPEG packet comprising a payload;

the payload being divided into N blocks of equal size, each block denoted as one of b 0 -b n-2 , and b x ;

a processor which determines b 0 ⊕ . . . ⊕b n-2 =B

a byte, denoted A, in an MPEG header, A being an adaptation field comprising proprietary parameters;

an encryption function f, operative to encrypt according to f(b x , B, A), where an encryption key for the encryption function f comprises g(A,B);

wherein at least one of the following is performed during encryption:

a value k, where 0<=k<32 is selected;

Y=f(bx, B, A) is calculated, Y being a 16 byte long vector;

P k (Y) is calculated;

determine if P k (Y)=the k th bit of the watermark,

if P k (Y)=the k th bit of the watermark then continue to a next MPEG packet;

if P k (Y) does not equal the k th bit of the watermark then increment A and repeat the above procedure until one of:

P k (Y)=the k th bit of the watermark; and

a predetermined upper bound is reached, in which case, the provided MPEG packet does not participate in the watermarking process.

7. The method according to claim 1 wherein the function g(A,B) comprising the encryption key is g(A,B)=A⊕B.

8. The method according to claim 1 wherein the function g(A,B) comprising the encryption key is g(A,B)=A⊕b x .

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE 26 APPLICATION NUMBERS ERRONEOUSLY RECORDED AGAINST ON THE ATTACHED LIST PREVIOUSLY RECORDED AT REEL: 048513 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 18, 2021
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 056623/0708 →
CHANGE OF NAME Recorded Mar 6, 2019
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 048513/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: BEAUMARIS NETWORKS LLC; CISCO SYSTEMS INTERNATIONAL S.A.R.L.; CISCO TECHNOLOGY, INC.; CISCO VIDEO TECHNOLOGIES FRANCE
To: NDS LIMITED
Reel/Frame 047420/0600 →