Технология сжатия изображений в формате DjVu основана на принципе MRC (Mixed Raster Content — растровое содержимое смешанного типа). ellib.gpntb.ru Исходное изображение перед сжатием разделяется на несколько составляющих (слоёв) с содержимым одного и того же типа. ellib.gpntb.ru
Обычно выделяют два слоя: ellib.gpntb.ru
- «Текстовая» часть. ellib.gpntb.ru Для неё характерны резкие переходы между цветами (литеры текста, линии чертежа, штрихового рисунка и т. д.). ellib.gpntb.ru Обычно представлена в виде чёрно-белого изображения, но может быть и цветной (буквы плаката, цветные линии на карте, столбики диаграммы). ellib.gpntb.ru
- Полутоновая часть. ellib.gpntb.ru Для неё характерны плавные, мягкие переходы цветов, без мелкой детализации (цветные иллюстрации, фон страницы). ellib.gpntb.ru
Далее каждый из слоёв обрабатывается теми алгоритмами сжатия, которые наиболее эффективны применительно к содержимому именно данного слоя. ellib.gpntb.ru
Некоторые особенности работы технологии:
- Маска сохраняется с разрешением исходного файла и содержит изображение текста и прочие чёткие детали — тонкие линии и схемы — а также контрастные картинки. habr.com Она имеет разрешение 300 dpi, чтобы тонкие линии и контуры букв оставались чёткими, и сжимается с помощью алгоритма JB2. habr.com
- Задний план содержит текстуру страницы и иллюстрации, а его разрешение меньше, чем у маски. habr.com Фон без потерь для восприятия сохраняется с разрешением 100 dpi. habr.com
- Передний план хранит цветовую информацию о маске, и его разрешение обычно понижается ещё сильнее, так как в большинстве случаев цвет текста чёрный и одинаковый для одного печатного знака. habr.com
- Заключительным этапом создания DjVu-документа становится энтропийное кодирование, когда адаптивный арифметический кодировщик превращает последовательности одинаковых символов в бинарное значение. habr.com