Introduction
Digital steganography involves concealing information with in carrier media such as images. This approach employs Discrete Cosine Transform (DCT) block processing combined with histogram equalization to embed data into grayscale images while maintaining visual quality and robustness.
Methodology
The proposed technique follows these steps:
- Block Division: Partition the host image into 8×8 pixel blocks
- DCT Transformation: Apply DCT to each block to obtain frequency coefficients
- Data Embedding: Insert secret information into low-frequency DCT coefficients using predefined encoding rules
- Histogram Processing: Perform histogram equalization on modified blocks to enhance contrast distribution
- Inverse Transformation: Apply inverse DCT to reconstruct the stego-image
Implementation
Here's a MATLAB function for computing image histogram probabilities:
function FreqDist = ComputeHistogram( img )
%COMPUTEHISTOGRAM Calculate normalized histogram distribution
% Input: img - grayscale image matrix
% Output: FreqDist - probability distribution vector
img = uint8(img);
[rows, cols] = size(img);
BinCount = zeros(256, 1);
for i = 1:rows
for j = 1:cols
pixelVal = img(i, j) + 1;
BinCount(pixelVal) = BinCount(pixelVal) + 1;
end
end
totalPixels = rows * cols;
FreqDist = BinCount / totalPixels;
end
Results and Analysis
Experimental evaluasion demonstrates that this method achieves:
- High embedding capacity compared to conventional approaches
- Strong resistance to common image processing operations including compression and filtering
- Minimal visual distortion between original and stego-images
Technical Advantages
The combination of DCT block processing and histogram manipulation provides:
- Improved local feature utilization through block-based processing
- Enhannced concealment through contrast normalization
- Balanced trade-off between payload capacity and detectability