This Article 
 Bibliographic References 
 Add to: 
Parallel Parsing Algorithms for Static Dictionary Compression
December 1999 (vol. 10 no. 12)
pp. 1241-1251

Abstract—The data compression based on dictionary techniques works by replacing phrases in the input string with indexes into some dictionary. The dictionary can be static or dynamic. In static dictionary compression, the dictionary contains a predetermined fixed set of entries. In dynamic dictionary compression, the dictionary changes its entries during compression. We present parallel algorithms for two parsing strategies for static dictionary compression. One is the optimal parsing strategy with dictionaries that have the prefix property, for which our algorithm requires $O(L + \log n)$ time and $O(n)$ processors, where $n$ is the number of symbols in the input string, and $L$ is the maximum length of the dictionary entries, while previous results run in $O(L + \log n)$ time using $O(n^{2})$ processors or in $O(L + \log^{2} n)$ time using $O(n)$ processors. The other is the longest fragment first (LFF) parsing strategy, for which our algorithm requires $O(L + \log n)$ time and $O(n\log L)$ processors, while a previous result obtained an $O(L\log n)$ time performance on $O(n/\log n)$ processors. For both strategies, we derive our parallel algorithms by modifying the on-line algorithms using a pointer doubling technique.

[1] T.C. Bell, J.G. Cleary, and I.H. Witten, Text Compression.Englewood Cliffs, N.J.: Prentice Hall, 1990.
[2] E.J. Schuegraf and H.S. Heaps, “Selection of Equifrequent Word Fragments for Information Retrieval,” Information Storage and Retrieval, vol. 9, pp. 697-711, 1973.
[3] R.N. Horspool, “The Effect of Non-Greedy Parsing in Ziv-Lempel Compression Methods,” Proc. IEEE Data Compression Conf., pp. 302-311, IEEE CS Press, 1995.
[4] S. DeAgostino and J.A. Storer, “Parallel Algorithms for Optimal Compression Using Dictionaries with the Prefix Property,” Proc. IEEE Data Compression Conf., pp. 52-61, IEEE CS Press, 1992.
[5] A. Hartman and M. Rodeh, “Optimal Parsing of Strings,” Combinatorial Algorithms on Words, A. Apostolico and Z. Galil, eds., pp. 155-167, Springer-Verlag, 1985.
[6] E.J. Schuegraf and H.S. Heaps, “A Comparison of Algorithms for Data Base Compression by Use of Fragments as Language Elements,” Information Storage and Retrieval, vol. 10, pp. 309-319, 1974.
[7] D.M. Royals, T. Markas, N. Kanopoulos, J.H. Reif, and J.A. Storer, “On the Design and Implementation of a Lossless Data Compression and Decompression Chip,” IEEE J. Solid-State Circuits, vol. 28, no. 9, pp. 948-953, Sept. 1993.
[8] M. E. Gonzalez-Smith and J. A. Storer,“Parallel algorithms for data compression,”J. ACM, vol. 32, no. 2, pp. 344–373, Apr. 1985.
[9] R. Zito-Wolf, “A Systolic Architecture for Sliding-Window Data Compression,” Proc. IEEE VLSI Signal Processing Conf., pp. 339-351, 1990.
[10] L.M. Stauffer and D.S. Hirschberg, “Dictionary Compression on the PRAM,” Parallel Processing Letters, vol. 7, pp. 297-308, 1997.
[11] H. Nagumo, M. Lu, and K. Watson, “Parallel Algorithms for the Static Dictionary Compression,” Proc. IEEE Data Compression Conf., pp. 162-171, IEEE CS Press, 1995.
[12] A. Gibbons and W. Rytter, Efficient Parallel Algorithms. Cambridge Univ. Press, 1988.
[13] M. Lu and H. Lin, “Parallel Algorithms for the Longest Common Subsequence Problem,” IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 8, pp. 835-848, Aug. 1994.

Index Terms:
Data compression, dictionary techniques, parallel algorithms, PRAM, optimal parsing, longest fragment first parsing.
Hideo Nagumo, Mi Lu, Karan L. Watson, "Parallel Parsing Algorithms for Static Dictionary Compression," IEEE Transactions on Parallel and Distributed Systems, vol. 10, no. 12, pp. 1241-1251, Dec. 1999, doi:10.1109/71.819946
Usage of this product signifies your acceptance of the Terms of Use.