+ Reply to Thread
Results 1 to 11 of 11

Thread: help on FPGA implementation of invisible robust digital watermarking algorithm

  1. #1
    abilash Bad
    Join Date
    Jan 2007
    Posts
    28

    Default help on FPGA implementation of invisible robust digital watermarking algorithm

    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....


  2. #2
    Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent
    Join Date
    Mar 2006
    Location
    Michigan, USA (GMT-5)
    Posts
    2,892

    Default

    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.

  3. #3
    abilash Bad
    Join Date
    Jan 2007
    Posts
    28

    Default

    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....

  4. #4
    Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent
    Join Date
    Mar 2006
    Location
    Michigan, USA (GMT-5)
    Posts
    2,892

    Default

    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
    

  5. #5
    abilash Bad
    Join Date
    Jan 2007
    Posts
    28

    Default

    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....

  6. #6
    Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent
    Join Date
    Mar 2006
    Location
    Michigan, USA (GMT-5)
    Posts
    2,892

    Default

    Quote Originally Posted by abilash
    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.

  7. #7
    abilash Bad
    Join Date
    Jan 2007
    Posts
    28

    Default

    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....

  8. #8
    Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent Papabravo Excellent
    Join Date
    Mar 2006
    Location
    Michigan, USA (GMT-5)
    Posts
    2,892

    Default

    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?

  9. #9
    phalanx Newbie
    Join Date
    Oct 2003
    Location
    New Hampshire, USA
    Posts
    321

    Default

    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.

  10. #10
    abilash Bad
    Join Date
    Jan 2007
    Posts
    28

    Default

    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.....

  11. #11
    Hero999 Excellent Hero999 Excellent Hero999 Excellent Hero999 Excellent Hero999 Excellent Hero999 Excellent Hero999 Excellent Hero999 Excellent Hero999 Excellent Hero999 Excellent
    Join Date
    Apr 2006
    Location
    England
    Posts
    13,165

    Default

    The PNG is probably the best format to study first, try reading up on it on Wikipedia.
    http://en.wikipedia.org/wiki/PNG
    Last edited by Hero999; 9th March 2007 at 02:19 PM.

    I do not answer private messages asking for help because no one else can: benefit from advice I may give or correct me if I'm wrong.

    Please ask on the open forum if you have a question and I'll be happy to help,
    if I know the answer.

+ Reply to Thread

Similar Threads

  1. The Oscilloscope
    By ElectroMaster in forum Electronic Theory
    Replies: 12
    Latest: 3rd February 2008, 01:45 PM
  2. project in fpga implementation??
    By jenyoommen in forum Electronic Projects Design/Ideas/Reviews
    Replies: 0
    Latest: 23rd November 2005, 04:29 PM

Tags for this Thread