Ликбез по djvu

Удивляет тотальное незнание народа о замечательном формате djvu (читается déjà vu). Поэтому сегодняшний пост будет посвящен этому замечательному графическому формату. Для начала — немного истории.

Где-то в начале 90-х возникла проблема перевода существующих «бумажных» архивов в электронный вид. Для фирмы AT&T эта проблема стояла еще более остро — за годы работы накопилось огромное количество технической документации, содержащей не только текст, но и рисунки, графики, схемы и формулы. Естественно, никто не стал бы «набивать» все эти данные заново, поэтому в 1996 году был разработан формат djvu специально для эффективного хранения сканированных документов.

Естественно, djvu относится к семейству графических форматов, использующих компрессию с потерями. Но сжатие в djvu намного более эффективно, чем, например, jpeg. Просто приведу числа. Сканированная страница формата A3, при разрешении сканирования 300 точек на дюйм и 24-битном цвете занимает при использовании формата без компрессии около 50 Мб. Сжатием без потерь (вроде ZIP или RAR) удается сократить размер примерно до 30-40 Мб. JPEG при сохранении «читабельности» текста «сожмет» файл до 1 Мб. В djvu эта же страница будет «весить» около 200 Кб. Результат впечатляющий.

Дальше будут картинки, они уменьшены, чтобы не рвать френдленту, полная версия — по щелчку.

Медвед-1892, скан 300 dpi
Медвед-1892, скан 300 dpi

За счет чего достигаются такие выдающиеся показатели? При сжатии в djvu изображение «разбивается» на несколько слоев. Один слой содержит «четко выделяющиеся» элементы изображения, такие как текст и графики — он называется foreground, «передний план», другой — background, «фон». К ним применяются различные алгоритмы сжатия.

Фон от того же медведа
Фон от того же медведа

Как легко видеть, «фон» — это крупные цветные пятна, рисунок сохраняется с пониженным разрешением и сильным сжатием. А что представляет собой «передний план»?

Передний план от медведа
Передний план от медведа

В качестве «переднего плана» программа сжатия выделила некоторые контрастные элементы рисунка. Здесь также применяется сжатие с потерями, но работающее по другому алгоритму. В результате наложения переднего плана на фон получим такую картинку:

Медвед после жестокого djvu-сжатия
Медвед после жестокого djvu-сжатия

Конечно, многие уже испугались и навсегда зареклись использовать djvu. Но… В силу вступают новые соображения. Данный формат разработан специально для документов, предназначенных для просмотра на экране компьютера, а не для печати с полиграфическим качеством. Поэтому смотреть рисунки надо не с разрешением 300 точек на дюйм, а ограничиться лишь 72.

Сверху - оригинал, снизу - djvu
Сверху - оригинал, снизу - djvu

В целом, результат вполне радует глаз. Все же преимущества djvu проявляются при сканировании текста. Например, в Petit Journal «фон» — это пожелтевшая от времени бумага, и нет никакой необходимости сохранять в высоком разрешении все нюансы. «Передний план» — это текст, и здесь djvu-компрессия проявляет все свои положительные качества.

Скан 300 dpi
Скан 300 dpi

Как нетрудно заметить, при наборе текста используется не больше сотни отдельных литер (включим сюда разнообразные умляуты и прочие «радости» некоторых европейских языков). Это обстоятельство было учтено при разработке djvu, и при сжатии текста в этом формате сначала выделяются символы с похожим начертанием, а потом в тех местах, где они встречаются, сохраняется лишь информация об отличиях от «эталонного» начертания. Более того, слой «текста» — монохромный, что позволяет добиться очень высокой степени компрессии.

Текст в djvu
Текст в djvu

К сожалению, тут не обошлось без недостатков. В оригинале имеются довольно сильные дефекты печати, которые оказались «не по зубам» djvu-формату. Но там, где текст достаточно хорош, сжатие позволило даже улучшить читаемость за счет повышения контрастности.

И еще немного сжатого в djvu текста
И еще немного сжатого в djvu текста

Совершенно незаменим формат djvu при сканировании книг со «сложным» текстом, насыщенным формулами или графиками. «Среднюю» книгу, например, по математике — около 500 страниц A5, в djvu можно сжать до 5-10 Мб. 10 Кб на страницу — это очень неплохо. Пожалуй, меньше будет только текст книги в TeX. Качество же — вполне на уровне, можно даже печатать:

Всяческие формулы
Всяческие формулы

Впрочем, и книги по совершенно гуманитарным дисциплинам в этом формате выглядят неплохо. Если нет времени на «вычитку» OCR — то вполне можно воспользоваться djvu, «потомки скажут спасибо». Для сравнения, в PDF со сравнимым качеством двухсотстраничная книга «весит» 27 Мб, а в djvu — всего лишь 5 Мб.

Кстати, в djvu предусмотрен еще один слой, о котором я еще не сказал. Это так называемый OCR-слой, предназначенный для хранения текста. В него можно добавить распознанный «читалкой», например ABBYY Fine Reader, текст. Из djvu-документа с вставленным таким образом текстом можно копировать отдельные части, в нем можно искать какие-то слова — фактически, работать, как с простым текстовым файлом.

В ближайшее время напишу еще один пост, посвященный конкретным программам для работы с djvu. Отдельно уделю внимание созданию djvu-документов.

Превед-1892

Еще один отсканированный номер Petit Journal. На этот раз — от 26 ноября 1892 года.

Пока французские солдаты в пробковых шлемах разглядывают идолов в Дагомее…

…в России «знаменитый Преображенский полк» сражается с медведами, терроризирующими Холмогоры:

А они всего лишь хотели сказать «ПРЕВЕД!»

Кроме негритянских божков и русских медведей, в этом номере можно найти рассказы «Un Malentendu» Альфонса Доде и «Le Chomage» Эмиля Золя.

Номер целиком можно скачать у меня (1,76 Мб):

http://shura.luberetsky.ru/petitjournal/26novembre1892.djvu

Номер выставлен на molotok.ru:

http://molotok.ru/show_item.php?item=489606528

Другие номера тоже будут продаваться, следите за обновлениями.

Женераль БрусилОфф, или Petit Journal от 2 июля 1916 года

Не одной русско-японской войной жив Petit Journal. Только что закончил сканировать номер от 2 июля 1916 года.

Немецкие войска стоят в 120 километрах от Парижа. Еще никто не знает, что на заводах Круппа начали отливку сверхдальнобойного орудия, которое в следующем 1917 году будет установлено недалеко от Парижа и будет обстреливать город. Во Франции — проблемы с бумагой (как и в ноябре 2008 года). Несмотря на это, Petit Journal продолжает выходить на плохо разрезанной бумаге, по ощущениям напоминающей нынешнюю газету «Советская Россия».

Вся надежда — на cossackoв генерала Brousilloff, которые бьют проклятых бошей и их австрийских прихвостней. Под впечатлением от grande victoire russe австрийские дезертиры рванули аж на румынскую границу, где решили сдаться хотя бы румынам.

Это — ле женераль БрусилОфф. Можно распечатать и повесить на стенку в самое видное место:

А это — австрийские дезертиры сдаются в плен румынам:

Кроме того, журнал развлекает читателей карикатурами на околовоенные темы:

А на развороте посередине — фотографии из мест боевых действий.

Номер целиком в djvu можно скачать у меня (2,17 Мб):

http://shura.luberetsky.ru/petitjournal/2juillet1916.djvu

А можно — купить бумажный на molotok.ru:

http://molotok.ru/show_item.php?item=489599634

Petit Parisien, 12 июня 1904

Пришло еще несколько номеров Petit Journal и Petit Parisien. В посылку француз вложил записку «Sorry for late… No wrapping paper!!!». Экономический кризис наступает.

Сегодня выкладываю номер Petit Parisien от 12 июня 1904 года. Во Франции судят маньяков и убивцев (первая страница), а на Дальнем Востоке (Extreme Orient) идет русско-японская война. На последней странице — изображения японского броненосца непонятной конструкции (3D-моделисты, рисовавшие «Славрору» в «АдмиралЪе» отдыхают) и не менее удивительных русских морских мин.

Кстати, пользуясь случаем, хочу пропеарить уважаемого [info]szhaman, который пишет в том числе о «короткостволе» начала XX века. Примерно вот таком (из рекламы на 7 странице):

Револьвер системы «Галан» можно было купить всего за 30 франков — 12 тогдашних рублей (в свое время в ознаменование союза с Францией были выпущены золотые монеты, имевшие хождение в обеих странах одновременно, достоинством 37,5 рублей или 100 франков — так что «обменный курс» известен), в нагрузку к сочинениям господина Буссенара. По тогдашним оружейным каталогам подобные револьверы, предназначавшиеся для самообороны, стоили 10-15 рублей. Для сравнения, зарплата земского учителя в те времена составляла около 30-40 рублей. Пересчитывая тогдашние цены в нынешние «по покупательной способности», получим, что нынешние «Осы», «Макарычи», «Наганычи» и прочие «резинострелы» по цене сравнимы с тогдашними «Велодогами» и другим «оружием для самообороны».

Весь номер в djvu можно скачать у меня (1,78 Мб):

http://shura.luberetsky.ru/petitparisien/12juin1904.djvu

Броненосец «Цесаревич»

Сегодня выкладываю Petit Journal от 28 августа 1904 года.

На первой странице — лесной пожар в Алжире, на последней — бой броненосца «Цесаревич» с японской эскадрой. Скачать целиком можно у меня (1,64 Мб, djvu):

http://shura.luberetsky.ru/petitjournal/28aout1904.djvu

Кстати, журнал продается на интернет-аукционе molotok.ru: http://molotok.ru/show_item.php?item=483795385.

Petit Journal

Удалось заполучить несколько номеров французского иллюстрированного журнала Petit Journal (в основном — 1904-1905 годы). Сегодня вниманию публики предлагается отсканированный в djvu номер от 20 марта 1904 года. Если интересно — пишите в комменты, буду выкладывать еще.

Скачать можно у меня (осторожно, трафик — 1,89 Мб):
http://shura.luberetsky.ru/petitjournal/20mars1904.djvu

На первой странице — иллюстрация, показывающая, как жена полковника Янкова вошла в горящую избу и остановила коня на скаку спасла полковое знамя ([info]vanchez строгий выговор с занесением в грудную клетку за утверждение о том, что полк куда-то «драпанул», [info]theolderyouget большое спасибо за правильный перевод), на последней — переправа вагона с едущими на фронт солдатами через Байкал (надо ли кому-нибудь напоминать, что главная мировая новость — русско-японская война?). Знатоки французского получат особое удовольствие от замечательной статьи про «пророчество мумии» (шестая страница). В общем, довольно интересный журнал.

Для просмотра может понадобиться DjVu-плагин для браузера, скачать его можно на сайте компании LizardTech: http://www.celartem.com/en/download/djvu.asp.

Журнал продается на molotok.ru: http://molotok.ru/show_item.php?item=483814600