CA2304041C - Method for image processing to facilitate copy protection - Google PatentsMethod for image processing to facilitate copy protection Download PDF
- Publication number
- CA2304041C CA2304041C CA 2304041 CA2304041A CA2304041C CA 2304041 C CA2304041 C CA 2304041C CA 2304041 CA2304041 CA 2304041 CA 2304041 A CA2304041 A CA 2304041A CA 2304041 C CA2304041 C CA 2304041C
- Prior art keywords
- copy protection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
- 230000004224 protection Effects 0 abstract claims description title 10
- 238000000034 methods Methods 0 abstract description 10
- 238000004422 calculation algorithm Methods 0 abstract description 5
- 239000011159 matrix materials Substances 0 claims description 3
- 239000000047 products Substances 0 claims description 3
- 230000032683 aging Effects 0 abstract description 2
- 239000002609 media Substances 0 description 6
- 230000000694 effects Effects 0 description 2
- 230000001976 improved Effects 0 description 2
- 230000035755 proliferation Effects 0 description 2
- 238000003860 storage Methods 0 description 2
- 238000004891 communication Methods 0 description 1
- 238000004590 computer program Methods 0 description 1
- 230000000875 corresponding Effects 0 description 1
- 238000005520 cutting process Methods 0 description 1
- 239000000463 materials Substances 0 description 1
- 238000006011 modification Methods 0 description 1
- 230000004048 modification Effects 0 description 1
- 230000003287 optical Effects 0 description 1
- 230000002633 protecting Effects 0 description 1
- 230000002829 reduced Effects 0 description 1
- G06—COMPUTING; CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
- G06T1/0078—Robust watermarking, e.g. average attack or collusion attack resistant using multiple thresholds
METHOD FOR IMAGE PROCESSING TO FACILITATE COPY PROTECTION
BACKGROUND OF THE INVENTION
Technical Field The present invention relates generally to securing content against wrongful duplication and, more particularly, techniques for processing an image into a digital string so that images with similar features (e.g., illicit or cropped copies) get mapped into a digital string that is close to the original string.
Description of the Related Art The proliferation of digitized media and the ease with which digital files can be copied especially over public computer networks (e.g., the Internet) has created a need for copy and copyright enforcement schemes. Conventional cryptographic systems permit only valid keyholders access to encrypted data, but once such data is decrypted there is no way to track its reproduction or retransmission. Such schemes thus provide insufficient protection against unauthorized reproduction of information. It is known in the prior art to provide a so-called digital "watermark" on a document to address this problem. A "watermark" is a visible or preferably invisible identification code that is permanently embedded in the data and thus remains present within the data after any decryption process. One example of a digital watermark would be a visible "seal" placed over an image to identify the copyright owner.
However, the watermark might also contain additional information, including the identity of the purchaser of a particular copy of the material.
Many schemes have been proposed for watermarking digital data. In a known watermarking procedure, each copy of a document D is varied slightly so as to look the same to the user but also so as to include the identity of the purchaser. The watermark consists of the variations that are unique to each copy. The idea behind such schemes is that the watermark should be hard to remove without destroying the document. Thus, a copy of a watermarked document should be traceable back to the specific version of the original from which it was created. Although certain watermarking techniques provide advantages, there remains a need for a more general approach to the problems associated with content protection.
SUMMARY OF THE INVENTION
It is a primary object of the present invention to provide an improved method for securing content against wrongful duplication.
SUBST1TUZ'E SHEET (RULE 26) It is still another object of this invention to provide improved methods for processing an image (or other work) into a digital string so that images with similar features (e.g., illicit or cropped copies) get mapped into a digital string that is close to the original digital string.
It is another more general object of this invention to protect against the wrongful proliferation of digitized media over public computer networks (e.g., the Internet).
A still further object of this invention is to provide for more efficient and reliable copy and copyright enforcement schemes.
In accordance with one aspect of the present invention there is provided a method for mapping a document comprising a large number of bytes into a bit string b_1, ..., b m to facilitate copy protection of the document, comprising the steps of:
generating m x n N(0,1) random variables Z_(1,1), ..., Z_(m,n) and storing the random variables in an m x n matrix Z*;
processing the document into a digital string y_1, ..., y_n; normalizing the y i values to generate a vector y*; computing a matrix-vector product v* = Z*xy*, where v_1, ..., v m denote the values of v*; selecting first and second thresholds t' and t" where t' is selected so that the probability that y_1 x u_1 + ... + y m x a m < t' is close to about'/a when each a i is an independent N(0,1 ) random variable, and where t" is selected so that the probability that y_1 x u_1 + ... + y m x a m > t" is close to about'/e; and determining if v i < t' or if v i > t"
for each v i from v_1 to v m; and if v_i is less than t' or if v i is greater than t", then set b i = 0; if v i is not less than t' or if v i is not greater than t", set b i = l; wherein the value of i in b i corresponds to the value of i in v_i.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.
BRIEF DESCRIPTION OF THE DRAWING
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, are best understood by reference to the following Detailed Description of an illustrative embodiment when read in conjunction with the accompanying Drawing, therein:
Figure 1 is a flowchart of the inventive method.
2a DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
The present invention is preferably implemented in software (e.g., a series of program instructions) executed in a computer. It is assumed that the content to be protected is a picture or other image. The invention may be applied to any content (including, without limitation, video, graphics, sound, text, etc.) irrespective of its form, however. For purposes of illustration, the invention will be described in the context of a picture. The picture is digitized in any convenient manner.
According to the invention, once digitized, the picture is run through a hashing algorithm and reduced to approximately thirty (30) bits so that most any other picture that was a small modification of the original gets mapped to the same string (with maybe a couple of bits different). This is useful in watermarking since this string, then, could be used as part of x 1, .. ., x n when one uses H(x-1 ... x n~Do not copy) as an offset watermark.
When this approach is followed, the watermark used for different pictures is different (which makes it harder for the adversary to remove), but it is still possible for someone who knows H to regenerate the watermark. In particular, the watermark used for different pictures is different (which makes it harder for the adversary to remove) but it is still possible for someone who knows H to regenerate the watermark for a correlation test (without access to a database), since even if the adversary changes the picture a little, he cannot change the string x_1, ..., x n very much; so, it is possible to later regenerate the original x I, ..., x n by computing the derived values from the picture and trying all possibilities that are within a few bits.
Such a mapping function is also useful in Web search engines. For example, assume one wants to search for copies of a document/picture on the Web even if such copies are changed a little bit. One could use the present invention and compute the string for every candidate picture on the Web and see which ones were close to the string for the original. From this information, one could check the candidates that match by eye, thereby cutting the search space by a huge factor.
There may also be applications in the domain of organizing pictorial data into similarity classes, which could be done according to the digital string produced by the following algorithm.
Implementation With reference now to the flowchart of Figure 1, the inventive mapping scheme has a number of steps.
Step 1: generate m x n N(0,1 ) random variables Z_( I,1 ), ..., Z (m,n). Store these values in an m x n matrix Z*. These values will be used for all documents and will be kept secret.
This may be done in an off line process.
Step 2: convert the document into a digital string y I, ..., y n using any standard method.
If possible, normalize the y_i values so that over the universe of all documents, y i can be thought of as a N(0,1 ) random variable. (The latter step is not required, but it makes the process work better.) Treat the n values as a vector y*.
Step 3: compute the matrix-vector product v* = Z*xy*. Let v I, ..., v m denote the values of v*. Note that each v i can be thought of as a normal random variable, no matter what the y values are. For example, the mean of each v i is M = (y 1 + ... + y m)/m.
Step 4: compute two thresholds t' and t" as follows. Select t' so that the probability that y I x a 1 + ... + y m x a m <t' is close to about 1 /4 when each a i is an independent N(0,1 ) random variable. Select t" so that the probability that y 1 x a 1 + ... + y m x a m > t" is close to about 1/4. There are many possible variations of this step, e.g., one with just one threshold at the value t =M, or by adjusting the two threshold values.
Step 5: For each of i, if v i <t' or if v i >t", then set b i = 0. Otherwise, set b i = 1.
(Note that each b i will be equally likely to be 0 or l.) The values b_1, ..., b m form the desired bit string for the document.
SUBSZ1TIJTE SHEET (RULE 26) The mapping function reduces the content (to be protected) from a large number of bytes to a string having a small number of bits. Changing just a few values of y* (or all of the values of y* by a little bit), however, does not have a meaningful effect on the values of b* that are computed. For example, in order to change the value of brj, the adversary must change enough of the y_i's by enough so that the corresponding vrj is pushed across a threshold.
Without knowing the Z* values, this is hard for the adversary to do if he is restricted to making small changes in the y_i's (since most of the vrj's are not likely to be very near a threshold in the first place). In fact, it is well supported in the art that the amount by which the adversary is required to change the y i's to effect a significant change in the b_j's is the maximum possible for any scheme.
Thus, the mapping function (when applied to copies of the document) is quite useful for copy protection purposes. Generalizing, the technique described above creates a first string from a picture (or other work) with the property that if one modifies the picture by some given degree (e.g., through intentional variation or perhaps merely through aging), a second string I S (generated by the inventive technique) and associated with the modified picture is not meaningfully distinct from the first string. The invention can be used to reduce a picture (or other work) comprising a large number of bytes into a string having a small number of bits, and thus pictures that are similar result in the same or similar strings. As a result, an owner of the content sought to be protected may apply the algorithm to copies of the work for copy protection purposes.
As described above, aspects of the present invention pertain to specific "method steps"
implementable on one or more computers. In an alternate embodiment, the invention may be implemented as a computer program product for use with a computer system.
Those skilled in the art should readily appreciate that programs defining the functions of the present invention can be delivered to a computer in many forms, which include, but are not limited to: (a) information permanently stored on non-writable storage media (e.g. read only memory devices with a computer such as ROM or optical disks readable by CD-ROM drive); (b) information alterably stored or writable storage media (e.g., floppy disks within a diskette drive or a hard disk drive); or (c) information conveyed to a computer through communication media, such as through a computer or telephone or other network. It should be understood, therefore, that such media, when carrying computer readable instructions that direct the method functions of the present invention, represent alternate embodiments of the present invention.
In addition, although the various methods described are conveniently implemented in a general purpose computer selectively activated or reconfigured by software, one of ordinary skill in the art would also recognize that such methods may be carned out in hardware, in fnmware, or in more specialized apparatus (e.g., a secure chip) constructed to perform the required method steps.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.
SUBSTITUTE SHEET (RULE 26)
generating m x n N(0,1 ) random variables Z_(1,1), ..., Z_(m,n) and storing the random variables in an m x n matrix Z*;
processing the document into a digital string y_1, ..., y_n;
normalizing the y_i values to generate a vector y*;
computing a matrix-vector product v* = Z*xy*, where v_1, ..., v_m denote the values of v*;
selecting first and second thresholds t' and t" where t' is selected so that the probability that y_1 x u_1 + ... + y_m x u_m < t' is close to about 1/4 when each u_i is an independent N(0,1) random variable, and where t" is selected so that the probability that y_1 x u_1 + ... +
y_m x a_m > t" is close to about 1/4; and determining if v_i < t' or if v_i > t" for each v_i from v_1 to v_m; and if v_i is less than t' or if v_i is greater than t", then set b_i = 0;
if v_i is not less than t' or if v_i is not greater than t", set b_i = 1;
wherein the value of i in b_i corresponds to the value of i in v_i.
Priority Applications (3)
|Application Number||Priority Date||Filing Date||Title|
|PCT/US1999/016515 WO2000004422A2 (en)||1998-07-17||1999-07-19||Method for image processing to facilitate copy protection|
|Publication Number||Publication Date|
|CA2304041A1 CA2304041A1 (en)||2000-01-27|
|CA2304041C true CA2304041C (en)||2004-06-01|
Family Applications (1)
|Application Number||Title||Priority Date||Filing Date|
|CA 2304041 Expired - Lifetime CA2304041C (en)||1998-07-17||1999-07-19||Method for image processing to facilitate copy protection|
Country Status (3)
|AU (1)||AU5318999A (en)|
|CA (1)||CA2304041C (en)|
|WO (1)||WO2000004422A2 (en)|
Families Citing this family (40)
|Publication number||Priority date||Publication date||Assignee||Title|
|US7441045B2 (en)||1999-12-13||2008-10-21||F5 Networks, Inc.||Method and system for balancing load distribution on a wide area network|
|US7146354B1 (en)||1999-06-18||2006-12-05||F5 Networks, Inc.||Method and system for network load balancing with a compound data structure|
|US6405219B2 (en)||1999-06-22||2002-06-11||F5 Networks, Inc.||Method and system for automatically updating the version of a set of files stored on content servers|
|US6374300B2 (en)||1999-07-15||2002-04-16||F5 Networks, Inc.||Method and system for storing load balancing information with an HTTP cookie|
|US7047301B2 (en)||2000-01-31||2006-05-16||F5 Networks, Inc.||Method and system for enabling persistent access to virtual servers by an LDNS server|
|US8380854B2 (en)||2000-03-21||2013-02-19||F5 Networks, Inc.||Simplified method for processing multiple connections from the same client|
|US7343413B2 (en)||2000-03-21||2008-03-11||F5 Networks, Inc.||Method and system for optimizing a network by independently scaling control segments and data flow|
|US7430755B1 (en)||2002-09-03||2008-09-30||Fs Networks, Inc.||Method and system for providing persistence in a secure network access|
|EP1884059A2 (en) *||2005-05-13||2008-02-06||Temple University of the Commonwealth System of Higher Education||Secret sharing technique with low overhead information content|
|US7975025B1 (en)||2008-07-08||2011-07-05||F5 Networks, Inc.||Smart prefetching of data over a network|
|US10157280B2 (en)||2009-09-23||2018-12-18||F5 Networks, Inc.||System and method for identifying security breach attempts of a website|
|US9313047B2 (en)||2009-11-06||2016-04-12||F5 Networks, Inc.||Handling high throughput and low latency network data packets in a traffic management device|
|US8868961B1 (en)||2009-11-06||2014-10-21||F5 Networks, Inc.||Methods for acquiring hyper transport timing and devices thereof|
|US9141625B1 (en)||2010-06-22||2015-09-22||F5 Networks, Inc.||Methods for preserving flow state during virtual machine migration and devices thereof|
|US10015286B1 (en)||2010-06-23||2018-07-03||F5 Networks, Inc.||System and method for proxying HTTP single sign on across network domains|
|US8908545B1 (en)||2010-07-08||2014-12-09||F5 Networks, Inc.||System and method for handling TCP performance in network access with driver initiated application tunnel|
|US8347100B1 (en)||2010-07-14||2013-01-01||F5 Networks, Inc.||Methods for DNSSEC proxying and deployment amelioration and systems thereof|
|US9083760B1 (en)||2010-08-09||2015-07-14||F5 Networks, Inc.||Dynamic cloning and reservation of detached idle connections|
|US8886981B1 (en)||2010-09-15||2014-11-11||F5 Networks, Inc.||Systems and methods for idle driven scheduling|
|WO2012058643A2 (en)||2010-10-29||2012-05-03||F5 Networks, Inc.||System and method for on the fly protocol conversion in obtaining policy enforcement information|
|US8959571B2 (en)||2010-10-29||2015-02-17||F5 Networks, Inc.||Automated policy builder|
|US10135831B2 (en)||2011-01-28||2018-11-20||F5 Networks, Inc.||System and method for combining an access control system with a traffic management system|
|US9246819B1 (en)||2011-06-20||2016-01-26||F5 Networks, Inc.||System and method for performing message-based load balancing|
|US9270766B2 (en)||2011-12-30||2016-02-23||F5 Networks, Inc.||Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof|
|US10230566B1 (en)||2012-02-17||2019-03-12||F5 Networks, Inc.||Methods for dynamically constructing a service principal name and devices thereof|
|US9172753B1 (en)||2012-02-20||2015-10-27||F5 Networks, Inc.||Methods for optimizing HTTP header based authentication and devices thereof|
|US9231879B1 (en)||2012-02-20||2016-01-05||F5 Networks, Inc.||Methods for policy-based network traffic queue management and devices thereof|
|WO2013163648A2 (en)||2012-04-27||2013-10-31||F5 Networks, Inc.||Methods for optimizing service of content requests and devices thereof|
|US9154423B1 (en)||2012-05-01||2015-10-06||F5 Networks, Inc.||Minimize SYN-flood issues with flow cache while maintaining performance|
|US9338095B2 (en)||2012-05-01||2016-05-10||F5 Networks, Inc.||Data flow segment optimized for hot flows|
|US9525632B1 (en)||2012-05-01||2016-12-20||F5 Networks, Inc.||Minimize recycle SYN issues for split TCP hot flows to improve system reliability and performance|
|US9203771B1 (en)||2012-07-23||2015-12-01||F5 Networks, Inc.||Hot service flow hardware offloads based on service priority and resource usage|
|US10375155B1 (en)||2013-02-19||2019-08-06||F5 Networks, Inc.||System and method for achieving hardware acceleration for asymmetric flow connections|
|US10187317B1 (en)||2013-11-15||2019-01-22||F5 Networks, Inc.||Methods for traffic rate control and devices thereof|
|US10015143B1 (en)||2014-06-05||2018-07-03||F5 Networks, Inc.||Methods for securing one or more license entitlement grants and devices thereof|
|US10122630B1 (en)||2014-08-15||2018-11-06||F5 Networks, Inc.||Methods for network traffic presteering and devices thereof|
|US10182013B1 (en)||2014-12-01||2019-01-15||F5 Networks, Inc.||Methods for managing progressive image delivery and devices thereof|
|US10505818B1 (en)||2015-05-05||2019-12-10||F5 Networks. Inc.||Methods for analyzing and load balancing based on server health and devices thereof|
|US10404698B1 (en)||2016-01-15||2019-09-03||F5 Networks, Inc.||Methods for adaptive organization of web application access points in webtops and devices thereof|
|US10505792B1 (en)||2016-11-02||2019-12-10||F5 Networks, Inc.||Methods for facilitating network traffic analytics and devices thereof|
Family Cites Families (3)
|Publication number||Priority date||Publication date||Assignee||Title|
|JP3469650B2 (en) *||1994-09-13||2003-11-25||ソニー株式会社||Optical recording medium and a signal recording method|
|US5915027A (en) *||1996-11-05||1999-06-22||Nec Research Institute||Digital watermarking|
|US5875249A (en) *||1997-01-08||1999-02-23||International Business Machines Corporation||Invisible image watermark for image verification|
Also Published As
|Publication number||Publication date|
|US6996273B2 (en)||Robust recognizer of perceptually similar content|
|Anderson et al.||The steganographic file system|
|Singh et al.||A survey of digital watermarking techniques, applications and attacks|
|Cox et al.||A secure, robust watermark for multimedia|
|US8095795B2 (en)||Methods and apparatus for robust embedded data|
|US8131760B2 (en)||Using object identifiers with content distribution|
|Agrawal et al.||Watermarking relational data: framework, algorithms and analysis|
|Memon et al.||Protecting digital media content|
|CN100364326C (en)||Method and apparatus for embedding and detecting digital watermark in text file|
|Agrawal et al.||Watermarking relational databases|
|CA2319340C (en)||Secure distribution of digital representations|
|EP0575765B1 (en)||Secure file erasure|
|EP1256086B1 (en)||Methods and apparatus for multi-layer data hiding|
|Lin et al.||A hierarchical digital watermarking method for image tamper detection and recovery|
|Rey et al.||A survey of watermarking algorithms for image authentication|
|Barni et al.||Data hiding for fighting piracy|
|US5905800A (en)||Method and system for digital watermarking|
|US8452972B2 (en)||Methods and systems for encoding and protecting data using digital signature and watermarking techniques|
|Li et al.||Tamper detection and localization for categorical data using fragile watermarks|
|EP0459046A1 (en)||Computer software protection|
|US7639834B2 (en)||Software anti-piracy systems and methods utilizing certificates with digital content|
|US20020126872A1 (en)||Method, apparatus and programs for generating and utilizing content signatures|
|US20020154778A1 (en)||Derivation and quantization of robust non-local characteristics for blind watermarking|
|JP2008211784A (en)||Method for facilitating inserting information in video signal and method for facilitating protecting video signal|
|Guo et al.||A fragile watermarking scheme for detecting malicious modifications of database relations|