Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

help on FPGA implementation of invisible robust digital watermarking algorithm

Status
Not open for further replies.

abilash

New Member
sir, i am doing a project on FPGA implementation of invisible robust digital watermarking algorithm.... first stage of the project is to aquire the pixel values of the image given which is then subjected to some algorithm.... i would like to know how can the pixel values of the image can be aquired in vhdl... the input is a image.... the code should identify the pixel values and should be made avilable for further processing..... how can this be done....

please do help me on this....

thanks...
with great regards....
 
The image can be represented as a long bit string. You have a data input line, a clock line, and a data output line. In between is a long shift register that holds some number of bits, but less than a complete image. The number of bits devoted to each pixel depends on the information content which can range from a single bit(black/white) to 24 bits and beyond for full color.

The next step is to be able to recognize the beginning of each frame, the beginning of each line, the horizontal retrace interval and the vertical retrace interval.

Then it's just a matter of starting the pixel pump and letting 'er rip

Git 'er done! as Larry the Cable Guy would say.
 
sir, i understood your idea u mean that the whole of the image will be stored up as a series of bits. it must be breaken up into different pixel values with 24bit or some thing like that right.
i want to kno how can i get tat bit sequence from the image input. how can i input a image in vhdl... please help me on this...

thanks...
with regards....
 
I don't think the vhdl code is concerned with how the bits get to the input of your chip. It is only concerned with what happens after they do. The reference to 24 bits was to create one colored pixel from three 8-bit values which could be written to Digital to Analog converters controlling the Red, Blue, and Green guns aimed at the screen.

On the other hand if you have a monochrome screen ( aka Black and White) then a single 8-bit byte could represent 256 shades of gray.

It might help if you did some research into various video formats so that you can evaluate the alternatives. It's pretty hard to write code before you define your objective and the requirements.

Back of the envelope calculation
Code:
Assume a screen is 640 pixels across and 480 pixels tall
This is 307,200 pixels for the whole screen.
Using 24 bits per pixel gives 7,372,800 bits in a single image
At 30 frames per second this is 221,184,000 bits per second
That's about 4.5 nano seconds per bit which is smokin' along
 
sir, so do you mean that i need to use a analog to digital converter to get the pixel value. or there is no means by which we can obtain the pixel values through vhdl....
 
abilash said:
sir, so do you mean that i need to use a analog to digital converter to get the pixel value. or there is no means by which we can obtain the pixel values through vhdl....
I'm not entirely certain how images are captured and digitized. Some cameras use CCDs (Charge Coupled Devices) and convert the output to a bitstream which goes to the LCD display and or an external connector. It may require multiple fast A/D converters to do the job. I don't know for sure. There are standard interfaces for connecting cameras to TVs, VCRs, and DVRs. Try googling for video interfaces to expand your knowledge base.
 
sir, i would like to know if there is any means of obtaining the pixel values of the image which is scanned on to the system not using any device as camera or TV... if its so how can write the code to obtain the pixel value of the image which is bein scanned on the system....
 
I'm still not sure I understand what you are asking for. Once an image has been scanned by some means, it can be stored in a file on a hard disk, or DVD, or VHS cassette. It can be recalled from the storage medium and converted into a string of bits. A ".jpeg" or ".jpg" file is an example of a file format which is used for storing stationary images. In these types of file formats I believe there is compression involved. So if you are looking at one of these files you would have to decompress the information, add the watermark, and recompress them.

Is this what you are looking for?
 
Where is the original image stored? Is it on another computer? Is it on a piece of paper? Is it on a flash memory card? Is it supposed to be taken in real time by interfacing with a CCD? Are you intercepting a TV signal or VGA signal?

In any case you will have to write a module designed to interface with the necessary sensor, converter, or interface. You will also need temporary memory to store your data while the calculations are being performed. This will entail writing a memory controller for your system. You will then have to write a module that will put your water mark in the appropriate memory locations. When everything is said and done, you will have to write a state machine module to synchronize all the activities of your system.

I'm sure there are more modules to be written but this is what I came up with in 2 minutes. No one will be able to help you unless you can properly describe the system you must design. From what you have posted in other threads, I suggest you hit the books because I still think you are expecting VHDL to work like a programming language for a CPU.
 
mr.Papabravo, you got what i want..... i want to know how can the image in "jpeg" or "gif" or any file format be decompressed so that i can obtain the bit pattern....
i understood the idea that when ew are using a device such as cam or TV we can write a module so that it obtains the bit pattern directly from the imaging device. my problem is how can i get the pixel values directly from the image that is scanned and stored in some sort of memery may be flash memory or hard disk of the computer. if u advice me to use a device for image capturing and convert into bit stream. how can this be done... please do provide some material where i can get information about it....

thank you so much for ya responses...
with great regards.....
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top