A LOT coder and decoder was created in Matlab, in order to compare the blocking effects with a DCT coder and decoder that was also implemented. The mean of the test image was first removed, and then scaled up by a factor of eight. The processed image is then transformed using 8 by 8 blocks (with 8 pixel overlap for the LOT). The coefficients are rounded to the nearest integer values and entropy coded to yield a storage bit rate, given in bits per pixel. In practice a better quantization scheme could be used to further reduce the bit rate, but was not done here for simplicity.
The LOT coder was based upon a DCT related transformation matrix, taking the form
Where J is the counter identity matrix, constructed by flipping the
identity matrix from left to right.
The block matrix was then chosen to be , where Z was derived
by diagonalizing
in two cases:
It turns out that the Gauss-Markov process is a decent fit, so there is not a noticeable difference between using either Z. Thus, it would make sense to use the signal independent Z in practice, making this LOT completely signal independent, and in fact computationally comparable to the DCT, since the P matrix can be factored to allow an algorithm to be used that uses combinations of 8 by 8 block DCT's and butterfly additions.
For the LOT implementation used here, the image edges were folded over to
give effective and
matrices.
The one dimensional basis functions (the columns of ), can be seen in
the following figure. Note that most of the signal energy is concentrated
in the center of the transform block.
Transforming the columns then rows is equivalent to taking a two dimension transform. The following are the two dimensional LOT basis functions.
Figure 2: Two dimensional LOT image basis functions
The following is a low bit rate reconstruction using the LOT and DCT. There is about a 1/2 dB PSNR gain. The difference is subtle, but can be noticed upon careful examination of the edges of the pepper in the lower center of the picture.. The rightmost image is the LOT, the left is DCT, both encoded at 0.09 bpp. In this case, the LOT has PSNR of 24.7 dB, while the DCT has a PSNR of 24.0 dB, thus there is a 0.7 dB gain.
Figure 3: Reconstructed Images: DCT is on the left, LOT on the right
The following Rate Distortion curves were generated by exponentially varying the step size of the uniform quantizer. The LOT achieves about a 0.6 dB gain over the DCT for low bit rates. The curves begin to converge for bit rates higher than 1 bpp.
Figure 4: Rate Distortion Curves for peppers512x512