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

Private GIT Repository
be6979dd7eff6315ec377c2f2844793bf5855b1f
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / matlab / stc_pm1_dls_embed.m
1 %STC_PM1_DLS_EMBED Embeds message in a cover object with +-1 changes - DLS.
2 %
3 %[D Y NUM_MSG_BITS L] = STC_PM1_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 +-1. 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_PM1_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_PM1_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_PM1_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 3xN, where N=numel(X).
22 %     COSTS(1,i) = cost of changing X(i) by -1
23 %     COSTS(2,i) = cost of changing X(i) by  0
24 %     COSTS(3,i) = cost of changing X(i) by +1
25 %
26 %   NUM_MSG_BITS contains number of bits embedded in different layers
27 %     NUM_MSG_BITS(end) - # of bits in LSBs
28 %     NUM_MSG_BITS(end-1) - # of bits in 2LSBs
29 %   sum(NUM_MSG_BITS) = total number of embedded bits. This can be less
30 %   than numel(MSG).
31 %
32 %   Use STC_ML_EXTRACT(Y, NUM_MSG_BITS, H) to extract the message back.
33 %
34 % Author: Tomas Filler  email: tomas.filler@gmail.com
35 %                         www: http://dde.binghamton.edu/filler
36 %
37 % STC Toolbox website: http://dde.binghamton.edu/filler/stc
38 %
39 % References:
40 % [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in 
41 %     Steganography using Syndrome-Trellis Codes", submitted to IEEE
42 %     Transactions on Information Forensics and Security, 2010.
43 %     http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf
44
45 % [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in 
46 %     Steganography using Trellis-Coded Quantization", Proc. SPIE,
47 %     Electronic Imaging, Media Forensics and Security XII, San Jose, CA, 
48 %     January 18-20, 2010.
49 %     http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf
50 %
51 % [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions
52 %     With Non-Binary Embedding Operation in Steganography", 2nd IEEE 
53 %     Workshop on Information Forensics and Security, December 2010.
54 %     http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf
55 %
56 %   See also STC_ML_EXTRACT, STC_PM1_PLS_EMBED, STC_PM2_PLS_EMBED
57 %   STC_PM2_DLS_EMBED, STC_EMBED, STC_EXTRACT.