An efficient memory allocation scheme for Huffman coding of multiple sources
In this paper, we propose an efficient memory allocation scheme for memory-constrained Huffman coding of multiple sources, which can be applied to many adaptive variable-length coding systems. The allocation of a given memory is performed in two stages. At the first stage, the iterative bisection algorithm based on the Lagrange optimization method is used to find a Lagrange allocation, which is either optimal or close to the optimal allocation. In the latter case, the Lagrange method does not fully allocate the given memory and a sequential allocation method is introduced as the second stage to allocate the remaining memory, which is performed in a greedy manner. To explain the proposed allocation scheme, we introduce a function, , which approximates the relation between the average bitrate b and the Huffman table size l, and discuss its properties. The use of this function considerably reduces the computational burden for memory allocation. We apply the proposed memory allocation scheme to memory-constrained conditional entropy coding of vector quantization indices for image compression. Simulations show that the proposed memory allocation scheme provides almost optimal performance, which is far better than can be achieved with conventional simple allocation methods.
memory allocation iterative bisection algorithm lagrange allocation sequential allocation huffman table size lb? function lb plane