The error is filtered according to the saturation of the original color. This allows saturated colors to stay "pure", reducing the noise, hence inducing less color-clashes and improving quality a lot. (This is original idea #1) This also can be used to make the piture being too artificial by abusing saturated colors.)

Using harmless simplifications about propagation of effors between octets (idea #2), it capable of exploring the whole depth of the decision-tree for a line (pipi.exe only seem to explore depth 2 max). This ensure that the minimal delta-E is obtained for each row.

It is fast. It takes around 20sec/image under grafX2 (interpreted LUA).

It is simple and straightforward. There are very few black-magick tricks in there. It is just idea #1 and #2 working together.

During my summer vacation I wanted to create a C plugin for XnView allowing to read/write oric tap files with that algorithm. Unfortunately, the vacation is nearly over, and I didn't get enough time to finish the C code (I was fine-tuning the filtering algorithm on a huge corpus of images). Anyway, I can give you the latest experiment-script I use in GrafX2 as well with a set of random examples I got with it..

Some images are good and some others are... well.. could be... better Actually the algorithm has a pair of parameters in error filtering that can improve the quality. I need more work to find one set of param that works best for all of my corpus. Anyway, the provided ones are quite good at the moment (but I know I can have even better quality).

in line 424 makes better images (the formula doesn't depend on the intensity of the color anymore). Unfortunately it is too late tonight for me to regenerate the pictures. But here is what I get with it on a "difficult" image (eg. and image which has some fine details)

I've found a new evolution of the algorithm that improves the quality alot on many images but might reduce it on very few ones. I need to work on this, but if anyone is willing to make a Cauldron-like game, here is a picture I recently converted:

Nice improvement, indeed!
What about to release a standalone version? If you don't want to bother with all different input formats then simple BMP should be enough.
I think I already have some BMP file handling in LUA but it's easy to be coded from scratch anytime...

It is too early to make a stand-alone version. This is still W.I.P. and using it in graphX2 is quite handy (undo/redo, support for many file format, etc). I still need to do some research to make the algorithm more robust in order to have images of constant (and predictible) quality. I think I'm getting close to the definitive algorithm. For instance this weekend I get some nice results on heroic-fantasies images with my latest revision of the algorithm. See the enclosed zip file (which includes the new algorithm in "oric_tst5.lua").

I forgot to translate Chema's avatar, but it is already Oric compatible

The octopus looks quite nice with the latest slight modification of the algorithm. I tried to compare the result of productions done by IoCero.com, but although I can find the oric pictures he made, I could'nt get the original pictures to test the algorithm.