| 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 |