Abstract |
Piecewise linear (PL) image coding proceeds in three steps: 1. A digital image is converted into a 1D-signal using a scanning procedure, for example by scanning lines in a zig-zag or Hilbert order. 2. The signal is approximated by the graph of a piecewise linear function, which consists of a finite number of connected line segments. 3. Entropy encoding of the sequence of the segment end points. In this step differential coding can be used for one or both coordinate sequences of the end points. To ensure a desired approximation quality a constraint is imposed, e.g., on the root-mean-square error of the PL signal. In this paper we consider uniform approximation. Two problems are addressed: First, an optimal PL approximation in the sense of a minimal number of segments is to be obtained. Second, when entropy coding of the segments is used, how can one jointly optimize the variable length code and the PL approximation yielding a better or even minimal rate without violating the uniform error bound? The first problem is solved by dynamic programming, the second is approached by using Huffman coding and an annealing procedure in which the design of the Huffman tables and the dynamic programming is alternatingly iterated using a cost function that reflects the codeword lengths of the current variable length code. This algorithm is guaranteed to converge to a (locally) minimum length code. We describe the algorithms, implementation issues, compare two different scanning procedures, the zig-zag line scan and the Hilbert scan, and report results for encoding various test images. |