Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Grammar-based code

From Wikipedia, the free encyclopedia
Lossless data compression algorithm
Straight-line grammar (with start symbol ß) for the second sentence of theUnited States Declaration of Independence. Each blue character denotes anonterminal symbol; they were obtained from agzip-compression of the sentence.

Grammar-based codes orgrammar-based compression arecompression algorithms based on the idea of constructing acontext-free grammar (CFG) for the string to be compressed. Examples include universallossless data compression algorithms.[1] To compress a data sequencex=x1xn{\displaystyle x=x_{1}\cdots x_{n}}, a grammar-based code transformsx{\displaystyle x} into a context-free grammarG{\displaystyle G}.The problem of finding a smallest grammar for an input sequence (smallest grammar problem) is known to be NP-hard,[2] so many grammar-transform algorithms are proposed from theoretical and practical viewpoints.Generally, the produced grammarG{\displaystyle G} is further compressed by statistical encoders likearithmetic coding.

Examples and characteristics

[edit]

The class of grammar-based codes is very broad. It includesblock codes, the multilevel pattern matching (MPM) algorithm,[3] variations of the incremental parsingLempel-Ziv code,[4] and many other new universal lossless compression algorithms.Grammar-based codes are universal in the sense that they can achieve asymptotically theentropy rate of any stationary,ergodic source with a finite alphabet.

Practical algorithms

[edit]

The compression programs of the following are available from external links.

  • Sequitur[5] is a classical grammar compression algorithm that sequentially translates an input text into a CFG, and then the produced CFG is encoded by an arithmetic coder.
  • Re-Pair[6] is a greedy algorithm using the strategy of most-frequent-first substitution. The compressive performance is powerful, although the main memory space requirement is very large.
  • GLZA,[7] which constructs a grammar that may be reducible, i.e., contain repeats, where the entropy-coding cost of "spelling out" the repeats is less than the cost creating and entropy-coding a rule to capture them. (In general, the compression-optimal SLG is not irreducible, and the Smallest Grammar Problem is different from the actual SLG compression problem.)

See also

[edit]

References

[edit]
  1. ^Kieffer, J. C.; Yang, E.-H. (2000), "Grammar-based codes: A new class of universal lossless source codes",IEEE Trans. Inf. Theory,46 (3):737–754,doi:10.1109/18.841160
  2. ^Charikar, M.; Lehman, E.; Liu, D.; Panigrahy, R.; Prabharakan, M.; Sahai, A.; Shelat, A. (2005), "The Smallest Grammar Problem",IEEE Trans. Inf. Theory,51 (7):2554–2576,doi:10.1109/tit.2005.850116,S2CID 6900082
  3. ^Kieffer, J. C.; Yang, E.-H.; Nelson, G.; Cosman, P. (2000),"Universal lossless compression via multilevel pattern matching",IEEE Trans. Inf. Theory,46 (4):1227–1245,doi:10.1109/18.850665,S2CID 8191526
  4. ^Ziv, J.; Lempel, A. (1978), "Compression of individual sequences via variable rate coding",IEEE Trans. Inf. Theory,24 (5):530–536,doi:10.1109/TIT.1978.1055934,hdl:10338.dmlcz/142945
  5. ^Nevill-Manning, C. G.; Witten, I. H. (1997), "Identifying Hierarchical Structure in Sequences: A linear-time algorithm",Journal of Artificial Intelligence Research,7 (4):67–82,arXiv:cs/9709102,doi:10.1613/jair.374,hdl:10289/1186,S2CID 2957960
  6. ^Larsson, N. J.; Moffat, A. (2000),"Offline Dictionary-Based Compression"(PDF),Proceedings of the IEEE,88 (11):1722–1732,doi:10.1109/5.892708
  7. ^Conrad, Kennon J.; Wilson, Paul R. (2016). "Grammatical Ziv-Lempel Compression: Achieving PPM-Class Text Compression Ratios with LZ-Class Decompression Speed".2016 Data Compression Conference (DCC). p. 586.doi:10.1109/DCC.2016.119.ISBN 978-1-5090-1853-6.S2CID 3116024.

External links

[edit]
Lossless
type
Entropy
Dictionary
Other
Hybrid
Lossy
type
Transform
Predictive
Audio
Concepts
Codec
parts
Image
Concepts
Methods
Video
Concepts
Codec
parts
Theory
Community
People
Retrieved from "https://en.wikipedia.org/w/index.php?title=Grammar-based_code&oldid=1290947300"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp