Floating pt representation in DCT

Status
Not open for further replies.

Nikolai

Member level 3
Joined
Jun 24, 2007
Messages
62
Helped
2
Reputation
4
Reaction score
0
Trophy points
1,286
Activity points
1,879
this refers to the Xilinx application not on implementation of DCT...

Can anybody tell me which type of floating point representation is used to store the cosine coefficients in matrices C and Ct...


for eg : the top left value in the matrix C evaluates to 0.125 but is stored as 23170.
 

I'm guessing that you looking at this paper: "Video Compression Using DCT"
https://www.xilinx.com/bvdocs/appnotes/xapp610.pdf

It's not floating point, it's fixed-point integer.

M = N = 8
col = 0
row = 0
C = K * cos((2 * col + 1) * row * pi / (2 * M))
K = sqrt(1/N) . . . . . The PDF says sqrt(1)/N but that's a typo!
C = sqrt(1/8) * cos(0)
C = 0.353553391
Convert to integer by multiplying by 65536:
C * 65536 = 23170
 
Ohhhh....k

So they converted floating point to fixed point. Bin lookin for it everywhere but couldnt find an explanation...

Thanx a lot !
 

this refers to the Xilinx application not on implementation of DCT...
can any one say y the decimal converted values are not stored instead differnt values are stored in 1d dct constant coefficients for multipliers like 91 & 126 , which are not equal to 23170, in the code xilinx have provided ??
 

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