I. Introduction
Data compression is used to save storage space and bandwidth during data transmission. Most of data compression algorithms are often implemented in software. Software implementation allows later modifications or updates. Although software implementations are flexible, they are performance bottleneck. Software implementations are always focused on reaching the best compression ratios without taking execution speed into consideration. However, execution speed of compression as well as decompression is more important in some applications [10].