Understanding Compression Data Compression for Modern Developers 1st Edition by Colt McAnlis , Aleks Haecky – Ebook PDF Instant Download/Delivery:1491961538, 978-1491961537
Full download Understanding Compression Data Compression for Modern Developers 1st Edition after payment
Product details:
ISBN 10: 1491961538
ISBN 13: 978-1491961537
Author: Colt McAnlis , Aleks Haecky
If you want to attract and retain users in the booming mobile services market, you need a quick-loading app that won’t churn through their data plans. The key is to compress multimedia and other data into smaller files, but finding the right method is tricky. This witty book helps you understand how data compression algorithms work—in theory and practice—so you can choose the best solution among all the available compression tools.
With tables, diagrams, games, and as little math as possible, authors Colt McAnlis and Aleks Haecky neatly explain the fundamentals. Learn how compressed files are better, cheaper, and faster to distribute and consume, and how they’ll give you a competitive edge.
- Learn why compression has become crucial as data production continues to skyrocket
- Know your data, circumstances, and algorithm options when choosing compression tools
- Explore variable-length codes, statistical compression, arithmetic numerical coding, dictionary encodings, and context modeling
- Examine tradeoffs between file size and quality when choosing image compressors
- Learn ways to compress client- and server-generated data objects
- Meet the inventors and visionaries who created data compression algorithms
Table of contents:
1 Let’s Not Be Boring 1
The Five Buckets of Compression Algorithms 1
Claude Shannon Is Infuriating! 2
The Only Thing You Need to Know about Data Compression 3
A World Built on Data Compression 4
2 Do Not Skip This Chapter 9
Understanding Binary 9
Base 10 System 9
Binary Number System 10
Information Theory 13
An Excursion into Binary Search 14
Entropy: The Minimum Bits Needed to Represent a Number 16
Standard Number Lengths 17
3 Breaking Entropy 19
Understanding Entropy 19
What This Entropy Stuff Is Good For 21
Understanding Probability 22
Breaking Entropy 23
Example 1 Delta Coding 24
Example 2 Symbol Grouping 25
Example 3 Permutations 26
4 Variable-Length Codes 33
Morse Code 33
Probability, Entropy, and Codeword Size 36
Variable-Length Codes 38
Using VLCs 38
Creating VLCs 42
A Handful of Example VLCs 44
Finding the Right Code for Your Data Set 51
5 Statistical Encoding 53
Statistically Compressing to Entropy 53
Huffman Coding 55
Building a Huffman Tree 55
Generating Codewords 57
Encoding and Decoding 58
Practical Implementations 58
Arithmetic Coding 60
Finding the Right Number 61
Encoding 62
Picking the Right Output Value 64
Decoding 64
Practical Implementations 69
Asymmetric Numeral Systems 69
Encoding and Decoding Using a Transform Table 70
Creating the Reference Table 71
Using ANS for Compression 74
Decoding Example 75
So Where Does the Compression Come From? 76
Practical Compression: Which Statistical Algorithm Do I Choose? 77
6 Adaptive Statistical Encoding 79
Locality Matters for Entropy 79
Adaptive VLC Encoding 81
Dynamically Building a VLC Table 81
Literals 84
Resets 87
Knowing When to Reset 88
Using This in Practice 89
Adaptive Arithmetic Coding 89
Adaptive Huffman Coding 90
7 Dictionary Transforms 93
A Basic Dictionary Transform 94
Finding the Right “Words” 95
The Lempel-Ziv Algorithm 98
How LZ Works 99
Encoding 104
Decoding 105
Compressing LZ output 106
LZ Variants 107
Collect Them All! 110
8 Contextual Data Transforms 111
Run-Length Encoding 112
Dealing with Short Runs 112
Compressing 114
Delta Coding 116
XOR Delta Coding 118
Frame of Reference Delta Coding 119
Patched Frame of Reference Delta Coding 120
Compressing Delta-Encoded Data 123
Does It Work on Text? 123
Move-to-Front Coding 123
Avoiding Rogue Symbols 125
Compressing MTF 126
Bur rows-Wheeler Transform 126
Ordering Is Important! 128
How BWT Works 128
Inverse BWT 130
Practical Implementations 132
Compressing BWT 133
9 Data Modeling 135
The Chains of Markov 136
Markov and Compression 139
Practical Implementations 145
Prediction by Partial Matching 145
The Search Trie 147
Compressing a Symbol 149
Choosing a Sensible N Value 150
Dealing with Unknown Symbols 150
Context Mixing 150
Types of Models 151
Types of Mixing 153
The Next Big Thing? 154
10 Switching Gears 155
Media-Specific Compression 155
General-Purpose Compression 156
Compression in Practice 157
11 Evaluating Compression 159
Compression Usage Scenarios 159
Compressed Offline, Decompressed On-Client 159
Compressed On-Client, Decompressed In-Cloud 160
Compressed In-Cloud, Decompressed On-Client 160
Compressed On-Client, Decompressed On-Client 161
Compression Need 161
Compression Ratio 162
Compression Performance 163
Decompression Performance 164
Ability to Decode-Stream 164
Comparing Compressors 165
12 Compressing Image Data Types 167
Understanding Quality Versus File Size 167
What Reduces Image Quality? 169
Measuring Image Quality 171
Making This Work 173
Image Dimensions Are Important 173
Choosing the Correct Image Format 175
PNG 175
JPG 176
GIF 177
WebP 177
And Now for Choosing 177
GPU Texture Formats 179
Vector Formats 180
Eyes on the Prize 182
13 Serialized Data 183
Understanding Common Use Cases 184
Dynamically Server-Built Data 184
Statically Built Server-Owned Data 184
Dynamically Client-Built Data 184
Statically Client-Owned Data 184
Issues with Serialized Formats 185
Human-Readable Text 185
Slow Decode Times 186
Smaller Serialized Data 186
Use a Binary Serialization Format 186
Restructure Lists for Better Compression 187
Organize for Efficient Fetching 189
Segment Out Data into the Proper Compression Format 191
14 Lossy Data Compression 193
15 Making the World a Little Smaller 195
Data Compression and You 195
Data Compression and the Bottom Line 195
User Acquisition and Retention 195
Running Costs 196
Planning Ahead 197
Making Your Users’ Lives a Little More Magical and Less Expensive 197
Thinking About What’s Next in Technology 198
The Next Five Billion Users 198
Mobile Networks 198
…Starting Now 199
Glossary of Compression Words 201
Index 209
People also search for:
ewma understanding compression therapy
understanding compression and rebound
understanding compression therapy to achieve tolerance
understanding audio compression ratio
Tags: Colt McAnlis, Aleks Haecky, Understanding Compression, Data Compression