Для сжатия цветных изображений в DjVu применяется специальная технология, разделяющая исходное изображение на три слоя: передний план, задний план и чёрно-белую (однобитовую) маску. Маска сохраняется с разрешением исходного файла; именно она содержит изображение текста и прочие чёткие детали. Разрешение заднего плана, в котором остаются иллюстрации и текстура страницы, по умолчанию понижается для экономии места. Передний план содержит цветовую информацию о маске; его разрешение обычно понижается ещё сильнее. Затем задний и передний планы сжимаются с помощью вейвлет-преобразования, а маска — алгоритмом JB2.
Особенностью алгоритма JB2 является то, что он ищет на странице повторяющиеся символы и сохраняет их изображение только один раз. В многостраничных документах каждые несколько подряд идущих страниц пользуются общим «словарём» изображений.
Для сжатия большинства книг можно обойтись только двумя цветами. В этом случае используется всего один слой, что позволяет достичь рекордной степени сжатия. В типичной книге с чёрно-белыми иллюстрациями, отсканированной с разрешением 600 dpi, средний размер страницы составляет около 15 Кб, то есть приблизительно в 100 раз меньше, чем исходный файл. В присутствии сложного заднего плана выигрыш объёма составляет обычно 4—10 раз. Однако при этом не стоит забывать, что в DjVu используется сжатие данных с потерями, поэтому для особо важных документов, возможно, будет разумнее использовать форматы сжатия без потерь: PNG, JPEG 2000, TIFF и т. п.
В основе формата DjVu лежат несколько технологий, разработанных в AT&T Labs:
- алгоритм отделения текста от фона на отсканированном изображении;
- вейвлетный алгоритм сжатия фона IW44;
- алгоритм сжатия чёрно-белых изображений JB2;
- универсальный алгоритм сжатия ZIP;
- алгоритм распаковки «по запросу»;
- алгоритм «маскировки» изображений.
