- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
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-форма, задайте основные параметры преобразования и выгружайте свой файл. Вот и все!