Help with reading pixel values from an image for DCT core

Status
Not open for further replies.

femystika08

Newbie level 5
Joined
Dec 10, 2012
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Visit site
Activity points
1,330
I am trying implement a 2D DCT core. I need an input buffer(RAM ) which loads 8x8 blocks into DCT core in row by row mode and an output buffer which stores 8x8 blocks of DCT coefficients in row by row mode.

I want to instantiate and initilize FPGA ram with the pixel values. I have a 240x160 image which would be stored in addr1615 downto 0)
I'm looking for a way to partition pixel data into blocks of size 8X8, then use 1 block at a time. What I really don't understand is how to properly feed core with 8x8 blocks from addr16(15 downto 0).
 

The 3 lsbs (2..0) are row address, (5..3) = column address, (15..6) = block address.

- - - Updated - - -

The 3 lsbs (2..0) are row address, (5..3) = column address, (15..6) = block address.
 
Thanks for your reply Tricky,

Any thoughts on Timing?
I Know I have to give 8 bits row-wise on every clk impulse meaning 64 clks for each block. Could you please explain to me what kind of buffers I need and how to implement them according to the input and output buffer block diagrams.
 

well, you have to do some sort of data processing with each block right? so youi'll need some adders and multipliers and all that gubbins. And make sure each one is registered.

Sounds like you only need a counter for the block addresses. Even sounds like you dont even need row or column at all as you're going to process it all in parrallel.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…