Context Modeling is a divide-and-conquer method based on separation of data into subsequences by context, so that each subsequence can be approximated with a simple model (usually memoryless) while still providing a good overall precision. Most widely used CM subclass is PPM, which concentrates on a single context model due to performance considerations and switches to other contexts only if the main model fails. This allows PPM compressors to keep competitive speed at the cost of some prediction imprecision showing as redundancy. Another known subclass is Context Mixing, which linearly combines the predictions of several submodels. More complex schemes with secondary models using the primary predictions as context seem to remain anonymous. Then, there's yet another approach which also approximates complex data with simple model but by a static data transformation (LZ, Block Sorting, Symbol Ranking). Strange as it may seem, CM too is only a speed/redundancy tradeoff stage, as an ultimate modelling method is to find a function which generates given data. There're even some practical applications for this in the cases with known source model, then parameters can be determined by maximum likelihood.
2008-06-18 21:06:29 toffer >
> Another known subclass is Context Mixing, which
> linearly combines the predictions of several submodels.
Mixing doesn't need to be a linear function, e.g. my
m01(2) mixer approximates a (rotation symmetrical assumed)
weighting function by piecewise linear mixing.
2008-06-18 21:06:54 Shelwien >
That quote is followed by "More complex schemes with
secondary models using the primary predictions as context
seem to remain anonymous".
So I'm just saying that your method is not "mixing" already,
but something more complex.
And linear mixing deserves a separate class because it has
its unique speed/quality balance.
2009-12-30 18:37:43 Chris >
Can anyone help me get started
i have done lz+huff and symbol ranking
but i have trouble geting started on context mixing
where do i start ?
2010-01-03 12:29:02 Shelwien >
CM compressor is usually a statistical model + arithmetic coder/rangecoder.
So I guess getting a good rangecoder would be the right thing to do first.
2010-01-14 16:09:02 pmcontext >
I have implemented range coding similar to schindlers
and also comfortable with fpaq0 binary coder.
are these good to start ?
I changed the name from chris to pmcontext
i noticed someone else previously had the name
2010-07-02 14:00:26 Anonymous >
hi i want context modelling using verilog from anil MTech
2010-07-02 14:55:59 Shelwien >
I don't see why not. Statistical context models is just
a bunch of state machines in the end.
And actually there're some even in stuff like jpeg and h264
decoders, so maybe you can find some sources for these.
Unfortunately I never tried to design a hardware CM codec :)
2013-07-27 19:36:09 >
2013-11-18 12:31:16 >
2014-03-24 09:34:40 uBacMZr >
aha, I like this topic, bookmark this page, huangjintang.
2014-11-26 09:04:53 >
2015-01-11 06:31:23 >