Skip to main content
. 2021 Dec 8;23(12):1650. doi: 10.3390/e23121650
Algorithm 1 Watermark embedding.
  • Require: 

    Cover image (C), Watermark (W), m, s

  • Ensure: 

    Watermarked image (C1)

  • 1:

    Apply 1-IWT to C, to obtain LL, LH, HL and HH. Select LH and HL for embedding.

  • 2:

    Divide LH and HL into 4×4 non-overlapping blocks.

  • 3:

    Find entropy for 4×4 non-overlapping blocks and store it in vector V.

  • 4:

    Apply SVD transform on LH and HL, to obtain ULH,SLH,VLH,UHL,SHL,VHL. Select SLH and SHL for embedding.

  • 5:

    Select a block having a low entropy value (BLHandBHL) for embedding.

  • 6:

    Encrypt the watermark image using the proposed encryption scheme

  • 7:

    Determine random embedding position P1(row) and P2(col), using a BBS generator in selected block for embedding.

  • 8:

    Generate α using the proposed intial scaling factor generation scheme

  • 9:

    For real time applications, skip Step 10 and move on to Step 11.

  • 10:

    Optimize α using GA or ABC or FO algorithm using a following fitness function:

    Fitnessfunction=(PSNR×SSIM)α+(NC×BER)α

  • 11:

    Embed Vodd1 in BLH and Veven1 in BHL using the following relation:

    BLH1(P1,P2)=BLH(P1,P2)+αVodd1

    BHL1(P1,P2)=BHL(P1,P2)+αVeven1

  • 12:

    Apply inverse SVD and IWT to get the watermarked image (C1).