Q-преобразование вспомнилось. Линка нету, поэтому на пальцах.
Алгоритм примерно такой:
Пускай у нас есть 24-битное изображение
- Переводим из RGB в YCrCb(яркость, хроматический крассный и синий).
- Дискретизация. Разбиваем изображение на матрицы 8х8. Из каждой такой формируем 3 рабочие матрицы ДКП — по 8 бит отдельно для каждого компонента.
- Применяем ДКП к каждой матрице. В результате буде матрица с низкочастотными составляющими изображения в верхнем-левом углу и высокочастотным в правом нижнем.
- Собственно квантирование поэлементно.
- В эту матрицу в зигзагообразном порядке ((0,0) (1,0) (0, 1) (2, 0) (1, 1) (0, 2)...), тоесть от низких частот к высоким можно вписывать текст. только без фанатизма.