Журнал LinuxFormat - перейти на главную

LXF111:Что за штука...

Материал из Linuxformat
Перейти к: навигация, поиск

Что за штука... DjVu?

Марко Фиоретти представляет формат, в который когда-нибудь обратятся все старинные свитки и современные киноафиши.
Вроде я такое название слышал... дежа-вю… Не напомните?

DjVu – это специальный формат файлов для сжатого хранения цифровых документов, изначально разработанный в AT&T.

Ну, обрадовали – мало нам JPEG, GIF, PNG и прочих? Зачем еще и DjVu?

Этот формат специально предназначен для сканирования фотографий и бумажных документов, для целей архивирования и онлайн-публикации.

Короче, обычному пользователю это без надобности?

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

Это почему же?

Принято думать, что в сегодняшнем мире все цифровое, но на самом деле почти вся документация хранится либо на бумаге, либо на другом аналоговом носителе.

Какие документы вы имеете в виду?

Вспомните о старинных книгах, газетах и картах – уйма документов, от египетских свитков до первых изданий Бэтмена 40-х годов.

А что, DjVu-архивы уже где-то существуют? Приведите парочку примеров…

Их масса… не знаю даже, с чего начать… например, можно приобрести DVD с высококачественными репродукциями архивов журналов Spectator или Rolling Stone, но, вероятно, куда больше вас заинтересует бесплатное издание Иллюстрированного Шекспира на http://www.leoyan.com/djvu-editions.com/SHAKESPEARE/COMPLETE/toc.php. Демо, показывающее, на что способен DjVu, есть на http://djvu.org/gallery.

А малые предприятия и индивидуальные пользователи? Им DjVu пригодится?

DjVu мог бы стать недорогим способом онлайн-представления товара, чтобы покупатель мог как следует рассмотреть его перед покупкой.

Что касается индивидуальных пользователей, опять-таки подумайте об ученых: они могли бы разместить на своих сайтах сотни рукописных математических формул. Если это, по-вашему, нетипичный вариант, вспомните о тех, кто публикует свои рисунки или акварели на Flickr и вынуждены мириться с ограничениями JPEG. Поверьте, рынок найдется!

Допустим... но разве не для этого создан PDF?

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

А в чем тут дело?

Все упирается в системные ресурсы: читаемые JPEG, GIF или PNG-сканы могут быть настолько «тяжелыми», что их архивирование на сервере, не говоря уже о скачивании, при нынешнем состоянии коммуникаций просто неосуществимо.

Тогда как DjVu...

…может быть до 10 раз меньше аналогичного JPEG, и до восьми раз – PDF. Подробное слайд-шоу по этой теме можно увидеть на http://djvu.org/resources/djvuvsother. Шоу, естественно, в формате DjVu, поэтому дочитайте эту статью до конца, иначе вам его даже не открыть. А если вы просто хотите сравнить DjVu с JPEG, прочтите статью на http://djvu.org/resources/jpgvsdjvu или зайдите в галерею ‘DjVuPhoto vs JPEG’ на http://www.djvuzone.org/djvu/photos/jpgvsdjvu01. Кроме всего прочего, распространенные форматы лишены средств удаленной навигации, о которых я расскажу чуть позже.

Выходит, от DjVu есть прок только при онлайн-просмотре, верно?

Неверно. Даже если трафик не проблема, рендеринг обгоняет другие форматы и, как правило, требует меньше оперативной памяти.

Похоже, непросто все это осуществить. Как же работает DjVu?

По сути, DyVu – это комбинация трех отдельных технологий анализа и сжатия: DjVuPhoto, DjVuBitonal и DjVuDocument.

Пожалуйста, объясните. Только не все сразу...

DjVuPhoto – это прогрессивная технология сжатия на основе вейвлетов.

А что в ней прогрессивного?

Прогресс в том, что браузер рисует DjVu-изображение непрерывно, с первых секунд загрузки. Вы моментально получаете картинку с низким разре шением, а потом она постепенно обрастает деталями.

То есть можно сразу оценить картинку задолго до полной загрузки?

Именно так. DjVuBitonal – новый тип сжатия, предназначенный для архивирования изображений с большим количеством повторяющихся, практически идентичных, черно-белых значков, известных как «печатные символы». Это может быть любой печатный текст.

Нет слов. Еще сюрпризы от DjVu?

Легко. Третий алгоритм сжатия DjVu создан для того, чтобы сохранять богато иллюстрированные и красочно оформленные журнальные страницы вроде той, на которой протекает наша беседа. DjVuDocument помещает текст и графику, сжатые DjVuBitonal, в один слой, а фотографии и фон, сохраненные DjVuPhoto (возможно, в другом разрешении) – в другой.

А в чем достоинство такого метода?

Любой браузер, распознающий формат DjVu, в первую очередь загрузит текстовый слой. Начинать чтение можно сразу же, пока не подоспели украшения. Разделение изображений и текста упрощает передачу последнего оптическим средствам распознавания образов (OCR).

Но для простых изображений, без текста, выигрыша не будет, так?

Так. Мы уже разобрались, что DjVuDocument создает файлы со слоями для текста и для изображений, и вся спецификация DjVu поддерживает работу с ними. Я не утверждал, что этот формат предпочтителен для чисто текстовых документов, и не говорил, что содержимое текстового слоя обязано быть идентичным таковому в бумажной версии.

Представим себе такую ситуацию: профессор одного из ближневосточных университетов решил опубликовать онлайн древний арабский манускрипт, только что восстановленный «во всей красе». С помощью DjVu можно добавить в файл английский перевод и комментарии. Подробнее об этом можно прочесть здесь: http://djvu.org/resources/embedding_transcripts_in_handwritten_pages.php.

Чудеса. А чем еще DjVu превосходит другие форматы?

Вот, например, проблемы онлайн-просмотра многостраничных документов и пути их решения. Как гласит man-страница DjVu, сканированные версии многостраничных документов в этом формате «не просто коллекция оцифрованных картинок». Чтобы комфортно читать рукописи онлайн (в том числе и при малой скорости подключения), переход от страницы к странице должен быть практически мгновенным, даже если файл еще на полностью загружен!

Ох, верно. Но как DjVu это делает?

С помощью двух форматов хранения многостраничных документов, Indirect (разделяемого) и Bundled (пакетного). Первый генерирует серию файлов, по одному для каждой страницы, и включает в комплект полный гипертекстовый индекс всего документа; благодаря этому возможна загрузка только той части архива, которая вас интересует. Bundled DjVu, напротив, больше подходит для оффлайн-архивирования, так как все упаковывается в единственный файл.

Какое ПО можно раздобыть для создания или отображения DjVu-файлов на Linux?

Стартовая точка для поисков – страница проекта DjVuLibre на http://djvu.sourceforge.net. Это открытая реализация DjVu, которая включает средства просмотра, декодеры, кодеры и вспомогательные утилиты. Например, просмотрщик DJView4 «понимает» навигацию в документе, проводит поиск и печать, масштабирование, перемещение документа по экрану, создает миниатюры файлов и т.д. Дистрибутив DjVuLibre включает также модули масштабирования и печати для стандартных браузеров Linux, Windows и Mac OS X. Множество документов и программ можно найти на http://djvu.org/resources, а онлайн-сообщество DjVu-пользователей собирается на http://djvu.org/forum.

А как добавить поддержку DjVu к моим собственным программам?

На вышеупомянутой странице Resource есть ссылки и на ресурсы разработчиков, но для Linux-хакера лучше начать со страницы ‘Creating DjVu Documents Linux HOWTO’ (Linux-HOWTO по созданию документов в формате DjVu) на http://www.howtoforge.com/creating_djvu_documents_on_linux. Там есть еще интересный проект DjVuLibre XML Tools, облегчающий редактирование метаданных, гиперссылок и текста, содержащегося в DjVu-файлах, с помощью XML.

Можно ли провести испытание DjVu?

Конечно. Свободный сервер Any2DjVu (http://any2djvu.djvuzone.org) – то, что вам нужно. Начните с выбора исходного формата: доступны PDF, PostScript, TIFF, JPEG и многие другие. Когда появится HTML-форма, задайте основные параметры преобразования и выгружайте свой файл. Вот и все!

Персональные инструменты
купить
подписаться
Яндекс.Метрика