
Understanding Compression
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Copyright
- Table of Contents
- Foreword
- Preface
- How to Read This Book
- How to Read This Book Backwards
- Chapter Synopsis
- Chapter 1. Let's Not Be Boring
- The Five Buckets of Compression Algorithms
- Claude Shannon Is Infuriating!
- The Only Thing You Need to Know about Data Compression
- A World Built on Data Compression
- Chapter 2. Do Not Skip This Chapter
- Understanding Binary
- Base 10 System
- Binary Number System
- Information Theory
- An Excursion into Binary Search
- Entropy: The Minimum Bits Needed to Represent a Number
- Standard Number Lengths
- Chapter 3. Breaking Entropy
- Understanding Entropy
- What This Entropy Stuff Is Good For
- Understanding Probability
- Breaking Entropy
- Example 1: Delta Coding
- Example 2: Symbol Grouping
- Example 3: Permutations
- Information Theory Versus Data Compression
- Chapter 4. Variable-Length Codes
- Morse Code
- Probability, Entropy, and Codeword Size
- Variable-Length Codes
- Using VLCs
- Creating VLCs
- A Handful of Example VLCs
- Finding the Right Code for Your Data Set
- Chapter 5. Statistical Encoding
- Statistically Compressing to Entropy
- Huffman Coding
- Building a Huffman Tree
- Generating Codewords
- Encoding and Decoding
- Practical Implementations
- Arithmetic Coding
- Finding the Right Number
- Encoding
- Picking the Right Output Value
- Decoding
- Practical Implementations
- Asymmetric Numeral Systems
- Encoding and Decoding Using a Transform Table
- Creating the Reference Table
- Using ANS for Compression
- Decoding Example
- So Where Does the Compression Come From?
- Practical Compression: Which Statistical Algorithm Do I Choose?
- Chapter 6. Adaptive Statistical Encoding
- Locality Matters for Entropy
- Adaptive VLC Encoding
- Dynamically Building a VLC Table
- Literals
- Resets
- Knowing When to Reset
- Using This in Practice
- Adaptive Arithmetic Coding
- Adaptive Huffman Coding
- The Modern Choice
- Chapter 7. Dictionary Transforms
- A Basic Dictionary Transform
- Finding the Right "Words"
- The Lempel-Ziv Algorithm
- How LZ Works
- Encoding
- Decoding
- Compressing LZ output
- LZ Variants
- Collect Them All!
- Chapter 8. Contextual Data Transforms
- Run-Length Encoding
- Dealing with Short Runs
- Compressing
- Delta Coding
- XOR Delta Coding
- Frame of Reference Delta Coding
- Patched Frame of Reference Delta Coding
- Compressing Delta-Encoded Data
- Does It Work on Text?
- Move-to-Front Coding
- Avoiding Rogue Symbols
- Compressing MTF
- Burrows-Wheeler Transform
- Ordering Is Important!
- How BWT Works
- Inverse BWT
- Practical Implementations
- Compressing BWT
- Chapter 9. Data Modeling
- The Chains of Markov
- Markov and Compression
- Practical Implementations
- Prediction by Partial Matching
- The Search Trie
- Compressing a Symbol
- Choosing a Sensible N Value
- Dealing with Unknown Symbols
- Context Mixing
- Types of Models
- Types of Mixing
- The Next Big Thing?
- Chapter 10. Switching Gears
- Media-Specific Compression
- General-Purpose Compression
- Compression in Practice
- Chapter 11. Evaluating Compression
- Compression Usage Scenarios
- Compressed Offline, Decompressed On-Client
- Compressed On-Client, Decompressed In-Cloud
- Compressed In-Cloud, Decompressed On-Client
- Compressed On-Client, Decompressed On-Client
- Compression Need
- Compression Ratio
- Compression Performance
- Decompression Performance
- Ability to Decode-Stream
- Comparing Compressors
- Chapter 12. Compressing Image Data Types
- Understanding Quality Versus File Size
- What Reduces Image Quality?
- Measuring Image Quality
- Making This Work
- Image Dimensions Are Important
- Choosing the Correct Image Format
- PNG
- JPG
- GIF
- WebP
- And Now for Choosing...
- GPU Texture Formats
- Vector Formats
- Eyes on the Prize
- Chapter 13. Serialized Data
- Understanding Common Use Cases
- Dynamically Server-Built Data
- Statically Built Server-Owned Data
- Dynamically Client-Built Data
- Statically Client-Owned Data
- Issues with Serialized Formats
- Human-Readable Text
- Slow Decode Times
- Smaller Serialized Data
- Use a Binary Serialization Format
- Restructure Lists for Better Compression
- Organize for Efficient Fetching
- Segment Out Data into the Proper Compression Format
- Chapter 14. Lossy Data Compression
- Chapter 15. Making the World a Little Smaller
- Data Compression and You
- Data Compression and the Bottom Line
- User Acquisition and Retention
- Running Costs
- Planning Ahead
- Making Your Users' Lives a Little More Magical and Less Expensive
- Thinking About What's Next in Technology
- The Next Five Billion Users
- Mobile Networks
- ...Starting Now
- Glossary of Compression Words
- Index
- About the Authors
- Colophon
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.