Skip to main content
Log in

Overlapped (7,4) hamming code for large-capacity and low-loss data hiding

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

A novel data hiding method based on overlapped (7,4) Hamming code is proposed in this paper. 11-bit codewords are constructed from two overlapped (7,4) Hamming codes, and then a look-up table of 11-bit codeword is established, from which the suitable 11-bit codeword can be selected to minimize the stego image distortion. Because Hamming codes, rather than the bits of the pixels, are overlapped, the embedding capacity is improved remarkably. Two transferring stages are jointly optimized to minimize the stego image distortion and improve the visual quality. Several construction modes are designed and available to balance the embedding capacity and visual quality, so the modes can be selected flexibly. The systematical theoretical analysis consistent with the experimental results solidly confirms the advantages of the proposed method.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Bai J, Chang C-C (2016) A high payload steganographic scheme for compressed images with hamming code. IJ Network Secur 18(6):1122–1129

    Google Scholar 

  2. Celik MU, Sharma G, Tekalp AM, Saber E (2005) Lossless generalized-lsb data embedding. IEEE Trans Image Process 14(2):253–266

    Google Scholar 

  3. Chan C-K, Cheng L-M (2004) Hiding data in images by simple lsb substitution. Pattern Recogn 37(3):469–474

    MATH  Google Scholar 

  4. Chang C-C (2020) Adversarial learning for invertible steganography. IEEE Access 8:198425–198435

    Google Scholar 

  5. Chang C-C (2021) Neural reversible steganography with long shortterm memory. Secur Commun Netw 2021:1–14

    Google Scholar 

  6. Chang C-C (2021) Cryptospace invertible steganography with conditional generative adversarial networks. Secur Commun Netw 2021:1–14

    Google Scholar 

  7. Chang C-C, Li C-T (2019) Algebraic secret sharing using privacy homomorphisms for iot-based healthcare systems. Math Biosci Eng 16(5):3367–3381

    MathSciNet  MATH  Google Scholar 

  8. Chang C-C, Li C-T, Chen K (2019) Privacypreserving reversible information hiding based on arithmetic of quadratic residues. IEEE Access 7:54117–54132

    Google Scholar 

  9. Delp E, Mitchell O (1979) Image compression using block truncation coding. IEEE Trans Commun 27(9):1335–1342

    Google Scholar 

  10. Di F, Zhang M, Liao X, Liu J (2019) High-fidelity reversible data hiding by quadtree-based pixel value ordering. Multimed Tools Appl 78(6):7125–7141

    Google Scholar 

  11. Hong W, Chen T-S, Shiu C-W (2008) Lossless steganography for ambtc-compressed images. In 2008 Congress on image and signal processing, volume 2, pages 13–17. IEEE

  12. Hu Y, Lee H-K, Li J (2008) De-based reversible data hiding with improved overflow location map. IEEE Trans Circ Syst Vid Technol 19(2):250–260

    Google Scholar 

  13. Hwang J, Kim JW, Choi JU (2006) A reversible watermarking based on histogram shifting. In International Workshop on Digital Watermarking, pages 348–361. Springer

  14. Jana B, Giri D, Mondal SK (2017) Partial reversible data hiding scheme using (7, 4) hamming code. Multimed Tools Appl 76(20):21691–21706

    Google Scholar 

  15. Kim C (2014) Data hiding by an improved exploiting modification direction. Multimed Tools Appl 69(3):569–584

    Google Scholar 

  16. Kim C, Yang C-N (2016) Data hiding based on overlapped pixels using hamming code. Multimed Tools Appl 75(23):15651–15663

    Google Scholar 

  17. Kim K-S, Lee M-J, Lee H-Y, Lee H-K (2009) Reversible data hiding exploiting spatial correlation between sub-sampled images. Pattern Recogn 42(11):3083–3096

    MATH  Google Scholar 

  18. Kim HJ, Kim C, Choi Y, Wang S, Zhang X (2010) Improved modification direction methods. Comput Math Appl 60(2):319–325

    MathSciNet  MATH  Google Scholar 

  19. Kim C, Shin D, Leng L, Yang C-N (2018) Separable reversible data hiding in encrypted halftone image. Displays 55:71–79

    Google Scholar 

  20. Kim C, Shin D, Leng L, Yang C-N (2018) Lossless data hiding for absolute moment block truncation coding using histogram modification. J Real-Time Image Proc 14(1):101–114

    Google Scholar 

  21. Kim C, Shin D, Yang C-N, Chou Y-S (2018) Improving capacity of hamming (n, k)+ 1 stego-code by using optimized hamming+ k. Digit Signal Process 78:284–293

    Google Scholar 

  22. Kim C, Shin D, Yang C-N, Chou Y-S (2019) Generalizing hamming+ k data hiding by overlapped pixels. Multimed Tools Appl 78(13):17995–18015

    Google Scholar 

  23. Kim C, Shin D-K, Yang C-N, Leng L (2020) Hybrid data hiding based on ambtc using enhanced hamming code. Appl Sci 10(15):5336

    Google Scholar 

  24. Kumar R, Singh S, Jung K-H (2019) Human visual system based enhanced ambtc for color image compression using interpolation. In 2019 6th International Conference on Signal Processing and Integrated Networks (SPIN), pages 903–907. IEEE

  25. Lema M, Mitchell O (1984) Absolute moment block truncation coding and its application to color images. IEEE Trans Commun 32(10):1148–1157

    Google Scholar 

  26. Lin J, Lin C-C, Chang C-C (2019) Reversible steganographic scheme for ambtc-compressed image based on (7, 4) hamming code. Symmetry 11(10):1236

    Google Scholar 

  27. Liu S, Yu M, Li M, Xu Q (2019) The research of virtual face based on deep convolutional generative adversarial networks using tensorflow. Physica A: Stat Mech Appl 521:667–680

    Google Scholar 

  28. Mielikainen J (2006) Lsb matching revisited. IEEE Signal Process Lett 13(5):285–287

    Google Scholar 

  29. Ni Z, Shi Y-Q, Ansari N, Wei S (2006) Reversible data hiding. IEEE Trans Circ Syst Vid Technol 16(3):354–362

    Google Scholar 

  30. Petitcolas FAP, Anderson RJ, Kuhn MG (1999) Information hiding-a survey. Proceed IEEE 87(7):1062–1078

    Google Scholar 

  31. Puteaux P, Puech W (2018) An efficient msb predictionbased method for high-capacity reversible data hiding in encrypted images. IEEE transactions on information forensics and security 13(7):1670–1681

    Google Scholar 

  32. Tian J (2003) Reversible data embedding using a difference expansion. IEEE Trans Cir Syst Vid Technol 13(8):890–896

    Google Scholar 

  33. Weng S, Shi YQ, Hong W, Yao Y (2019) Dynamic improved pixel value ordering reversible data hiding. Inf Sci 489:136–154

    Google Scholar 

  34. Wengui S, Wang X, Li F, Shen Y, Pei Q (2019) Reversible data hiding using the dynamic block-partition strategy and pixel-value-ordering. Multimed Tools Appl 78(7):7927–7945

    Google Scholar 

  35. Wu H, Li X, Zhao Y, Ni R (2020) Improved ppvo-based high-fidelity reversible data hiding. Signal Process 167:107264

    Google Scholar 

  36. Wu X, Yang C-N, Liu Y-W (2020) A general frame work for partial reversible data hiding using hamming code. Signal Process 175:107657

    Google Scholar 

  37. Xiao M, Li X, Wang Y, Zhao Y, Ni R (2019) Reversible data hiding based on pairwise embedding and optimal expansion path. Signal Process 158:210–218

    Google Scholar 

  38. Xiaochao Q, Kim HJ (2015) Pixel-based pixel value ordering predictor for high-fifidelity reversible data hiding. Signal Process 111:249–260

    Google Scholar 

  39. Xu Q, Wang F, Gong Y, Wang Z, Zeng K, Li Q, Luo X (2019) Novel Edge-Orient Framework Saliency Detect Enhancement Image. Vis Comput 87:1–12

    Google Scholar 

  40. Xu Q, Wang Z, Wang F, Gong Y (2019) Multi-feature fusion cnns for drosophila embryo of interest detection. Physica A: Stat Mech Appl 531:121808

    Google Scholar 

  41. Xu Q, Huang G, Yu M, Guo Y (2020) Fall prediction based on key points of human bones. Physica A: Stat Mech Appl 540:123205

    MathSciNet  Google Scholar 

  42. Yang C-N, Wu S-Y, Chou Y-S, Kim C (2019) Enhanced stego-image quality and embedding capacity for the partial reversible data hiding scheme. Multimed Tools Appl 78(13):18595–18616

    Google Scholar 

  43. Yu Z, Lin C-C, Chang C-C, Su G-d (2019) Hbf-dh: An enhanced payload hybrid data hiding method based on a hybrid strategy and block features. IEEE Access 7:148439–148452

    Google Scholar 

  44. Zhang X (2011) Reversible data hiding in encrypted image. IEEE Signal Process Lett 18(4):255–258

    MathSciNet  Google Scholar 

  45. Zhang W, Wang S, Zhang X (2007) Improving embedding efficiency of covering codes for applications in steganography. IEEE Commun Lett 11(8):680–682

    Google Scholar 

Download references

Acknowledgements

This research was funded by the National Natural Science Foundation of China (61866028, 61866025, 61763033, 62162045), Technology Innovation Guidance Program Project (Special Project of Technology Cooperation, Science and Technology Department of Jiangxi Province) (20212BDH81003), and Open Foundation of Key Laboratory of Jiangxi Province for Image Processing and Pattern Recognition (ET201680245).

Author information

Authors and Affiliations

Authors

Contributions

Haoyang Kang: Methodology, Software, Validation, Investigation, Visualization, Writing - Original Draft. Lu Leng: Conceptualization, Resources, Writing - Review & Editing, Supervision. Chin-Chen Chang: Conceptualization, Supervision, Writing - Review & Editing.

Corresponding author

Correspondence to Lu Leng.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix 1

Appendix 1

1st 3-bit secret

2nd 3-bit secret

11-bit overlapping (7,4) Hamming Code

[0 0 0]

[0 0 0]

00000000000

00000001101

00011010001

00011011100

00101110010

00101111111

00110100011

00110101110

01000110100

01000111001

01011100101

01011101000

01101000110

01101001011

01110010111

01110011010

10,001,100,101

10,001,101,000

10,010,110,100

10,010,111,001

10,100,010,111

10,100,011,010

10,111,000,110

10,111,001,011

11,001,010,001

11,001,011,100

11,010,000,000

11,010,001,101

11,100,100,011

11,100,101,110

11,111,110,010

11,111,111,111

[1 0 0]

00000000110

00000001011

00011010111

00011011010

00101110100

00101111001

00110100101

00110101000

01000110010

01000111111

01011100011

01011101110

01101000000

01101001101

01110010001

01110011100

10,001,100,011

10,001,101,110

10,010,110,010

10,010,111,111

10,100,010,001

10,100,011,100

10,111,000,000

10,111,001,101

11,001,010,111

11,001,011,010

11,010,000,110

11,010,001,011

11,100,100,101

11,100,101,000

11,111,110,100

11,111,111,001

[0 1 0]

00000000011

00000001110

00011010010

00011011111

00101110001

00101111100

00110100000

00110101101

01000110111

01000111010

01011100110

01011101011

01101000101

01101001000

01110010100

01110011001

10,001,100,110

10,001,101,011

10,010,110,111

10,010,111,010

10,100,010,100

10,100,011,001

10,111,000,101

10,111,001,000

11,001,010,010

11,001,011,111

11,010,000,011

11,010,001,110

11,100,100,000

11,100,101,101

11,111,110,001

11,111,111,100

[0 0 1]

00000000111

00000001010

00011010110

00011011011

00101110101

00101111000

00110100100

00110101001

01000110011

01000111110

01011100010

01011101111

01101000001

01101001100

01110010000

01110011101

10,001,100,010

10,001,101,111

10,010,110,011

10,010,111,110

10,100,010,000

10,100,011,101

10,111,000,001

10,111,001,100

11,001,010,110

11,001,011,011

11,010,000,111

11,010,001,010

11,100,100,100

11,100,101,001

11,111,110,101

11,111,111,000

[1 1 0]

00000001000

00000000101

00011011001

00011010100

00101111010

00101110111

00110101011

00110100110

01000111100

01000110001

01011101101

01011100000

01101001110

01101000011

01110011111

01110010010

10,001,101,101

10,001,100,000

10,010,111,100

10,010,110,001

10,100,011,111

10,100,010,010

10,111,001,110

10,111,000,011

11,001,011,001

11,001,010,100

11,010,001,000

11,010,000,101

11,100,101,011

11,100,100,110

11,111,111,010

11,111,110,111

[0 1 1]

00000000100

00000001001

00011010101

00011011000

00101110110

00101111011

00110100111

00110101010

01000110000

01000111101

01011100001

01011101100

01101000010

01101001111

01110010011

01110011110

10,001,100,001

10,001,101,100

10,010,110,000

10,010,111,101

10,100,010,011

10,100,011,110

10,111,000,010

10,111,001,111

11,001,010,101

11,001,011,000

11,010,000,100

11,010,001,001

11,100,100,111

11,100,101,010

11,111,110,110

11,111,111,011

[1 1 1]

00000000010

00000001111

00011010011

00011011110

00101110000

00101111101

00110100001

00110101100

01000110110

01000111011

01011100111

01011101010

01101000100

01101001001

01110010101

01110011000

10,001,100,111

10,001,101,010

10,010,110,110

10,010,111,011

10,100,010,101

10,100,011,000

10,111,000,100

10,111,001,001

11,001,010,011

11,001,011,110

11,010,000,010

11,010,001,111

11,100,100,001

11,100,101,100

11,111,110,000

11,111,111,101

[1 0 1]

00000000001

00000001100

00011010000

00011011101

00101110011

00101111110

00110100010

00110101111

01000110101

01000111000

01011100100

01011101001

01101000111

01101001010

01110010110

01110011011

10,001,100,100

10,001,101,001

10,010,110,101

10,010,111,000

10,100,010,110

10,100,011,011

10,111,000,111

10,111,001,010

11,001,010,000

11,001,011,101

11,010,000,001

11,010,001,100

11,100,100,010

11,100,101,111

11,111,110,011

11,111,111,110

[1 0 0]

[0 0 0]

10,000,000,000

10,000,001,101

10,011,010,001

10,011,011,100

10,101,110,010

10,101,111,111

10,110,100,011

10,110,101,110

11,000,110,100

11,000,111,001

11,011,100,101

11,011,101,000

11,101,000,110

11,101,001,011

11,110,010,111

11,110,011,010

00001100101

00001101000

00010110100

00010111001

00100010111

00100011010

00111000110

00111001011

01001010001

01001011100

01010000000

01010001101

01100100011

01100101110

01111110010

01111111111

[1 0 0]

10,000,000,110

10,000,001,011

10,011,010,111

10,011,011,010

10,101,110,100

10,101,111,001

10,110,100,101

10,110,101,000

11,000,110,010

11,000,111,111

11,011,100,011

11,011,101,110

11,101,000,000

11,101,001,101

11,110,010,001

11,110,011,100

00001100011

00001101110

00010110010

00010111111

00100010001

00100011100

00111000000

00111001101

01001010111

01001011010

01010000110

01010001011

01100100101

01100101000

01111110100

01111111001

[0 1 0]

10,000,000,011

10,000,001,110

10,011,010,010

10,011,011,111

10,101,110,001

10,101,111,100

10,110,100,000

10,110,101,101

11,000,110,111

11,000,111,010

11,011,100,110

11,011,101,011

11,101,000,101

11,101,001,000

11,110,010,100

11,110,011,001

00001100110

00001101011

00010110111

00010111010

00100010100

00100011001

00111000101

00111001000

01001010010

01001011111

01010000011

01010001110

01100100000

01100101101

01111110001

01111111100

[0 0 1]

10,000,000,111

10,000,001,010

10,011,010,110

10,011,011,011

10,101,110,101

10,101,111,000

10,110,100,100

10,110,101,001

11,000,110,011

11,000,111,110

11,011,100,010

11,011,101,111

11,101,000,001

11,101,001,100

11,110,010,000

11,110,011,101

00001100010

00001101111

00010110011

00010111110

00100010000

00100011101

00111000001

00111001100

01001010110

01001011011

01010000111

01010001010

01100100100

01100101001

01111110101

01111111000

[1 1 0]

10,000,001,000

10,000,000,101

10,011,011,001

10,011,010,100

10,101,111,010

10,101,110,111

10,110,101,011

10,110,100,110

11,000,111,100

11,000,110,001

11,011,101,101

11,011,100,000

11,101,001,110

11,101,000,011

11,110,011,111

11,110,010,010

00001101101

00001100000

00010111100

00010110001

00100011111

00100010010

00111001110

00111000011

01001011001

01001010100

01010001000

01010000101

01100101011

01100100110

01111111010

01111110111

[0 1 1]

10,000,000,100

10,000,001,001

10,011,010,101

10,011,011,000

10,101,110,110

10,101,111,011

10,110,100,111

10,110,101,010

11,000,110,000

11,000,111,101

11,011,100,001

11,011,101,100

11,101,000,010

11,101,001,111

11,110,010,011

11,110,011,110

00001100001

00001101100

00010110000

00010111101

00100010011

00100011110

00111000010

00111001111

01001010101

01001011000

01010000100

01010001001

01100100111

01100101010

01111110110

01111111011

[1 1 1]

10,000,000,010

10,000,001,111

10,011,010,011

10,011,011,110

10,101,110,000

10,101,111,101

10,110,100,001

10,110,101,100

11,000,110,110

11,000,111,011

11,011,100,111

11,011,101,010

11,101,000,100

11,101,001,001

11,110,010,101

11,110,011,000

00001100111

00001101010

00010110110

00010111011

00100010101

00100011000

00111000100

00111001001

01001010011

01001011110

01010000010

01010001111

01100100001

01100101100

01111110000

01111111101

[1 0 1]

10,000,000,001

10,000,001,100

10,011,010,000

10,011,011,101

10,101,110,011

10,101,111,110

10,110,100,010

10,110,101,111

11,000,110,101

11,000,111,000

11,011,100,100

11,011,101,001

11,101,000,111

11,101,001,010

11,110,010,110

11,110,011,011

00001100100

00001101001

00010110101

00010111000

00100010110

00100011011

00111000111

00111001010

01001010000

01001011101

01010000001

01010001100

01100100010

01100101111

01111110011

01111111110

[0 1 0]

[0 0 0]

01000000000

01000001101

01011010001

01011011100

01101110010

01101111111

01110100011

01110101110

00000110100

00000111001

00011100101

00011101000

00101000110

00101001011

00110010111

00110011010

11,001,100,101

11,001,101,000

11,010,110,100

11,010,111,001

11,100,010,111

11,100,011,010

11,111,000,110

11,111,001,011

10,001,010,001

10,001,011,100

10,010,000,000

10,010,001,101

10,100,100,011

10,100,101,110

10,111,110,010

10,111,111,111

[1 0 0]

01000000110

01000001011

01011010111

01011011010

01101110100

01101111001

01110100101

01110101000

00000110010

00000111111

00011100011

00011101110

00101000000

00101001101

00110010001

00110011100

11,001,100,011

11,001,101,110

11,010,110,010

11,010,111,111

11,100,010,001

11,100,011,100

11,111,000,000

11,111,001,101

10,001,010,111

10,001,011,010

10,010,000,110

10,010,001,011

10,100,100,101

10,100,101,000

10,111,110,100

10,111,111,001

[0 1 0]

01000000011

01000001110

01011010010

01011011111

01101110001

01101111100

01110100000

01110101101

00000110111

00000111010

00011100110

00011101011

00101000101

00101001000

00110010100

00110011001

11,001,100,110

11,001,101,011

11,010,110,111

11,010,111,010

11,100,010,100

11,100,011,001

11,111,000,101

11,111,001,000

10,001,010,010

10,001,011,111

10,010,000,011

10,010,001,110

10,100,100,000

10,100,101,101

10,111,110,001

10,111,111,100

[0 0 1]

01000000111

01000001010

01011010110

01011011011

01101110101

01101111000

01110100100

01110101001

00000110011

00000111110

00011100010

00011101111

00101000001

00101001100

00110010000

00110011101

11,001,100,010

11,001,101,111

11,010,110,011

11,010,111,110

11,100,010,000

11,100,011,101

11,111,000,001

11,111,001,100

10,001,010,110

10,001,011,011

10,010,000,111

10,010,001,010

10,100,100,100

10,100,101,001

10,111,110,101

10,111,111,000

[1 1 0]

01000001000

01000000101

01011011001

01011010100

01101111010

01101110111

01110101011

01110100110

00000111100

00000110001

00011101101

00011100000

00101001110

00101000011

00110011111

00110010010

11,001,101,101

11,001,100,000

11,010,111,100

11,010,110,001

11,100,011,111

11,100,010,010

11,111,001,110

11,111,000,011

10,001,011,001

10,001,010,100

10,010,001,000

10,010,000,101

10,100,101,011

10,100,100,110

10,111,111,010

10,111,110,111

[0 1 1]

01000000100

01000001001

01011010101

01011011000

01101110110

01101111011

01110100111

01110101010

00000110000

00000111101

00011100001

00011101100

00101000010

00101001111

00110010011

00110011110

11,001,100,001

11,001,101,100

11,010,110,000

11,010,111,101

11,100,010,011

11,100,011,110

11,111,000,010

11,111,001,111

10,001,010,101

10,001,011,000

10,010,000,100

10,010,001,001

10,100,100,111

10,100,101,010

10,111,110,110

10,111,111,011

[1 1 1]

01000000010

01000001111

01011010011

01011011110

01101110000

01101111101

01110100001

01110101100

00000110110

00000111011

00011100111

00011101010

00101000100

00101001001

00110010101

00110011000

11,001,100,111

11,001,101,010

11,010,110,110

11,010,111,011

11,100,010,101

11,100,011,000

11,111,000,100

11,111,001,001

10,001,010,011

10,001,011,110

10,010,000,010

10,010,001,111

10,100,100,001

10,100,101,100

10,111,110,000

10,111,111,101

[1 0 1]

01000000001

01000001100

01011010000

01011011101

01101110011

01101111110

01110100010

01110101111

00000110101

00000111000

00011100100

00011101001

00101000111

00101001010

00110010110

00110011011

11,001,100,100

11,001,101,001

11,010,110,101

11,010,111,000

11,100,010,110

11,100,011,011

11,111,000,111

11,111,001,010

10,001,010,000

10,001,011,101

10,010,000,001

10,010,001,100

10,100,100,010

10,100,101,111

10,111,110,011

10,111,111,110

[0 0 1]

[0 0 0]

00100000000

00100001101

00111010001

00111011100

00001110010

00001111111

00010100011

00010101110

01100110100

01100111001

01111100101

01111101000

01001000110

01001001011

01010010111

01010011010

10,101,100,101

10,101,101,000

10,110,110,100

10,110,111,001

10,000,010,111

10,000,011,010

10,011,000,110

10,011,001,011

11,101,010,001

11,101,011,100

11,110,000,000

11,110,001,101

11,000,100,011

11,000,101,110

11,011,110,010

11,011,111,111

[1 0 0]

00100000110

00100001011

00111010111

00111011010

00001110100

00001111001

00010100101

00010101000

01100110010

01100111111

01111100011

01111101110

01001000000

01001001101

01010010001

01010011100

10,101,100,011

10,101,101,110

10,110,110,010

10,110,111,111

10,000,010,001

10,000,011,100

10,011,000,000

10,011,001,101

11,101,010,111

11,101,011,010

11,110,000,110

11,110,001,011

11,000,100,101

11,000,101,000

11,011,110,100

11,011,111,001

[0 1 0]

00100000011

00100001110

00111010010

00111011111

00001110001

00001111100

00010100000

00010101101

01100110111

01100111010

01111100110

01111101011

01001000101

01001001000

01010010100

01010011001

10,101,100,110

10,101,101,011

10,110,110,111

10,110,111,010

10,000,010,100

10,000,011,001

10,011,000,101

10,011,001,000

11,101,010,010

11,101,011,111

11,110,000,011

11,110,001,110

11,000,100,000

11,000,101,101

11,011,110,001

11,011,111,100

[0 0 1]

00100000111

00100001010

00111010110

00111011011

00001110101

00001111000

00010100100

00010101001

01100110011

01100111110

01111100010

01111101111

01001000001

01001001100

01010010000

01010011101

10,101,100,010

10,101,101,111

10,110,110,011

10,110,111,110

10,000,010,000

10,000,011,101

10,011,000,001

10,011,001,100

11,101,010,110

11,101,011,011

11,110,000,111

11,110,001,010

11,000,100,100

11,000,101,001

11,011,110,101

11,011,111,000

[1 1 0]

00100001000

00100000101

00111011001

00111010100

00001111010

00001110111

00010101011

00010100110

01100111100

01100110001

01111101101

01111100000

01001001110

01001000011

01010011111

01010010010

10,101,101,101

10,101,100,000

10,110,111,100

10,110,110,001

10,000,011,111

10,000,010,010

10,011,001,110

10,011,000,011

11,101,011,001

11,101,010,100

11,110,001,000

11,110,000,101

11,000,101,011

11,000,100,110

11,011,111,010

11,011,110,111

[0 1 1]

00100000100

00100001001

00111010101

00111011000

00001110110

00001111011

00010100111

00010101010

01100110000

01100111101

01111100001

01111101100

01001000010

01001001111

01010010011

01010011110

10,101,100,001

10,101,101,100

10,110,110,000

10,110,111,101

10,000,010,011

10,000,011,110

10,011,000,010

10,011,001,111

11,101,010,101

11,101,011,000

11,110,000,100

11,110,001,001

11,000,100,111

11,000,101,010

11,011,110,110

11,011,111,011

[1 1 1]

00100000010

00100001111

00111010011

00111011110

00001110000

00001111101

00010100001

00010101100

01100110110

01100111011

01111100111

01111101010

01001000100

01001001001

01010010101

01010011000

10,101,100,111

10,101,101,010

10,110,110,110

10,110,111,011

10,000,010,101

10,000,011,000

10,011,000,100

10,011,001,001

11,101,010,011

11,101,011,110

11,110,000,010

11,110,001,111

11,000,100,001

11,000,101,100

11,011,110,000

11,011,111,101

[1 0 1]

00100000001

00100001100

00111010000

00111011101

00001110011

00001111110

00010100010

00010101111

01100110101

01100111000

01111100100

01111101001

01001000111

01001001010

01010010110

01010011011

10,101,100,100

10,101,101,001

10,110,110,101

10,110,111,000

10,000,010,110

10,000,011,011

10,011,000,111

10,011,001,010

11,101,010,000

11,101,011,101

11,110,000,001

11,110,001,100

11,000,100,010

11,000,101,111

11,011,110,011

11,011,111,110

[1 1 0]

[0 0 0]

00010000000

00010001101

00001010001

00001011100

00111110010

00111111111

00100100011

00100101110

01010110100

01010111001

01001100101

01001101000

01111000110

01111001011

01100010111

01100011010

10,011,100,101

10,011,101,000

10,000,110,100

10,000,111,001

10,110,010,111

10,110,011,010

10,101,000,110

10,101,001,011

11,011,010,001

11,011,011,100

11,000,000,000

11,000,001,101

11,110,100,011

11,110,101,110

11,101,110,010

11,101,111,111

[1 0 0]

00010000110

00010001011

00001010111

00001011010

00111110100

00111111001

00100100101

00100101000

01010110010

01010111111

01001100011

01001101110

01111000000

01111001101

01100010001

01100011100

10,011,100,011

10,011,101,110

10,000,110,010

10,000,111,111

10,110,010,001

10,110,011,100

10,101,000,000

10,101,001,101

11,011,010,111

11,011,011,010

11,000,000,110

11,000,001,011

11,110,100,101

11,110,101,000

11,101,110,100

11,101,111,001

[0 1 0]

00010000011

00010001110

00001010010

00001011111

00111110001

00111111100

00100100000

00100101101

01010110111

01010111010

01001100110

01001101011

01111000101

01111001000

01100010100

01100011001

10,011,100,110

10,011,101,011

10,000,110,111

10,000,111,010

10,110,010,100

10,110,011,001

10,101,000,101

10,101,001,000

11,011,010,010

11,011,011,111

11,000,000,011

11,000,001,110

11,110,100,000

11,110,101,101

11,101,110,001

11,101,111,100

[0 0 1]

00010000111

00010001010

00001010110

00001011011

00111110101

00111111000

00100100100

00100101001

01010110011

01010111110

01001100010

01001101111

01111000001

01111001100

01100010000

01100011101

10,011,100,010

10,011,101,111

10,000,110,011

10,000,111,110

10,110,010,000

10,110,011,101

10,101,000,001

10,101,001,100

11,011,010,110

11,011,011,011

11,000,000,111

11,000,001,010

11,110,100,100

11,110,101,001

11,101,110,101

11,101,111,000

[1 1 0]

00010001000

00010000101

00001011001

00001010100

00111111010

00111110111

00100101011

00100100110

01010111100

01010110001

01001101101

01001100000

01111001110

01111000011

01100011111

01100010010

10,011,101,101

10,011,100,000

10,000,111,100

10,000,110,001

10,110,011,111

10,110,010,010

10,101,001,110

10,101,000,011

11,011,011,001

11,011,010,100

11,000,001,000

11,000,000,101

11,110,101,011

11,110,100,110

11,101,111,010

11,101,110,111

[0 1 1]

00010000100

00010001001

00001010101

00001011000

00111110110

00111111011

00100100111

00100101010

01010110000

01010111101

01001100001

01001101100

01111000010

01111001111

01100010011

01100011110

10,011,100,001

10,011,101,100

10,000,110,000

10,000,111,101

10,110,010,011

10,110,011,110

10,101,000,010

10,101,001,111

11,011,010,101

11,011,011,000

11,000,000,100

11,000,001,001

11,110,100,111

11,110,101,010

11,101,110,110

11,101,111,011

[1 1 1]

00010000010

00010001111

00001010011

00001011110

00111110000

00111111101

00100100001

00100101100

01010110110

01010111011

01001100111

01001101010

01111000100

01111001001

01100010101

01100011000

10,011,100,111

10,011,101,010

10,000,110,110

10,000,111,011

10,110,010,101

10,110,011,000

10,101,000,100

10,101,001,001

11,011,010,011

11,011,011,110

11,000,000,010

11,000,001,111

11,110,100,001

11,110,101,100

11,101,110,000

11,101,111,101

[1 0 1]

00010000001

00010001100

00001010000

00001011101

00111110011

00111111110

00100100010

00100101111

01010110101

01010111000

01001100100

01001101001

01111000111

01111001010

01100010110

01100011011

10,011,100,100

10,011,101,001

10,000,110,101

10,000,111,000

10,110,010,110

10,110,011,011

10,101,000,111

10,101,001,010

11,011,010,000

11,011,011,101

11,000,000,001

11,000,001,100

11,110,100,010

11,110,101,111

11,101,110,011

11,101,111,110

[0 1 1]

[0 0 0]

00001000110

00001001011

00010010111

00010011010

00100110100

00100111001

00111100101

00111101000

01001110010

01001111111

01010100011

01010101110

01100000000

01100001101

01111010001

01111011100

10,000,100,011

10,000,101,110

10,011,110,010

10,011,111,111

10,101,010,001

10,101,011,100

10,110,000,000

10,110,001,101

11,000,010,111

11,000,011,010

11,011,000,110

11,011,001,011

11,101,100,101

11,101,101,000

11,110,110,100

11,110,111,001

[1 0 0]

00001000000

00001001101

00010010001

00010011100

00100110010

00100111111

00111100011

00111101110

01001110100

01001111001

01010100101

01010101000

01100000110

01100001011

01111010111

01111011010

10,000,100,101

10,000,101,000

10,011,110,100

10,011,111,001

10,101,010,111

10,101,011,010

10,110,000,110

10,110,001,011

11,000,010,001

11,000,011,100

11,011,000,000

11,011,001,101

11,101,100,011

11,101,101,110

11,110,110,010

11,110,111,111

[0 1 0]

00001000101

00001001000

00010010100

00010011001

00100110111

00100111010

00111100110

00111101011

01001110001

01001111100

01010100000

01010101101

01100000011

01100001110

01111010010

01111011111

10,000,100,000

10,000,101,101

10,011,110,001

10,011,111,100

10,101,010,010

10,101,011,111

10,110,000,011

10,110,001,110

11,000,010,100

11,000,011,001

11,011,000,101

11,011,001,000

11,101,100,110

11,101,101,011

11,110,110,111

11,110,111,010

[0 0 1]

00001000001

00001001100

00010010000

00010011101

00100110011

00100111110

00111100010

00111101111

01001110101

01001111000

01010100100

01010101001

01100000111

01100001010

01111010110

01111011011

10,000,100,100

10,000,101,001

10,011,110,101

10,011,111,000

10,101,010,110

10,101,011,011

10,110,000,111

10,110,001,010

11,000,010,000

11,000,011,101

11,011,000,001

11,011,001,100

11,101,100,010

11,101,101,111

11,110,110,011

11,110,111,110

[1 1 0]

00001001110

00001000011

00010011111

00010010010

00100111100

00100110001

00111101101

00111100000

01001111010

01001110111

01010101011

01010100110

01100001000

01100000101

01111011001

01111010100

10,000,101,011

10,000,100,110

10,011,111,010

10,011,110,111

10,101,011,001

10,101,010,100

10,110,001,000

10,110,000,101

11,000,011,111

11,000,010,010

11,011,001,110

11,011,000,011

11,101,101,101

11,101,100,000

11,110,111,100

11,110,110,001

[0 1 1]

00001000010

00001001111

00010010011

00010011110

00100110000

00100111101

00111100001

00111101100

01001110110

01001111011

01010100111

01010101010

01100000100

01100001001

01111010101

01111011000

10,000,100,111

10,000,101,010

10,011,110,110

10,011,111,011

10,101,010,101

10,101,011,000

10,110,000,100

10,110,001,001

11,000,010,011

11,000,011,110

11,011,000,010

11,011,001,111

11,101,100,001

11,101,101,100

11,110,110,000

11,110,111,101

[1 1 1]

00001000100

00001001001

00010010101

00010011000

00100110110

00100111011

00111100111

00111101010

01001110000

01001111101

01010100001

01010101100

01100000010

01100001111

01111010011

01111011110

10,000,100,001

10,000,101,100

10,011,110,000

10,011,111,101

10,101,010,011

10,101,011,110

10,110,000,010

10,110,001,111

11,000,010,101

11,000,011,000

11,011,000,100

11,011,001,001

11,101,100,111

11,101,101,010

11,110,110,110

11,110,111,011

[1 0 1]

00001000111

00001001010

00010010110

00010011011

00100110101

00100111000

00111100100

00111101001

01001110011

01001111110

01010100010

01010101111

01100000001

01100001100

01111010000

01111011101

10,000,100,010

10,000,101,111

10,011,110,011

10,011,111,110

10,101,010,000

10,101,011,101

10,110,000,001

10,110,001,100

11,000,010,110

11,000,011,011

11,011,000,111

11,011,001,010

11,101,100,100

11,101,101,001

11,110,110,101

11,110,111,000

[1 1 1]

[0 0 0]

00000100011

00000101110

00011110010

00011111111

00101010001

00101011100

00110000000

00110001101

01000010111

01000011010

01011000110

01011001011

01101100101

01101101000

01110110100

01110111001

10,001,000,110

10,001,001,011

10,010,010,111

10,010,011,010

10,100,110,100

10,100,111,001

10,111,100,101

10,111,101,000

11,001,110,010

11,001,111,111

11,010,100,011

11,010,101,110

11,100,000,000

11,100,001,101

11,111,010,001

11,111,011,100

[1 0 0]

00000100101

00000101000

00011110100

00011111001

00101010111

00101011010

00110000110

00110001011

01000010001

01000011100

01011000000

01011001101

01101100011

01101101110

01110110010

01110111111

10,001,000,000

10,001,001,101

10,010,010,001

10,010,011,100

10,100,110,010

10,100,111,111

10,111,100,011

10,111,101,110

11,001,110,100

11,001,111,001

11,010,100,101

11,010,101,000

11,100,000,110

11,100,001,011

11,111,010,111

11,111,011,010

[0 1 0]

00000100000

00000101101

00011110001

00011111100

00101010010

00101011111

00110000011

00110001110

01000010100

01000011001

01011000101

01011001000

01101100110

01101101011

01110110111

01110111010

10,001,000,101

10,001,001,000

10,010,010,100

10,010,011,001

10,100,110,111

10,100,111,010

10,111,100,110

10,111,101,011

11,001,110,001

11,001,111,100

11,010,100,000

11,010,101,101

11,100,000,011

11,100,001,110

11,111,010,010

11,111,011,111

[0 0 1]

00000100100

00000101001

00011110101

00011111000

00101010110

00101011011

00110000111

00110001010

01000010000

01000011101

01011000001

01011001100

01101100010

01101101111

01110110011

01110111110

10,001,000,001

10,001,001,100

10,010,010,000

10,010,011,101

10,100,110,011

10,100,111,110

10,111,100,010

10,111,101,111

11,001,110,101

11,001,111,000

11,010,100,100

11,010,101,001

11,100,000,111

11,100,001,010

11,111,010,110

11,111,011,011

[1 1 0]

00000101011

00000100110

00011111010

00011110111

00101011001

00101010100

00110001000

00110000101

01000011111

01000010010

01011001110

01011000011

01101101101

01101100000

01110111100

01110110001

10,001,001,110

10,001,000,011

10,010,011,111

10,010,010,010

10,100,111,100

10,100,110,001

10,111,101,101

10,111,100,000

11,001,111,010

11,001,110,111

11,010,101,011

11,010,100,110

11,100,001,000

11,100,000,101

11,111,011,001

11,111,010,100

[0 1 1]

00000100111

00000101010

00011110110

00011111011

00101010101

00101011000

00110000100

00110001001

01000010011

01000011110

01011000010

01011001111

01101100001

01101101100

01110110000

01110111101

10,001,000,010

10,001,001,111

10,010,010,011

10,010,011,110

10,100,110,000

10,100,111,101

10,111,100,001

10,111,101,100

11,001,110,110

11,001,111,011

11,010,100,111

11,010,101,010

11,100,000,100

11,100,001,001

11,111,010,101

11,111,011,000

[1 1 1]

00000100001

00000101100

00011110000

00011111101

00101010011

00101011110

00110000010

00110001111

01000010101

01000011000

01011000100

01011001001

01101100111

01101101010

01110110110

01110111011

10,001,000,100

10,001,001,001

10,010,010,101

10,010,011,000

10,100,110,110

10,100,111,011

10,111,100,111

10,111,101,010

11,001,110,000

11,001,111,101

11,010,100,001

11,010,101,100

11,100,000,010

11,100,001,111

11,111,010,011

11,111,011,110

[1 0 1]

00000100010

00000101111

00011110011

00011111110

00101010000

00101011101

00110000001

00110001100

01000010110

01000011011

01011000111

01011001010

01101100100

01101101001

01110110101

01110111000

10,001,000,111

10,001,001,010

10,010,010,110

10,010,011,011

10,100,110,101

10,100,111,000

10,111,100,100

10,111,101,001

11,001,110,011

11,001,111,110

11,010,100,010

11,010,101,111

11,100,000,001

11,100,001,100

11,111,010,000

11,111,011,101

[1 0 1]

[0 0 0]

00000010111

00000011010

00011000110

00011001011

00101100101

00101101000

00110110100

00110111001

01000100011

01000101110

01011110010

01011111111

01101010001

01101011100

01110000000

01110001101

10,001,110,010

10,001,111,111

10,010,100,011

10,010,101,110

10,100,000,000

10,100,001,101

10,111,010,001

10,111,011,100

11,001,000,110

11,001,001,011

11,010,010,111

11,010,011,010

11,100,110,100

11,100,111,001

11,111,100,101

11,111,101,000

[1 0 0]

00000010001

00000011100

00011000000

00011001101

00101100011

00101101110

00110110010

00110111111

01000100101

01000101000

01011110100

01011111001

01101010111

01101011010

01110000110

01110001011

10,001,110,100

10,001,111,001

10,010,100,101

10,010,101,000

10,100,000,110

10,100,001,011

10,111,010,111

10,111,011,010

11,001,000,000

11,001,001,101

11,010,010,001

11,010,011,100

11,100,110,010

11,100,111,111

11,111,100,011

11,111,101,110

[0 1 0]

00000010100

00000011001

00011000101

00011001000

00101100110

00101101011

00110110111

00110111010

01000100000

01000101101

01011110001

01011111100

01101010010

01101011111

01110000011

01110001110

10,001,110,001

10,001,111,100

10,010,100,000

10,010,101,101

10,100,000,011

10,100,001,110

10,111,010,010

10,111,011,111

11,001,000,101

11,001,001,000

11,010,010,100

11,010,011,001

11,100,110,111

11,100,111,010

11,111,100,110

11,111,101,011

[0 0 1]

00000010000

00000011101

00011000001

00011001100

00101100010

00101101111

00110110011

00110111110

01000100100

01000101001

01011110101

01011111000

01101010110

01101011011

01110000111

01110001010

10,001,110,101

10,001,111,000

10,010,100,100

10,010,101,001

10,100,000,111

10,100,001,010

10,111,010,110

10,111,011,011

11,001,000,001

11,001,001,100

11,010,010,000

11,010,011,101

11,100,110,011

11,100,111,110

11,111,100,010

11,111,101,111

[1 1 0]

00000011111

00000010010

00011001110

00011000011

00101101101

00101100000

00110111100

00110110001

01000101011

01000100110

01011111010

01011110111

01101011001

01101010100

01110001000

01110000101

10,001,111,010

10,001,110,111

10,010,101,011

10,010,100,110

10,100,001,000

10,100,000,101

10,111,011,001

10,111,010,100

11,001,001,110

11,001,000,011

11,010,011,111

11,010,010,010

11,100,111,100

11,100,110,001

11,111,101,101

11,111,100,000

[0 1 1]

00000010011

00000011110

00011000010

00011001111

00101100001

00101101100

00110110000

00110111101

01000100111

01000101010

01011110110

01011111011

01101010101

01101011000

01110000100

01110001001

10,001,110,110

10,001,111,011

10,010,100,111

10,010,101,010

10,100,000,100

10,100,001,001

10,111,010,101

10,111,011,000

11,001,000,010

11,001,001,111

11,010,010,011

11,010,011,110

11,100,110,000

11,100,111,101

11,111,100,001

11,111,101,100

[1 1 1]

00000010101

00000011000

00011000100

00011001001

00101100111

00101101010

00110110110

00110111011

01000100001

01000101100

01011110000

01011111101

01101010011

01101011110

01110000010

01110001111

10,001,110,000

10,001,111,101

10,010,100,001

10,010,101,100

10,100,000,010

10,100,001,111

10,111,010,011

10,111,011,110

11,001,000,100

11,001,001,001

11,010,010,101

11,010,011,000

11,100,110,110

11,100,111,011

11,111,100,111

11,111,101,010

[1 0 1]

00000010110

00000011011

00011000111

00011001010

00101100100

00101101001

00110110101

00110111000

01000100010

01000101111

01011110011

01011111110

01101010000

01101011101

01110000001

01110001100

10,001,110,011

10,001,111,110

10,010,100,010

10,010,101,111

10,100,000,001

10,100,001,100

10,111,010,000

10,111,011,101

11,001,000,111

11,001,001,010

11,010,010,110

11,010,011,011

11,100,110,101

11,100,111,000

11,111,100,100

11,111,101,001

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kang, H., Leng, L. & Chang, CC. Overlapped (7,4) hamming code for large-capacity and low-loss data hiding. Multimed Tools Appl 82, 30345–30374 (2023). https://doi.org/10.1007/s11042-023-14502-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-023-14502-1

Keywords

Navigation