I spent a few days a few weeks ago on cache-aware/cuckoo hashing. I think there's some simple heuristics for doing things cache-aware, but I'm cooling to the idea of cuckoo hashing. It supports very high load factors, but average probing still has a bad knee.
June 9, 2011 at 7:57 AM
Publicly getting my thoughts together :
1. Oodle. Just finish it! God damn it.
2. JPEG decoder. I got really close to having this done, need to finish it. The main thing left that I want to do is work on
the edge-adaptive-bilteral filter a bit more; currently it's a bit too strong on the non-artifact areas, I think I can make it
more selective about only working on the ringing and blockiness. The other things I want are chroma-from-luma support and a special
mode for text/graphics.
3. Byte-wise LZ with optimal parse. This has been on my list for a long time. I'm not really super motivated though. But it goes along
with -
4. LZ string matcher test. Hash tables, hash->list, hash->bintree, hash->MMC, suffix trees, suffix arrays, patricia tries, etc. ? Would be
nice to make a thorough test bed for this. (would also help the Oodle LZ encoder which is currently a bit slow due to me not spending any
time on the string matcher).
5. Cuckoo hash / cache aware hash ; I did a bunch of hash testing a while ago and want to add this to my tests. I'm very curious about it,
but this is kind of pointless.
6. Image doubler / denoiser / etc ; mmm meh I've lost my motivation for this. It's a big project and I have too many other things to do.
7. Make an indy game. Sometimes I get the craving to do something interactive/artistic. I miss being able to play with my work. (I also
get the craving to make a "demo" which would be fun and is rather less pain in the butt than making a full game). Anyhoo, probably not gonna
happen, since there's just not enough time for this.
ADDENDUM : some I forgot :
8. Finish my video codec ; I still want to redo my back end coder which was really never intented for video;
maybe support multiple sizes of blocks; try some more perceptual metrics for encoder decision making; various
other ideas.
9. New lossy image codec ; I have an unfinished one that I did for RAD, but I think I should just scrap it and
do the new one. I'm interested in directional DCT. Also simple highly asymetric schemes, such as static classes
that are encoder-optimized (instead of adaptive models; adaptive models are very bad for LHS). More generally, I
have some ideas about trying to make a codec that is more explicitly perceptual, it might be terrible in rmse, but
look better to the human eye; one part of that is using the imdiff metrics I trained earlier, another part is
block classification (smooth,edge,detail) and special coders per class.
"06-08-11 - Tech Todos"
2 Comments -
Personally, I'd love to see your take on byte-wise LZ with optimal parsing.
June 8, 2011 at 10:00 PM
I spent a few days a few weeks ago on cache-aware/cuckoo hashing. I think there's some simple heuristics for doing things cache-aware, but I'm cooling to the idea of cuckoo hashing. It supports very high load factors, but average probing still has a bad knee.
June 9, 2011 at 7:57 AM