2013-04-04 5 views
6

स्टेग्नोग्राफ़ी में, least significant bit (LSB) substitution विधि कवर माध्यम से बिट्स के स्थान पर गुप्त बिट्स को एम्बेड करती है, उदाहरण के लिए, छवि पिक्सेल। कुछ तरीकों से, छवि के Discrete Wavelet Transform (डीडब्ल्यूटी) को लिया जाता है और गुप्त बिट्स डीडब्ल्यूटी गुणांक में एम्बेडेड होते हैं, जिसके बाद इनवर्स ट्रान्सफॉर्म का उपयोग स्टीगो छवि के पुनर्निर्माण के लिए किया जाता है।एलएसबी प्रतिस्थापन स्टेग्नोग्राफ़ी में डीडब्ल्यूटी का उपयोग कैसे किया जा सकता है

हालांकि, डीडब्ल्यूटी फ्लोट गुणांक उत्पन्न करता है और एलएसबी प्रतिस्थापन विधि पूर्णांक मानों की आवश्यकता होती है। मैंने जो अधिकांश कागजात पढ़े हैं, वे 2 डी हायर वेवलेट का उपयोग करते हैं, फिर भी, वे अपनी पद्धति पर स्पष्ट नहीं हैं। मैंने ट्रांसफॉर्म को निम्न और उच्च पास फ़िल्टर (फ्लोट ट्रांसफॉर्म) के संदर्भ में परिभाषित किया है, या जोड़ी मूल्यों का योग और अंतर लेना, या औसत और औसत अंतर इत्यादि

अधिक स्पष्ट रूप से, या तो आगे या उलटा परिवर्तन (लेकिन आवश्यक रूप से उपयोग किए गए सूत्रों के आधार पर दोनों में जरूरी नहीं) अंत में फ्लोट संख्या दिखाई देगी। मैं उन्हें गुणांक के लिए नहीं रख सकता क्योंकि प्रतिस्थापन काम नहीं करेगा और मैं उन्हें पुनर्निर्मित पिक्सेल के लिए नहीं रख सकता क्योंकि छवि को भंडारण के लिए पूर्णांक मानों की आवश्यकता होती है।

उदाहरण के लिए, आइए 1 डी सरणी के रूप में पिक्सेल की एक जोड़ी, A और B पर विचार करें। कम आवृत्ति गुणांक योग, यानी s = A + B, और अंतर से उच्च आवृत्ति गुणांक द्वारा परिभाषित किया गया है, यानी d = A - B। इसके बाद हम B = (s - d)/2 और A = s - B के साथ मूल पिक्सल का पुनर्निर्माण कर सकते हैं। हालांकि, गुणांक के साथ थोड़ा सा झुकाव के बाद, s - d अब और भी नहीं हो सकता है और पुनर्निर्मित पिक्सल के लिए फ़्लोट मान उभरेंगे।

2 डी मामले के लिए, 1 डी ट्रांसफॉर्म पंक्तियों और स्तंभों के लिए अलग से लागू किया जाता है, इसलिए अंत में 4 से एक विभाजन कहीं भी होगा। इसके परिणामस्वरूप फ्लोट बने रहने वाले मान .00, .25, .50 और .75। मैं केवल one paper पर आया हूं जो इस समस्या को संबोधित करता है। बाकी उनकी पद्धति में बहुत अस्पष्ट हैं और मैं उन्हें दोहराने के लिए संघर्ष करता हूं। फिर भी, छवि स्टेग्नोग्राफ़ी के लिए डीडब्ल्यूटी को व्यापक रूप से कार्यान्वित किया गया है।

मेरा सवाल यह है कि, मैंने जो कुछ साहित्य पढ़ा है वह प्रबुद्ध नहीं रहा है, यह कैसे संभव हो सकता है? एक ट्रांसफॉर्म का उपयोग कैसे कर सकता है जो फ्लोट वैल्यू पेश करता है, फिर भी पूरी स्टेग्नोग्राफी विधि को पूर्णांक की आवश्यकता होती है?

उत्तर

7

एक समाधान जो मेरे लिए काम करता है वह इंटेगर वेवलेट ट्रांसफॉर्म का उपयोग कर रहा है, जिसे कुछ को lifting scheme भी कहा जाता है। हार तरंगिका के लिए, मैंने देखा है यह रूप में परिभाषित किया:

s = floor((A + B)/2) 
d = A - B 

और उलटा के लिए:

A = s + floor((d + 1)/2) 
B = s - floor(d/2) 

सभी पूरी प्रक्रिया के दौरान मान पूर्णांक हैं। कारण यह काम करता है क्योंकि सूत्रों में पिक्सल/गुणांक दोनों के अजीब हिस्सों के बारे में जानकारी होती है, इसलिए गोल करने से जानकारी का कोई नुकसान नहीं होता है। यहां तक ​​कि यदि कोई गुणांक को संशोधित करता है और फिर उलटा परिवर्तन लेता है, तो पुनर्निर्मित पिक्सल अभी भी पूर्णांक होंगे। अजगर में

उदाहरण कार्यान्वयन:

import numpy as np 

def _iwt(array): 
    output = np.zeros_like(array) 
    nx, ny = array.shape 
    x = nx // 2 
    for j in xrange(ny): 
     output[0:x,j] = (array[0::2,j] + array[1::2,j])//2 
     output[x:nx,j] = array[0::2,j] - array[1::2,j] 
    return output 

def _iiwt(array): 
    output = np.zeros_like(array) 
    nx, ny = array.shape 
    x = nx // 2 
    for j in xrange(ny): 
     output[0::2,j] = array[0:x,j] + (array[x:nx,j] + 1)//2 
     output[1::2,j] = output[0::2,j] - array[x:nx,j] 
    return output 

def iwt2(array): 
    return _iwt(_iwt(array.astype(int)).T).T 

def iiwt2(array): 
    return _iiwt(_iiwt(array.astype(int).T).T) 

कुछ भाषाओं में पहले से ही निर्मित है इस उद्देश्य के लिए कार्य करता है। उदाहरण के लिए, मैटलैब 2 डी उठाने-योजना वेवलेट ट्रांसफॉर्म के लिए lwt2() और ilwt2() का उपयोग करता है।

els = {'p',[-0.125 0.125],0}; 
lshaarInt = liftwave('haar','int2int'); 
lsnewInt = addlift(lshaarInt,els); 
[cAint,cHint,cVint,cDint] = lwt2(x,lsnewInt) % x is your image 
xRecInt = ilwt2(cAint,cHint,cVint,cDint,lsnewInt); 

एक लेख उदाहरण है जहाँ आईडब्ल्यूटी छवि स्टेग्नोग्राफ़ी के लिए इस्तेमाल किया गया था Raja, K.B. et. al (2008) Robust image adaptive steganography using integer wavelets.

है
संबंधित मुद्दे