0% found this document useful (0 votes)
37 views

Audio Embedding With An Error Correction Algorithm

The document proposes two algorithms for digital audio steganography. The first algorithm hides data by modifying audio peaks between 0-255 with minimal errors. The second algorithm improves on this by implementing Hamming error correction codes, modifying peaks between 0-1000. Experimental results show the error correction algorithm recovers hidden data more accurately with higher SNR, while changes remain inaudible.

Uploaded by

yani adu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

Audio Embedding With An Error Correction Algorithm

The document proposes two algorithms for digital audio steganography. The first algorithm hides data by modifying audio peaks between 0-255 with minimal errors. The second algorithm improves on this by implementing Hamming error correction codes, modifying peaks between 0-1000. Experimental results show the error correction algorithm recovers hidden data more accurately with higher SNR, while changes remain inaudible.

Uploaded by

yani adu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Audio Embedding with an Error Correction

Algorithm
Husnu Narman

Introduction While hiding data inside a waveform audio


file (WAV), the audio file should be modified
by considering the two requirements
Multimedia data hiding is the one of the most mentioned above. The best way to accomplish
important topics which has numerous this task is to make small changes in the peaks
application areas. Such applications include, of WAV file which have values between [-1,
but not limited to, security, media, covered 1]. For example, the audio values are
communication, and annotation. [4],[5]. transformed to integers between 0-255 by
Therefore, it takes considerable attention by using;
researchers. Many hiding algorithms have
been proposed to develop a technique to hide 255
𝑓𝑖𝑥 ( ×(𝑎𝑢𝑑𝑖𝑜 𝑝𝑒𝑎𝑘 𝑣𝑎𝑙𝑢𝑒 + 1)
data in a secure way. 2

There are two important requirements in audio where fix is a MATLAB function that truncates
embedding. Two of them, which are the decimal part of a rational number. To make
perceptual transparency, and high data rate of small modifications, 0-1000 range can be used.
hidden data mentioned by Nedeljko and To illustrate;
Seppänen [6]
1000
𝑓𝑖𝑥 ( ×(𝑎𝑢𝑑𝑖𝑜 𝑝𝑒𝑎𝑘 𝑣𝑎𝑙𝑢𝑒 + 1)
Steganography is an art of language which 2
takes advantages of the weakness of the
human auditory and visual systems to Detailed explanation about how to make use of
communicate. Audio steganography is these modifications are discussed in the next
challenging to human auditory system [HAS]. section.
The human ear can detect changes in audio
files as low as one part in 10 million. [3],[7]. Due the latter modification, the stego cannot be
Therefore, throughout this paper it is assumed decoded correctly. Hence, it is necessary to
that small changes in an audio file cannot be implement error correction in the code to protect
detected by HAS. However, due to the audio stego. In this paper, Hamming Code [9] is used
file specifications, we can encounter errors for error correction.
while decoding hidden data from embedded
audio. It is important to protect the ratio
between transparency, decoding without Proposed Algorithm
errors, and hidden data rate. To manage this
goal, numerous techniques to hide data behind
an audio file have been developed. Modifying In this section, two audio steganography
lower tones, changing frames, translating peak algorithms are explained. The first one is to
to integer, and several others can be found in use any functional transform to the specified
the literature. integer range within threshold to hide the
message. Second algorithm is audio
embedding using error correction method
based on functional integer transformation. Step1: Translate secret file to binary and read
Integer transformation is also used by Agaian audio file using wavread function.
et al. [3]. The method described by Agaian is Step2: Split the binary stego file into eight bits
improved to obtain higher SNR and higher (Depending on which error correction is
rate of hidden data. selected).
Step3: Send to error handler to create 12 bit
The aim of the second algorithm is to reduce blocks with error correction bits.
the error of hidden message after decoding Step4: Find the peaks to hide based on the user
even if the hidden message can be a large file specified threshold value.
or image. The difference of this method from Step5: Use a transformation function to obtain
the first one is implementation of Hamming integer numbers for the peak values.
Code. Step6: Modify peak not to exceed range [-1, 1]
First Algorithm - Encoding: and the [-threshold, threshold] to hide error
correction bits using 0-255 interval integer
Step1: Translate secret file to binary and read transformation.
audio file using wavread function. Step7: Modify peak not to exceed range [-1, 1]
Step2: Find the peaks to hide based on the user and the [-threshold, threshold] to hide stego
specified threshold value. file bits using 0-1000 interval integer
Step3: Use a transformation function to obtain transformation or any other suitable ranges
integer numbers for the peak values (by using
the range between 0 and 255, the hidden data Second Algorithm - Decoding:
recovered with negligibly small errors.
However, when the ranged is increased, the Step1: Read the audio file using wavread
hidden data is recovered with noticeable function.
errors.). Step2: Split into 12 bit blocks.
Step4: Modify peak not to exceed range [-1, 1] Step3: Apply integer transformation for both
and the [-threshold, threshold] to hide stego error correction bits (range 0-255) and stego
file data bits. file data bits (0-1000 or any other suitable
Step5: Write the modified audio file using ranges).
wavwrite function. Step4: Evaluate mod (2) of transformed
integers.
First Algorithm - Decoding: Step5: Check the blocks for error using
Hamming Code.
Step1: Read the audio file using wavread Step6: Add the corrected 8 bit blocks to
function buffer.
Step2: Apply the integer transformation to the Step7: Invert the buffer in binary form to
peaks which are outside of [-threshold, secret data.
threshold] interval.
Step3: Evaluate mod(2) of transformed
integers and add to buffer. Experimental Result
Step4: Invert the buffer in binary form to
secret data.
Step5: Display the result. Signal to Noise Ratio (SNR) and Mean Square
Error (MSE) measures are calculated for the
raw audio and the embedded audio files for
Second Algorithm - Encoding: comparison. In addition, another measure,
Percentage Stego Error (PSE), is presented to Table 1: MSE, SNR, and PSE for two audio
compare the decoded stego file with the files processed with different integer intervals
original stego file. for relatively large stego files

𝑀𝑆𝐸(𝜑) = ∑ 𝐸((𝜑 − 𝜑 ∗ )2 )

∑ 𝜑2
𝑆𝑁𝑅(𝜑) = 10 ∙ log10 [ ]
𝑀𝑆𝐸(𝜑)

∑ 𝐹𝑜𝑢𝑛𝑑 𝑒𝑟𝑟𝑜𝑟 𝑏𝑖𝑡𝑠


𝑃𝑆𝐸 = ×100
𝑆𝑡𝑒𝑔𝑜 𝑠𝑖𝑧𝑒

Table 1 and Table 2 show the analysis of five


audio files. (Same threshold, 0.08, is used for
all experiments)
As it can be observed from tables, by looking
Table 2: MSE, SNR, and PSE for two audio
at PSE values, 0-1000 integer range
files processed with different integer intervals
transformation with error correction ([0- for relatively small stego files
1000]*) is able to recover the hidden data
more correctly than 0-1000 range
transformation without error correction. The
tables also show that [0-1000]* method
always has higher SNR than 0-255 range
transformation.

Conclusion

Two algorithms for digital audio


steganography are presented. Experimental
results show that the changes in audio section
to hide data are inaudible while the integer
range is large enough. We also successfully References
developed the audio embedding using an error
correction method based on functional integer [1] K. Gopalan and S. Wenndt, “Audio
transformation algorithm to decrease the Steganography for Covert Data Transmission
amount of error while decoding. Hamming by Imperceptible Tone Insertion”,
Code is selected as the error correction Communication Systems and Applications -
algorithm because of its easy implementation. 2004
The error correction provides an additional [2] S. Agaian, D. Akopian, O. Caglayan, and
security wall since the error correction bits are S. A. D’Souza, (2005) “Lossless Adaptive
only known by the programmer. Future work Digital Audio Steganography” In Proc. IEEE
will include the study of other error correction Int. Conf. Signals, Systems and
algorithms. Computers, pp. 903- 906.
[3] K. Gopalan,( 2003) “Audio Steganography
Using Bit Modification”, Proc. of the IEEE
2003 International Conference on Multimedia
and Exposition (ICME 2003).
[4] N. Cvejic “Reduced Distortion Bit-
Modification for LSB Audio Steganography”,
Journal of Universal Computer Science, 11(1):
56-65.
[5] R. J Anderson and F. A. P. Peticolas ,
(2001) “On the Limits of the Steganography”,
IEEE Journal Selected Areas in
Communications, 16(4), pp. 474-481
[6] N. Cvejic and T. Seppänen, (2004)
“Increasing Robustness of High Bit Rate LSB
Audio Watermarking Using a Novel LSB
Embedding Method.” Proc. International
Conference on Information Technology, Las
Vegas, NV, 533-537.
[7] W. Bender, D. Gruhl, N. Morimoto, and A.
Lu,(1996) “Techniques for Data Hiding”,
IBM System Journal, Vol. 35, Nos. 3&4, pp.
313-336
[8] S. Agaian, D. Akopian, and S. A. D’Souza,
“FreQuency Domain Based Secure Digital
Audio Steganography Algorithms”, Proc of
IEEE SP/CAS, 2005 International Workshop
on Spectral Methods and Multirate Signal
Processing, SMMS, June 20-22, 2005, Riga,
Latvia.
[9] R.W. Hamming, “Digital Filters”, Section
5.8.

You might also like