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

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