Results 1 to 8 of 8

Thread: How to integrate a match finder with a PPM based range encoder?

  1. #1
    Member
    Join Date
    Feb 2011
    Location
    USA
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    How to integrate a match finder with a PPM based range encoder?

    Hi all,

    I just finished a match finder, and want to integrate with some existing encoders to further encode the output. Basically the output of the match finder is (match_pos, matchLen, symbol). Is there any existing PPM based range encoder that i can just put them together?


    Thanks in advance!

  2. #2
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,375
    Thanks
    214
    Thanked 1,023 Times in 544 Posts
    What's a "PPM based range encoder"?
    Do you want to make a PPM coder based on your match finder?
    Or just add statistical compression to match finder output?
    Anyway, here're some links:
    http://nishi.dreamhosters.com/u/lzma.rar -- lzma, which has a match finder and encodes its output with a rangecoder.
    http://ctxmodel.net/files/PPMd/ppmd_Jr1_sh8.rar -- PPM, which encodes the data symbol by symbol
    http://compression.ru/sh/aridemo6.rar -- bytewise rangecoding demo
    http://encode.su/threads/1153-Simple...angecoder-demo -- bitwise rangecoding demo

  3. #3
    Programmer osmanturan's Avatar
    Join Date
    May 2008
    Location
    Mersin, Turkiye
    Posts
    651
    Thanks
    0
    Thanked 0 Times in 0 Posts
    I think, he meant bytewise range coder
    BIT Archiver homepage: www.osmanturan.com

  4. #4
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,507
    Thanks
    742
    Thanked 665 Times in 359 Posts
    i think he means using model with order>0, like quad does

  5. #5
    Member
    Join Date
    Jun 2009
    Location
    Kraków, Poland
    Posts
    1,474
    Thanks
    26
    Thanked 121 Times in 95 Posts
    I think he just read about the pure original LZ77 and found it has poor compression and wants to encode each component of the triple (match_pos, matchLen, symbol) with PPM like coder. Does someone have crystal ball to guess author intention? :P

  6. #6
    Member
    Join Date
    Feb 2011
    Location
    USA
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Really sorry the confusion. I am a totally newbie to the compression field. Only read some pages on the compression book few days ago.

    Now i have a match finder which outputs (match_pos, match_len, symbol), and i want to find something can further compression the match finder's output. But i failed to find some existing codes to integrate with. I tried to look at programs like LZMA, but just found its range encoder is really complex to integrate with (LZMA's match finder's output is not same with what i have).

    Actually you are all right, I just want to find some existing range coder or PPM based coder to further compress the match finder's output.

    Thanks!

  7. #7
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,375
    Thanks
    214
    Thanked 1,023 Times in 544 Posts
    > LZMA's match finder's output is not same with what i have

    Nobody knows what you have, and lzma's problem is that its hard to understand due to optimizations,
    while its literal/length/distance coding ideas seem fairly universal.
    I can also suggest some simpler LZ-like coders:
    http://sourceforge.net/projects/balz...ar.gz/download
    http://www.ezcodesample.com/rolz/rolz_article.html

    > I just want to find some existing range coder or PPM based coder

    0. I already posted a few.

    1. PPM is Prediction by Partial Match and basically is another kind of data transformation, like LZ.
    It also has to use a rangecoder (or another entropy coder) for actual compression.

    2. You don't need a PPM part in your LZ coder - it normally would be more complicated than what
    you already have, and also inefficient and slow.
    However, you can write your match data into a file and compress it with an external compressor -
    it can be ppmd if you want PPM so much, but something like ccm or paq would be likely better.

    3. You can also look at http://nishi.dreamhosters.com/u/lzmarec_v1a_bin.rar
    "lzmarec d geo.lzma 1" there produces a dump of lzma's match/literal data, and lzmacomp compresses it.
    I can post a description of lzmarec dump structure, if necessary - with it, you'd be potentially able to
    generate a similar structure with your match finder and thus make use of lzmacomp for compression.

  8. #8
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,507
    Thanks
    742
    Thanked 665 Times in 359 Posts
    you may try to integrate with my tornado sources that clearly separates match finder, model and entropy coder

    http://freearc.org/Research.aspx

Similar Threads

  1. A new match searching structure ?
    By Cyan in forum Data Compression
    Replies: 71
    Last Post: 3rd January 2011, 10:19
  2. PPMX v0.05 - new PPM-based compressor
    By encode in forum Data Compression
    Replies: 49
    Last Post: 28th July 2010, 03:47
  3. How fast should be a range coder ?
    By Cyan in forum Data Compression
    Replies: 33
    Last Post: 16th November 2009, 17:02
  4. PPMX - a new PPM encoder
    By encode in forum Data Compression
    Replies: 14
    Last Post: 30th November 2008, 17:03
  5. CM Match model
    By toffer in forum Forum Archive
    Replies: 32
    Last Post: 1st February 2008, 20:26

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •