Dr Peter Fenwick


Department of Computer Science,
The University of Auckland,
Private Bag 92019,
Auckland,
New Zealand.

Telephone :

- none -

Fax :

+ 64 9 373 7453

email :

p.fenwick@auckland.ac.nz


Room 303 567 (very occasionally),
Mathematical and Physical Sciences Building,
38 Princes St,
Auckland


Current Position

After about 20 years in the Department of Computer Science (and 12 years before that in the Computer Centre) at the University of Auckland, I have taken early retirement from Jan 2005.

My retiring rank as Associate Professor in the Department of Computer Science continues with a position as Honorary Associate Professor until the end of 2007, allowing me to maintain a relationship with the University.
My University email and other addresses (but not telephone) should continue to be available, but will be handled less often ....

Important notice -- I am NOT available for supervising student projects or similar activities.
This most definitely includes internships for foreign students, so don't even bother asking.

17 Feb 2010


Interests and publications


Research Interests

My primary interests are in computer architecture (including arithmetic), communications and networks, and text compression.

Recently I have been concentrating on the new "block sorting" text compressor (or block reduction, or Burrows-Wheeler Transform), first described by Burrows and Wheeler in April 1994. Early results on this are reported in Tech Report 111 and Tech Report 120, with a final report in Technical Report 130. Following from that is other work in "symbol ranking" text compression.

The complete source code of a fast constant-order symbol ranking compressor is available as srank.c.

Other recent related work has involved fast text searching and universal or variable-length integer codes based on Fibonacci numbers and prime numbers.

And even more recently I have returned to the work that started me in computing 40 years ago (!) on the solution of the potential distribution in a Hall effect plate for a magnetometer.


Special Recognition

A recent survey identified me as a "Top Scholar in Systems and Software Engineering", based on a publications count in important international journals.
See "An assessment of systems and software engineering scholars and institutions (1998 - 2002)",
R.L. Glass, T.Y. Chen, The Journal of Systems and Software Vol 68 (2003) pp 77 - 84


Some recent book chapters

I have written four chapters in the "Lossless Data Compression Handbook" (ed Khalid Sayood), Academic Press, 2003. ISBN 0-12-620861-1

Return to top


Some recent Burrows Wheeler ideas.

Some of my recent ideas on Burrows Wheeler compression were presented at a workshop at Rutgers University in August 2004, celebrating the 10th anniversary of the Burrows Wheeler Transform. Here are a preliminary report and the presentation slides which include later work and go somewhat beyond the report.

The essence of this material has now been published in
Burrows–Wheeler compression : Principles and reflections” Theoretical Computer Science Vol 387(2007) pp 200–219 (see my publications list below for an abstract). You can read a preprint of this paper; the "preliminary report" above contains material that was omitted to save space when two earlier papers were merged into the final version.

The ideas fall into three groups, in order of decreasing work-done.

  1. Use a BW transform to derive all contexts of some fixed order, say 4, and use these to drive an escape-free PPM compressor/decompressor. This is the main substance of the report and presentation; it worked, but not nearly as well as hoped.

  2. "Break open" the reverse BW transform to generate partial contexts during both compression and decompression, so aiding the operation of the coder and decoder.
    The report starts by developing analogies between the Fourier Transform and its associated spectra, autocorrelations, etc, on the one hand and the the Burrows Wheeler transform and PPM on the other. Invoking ideas of symmetry leads to a significant new understanding of the Burrows Wheeler operation.
    (I have long thought that we did not really understand the Burrows-Wheeler Transform. But the forward transform is essentially simple, at least in concept, and showed little scope for improvement. With these ideas the reverse transform looks the more likely for further study and deeper understanding. At least I hope so.)

  3. Is there some relation between data compression and error correction codes? Compression can be thought of as a very noisy channel (encoding a single symbol into a range of possible symbols) and then generation of the codes to select the correct symbol from the "noise" codes; the encoder and decoder track each other and the "corrections" are what the compressor emits. (The ideas follow most readily from my earlier work on "Symbol Ranking" compression which uses an explicit symbol predictor/corrector mechanism).
    This third idea may provide a useful starting point for somebody with more imagination than me. It leads to two other ideas relating to the possible relationship between Error Correction and compression.

  4. Can we omit some symbols (giving an erasure code) and then use a Viterbi-like trellis to recover feasible decodings. (Whew!)

  5. The relatively new error-correcting "turbo-codes" use two interacting but complementary error-correcting codes to give superlative performance. Can something similar be done for compression? (It also ties in with the previous point.)
    But do we have suitably different compressors? The two compressors must work with the same symbol order, probably precluding a BW and PPM combination. But of those which retain the original "text" order, PPM and LZ-77 were shown to be equivalent by Bell, Cleary & Witten (in their book "Text Compression"). So until somebody invents say a symbol-by-symbol compressor which does not depend on contexts, there may be no suitable complementary candidates!
    If you have ideas, please try them!

This work has culminated in a paper “PPM compression without escapes” (see below). After a great deal of work on ‘interesting’ ideas for eliminating escapes with byte-oriented PPM (including prescans to determine the contents of each context), I tried some very simple bit-oriented PPM algorithms. These led to an escape-free byte-oriented PPM compressor as described. It compresses the Calgary Corpus at 2.5 bpc, compared with 2.4bpc for a reference PPM compressor. The Canterbury Corpus result is 2.1bpc (cf 1.9). You may see a preprint of the original submission.

This work on eliminating escapes really just emphasised that they are an essential part of PPM in scaling the probabilities of low-frequency symbols and introducing them to the current contexts. The “reference compressor” above essentially ignored the problems of predicting the escape frequency by treating an escape much like any other symbol.

Return to top


Some recent papers.

(The links for the electronic journal J.UCS, the "Journal for Universal Computer Science" are to the J.UCS Page for the appropriate month. The journal contains compressed Postscript files which may be copied and printed.)

Most of my papers and reports are available by anonymous ftp from ftp.cs.auckland.ac.nz/pub/staff/peter-f

Return to top


And some Technical Reports