Water mark embedding and extraction
View Patent ↗A watermarking key consisting of a sequence of elements is embedded into a data sequence. Each element may take on two or more values. In order to embed a watermarking key, first a reference sequence is divided into blocks. Each element of the watermarking key is associated with a respective block of the reference sequence. A watermarked sequence is then generated by shifting the associated blocks by a degree determined by the value of the respective associated element of the watermarking key.
1. A method for embedding a watermarking key into sequential data, comprising:
obtaining a reference sequence from said sequential data;
apportioning said reference sequence into blocks;
associating elements of said watermarking key with respective blocks of said reference sequence; and
generating a watermarked sequence from said reference sequence using a watermarking key, wherein said watermarking key comprises a specified sequence of elements and wherein each of said elements takes a value, by shifting said respective blocks of said reference sequence by a degree determined in accordance with a value of said respective associated element of said watermarking key, so as to embed said watermarking key into said sequential data.
2. A method for watermarking data in accordance with claim 1 , wherein said associating and said generating are performed for a non-consecutive set of blocks.
3. A method for watermarking data in accordance with claim 1 , further comprising selecting a degree of shift for a block in accordance with a value of said respective associated element.
4. A method for watermarking data in accordance with claim 1 , wherein said apportioning is in accordance with block division rules specifying the division of said reference sequence into said blocks.
5. A method for watermarking data in accordance with claim 1 , further comprising:
analyzing said reference sequence to identify occurrences of a specified feature; and
specifying respective lengths for said blocks in accordance with said occurrences.
6. A method for watermarking data in accordance with claim 1 , further comprising adjusting a magnitude of overlapping samples of said watermarked sequence.
7. A method for watermarking data according to claim 1 , further comprising obtaining said reference signal by sampling an analog source signal.
8. A method for watermarking data in accordance with claim 1 , wherein said reference sequence comprises a media signal.
9. A method for watermarking data in accordance with claim 8 , wherein said media signal consists of one of: an audio signal, an image, a sequence of images and a video signal.
10. A method for watermarking data in accordance with claim 1 , comprising:
separating a source signal by frequency band into a plurality of sub-band signals; and
sampling one of said sub-band signals to obtain said reference sequence.
11. A method for watermarking data according to claim 1 , further comprising:
separating a source data sequence into a plurality of channel sequences; and
selecting one of said channel sequences as said reference sequence.
12. A method according to claim 11 , further comprising:
separating said reference sequence by frequency band into a plurality of reference channel sub-band signals, wherein said watermarking key is embedded into a selected one of said reference channel sub-band signals.
13. A method according to claim 12 , further comprising processing said reference sequence and a second one of said channel sequences to increase the similarity of said reference and said second channel sequences in a selected frequency sub-band.
14. A method for extracting a watermark from a watermarked sequence of sequential data, comprising:
associating each of a sequence of watermarked blocks from said watermarked sequence with respective blocks of a reference sequence obtained from said sequential data;
obtaining a sequence of offsets by determining, for each of a set of watermarked blocks, an offset between said watermarked block and said respective reference sequence block; and
translating said sequence of offsets into a watermarking key.
15. A method according to claim 14 , wherein said determining an offset between a watermarked block and a reference sequence block comprises identifying an offset which yields a peak cross-correlation between said watermarked block and said reference sequence block.
16. A method according to claim 14 , wherein said determining an offset between a watermarked block and said respective reference sequence block comprises:
locating a signal feature within said watermarked block;
locating a corresponding signal feature within said respective reference sequence block; and
calculating an offset between said locations.
17. A method according to claim 14 , further comprising:
separating a source data sequence into a plurality of channel sequences; and
selecting one of said channel sequences as said reference sequence.
18. A method according to claim 14 , further comprising:
separating a source signal by frequency band into a plurality of sub-band signals; and
sampling one of said sub-band signals to obtain said reference sequence.
19. A method according to claim 14 , further comprising synchronizing said watermarked sequence and said reference sequence.
20. A method according to claim 14 , wherein said translating comprises: for each offset within said sequence, determining a value of a corresponding element of said watermarking key in accordance with a magnitude of said offset.
21. A method according to claim 20 , further comprising obtaining said reference sequence from a communication device.
22. A method according to claim 20 , further comprising obtaining said reference sequence from a data signal processor.
23. A method according to claim 20 , further comprising obtaining said reference sequence from a media data file.
24. A method according to claim 14 , further comprising determining an authenticity of said watermarked sequence by comparing said extracted watermarking key to an original watermarking key.
25. A watermarking apparatus for embedding a watermarking key into a reference sequence obtained from sequential data, comprising:
a reference sequence divider, configured for apportioning said reference sequence into blocks;
an element associator associated with said reference sequence divider, configured for associating elements of said watermarking key with respective blocks of said reference sequence, wherein said watermarking key comprises a specified sequence of elements and wherein each of said elements takes a value; and
an embedding unit associated with said element associator, configured for generating a watermarked sequence by shifting said associated blocks of said reference sequence by a degree determined in accordance with a value of said respective associated element of said watermarking key,
thereby to embed said watermarking key into said reference sequence.
26. A watermarking apparatus according to claim 25 , wherein said reference sequence is obtained from a communication device.
27. A watermarking apparatus according to claim 25 , wherein said reference sequence is obtained from a data signal processor.
28. A watermarking apparatus according to claim 25 , wherein said reference sequence is obtained from a media data file.
29. A watermarking apparatus according to claim 25 , further comprising a database associated with said embedding unit, configured for storing a watermarking protocol, said watermarking protocol comprises at least one of:
i. Block division rules for defining a manner for dividing said reference sequence into blocks;
ii. Offset rules for defining a manner for assigning degrees of shift degrees to watermarking key elements;
iii. Edge adjustment rules for defining a manner for adjusting magnitudes of overlapping samples of a watermarked sequence; and
iv. Assignment rules for defining a manner for assigning elements of said watermarking key to reference sequence blocks.
30. A watermarking apparatus according to claim 25 , further comprising an original signal processor associated with said reference sequence divider, and configured for sampling a source signal and processing said samples into said reference sequence.
31. A watermark extraction unit for extracting a watermarking key from a watermarked sequence, comprising:
a watermarked sequence divider, configured for apportioning a watermarked sequence into watermarked blocks corresponding to respective blocks of a reference sequence;
an offset determiner associated with said watermarked sequence divider, configured for obtaining a sequence of offsets by determining, for each of a set of watermarked blocks, an offset between said watermarked block and said respective reference sequence block; and
a translation unit associated with said offset determiner, configured for translating said sequence of offsets into said watermarking key.
32. A watermark extraction unit according to claim 31 , further comprising an authentication unit associated with said offset determiner, configured for determining an authenticity of said watermarked sequence by comparing said extracted watermarking key to an original watermarking key.