Теория информации
Rate-Distortion Theory
Почему фотография весит 3 МБ в PNG, но 300 КБ в JPEG «хорошего качества» и выглядит так же? Rate-Distortion Theory даёт точный ответ: за счёт каких бит идёт «оплата» и что получаем взамен.
- **Netflix** использует per-title encoding: для каждого фильма подбирает свою кривую R-D с учётом сложности сцен. «Простые» фильмы сжимаются сильнее без потери воспринимаемого качества.
- **LLM токенизация** - это lossy-сжатие: BPE-токены представляют слова приближённо. Информационный ботлнек (Information Bottleneck) связывает это с R-D теорией.
- **Нейросетевые кодеки** (Google Balle, ELIC, 2022) начали превосходить AV1 при низких битрейтах - впервые за 20 лет прорыв в эффективности сжатия изображений.
Предварительные знания
Функция скорость-искажение
При lossy-сжатии мы намеренно теряем точность ради меньшего размера. Rate-Distortion Theory отвечает на вопрос: «какой минимальный размер файла при допустимом искажении D?». Функция R(D) даёт нижнюю границу: нельзя сжать ниже R(D) бит/символ при среднем искажении D. Для гауссовского источника R(D) = ½ log₂(σ²/D) - красивая формула, связывающая дисперсию, искажение и скорость.
**Rate-distortion function R(D):** R(D) = min_{p(x̂|x): E[d(X,X̂)]≤D} I(X;X̂). Для гауссовского источника X~N(0,σ²) при MSE-искажении: R(D) = max(0, ½ log₂(σ²/D)) бит/символ. Обратная функция: D(R) = σ² · 2^{−2R}. Удвоение скорости R уменьшает искажение в 4 раза.
| Скорость R | Искажение D/σ² | SNR (дБ) | Аналогия |
|---|---|---|---|
| 0 бит | 1.0 (σ²) | 0 дБ | Без сжатия - исходный шум |
| 1 бит | 0.25 | 6 дБ | Грубое сжатие |
| 4 бита | 0.0039 | 24 дБ | Хорошее качество |
| 8 бит | 1.5×10⁻⁵ | 48 дБ | Аудио CD |
Историческая справка
Клод Шеннон ввёл rate-distortion theory в статье 1959 года «Кодирование при ограниченном искажении». Теория была более абстрактной, чем его работа 1948 года, и потребовала десятилетий для практического применения. Сегодня она лежит в основе всех lossy-форматов.
Rate-distortion - теория только для аудио и видео
R(D) - универсальная теория для любого lossy-сжатия. Применима к сжатию нейросетевых весов, квантованию признаков и даже к токенизации LLM.
Любая задача «представить X с ограниченным числом бит при минимальном отклонении» - это rate-distortion задача.
Для гауссовского источника с σ²=4 при R=2 бит/символ, каково MSE-искажение D?
Квантование
Квантование - базовый инструмент lossy-сжатия: непрерывные (или многоразрядные) значения заменяются на дискретные кодовые слова. Скалярное квантование работает с каждым элементом отдельно, векторное квантование (VQ) - с группами. Алгоритм Ллойда-Макса минимизирует MSE-искажение при фиксированном числе уровней квантования.
**Скалярный квантизатор:** разбивает диапазон на R=2^b ячеек, каждой значению присваивает центроид. Оптимальный (Lloyd-Max): границы ячеек - середины центроидов, центроиды - средние значения в ячейке. Правило 6 дБ: каждый дополнительный бит квантования снижает MSE в 4 раза (≈6 дБ SNR).
| Bits | Уровней | MSE (теор.) | SQNR (дБ) | Применение |
|---|---|---|---|---|
| 1 | 2 | σ²/4 | ~6 дБ | 1-bit audio (речь) |
| 4 | 16 | σ²/256 | ~24 дБ | G.711 VoIP |
| 8 | 256 | σ²/65536 | ~48 дБ | CD audio |
| 16 | 65536 | σ²/4G | ~96 дБ | Studio audio |
Историческая справка
Алгоритм Ллойда (1957, опубликован 1982) и независимо Макса (1960) - первые оптимальные квантизаторы. Векторное квантование (VQ) от Линде-Бузо-Грея (1980) стало основой кодирования изображений CELP-речи и современных нейросетевых кодеков (VQ-VAE).
Равномерное квантование всегда оптимально
Оптимальное квантование (Lloyd-Max) неравномерно: больше уровней там, где больше вероятность. Равномерное оптимально только для равномерного распределения.
Если сигнал имеет гауссовское распределение, мало значений у краёв диапазона. Равномерный квантизатор тратит уровни впустую на маловероятные значения.
Правило 6 дБ утверждает: при добавлении 1 бита квантования SNR улучшается примерно на 6 дБ. Чему равно улучшение MSE?
Lossy сжатие: JPEG и MP3
JPEG и MP3 - не просто «квантование файла», а трёхэтапная трансформационная цепочка: сначала transform (DCT/MDCT) переводит сигнал в частотную область, затем квантование с перцептуальными весами убирает то, что человек не заметит, и наконец энтропийное кодирование сжимает результат без потерь. Перцептуальная модель - ключ: зрение нечувствительно к высоким частотам, слух маскирует тихие звуки рядом с громкими.
**JPEG:** 8×8 блок → DCT → квантование Q-таблицей → zigzag → RLE → Хаффман. Коэффициент сжатия ~10:1 при хорошем качестве. **MP3:** перекрывающийся MDCT → субполосное фильтрование → психоакустическая модель → квантование → Хаффман. Типично 192 кбит/с вместо 1411 кбит/с (CD).
| Формат | Transform | Перцептуальная модель | Типичное сжатие |
|---|---|---|---|
| JPEG | 8×8 DCT | Зрительная: HVS Q-таблицы | 10:1 (хор. качество) |
| MP3 | MDCT + polyphase | Слуховая: маскировка | 8:1 (192 кбит/с) |
| AAC | MDCT | Улучшенная слуховая | 10:1 (128 кбит/с) |
| HEVC/H.265 | DCT/DST переменного размера | Предсказание + HVS | 40:1 (видео 4K) |
Историческая справка
JPEG стандартизирован в 1992 году. До него изображения в интернете были практически нереальными для передачи - BMP или GIF. MP3 (MPEG-1 Audio Layer III, 1993) революционизировал музыкальную индустрию и запустил волну цифровой дистрибуции. Оба формата до сих пор доминируют через 30 лет.
JPEG lossy только из-за квантования пикселей
JPEG lossy из-за квантования DCT-коэффициентов. Это намного эффективнее прямого квантования пикселей - потери скрыты в незаметных деталях.
DCT-домен позволяет управлять потерями перцептуально: высокочастотные коэффициенты (детали) квантуются грубо, низкочастотные (контуры) - точно.
Зачем JPEG применяет DCT перед квантованием, а не квантует пиксели напрямую?
Компромисс скорость-качество
Rate-distortion компромисс - фундаментальное ограничение: кривая R(D) показывает, что при сжатии ниже определённой скорости потери неизбежно растут. Современные кодеки (HEVC, AV1) приближаются к теоретической кривой R(D). Нейросетевые кодеки (2020-е) начинают пробиваться выше кривой «классических» методов в определённых метриках качества (LPIPS, SSIM).
**Rate-distortion компромисс на практике:** Кривая R(D) - теоретическая граница. Реальные кодеки выше неё (хуже). Расстояние до кривой называется «coding gap». AV1 на 30-50% эффективнее H.264 при том же качестве. Нейросетевые кодеки (VCT, ELIC) превосходят AV1 при низких битрейтах.
| Кодек | Год | BD-Rate vs H.264 | Особенность |
|---|---|---|---|
| H.264/AVC | 2003 | 0% (базовый) | Повсеместный стандарт |
| H.265/HEVC | 2013 | -50% | 4K, HDR |
| AV1 | 2018 | -65% | Открытый, YouTube/Netflix |
| VVC/H.266 | 2020 | -50% vs HEVC | 8K, HDR |
| Neural (ELIC) | 2022 | -70% vs H.265 | Лучше при низком битрейте |
Историческая справка
В 2020-2023 годах нейросетевые кодеки впервые превзошли AV1 по объективным метрикам при низких битрейтах. Компания Stability AI и исследователи Google Brain показали, что диффузионные модели могут использоваться как экстремально мощные декодеры. Граница между «сжатием» и «генерацией» размывается.
Нейросетевые кодеки нарушают теорему Шеннона
Они не нарушают теорему - они просто лучше приближаются к кривой R(D) за счёт более мощной «модели источника» (нейросеть).
R(D) - нижняя граница для любой схемы. Нейросетевой кодек - это более точная модель реальных изображений, что позволяет эффективнее использовать доступные биты.
AV1 использует вдвое меньший битрейт, чем H.264, при том же PSNR. Что это означает в терминах rate-distortion?
Ключевые идеи
- **R(D) function:** нижняя граница - при допустимом искажении D нельзя сжать ниже R(D) бит/символ. Для гауссового источника: R(D) = ½ log₂(σ²/D).
- **Квантование:** отображение непрерывных значений в дискретные. Каждый бит квантования → +6 дБ SNR (MSE ÷ 4).
- **JPEG/MP3:** transform (DCT/MDCT) → перцептуальное квантование → энтропийное кодирование. Перцептуальная модель - ключ к качеству.
- **Нейросетевые кодеки** приближаются к кривой R(D) быстрее, чем классические методы, за счёт мощной модели источника.
Связанные темы
Rate-Distortion Theory связывает сжатие с информацией и машинным обучением:
- Канал связи и пропускная способность — Rate-distortion - «сестринская» теория: там R(C) для надёжности, здесь R(D) для качества
- Information Theory в ML — Information Bottleneck и ELBO - применения R-D теории к обучению нейросетей
- Сжатие данных: JPEG, H.265, LLM — Практические реализации R-D теории в стандартах и нейросетях
Вопросы для размышления
- Почему нейросетевые кодеки могут быть эффективнее классических? Что такого они «знают» о структуре изображений?
- JPEG работает на блоках 8×8. Как это связано с rate-distortion теорией и почему не 16×16 или 4×4?
- Токенизация LLM - это lossy-сжатие? Как применить R-D framework к оценке качества токенизатора?