Основы форматов

Что такое DjVu: формат, который сжимает сканы книг лучше PDF

Вы скачали учебник или редкую книгу, а вместо привычного PDF получили файл .djvu, который не открывается обычным просмотрщиком. За этим странным расширением стоит изящная инженерная идея: разобрать страницу на слои и сжать каждый по-своему. Разбираемся, как DjVu умещает книгу 600 DPI в считанные мегабайты и почему он до сих пор живёт в библиотеках.

Полки старинной библиотеки с рядами книг — именно такие издания массово оцифровывают в DjVu
DjVu родился, чтобы целая библиотека помещалась на диск и быстро открывалась через медленный интернет. Фото: Pexels

Что такое DjVu простыми словами

DjVu (произносится «дежа-вю», от французского déjà vu) — это формат для хранения отсканированных документов: книг, журналов, старых учебников, чертежей. Его единственная цель — сделать так, чтобы скан бумажной страницы занимал как можно меньше места, но при этом оставался читаемым.

Если PDF — это универсальный «контейнер на все случаи жизни» (текст, вёрстка, формы, подписи), то DjVu — узкий специалист. Он не умеет почти ничего, кроме одного: показывать сканы. Зато делает это так, что страница книги в нём часто весит в 5–10 раз меньше, чем тот же скан, сохранённый в обычном PDF или в виде JPEG.

Коротко

DjVu — это «архиватор для сканов». Он разрезает отсканированную страницу на слои и сжимает каждый своим способом. Поэтому толстая книга умещается в файл размером с пару фотографий — и быстро грузится даже на слабом интернете.

Откуда взялся формат: учёные из AT&T Labs

DjVu появился не в недрах какой-то корпорации ради коммерции, а в исследовательской лаборатории. Его разработали в AT&T Labs в городе Ред-Банк, штат Нью-Джерси, с 1996 по 2001 год. Среди авторов — учёные, чьи имена сегодня знает весь мир искусственного интеллекта: Янн ЛеКун и Йошуа Бенжио (оба позже получили премию Тьюринга), а также Леон Ботту, Патрик Хаффнер и другие.

Задача стояла очень конкретная для своего времени. На дворе конец 1990-х, широкополосного интернета почти ни у кого нет, страницы грузятся по модему. А оцифровать хочется целые библиотеки. Скан книжной страницы в хорошем качестве (это называют разрешением — например, 300–600 точек на дюйм, или DPI) в формате JPEG весил сотни килобайт — выкладывать такое в сеть было мучительно. Нужен был формат, который ужмёт скан в десятки раз, не превратив текст в кашу.

Старинные книги с тиснёными датами 1880-х годов на корешках — типичный материал для оцифровки
Именно такие издания — старые, ценные, объёмные — стали первыми кандидатами на оцифровку в DjVu. Фото: Pexels

Главная идея: три слоя одной страницы

Вот в чём гениальность DjVu. Авторы заметили простую вещь: на странице книги соседствуют две совершенно разные «сущности». Есть чёткий чёрный текст — острые края, всего два цвета. И есть фон — желтоватая бумага, иллюстрации, пятна, плавные переходы цвета. Сжимать их одним алгоритмом — ошибка: то, что хорошо для текста, плохо для фотографии, и наоборот.

Поэтому DjVu при кодировании разбирает каждую страницу на три слоя:

  • Маска (mask) — чёрно-белый слой высокого разрешения (например, 300 DPI). Здесь живёт текст: острые контуры букв, которые должны остаться идеально резкими.
  • Передний план (foreground) — цвет самих букв, обычно в низком разрешении. Цвет шрифта меняется плавно, ему не нужна высокая детализация.
  • Фон (background) — цвет бумаги и иллюстрации, тоже в низком разрешении (около 100 DPI). Глаз всё равно не замечает мелких деталей фона за текстом.

Дальше каждый слой сжимается своим алгоритмом, идеально подходящим под его природу. Резкий текст — одним, размытый фон — другим. Именно это разделение и есть источник магии маленького размера.

DjVu смотрит на страницу не как на одну картинку, а как на текст поверх фона — и сжимает их раздельно. В этом весь фокус.

JB2 и IW44: как достигается крошечный размер

За сжатие отвечают два разных кодека — по одному на тип содержимого.

JB2 сжимает чёрно-белую маску с текстом (это родственник стандарта JBIG2). Его трюк остроумен: алгоритм находит на странице повторяющиеся фигуры — например, все буквы «а» в одном шрифте и кегле выглядят почти одинаково. Вместо того чтобы хранить тысячу отдельных «а», JB2 сохраняет форму буквы один раз, а потом просто записывает: «вот здесь стоит „а“, и здесь, и здесь». Текст — это бесконечное повторение одних и тех же знаков, поэтому экономия колоссальная.

IW44 — это второй способ сжатия, он отвечает за цветной фон и цвет букв. Он специально придуман для плавных, размытых картинок: убирает мелочи, которые глаз всё равно не различит, и почти не «съедает» качество там, где это важно. Поскольку фон хранится в низком разрешении, он сжимается до сущих крох.

Полное имя
DjVu (déjà vu)
Расширение
.djvu, .djv
Разработчик
AT&T Labs
Годы создания
1996–2001
Сжатие
JB2 + IW44
Назначение
Сканы книг и документов

Цифры, которые впечатляют

Одна отсканированная страница книги в DjVu весит примерно 10–25 КБ, чёрно-белая техническая страница — 15–40 КБ, цветной журнальный разворот — 40–70 КБ. Скан 600 DPI в DjVu — около 30–50 КБ против примерно 500 КБ для того же скана в JPEG. Толстый учебник целиком — несколько мегабайт.

OCR-слой: картинка, в которой можно искать

На первый взгляд DjVu — это просто набор картинок-страниц. Но у формата есть приятная суперспособность: скрытый текстовый слой. Когда книгу оцифровывают, программа распознавания текста (OCR) «прочитывает» сканы и прикрепляет к ним невидимый текст, точно совмещённый со словами на изображении.

Результат: вы видите фотографию страницы со всеми её пятнышками и шрифтом эпохи, но при этом можете выделять слова, копировать их и искать по всей книге, как в обычном документе. Картинка для глаз — текст для поиска. Важная оговорка: этот слой есть не во всех файлах. Если книгу сканировали «на скорую руку» без OCR, искать в ней не получится — только листать.

DjVu сегодня: жив или мёртв?

Честный ответ — где-то посередине. Развитие формата фактически остановилось: новых версий не выходит, а компания LizardTech, владевшая коммерческой версией, давно свернула её. Поворотным стал 2002 год, когда Internet Archive выбрал DjVu для проекта «Миллион книг» и оцифровал в нём миллионы изданий. Но в 2016 году тот же Internet Archive объявил, что больше не делает в DjVu новые публикации: браузеры перестали поддерживать старые плагины, а Java-просмотрщик стало тяжело сопровождать.

И всё же формат не исчез. Миллионы уже оцифрованных книг продолжают жить в DjVu — в библиотеках, научных архивах, частных коллекциях. Поэтому, охотясь за редким учебником или старой монографией, вы вполне можете наткнуться на .djvu. Формат не развивается, но и не умирает — он просто стал хранителем огромного наследия.

Плотные ряды старых переплётов на стеллажах архива — наследие, во многом оцифрованное в DjVu
Миллионы книг из таких хранилищ давно существуют в виде DjVu-файлов. Фото: Pexels

Как открыть и что делать с DjVu

Двойной клик по .djvu на свежей системе чаще всего ничем не заканчивается — нужна программа-читалка. Вариантов хватает: на Windows это WinDjView или SumatraPDF, на Mac — MacDjView, на телефоне — FullReader или PocketBook.

Но если ставить отдельную программу ради одного файла не хочется, есть путь проще — конвертировать DjVu в PDF. PDF открывает буквально всё: любой компьютер, смартфон, браузер, читалка. Вы превращаете нишевый формат в универсальный и больше не зависите от специальной читалки.

1

Загрузите файл

Перетащите .djvu в онлайн-конвертер — ничего устанавливать не нужно.

2

Получите PDF

Каждая страница аккуратно переносится в многостраничный PDF без потери качества скана.

3

Читайте где угодно

Готовый PDF открывается на любом устройстве и легко печатается.

Откройте свою DjVu-книгу прямо сейчас

Конвертер FormatZ превратит редкий .djvu в универсальный PDF за пару секунд — прямо в браузере, без установки и регистрации.

Конвертировать DjVu в PDF

Хотите глубже разобраться в различиях? Прочитайте наше подробное сравнение DjVu и PDF или практический гид, чем открыть DjVu на любом устройстве. А полный список доступных преобразований всегда есть на странице всех форматов.

PDF — универсальный контейнер для любых документов: текста, вёрстки, форм, подписей. DjVu заточен под одну задачу — сжимать отсканированные страницы. Он разбивает скан на слои и каждый сжимает отдельным алгоритмом, поэтому страница книги в DjVu часто весит в 5–10 раз меньше, чем тот же скан в обычном PDF.
Секрет в разделении на слои. Чёрный текст хранится отдельно от цветного фона: буквы — в чётком чёрно-белом слое (кодек JB2), а фон и иллюстрации — в размытом цветном слое низкого разрешения (вейвлет IW44). JB2 к тому же запоминает каждую уникальную букву один раз, а не тысячу. В сумме это даёт огромную экономию.
Да, если при оцифровке был добавлен OCR-слой. Это невидимый текст, привязанный к словам на скане: вы видите картинку страницы, но можете выделять и искать слова, как в обычном документе. Не во всех DjVu этот слой есть — зависит от того, как файл готовили.
Развитие формата фактически остановилось, а Internet Archive с 2016 года перестал делать в нём новые публикации. Но миллионы уже оцифрованных книг в библиотеках и архивах остаются в DjVu, поэтому встретить .djvu вы можете и сегодня. Для повседневной работы его обычно конвертируют в PDF.
Нужна программа-читалка: на Windows — WinDjView или SumatraPDF, на Mac — MacDjView, на телефоне — FullReader или PocketBook. Если ставить ничего не хочется, проще конвертировать DjVu в PDF — например, в онлайн-конвертере FormatZ — и открыть результат в любом просмотрщике.