| cr88192 2005-03-19, 3:55 pm |
|
"cr88192" <cr88192@NOSPAM.hotmail.com> wrote in message
news:FGQ_d.8152$xv.5911@fe07.usenetserver.com...
>
> "cp" <cp@cp.fr> wrote in message
> news:423bce4e$0$19343$8fcfb975@news.wanadoo.fr...
>
> it seems the hard part is not so much getting the basic encoder, but
> actually utilizing it...
>
> comming up with good ways of generating weights is proving somewhat more
> difficult than just the basic encoding.
>
and worked out, again...
> it seems that working at the bit level gets slightly better ratios at the
> cost of some speed.
>
> when I use "controlled" weights (eg: gradiant functions, constant weights,
> ...) it seems to behave in some predictable way, but, eg, when trying to
> gather statistics from files (eg: bit-weight trees, ...) I get results
> anywhere from notatble compression to signifigant expansion...
>
> I guess these functions work, but I can't really tell...
>
I have now confirmed better that, given decent weights, the ratios don't
suck.
ripping off essentially the model used by fpaq0 (a context value and pairs
of counts) has proven somewhat effective, and it also seems my ratios are
somewhat better than fpaq0 for whatever reason...
my old models (somewhat more "involved") had generated quite poor results in
comparrison.
so what?...
ok, so by my own hands I have recreated something resembling fpaq0...
trivial variations, eg, higher order contexts, are possibly but would need
more memory.
of course, there are other things. eg: generating weights using a fixed
curve, could be useful, eg, for encoding numbers.
instead of a hackish variable bit-length scheme, I use a simpler scheme of
encoding a fixed-width value, giving much higher 0 weights for high-order
bits and much more neutral ones for lower bits.
better schemes of encoding numbers may exist though, I don't know.
speed is presently a little lame, comming in at about 600-800kB/s for an
encode and decode pass. I guess it could probably be made faster...
for some files, the sync seems to break after a while, may need to figure
this one out.
I don't know, none of this is really original afaik.
I guess it is sort of an accomplishment "for me", since for me I have
previously not been able to get arithmatic coders to work, or mess around
with them in this way.
or such...
|