Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compression > #2285 > unrolled thread
| Started by | jacko <jackokring@gmail.com> |
|---|---|
| First post | 2014-04-18 05:09 -0700 |
| Last post | 2014-04-18 13:46 -0700 |
| Articles | 2 — 1 participant |
Back to article view | Back to comp.compression
BWTS in Free Pascal jacko <jackokring@gmail.com> - 2014-04-18 05:09 -0700
Re: BWTS in Free Pascal jacko <jackokring@gmail.com> - 2014-04-18 13:46 -0700
| From | jacko <jackokring@gmail.com> |
|---|---|
| Date | 2014-04-18 05:09 -0700 |
| Subject | BWTS in Free Pascal |
| Message-ID | <59c1d2cc-09eb-40a1-b05e-a39c9002252d@googlegroups.com> |
Well I've converted it, without the buffer index problem (search for || in the C source, and think about the for index), and added some simple but untested routines. After BWTS I do delta coding. This makes all symbol runs into the symbol zero as a run, by storing each except the first as a delta from the last. This effectively does a lot of what MTF does. Then I do zero run length encoding (ZRLE). This just passes through any character except symbol zero, which is run length encoded by a one byte length, and the pattern zero zero is the block terminator. It is as yet an untested unit. Inquire for details.
[toc] | [next] | [standalone]
| From | jacko <jackokring@gmail.com> |
|---|---|
| Date | 2014-04-18 13:46 -0700 |
| Message-ID | <bc4e658a-75e5-4c7e-b2fa-1e5fa3da89fa@googlegroups.com> |
| In reply to | #2285 |
Think "run of x" => "(run - 1) of 0" by calculating deltas, then doing a second BWTS before ZRLE encoding, you'd eventually reach a limit. The argument being that similar following context to different words which end the same is what causes oscillation between runs of zeros. As x maps almost to zero, and as RLE does not shrink a two byte run, then the saving of using ZRLE is not having to store run lengths for any other symbol but zero. MTF is also slower than simple delta of character calculation, and the general RLE process can introduce more data due to tracking infrequent value runs. The question then becomes, what advantage does the speed costly variable width symbol entropy post coding add?
[toc] | [prev] | [standalone]
Back to top | Article view | comp.compression
csiph-web