View Single Post
Old 21st February 2003, 15:57   #145  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
News ;-)

I haven't done much programming for a few days but this morning I did make a new version of Dctfilter.

This includes a new function DctFilterD(DiagCt) that works on diagonals. It is simpler and either zeroes diagonals or leaves them alone.

In a 8x8 DCT result there are 15 possible diagonals (visualize a chess board). So if you specify:

DctFilterD(4)

then the 4 diagonals in the lower right corner of the DCT result will be set to 0. The DiagCt parm may be any integer value from 1-14.

I haven't tested this much but, like my results with custom quant tables, it appears if you set DiagCt very large you will start to get edge noise, something like ringing. You can see this in the DctFilterD(10) part of the sample picture I put out at www.trbarry.com/DctFilterD.jpg .

Like usual, get the files (source and dll) at:

www.trbarry.com/Readme_DctFilter.txt and
www.trbarry.com/DctFilter.zip

The diagonal version is certainly easier to specify, and runs a tiny bit faster but I'd be interested in any feedback about whether it really does a better job. I'm still very uncertain about this.

- Tom

Last edited by trbarry; 21st February 2003 at 16:09.
trbarry is offline   Reply With Quote