A/V Data Compression
Basics
Peter Bubestinger-Steindl
(p.bubestinger@av-rd.com)
November 2019
Compressed? Uncompressed?
Current default = Lossy compression
Zlad! Elektronik Supersonik
Generation Loss
Calculating filesize: IMAGE
- Width(px) x Height(px)
- x Bits-Per-Pixel(bpp)
- x FPS
- / 8 = 1 second (in Byte)
Calculating filesize: AUDIO
- Samplerate x bit-depth
- x channels (even if silence!)
- / 8 = 1 second (in Byte)
Lossless
“It’s like ZIP for film!”
- No generation loss
- Way larger than lossy
- But: Smaller than uncompressed
Behind the Scenes: Algorithms
Run Length Enoding (RLE)
- Uncompressed:
BBBBBBBBGGBBBBBRRRBBBB = 19 Bytes
- Compressed:
8B2G5B3R4B = 10 Byte
Huffman Tree
Huffman Code
| E |
120 |
0 |
1 |
| D |
42 |
101 |
3 |
| L |
42 |
110 |
3 |
| U |
37 |
100 |
3 |
| C |
32 |
1110 |
4 |
| M |
24 |
11111 |
5 |
| K |
7 |
111101 |
6 |
| Z |
2 |
111100 |
6 |
JPEG
Encoding Pipeline
Terms used
- lossy
- lossless
- uncompressed
- data reduced format
- compressed
- near-lossless
- visually lossless
- mathematically lossless
Compression: Spatial and Temporal
A/V allows to apply compression in 2 ways:
- Spatial: Inside an image
- Temporal: Between images
Spatial compression: Examples
Data rate / Bitrate
“Data per time”
- Mbps / 8 = MB / second
- MB/s * 60 = MB / minute
- MB/min * 60 = MB / hour
Data rate / Bitrate
- Higher bitrate =
larger files, higher quality
- Lower bitrate =
smaller files, lower quality