Data Compression

Total Page:16

File Type:pdf, Size:1020Kb

Data Compression David Salomon Data Compression The Complete Reference Third Edition With 537 Figures, 6 in Füll Color Springer Contents rrfirarfi TO Tne i nirn r,oiT.ion Vll Prpfar.fi to the Sprond Edition vi Prpfar.p to the First Edition vv Jntrodnrtion 1 Basic Tprhniqiips 15 1.1 Intuitive Compression 15 1.2 Run-Length Encoding 20 1.3 RLE Text Compression 21 1.4 RLE Image Compression 25 1.5 Move-to-Front Coding 35 1.6 Scalar Quantization 39 Statistical MpthnHs 43 2.1 Information Theory Concepts 44 2.2 Variable-Size Codes 50 2.3 Prefix Codes 51 2.4 The Golomb Code 57 2.5 The Kraft-MacMillan Inequality 65 2.6 The Counting Argument 66 2.7 Shannon-Fano Coding 66 2.8 Huffman Coding 68 2.9 Adaptive Huffman Coding 84 2.10 MNP5 90 2.11 MNP7 95 2.12 Reliability 96 2.13 Facsimile Compression 99 2.14 Arithmetic Coding 106 2.15 Adaptive Arithmetic Coding 120 2.16 The QM Coder 124 2.17 Text Compression 133 2.18 PPM 134 2.19 Context-Tree Weighting 156 28g uoi^ziprenö lopa^ ^[-^ 08g OVaia :S9SBUII aidraxg gX"l> 69g SOIHf 21T 09c oiar ir* ggg uoTssaiduioQ aS^raj aAissaiSoij OT'^ 9^e si-oadr vt 62g 03df 8T S2g saSTraq pax 2,-fr 682 uiiojstrejx auisoQ apjtostQ aqx 9 "fr 6Z2 SUIIOJSUBJX pjuoSoq^o Q'^ flZ suuqjstrejx aSBraj ^-^ gZ2 spoqpj^ aAi^nnui g^ 652 uoissaidraoQ SSBUIJ o% saqo'eoiddy z'f gS2 troipnpontq \-f \qz uoissaaduioQ aSeuij f 8fZ uoi^otjiuß v Og'g 9fZ s^ua^Bj uoissaidraoQ B^Q ß2'g 9^2 Äjturarans 82'g g^2 OHO Z2g 2^2 saossajdraoo gx3 92'g WZ IIMX :uoissaidrao0 ^x S2'g 9g2 ONd WS ^ dizo pm> diz :a^gaQ g2'g ZU suoi^oqddv ZI STIOIJBA 22'g g22 {OOO^OJJ stq^A aqx I2'g 222 saS^Tiii JIO 02'g IZg uoissajdraoo XINÜ 6lg 812 rapata uo^ipday 8I-g 112 dZl Zl'g 602 ÄZ1 91'S 802 dVZl SI'S 902 AY1MZ1 HS S6i Mzi srs *6I ^MHZl 2IS 161 IMHZ1 IIS 881 OdZl OT'g S8I 82Z1 6'g g8I ddiaOA :Supuaj8Bia 8M g'g 081 XZ1 Z'S 821 22I-OIÖ 9S 9ZI saunx uoi^ipday S'g SZI SSZ1 V2 691 (^opm^v Suipqs) ZZZ1 SS 89X uoissajdraoQ Ä\reuoipiQ gjdung gg IQl Tioissejdraog Smug xg Q9T spon^3]/\[ ÄJBUOi^Dia 8 SllOlUCQ IMAX Contents xix 4.15 Adaptive Vector Quantization 390 4.16 Block Matching 395 4.17 Block Truncation Coding 399 4.18 Context-Based Methods 405 4.19 FELICS 408 4.20 Progressive FELICS 411 4.21 MLP 415 4.22 Adaptive Golomb 423 4.23 PPPM 424 4.24 CALIC 426 4.25 Differential Lossless Compression 429 4.26 DPCM 431 4.27 Context-Tree Weighting 436 4.28 Block Decomposition 437 4.29 Binary Tree Predictive Coding 441 4.30 Quadtrees 448 4.31 Quadrisection 465 4.32 Space-Filling Curves 473 4.33 Hubert Scan and VQ 474 4.34 Finite Automata Methods 477 4.35 Iterated Function Systems 494 4.36 Cell Encoding 511 Wavplfit, MfithnHs 5.1 Fourier Transform 513 5.2 The Frequency Domain 514 5.3 The Uncertainty, Principle 518 5.4 Fourier Image Compression 521 5.5 The CWT and Its Inverse 524 5.6 The Haar Transform 530 5.7 Filter Banks 549 5.8 The DWT 559 5.9 Multiresolution Decomposition 572 5.10 Various Image Decompositions 573 5.11 The Lifting Scheine 580 5.12 The IWT 591 5.13 The Laplacian Pyramid 593 5.14 SPIHT 597 5.15 CREW 609 5.16 EZW 609 5.17 DjVu 613 5.18 WSQ, Fingerprint Compression 616 5.19 JPEG 2000 622 XX Contents 6 Video Compression 637 6.1 Analog Video 637 6.2 Composite and Components Video 643 6.3 Digital Video 645 6.4 Video Compression 649 6.5 MPEG 661 6.6 MPEG-4 683 6.7 H.261 688 7 Audio Compression 691 7.1 Sound 692 7.2 Digital Audio 695 7.3 The Human Auditory System 698 7.4 /x-Law and A-Law Companding 704 7.5 ADPCM Audio Compression 710 7.6 MLP Audio 712 7.7 Speech Compression 717 7.8 Shorten 725 7.9 MPEG-1 Audio Layers 729 8 Other Methods 755 8.1 The Burrows-Wheeler Method 756 8.2 Symbol Ranking 761 8.3 ACB 765 8.4 Sort-Based Context Similarity 772 8.5 Sparse Strings 777 8.6 Word-Based Text Compression 789 8.7 Textual Image Compression 793 8.8 Dynamic Markov Coding 799 8.9 FHM Curve Compression 808 8.10 Sequitur 811 8.11 Triangle Mesh Compression: Edgebreaker 816 8.12 SCSU: Unicode Compression 827 Bibliography 835 Glossary 855 Joining the Data Compression Community 877 Index 879 Each memorable verse of a true poet has two or three times the written content. —Alfred de Musset .
Recommended publications
  • The Deep Learning Solutions on Lossless Compression Methods for Alleviating Data Load on Iot Nodes in Smart Cities
    sensors Article The Deep Learning Solutions on Lossless Compression Methods for Alleviating Data Load on IoT Nodes in Smart Cities Ammar Nasif *, Zulaiha Ali Othman and Nor Samsiah Sani Center for Artificial Intelligence Technology (CAIT), Faculty of Information Science & Technology, University Kebangsaan Malaysia, Bangi 43600, Malaysia; [email protected] (Z.A.O.); [email protected] (N.S.S.) * Correspondence: [email protected] Abstract: Networking is crucial for smart city projects nowadays, as it offers an environment where people and things are connected. This paper presents a chronology of factors on the development of smart cities, including IoT technologies as network infrastructure. Increasing IoT nodes leads to increasing data flow, which is a potential source of failure for IoT networks. The biggest challenge of IoT networks is that the IoT may have insufficient memory to handle all transaction data within the IoT network. We aim in this paper to propose a potential compression method for reducing IoT network data traffic. Therefore, we investigate various lossless compression algorithms, such as entropy or dictionary-based algorithms, and general compression methods to determine which algorithm or method adheres to the IoT specifications. Furthermore, this study conducts compression experiments using entropy (Huffman, Adaptive Huffman) and Dictionary (LZ77, LZ78) as well as five different types of datasets of the IoT data traffic. Though the above algorithms can alleviate the IoT data traffic, adaptive Huffman gave the best compression algorithm. Therefore, in this paper, Citation: Nasif, A.; Othman, Z.A.; we aim to propose a conceptual compression method for IoT data traffic by improving an adaptive Sani, N.S.
    [Show full text]
  • Answers to Exercises
    Answers to Exercises A bird does not sing because he has an answer, he sings because he has a song. —Chinese Proverb Intro.1: abstemious, abstentious, adventitious, annelidous, arsenious, arterious, face- tious, sacrilegious. Intro.2: When a software house has a popular product they tend to come up with new versions. A user can update an old version to a new one, and the update usually comes as a compressed file on a floppy disk. Over time the updates get bigger and, at a certain point, an update may not fit on a single floppy. This is why good compression is important in the case of software updates. The time it takes to compress and decompress the update is unimportant since these operations are typically done just once. Recently, software makers have taken to providing updates over the Internet, but even in such cases it is important to have small files because of the download times involved. 1.1: (1) ask a question, (2) absolutely necessary, (3) advance warning, (4) boiling hot, (5) climb up, (6) close scrutiny, (7) exactly the same, (8) free gift, (9) hot water heater, (10) my personal opinion, (11) newborn baby, (12) postponed until later, (13) unexpected surprise, (14) unsolved mysteries. 1.2: A reasonable way to use them is to code the five most-common strings in the text. Because irreversible text compression is a special-purpose method, the user may know what strings are common in any particular text to be compressed. The user may specify five such strings to the encoder, and they should also be written at the start of the output stream, for the decoder’s use.
    [Show full text]
  • Superior Guarantees for Sequential Prediction and Lossless Compression Via Alphabet Decomposition
    Journal of Machine Learning Research 7 (2006) 379–411 Submitted 8/05; Published 2/06 Superior Guarantees for Sequential Prediction and Lossless Compression via Alphabet Decomposition Ron Begleiter [email protected] Ran El-Yaniv [email protected] Department of Computer Science Technion - Israel Institute of Technology Haifa 32000, Israel Editor: Dana Ron Abstract We present worst case bounds for the learning rate of a known prediction method that is based on hierarchical applications of binary context tree weighting (CTW) predictors. A heuristic application of this approach that relies on Huffman’s alphabet decomposition is known to achieve state-of- the-art performance in prediction and lossless compression benchmarks. We show that our new bound for this heuristic is tighter than the best known performance guarantees for prediction and lossless compression algorithms in various settings. This result substantiates the efficiency of this hierarchical method and provides a compelling explanation for its practical success. In addition, we present the results of a few experiments that examine other possibilities for improving the multi- alphabet prediction performance of CTW-based algorithms. Keywords: sequential prediction, the context tree weighting method, variable order Markov mod- els, error bounds 1. Introduction Sequence prediction and entropy estimation are fundamental tasks in numerous machine learning and data mining applications. Here we consider a standard discrete sequence prediction setting where performance is measured via the log-loss (self-information). It is well known that this setting is intimately related to lossless compression, where in fact high quality prediction is essentially equivalent to high quality lossless compression.
    [Show full text]
  • Improved Adaptive Arithmetic Coding in MPEG-4 AVC/H.264 Video Compression Standard
    Improved Adaptive Arithmetic Coding in MPEG-4 AVC/H.264 Video Compression Standard Damian Karwowski Poznan University of Technology, Chair of Multimedia Telecomunications and Microelectronics [email protected] Summary. An Improved Adaptive Arithmetic Coding is presented in the paper to be applicable in contemporary hybrid video encoders. The proposed Adaptive Arithmetic Encoder makes the improvement of the state-of-the-art Context-based Adaptive Binary Arithmetic Coding (CABAC) method that is used in the new worldwide video compression standard MPEG-4 AVC/H.264. The improvements were obtained by the use of more accurate mechanism of data statistics estimation and bigger size context pattern relative to the original CABAC. Experimental results revealed bitrate savings of 1.5% - 3% when using the proposed Adaptive Arithmetic Encoder instead of CABAC in the framework of MPEG-4 AVC/H.264 video encoder. 1 Introduction In order to improve compression performance of video encoder, entropy coding is used at the final stage of coding. Two types of entropy coding methods are used in the new generation video encoders: Context-Adaptive Variable Length Coding and more efficient Context-Adaptive Arithmetic Coding. The state- of-the-art entropy coding method used in video compression is Context-based Adaptive Binary Arithmetic Coding (CABAC) [4, 5] that found the appli- cation in the new worldwide Advanced Video Coding (AVC) standard (ISO MPEG-4 AVC and ITU-T Rec. H.264) [1, 2, 3]. Through the application of sophisticated mechanisms of data statistics modeling in CABAC, it is distin- guished by the highest compression performance among standardized entropy encoders used in video compression.
    [Show full text]
  • Applications of Information Theory to Machine Learning Jeremy Bensadon
    Applications of Information Theory to Machine Learning Jeremy Bensadon To cite this version: Jeremy Bensadon. Applications of Information Theory to Machine Learning. Metric Geometry [math.MG]. Université Paris Saclay (COmUE), 2016. English. NNT : 2016SACLS025. tel-01297163 HAL Id: tel-01297163 https://tel.archives-ouvertes.fr/tel-01297163 Submitted on 3 Apr 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. NNT: 2016SACLS025 These` de doctorat de L'Universit´eParis-Saclay pr´epar´ee`aL'Universit´eParis-Sud Ecole´ Doctorale n°580 Sciences et technologies de l'information et de la communication Sp´ecialit´e: Math´ematiqueset informatique par J´er´emy Bensadon Applications de la th´eoriede l'information `al'apprentissage statistique Th`esepr´esent´eeet soutenue `aOrsay, le 2 f´evrier2016 Composition du Jury : M. Sylvain Arlot Professeur, Universit´eParis-Sud Pr´esident du jury M. Aur´elienGarivier Professeur, Universit´ePaul Sabatier Rapporteur M. Tobias Glasmachers Junior Professor, Ruhr-Universit¨atBochum Rapporteur M. Yann Ollivier Charg´ede recherche, Universit´eParis-Sud Directeur de th`ese Remerciements Cette th`eseest le r´esultatde trois ans de travail, pendant lesquels j'ai c^otoy´e de nombreuses personnes qui m'ont aid´e,soit par leurs conseils ou leurs id´ees, soit simplement par leur pr´esence, `aproduire ce document.
    [Show full text]
  • Skip Context Tree Switching
    Skip Context Tree Switching Marc G. Bellemare [email protected] Joel Veness [email protected] Google DeepMind Erik Talvitie [email protected] Franklin and Marshall College Abstract fixed in advance. As we discuss in Section 3, reorder- Context Tree Weighting is a powerful proba- ing these variables can lead to significant performance im- bilistic sequence prediction technique that effi- provements given limited data. This idea was leveraged ciently performs Bayesian model averaging over by the class III algorithm of Willems et al.(1996), which the class of all prediction suffix trees of bounded performs Bayesian model averaging over the collection of depth. In this paper we show how to generalize prediction suffix trees defined over all possible fixed vari- D this technique to the class of K-skip prediction able orderings. Unfortunately, the O(2 ) computational suffix trees. Contrary to regular prediction suffix requirements of the class III algorithm prohibit its use in trees, K-skip prediction suffix trees are permitted most practical applications. to ignore up to K contiguous portions of the con- Our main contribution is the Skip Context Tree Switching text. This allows for significant improvements in (SkipCTS) algorithm, a polynomial-time compromise be- predictive accuracy when irrelevant variables are tween the linear-time CTW and the exponential-time class present, a case which often occurs within record- III algorithm. We introduce a family of nested model aligned data and images. We provide a regret- classes, the Skip Context Tree classes, which form the ba- based analysis of our approach, and empirically sis of our approach.
    [Show full text]
  • Bi-Level Image Compression with Tree Coding
    Downloaded from orbit.dtu.dk on: Oct 05, 2021 Bi-level image compression with tree coding Martins, Bo; Forchhammer, Søren Published in: Proceedings of the Data Compression Conference Link to article, DOI: 10.1109/DCC.1996.488332 Publication date: 1996 Document Version Publisher's PDF, also known as Version of record Link back to DTU Orbit Citation (APA): Martins, B., & Forchhammer, S. (1996). Bi-level image compression with tree coding. In Proceedings of the Data Compression Conference (pp. 270-279). IEEE. https://doi.org/10.1109/DCC.1996.488332 General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain You may freely distribute the URL identifying the publication in the public portal If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Bi-level Image Compression with Tree Coding Bo Martins and Smen Forchhammer Dept. of Telecommunication, 343, Technical University of Denmark DK-2800 Lyngby, Denmark phone: f45 4525 2525, e-mail: [email protected] and [email protected] Abstract Presently, tree coders are the best bi-level image coders.
    [Show full text]
  • Appendix a Information Theory
    Appendix A Information Theory This appendix serves as a brief introduction to information theory, the foundation of many techniques used in data compression. The two most important terms covered here are entropy and redundancy (see also Section 2.3 for an alternative discussion of these concepts). A.1 Information Theory Concepts We intuitively know what information is. We constantly receive and send information in the form of text, sound, and images. We also feel that information is an elusive nonmathematical quantity that cannot be precisely defined, captured, or measured. The standard dictionary definitions of information are (1) knowledge derived from study, experience, or instruction; (2) knowledge of a specific event or situation; intelligence; (3) a collection of facts or data; (4) the act of informing or the condition of being informed; communication of knowledge. Imagine a person who does not know what information is. Would those definitions make it clear to them? Unlikely. The importance of information theory is that it quantifies information. It shows how to measure information, so that we can answer the question “how much information is included in this piece of data?” with a precise number! Quantifying information is based on the observation that the information content of a message is equivalent to the amount of surprise in the message. If I tell you something that you already know (for example, “you and I work here”), I haven’t given you any information. If I tell you something new (for example, “we both received a raise”), I have given you some information. If I tell you something that really surprises you (for example, “only I received a raise”), I have given you more information, regardless of the number of words I have used, and of how you feel about my information.
    [Show full text]
  • The Context Tree Weighting Method : Basic Properties
    The Context Tree Weighting Method : Basic Properties Frans M.J. Willems, Yuri M. Shtarkov∗and Tjalling J. Tjalkens Eindhoven University of Technology, Electrical Engineering Department, P.O. Box 513, 5600 MB Eindhoven, The Netherlands Abstract We describe a new sequential procedure for universal data compression for FSMX sources. Using a context tree, this method recursively weights the coding distribu- tions corresponding to all FSMX models, and realizes an efficient coding distribution for unknown models. Computational and storage complexity of the proposed pro- cedure are linear in the sequence length. We give upper bounds on the cumulative redundancies, but also on the codeword length for individual sequences. With a slight modification, the procedure can be used to determine the FSMX model that gives the largest contribution to the coding probability, i.e. the minimum description length model. This model estimator is shown to converge with probability one to the actual model, for ergodic sources that are not degenerated. A suboptimal method is presented that finds a model with a description length that is not more than a prescribed number of bits larger than the minimum description length. This method makes it possible to choose a desired trade-off between performance and complexity. In the last part of the manuscript, lower bounds on the maximal individual redun- dancies, that can be achieved by arbitrary coding procedures, are found. It follows from these bounds, that the context tree weighting procedure is almost optimal. 1 Introduction, old and new concepts Sequential universal source coding procedures for FSMX sources often make use of a context tree which contains for each string (context) the number of zeros and the number of ones that have followed this context, in the source sequence seen so far.
    [Show full text]
  • Universal Loseless Compression: Context Tree Weighting(CTW)
    Universal Loseless Compression: Context Tree Weighting(CTW) Youngsuk Park Dept. Electrical Engineering, Stanford University Dec 9, 2014 Youngsuk Park Universal Loseless Compression: Context Tree Weighting(CTW) Yes. Universal w.r.t class of finite-state coders, and converging to entropy rate for stationary ergodic distribution No. convergence is slow In the case where the actual model is unknown, we can still compress the sequence with universal compression. e.g. Lempel Ziv, and CTW Aren't the LZ good enough? We explore CTW. Universal Coding with Model Classes Traditional Shannon theory assume a (probabilistic) model of data is known, and aims at compressing the data optimally w.r.t. the model. e.g. Huffman coding and Arithmetic coding Youngsuk Park Universal Loseless Compression: Context Tree Weighting(CTW) Yes. Universal w.r.t class of finite-state coders, and converging to entropy rate for stationary ergodic distribution No. convergence is slow Aren't the LZ good enough? We explore CTW. Universal Coding with Model Classes Traditional Shannon theory assume a (probabilistic) model of data is known, and aims at compressing the data optimally w.r.t. the model. e.g. Huffman coding and Arithmetic coding In the case where the actual model is unknown, we can still compress the sequence with universal compression. e.g. Lempel Ziv, and CTW Youngsuk Park Universal Loseless Compression: Context Tree Weighting(CTW) Yes. Universal w.r.t class of finite-state coders, and converging to entropy rate for stationary ergodic distribution No. convergence is slow We explore CTW. Universal Coding with Model Classes Traditional Shannon theory assume a (probabilistic) model of data is known, and aims at compressing the data optimally w.r.t.
    [Show full text]
  • Improved Context-Based Adaptive Binary Arithmetic Coding in MPEG-4 AVC/H.264 Video Codec
    Improved Context-Based Adaptive Binary Arithmetic Coding in MPEG-4 AVC/H.264 Video Codec Abstract. An improved Context-based Adaptive Binary Arithmetic Coding (CABAC) is presented for application in compression of high definition video. In comparison to standard CABAC, the improved CABAC codec works with proposed more sophisticated mechanism of data statistics estimation that is based on the Context-Tree Weighting (CTW) method. Compression performance of the improved CABAC was tested and confronted with coding efficiency of the state-of-the-art CABAC algorithm used in MPEG-4 AVC. Experimental results revealed that 1.5%-8% coding efficiency gain is possible after application of the improved CABAC in MPEG-4 AVC High Profile. Keywords: entropy coding, adaptive arithmetic coding, CABAC, AVC, advanced video coding 1 Introduction An important part of video encoder is the entropy encoder that is used for removing correlation that exists within coded data. Numerous techniques of entropy coding were elaborated, many of them have been applied in video compression. The state-of- the-art entropy coding technique used in video compression is the Context-based Adaptive Binary Arithmetic Coding (CABAC) [3, 5, 6, 14] that is used in the newest Advanced Video Coding (AVC) standard (ISO MPEG-4 AVC and ITU-T Rec. H.264) [1, 5, 6]. In comparison to other entropy coders used in video compression, CABAC encoder uses efficient arithmetic coding and far more sophisticated mechanisms of data statistics modeling which are extremely important from the compression performance point of view. The goal of the paper is to show that it is possible to reasonably increase compression performance of adaptive entropy encoder by using more accurate techniques of conditional probabilities estimation.
    [Show full text]
  • A Novel Encoding Algorithm for Textual Data Compression
    bioRxiv preprint doi: https://doi.org/10.1101/2020.08.24.264366; this version posted August 24, 2020. The copyright holder for this preprint (which was not certified by peer review) is the author/funder. All rights reserved. No reuse allowed without permission. A Novel Encoding Algorithm for Textual Data Compression Anas Al-okaily1,* and Abdelghani Tbakhi1 1Department of Cell Therapy and Applied Genomics, King Hussein Cancer Center, Amman, 11941, Jordan *[email protected] ABSTRACT Data compression is a fundamental problem in the fields of computer science, information theory, and coding theory. The need for compressing data is to reduce the size of the data so that the storage and the transmission of them become more efficient. Motivated from resolving the compression of DNA data, we introduce a novel encoding algorithm that works for any textual data including DNA data. Moreover, the design of this algorithm paves a novel approach so that researchers can build up on and resolve better the compression problem of DNA or textual data. Introduction The aim of compression process is to reduce the size of data as much as possible to save space and speed up transmission of data. There are two forms of compression processes: lossless and lossy. Lossless algorithms guarantee exact restoration of the original data, while lossy do not (due, for instance, to exclude unnecessary data such as data in video and audio where their loss will not be detected by users). The focus in this paper is the lossless compression. Data can be in different formats such as text, numeric, images, audios, and videos.
    [Show full text]