Selecting the Golomb Parameter in Rice Coding
Abstract
We examine the use of Golomb-power-of-2 (GPO2) codes to efficiently and losslessly encode sequences of nonnegative integers from a discrete source. Specifically, we're interested in the problem of selecting which GPO2 code to use for a source or a block of samples; this problem is at the heart of the well-known Rice entropy coding algorithm. We're particularly concerned with the case where the mean sample value is known or can be estimated. We derive bounds on the optimum code parameter as a function of the mean sample value. These bounds establish that no more than three possible code choices can be optimum for a given mean sample value. We derive a simple method to select the optimum GPO2 code for a geometrically distributed source given the mean value. We also devise a simpler code selection procedure that generalizes previously known methods. Both code selection methods can be implemented using only integer arithmetic and table look-ups, and require no divisions. We show that, for any source with known mean, the GPO2 code parameter selected under this simple procedure is always within one of the optimum code parameter for the source, and that the added cost due to suboptimum parameter selection under this procedure is never more than 1/2 bit per sample and no more than about 13 percent inefficiency. We investigate the use of both code selection procedures as lower complexity alternatives to Rice coding within the emerging Consultative Committee for Space Data Systems (CCSDS) image compression standard. For the images tested, both code selection methods produce negligible added rate compared to optimal code selection as in Rice coding.
- Publication:
-
Interplanetary Network Progress Report
- Pub Date:
- November 2004
- Bibcode:
- 2004IPNPR.159E...1K