A/V Data Compression - Basics

Peter Bubestinger-Steindl
(peter @ ArkThis.com)

November 2023

Compressed? Uncompressed?

Current default = Lossy compression

Zlad! Elektronik Supersonik

Generation Loss

Uncompressed

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

Letter Freq
E 120
D 42
L 42
U 37
C 32
M 24
K 7
Z 2

Source: Indiana University

Huffman Tree

Huffman Code

Letter Freq Code Bits
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

Lossy

JPEG

Encoding Pipeline

Terms used

  • lossy
  • lossless
  • uncompressed
  • data reduced format
  • compressed
  • near-lossless
  • visually lossless
  • mathematically lossless

Format examples: VIDEO

Lossy Lossless Uncompressed
MPEG-1,2,4 FFV1 v210
JPEG2000 JPEG2000 UYVY
ProRes Dirac YUY2
H.264 H.264 H.264
H.265 H.265 RGBA

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

  • “Better” format =
    Same size, better quality - OR:
    Smaller size, same quality.

Comments?

Questions?