]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
6dad5c16c4e6a64635a1eeca4bb6f20f6e4751c7
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / matlab / stc_pm2_dls_embed.m
1 %STC_PM2_DLS_EMBED Embeds message in a cover object with +-2 changes - DLS.
2 %
3 %[D Y NUM_MSG_BITS L] = STC_PM2_DLS_EMBED(X, COSTS, MSG, TARG_D)
4 %   implements Distortion Limited Sender. Embeds as many bits as possible
5 %   into cover object X, such that the cost of stego object Y is around
6 %   TARG_D with changes limited to +-2. Uses default constraint height
7 %   h=10, expected coding loss 5% and INF for cost of wet elements. Outputs
8 %   distortion caused by embedding D, stego object Y, number of message
9 %   bits in each layer of LSBs NUM_MSG_BITS and coding loss L. See [1] for
10 %   more details.
11 %
12 %[D Y NUM_MSG_BITS L] = STC_PM2_DLS_EMBED(X, COSTS, MSG, TARG_D, EXP_L)
13 %   the same as above, but uses expected coding loss EXP_L - see [1].
14 %   
15 %[D Y NUM_MSG_BITS L] = STC_PM2_DLS_EMBED(X, COSTS, MSG, TARG_D, EXP_L, H)
16 %   the same as above, but uses STCs with constraint height H - see [1].
17 %
18 %[D Y NUM_MSG_BITS L] = STC_PM2_DLS_EMBED(X, COSTS, MSG, TARG_D, EXP_L, H, W)
19 %   the same as above, but uses W as the cost of wet elements - see [1].
20 %
21 %   COSTS array must be 5xN, where N=numel(X).
22 %     COSTS(1,i) = cost of changing X(i) by -2
23 %     COSTS(2,i) = cost of changing X(i) by -1
24 %     COSTS(3,i) = cost of changing X(i) by  0
25 %     COSTS(4,i) = cost of changing X(i) by +1
26 %     COSTS(5,i) = cost of changing X(i) by +2
27 %
28 %   NUM_MSG_BITS contains number of bits embedded in different layers
29 %     NUM_MSG_BITS(end) - # of bits in LSBs
30 %     NUM_MSG_BITS(end-1) - # of bits in 2LSBs
31 %   sum(NUM_MSG_BITS) = total number of embedded bits. This can be less
32 %   than numel(MSG).
33 %
34 %   Use STC_ML_EXTRACT(Y, NUM_MSG_BITS, H) to extract the message back.
35 %
36 % Author: Tomas Filler  email: tomas.filler@gmail.com
37 %                         www: http://dde.binghamton.edu/filler
38 %
39 % STC Toolbox website: http://dde.binghamton.edu/filler/stc
40 %
41 % References:
42 % [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in 
43 %     Steganography using Syndrome-Trellis Codes", submitted to IEEE
44 %     Transactions on Information Forensics and Security, 2010.
45 %     http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf
46
47 % [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in 
48 %     Steganography using Trellis-Coded Quantization", Proc. SPIE,
49 %     Electronic Imaging, Media Forensics and Security XII, San Jose, CA, 
50 %     January 18-20, 2010.
51 %     http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf
52 %
53 % [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions
54 %     With Non-Binary Embedding Operation in Steganography", 2nd IEEE 
55 %     Workshop on Information Forensics and Security, December 2010.
56 %     http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf
57 %
58 %   See also STC_ML_EXTRACT, STC_PM1_PLS_EMBED, STC_PM1_DLS_EMBED
59 %   STC_PM2_PLS_EMBED, STC_EMBED, STC_EXTRACT.