Friday, March 27, 2009

Dresden China Figurines



The most basic way to hide information in images is by using the method LSB (Least Significant Bit English, English bit less significant). Unfortunately not know the reference of the first work which mentions the use of this method, if any of you know please help me to know.

This method involves replacing the least significant bits each pixel with the bits of information to hide.

As the best way to learn is by example, then we see this method in action. Take

carrier medium Lena image, the message will hide 2048 bits in length and will follow the following pattern:

Message = 11111111 00000000 11111111 00000000 ...


Lena image, used to hide the message

As mentioned in the entry some images, the images are formed by a depth of color, is the case Lena image is an image of 8 bits. That is, each pixel is represented with 8 bits, which causes the image is 256 colors (in this case is in gray scale) ranging from black (0 in decimal or in binary 00000000 ) to white (255 in decimal or in binary 11111111 ).

The least significant bit (lsb in lower case or to refer to the least significant bit and not the method for hiding information) determines the parity of a number. The lsb is also known as the rightmost bit . Against part or most significant bit msb represents the most bit left. For example in the following image shows the binary representation of decimal number 211 , the lsb is marked with orange and purple color lsb. The msb represents a decimal value of 128 lsb and a decimal value of 1 .

Binary representation of decimal number 211 , the lsb is marked with orange


The plane lsb is 1-bit binary image formed by all the lsb of the image. The following image depicts the LSB plane of the image of Lena.

lsb of Plano Lena image


Now for the other planes binary image of Lena.

Plans binary image of Lena


LSB method is to modify the LSB plane of the image carrier with the brand to hide. Thus, if we replace lsb bits of the plane row by row with the brand mentioned above (the pattern of eight zeros and eight ones) resulting lsb level will appear as shown in the picture below.
lsb Plano marked

The watermarked image, ie the image with the modified lsb plane is shown below.
marked Lena image using the LSB method

is important to note that if we see the two images can not perceive Jutas which is marked and what is the original, since it only changed the value of the pixels in a unit and this happens at the worst. The following image shows the original Lena image, the watermarked image and finally the absolute difference of the two images. In this last image the white pixels represent the pixels that changed in magnitude to be marked.
difference between the original Lena image and marked


These changes made using the LSB method are imperceptible to the human eye, however if the level is plotted lsb can easily notice that "something strange in the picture" and not for the fact that we have used a clearly visible mark above. You might think that the plane has a random nature lsb, ie not have a pattern like the other planes (ie the bit planes 4,5,6,7 and 8) but the reality is different, the plane if you have lsb a pattern that depends on the image, but at first glance not feel it. For example the following figure shows a flat image and lsb. Here you may notice a pattern to the naked eye at the lsb.
Pattern en el plano lsb de la imagen Bird


Para evitar que la marca sea detectada a simple vista (esto se considera un ataque visual, como se mencionó en la entrada clasificaciones de las marcas de agua ), muchos diseñadores no la esconden linealmente como lo hicimos en el ejemplo descrito, sino la esconden en posiciones dadas por un generador de números pseudoaleatorios, así la esparcen en toda la imagen incrementando la indetectibilidad.

En la siguiente entrada analizaremos más a fondo este método LSB y de igual forma mostraremos unas modificaciones del mismo. Por ejemplo, la modificación para ocultar una imagen dentro de otra, la modificación para detectar cambios hechos en marked image (integrity) and can be modified to recover the original image of the watermarked image (reversible method).

Be well and we are in contact ...

PD. The source code (in Matlab) of the method explained in this entry is listed below:
1. LSB Method hiding a message in an image bmp newspaper.


Tuesday, March 3, 2009

Front Panel Audio Jack With Audigy Se

auto_install FFmpeg on Mac OS X

This entry is a break from the previous post and that I will later (the explanation of the LSB method to hide information in pictures) ... The posting because I had this information written As I have not written anything, I did not leave without reading a while lol ...

Thus, I will describe the installation of FFmpeg in Mac OS X and the steps required to do so and additional resources used.

Importantly FFmpeg is a collection of free software that can record, convert and makes streaming audio and video (used in Windows, Linux, Mac OS or other operating systems) ... Mind you, we utlized a FFmpeg libraries to manipulate our videos from programming in C (libavcodec and libavformat). For more information about FFmpeg can give click here . Other library

free and open-source used for handling video (in Java) is Xuggle ... This library is brand new package for the released later this year. Note that Xuggle uses FFmpeg to do such work.

First, instalarmos FFmpeg on Mac OS X 10.5.6 on an Intel MacBook Pro The source of information in this post is on this page: Installing and using FFmpeg on Mac OS X .

The intention to do later is to use the FFmpeg libraries to manipulate each of the frames of a video (hide details) and return to the same.To this video, you need to install are the tools development of apple. Mainly install XCode 3.1 or higher, comes on the DVD included with the Mac or can be downloaded from the Development Tools

apple then install FFmpeg and accessories.

Prerequisites: LAME

Libraries to handle MP3, useful when handling flv videos. FFmpeg does not include an MP3 encoder, because it will use LAME. The installation steps down the source codes are:

1. Create a working directory home :

mkdir ~ / lame
cd ~ / lame


2. Download the sources from SourceForge . The file has a name like lame-398-2.tar.gz or something similar. Keep them in the new directory created (step 1).

3. Decompress the source, using this command (you have to be inside the folder lame):

tar xvzf lame-398-2.tar.gz

4. Decompression creates a new folder : lame-398-2 in which you have to go and continue with the three typical installation command. To do so, write these commands

cd lame-
398-2. / Configure

make sudo make install


Each command takes about a minute to complete. We must be alert for errors that are generated, but LAME is usually error-free installation.

Installing FFmpeg on Mac OS X 10.5.6

will install the latest version of FFmpeg. (Versions 3.1 or higher are included Xcode subversion , no need to install Fink ). The installation steps are:

1. Create a working directory

mkdir ~ / ffmpeg
cd ~ / ffmpeg


2. Download the latest version of FFmpeg svn path (in our case the data were reviewed 17,451).

svn checkout svn: / / svn.ffmpeg.org / ffmpeg / trunk ffmpeg cd ffmpeg


3. Then configure and make

. / Configure - enable-libmp3lame - enable-shared - disable-mmx

make sudo make install

parameter - disable-mmx not Power PC is required. If left on an Intel Mac, you will probably get some compile errors, but this will provide speed. Congratulations

have FFmpeg installed in our Mac With this you can manipulate audio and video (see tutorial ) and better yet we can use the libraries do.

To verify correct installation simply open the Cosola and write

ffmpeg

The output should look like this

FFmpeg version SVN-r17451, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: - enable-libmp3lame - enable-shared - disable-mmx libavutil 49.14
. 0 / 49.14.
0 libavcodec 52.16. 0 / 52.16.
0 libavformat 52.29. 1 / 52.29. 1
libavdevice 52. 1. 0 / 52. 1. 0
built on February 19, 2009 2:52:53, gcc: 4.0.1 (Apple Inc. build 5484)
At least one output file
Must Be Specified


A command to view information about a video called Video.avi is:

ffmpeg-i video.avi

After this roll will continue with management and FFmpeg libraries,
Greetings to all.


Mac OS X