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

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