The method can, however, be realized very efficiently by suffix and quick sort methods. Thus the whole transformation together with the eventual simple compression engine is extremely fast but still achieves impressive compression on typical input data. The engine also responds well to increasing block sizes - the longer the input block, the more space there is for the patterns to form and the more similar input strings there will be in it. This results in almost monotonously increasing compression ratios even as the block length goes well into the megabyte range. The decompression cascade is basically just the compression cascade backwards.
More logic is needed to reverse the main sorting stage, however.
This logic involves reasoning around the order of the first the last column of the conceptual coding matrix. The reader is referred to the original paper for an in depth treatment of the subject. The original paper also contains a more thorough discussion of why the method works and how to implement it. And now a little demonstration. This was taken as an example because it has high redundancy and it is exactly 16 bytes long.