Broth: A General-Purpose Data Compressor

被引:42
作者
Alakuijala, Jyrki [1 ,4 ]
Farruggia, Andrea [2 ,3 ]
Ferragina, Paolo [2 ,3 ]
Kliuchnikov, Eugene [1 ,4 ]
Obryk, Robert [1 ,4 ]
Szabadka, Zoltan [1 ,4 ]
Vandevenne, Lode [1 ,4 ]
机构
[1] Google Res, Zurich, Switzerland
[2] Univ Pisa, Pisa, Italy
[3] Dipartimento Informat, Largo B Pontecorvo 3, I-56127 Pisa, Italy
[4] Google, Brandschenkestr 110, CH-8002 Zurich, Switzerland
关键词
Data compression; Lempel-Ziv parsing; Treaps; NP-completeness; shortest paths; experiments;
D O I
10.1145/3231935
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Broth is an open source general-purpose data compressor introduced by Google in late 2013 and now adopted in most known browsers and Web servers. It is publicly available on GitHub and its data format was submitted as RFC 7932 in July 2016. Broth i is based on the Lempel-Ziv compression scheme and planned as a generic replacement of Gzip and ZLib. The main goal in its design was to compress data on the Internet, which meant optimizing the resources used at decoding time, while achieving maximal compression density. This article is intended to provide the first thorough, systematic description of the Brotli format as well as a detailed computational and experimental analysis of the main algorithmic blocks underlying the current encoder implementation, together with a comparison against compressors of different families constituting the state-of-the-art either in practice or in theory. This treatment will allow us to raise a set of new algorithmic and software engineering problems that deserve further attention from the scientific community.
引用
收藏
页数:30
相关论文
共 29 条
  • [1] Alakuijala J., 2016, document RFC 7932
  • [2] SELF-ORGANIZING BINARY SEARCH TREES
    ALLEN, B
    MUNRO, I
    [J]. JOURNAL OF THE ACM, 1978, 25 (04) : 526 - 535
  • [3] [Anonymous], 1994, TECHNICAL REPORT
  • [4] The Level Ancestor Problem simplified
    Bender, MA
    Farach-Colton, M
    [J]. THEORETICAL COMPUTER SCIENCE, 2004, 321 (01) : 5 - 12
  • [5] Duda J, 2015, 2015 PICTURE CODING SYMPOSIUM (PCS) WITH 2015 PACKET VIDEO WORKSHOP (PV), P65, DOI 10.1109/PCS.2015.7170048
  • [6] Farruggia A, 2014, LECT NOTES COMPUT SC, V8737, P406, DOI 10.1007/978-3-662-44777-2_34
  • [7] Farrugia A., 2014, P SIAM ACM S DISCR A, V14, P1582
  • [8] Boosting textual compression in optimal linear time
    Ferragina, P
    Giancarlo, R
    Manzini, G
    Sciortino, M
    [J]. JOURNAL OF THE ACM, 2005, 52 (04) : 688 - 713
  • [9] ON THE BIT-COMPLEXITY OF LEMPEL-ZIV COMPRESSION
    Ferragina, Paolo
    Nitto, Igor
    Venturini, Rossano
    [J]. SIAM JOURNAL ON COMPUTING, 2013, 42 (04) : 1521 - 1541
  • [10] On Optimally Partitioning a Text to Improve Its Compression
    Ferragina, Paolo
    Nitto, Igor
    Venturini, Rossano
    [J]. ALGORITHMICA, 2011, 61 (01) : 51 - 74