| 
0
 | 
     1 These codes use the DCT,Hartley and Subband DCT
 | 
| 
 | 
     2 Transforms for watermarking purposes.All schemes
 | 
| 
 | 
     3 are blind,no original image is used for detection.
 | 
| 
 | 
     4 Each casting module is accompanied by a testing 
 | 
| 
 | 
     5 module.Supposing that the watermark key that you
 | 
| 
 | 
     6 select during casting is in the range 1-1000,the
 | 
| 
 | 
     7 testing module will test all the keys in this range
 | 
| 
 | 
     8 to produce the well known similarity diagrams used
 | 
| 
 | 
     9 by Cox, Piva and many more with the peak being the
 | 
| 
 | 
    10 proof of the watermark existence.
 | 
| 
 | 
    11 
 | 
| 
 | 
    12 I do not include a detection module because this implies
 | 
| 
 | 
    13 the use of certain thresholds. Although the casting
 | 
| 
 | 
    14 methods are almost standardized (multiplicative formula)
 | 
| 
 | 
    15 there are still questions about this thresholding but
 | 
| 
 | 
    16 the testing modules can be easily changed to fit this
 | 
| 
 | 
    17 purpose.
 | 
| 
 | 
    18 
 | 
| 
 | 
    19 The DCT scheme does not use the visual masking improvement
 | 
| 
 | 
    20 that Barni and his team suggest in one of their later works.
 | 
| 
 | 
    21 In all casting programs we assume that the coefficients are
 | 
| 
 | 
    22 diagonaly scanned,and ordered as shown in the following example.
 | 
| 
 | 
    23 
 | 
| 
 | 
    24 ----------------------
 | 
| 
 | 
    25 | 1| 3| 6|10|15|...
 | 
| 
 | 
    26 ----------------------
 | 
| 
 | 
    27 | 2| 5| 9|14|...
 | 
| 
 | 
    28 ----------------------
 | 
| 
 | 
    29 | 4| 8|13|...
 | 
| 
 | 
    30 ----------------------
 | 
| 
 | 
    31 | 7|12|...
 | 
| 
 | 
    32 ----------------------
 | 
| 
 | 
    33 |11|...
 | 
| 
 | 
    34 ----------------------
 | 
| 
 | 
    35 
 | 
| 
 | 
    36 which is quite simple comparing to the zig zag scanning 
 | 
| 
 | 
    37 pattern that we know from the JPEG standard but does not
 | 
| 
 | 
    38 affect at all the idea that we have of the middle 
 | 
| 
 | 
    39 frequencies.Also the user should take care that
 | 
| 
 | 
    40 
 | 
| 
 | 
    41 starting_coefficient+number_of_coeffs_to_change<(N*N)/2
 | 
| 
 | 
    42 
 | 
| 
 | 
    43 which means that we shouldn't exceed the matrix diagonal.
 | 
| 
 | 
    44 To do so the scanning scheme should be changed accordingly
 | 
| 
 | 
    45 but this doesn't seem important because in all of the
 | 
| 
 | 
    46 schemes we don't get out of the middle frequencies coefs.
 | 
| 
 | 
    47 With correctly selected parameters,the schemes perform in
 | 
| 
 | 
    48 the same way as if the coeffs were zig zag scanned.
 | 
| 
 | 
    49 
 | 
| 
 | 
    50 In the Subband DCT version,the first set of questions
 | 
| 
 | 
    51 about starting coefficient,number of coefficients to
 | 
| 
 | 
    52 alter and alpha parameter, refer to the LH,HL and HH
 | 
| 
 | 
    53 band while the second set of questions sets the parameters
 | 
| 
 | 
    54 about the LL band only.
 | 
| 
 | 
    55 
 | 
| 
 | 
    56 All schemes should not be used with the same set of parameters
 | 
| 
 | 
    57 because each of the transforms, possess certain specific
 | 
| 
 | 
    58 properties. This should be kept in mind for testing purposes.
 | 
| 
 | 
    59 To use the right set of parameters please refer to corresponding
 | 
| 
 | 
    60 bibliography.
 | 
| 
 | 
    61 All code has been tested in Visual C++ v6.0
 | 
| 
 | 
    62 
 | 
| 
 | 
    63 Have some nice tests...
 | 
| 
 | 
    64 Vassilis Fotopoulos
 | 
| 
 | 
    65 
 | 
| 
 | 
    66 for more info,ideas or points of discussion
 | 
| 
 | 
    67 email vfotop1@physics.upatras.gr
 |