Неделя 2: Кватернионные банки фильтров и QWT; КП: сравнить сохранение цветовых корреляций (Ell; Sangwine; Bayro)
Связь с прошлой неделей и роль этой недели в курсе
На прошлой неделе мы ввели кватернионы как язык представления цвета: RGB-пиксель можно рассматривать как
единый объект (например, чистый кватернион), а не как три независимых канала. Теперь мы делаем следующий шаг: вместо простых операций над кватернионами строим
преобразования, которые в компрессии играют роль «разложения по частотам».
В классической компрессии эту роль выполняют DCT (JPEG) или вейвлеты (JPEG2000). В нашем курсе мы хотим понять, что изменится, если такие разложения делать не поканально, а кватернионно: через кватернионные банки фильтров и кватернионные (вейвлетоподобные) преобразования, включая QWT.
Далее (неделя 3) мы сравним это с традиционными и обучаемыми кодеками, а на неделе 4 — обсудим, как кватернионный блок можно встроить в современный нейрокодек.
Результаты недели
К концу недели вы должны:
Понимать, что такое банк фильтров и почему вейвлет-преобразование удобно для компрессии
Понимать, что означает идеальная реконструкция (perfect reconstruction) и почему это важнее «красивой математики»
Понимать, чем кватернионный банк фильтров отличается от поканального (RGB отдельно)
Знать, что обычно подразумевают под QWT в контексте цветных изображений: кватернионное представление коэффициентов, которое старается сохранить связность цвета (корреляции каналов) в поддиапазонах
Уметь описать и выполнить контрольную точку недели: сравнить, как разные разложения сохраняют межканальные корреляции
Осознавать критическую проблему: квантование кватернионных коэффициентов в поддиапазонах и его влияние на цветовые артефактыТаймлайн недели и контрольные точки
| День | Фокус | Контрольная точка (КП) |
|---|---|---|
| 1 | Что такое банк фильтров: анализ/синтез, поддиапазоны | Уметь словами объяснить, чем отличаются фильтры анализа и синтеза |
| 2 | Вейвлет-разложение как частный случай банка фильтров | Уметь нарисовать схему 2D вейвлет-разложения на 4 поддиапазона |
| 3 | Идеальная реконструкция: зачем нужна в компрессии | Объяснить, что «ошибка» должна определяться квантованием, а не самим преобразованием |
| 4 | Кватернионная фильтрация: что меняет некоммутативность | Уметь объяснить разницу между левым и правым умножением в фильтрации |
| 5 | Интуиция QWT: что кодирует коэффициент (амплитуда/фаза/ориентация) и почему это полезно для цвета | Уметь объяснить, почему «единый коэффициент на цвет» снижает риск цветового расслоения |
| 6 | КП: сравнение сохранения корреляций (кватернионно vs поканально) | Посчитать и сравнить межканальные корреляции коэффициентов поддиапазонов |
| 7 | Критическая проблема: квантование кватернионных коэффициентов | Сформулировать 2–3 стратегии квантования и их риски |
Банк фильтров: минимальная теория без лишней формальности
Что такое банк фильтров
Банк фильтров — это схема, которая:
разлагает сигнал на несколько компонент (обычно по частотам/масштабам) с помощью фильтров анализа
(в компрессии) позволяет по-разному квантовать/сжимать эти компоненты
затем собирает сигнал обратно фильтрами синтезаВ 2D (для изображений) самый типичный вариант — разложение на поддиапазоны:
низкие частоты по обеим осям (приближение)
низкие по одной оси и высокие по другой (детали)
высокие по обеим (мелкие детали/шум)Почему вейвлеты так часто используются в компрессии
Вейвлет-разложение можно понимать как хорошо организованный банк фильтров, который:
дает много коэффициентов около нуля (их легко энтропийно кодировать)
локализован и по пространству, и по масштабу (ошибки квантования часто выглядят менее «глобальными», чем у DCT)
естественно поддерживает многоуровневость (пирамиду масштабов)Идеальная реконструкция (perfect reconstruction)
Ключевая инженерная идея: если у нас нет квантования (то есть мы храним коэффициенты точно), то после анализа и синтеза мы должны получить исходное изображение.
Если реконструкция неидеальна сама по себе, то мы смешиваем два источника ошибки: ошибку преобразования и ошибку квантования.
Для компрессии это плохо: мы хотим, чтобы качество контролировалось только квантованием/битрейтом.Переход к цвету: поканально или кватернионно
Поканальная схема (базовая, но проблемная)
Самый распространенный подход: применить один и тот же 2D-банк фильтров к R, G, B по отдельности.
Плюсы:
простота реализации
можно использовать готовые вейвлет-фильтры без измененийМинусы (важные для нашего курса):
связи между каналами учитываются слабо или не учитываются вообще
при агрессивном квантовании поддиапазонов возможны цветовые ореолы и расслоение контуров между каналамиКватернионная схема (идея недели)
Мы представляем цветной пиксель как кватернион (часто как чистый кватернион):
Разбор формулы:
— координаты пикселя
— значения каналов в этой точке
— базисные мнимые элементы кватерниона
скалярная часть равна нулю, поэтому это чистый кватернионДальше мы хотим применить к этому полю фильтрацию и разложение на поддиапазоны так, чтобы преобразование работало с цветом как с единым объектом.
Кватернионные банки фильтров: что принципиально меняется
Кватернионная фильтрация и некоммутативность
В вещественной/комплексной фильтрации порядок умножения обычно не обсуждают: он «по умолчанию» коммутативен или не вызывает проблем. Для кватернионов это не так: в общем случае .
Поэтому уже на уровне определения свертки (фильтрации) нужно выбрать соглашение:
левая фильтрация: коэффициент фильтра умножается слева
правая фильтрация: коэффициент фильтра умножается справаПрактический смысл для банка фильтров:
нужно фиксировать порядок умножения одинаково в анализе и синтезе
иначе можно получить преобразование, которое плохо реконструирует сигнал или меняет статистику коэффициентов непредсказуемоЧто означает «кватернионный фильтр»
Есть два частых сценария:
Фильтры вещественные (скалярные), а сигнал кватернионный
- тогда фильтрация не смешивает компоненты напрямую, но и не разрывает их на отдельные каналы: коэффициент в поддиапазоне остается кватернионом, что удобно для совместного квантования и энтропийного моделирования
Фильтры тоже кватернионные
- тогда фильтр может реализовывать «согласованное смешивание» компонент (цветовых осей) в процессе разложения
Для компрессии нас особенно интересует второй вариант, потому что он потенциально позволяет встроенно учитывать корреляции RGB при формировании поддиапазонных коэффициентов.
Что обычно подразумевают под QWT в обработке изображений
Термин QWT в литературе и практике может употребляться не идеально единообразно, но в контексте нашей темы полезно держать следующую рабочую интерпретацию.
Интуитивное определение
QWT (quaternion wavelet transform) — это вейвлетоподобное разложение, в котором коэффициенты являются кватернионами и несут информацию о локальных структурах изображения так, чтобы:
детали (границы, текстуры) описывались компактно
цветовые каналы оставались согласованными
было легче избежать цветового расслоения при квантованииЧто может «кодировать» кватернионный коэффициент
Если говорить на уровне интуиции (без тяжелого вывода), один коэффициент в поддиапазоне может одновременно выражать:
локальную силу детали (аналог амплитуды)
локальную структуру/фазу детали
ориентационную информацию
и при этом быть единым контейнером для связанного изменения в RGBЭто полезно именно для компрессии: квантование одного связанного объекта часто дает более предсказуемые артефакты, чем независимое квантование трех каналов.
Где QWT «похожа» на привычные инструменты
Чтобы не создавать ощущение, что QWT — это полностью другой мир:
вейвлет-идея сохраняется: разложение на масштабы и поддиапазоны
как и в JPEG2000, возникает набор коэффициентов, большинство из которых малы
отличие в том, что коэффициент несет сцепленный цветовой смыслВизуальная интуиция: схема кватернионного разложения
!
Блок-схема, показывающая отличие поканального и кватернионного фильтробанкаКП недели: сравнить сохранение цветовых корреляций
Цель КП: не «доказать теорему», а увидеть измеримо и визуально, что кватернионное разложение может лучше сохранять совместную структуру цвета в поддиапазонах.
Что именно сравниваем
Сравниваем две линии обработки:
Поканальная
- применяем один и тот же банк фильтров к R, затем к G, затем к B
Кватернионная
- собираем и применяем кватернионный банк фильтров так, что коэффициенты поддиапазонов остаются кватернионами
Как измерить «сохранение корреляций»
Есть два простых измеримых подхода (их можно комбинировать).
Межканальная корреляция в поддиапазонах
- берем коэффициенты поддиапазона (например, LH на первом уровне)
- если у нас поканально, то это три массива коэффициентов
- считаем корреляции между парами (R,G), (R,B), (G,B)
- сравниваем, насколько сильно эти корреляции «проседают» относительно исходного изображения
Поведение артефактов после одинакового квантования/обнуления
- применяем одинаковое правило грубого квантования (например, округление или обнуление малых коэффициентов) в обоих подходах
- сравниваем ошибки в цвете: визуально и с помощью метрик цвета (подготовка к неделе 5)
Что фиксировать как результат КП
Результат КП удобно оформить как таблицу наблюдений:
поддиапазон (LL/LH/HL/HH и уровень)
корреляции (RG/RB/GB) до и после
субъективное наблюдение: где появляется цветовое расслоение!Сравнение типичных цветовых артефактов при поканальном и кватернионном разложении
Критическая проблема: квантование кватернионных коэффициентов в поддиапазонах
На прошлой неделе мы уже отметили, что квантование кватерниона «как четырех независимых чисел» часто разрушает структуру. В банках фильтров проблема усиливается, потому что:
в каждом поддиапазоне статистика коэффициентов разная
именно квантование поддиапазонов напрямую определяет артефактыНиже — основные стратегии и их компрессионный смысл.
Покомпонентное квантование
Идея: квантовать отдельно компоненты кватерниона.
плюс: просто, можно использовать стандартные энтропийные модели
минус: легко разрушить совместную структуру цвета, особенно в высокочастотных поддиапазонахКвантование «норма + направление»
Идея: представить кватернионный коэффициент как произведение величины и «направления».
На уровне интуиции:
норма отвечает за «силу детали»
направление отвечает за то, как эта деталь распределена по цветовым компонентамКомпрессионный смысл:
можно квантовать норму грубее, а направление беречь сильнее
это часто лучше сохраняет цветовую согласованность границЗависимость от энтропийного кодирования
Даже если преобразование хорошее, итоговый битрейт определит энтропийная модель (мы будем подробно говорить об этом на неделе 3 и особенно в контексте нейрокодеков).
Важно заранее понимать: кватернионные коэффициенты могут требовать
совместного моделирования компонент
или смены параметризации (например, кодировать норму отдельно)Иначе потенциальное преимущество кватернионного разложения может «не дойти» до реального выигрыша по битрейту.
Ключевые работы недели и зачем они нужны
Todd A. Ell, Stephen J. Sangwine — Hypercomplex Fourier Transforms (Springer, 2014)
- Зачем: это один из наиболее цельных источников по гиперкомплексным (включая кватернионные) преобразованиям сигналов и изображений, включая свойства, важные для фильтрации и построения преобразований. Для нашей недели это методологическая база: как аккуратно переносить идеи частотного/линейного анализа в кватернионный мир.
- Ссылка:
Hypercomplex Fourier Transforms (Springer)Stephen J. Sangwine — Fourier transforms of colour images using quaternion, or hypercomplex, numbers (Electronics Letters, 1996)
- Зачем: короткая, но фундаментальная мотивация «цвет как единый гиперкомплексный сигнал». Эта идея прямо поддерживает кватернионные фильтробанки: если цвет единый сигнал, то и разложение на поддиапазоны логично делать единым.
- Ссылка:
Sangwine (1996), Electronics Letters (DOI)Eduardo Bayro-Corrochano — Geometric Computing: for Wavelet Transforms, Robot Vision, Learning, Control and Action (Springer, 2010)
- Зачем: дает геометрическую интерпретацию алгебраических конструкций и связывает их с вейвлетами и вычислительными схемами. Для нас это важно, чтобы кватернионные фильтры и QWT не воспринимались как набор трюков, а как геометрически осмысленные операции.
- Ссылка:
Geometric Computing (Springer)Как эта неделя готовит нас к неделе 3
Теперь у нас есть «кандидатный блок» для кодека: кватернионный банк фильтров/QWT, который потенциально лучше сохраняет цветовые корреляции. На неделе 3 мы разберем, как устроены реальные кодеки (JPEG/JPEG2000 и обучаемые нейрокодеки) и где именно подобный блок может дать преимущество или, наоборот, создать сложности (например, из-за энтропийного кодирования и квантования).