WO2003030541A2 - Procede et appareil de filigranage et d'authentification de donnees - Google Patents
Procede et appareil de filigranage et d'authentification de donnees Download PDFInfo
- Publication number
- WO2003030541A2 WO2003030541A2 PCT/US2002/031488 US0231488W WO03030541A2 WO 2003030541 A2 WO2003030541 A2 WO 2003030541A2 US 0231488 W US0231488 W US 0231488W WO 03030541 A2 WO03030541 A2 WO 03030541A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- deriving
- processor
- domain
- watermarked
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 156
- 238000013139 quantization Methods 0.000 claims description 42
- 238000012545 processing Methods 0.000 claims description 23
- 230000009466 transformation Effects 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 10
- 230000001131 transforming effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 23
- 238000007906 compression Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 11
- MINPZZUPSSVGJN-UHFFFAOYSA-N 1,1,1,4,4,4-hexachlorobutane Chemical compound ClC(Cl)(Cl)CCC(Cl)(Cl)Cl MINPZZUPSSVGJN-UHFFFAOYSA-N 0.000 description 10
- 238000009795 derivation Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0028—Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32154—Transform domain methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32154—Transform domain methods
- H04N1/3217—Transform domain methods using wavelet transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0052—Embedding of the watermark in the frequency domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0202—Image watermarking whereby the quality of watermarked images is measured; Measuring quality or performance of watermarking methods; Balancing between quality and robustness
Definitions
- Multimedia data such as digital images, video, and audio tend to be susceptible to tampering by unauthorized parties.
- an image of a scene can be altered to add objects which were not actually present in the original image and/or to remove objects which were actually present in the original image.
- altered data can be used for fraudulent or deceptive purposes, but one wishing to deny or misrepresent facts evidenced by genuine, unaltered data may be able to do so convincingly by clandestine, fraudulent manipulations of the genuine data because of the difficulty of detecting such manipulations.
- FIG. 6A illustrates a typical prior art watermarking-based system in which original content 604 — e.g., a set of image-domain data — is subjected to a spatial transform 608 to produce spatially-transformed data 630.
- the spatial transform 608 is a discrete cosine transform (DCT) or a wavelet transform.
- Information 606 to be embedded in the content 604 is also transformed using a spatial transform 610 to derive spatially-transformed data 632.
- transform 610 is typically a DCT or wavelet transform.
- a watermark embedding operation 612 uses a secret key code 602 to embed data 632 into spatially transformed data 630, thereby generating watermarked data 638.
- Various watermark embedding operations are well known to those skilled in the art.
- the watermarked data 638 are then inverse transformed (block 614) to derive a watermarked version 616 of the original content 604. For example, if the original content 604 is a set of image-domain data, the watermarked content 616 is typically also a set of image-domain data.
- the watermark is extracted and verified using the verification system illustrated in Fig. 6B.
- both the content 626 to be authenticated and a watermarked version 628 of that content 626 are spatially transformed by blocks 618 and 620, respectively, to derive spatially transformed data 634 and 636, respectively.
- a watermark extraction procedure 622 processes the spatially transformed original and watermarked data 634 and 636, respectively, to derive extracted watermark data 640.
- the extracted watermark data 640 are verified (block 624) by comparing such data to the embedding information 606 which was embedded in the original content 604 in the watermarking procedure illustrated in Fig. 6A.
- the above-described watermarking and authentication systems can fail to detect certain types of fraudulent manipulation. For example, small objects can be added or deleted without detection.
- the watermarking and authentication systems illustrated in Figs. 6A and 6B, respectively use the same secret key 602 in both the watermarking system and the authentication system. Therefore, the secret key 602 must be distributed to any party who will be authenticating data, a requirement that increases the risk that the secrecy of the key 602 will be compromised. If the key 602 is obtained by an unauthorized party, such a party can extract the watermark 640, improperly modify the content 626, re-embed the watermark, and then pass off the altered content as being genuine.
- FIGs. 7A and 7B Alternative prior art systems for deriving a multimedia signature from content and for authenticating content are illustrated in Figs. 7A and 7B, respectively.
- the illustrated systems uses the well known public key infrastructure (PKI) in which the party providing the data has a private key 708 and a corresponding public key 714. Such a private key 708 and its corresponding public key 714 together are commonly referred to as a "PKI key pair.”
- Fig. 7A illustrates a system for using the private key 708 to derive a multimedia signature 710 from the original content 604.
- characteristic feature data (a/k/a "features”) 728 are extracted by block 702 from the original content 604.
- Such feature data 728 can be, for example, a brightness histogram or an edge map of the original content 604.
- the features 728 are hashed (block 704) to derive a digest 720.
- the digest 720 is "signed" or encrypted by block 706 using the private key 708 to derive the multimedia signature 710.
- Content purportedly signed by the system illustrated in Fig. 7A is verified using the system illustrated in Fig. 7B.
- features 730 are extracted by block 702 from the content 712 which is being verified.
- the features 730 are hashed by block 704 to derive a digest 722.
- a signature 718 which is purportedly identical to the signature 710 derived in the signing system illustrated in Fig. 7 A — is decrypted by block 724 using the public key 714 to derive decrypted data 726. If the content 712 and signature 718 are genuine, the decrypted data 726 should match the digest 722 derived from the features 730 extracted from the content 712.
- the digest 722 and the decrypted data 726 are therefore compared by block 716 to derive a verification result 732 which indicates successful or unsuccessful verification.
- the signature extraction and verification systems illustrated in Figs. 7A and 7B can also fail to detect certain types of fraudulent manipulation. For example, it is relatively easy for an unauthorized person to fraudulently add or delete objects in an image without changing features such as the histogram or edge map of the image. The systems illustrated in Figs. 7A and 7B would therefore be unable to detect such fraudulent manipulation because the systems rely upon extraction of such features.
- the systems illustrated in Figs. 7 A and 7B have the disadvantage of requiring a substantial amount of additional storage space for the signature 710 and 718.
- Fig. 8A illustrates a watermarking system in which features 806 — e.g., histogram or edge map data — are extracted by block 804 from the original content 802.
- the features 806 are optionally randomized by block 808 to derive randomized feature data 810 which are used as a seed input 814 of a conventional quasi-random code generator 812.
- Such quasi-random code generators are well-known in the art and, therefore, need not be further described.
- the quasi-random code generator 812 illustrated in Fig. 8 A uses the randomized feature data 810 and a secret key 816 to generate watermark data 818.
- An embedding operation carried out by block 820 uses the secret key 816 to embed the watermark data 818 into the original content 802, thereby deriving watermarked content 822.
- content 824 purportedly derived by the system illustrated in Fig. 8 A is authenticated by the system illustrated in Fig. 8B.
- watermark data 828 are extracted by block 826 from the watermarked content 824 using the same secret key 816 as was used in the watermarking system illustrated in Fig. 8 A. If a randomization step 808 was used in the original watermarking procedure, the watermark data 828 is decoded/unrandomized by block 830 in the authentication system to derive unrandomized data 832.
- An inverse watermark generator 834 uses the secret key 816 to recover a seed 836 corresponding to the unrandomized data 832.
- the inverse watermark generator 834 treats the unrandomized data 832 as a watermark, and determines the seed 836 which would have been used to generate the watermark 832.
- Features 844 are extracted by block 838 from the watermarked content 824 and compared to the recovered seed data 836 using a correlation procedure carried out by block 840.
- the correlation procedure carried out by block 840 produces an authentication result 842 having a value which can range from zero to one.
- the result 842 indicates how much confidence should be placed in the authenticity of the watermarked content 824; a value of one indicates perfect confidence, and a value of zero indicates no confidence.
- Figs. 8A and 8B are incompatible with PKI, and therefore require the same secret key 816 to be used in both the watermarking system and the authentication system.
- the secret key 816 must be distributed to any party who will be authenticating data, and this requirement increases the risk that the secrecy of the key 816 will be compromised.
- one or more feature codes are derived from a first set of data that is to be watermarked.
- One or more parity checks bits are derived from the feature codes and are included in one or more codewords.
- the codewords are processed by a hash operation to derive a hash result.
- a key code is used to sign the hash result to derive a signature.
- the signature is used to watermark the first set of data either by embedding the signature in the first set of data or data derived therefrom, or by storing the signature in the header of the first set of data or data derived therefrom.
- a bit plane fractionalized data set can be authenticated by deriving feature codes from respective bit plane subb locks of the data set and then comparing the feature codes to corresponding message codes derived from watermark codes that have been extracted from the aforementioned bit plane subblocks.
- the bit plane subblocks used to derive the feature codes are defined by respective truncation points.
- the data set has a first data set size and the bit plane subblocks have a second data set size. The ratio of the first and second data set sizes is computed and used to indicate an authentication strength associated with the authentication result.
- Fig. 1 is a functional block diagram illustrating an exemplary system and procedure for transforming and encoding data in accordance with the present invention
- Fig. 2A is a functional block diagram illustrating an exemplary system and procedure for watermarking data in accordance with the present invention
- Fig. 2B is a functional block diagram illustrating an additional exemplary system and procedure for watermarking data in accordance with the present invention
- Fig. 3 is a functional block diagram illustrating an exemplary system and procedure for authenticating data in accordance with the present invention
- Fig. 4 is a diagram illustrating an exemplary pattern for sequencing data in accordance with the present invention.
- Fig. 5 is a functional block diagram illustrating an exemplary system and procedure for decoding and transforming data in accordance with the present invention
- Fig. 6A is a functional block diagram illustrating an exemplary prior art system and procedure for watermarking data
- Fig. 6B is a functional block diagram illustrating an exemplary prior art system and procedure for verifying data
- Fig. 7A is a functional block diagram illustrating an exemplary prior art system and procedure for signing data
- Fig. 7B is functional block diagram illustrating an exemplary prior art system and procedure for verifying data
- Fig. 8A is a functional block diagram illustrating an exemplary prior art system and procedure for watermarking data
- Fig. 8B is a functional block diagram illustrating an exemplary prior art system and procedure for authenticating data
- Fig. 9 is a diagram illustrating an exemplary computer system for implementing the systems and performing the procedures illustrated in Figs. 1-5, 6A, 6B, 7A, 7B, 8A, 8B, 11, 13, 15, and 16;
- Fig. 10 is a block diagram illustrating an exemplary processing section for use in the computer system illustrated in Fig. 9;
- Fig. 11 is a diagram illustrating the processing of data by an exemplary bit plane fractionalization procedure in accordance with the present invention;
- Fig. 12A is a diagram illustrating bit plane fractionalized data in accordance with the present invention.
- Fig. 12B is a diagram illustrating exemplary wavelet coefficients divided into subbands and codeb locks in accordance with the present invention
- Fig. 12C is a diagram illustrating an exemplary codeblock of bit plane fractionalized data divided into bit plane fractionalized subblocks in accordance with the present invention.
- Fig. 13 is a functional block diagram illustrating an exemplary system and procedure for watermarking data in accordance with the present invention
- Fig. 14 is a graph illustrating an exemplary relationship between distortion and authentication bit rate for a watermarking system and procedure and an authentication system and procedure in accordance with the present invention
- Fig. 15 is a table illustrating an exemplary scheme for encoding data in accordance with the present invention.
- Fig. 16 is a functional block diagram illustrating a system and procedure for deriving a feature code in accordance with the present invention.
- Exemplary watermarking and authentication systems in accordance with the present invention employ two stages of watermarking.
- a set of quasi-random watermarks is generated based upon feature codes derived from various subsets of the data being watermarked.
- feature code is used herein to refer to a set of data that provides information regarding one or more portions of an image.
- a feature code can be a data set representing an edge map of an image, a data set representing a brightness histogram of an image, or a sequence of bits from a rectangular region of a single bit plane of encoded, transform-domain image data.
- each feature code is preferably an ordered sequence of bits from a square region of a single bit plane of a set of bit plane fractionalized wavelet transform coefficients, as is discussed in further detail below.
- Each watermark is embedded either in the data subset from which the watermark was derived or in a different data subset.
- the embedded, quasi-random watermarks are used for determining which subsets of the watermarked data, if any, have been improperly manipulated.
- an encrypted watermark is derived from the set of feature codes as a whole, rather than on a subset-by-subset basis.
- the encryption is performed using a private key which is kept secret.
- the second stage watermark is used for determining whether or not fraudulent manipulations have been performed upon any of the watermarked data, but typically is not used for identifying which specific portion(s) or subset(s) of the data has/have been manipulated.
- Data to be watermarked in accordance with the present invention is first processed by the spatial transformation and encoding system and procedure illustrated in Fig. 1.
- the block diagram illustrates the processing of image data, but the watermarking and authentication methods of the present invention can be applied to a variety of different types of data including, but not limited to, image data, video data, audio data, and/or other multimedia data.
- the procedure illustrated in Fig. 1 starts with image-domain data 102 which are subjected to a spatial domain transform by block 104 — in this example, a wavelet transform — to derive transform-domain data 106 — in this example, wavelet transform coefficients.
- the transform-domain data 106 are quantized (block 108) to derive quantized transform-domain data 110 — e.g., quantized wavelet transform coefficients.
- the quantized transform- domain data 110 are preferably encoded by a bit plane fractionalization procedure 112.
- bit plane fractionalization procedure 112 is a well known encoding procedure commonly referred to as Embedded Block Coding with Optimized Truncation (EBCOT).
- EBCOT is, in fact, the compression engine used in the well known JPEG2000 image encoding standard, which is described in Information Technology— JPEG2000 Image Coding System, ISO/IEC International Standard 15444-1 (Dec. 2000).
- JPEG2000 image encoding standard which is described in Information Technology— JPEG2000 Image Coding System, ISO/IEC International Standard 15444-1 (Dec. 2000).
- the EBCOT encoding by block 112 produces a set of EBCOT codes 118.
- EBCOT codes provide for convenient compression of multimedia content such as image, video, and/or audio data for transmission and storage. Data which are close to the original data can be recovered from the EBCOT codes using the system and procedure illustrated in Fig. 5.
- EBCOT codes 502 which, in this case, were originally derived from an image — are decoded using a conventional, inverse EBCOT (i.e., EBCOT decoding) procedure carried out by block 504 to derive a set of quantized wavelet transform coefficients 506.
- the quantized wavelet transform coefficients 506 can be processed using an inverse wavelet transform performed by block 508 to recover image-domain data which is close to the original image-domain data 510.
- EBCOT encoding For each transform-domain datum (e.g., wavelet coefficient 1106, illustrated in Fig. 11 as represented by three bits), EBCOT encoding derives a code 1110 whose value depends upon the value of that particular datum 1106 and the values of the surrounding data 1108 (illustrated in Fig. 11 as represented by three bits each).
- the derivation of a bit plane fractionalized datum 1110 from a wavelet coefficient 1106 and its neighbors 1108 is well known in the art, and is, in fact, part of the aforementioned JPEG2000 encoding standard.
- the derived code 1110 is represented by more bits (12 bits in the example illustrated in Fig.
- a block 1112 of wavelet coefficients having a particular number of bit planes 1102 (3 bit planes in the example illustrated in Fig. 11) is converted into a block 1114 of data having a larger number of bit planes 1104 (12 bit planes in the example illustrated in Fig. 11).
- the availability of a larger number of bit planes is beneficial for data compression and authentication, because it allows more closely spaced choices of how much compression is to be used in encoding a data set (in the case of data compression) and/or how much data is to be used for watermarking and authentication.
- R-D rate-distortion
- Fig. 14 For example, consider the rate-distortion (R-D) function illustrated in Fig. 14.
- bit rate i.e., the ratio of the amount of data retained in the compressed data set to the amount of data in the original, uncompressed data set.
- bit rate the ratio of the amount of data retained in the compressed data set to the amount of data in the original, uncompressed data set.
- Fig. 12B illustrates an example of an array of wavelet transform coefficients derived from an image to be watermarked in accordance with the present invention.
- Such wavelet data may be divided into subbands — e.g., HH1, HL1, LH1, HH2, HL2, LH2, HH3, HL3, LH3, and LL3 — representing various spatial frequency components of the image.
- the higher frequency subbands HH1, HL1, and LH1 are preferably each divided into four or more codeblocks.
- subband HH1 is divided into four codeblocks HH1 1 , HH1 2 , HH1 3 , and HH1 4 ; subband HL1 is divided into four codeblocks HLl], HL1 2 , HL1 3 , and HL1 4 ; and subband LH1 is divided into four codeblocks LHli, LH1 2 , LH1 3 , and LH1 4 .
- each of the subbands HH1, HLl, and LH1 is a square array of 256 x 256 coefficients, and is divided into square codeblocks of 64 x 64 coefficients
- each of the subbands HH1, HLl, and LH1 will consist of four codeblocks if the codeblocks do not overlap.
- each of the subbands is a square that is larger than 256 x 256 coefficients, and is divided into square codeblocks of 64 x 64 coefficients, then each of subbands HH1, HLl, and LH1 will include more than four codeblocks.
- each codeblock is encoded using the EBCOT coding, to derive a corresponding EBCOT encoded codeblock of bit plane fractionalized data.
- codeblocks HHl i, HH1 2 , HH1 3 , HH1 4 ,HL1,, HL1 2 , HL1 3 , HLl ⁇ LHl], LH1 2 , LHI 3 , and LH1 4 are EBCOT encoded to derive the bit plane fractionalized subblocks 1202 illustrated in Fig. 12A.
- Each bit plane fractionalized codeblock 1202 is preferably a 64 x 64 square array of 4096 encoded data words.
- subbands HH2, HL2, LH2, HH3, HL3, LH3, and LL3 can also be encoded to derive corresponding encoded codeblocks 1204 illustrated in Fig. 12 A.
- each subblock 1206 is a 16 x 16 square array of 256 encoded data words 1208.
- Each encoded data word 1208 is bit plane fractionalized and therefore has a larger number of bits than any one of the wavelet transform coefficients from which it was derived.
- wavelet transform coefficients can be watermarked using the system and procedure illustrated in Fig. 2 A.
- EBCOT codes 118 are derived from a set of quantized wavelet transform coefficients 110 (block 112), as is discussed above with reference to Figs. 1, 12A, 12B, and 12C.
- Selected bit planes of selected subblocks of the EBCOT codes 118 are used to derive feature codes 204 by block 202.
- bit plane subblock BPSB is used to derive feature code F
- bit plane subblock BPSB 2 is used to derive feature code F 2 , etc.
- the derivation of a feature code can be further understood with reference to Fig.
- FIG. 4 which illustrates an exemplary 16 x 16 subblock 402 of the bits 404 in a single bit plane of a set of EBCOT codes.
- the illustrated bits 404 are numbered 1-256 and arranged in a left-to- right, row-by-row order.
- a feature code can be derived by forming a sequence of some or all of the bits 404 in the illustrated order or in any other convenient order.
- a feature code can be formed by a system and procedure 202 such as is illustrated in Fig. 16. In the illustrated system and procedure, a set 1602 of the first 239 bits of a bit plane subblock 402 (shown in Fig. 4) is formed.
- a set 1604 of the remaining 17 bits is combined with a set 1606 of 222 bits by padding the 17-bit data set 1604 on the right with the 222-bit data set 1606 to form a 239-bit data set 1610 (carried out in block 1608).
- the bit string 1602 of the first 239 bits of the bit plane subblock 402 and the newly formed bit string 1610 — which also has 239 bits — are processed by an Exclusive OR function by block 1612 to form a 239-bit feature code 1306.
- Fig. 2A typically not all of the available bit planes are used for deriving the feature codes 204. Rather, the percentage of bits to be used for deriving feature codes is equal to an authentication bit rate 242 which can be selected by the user. For example, referring to Figs.
- the selected bit rate 242 is 0.5 (i.e., 50%)
- the feature codes are to be extracted from the bit plane fractionalized EBCOT codeblocks 1202 and 1204 derived respectively from (a) all of the wavelet transform codeblocks HHl i, HH1 2 , HH1 3 , HH1 4 , HL1 1 ⁇ HL1 2 , HL1 3 , HL1 4 , LH1 ,, LH1 2 , LH1 3 , and LH1 4 , and (b) all of subbands HH2, HL2, LH2, HH3, HL3, LH3, and LL3.
- the feature codes 204 are derived only from 50% of the bits of the entire set of EBCOT codeblocks 1202 and 1204. Each extracted feature code is derived — preferably using the procedure described above with respect to Fig. 16 — from an ordered sequence of bits from a particular bit plane of a particular subblock 1206 of a particular EBCOT-encoded codeblock 1202 or 1204, but not every bit plane of the subblock 1206 is used to generate a feature code.
- the feature code derivation procedure 202 uses only the most significant bit planes of each subblock 1206, up to a truncation point 1210 which can differ among the different subblocks 1206.
- the truncation point 1210 for each subblock 1206 is the same as the analogous truncation point used for 50% data compression in the well known EBCOT compression algorithm of the JPEG2000 standard.
- the selected bit rate is 0.125 (i.e., 12.5%)
- the feature codes 204 are derived only from 12.5% of the bits of the entire set of EBCOT code blocks 1202 and 1204.
- the bit planes used to generate feature codes are determined by the respective truncation points of the subblocks in the same manner that the JPEG2000 compression algorithm selects truncation points for a 12.5% bit rate.
- the selected bit rate 242 can be used as an indicator of the maximum possible authentication strength with which one can later authenticate the watermarked data produced by the watermarking system and procedure.
- the feature codes 204 preferably are not used directly to form watermarks, but are first encoded using an error correction coding (ECC) procedure performed by encoder block 206 which derives parity check bits (PCBs) 208 based on the feature codes 204.
- ECC error correction coding
- PCBs parity check bits
- feature code Fi is used to derive a group PCBj of parity check bits
- feature code F 2 is used to derive another group PCB 2 of parity check bits, etc.
- PCBs enhances the stability of the watermarking and authentication procedures by enabling correction of errors which may be caused by certain legitimate transformations such as requantization, wavelet transform filtration, color filtration and/or transformation, etc.
- LUT 1502 for an exemplary Hamming (7, 4) coding scheme suitable for deriving 3-bit sets of PCBs from 4-bit input codes received by an encoder.
- the input codes received by such an encoder regardless of their source, are commonly referred to as "message codes.”
- the message codes received by encoder block 206 are the respective feature codes 204 derived from EBCOT codes 118.
- any 4-bit message code e.g., a 4-bit feature code
- a particular set of PCBs 1506 is associated with each message code 1504.
- Each message code 1504 and its associated PCBs 1506 can be concatenated to form a codeword 1508, as is discussed below with respect to the derivation of second stage watermarks.
- the LUT 1502 illustrated in Fig. 15 is configured to encode 4-bit messages, there is no particular limit to the length of messages which can be ECC encoded.
- an LUT 1502 based on the well known BCH (255,239,2) encoding scheme can be used to process 239-bit message codes.
- Such encoding schemes are well known in the art, as is evidenced by W. Wesley Peterson and E.J. Weldon, Jr., Error-Correcting Codes (2d. ed. 1981).
- the set of PCBs derived from each feature code is used as a seed input 210 of a quasi-random code generation block 212 which generates a watermark code from each set of PCBs.
- PCB group PCBi is used to derive watermark Wi
- PCB group PCB 2 is used to derive watermark W 2 ; etc.
- the quasi-random watermark generation carried out by block 212 can be any conventional quasi-random code generation procedure.
- the quasi-random code generation procedure 212 can, for example, be an additional stage of ECC encoding.
- each of the feature codes 204 is 239 bits in length, and the first ECC procedure 206 uses the well known BCH (255, 239, 2) encoding scheme (see id.), then each of the resulting sets of PCBs 208 will be 16 bits in length. If so, and if the quasi-random code generation procedure 212 uses the well known BCH (31, 16, 3) encoding scheme (see id.), then each of the resulting watermarks 214 will be a 31 -bit codeword comprising a 16-bit message code (i.e., the 16 PCBs received from the first ECC procedure 206) plus 15 PCBs derived by the watermark generation procedure according to the BCH (31, 16, 3) scheme.
- first stage watermark embedding block 216 which embeds each of the watermarks 214 into selected bit positions of a selected, non-fractionalized bit plane of a selected subblock of the quantized wavelet transform coefficients 110 (shown in Fig. 1), thereby deriving a set of first stage watermarked wavelet transform coefficient bits 244.
- the selected, non-fractionalized subblock into which the watermark is to be embedded can, optionally, be either (a) the non-fractionalized subblock corresponding to the fractionalized subblock from which the watermark was derived, or (b) a different non-fractionalized subblock.
- the first stage watermark embedding block 216 also provides non- watermarked wavelet transform coefficient bits 220.
- the non-fractionalized bit plane into which the watermark is to be embedded is selected as follows. As is discussed above, for a given bit rate, the compression algorithm of the JPEG2000 standard assigns a particular truncation point to each subblock of data. For the bit plane in which the watermark will be embedded, the first stage watermark embedding by block 216 illustrated in Fig. 2A preferably selects the closest non-fractionalized bit plane that is more significant than the JPEG2000 truncation point corresponding to the selected bit rate 242. If the truncation point exactly coincides with a particular non-fractionalized bit plane, then the watermark is embedded in either that bit plane or the next more significant bit plane.
- the respective bits of the watermark are embedded by replacing existing bits of the selected bit plane in a random or quasi-random pattern based on any suitable random or quasi-random code.
- the wavelet transform coefficient bits 220 that are not selected for first stage watermarking are used for second stage watermarking, as is discussed in further detail below.
- the watermark embedding procedure 216 can be further understood with reference to Fig. 13. As is illustrated in this block diagram, a message 1306 is derived from the bits of a particular bit plane subblock 1312 of EBCOT codes corresponding to a single subblock of a wavelet transform coefficient codeblock by block 1302. As is discussed above with respect to Figs.
- the message 1306 can be formed by arranging selected bits of the bit plane subblock 1312 in any convenient order, or by deriving the message 1306 according to the procedure illustrated in Fig. 16. In either case, the message 1306 is processed by an ECC function (block 206 in Fig. 2A) — based on, for example, an LUT 1502 such as is illustrated in Fig. 15 — to derive the PCBs (1308 in Fig. 13) corresponding to the message 1306. For example, if 16 x 16 subblocks are used, and BCH (255, 239, 2) encoding is applied to a 239-bit message 1306 derived from a subblock 1312 of a fractionalized bit plane using the procedure illustrated in Fig. 16, 16 PCBs are derived from the message 1306. Similarly, if BCH (31, 16, 3) encoding is applied to a 16-bit message 1306, 15 PCBs are derived from the message 1306.
- each set of PCBs is received by a seed input 210 in the quasi-random watermark generation block 212 illustrated in Fig. 2 A.
- the watermark derived from each set of PCBs is embedded by block 1310 into a non-fractionalized wavelet transform coefficient subblock 1320 that corresponds to — i.e., has been fractionalized to derive — a fractionalized bit plane subblock 1314 other than the fractionalized bit plane subblock 1312 from which the PCBs 1308 were derived.
- the embedding by block 1310 can, for example, be performed by replacing some or all of the bits of subblock 1320 with the bits of the derived watermark.
- the PCBs derived from subblock 1316 are embedded into a different non-fractionalized subblock 1322 which corresponds, e.g., to fractionalized subblock 1318 — i.e., subblock 1318 has been derived by fractionalization of subblock 1322.
- bit plane from which each watermark is derived is preferably immediately above (i.e., more significant than) the JPEG2000 truncation point for the subblock from which the watermark is derived, whereas the bit plane in which the watermark is embedded is preferably at the JPEG2000 truncation point for the subblock in which the watermark is embedded.
- Fig. 13 illustrates the embedding of a watermark into a non-fractionalized subblock not used to derive the fractionalized subblock from which the watermark was derived
- a watermark can also be embedded into the non-fractionalized subblock used to derive the fractionalized subblock from which the watermark was derived — in this case, the watermark is preferably embedded in a bit plane which is more significant than the bit plane from which the watermark was derived.
- the number of bit planes from which features are extracted is determined by the selected authentication bit rate 242 (shown in Fig. 2).
- each of the feature codes 204 is concatenated with its corresponding PCBs (which are within the set of PCBs 208 derived by the ECC encoding in block 206) to derive a codeword by block 222.
- feature code Fi is concatenated with PCB group PCB] to form codeword Fi + PCBi
- feature code F 2 is concatenated with PCB group PCB 2 to form codeword F 2 + PCB 2 ; etc.
- the entire set of codewords 224 is hashed by block 226 to derive a digest 228.
- the codewords 224 can be arranged in any convenient order, provided that the same order is later used in the hash procedure performed by block 322 of the authentication procedure — discussed below with reference to Fig. 3.
- the same hash algorithm should be used in both the watermarking and authentication procedures.
- suitable hash algorithms include the "MD5" algorithm (which produces a 128-bit digest) and the "SHA-1" algorithm (which produces a 160-bit digest).
- MD5 algorithm which produces a 128-bit digest
- SHA-1 which produces a 160-bit digest
- the digest 228 is "signed" by block 230 using a private key 232 which is preferably kept secret from all other parties, including the eventual recipients of the watermarked data.
- An example of a suitable signing procedure is the Elliptical Curve Coding procedure, which is well known to those skilled in the art, as is evidenced by William Stallings, Cryptography and Network Security, Principles and Practice (2d. ed. 1995).
- the result of the signing by block 230 is a global signature 234, which is ECC-encoded by block 246 to derive an ECC-encoded watermark 248.
- the ECC-encoded watermark 248 is typically 320 bits long.
- a second stage watermark embedding block 238 receives the watermark 248 through a watermark input 236 and embeds the watermark 248 in the non- watermarked wavelet transform coefficient bits 220 to derive second stage watermarked wavelet transform coefficient bits 240.
- the ECC-encoded watermark 248 is embedded in the non- watermarked wavelet transform coefficient bits 220 based on a random pattern, typically in the same bit plane as that used to embed the first stage watermarks 214 in the first stage watermarked wavelet transform coefficient bits 244.
- the embedding procedure 238 embeds the second stage watermark 248 into the non-watermarked wavelet transform coefficient bits 220 by replacing selected bits of the non- watermarked wavelet coefficient bits 220 with respective bits of the ECC-encoded watermark 248.
- alteration of certain wavelet transform coefficients tend to generate undesirable, easily visible artifacts.
- These particular coefficients are preferably "protected” from alteration according to human vision system (HVS) modeling techniques, and are considered “off-limits" to the watermark embedding by block 238.
- HVS modeling techniques are well known to those skilled in the art, as is evidenced by Anil K. Jain, Fundamentals of Digital Image Processing (1989).
- the second stage watermarked embedding by block 238 preferably does not embed any bits of the second stage watermark 248 in wavelet transform coefficients that are determined to be "protected” according to the HVS model.
- the watermarked wavelet transform coefficients 250 which includes the first stage watermarked wavelet transform coefficient bits 244 and the second stage watermarked wavelet transform coefficient bits 240 — are EBCOT encoded by block 252 to derive a set of EBCOT codes 254 that have now been first stage watermarked and second stage watermarked.
- the first and second stage watermarked EBCOT codes 254 are thus protected from fraudulent manipulations because such manipulations can be detected by the authentication procedure illustrated in Fig. 3, as is discussed below.
- Fig. 2B illustrates a variation of the watermarking system and procedure illustrated in Fig. 2A.
- the two procedures are identical up to the step of using the ECC codewords 248 as a watermark.
- the ECC-encoded watermark 248 is received by the watermark input 236 of a second stage watermark storage block 258, and is stored in the header of the set of watermarked and non-watermarked wavelet transform coefficients 256, set 256 including the first stage watermarked wavelet transform coefficient bits 244 and the non-watermarked wavelet transform coefficient bits 220.
- the resulting first and second stage watermarked wavelet transform coefficients 240 are EBCOT encoded by block 252 to derive a set of first and second stage watermarked EBCOT codes 254. Similar to the first and second stage watermarked EBCOT codes 254 derived by the system and procedure of Fig. 2 A, the first and second stage watermarked EBCOT codes 254 derived by the system and procedure of Fig. 2B are protected from unauthorized manipulations because such manipulations can be detected by the authentication system and procedure illustrated in Fig. 3. The authentication system and procedure illustrated in Fig.
- the EBCOT codes 302 in Fig. 3 receives watermarked EBCOT codes 302 which purportedly — i.e., if no fraudulent manipulation has occurred — are equal to or derived from first and second stage watermarked EBCOT codes 254 generated by one of the watermarking systems and procedures illustrated in Figs. 2A and 2B.
- the EBCOT codes 302 in Fig. 3 include the following bit plane subblocks: bit plane subblock BPSBi' which is purportedly equal to or derived from bit plane subblock BPSBi; bit plane subblock BPSB 2 ' which is purportedly equal to or derived from bit plane subblock BPSB 2 ; and other bit plane subblocks.
- bit plane subblock BPSBi' which is purportedly equal to or derived from bit plane subblock BPSBi
- bit plane subblock BPSB 2 ' which is purportedly equal to or derived from bit plane subblock BPSB 2
- other bit plane subblocks In the authentication procedure illustrated in Fig.
- feature codes 306 are newly derived by block 304 from the watermarked EBCOT codes 302 in the same manner as is discussed above with respect to Figs. 2 A, 2B, 4, 12C, and 13.
- newly derived feature code Fi' (derived from bit plane subblock BPSBi') illustrated in Fig. 3 is purportedly equal to feature code Fi illustrated in Figs. 2A and 2B; and newly derived feature code F 2 ' (derived from bit plane subblock BPSB 2 ') illustrated in Fig. 3 is purportedly equal to feature code F 2 illustrated in Figs. 2 A and 2B.
- the feature codes 306 are preferably not derived from all of the fractionalized bit planes of the watermarked EBCOT codes 302, but only from bit planes more significant than respective subblock truncation points.
- the authentication system and procedure illustrated in Fig. 3 defines its respective truncation points based on a selected authentication bit rate 342.
- the respective truncation points are defined in the same manner that the JPEG2000 compression standard defines truncation points based on a selected compression bit rate.
- bit rate 342 used in the authentication procedure of Fig. 3 can be any rate less than or equal to the selected bit rate 242 used to watermark the data 110 in the watermarking procedures illustrated in Figs. 2A and 2B.
- the authentication bit rate 342 which is the ratio of the number of untruncated bits used to derive the feature codes 306 to the total number of bits in the set of EBCOT codes 302, can be used to indicate the authentication strength of the illustrated authentication procedure.
- the watermarked EBCOT codes 302 are decoded by an inverse EBCOT operation carried out by block 354 to derive a set of wavelet transform coefficients 356.
- a set of first stage embedded watermarks 310 is extracted by block 308 from the wavelet transform coefficients 356 using the same bit rate 342 as is used to derive the feature codes 306. As is discussed above with respect to the watermarking systems and procedures illustrated in Figs.
- first stage watermarks 214 are typically embedded in the quantized wavelet transform coefficients 110 (shown in Figs. 1 , 2 A, and 2B) by replacing selected bits of selected, non-fractionalized bit planes of selected subblocks of the coefficients 110 with respective bits of the first stage watermark 214 (shown in Figs. 2 A and 2B). Therefore, first stage embedded watermarks 310 can be extracted by collecting the same replacement bits and arranging the bits in their original order to form the watermarks 310. If the watermarked EBCOT codes 302 are authentic and have not been improperly altered, the first stage watermarks 310 extracted from the wavelet transform coefficients 356 should be identical to the first stage watermarks 214 (shown in Figs.
- each of the extracted watermarks 310 is associated with a particular one of the newly derived feature codes 306, because if no fraudulent manipulations have occurred, each of the extracted watermarks 310 is derived from and equal to a watermark — i.e., one of the watermarks 214 in the watermarking system and procedure illustrated in Fig. 2 A or Fig. 2B — that was originally derived from a feature code (one of the feature codes 204 in Figs.
- watermark Wi' is associated with feature code Fi' because watermark Wi' (in Fig. 3) was purportedly derived from watermark Wj (in Figs. 2A and 2B) which was derived from feature code Fi (in Figs. 2A and 2B) which should be equal to feature code Fi', as is discussed above.
- watermark W 2 ' is associated with feature code F ' because watermark W 2 ' (in Fig. 3) was purportedly derived from watermark W 2 (in Figs. 2A and 2B) which was derived from feature code F 2 (in Figs. 2A and 2B) which should be equal to feature code F 2 ', as is discussed above.
- each of the extracted first stage watermarks 310 (in Fig. 3) should be identical to a corresponding one of the embedded first stage watermarks 214 (in Figs. 2A and 2B), it should be possible, by reversing the first stage watermark generation process, to recover an ECC message code that either (a) equals the original feature code used to derive the embedded first stage watermark, or (b) has corresponding PCBs that are identical to the PCBs corresponding to the original feature code.
- the recovered code will be referred to herein as simply a "message code.”
- the recovered message code can then be compared to the newly derived feature code that is associated with the extracted watermark, to determine whether there is a successful match. A match between the recovered message code and the corresponding newly derived feature code is considered to be successful if the recovered message code and the newly derived feature code have the same corresponding PCBs in the chosen ECC encoding scheme.
- the first stage watermark generation process is reversed as follows.
- Each of the extracted watermarks 310 is processed by an inverse quasi-random code generation procedure carried out by block 338 having a seed output 346, to derive PCBs 340.
- the newly derived PCBs 340 should be identical to the PCBs 208 (shown in Figs. 2 A and 2B) that were used to generate the watermarks 214 in the quasi-random watermark generation block 212 of the watermarking system and procedure of Figs. 2A and 2B.
- PCB group PCBi' in Fig.
- PCB group PCBi which was derived from bit plane subblock BPSBi (in Figs. 2A and 2B); and PCB group PCB 2 ' (in Fig. 3) should be identical to PCB group PCB 2 which was derived from bit plane subblock BPSB 2 (in Figs. 2A and 2B).
- Each group of PCBs within the resulting set of PCBs 340 is then decoded by an e ⁇ or correction decoding (i.e., inverse ECC) procedure 348 to generate a message code.
- e ⁇ or correction decoding i.e., inverse ECC
- Each message code in the resulting set of message codes 350 has thus been derived from a group of PCBs which, as is discussed above, should be identical to the PCBs derived from a particular bit plane subblock of the EBCOT codes 118 (in Figs. 2A and 2B) that were subjected to the watermarking procedure.
- message code MC (in Fig. 3) is derived from PCB group PCBi' (in Fig. 3) which should be identical to the PCB group PCBi (in Figs. 2A and 2B) that was derived from bit plane subblock BPSBi (in Figs. 2A and 2B).
- message code MC 2 (in Fig.
- each message code should be either equal to its corresponding newly derived feature code, or matched to the same group of PCBs in the chosen ECC encoding scheme. For example, referring to the exemplary scheme illustrated in Fig. 15, if newly derived feature code Fj' equals 0110 — which corresponds to (i.e., is associated with) a PCB group having a value of 011 — then if no improper manipulations have occurred, MCi should equal either 0110 or 1000, because each of these two message code values corresponds to a PCB group having a value of 011.
- the newly derived feature codes 306 are therefore compared on a subblock-by-subblock basis to the corresponding message codes 350 derived from the extracted watermarks 310 (step 312).
- the comparison procedure 312 determines whether the PCBs associated with the message code equal the PCBs associated with the feature code.
- the comparison procedure 312 preferably also includes conventional ECC error correction block 352 to co ⁇ ect spurious errors. If any of the blocks has one or more newly derived feature codes which fail to compare properly to the corresponding message codes (block 316), the comparison procedure carried out by block 312 identifies the failed blocks 320.
- the comparison procedure 312 derives ECC codewords Sl ⁇ based on the newly derived feature codes 306 — each codeword including a newly derived feature code and a set of PCBs derived from that feature code — and the ECC codewords 318 are hashed in block 322 to derive a digest 324.
- a codeword Fi' + PCBi is formed by concatenating feature code Fi' with a set PCBi" of PCBs derived from the feature code Fi'.
- a codeword F 2 ' + PCB 2 " is formed by concatenating feature code F 2 ' with a set PCB 2 " of PCBs derived from the feature code F 2 '.
- a set of ECC codewords 358 is extracted by block 330 from the wavelet transform coefficients 356 that were derived from the EBCOT codes 302 by block 354, discussed above. If the second stage watermarks were purportedly embedded — using the second stage watermark embedding by block 238 illustrated in Fig. 2A — in the watermarked wavelet transform coefficients 250 from which the EBCOT codes 302 were derived, and block 238 embedded the second stage watermark bits by simply replacing selected bits of the wavelet transform coefficients according to a random or quasi-random pattern, as is discussed above with respect to Fig. 2A, then the second stage watermark extraction procedure 330 illustrated in Fig.
- ECC codewords 358 by locating the embedded bits within the newly derived wavelet transform coefficients 356 and arranging the bits in their original order based on the aforementioned random or quasi-random pattern.
- the second stage watermarks were purportedly stored — using the second stage watermark storage by block 258 illustrated in Fig. 2B — in the header of the wavelet transform coefficients 240 from which the EBCOT codes 302 were derived, then the second stage watermark extraction by block 330 illustrated in Fig. 3 derives ECC codewords 358 by collecting them from the header of the set of newly derived wavelet transform coefficients 356.
- the set of wavelet transform coefficients from which the second stage watermark is to be extracted is typically determined by the same bit rate 342 used to perform the feature code derivation by block 304 and the first stage watermark extraction by block 308. If there has been no unauthorized manipulation/modification of the data, the extracted ECC codewords 358 should be identical to the ECC encoded watermark 248 (shown in Figs. 2A and 2B) used to watermark the data in the watermarking system and procedure (preferably one of the systems and procedures illustrated in Figs. 2 A and 2B).
- the extracted ECC codewords 358 are decoded using an error correction decoding (i.e., inverse ECC) procedure 360 to derive a decoded second stage watermark 332. If there has been no fraudulent manipulation/modification of the data, the decoded second stage watermark 332 should be identical to the global signature 234 embedded in the data in the watermarking system and procedure illustrated in Fig. 2A or Fig. 2B.
- error correction decoding i.e., inverse ECC
- the decoded second stage watermark 332 which is a signature extracted from the wavelet transform coefficients 356 derived from the watermarked EBCOT codes 302 — is decrypted by block 334 using a PKI public key 344 which corresponds to the private key 232 used to encrypt the digest by block 228 in the watermarking system and procedure illustrated in Fig. 2 A or Fig. 2B.
- the decrypted signature 336 is then compared to the newly derived digest 324 on a bit-by- bit basis by block 326 to derive an authentication result 328.
- the authentication result 328 indicates whether the watermarked EBCOT codes 302 have been fraudulently manipulated.
- Figs. 9 and 10 illustrate typical computer hardware suitable for performing the methods of the present invention.
- the computer system includes a processing section 910, a display 920, a keyboard 930, and a communications peripheral device 940 such as a modem.
- the system typically includes a digital pointer 990 (e.g., a "mouse") and can also include other input devices such as an optical scanner 950 for scanning an image medium 900.
- the system can include a printer 960.
- the computer system typically includes a hard disk drive 980 and one or more additional disk drives 970 which can read and write to computer readable media such as magnetic media (e.g., diskettes or removable hard disks), or optical media (e.g., CD-ROMS or DDS).
- the disk drives 970 and 980 are used for storing data, operation system software, and application software.
- Fig. 10 is a functional block diagram which further illustrates the processing section 910.
- the processing section 910 generally includes a processing unit 1010, control logic 1020, and a memory unit 1030. Preferably, the processing section 910 also includes a timer 1050 and input/output ports 1040. The processing section 910 can also include a co-processor 1060, depending on the microprocessor used in the processing unit.
- Control logic 1020 provides, in conjunction with processing unit 1010, the control necessary to handle communications between memory unit 1030 and input/output ports 1040.
- Timer 1050 provides a timing reference signal for processing unit 1010 and control logic 1020.
- Co-processor 1060 provides an enhanced ability to perform complex computations in real time, such as those required by cryptographic algorithms.
- Memory unit 1030 can include different types of memory, such as volatile and non-volatile memory and read-only and programmable memory.
- memory unit 1030 can include read-only memory (ROM) 1031, electrically erasable programmable read-only memory (EEPROM) 1032, and random-access memory (RAM) 1033.
- ROM read-only memory
- EEPROM electrically erasable programmable read-only memory
- RAM random-access memory
- Different computer processors, memory configurations, data structures and the like can be used to practice the present invention, and the invention is not limited to a specific platform.
- the processing section 910 is illustrated in Figs. 9 and 10 as part of a computer system, the processing section 910 and/or its components can be incorporated into an imager such as a digital video camera or a digital still-image camera.
- Software defined by the description herein may be written in a wide variety of programming languages, as will be appreciated by those skilled in the art.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2002362419A AU2002362419A1 (en) | 2001-10-03 | 2002-10-03 | Method and apparatus for watermarking and authenticating data |
EP02800452A EP1452012A2 (fr) | 2001-10-03 | 2002-10-03 | Procede et appareil de filigranage et d'authentification de donnees |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32670901P | 2001-10-03 | 2001-10-03 | |
US60/326,709 | 2001-10-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2003030541A2 true WO2003030541A2 (fr) | 2003-04-10 |
WO2003030541A3 WO2003030541A3 (fr) | 2003-10-02 |
Family
ID=23273331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2002/031488 WO2003030541A2 (fr) | 2001-10-03 | 2002-10-03 | Procede et appareil de filigranage et d'authentification de donnees |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1452012A2 (fr) |
AU (1) | AU2002362419A1 (fr) |
WO (1) | WO2003030541A2 (fr) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003096336A3 (fr) * | 2002-05-10 | 2004-05-27 | Fraunhofer Ges Forschung | Dispositif et procede pour produire des donnees codees, pour decoder des donnees codees et pour produire des donnees avec une nouvelle signature |
WO2005031643A1 (fr) * | 2003-09-26 | 2005-04-07 | Agency For Science, Technology And Research | Procede et systeme pour proteger et authentifier une image numerique |
WO2011119137A1 (fr) | 2010-03-22 | 2011-09-29 | Lrdc Systems, Llc | Procédé destiné à identifier et à protéger l'intégrité d'un ensemble de données de source |
CN108337458A (zh) * | 2017-01-19 | 2018-07-27 | 普里露尼库斯日本股份有限公司 | 固体摄像装置、固体摄像装置的驱动方法以及电子设备 |
US10931306B2 (en) | 2016-12-28 | 2021-02-23 | Shanghai Langbo Communication Technology Company Limited | Method and device in UE and base station for channel coding |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6504941B2 (en) * | 1998-04-30 | 2003-01-07 | Hewlett-Packard Company | Method and apparatus for digital watermarking of images |
EP1072149A1 (fr) * | 1999-02-16 | 2001-01-31 | Koninklijke Philips Electronics N.V. | Authentification et verification dans une architecture de camera numerique |
-
2002
- 2002-10-03 AU AU2002362419A patent/AU2002362419A1/en not_active Abandoned
- 2002-10-03 WO PCT/US2002/031488 patent/WO2003030541A2/fr not_active Application Discontinuation
- 2002-10-03 EP EP02800452A patent/EP1452012A2/fr not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003096336A3 (fr) * | 2002-05-10 | 2004-05-27 | Fraunhofer Ges Forschung | Dispositif et procede pour produire des donnees codees, pour decoder des donnees codees et pour produire des donnees avec une nouvelle signature |
WO2005031643A1 (fr) * | 2003-09-26 | 2005-04-07 | Agency For Science, Technology And Research | Procede et systeme pour proteger et authentifier une image numerique |
WO2011119137A1 (fr) | 2010-03-22 | 2011-09-29 | Lrdc Systems, Llc | Procédé destiné à identifier et à protéger l'intégrité d'un ensemble de données de source |
EP2438511A4 (fr) * | 2010-03-22 | 2013-01-09 | Lrdc Systems Llc | Procédé destiné à identifier et à protéger l'intégrité d'un ensemble de données de source |
US10931306B2 (en) | 2016-12-28 | 2021-02-23 | Shanghai Langbo Communication Technology Company Limited | Method and device in UE and base station for channel coding |
US11245417B2 (en) | 2016-12-28 | 2022-02-08 | Shanghai Langbo Communication Technology Company Limited | Method and device in UE and base station for channel coding |
US11575388B2 (en) | 2016-12-28 | 2023-02-07 | Shanghai Langbo Communication Technology Company Limited | Method and device in UE and base station for channel coding |
US11750215B2 (en) | 2016-12-28 | 2023-09-05 | Shanghai Langbo Communication Technology Company Limited | Method and device in UE and base station for channel coding |
US11990919B2 (en) | 2016-12-28 | 2024-05-21 | Shanghai Langbo Communication Technology Company Limited | Method and device in UE and base station for channel coding |
CN108337458A (zh) * | 2017-01-19 | 2018-07-27 | 普里露尼库斯日本股份有限公司 | 固体摄像装置、固体摄像装置的驱动方法以及电子设备 |
CN108337458B (zh) * | 2017-01-19 | 2021-04-20 | 普里露尼库斯日本股份有限公司 | 固体摄像装置、固体摄像装置的驱动方法以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP1452012A2 (fr) | 2004-09-01 |
WO2003030541A3 (fr) | 2003-10-02 |
AU2002362419A1 (en) | 2003-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7360093B2 (en) | System and method for authentication of JPEG image data | |
US7457431B2 (en) | System and method for robust reversible data hiding and data recovery in the spatial domain | |
US7313696B2 (en) | Method for authentication of JPEG image data | |
US6834344B1 (en) | Semi-fragile watermarks | |
US20040145661A1 (en) | Image processing method, and image processing apparatus | |
US6275599B1 (en) | Compressed image authentication and verification | |
EP2157726A2 (fr) | Procédé et dispositif pour insérer et authentifier une signature numérique dans des données numériques | |
Sun et al. | A secure and robust digital signature scheme for JPEG2000 image authentication | |
JP4024153B2 (ja) | 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置 | |
US20070253592A1 (en) | Method and System for Protecting and Authenticating a Digital Image | |
US7493489B2 (en) | System and method for authentication of JPEG image data | |
Sun et al. | A quantitative semi-fragile JPEG2000 image authentication system | |
US7627761B2 (en) | System for authentication of JPEG image data | |
Memon et al. | Distortion-bounded authentication techniques | |
JP4948551B2 (ja) | 電子透かし埋め込み検出方法とその装置、プログラム、記録媒体 | |
Zhang et al. | A unified authentication framework for JPEG2000 | |
WO2003030541A2 (fr) | Procede et appareil de filigranage et d'authentification de donnees | |
Kumar et al. | LDPC based image authentication system | |
EP3602478B1 (fr) | Filigrane vidéo | |
Guo et al. | Lossless watermarking scheme for enhancing security of medical data in PACS | |
Sun et al. | A crypto signature scheme for image authentication over wireless channel | |
Lee et al. | Image integrity and correction using parities of error control coding | |
Caldelli et al. | Joint near-lossless watermarking and compression for the authentication of remote sensing images | |
JP2007060280A (ja) | デジタルコンテンツ作成装置およびデジタルコンテンツ改変検出装置およびデジタルコンテンツ改変鑑定システム | |
JP2005045710A (ja) | 電子透かし埋め込み装置,電子透かし検証装置,電子透かし埋め込み方法,および電子透かし検証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG US UZ VN YU ZA ZM |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2002800452 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 939/CHENP/2004 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20028238494 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2002800452 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2002800452 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: JP |