Алешин Д.А.
Семейство программ Document Express от компании LizardTech для работы с файлами в формате DjVu общее описан...
159 downloads
623 Views
3MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Алешин Д.А.
Семейство программ Document Express от компании LizardTech для работы с файлами в формате DjVu общее описание, настройки, советы v 1.02
19.03.2010
ОГЛАВЛЕНИЕ
1. ОБЩЕЕ ОПИСАНИЕ DJVU-ТЕХНОЛОГИИ .................................................3 1.1. ОСНОВНЫЕ СВЕДЕНИЯ О ФОРМАТЕ DJVU .............................................................3 1.2. КОДИРОВАНИЕ ИЗОБРАЖЕНИЙ В DJVU-ДОКУМЕНТЕ ...........................................4 1.3. ПРОЧИЕ ЭЛЕМЕНТЫ DJVU-ДОКУМЕНТА ................................................................7 1.4. СТРУКТУРА DJVU-ФАЙЛА ...................................................................................10 2. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ РАБОТЫ С DJVU ....................12 2.1. ОБЗОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РАБОТЫ С DJVU ..............................12 2.2. ИНСТАЛЛЯЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ОТ LIZARDTECH......................18 3. ПРОСМОТР DVU-ДОКУМЕНТОВ В DJVU BROWSER PLUGIN ............24 3.1. ИНТЕРФЕЙС DJVU BROWSER PLUGIN И DJVU VIEWER .......................................24 3.2. ФУНКЦИИ DJVU BROWSER PLUGIN ....................................................................25 3.3. НАСТРОЙКИ DJVU BROWSER PLUGIN .................................................................31 4. СОЗДАНИЕ DJVU-ДОКУМЕНТОВ В WORKFLOW MANAGER ............32 5. ИЗМЕНЕНИЕ ПРОФИЛЕЙ КОДИРОВАНИЯ В CONFIGURATION MANAGER .................................................................................................................34 5.1. ИНТЕРФЕЙС CONFIGURATION MANAGER ...........................................................34 5.2. НАСТРОЙКИ КОДИРОВАНИЯ ...............................................................................36 5.3. ПРИМЕР СОЗДАНИЯ НОВОГО ПРОФИЛЯ...............................................................45 6. НЕКОТОРЫЕ СОВЕТЫ ПО СОЗДАНИЮ DJVU-ФАЙЛОВ ....................46 6.1. ВАЖНЫЕ НАСТРОЙКИ DJVU-КОДИРОВАНИЯ И СВОИ ПРОФИЛИ .........................46 6.2. СМЫСЛ НАСТРОЕК СЕГМЕНТИРОВАНИЯ .............................................................51 6.3. ОБЩИЕ РЕКОМЕНДАЦИИ И СОВЕТЫ ....................................................................55
2
1. Общее описание DjVu-технологии 1.1. Основные сведения о формате djvu DjVu (произносится как дежа-вю) - специальный формат файлов для хранения графической информации в сжатом виде. Был разработан как альтернатива pdf для отсканированных материалов, содержащих текст и графику. По сравнению с форматом jpeg позволяет добиться в 5-10 раз большего сжатия. В основе технологии лежит разделение исходного изображения на имеющие разную природу составляющие, которые затем сжимаются с использованием различных методов. Маска - высококонтрастное малоцветное изображение с четкими контурами (текст или графика) - кодируется с исходным разрешением по алгоритму jb2: на страницах осуществляется поиск повторяющихся символов (например, букв), однократно сохраняется их изображение и координаты расположения. Фон - изображение с плавным изменением цветов (например, иллюстрации и текстуры бумаги) - кодируется с пониженным разрешением вейвлетами. Файлы *.djvu, как и файлы *.pdf, играют роль "контейнера" и могут хранить текстовый слой, закладки, примечания. DjVu-файлы соответствуют формату IFF85 (стандарт 1985 года для файлов-контейнеров) и представляют иерархию ячеек для различного типа информации. Такие ячейки называются чанками. Структура файла DjVu может насыщаться новыми "чанками". Формат поэтому развивается, появляются его новые версии: версия дата появления изменение 1-19 1996 - 1999 гг. рабочие версии, предшествовавшие коммерциализации технологии 20 1999 апрель т.н. спецификация "DjVu, version 3" чанк DjVuAnno - "старые" многостраничные файлы 21 1999 сентябрь чанк DiVuText - "новые" многостраничные файлы 22 2001 апрель алгоритм Color JB2 23 2002 июль чанк CID (не используется) 24 2003 февраль чанк LTAnno (не используется) 25 2003 май чанк NAVM - – информация о букмарках 26 2005 апрель аннотации Text/Line 27 2006 июль спецификация "Secure Djvu" (SDjVu) чанки SINF, CELX - шифрование DjVu В результате не все программы поддерживают последние версии формата и могут прочитать/закодировать любой djvu-файл. С целью обеспечения "обратной совместимости" формат предполагает, что неизвестные чанки программа-просмотрщик пропускает. Устаревшее ПО, таким образом файл читает, хотя и не полностью. Однако, некоторые бесплатные программы, (например, DjvuSolo), могут имеющийся файл и не открыть. 3
1.2. Кодирование изображений в DjVu-документе Изначальное изображение разделяется на два слоя: 1) передний слой или слой маски (foreground layer), 2) задний слой (background layer), который содержит фоновое изображение (background image).
Слой маски далее разделяется еще на два: черно-белое изображение маски (mask image) и изображение цвета маски (foreground image). Таким образом, получается уже три изображения (слоя): изображение маски изображение цвета маски изображение фона
передний слой
итоговое изображение
задний слой
Маска хранится в чанке Sjbz, закодированная без понижения начального разрешения (как правило, 300 dpi) по алгоритму jb2. Черно-белое изображение рассматривается как мозаика, в которой выделяются отдельные элементы или паттерны - связные области. Определяются подобные элементы, и в зависимости от степени различий осуществляется их сглаживание (мелкие отличия игнорируются): 1) исходный текст с одинаковыми буквами
2) изображения буквы, отличающиеся отдельными пикселями 3) изображение, которым после jb2 кодирования будет отображаться буква 4
Это, кстати, может вести к эффекту перепутанных букв (англ. "transposed letters effect"). Например, буквы «И» и «Н» будут закодированы одинаково. При djvu-кодировании есть возможность выбрать качество кодирования маски lossless (пиксель в пиксель), но это ведёт к увеличению размера файла. Дополнительный выигрыш достигается путём формирования словаря символов, общего для нескольких страниц, который хранится в чанке Djbz. Здесь следует отметить, что при высоком качестве печати и сканирования (похожие буквы и небольшой размер словаря) общий словарь можно создавать хоть для 1000 страниц. Но при плохом качестве печати и сканирования, когда буквы сильно отличаются друг от друга, это будет только замедлять распаковку и отображение файла. Поэтому по умолчанию при djvu-кодировании используется общий словарь для 20 страниц. Есть разные возможности каждому символу маски указать свой цвет. Так, цвет маски может быть: а) черным (без цвета); б) цветным при небольшом количестве цветов; в) браться из специального изображения. Самый простой способ - так называемый алгоритм Color Jb2, когда в отдельном чанке (чанк FGbz) хранится информация о цвете каждого элемента маски. При этом используются палеттизированные RGB-цвета (максимальное число цветов палитры ограничено до 65535). Недостатком способа является неправильное кодирование, когда в маске разноцветные объекты примыкают друг к другу (происходит смешение цветов). Основным способом хранения информации о цвете маски при djvuкодировании является создание изображения цвета маски со сверхнизким разрешением (как правило, 25 dpi), сжатого вейвлетным преобразованием IW44 и хранящегося в чанке FG44. Недостатком способа является возможная неправильная окраска расположенных рядом мелких символов разного цвета. В этом случае следует либо увеличивать разрешение изображения цвета маски, либо использовать кодирование Color Jb2. Чанк BG44 содержит изображение фона, закодированное с понижением разрешения (субсэмплинг) по сравнению с начальным изображением. Разрешение, как правило, понижается в три раза до 100 dpi. Для сжатия используется алгоритм IW44, который как и технология JPEG-2000 основан на вейвлетах. Это технология разделения частоты изменения яркости изображения, при которой на изображение, состоящее из низкочастотных компонент, последовательно накладываются более высокие частоты.
5
Таким образом, стандартная djvu-страница состоит из трех слоев (*): слой маска (mask)
фон (background)
цвет маски (foreground)
описание содержит черно-белый текст и графику, высококонтрастное изображение с четкими контурами и достаточно однородным цветом. Чтобы сохранить читаемость кодируется с высоким разрешением, как правило, 300 dpi алгоритм сжатия jb2, ≈ 55% объема файла содержит цветные или в градациях серого фотографии, текстуры бумаги и другие изображения с плавным изменением цветов. Кодируется, как правило, с разрешением 100 dpi алгоритм сжатия IW44, ≈ 40% объема файла содержит информацию о цвете отдельных элементов маски. Так как в маске цвета обычно не изменяются, кодируется, как правило, с разрешением 25 dpi алгоритм сжатия IW44, ≈ 5% объема файла
Результирующее изображение формируется следующим образом: если цвет пикселя маски = 0, то берется цвет проапсэмпленного фонового изображения, если =1, то изображения цвета маски.
6
В зависимости от того, какие слои (чанки) присутствуют в файле, различают трехслойные, двухслойные и однослойные djvu-страницы: тип djvu-страницы трехслойная
маска (Sjbz) да
двухслойная
да
однослойная (битонал) однослойная (фото)
наличие слоёв (чанков) изображение маски (FG44) да нет, используется алгоритм Color Jb2 и чанк FGbz
фон (BG44) да да
да да
1.3. Прочие элементы djvu-документа А) ТЕКСТ Поскольку DjVu - это формат хранения документов, в нем используется технология «транспарентности данных» - может быть внедрён невидимый текстовый слой. Каждому символу элементу (символу) маски можно сопоставить код буквы и хранить его в djvu-файле. Это можно сделать вручную или путем использования систем OCR. При наличии текстового слоя можно скопировать любую строку текста и вставить в другие приложения. Можно осуществлять поиск в тексте, в том числе через Интернет. Текстовый слой хранится в чанке TXTz, который содержит сжатый специальным кодером текст в кодировке Unicode и информацию о его размещении на странице в формате xml. Б) АННОТАЦИИ Аннотации позволяют в djvu-файле написать комментарий или заметку, надпись, провести линию, выделить текст цветом. Аннотации могут содержать гиперссылки на веб-страницы. При создании документа можно встроить следующие аннотации: 1) текстовый комментарий
7
2) скрытый текстовый комментарий Скрытый текстовый комментарий не виден, поэтому не мешает читать документ. Он маркирован иконкой со стрелочкой . Чтобы открыть текстовый комментарий, нужно нажать на иконку. Стрелочка изменит свое направление , а вниз и вправо развернется прямоугольник с текстовым комментарием. Чтобы его спрятать, необходимо снова нажать на стрелочку. 3) линия (стрелочка) К любому месту документа может быть проведена линия или стрелочка, чтобы показать, к чему относится комментарий. 4) гиперссылка Гиперссылки содержат ссылки на другие файлы, директории или вебадреса. Ссылка может быть выделена так, чтобы ее всегда было видно, но может быть и невидимой, которая проявляется только при наведении на нее курсора. Могут быть привязаны к прямоугольным, овальным, многоугольным зонам. С границами и без границ. 5) выделенная зона Выделенная зона - это выделенный цветом прямоугольник, который может быть прозрачным; с границами и без границ. Выделенная зона может содержать комментарий, который будет демонстрироваться при наведении на зону курсора, и/или гиперссылку.
Все аннотации хранятся в чанке ANTz, в формате xml, сжатом z-кодером. В целом, возможные свойства зон аннотаций можно охарактеризовать следующей таблицей (X=свойство поддерживается): граница есть/нет; её цвет тень (толщина границы) граница видна всегда цвет зоны, прозрачность стрелка, толщина, цвет заливка, цвет текста, "кнопка" (иконка )
прямоуг Х Х Х Х
овал Х
многоуг Х
Х
Х
линия Х
текст Х
Х Х 8
В) ЗАКЛАДКИ При помощи закладок (bookmarks), формирующих оглавление (layout) можно легко листать документ, переходя к нужному разделу. Закладки хранятся в чанке NAVM, общем для всего djvu-документа.
Г) МИНИАТЮРЫ Миниатюры (thumbnails) – это мини-изображения страниц, которые могут быть внедрены в файл для ускорения просмотра файла, скачиваемого из Интернет, или для улучшения навигации по файлу, состоящего из графических изображений очень большого размера. Хранятся в чанке TH44. Сжаты вейвлетами.
Д) ВОДЯНЫЕ ЗНАКИ В djvu-файл может быть встроен "водяной знак" (watermark) - рисунок, который будет отображаться на страницах. Предназначен для легкого отображения логотипов и копирайтов. Хранится в чанке WMRM, и как бы встраивается в маску. Для водяного знака настраивается цвет, прозрачность, расположение на странице и пароль, который позволяет его убрать. 9
1.4. Структура djvu-файла Djvu-файл соответствует стандарту IFF85. В djvu-файле чанки типа FORM содержат другие чанки в соответствии со следующей структурой: FORM:DJVM – контейнер многостраничного djvu DIRM – чанк - директор файла. Содержит список всех компонентов файла, обеспечивает поиск страниц и доступ к ним NAVM – информация о закладках (букмарках) FORM:THUM – контейнер для мини-изображений (превью) страниц TH44 – сжатые вейвлетами тумбнейлы (превью страницы) FORM:DJVI – контейнер для общих элементов djvu-страниц Djbz – общий словарь символов при jb2 кодировании ANTz – содержит аннотации, сжатые bzz-кодером. Включает настройки начала просмотра, перекрывающиеся гиперссылки, текстовые надписи. FORM:DJVU – контейнер одной djvu-страницы INFO – информация о djvu-странице: размер изображения, минимальной версии кодера, разрешении, гамме, повороте INCL – идентификатор для общих элементов (словари символов, аннотации), хранящихся в FORM:djvi Sjbz – сжатая jb2 бинарная маска FGbz – цвет jb2 маски. Хранит информацию о цвете каждого символа в чанке Sjbz или: FG44 – сжатый вейвлетами передний слой с уменьшенным разрешением, задающий цвет маски BG44 – сжатый вейвлетами задний слой – обычно четыре части TXTz – содержит текст, сжатый z-кодером. Текст в Unicode и информация о его размещении на странице WMRM – jb2 данные, необходимые, чтобы убрать водяные знаки последующие страницы (FORM:DJVU (2), FORM:DJVU (3), ... )
Форматом также предусмотрены чанки, которые на практике не используются: ANTa, TXTa – несжатые текст и аннотации; BGjp, FGjp – передний и задний слой, закодированные как JPEG; SMMR – маска закодированная по алгоритму fax-G4/MMR. Также зарезервированы имена BG2k, FG2k под чанки со сжатием jpeg-2000. 10
Для однослойного djvu-файла достаточно наличия чанков INFO + BG44 или INFO + Sjbz. Все остальные чанки могут как присутствовать, так и отсутствовать в djvu-файле. Представленная схема предполагает, что все страницы djvu-документа объединены в один файл. Формат DjVu, однако, предусматривает две модели многостраничных документов: bundled – «объединенный» – единый многостраничный файл; indirect – «разрозненный» – каждая страница представлена одним файлом + файл-индекс (с которого должен начинаться просмотр) + общие файлы (словари символов, миниатюры, аннотации и т.д.); "Разрозненные" многостраничные документы появились, чтобы избежать необходимости скачивания всего djvu-документа из Интернет с целью просмотра всего нескольких страниц. Обычная модель поведения читателя: просмотреть оглавление, а затем перейти на нужную главу. Однако не все программы-просмотрщики могут смотреть файл с любой точки. Поэтому оазмещение в Интернет набора файлов позволяет осуществлять перемещение по документу без скачивания ненужной информации. В 2007 году появилась спецификация Secure Djvu. В соответствии с ней, djvu-файлы уже начинались не с 4 байт 0x41, 0x54, 0x26, 0x54, читающихся как “AT&T”, а с байт 0x53, 0x44, 0x4A, 0x56 = “SDJV”. Вводились новые чанки SINF (от "security information" - описание метода шифрования, аутентификации и авторизации) и чанки CELX - закодированные чанки обычной djvuспецификации (первые 4 байта чанка - его идентификатор, далее зашифрованное содержимое). Чанк SINF может быть как уникальным для отдельной djvu-страницы, так и общим для нескольких djvu-страниц. Структура djvu-файла соответственно выглядит так:
При открытии таких SDJVU-документов запрашиваются пароли доступа, а в свойствах djvu-документа djvu-просмотрщик указывает "срок действия". 11
2. Программное обеспечение для работы с djvu 2.1. Обзор программного обеспечения для работы с djvu Технология djvu-сжатия была разработана компанией AT&T. В 1996 году AT&T Labs-Research начала проект, в 1998 году были выпущены плагины для просмотра djvu-файлов в броузере для ОС Windows и Linux. В 1999 году выпущена библиотека разработчика DjVu Reference Library 2.0; в 2000 - версия 3.0. К сожалению, библиотека распространялась на достаточно запутанных условиях "AT&T Source Code License". В 2000 году компания LizardTech купила права на djvu c целью "быстрой коммерциализации новой технологии" и "превращения DjVu в стандарт распространения через Интерент отсканированных документов". Библиотека DjVu Reference Library 2.0 была лицензирована на условиях GNU GPL. Технология продолжала совершенствоваться: на условиях GNU GPL лицензируется DjVu Reference Library 3.0 (2000 год), затем выпускается бетаверсия 3.5 (2001 год). В 2001 году LizardTech с целью демонстрации технологии выпускает независимую (не являющуюся плагином для броузера) программу DjVu Solo 3.1, позволяющую кодировать и просматривать djvu-файлы и даже делает её freeware (при условии некоммерческого использования, лицензия запрещает распространение созданных файлов по сетям). В 2002 году LizardTech выпускает коммерческое приложение DjVu Enterprise 3.5, которому на смену в 2003 году приходит Document Express 4.0. Далее основное программное обеспечение для работы с DjVu развивается как семейство программ Document Express. Появляется два пакета: Enterprise (создание djvu-файлов с полным контролем за настройками кодирования) и Professional (редактирование djvu-файлов, неочевидная возможность сборки djvu-файла при отсутствии возможности редактировать предустановленные профили кодирования). Программное обеспечение дорастает до версий Document Express with DjVu Enterprise 5.1, и Document Express with DjVu Professional 6.0. Бесплатная программа для просмотра файлов непрерывно совершенствуется, появляется DjVu Browser Plug-in 6.1.1. Компания LizardTech в 2003 году была куплена компанией Celartem. До 2008 года эта материнская компания не вмешивалась в деятельность LizardTech по совершенствованию DjVu. Однако, в июле 2008 года Celartem забрала управление развитием DjVu к себе, а в июне 2009 года передала права на технологию компании Caminova. В рамках этой "смены курса" была полностью переделана библиотека разработчика, появляется Caminova DjVu SDK. Выпущены программы Document Express 7.5 Enterprise, Document Express 6.5 Professional, а также упрощенная версия последней (без встроенного модуля OCR) Document Express 6.5 Desktop. К сожалению, в настоящее время (февраль 2010 года) все эти программы, несмотря на заложенный в них огромный потенциал, с точки зрения обычного пользователя работают хуже, чем последние версии программного обеспечения, за которое отвечал LizardTech. 12
Caminova также отдельно реализует DjVu Virtual Printer 6.5, отзывы о котором хорошие. Таким образом, программное обеспечение, которое разработано LizardTech, официально контролировавшей формат DjVu компанией, является основным для работы с djvu-файлами. Таким, каким для работы с файлами pdf является программное обеспечение от Adobe. LizardTech предлагала на рынке два продукта, предназначенного для работы с djvu: Document Express для создания djvu-файлов (аналог Adobe Acrobat) и бесплатно распространяемый DjVu Browser Plug-in для просмотра djvu-файлов (аналог Adobe Acrobat Reader). Третьей программой является библиотека разработчика Djvu SDK. Аналогии, к сожалению, на этом заканчиваются: 1. Если Adobe лицензирует свои программы для неограниченной работы, то LizardTech придумала "картридж" - оплата за программу осуществляется в зависимости от числа закодированных страниц. 2. Если Adobe с технической и правовой стороны раскрыл формат pdf настолько, что у "официальной" библиотеки разработчика существует десяток конкурентов (и в результате создающих pdf программ уже не десятки, а сотни). То LizardTech распространявшуюся бесплатно библиотеку разработчика изначально сделал ущербной, а коммерческую библиотеку продавал крайне неохотно. В результате только две "чужих" программы могут создавать файлы djvu для коммерческого использования. LizardTech входит в число организаций, контролирующих единственную альтернативную официальной бесплатную библиотеку разработчика, и жестко настаивает, чтобы она использовалась только для некоммерческих целей, что автоматически снижает к ней интерес. 3. Программы аналогичной Adobe Acrobat, т.е. "всё в одном" с дружественным для пользователя интерфейсом LizardTech так и не создал. Предлагаемое LizardTech решение по созданию djvu - это целое семейство программ, работающих из командной строки, часть из которых объединена не самым удачным GUI. Мне, честно говоря, непонятно, почему программистыэнтузиасты не пошли по пути написания дружественных к пользователю интерфейсов для LizardTech-овского набора программ. Впрочем, два достаточно удачных примера таких разработок для отдельных утилит из пакета существует - это pdf2djvu GUI и FSD. 4. Если программное обеспечение от Adobe дружественно к встраиванию плагинов, расширяющих его функционал, то ПО от LizardTech этого не позволяет. Существует несколько программ, предлагающих полезные дополнительные возможности, но ими приходится пользоваться как самостоятельными, без связки с Document Express (точнее тем десятком разрозненных программ и утилит, которые входят в Document Express). Впрочем, поскольку библиотека разработчика DjVu Reference Library 3.0 была лицензирована на условиях GNU GPL, а изобретатели формата, недовольные развитием кода и проводимой LizardTech политикой, создали на основе DjVu Reference Library 3.5 альтернативную бесплатную библиотеку разработчика DjVuLibre, то стали появляться и различные djvu-поделки. 13
По информации с сайта www.djvu.org, объединяющего сообщество djvuэнтузиастов, существуют следующие программы для работы с DjVu: Кодировщики: DjVu Solo 3.1 (Free, non-Commercial - устарела - 2000 год, лицензия запрещает распространение созданных файлов по сетям) Document Express (Commercial) DjVuLibre (Free non-Commercial - утилиты командной строки) MiniDjVu (Fre - non-Commercial - обрабатывает только черно-белые изображения) JRAPublish (Commercial) Scan Station (Commercial) Просмотрщики: DjVu Browser Plug-in (Free) ACDSee Pro Photo Manager (Commercial - Win) Bookr (Free - Sony PSP) DjView (Commercial - Sharp Zaurus) DjVu Reader (Commercial - Sony Librie) DjVu Viewer (Free - BeOS) DjVuLibre DjView (Free - Unix/Linux/Win/Mac) Evince - DjVuLibre Frontend (Free - Linux/Gnome) GrxView Pro (Commercial - Palm OS) Handy DjVu (Commercial - Symbian S80) Irfan View (Free - Win) Java DjVu (Free) OpenDjVu (Free - Win) PocketDjVu (Free - PocketPC) SDjVu (Free - Symbian EPOC) Smart Pix Manager (Commercial - Win) SmartDjVu (Commercial - Pocket PC/Windows CE) STDU Viewer (Free for non-commercial uses - Win) WinDjView & MacDjView (Free - Win/Mac) XDjvu (Commercial - iPhone/iPod Touch) Библиотеки разработчиков Caminova DjVu SDK (Commercial) DjVuLibre (Free - non-Commercial) Средства индексации и поиска DjVu Indexer Plug-in (Free - Add-on for Google Desktop Search) The Google DjVu Search Plug-in (Free - Add-on for Google Desktop Search) DjVu IFilter (Free - Add-on Microsoft Index Server) Spotlight Plugin for DjVu (Free - Add-on for Mac OS X 10.4 and later) JSSINDEX (Free - JavaScript Search Engine) SearchPDF (Commercial - Supports DjVu and PDF on Windows web servers) SearchInform (Commercial) 14
Что касается кодировщиков, то программы JRAPublish и Scan Station не несут какого-либо дополнительного функционала по сравнению с Document Express. (Впрочем, JRAPublish позволяет в ч/б djvu-файл встроить однородный цветной фон - команда Sepia). Для программы Scan Station существует триальная версия и ее можно потестировать. Некоторый интерес представляет бесплатная MiniDjVu, но если разобраться, то это просто минималистский интерфейс для пары утилит DjVuLibre. Что касается просмотрщиков, то программа от "официального" разработчка формата DjVu Browser Plug-in - вполне удалась и является бесплатной. Какаялибо причина использовать другую программу отсутствует (кроме программ, предназначенных для покетбуков). Вывод: достойной альтернативы программам от LizardTech пока не существует. Ни коммерческих, ни бесплатных. Если стоит задача посмотреть djvu-файл, следует воспользоваться DjVu Browser Plug-in, а если создать триальной версией Document Express. Как уже упоминалось, некоторые программы расширяют функционал Document Express, однако в приведенном выше списке они отсутствуют. Имеются в виду следующие программы: 1. FSD 1.2 Предназначена для пакетного создания DjVu-страниц из пар изображений одного для маски и одного для фона. Автоматическая сегментация изображения на фон и маску может привести к ухудшению отображения фотографий, поэтому часто оказывается эффективнее определить границы разбиения фонмаска вручную, ориентируясь на края фотографий, а не на пики контрастности. Программа FSD - это GUI на утилиту csepdjvu.exe из библиотеки DjvuLibre или аналогичную утилиту из семейства Document Express, отвечающую за сборку djvu-файла + утилита для подготовки из двух изображений формата tif файла-заготовки, который воспримет утилита сборки. При этом интерфейс программы позволяет осуществить удобный контроль за процессом сжатия:
15
В частности, он позволяет без создания специальных особых профилей кодирования задать коэффициент уменьшения размера фона по сравнению с исходным изображением, качество кодирования маски (параметр jb2 алгоритма), качество фона (параметр iw44 алгоритма). Кроме того, поскольку здесь есть параметр "Разрешение страницы", то FSD обходит проблему, когда Document Express "теряет" настройки в случае несоответствия фактического разрешения заявленному. При обработке отсканированных изображений книжных страниц часто оказывается удобным "подменить" картинки фона или картинки маски изображениями (или одним одинаковым изображением), прошедшими дополнительную обработку в графических редакторах. Если же djvu-файл собирается из ч/б изображений, то FSD полностью заменяет MiniDjVu. Соответственно программа FSD позволяет и "подклеить" изображения фона (аналог команды инструмента Sepia из JRAPublish), если разобрать чернобелый djvu-файл на отдельные изображения и для каждого задать парную страницу фона. 2. DjuOCR В пакет Document Express Professional встроен модуль распознавания текста, работающий на алгоритмах от IRIS. По мнению пользователей, качество результата получается существенно хуже, даже по сравнению с бесплатной CuneiForm, не говоря уже о коммерческом FineReader. Последняя программа к тому же позволяет осуществить редактирование текста в процессе распознавания, в то время как Document Express предполагает следующий процесс: распознавание, выгрузка текстового слоя в текстовый редактор и правка, обратная загрузка текста в djvu-файл. Программа DjvuOCR предназначена для "разборки" djvu-файла на отдельные изображения, из которых потом в программе FineReader создается "пакет". Этот пакет в Finereader распознаётся и сохраняется. Затем DjvuOCR из сохраненного пакета Finereader создает и внедряет в djvu-файл текстовый слой. 3. Djvu Hyperlinks Editor Программа предназначена для автоматического создания гиперссылок на страницах djvu-файла с внедренным текстовым слоем, на которых расположено оглавление или алфавитный указатель. Пользователь указывает номера страниц, на которых расположено оглавление или указатель, выбирает тип работы, задает разницу между номером страницы в бумажной книге и номером страницы DjVu-файла (для случая отсканированных разворотами страниц есть опция "делить на 2"). Программа автоматически анализирует текстовый слой и создает на странице оглавления или алфавитного указателя гиперссылки для перехода на соответствующие страницы DjVu-файла. Вид создаваемых гиперссылок (тип границы/цвет/заливка/всегда ли отображается) можно настроить. Djvu Hyperlinks Editor также может автоматически встроить в страницы книги гиперссылки на оглавление. 16
4. Djvu Bookmarker Предназначена для создания/редактирования дерева закладок в djvu-файле. Требует наличия .NET Framework 2.0. На сайте проекта приведено детальное руководство пользователя. При запуске программы предлагается выбрать один из четырех вариантов работы: создать оглавление (ввести его полностью вручную); импортировать оглавление из буфера обмена; открыть html-оглавление (должно соответствовать определенному формату); изменить оглавление в djvu-файле. Затем программа позволяет отредактировать введенный текст с исправлением ошибок нумерации и автоматической фильтрацией ошибочно распознанных символов (с возможностью ручной корректировки всех действий) и построить иерархическое дерево закладок (также существует возможность автоматического определения уровня иерархии по шаблону с последующим ручным редактированием):
5. DjVu Extension Shell Полезная функциональность программы заключается в первую очередь в отображении в Проводнике Windows (Explorer) первых страниц DJVU-файлов в режиме просмотра "эскизы страниц". Это очень удобно, смотреть не на название файла, а на обложку. В первую очередь это важно для Windows Vista, так как для Windows XP соответствующая dll вроде как есть в DjVu Viewer Plug-in. Но у меня, пока я не поставил DjVu Extension Shell, первые страницы не отображались и под Windows XP. Пакет добавляет также и несколько других функций при взаимодействии с Windows: предпросмотр в Outlook 2007, Windows Photo Gallery, редактирование тегов в Explorer, интеграция с Windows Search 3.0, просмотр djvu-файлов при установленном .NET Framework 3.0. 17
2.2. Инсталляция программного обеспечения от LizardTech Как уже говорилось, самые последние версии программ семейства Document Express от LizardTech работали устойчивее и стабильнее, чем современные версии от Caminova. Увы, но эта фирма радикально переделала платформу и идеологию ПО, оно стало менее удобным для обычного юзера. К сожалению, на официальном сайте разработчика старые триальные версии программ от LizardTech уже отсутствуют, но при наличии желания и некоторого времени их можно разыскать в сети Интернет. (Советую покопаться на сайте официального представителя LizardTech в Польше http://www.djvu.com.pl/download.php или в закромах испанского филиала LizardTech: http://www.lizardtech.es/download/files/win/ см. там также папку trial). Нам необходимо найти два инсталляционных пакета с интересующими нас программными модулями и установить их: 1) Document Express with DjVu Enterprise Edition 5.1 Trial - содержит модули: а) DjVu Browser; б) Document Express Enterprise, состоящий из Configuration Manager, Workflow Manager; в) Virtual Printer Driver; г) IFilter 2) Document Express with DjVu Professional Edition 6.0 Trial - содержит программные модули: а) DjVu Browser; б) Document Express Editor; в) Virtual Printer Driver; г) IFilter Это разные программы. Одна не является упрощенной версией другой и на компьютере для полноценной работы следует иметь их обе. В связи с тем, что входящий в состав пакетов DjVu Browser Plug-in сильно устарел, следует отдельно установить его новую версию. Последней версией от LizardTech была версия 6.1.1. Caminova (http://www.caminova.net/en/downloads) распространяет уже версию 6.1.4 . В ней добавлена печать из Internet Explorer 8. Следует отметить, что у указанных программных модулей были различные версии релизов (сборок). На английском и японском разделах сайта LizardTech и впоследствии сайта Celartem распространялись различные версии инсталляционных пакетов: Триальные версии программ для работы с djvu-файлами на сайте http://www.celartem.com по состоянию на 08.03.2009 г. Компонент
Document Express Enterprise 5.1
Document Express Professional 6.0
английский Celartem
корейский и японский Celartem
http://www.celartem.com/en/dow nload/index.asp
http://www.celartem.co.kr/download/01.asp http://www.celartem.com/download/
файл: файл: DocExpressEnterprise.exe ENT_920BR973_A.zip 168 МБ (176 524 952 байт) 196 МБ (206 174 284 байт) состав: Browser - 5.0.2 Build 881 состав: Browser - 5.0.2 Build 881 DEE W, C - 5.1.0 Build 973 DEE W, C - 5.1.0 Build 973 VPD - 4.1.5. Build 973 IFilter - 1.1 файл: файл: DocExpressPro60.exe DE_PRO_60_1394_A.zip 82,3 МБ (86 301 824 байт) 85,0 МБ (89 227 095 байт) состав: состав: Browser - 6.0.0 Build 1116 Browser 6.0.0 Build 1116 Editor - 6.0.0 Build 1194 Editor 6.0.1 Build 1394 VPD - 4.1.6. Build 982 VPD 4.1.7 Build 1394 IFilter - 1.1 IFilter 1.1
18
Идентичный программный модуль Document Express Enterprise 5.1.0, состоящий из компонентов Configuration Manager и Workflow Manager может быть установлен как из инсталляционного файла DocExpressEnterprise.exe, так и из ENT_920BR973_A.zip. Самая последняя версия программного модуля Document Express Editor 6.0.1 устанавливается, однако, только из файла DE_PRO_60_1394_A.zip. Причем отличие между версией 6.0.0 и 6.0.1 достаточно существенное - исправлена ошибка при установлении версии djvu-файла с аннотациями. Из этого же файла устанавливается более новая версия djvu-принтера Virtual Printer Driver 4.1.7. История версий программного обеспечения от LizardTech/Celartem программа
версия 6.1.4 Caminova 6.1.3 Caminova 6.1.1
DjVu Browser Plug-in
6.1 6.0.1 6.0
5.1
Document Express Enterprise
Document Express Editor Virtual Printer Driver
5.0
6.0.1 6.0 4.1.7 4.1.6
изменения Release: Aug. 10, 2009 Fix: Cannot print DjVu files on Internet Explorer 8. - fix: Add several fixes • Fix: Occasion spurious "NPP_Write error ..." • Fix: Hang if control is reloaded while downloading • Fix: Search in long document causes "Suspicious Destruction..." error • Fix: Security vulnerabilities reported by "fuzz testing" • Fix: Some page changes not being stored in history • Restore 6.0 DPS/Fit zoom behavior: force L, R pages to same height or width • Support for MS Vista, IE7 • Support for Secure DjVu • Various printing fixes / enhancements Measurement feature • Dual Page View • Overhaulled GUI • Dropped support for Leadtools, render new, natively-implemented annotations • Unicode support in GUI • File / Print support from inside of IE. • Added dedicated application to host control to view local files. - Added Profile Editor application - Added segmentation for scanned PDFs inside of pdftodjvu. - Robustness fixes - new OCR module / engine, enhanced options. - Document Express Enterprise Workflow Manager Application (Win32 only). - Watermark support - Improved support for TIFF variants - Added support for PDF files in documenttodjvu - Changed default jb2-compression to "quasilossess" - Bug fixes in xml interface - Removed ECM, Added Evaluation support - Removed BitonalToDjVu (use DocumentToDjVu instead) - Fix: File version problem of annotations - Support for Dual Page View - Support for new text and line annotations - Add support for "no spaces" between text elements. - upgrade BI drivers, add TS support. - Add missing run time DLL for Win9x support.
19
Ранее при скачивании триальных версий Document Express компанияразработчик высылала на указанный адрес электронной почты код, позволяющий тестировать софт месяц и закодировать не более 500 страниц. Данные триальные коды время от времени всплывают в Интернет. Разработчику, впрочем, неизвестные компьютерные пираты подложили гигантскую свинью, опубликовав в Интернет коды "полной" активации Document Express Enterprise и Document Express Professional. Такие коды позволяют создавать djvu-файлы без ограничений и дезавуируют тем самым идею "картриджа" и привязывания оплаты к числу закодированных страниц. Начнем процесс инсталляции. Он достаточно простой: надо соглашаться со всеми вопросами, а когда спросят код – ввести сохранившийся у Вас полученный от разработчика триальный код. В процессе есть несколько тонкостей: 1) Инсталляцию надо начать с установки Djvu Browser Plugin 2) Если производится инсталляция на компьютер, где уже стояли программы от LizardTech, то возможны сообщения об ошибках и необходимости заменить одни файлы на другие - с этим нужно соглашаться. 3) При установке на компьютер со старым Djvu Browser Plugin нового может появиться вопрос:
Если мы ответим «да» (что и следует сделать), то при открытии djvu-файла на компьютере он будет открываться в особом просмотрщике – вьюере. При открытии файла из интернета – он будет открываться в веб-броузере. Если же мы ответим «нет», то вьюер встанет как и старые версии DjVu Browser Plug-in – в виде плагина в броузер и все файлы, даже те, что сохранены на компьютере, будут открываться в интернет-броузере. Осуществляется процесс инсталляции приблизительно так: 1. Распакуем DE_PRO_60_1394_A.zip. Запустим Launch.exe и выберем «Install products»
20
2. Установим Djvu Browser Plugin 3. Установим Document Express Editor 4. Установим виртуальный принтер. 5. Распакуем ENT_920BR973_A.zip и запустим Launch.exe (запустим DocExpressEnterprise.exe), выберем «Install products» 6. Установим Document Express Editor Enterprise 7. Скачаем и установим последнюю версию Djvu Browser Plugin При инсталляции можно также установить модуль Djvu IFilter 1.1 для индексирования и поиска документов средствами Windows. В результате инсталляции в меню «Пуск» Windows появятся следующие программы:
В папке "DjVu Browser Plug-in" находится только файл справки и файлы примеров, т.к. при открытии djvu-файла из Интернет вызывается встроенный в интернет-броузер плагин. При открытии djvu-файла, скачанного на компьютер, открывается независимое приложение DjVu Viewer. На самом деле, DjVu Viewer можно вызвать и без открытия файла, запустив исполняемый файл в папке (директории) С:\\Programm Files\LizardTech\ LizardTech DjVu Control, но из меню "Пуск" такого доступа нет. В папке "Document Express Professional" находится Editor 6.0 (точнее Document Express Editor 6.0). После инсталляции путаница усиливается, потому что названия программ и программных модулей на сайтах, в документации, файлах справки, пресс-релизах, файлах лицензии, названиях директорий и исполняемых файлов незначительно отличаются друг от друга. В папке "LizardTech Virtual Printer Pro" находится только файл справки, т.к. печать идет через Windows-приложения. После установки Virtual Printer Driver в папке принтеров появляется полноценный принтер:
21
доступ к которому возможен для любой установленной на компьютере программы. В папке "Document Express Enterprise", как видно на рисунке, находятся компоненты Configuration Manager, Workflow Manager; а также утилита Metering Mode Status, дающая информация о статусе программного обеспечения и возможностях кодирования. Задачи, которые решают эти модули абсолютно разные. 1. DjVu Browser Plug-in - используется если необходимо просто прочитать и распечатать djvu-файл. Эта бесплатная программа встраивается в стандартные броузеры (Internet Explorer 5 и выше, Mozilla 1.0 и выше). DjVu Browser Plug-in 6.1 и выше позволяет работать и не через интернет-броузер, а через самостоятельную оболочку-просмотрщик – DjVu Viewer. 2) Document Express Editor – позволяет редактировать уже созданные djvu-файлы: удалять/вставлять страницы, менять их очередность, экспортировать. Он также позволяет менять параметры их просмотра, добавлять аннотации, делать OCR, редактировать закладки. Как уже упоминалось, он также может сделать из набора изображений djvu-файл, используя предустановленные профили кодирования, а также сохранять поступающие со сканера изображения сразу в DjVu. (Здесь, кстати, djvuпутаница еще больше усиливается, поскольку Document Express Editor и Document Express Enterprise очень часто сокращаются одинаково - DEE). 3) Workflow Manager - менеджер потоковой обработки - та программа, которая и создает djvu-файлы. Задается папка, где лежат изображения или другие файлы, и она пакетом их обрабатывает в соответствии с выбранным профилем кодирования. Позволяет создавать djvu-файл из файлов djvu, tiff, jpg/jpeg, bmp, gif, pnm/ppm/pgm, pbm. В файле справки утверждается, что она может и в этих же форматах сохранять djvu-файл (+ также *.ps - файлы PostScript). Но это определенное лукавство, так как такая задача реализуется не через GUI, а из командной строки. Эта же программа позволяет встраивать в djvu-файл водяные знаки (логотипы). 4) Configuration Manager – позволяет менять настройки кодирования создаваемого djvu, если не хватает предустановленных профилей. (Их, кстати, в Workflow Manager более 60 штук: для 7 вариантов разрешения исходного файла по 8 вариантов кодирования + особые профили для "хороших" и "инвертированных", т.е. бело-черных, изображений, а также профили "быстрого" кодирования). 5) Virtual Printer – позволяет любой электронный документ Windows распечатать в djvu-файл. В системе появляется виртуальный принтер, при печати на который создается djvu-файл. При этом на самом деле "программы" Workflow Manager и Configuration Manager - просто оболочки, предоставляющие интерфейс доступа к утилитам командной строки, прячущимся в папке С:\\Programm Files\LizardTech\ и осуществляющим реальную работу с djvu-файлами. 22
В папке С:\\Programm Files\LizardTech\ после инсталляции находятся следующие исполняемые файлы (выполняющие указанные ниже задачи): \LizardTech \Lizardtech DjVu Control DjVuViewer.exe - DjVu Viewer – позволяет запустить просмотрщик как отдельную программу \Lizardtech Document Express Editor \bin djvueditor.exe - DjVu Editor DjVuPro.exe --//-\Lizardtech Document Express Enterprise \bin djvubundle.exe - собирает из одностраничных djvu многостраничные djvudecode.exe - декодирует djvu-файлы в формат, который задается в виде опции или (если не указано) на основе расширения результирующего файла. Возможные форматы: tiff, jpg, bmp, pnm, ppm, pbm, pgm, ps djvujoin.exe - собирает индекс на одностраничные djvu-файлы для публикации в Интернет djvuparsexml.exe - читает и разбирает XML файл, вставляет аннотации, гиперссылки, матаданные, скрытый текстовый слой в djvu-документ djvutotext.exe - показывает скрытый текстовый слой в djvu-файле, в котором было выполнено OCR djvutoxml.exe - извлекает аннотации, гиперссылки, скрытый текстовый слой и некоторые метаданные, которые хранятся в djvu-файле в формате XML documenttodjvu.exe - основная программа кодирования изображений entcfg.exe - интерфейс Configuration Manager entdoc.exe - интерфейс Workflow Manager EntStatus.exe - утилита Metering Mode Status ("картридж") msepdjvu.exe - преобразовывает файл формата sep в DjVu, используется при обработке pdf. Можно использовать с утилитой FSD, чтобы задать кодеру принудительное разделение слой/маска pdftodjvu.exe - создание DjVu из Pdf phototodjvu.exe - создание DjVu из цветных изображений watermarkdjvu.exe - добавляет или удаляет малоцветный водяной знак к слою маски djvu-файла \LizardTech Virtual Printer Pro \vpd djvuxmlparser.exe EmfToSep_NT.exe LtiVpd.exe - позволяет запустить принтер как отдельное приложение, в котором: видны документы, на печать; б) есть возможность поменять "параметры печати" msepdjvu.exe - чуть-чуть другая версия указанной выше утилиты 23
3. Просмотр dvu-документов в Djvu Browser Plugin 3.1. Интерфейс Djvu Browser Plugin и Djvu Viewer В 6 версии Djvu Browser Plugin предусмотрено два варианта открытия djvuдокументов: 1) документы, выложенные в Интернет, открываются с использованием веб-броузера (поддерживаются Internet Explorer, Netscape Navigator, Mozilla); 2) документы, находящиеся на компьютере пользователя, открываются в самостоятельном приложении Djvu Viewer, имеющем по сути тот же самый интерфейс. Находящийся на компьютере пользователя djvu-файл также можно открыть в веб-броузере. Для этого можно "перетащить" этот файл в окно веб-броузера или открыть его в диалоге "open" из меню "file". Если веб-броузер (Internet Explorer) не хочет открывать такой документ, то в его настройках нужно "разрешить запуск активного содержимого на моем компьютере". Рабочее окно DjVu Browser Plug-in состоит из основного окна, в котором открывается документ; навигационной панели (по дефолтным настройкам спрятана, ее можно также расположить справа, сверху или снизу); контекстного меню (вызывается правой кнопкой мыши и полностью совпадает с основным меню) и панели с кнопками быстрого вызова задач:
24
3.2. Функции Djvu Browser Plugin Основные функции, которые предоставляет меню (идентично контекстным меню) и предоставляет панель кнопок, практически совпадают: Панель кнопок: 1
2
3
4 13
с
9
Д
6
5
7
Контекстное меню:
8
1 А
2
В
10
1) сохранить страницу 2) печатать страницу
13 Б
3) поиск текста в документе (при наличии текстового слоя) 4) режим просмотра (перемещение страницы мышкой/ изменение масштаба мышкой)
В
9
А - экспорт изображения Б - копирование в буфер части изображения
3
6) уменьшение масштаба 7) увеличение масштаба
8
8) повернуть на 90%
В - предыдущее /следующее окно просмотра
4
9) переходы по страницам
Г 10
Г - отображение слоев
11
Д - линейка
Д
Е - информация о структуре djvu-файла
5) выбор масштаба; 100% - по ширине – вписать страницу
10) просмотр разворотами 11) показать/спрятать миниатюры (thumbnails)
12
12) показать/спрятать оглавление (букмарки)
Е
13) выделить текст (при его наличии)
25
11
Базовыми функциями плагина (аналогичными функциям программ для просмотра файлов других форматов, что делает их использование очевидным) являются сохранение и печать страниц, поиск текста, изменение масштаба просмотра и перемещение документа на экране, поворот страниц, просмотр разворотами, просмотр с лентой мини-изображений страниц (тумбнейлами) или с оглавлением (указателями). Они обозначены на рисунке номерами 1-13. Особо хотелось бы обратить внимание на просмотр с закладками/оглавлением (12) так как соответствующей кнопки на панели нет. А также на возможность выделения и копирования текста (13), которая недоступна, если в djvu-файле нет текстового слоя. Вместе с тем в плагине есть ряд специфических функций (А-Е), наличие которых не бросается в глаза, а применение вызывает вопросы. Я лично осознал их наличие и разобрался с их использованием далеко не сразу. А) Экспорт (сохранение) страниц как изображений Позволяет сохранить как текущую страницу как изображение, в отличие от функции "сохранить страницу как", которая позволяет сохранить текущую страницу в одностраничный djvu-файл. В среде Windows создается файл bmp. В среде Mac - tiff. В случае необходимости экспортировать много картинок необходимо воспользоваться утилитой из DEE. Б) Выделение части изображения Поскольку такая кнопка на тулбаре отсутствует, эта возможность не является очевидной. Если в меню взвести галочку у «select region» ("выделить зону"), то курсор примет вид двойного креста и можно выделить любой участок рисунка, который попадет в буфер и его можно перенести в Word или графический редактор. При этом в буфер попадает тот слой (с разрешением файла), который сейчас отображается. Выделенную зону можно напечатать. Следует обратить внимание, что при печати существует возможность растянуть изображение по размерам печатного листа, печатать с оригинальным размером или размером, соответствующим текущему увеличению просмотра. В) Предыдущее /следующее окно просмотра Собственно в переходах по страницам (9) ничего сложного или продвинутого нет. Но вот то, что помимо меню они привязаны к "горячим клавишам" (Space, Enter - вперед; Backspace - назад), это уже неочевидно. Однако, вместе с переходами к страницам в Djvu Browser Plugin есть кнопки и опции меню "предыдущее / следующее окно просмотра" .В этом случае запоминается масштаб просмотра и положение страницы. По дефолту обе кнопки неактивны. Кнопка "возврат к предыдущему окну просмотра" включается, когда, используется кнопка перехода между страницами (или стрелка). Кнопка "переход к следующему окну просмотра" включается после использования "возврат к предыдущему окну просмотра". 26
"Горячие клавиши" Djvu Browser Plugin Действие Клавиша Активация линейки (курсор изменяется ) L Калибровка (открывается диалоговое окно) M Копировать выделенное C Закрыть диалоговое окно ("Поиск", "Печать", Esc "Калибровка" и т.д.) или отказаться от выделения Вход в контекстное меню Pause/Windows App key Открытие диалога “Go To Page” G Поворот по часовой стрелке T Поворот против часовой стрелки R Подбор масштаба "по ширине окна" W Подбор масштаба "по высоте окна" P Пролистывание рисунка в заданном направлении Up, Down, Left, Right (стрелочки) Поиск текста F Масштаб 100% 1 Масштаб 150% 2 Масштаб 300% 3 Переключение между просмотр разворотами/постранично D Переход к нижней части страницы, или (если уже там) к Page Down следующей странице Первая страница документа Home Последняя страница документа End Следующая страница Space, Enter Предыдущая страница Backspace Переход к верхней части страницы, или (если уже там) к Page Up предыдущей странице Увеличение/уменьшение масштаба просмотра +, Включение лупы:
Shift при задействованной кнопке "режим просмотра"
Отображение всех гиперссылок
Ctrl
27
Г) Просмотр по слоям Для любого djvu-документа, если в меню выбрать View - Layer, будут доступны 4 варианта: - Color - это окончательный вид документа с совмещенными слоями; - Black and White, - это маска в черно-белом представлении; - Background - это слой фона; - Foreground - это маска с учетом слоя "цвет маски", т.е. каждый пиксель маски раскрашен. Д) Линейка Djvu Browser Plugin позволяет определить расстояние между двумя любыми точками изображения (недоступно при просмотре разворотами), непосредственно измеряя число пикселов. Использование инструмента "линейка" требует калибровки, которую можно осуществить тремя способами (в меню Measure выбрать Calibrate): 1 2 3
1) ratio ("пропорция") - на многих картах масштаб указывается как пропорция, например, 1:100. Это означает, что в 1 см - 100 см, и т.д. Если карта отсканирована без изменения масштаба и мы уверены, что разрешение указано правильно, то достаточно указать это соотношение. 2) unit conversion ("перевод единиц измерения") - данная пропорция часто задается с указанием единиц измерения, например в 1 дюйме - 10 километров. 3) current caliper ("кронциркуль") - Если нет уверенности, что карта отсканирована с точным масштабом и разрешение указано правильно, то линейку можно настроить по известному расстоянию. Для этого надо на карте выбрать две известные точки (часто на картах даже есть отрезок с указанием расстояния) и в рассматриваемом поле задать расстояние. В этом же диалоговом окне можно выбрать в каких единицах отображать расстояние: мм, см, м, км, дюймы, футы, ярды, мили. Это отображение не зависит от единиц, в которых задан используемый масштаб. Чтобы измерить расстояние, необходимо кликнуть на кнопке Линейки (или выбрать в меню Measure опцию Ruler, что "включит" кнопку). Курсор примет вид линейки. Зажать левую клавишу мышки - провести линию отпустить, тогда появится поле, в котором будет указано расстояние. 28
Е) Информация о djvu-странице и djvu-файле (Е) Если из меню броузера выбрать Help - Page information, то для текущей страницы мы увидим ее тип, а если дальше нажать "Detail" - список содержащихся в соответствующем контейнере FORM:DJVU чанков и информацию о них. Так, для стандартного примера "online publishing" (файл realview.djvu), который устанавливается на компьютер вместе с Djvu Browser Plugin, для третьей страницы видим следующее:
тип файла: двухслойный djvu-файл отсылки (INCL) на общие файлы словаря символов jb2 кодирования и файл аннотаций маска (Sjbz) слой цвета маски, закодированный по алгоритму jb2 (FGbz) слой фона (BG44), разделенный на три части Для каждого из элементов указывается размер в kb, что позволяет определить, за счет чего формируется размер файла, и выявить возможные ошибки выбора настроек кодирования. Мы также увидим, что чанк со слоем маски Sjbz - это изображение размера 2894*3744 пикселей с разрешением 300 dpi. Закодирован алгоритмом JB2. Чанк со слоем цвета маски FGbz - также закодирован по алгоритму JB2 и содержит 40 цветов. Далее следует первый чанк слоя фона BG44. Закодирован вэйвлетами по алгоритму IW44. Он уже имеет размер 1447*1872 пикселей и разрешение 150 dpi. Т.е. при кодировании слоя фона сделан субсэмплинг по отношению к исходному с коэффициентом 2. Далее следуют еще две части слоя фона картинки. Обратим внимание, что последний слой больше по размерам первого и второго - он отвечает за мелкие детали. В информации о странице также видно, что есть чанк TXTz, содержащий текстовый слой, и чанк ANTz - аннотации, содержащие гиперссылки. 29
Если из меню броузера выбрать Help - Document information, то откроется содержащее информацию о djvu-документе диалоговое окно с тремя закладками: "Pages", "Thumbnails" и "All Files". Зачем существуют первые две закладки - непонятно. На первой отображается список всех страниц файла (то есть контейнеров FORM:DJVU), на второй - список всех контейнеров с миниатюрами FORM:THUM. Однако вся эта информация отображается и на закладке "All files". Единственное применение закладки "Pages", по-видимому, это быстрая навигация - если щелкнуть на этой закладке на странице документа, то она откроется. На закладке "All Files" отображается список страниц файла (контейнеров FORM:DJVU), а также файлов (контейнеров) для общих для djvu-страниц словарей символов, аннотаций и миниатюр: тип документа: объединенный общий словарь символов jb2 аннотации
страницы djvu-документа
Если бы документ был не "объединенный", а предназначался для размещения в Интернет в "разрозненном" виде, то каждый из этих элементов был бы отдельным файлом. Общие файлы имели бы расширение *.iff. Из представленной информации о документе видно следующее. Словарь символов jb2 создавался общий для всех страниц документа (при дефолтных настройках кодирования идёт чередование: словарь - 10 страниц - словарь). Наибольший размер в файл внесла вторая страница (126 kb). Файлов миниатюр в рассматриваемом примере нет. При сборке файлы "publishers technology.djvu" и "dvufaq.djvu", по-видимому, вставлялись и кодировались отдельно. Из семи "файлов" два общих. Для защищенных djvu-файлов указывается "срок годности" (дата, когда файл перестанет открываться), здесь он отсутствует. 30
3.3. Настройки Djvu Browser Plugin Плагин позволяет изменять основные параметры, чтобы сделать его использование более удобным При выборе "Preferences" открывается диалоговое окно с тремя закладками: "Color Correction" (коррекция цветов), "Display" (отображение на мониторе), "Double Page" (просмотр разворотами). На закладке "коррекция цветов" можно изменить параметр "гамма" для монитора и качество печати принтера. Настройка монитора осуществляется следующим образом: следует двигать ползунок, пока серые квадраты справа не будут выглядеть "одинаково". Если стоит галочка "match screen colors", то ползунок для принтера "привязан" к ползунку монитора. Если нет - то печать можно делать светлее или темнее, чем изображение на экране.
На закладке "отображение на мониторе" можно настроить опции лупы размер, степень увеличения и клавиша, которой она вызывается. По дефолту отображение гиперссылок - Control, а лупа - Shift; но их можно обменять, назначив для отображения всех расположенных на странице гиперссылок Shift, тогда лупа станет вызываться клавишей Control. Если рамки вокруг гиперссылок отрисовываются слишком медленно, то можно включить режим упрощенных границ. На этой закладке также можно настроить режим панели кнопок: отображается она или нет. Можно настроить, что она будет показываться только при наведении на нее курсора мыши. На закладке "просмотр разворотами" можно выбрать порядок расположения страниц: "справа налево" или "слева направо". Для того чтобы не происходило смещения левой и правой части разворота, можно поставить галочку в поле "Cover Page" об отображении первой страницы отдельно. Опция "Show Space Between Pages" показывает промежуток между страницами для точного различения границ страниц. Если ее выключить, то страницы будут объединены (слиты) в единый разворот. 31
4. Создание djvu-документов в Workflow Manager Процесс создания djvu-документов в Workflow Manager предельно прост: выбрать профиль (1), выбрать файлы (2), выбрать создается объединенный или разрозненный djvu-файл (3) и запустить процесс обработки (4). Соответственно и сам интерфейс программы отличается минимализмом Когда программа запускается, открывается окно, в котором слева находится список заданий (будет создано пустое задание "untitled job1"), а справа четыре закладки: "workflow" (процесс), "input" (обрабатываемые файлы), "output" (конечный результат) и "log" (информация о ходе обработки):
1
Выбираем на закладке "workflow" профиль кодирования (1). Дефолтным профилем является SCANNED 300. Теоретически, на этой закладке также можно встроить водяной знак, но на самом деле это дурной тон и портить им файлы не следует. Затем на закладке "Input" выберем через диалог "Choose files" (2), из каких именно изображений будет собираться djvu-файл. При этом по умолчанию результат будет сохраняться в папке, в которой находятся изображения. На закладке "output" укажем, что мы будем собирать единый "объединенный" djvu-файл (3). А затем галочкой запустим процесс сборки (4). Workflow Manager ориентирован на потоковое сканирование, поэтому мы можем в левом окне сформировать несколько заданий. Его единственная настройка - выбор "наблюдаемой директории" (watch folder) - папки, при попадании в которую изображения автоматически преобразовываются в djvu. 32
2
4 3
33
5. Изменение профилей кодирования в Configuration Manager 5.1. Интерфейс Configuration Manager На первой странице Configuration Manager мы видим четыре зоны ("A", "B", "C", "D"). По всей видимости, LizardTech пыталась сделать интерфейс максимально удобным для "чайников", но перемудрила - четыре зоны это уже слишком много. При этом в основное окно программы (зону "С") зачем-то были вынесены не самые важные настройки кодирования.
здесь появится звездочка
Зоны "А" и "В" взаимно синхронизированы. В зоне "А" находится список всех профилей кодирования, как предустановленных, так и созданных пользователем. Зона "В" разделена на две части. В первой ("common") ползунком можно в зависимости от качества выбрать тип изображения (bitonal, manuscript, drawn, scanned, clean, photo), а затем его разрешение (100, 150, 200, 300, 400, 500, 600 dpi). Т.е. 42 варианта. Во второй ("special") - укороченным списком висят профили aggressive и map, для каждого из которых также дается 7 видов разрешения, а также действительно специальные профили "very aggressive 300", "Fast 300", "Fine text 300", "Scanned and inverted 300", "Fine text inverted 300" и профили, созданные пользователем. Таким образом, либо в зоне "А", либо в зоне "В" можно выбрать интересующий нас профиль. Зона "С" синхронизирована с зонами "А" и "В". Когда мы выбираем профиль, настройки в ней изменяются в соответствии с его настройками. Однако, если затем мы захотим эти настройки в зоне "С" изменить, то после надписи Stock Profile (если это был предустановленный профиль) или Custom Profile (если это был профиль пользователя) появится звездочка, что будет указывать, что настройки профиля были изменены. 34
При выборе в меню "Save configuration file" измененный профиль пользователя будет сохранен. А при изменении настроек предустановленного профиля, запустится диалог "имя профиля", чтобы сохранить изменения как профиль пользователя. Однако следует обратить внимание, что три параметра, вынесенные в зону "С" (субсэмплинг слоя фона, субсэмплинг слоя цвет маски, пороговое значение при сегментировании фон/маска) вовсе не являются самыми важными или часто изменяемыми настройками djvu-кодирования. (Единственное, что они может быть наиболее понятны для начинающего пользователя). Configuration Manager позволяет менять более тридцати настроек кодирования, которые становятся доступны при нажатии кнопки "Advanced Settings" в зоне "D". Таким образом зоны "В" и "С" по большому счету не нужны. Достаточно общего списка профилей ("А") и доступа к полному списку настроек ("D"). При этом в списке настроек, раскрывающемся при нажатии на клавишу "Advanced Settings", будут указываться значения параметров выбранного профиля. Каждому профилю соответствуют свои значения этих тридцати параметров (приведены далее в таблице). Любую из настроек можно изменить и сохранить новый профиль. В Configuration Manager есть возможность открыть файл с изображением и применить к нему предустановленный или свой собственный профиль с тем, чтобы посмотреть на качество и размер получаемого результата. Тем самым всегда остается возможность желаемые параметры просто подобрать:
выбрать рисунок
применить профиль
.
Таким образом, логика разработчиков этого непонятного интерфейса с четырьмя зонами из LizardTech представляется следующим образом: 1) выбрать качество исходного материала; 2) выбрать разрешение сканирования; 3) поправить разрешение маски и фона, если есть недостатки; 4) сделать тестовую страницу и поизменять "мелкие" улучшательные настройки. 35
5.2. Настройки кодирования А) Закладка Background (1) «Background Quality» - Уменьшает размытие и артефакты в изображении, увеличивая размер фона. Эта опция эффективна при кодировании фотографий. Высокое значение улучшает отображение за счет увеличения размера итогового файла. Если цель – заархивировать копию изображения, то выберите высокие значения (95) параметра. Если цель – опубликовать изображение в интернете, то достаточно 70-75. Более низкие значения выбираются когда приоритет – размер файла, либо фон практически не изменяется (текстура цветной бумаги)
1
2
3 4
5
(2) "Decibels/Sizes/Slices" - эти опции обычно неактивны, но они включаются для профиля "bitonal" или "photo". Это альтернативные варианты определения качества формируемого изображения. "Decibels" - параметр определяет в децибелах в каких пределах потерь в сравнении с исходным документом будет находиться каждый чанк данных, в которых хранится фон. Значения могут варьироваться от 16 до 64. Запись 18.0, 22.0, 32.0 означает, что первый чанк соответствует исходному документу в пределах 18 децибел, второй - в пределах 25, третий - 32. Эту опцию не следует использовать с рисунками в формате jpg, т.к. воспроизведутся jpg-артефакты. 36
"Sizes" - определяет число чанков данных, которые составляют djvuизображение, и размер каждого чанка в байтах. Как только djvu-броузер плагин закачивает очередной чанк, он его отображает, что позволяет немедленно начать просмотр изображения, которое постепенно улучшается. Если есть файл в 16 kb и указаны значения 4096, 8192, 16384, то первый чанк будет иметь размер 4 kb, второй чанк - 4 kb (так что суммарно оба чанка составят 8 kb), третий - 8 kb (так что суммарно все три составят 16 kb). При просмотре djvuфайла изображение станет видимым, как только будет скачан первый чанк в 4 kb. Эту опцию имеет смысл использовать, если существует ограничение на размер файла или необходимо быстро начать просмотр. Нельзя использовать этот параметр вместе с опцией "Quality". "Slices" - этот параметр определяет число частей (долей) в каждом чанке данных. Имеют смысл значения в диапазоне 70-140. Гапример, запись 70,90,110,140 означает, что в первом чанке 70 "долей", во втором 20, в третьем 20, в четвертом - 30. Так что суммарно они дают 140 долей. (3) «Gamma» - используется для усиления различий между оттенками цвета, так чтобы они воспринимались правильно. Если изображение слишком яркое или темное, то этот параметр скорректирует освещенность. Чтобы осветлить – более низкое значение; затемнить – высокое. Дефолтное значение 2.2. Изменение гаммы происходит не в процессе кодирования, а при просмотре. Значение хранится в файле и используется фирменным просмотрщиком. (4) "Chrominance" - цветность - уровень различия между близкими цветами. Цвета в изображении с заниженным уровнем цветности могут сливаться. Красный дом на фоне голубого неба может выглядеть как красный дом на фоне красного неба, переходящего в пурпурное. "Нормальный" уровень цветности (значение по умолчанию) означает кодирование информации о цвете с тем же разрешением, что и яркости (luminance), что делает размытие цветов незаметным. "Половинный" уровень цветности - означает кодирование информации о цвете с разрешением в 50% от яркости. Если в изображении присутствуют сходные цвета: голубое небо над голубым морем, то размытие незаметно. Ведет к уменьшению размера djvu-файла. "Полный" уровень цветности - максимальный уровень качества отображения цветов. Ведет к росту размеров файла. Цвета не смешиваются друг с другом. Изображение имет увеличенный размер. Опция эквивалентна установке цветности в Normal и Delay=0. "Отсутствие" информации о цветности - эквивалентно конвертации изображения в градации серого цвета. (5) "Chrominance Delay" - установка фактора удаления цветностной информации, влияющего на размытие и размер файла. Эта опция влияет только на малые объекты. Значение 1 создает файл лучшего качества и наибольшего размера. Значение по умолчанию = 16.
37
Б) Закладка Segmenter 1) «Background floss» - Уменьшает размытие (blur) текста в документе, отображая цвет фона в малых интервалах между смежными символами. Ведет к увеличению размера файла и менее гладкому фону. Необходимо использовать, когда буквы толстые (как правило, при апсэмплинге). (Видимо, поэтому она включена при dpi=600 в стандартных профилях). 2) «Pixel filter» Определяет баланс между пикселями маски и фона. Зачение 0 означает, что максимальное число пикселей должно быть помещено в маску; значение 100 – в фон. Установка опции в 50 оптимальна для большинства 300 dpi документов. Значение по умолчанию – 25. Увеличение значения ведет к изъятию маленьких символов из фона, сглаживанию контуров. Уменьшение (!) предотвращает выпадение букв. Это самая эффективная опция для изменения соотношения фон/маска. 3) «Shape filter» устанавливает баланс между помещением сомнительных объектов в маску или в фон. Сомнительные объекты имеют 1 характеристики как маски, так и 2 фона. В процессе сегментации 3 такие объекты могут оказаться в неправильном слое. Объекты 4 маски имеют меньшее цветное 5 разрешение, поэтому сомнитель6 ные объекты, помещенные в этот слой, могут выглядеть 7 ненатурально. (Брови, например, могут выглядеть так, как будто 8 9 их кто-то нарисовал от руки.) Объекты фона имеют меньшее 10 общее разрешение, так что границы сомнительных объектов, помещенных в этот слой, размываются. Зачение 0 означает, что все сомнительные объекты идут в маску; значение 100 – в фон. Определение, где сомнительные объекты документа будут выглядеть естественнее, требует экспериментирования. Следует также учесть, что распознавание OCR применяется только к маске. 4) «Threshold level» Параметр взаимодействует с опциями Pixel Filter Level и Shape Filter Level для определения, какие объекты принадлежат маске и какие фону. Значение 0 означает, что все объекты должны быть помещены в маску, а значение 100 – в фон. Значение по умолчанию 75, что подходит для большинства документов. Регулирование опции возможно и в основном окне. 38
5) «Inversion level» Контролирует, как сегментер DjVu решает, что текст инвертирован (белый текст на черном фоне). Значение 0 означает, что весь текст черный на белом фоне, а значение 100 – весь текст белый на черном фоне. Значение по умолчанию – 25. 6) «Foreground subsample» - уменьшает число пикселей в слое цвета маски. Так как объекты маски обычно имеют мало информации о цвете, то можно уменьшать этот слой без видимого ухудшения внешнего вида изображения. Разрешение слоя цвета маски для изображения 300 dpi может быть уменьшено до 25 dpi установкой значения опции 12 (300 dpi / 25 dpi = 12). Регулирование опции возможно слайдером в основном окне программы. 7) «Background subsample» - уменьшает пиксельные размеры фона. Так как объекты фона обычно малоконтрастны и размыты, то можно уменьшать разрешение этого слоя без ухудшения внешнего вида изображения. Для изображения с разрешением 300 dpi разрешение фона может быть уменьшено до 100 dpi установкой значения опции 3 (300 dpi / 100 dpi = 3). Установка такого значения уменьшает размер конечного файла, но при этом обеспечивает, что каждая буква или её часть, не помещенная в маску, останется читаемой. Регулирование параметра возможно слайдером в основном окне программы. Поскольку объекты фона начинают выглядеть размытыми при разрешении менее 100 dpi, значения 1 и 2 должны использоваться только в следующих случаях: - процесс сегментирования правильно разделил фон и маску, фон не содержит варьирующихся цветов (цветная бумага); - начальное разрешение менее 100 dpi. 8) «Refine subsample» - сглаживает слои маски и фона для улучшения внешнего вида изображения (включает эвристику). Увеличивает время кодирования. 9) «Mask upsample» - увеличивает пиксельный размер маски. Поскольку объекты маски (текст и линии) имеют четкие контуры, то они должны быть закодированы в высоком разрешении, чтобы их контраст и читаемость не пострадали. Документы следует сканировать с разрешением 300-400 dpi, чтобы маска кодировалась с рекомендованными 300 dpi (значение опции 1). Если вы кодируете изображение с меньшим разрешением, например, 100 dpi, то используйте эту опцию со значением 3 для увеличения dpi Маски (3 * 100 dpi = 300 dpi). Это новое dpi будет передано в сегментер в процессе кодирования. 10) «Resolution multiplier» - уменьшает (или сохраняет) размер изображения для процесса сегментации. Сегментер DjVu оптимизирован для обработки изображений с разрешением 300 dpi. Если кодируется изображение с 400 dpi, установите значение 2. Это заставит сегментер пропускать каждый 2-й пиксель по вертикали и горизонтали, когда он будет анализировать изображение, т.е. уменьшит разрешение вдвое. Если кодируется изображение с разрешением ниже 400 dpi, то установите значение параметра 1, что сохранит текущее разрешение. 39
В) Закладка Text 1) "Text Quality" - опции, контролирующие качество кодирования текста: от сжатия без потерь (Lossless), сохраняющего все детали, каждый пиксель соответствует исходному изображению; до наибольшего сжатия (Most-loss). При "перепутанных буквах" следует увеличивать данный уровень качества. Дефолтное значение Medium-loss. 2) "Foreground Quality" - установка опции качества слоя цвета Маски. Влияет на размер слоя цвета Маски (FG44). Малые значения означают меньший размер (и меньшее разрешение). Так как этот слой обычно определяет цвет букв, что мало изменяется, то этот параметр редко имеет значимый эффект.
1
2 3 4 5
3) "Disable Halftone" - блокировка определения полутонов. Детектирование полутонов используется в тех случаях, когда изображение кодируется с дизерингом (псевдо-серые изображения, в которых цвет задан плотностью нанесения точек растра), например, отсканированные статьи из газет. Если входное изображение не содержит дизеринга, выбор этой опции позволяет сократить время кодирования и уменьшает размер закодированного файла. 4) "JB2 Format" Определяет как сегментировать цветное изображение и какой режим JB2 сжатия (алгоритм сжатия маски) должен быть применен при кодировании. Возможные значения: None, Bitonal, Color.
40
Опция "none" - без маски - означает выключение сегментирования и создание однослойного фото-djvu, закодированного только вейвлетами. Используется для кодирования документов, состоящих только из фотографий. Опция "bitonal" - черно-белая маска - указывает, что цветное изображение должно кодироваться на три слоя (создается "трехслойный" djvu-файл): маска; цвет маски; фон. Черно-белая маска кодируется в режиме стандартного jb2 , а слои "цвет маски" и "фон" кодируются вейвлетами по алгоритму IW44. Опция "color" - цветная маска - указывает, что маска и слой "цвет маски" комбинируются. То есть создается двухслойный djvu-файл, состоящий только из слоя маски и слоя фона (нет слоя "цвет маски"). Вместо него для каждого объекта черно-белой маски назначается свой RGB-цвет. В режиме цветного jb2 алгоритм сжатия маски записывает один сплошной цвет для каждого объекта черно-белой маски. Слой фона кодируется вейвлетами. Эта опция используется, чтобы создавать очень маленькие djvuфайлы. Однако, изображение, которое содержит накладывающиеся цвета будет порождать артефакты. Например, красно-синяя шахматная доска будет выглядеть пурпурной. Этот режим, поэтому, не следует использовать с документами с богатой цветовой палитрой, такими как карты или картины. 5) "Pages Per Dictionary" - определяет число страниц, включаемых в разделяемый словарный файл (djbz). Значение этой опции представляет собой число страниц, для которых будет использоваться один словарь. Для большинства документов установка значения в 20 является максимумом, до которого размер файла больше не меняется. Некоторые документы, такие как рисунки, не берут информацию из словаря, так как в них нет повторяющихся символов, и для них должно быть выставлено значение 1. Значение по умолчанию – 10. Если вы хотите уменьшить размер выходного файла, задавайте такое число станиц, которое заведомо больше числа страниц в кодируемом файле, это позволит создать всего один словарь, значительно уменьшить размер файла, и значительно увеличит время открытия страниц. Г) Закладка Transform 1) «Dots Per Inch» - Определяет разрешение входного изображения. Отрицательное значение означает, что это разрешение должно быть использовано, если изображение не содержит информацию о разрешении. Например, задание значения -300, означает использовать 300 dpi если изображение не содержит информацию о разрешении, а если информация о разрешении есть, то использовать ее. Значение 0 означает, что изображение содержит информацию о разрешении и именно ее и надо использовать. Является значением по дефолту. Положительное значение означает, что значение dpi, содержащееся в файле изображения, следует игнорировать, а использовать указанное значение. 41
1 2 3 4 5 6 7 8 9 10
2) «Flip Horizontal/Flip Vertical» - установка этих опций зеркально отражает выходное изображении по горизонтали или вертикали соответственно 3) «Invert» - инвертирование черных и белых элементов выходного изображения (применимо только к черно-белым изображениям). 4) «Rotate» - поворот выходного изображения на угол кратный 90 градусов (90, 180, 270 градусов). 5) «Upsample» - увеличивает число пикселов во входном изображении, в указанное число раз, одновременно увеличивая размер выходного изображения. Вы может е указать любое целое число, но такое, чтобы не превышался размер допустимого изображения. Например, черно-белое изображение с размерами 2000х1000 пикселей может быть ресемплировано с использованием значении от 1 до 16 (16 * 2000 = 32000, максимальный размер доступный для черно-белых изображений). Цветное изображение с размерами 2000х1000 ресемплировано с использованием значении от 1 до 13 (13 * 2000 = 26000, размер который не превышает максимальный размер в 27500 пикселей, доступный для чернобелых изображений). 6) «Subsample» - уменьшает число пикселов во входном изображении, в указанное число раз, одновременно уменьшая размер выходного изображения. Вы может е указать любое целое число, но такое, чтобы результирующее изображение не было меньше чем 1х1 пиксел. Например, изображение с размерами 2000х1000 пикселей может быть ресемплировано с использованием значения от 1 до 1000 (1000 / 1000 = 1). 42
7) «Normalize» - Увеличивает число черных/белых пикселей в сером изображении на указанное число процентов, увеличивая контраст между черным и белым цветами. Используйте эту опцию вместе с опцией White Normalize при кодировании серых изображений, содержащих текст и фоны похожих цветов. Например, темно серый текст на светло сером фоне может быть конвертирован в черный текст на белом фоне, что повысит читаемость. 8) «Scale» - совмещает эффект использования опций Black Normalize и White Normalize для увеличения контраста между черным и белым цветом в серых изображениях. Эта опция использует увеличение отличное от представления в процентах числа черных и белых пикселей. 9) «To Bitonal» - конвертирует цветные и серые изображения в черно-белое с указанным порогом (от 1 до 255). Экспериментируя, определите лучшее значения для вашего случая; большинство изображений требуют значения в промежутке 100-130 для правильной конвертации. Используется для обеспечения небольших размеров черно-белых файлов имеют. Если чернобелый документ случайно отсканирован как цветной, то эта опция устранит дополнительную цветовую информацию изображения. 10) «To Greyscale» - конвертирует цветное изображение в серое с 256 градациями серого цвета.
Если рассмотреть, как изменяются эти настройки в предустановленных профилях кодирования, то станет видно, что они делятся на три большие группы. Во-первых, это неиспользуемые опции. Это такие опции, значения которых не заданы а также которые всегда применяются с одинаковыми параметрами. Такие опции в таблице и не отражены. На закладке BACKGROUND это «gamma» (не указана) и «chrominance» (везде выставлена как нормальная). На закладке SEGMENTER это «refine subsample» (галочки нигде нет). На закладке TEXT это «foreground quality» (выставлен на уровне 50), «disable halftone» (никогда не выставлен). На закладке TRANSFORM не используются опции «black normalize», «white normalize», «scale normalize», «to bitonal», «to greyscale», т.е. никакой коррекции уровней не осуществляется. Во-вторых, это опции, зависящие от dpi картинки. Имеются в виду настройки: субсэмплинг фона, субсэмплинг слоя цвета маски, апсэмплинг маски, субсэмплинг изображения перед сегментацией, апсэмплинг изображения, субсэмплинг изображеия. В третьих, это опции зависящие от качества от изображения ("типа" профиля). Это настройки: пороговое значение (threshold level), шейп фильтр (shape filter level), пиксель фильтр (pixel filter level).
43
Параметры предустановленных профилей EDITS = BG SEGMENTER SEGMENTER
75 50
75
300 3
12
75
300 2
6
50
subsample
12 6
upsample
300 3 300 2
dpi
70
pages per dict
75
10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 10 10 10 10 10 10 10 10 10 10 10 10 10
-600 -500 -400 -300 -200 -150 -100 -600 -500 -400 -300 -200 -150 -100 -600 -500 -400 -300 -200 -150 -100 -600 -500 -400 -300 -200 -150 -100 -600 -500 -400 -300 -200 -150 -100 -600 -500 -400 -300 -200 -150 -100
1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1
1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1 1 1 1 1 1 3 1
10
-300
1
1
10 10
-300 -300
1 2
1 3
medium bitonal
10
-300
1
1
medium bitonal
10
-300
2
3
Text quality
12
Resolutmultiplier
300 4
Mask upsample
70 70 70 70 70 70 70 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75
50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 25 25 25 25 25 25 25 25 25 25 25 25 25 25 50 40 40 40 40 40 40
75 75 75 75 75 75 75 50 50 50 50 50 50 50 75 75 75 75 75 75 75 60 60 60 60 60 60 60 75 75 75 75 75 75 75 75 75 75 75 75 75 75
25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 10 10 10 10 10 25 25 25 25 25 25 25
1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 2 3 3 1 1 1 1 2 3 3 1 1 1 1 1 3 3 1 1 1 1 2 3 3
2 2 1 1 1
medium medium medium medium medium medium medium
color color color color color color color
1 1 1 1 1 1 1 2 2 1 1
medium medium medium medium medium medium medium
bitonal bitonal bitonal bitonal bitonal bitonal bitonal
medium medium medium medium medium medium medium
bitonal bitonal bitonal bitonal bitonal bitonal bitonal
2 2 1 1
medium medium medium medium medium medium medium
bitonal bitonal bitonal bitonal bitonal bitonal bitonal
2 2 1 1 1
medium medium medium medium medium medium medium
bitonal bitonal bitonal bitonal bitonal bitonal bitonal
2 2 1 1
medium medium medium medium medium medium medium
bitonal bitonal bitonal bitonal bitonal bitonal bitonal
50
60
75
25
1
1
да
25 25
40 40
75 50
25 25
2
75
да
25
40
75
75
1
75
да
25
40
50
75
2
да
да да да да да да да
да да да да да да да да да да да да да да
1
JB2format
20 25 25 25 25 25 25 20 20 20 20 20 20 20 25 25 25 25 25 25 25 20 20 20 20 20 20 20 15 15 15 15 15 15 15 20 25 25 25 25 25 25
Floss
Inversion
75 75 75 75 75 75 75 50 50 50 50 50 50 50 75 75 75 75 75 75 75 60 60 60 60 60 60 60 75 75 75 75 75 75 75 75 75 75 75 75 75 75
Threshold
12 12 12 12 8 4 4 12 12 12 12 8 6 4 12 12 12 12 6 4 4 12 12 12 12 8 4 4 12 12 12 12 8 4 4 12 12 12 12 8 4 4
TRANSFORM
Shape filter
Quality
6 5 4 3 2 1 1 6 5 4 3 2 1 1 6 5 4 3 2 1 1 6 5 4 3 2 1 1 6 5 4 3 2 1 1 6 5 4 3 2 1 1
600 500 400 300 200 150 100 600 500 400 300 200 150 100 600 500 400 300 200 150 100 600 500 400 300 200 150 100 600 500 400 300 200 150 100 600 500 400 300 200 150 100
TEXT
Pixel filter
Threshold
agressive agressive agressive agressive agressive agressive agressive clean clean clean clean clean clean clean drawn drawn drawn drawn drawn drawn drawn manuscript manuscript manuscript manuscript manuscript manuscript manuscript map map map map map map map scanned scanned scanned scanned scanned scanned scanned Very aggressive Fast Fine text Scanned and inverted Fine text inverted
FG subsample
BG subsample
ПРОФИЛЬ
mostcolor loss medium bitonal medium bitonal
44
5.3. Пример создания нового профиля 1) Выберем в меню «создать новый профиль»
2) Откроется окно, в котором надо задать имя нового профиля (без пробелов) и выбрать профиль, на основе которого мы и будем создавать свой собственный. Пусть это будет SCANNED 300.
Жмем ОК. Имя нового профиля начинает высвечиваться в главном окне. 3) После этого идем в Advanced Settings и на закладках (где высвечиваются параметры выбранного за основу профиля) изменяем параметры, так как надо. Жмем на Save. Теперь при пакетной обработке в Workflow Manager нам доступен профиль SC300_1-SUBS2. В результате в documenttodjvu.conf в конце файла появится запись типа: Sc300_1-subs2: scan300 bg-subsample=2
т.е. имя профиля - базовый профиль изменённый параметр. Таким образом, Configuration Manager - просто редактор файла конфигурации. 45
6. Некоторые советы по созданию djvu-файлов 6.1. Важные настройки DjVu-кодирования и свои профили Как уже отмечалось, из более чем тридцати настроек кодирования большая часть не используется. Например, некоторые настройки предназначены для "вытягивания изображения" (контрастность, резкость, убирание паразитного фона, бинаризация и т.д.) - то есть того, что достигается предварительной обработкой изображения в графическом редакторе. Цель такой обработки создание из грязного файла (файла с разводами, графическим мусором, криво расположенным текстом и расплывающимися буквами) чистого: с чернобелыми контрастными буквами, горизонтальными строчками, ровными полями, исправленными геометрическими искажениями. При кодировании отсканированных книг, как правило, для пакетной обработки файлов используются программы Scan Kromsator или Scan Tailor и использование аналогичных опций кодирования - избыточно. Мне кажется, что это должно быть вообще первой заповедью создателя djvu-файла: никогда и ни за что не кодировать в DjVu необработанные предварительно сканы. В случае полного непонимания формата и процедур использования SK или ST лучше закодировать сканы в профиле фотоизображения без сжатия или разместить их в Интернет как архив из картинок. Кто-нибудь да соберёт файл как надо. Ситуация с Интернет изменилась: тяжелые файлы сейчас меньшее зло, чем потерянная информация. Скачал плохой djvu-файл, понравилось - ищи хороший вариант. Преступление для сканировщика давать ТОЛЬКО плохой вариант. Если сканы прошли предварительную обработку, то профили djvuкодирования, ориентированные на качество скана (agressive, clean, drawn, manuscript, map) и различающиеся настройками сегментирования, нас уже не интересуют. Изображение скорее всего будет сегментировано правильно. Как будет показано далее, можно вообще пользоваться только профилем scanned. Также следует обратить внимание, что при обработке книжных сканов популярность получил процесс ручной сегментации, когда в графическом редакторе (это позволяют сделать и Scan Kromsator и особая сборка Scan Tailor) создается парное изображение слоя фона и изображение слоя маски. В этом случае djvu-сегментация вообще не осуществляется, только сборка djvu-файла. Некоторые параметры имеют более важное значение, чем другие, и Celartem вместе с Caminova (правопреемники LizardTech) в последних версиях Document Express попытались эту логику создания djvu-файла отразить. Они отключили лишние функции, остальные расположили в порядке принятия решения о кодировании, расширили и изменили параметры сегментирования. Знакомство с интерфейсом последних версий рассматриваемой программы дает понятие о логике принятия решения по кодированию (смотри рисунок). По большому счету (ИМХО) для создания DjVu важны не более пяти параметров, которые могут приводить к созданию новых профилей. 46
Выбор настроек кодирования в последних версиях Document Express Document Express 7.0
Document Express 7.5
1) Выбор типа djvuфайла 2) Приведение к стандартному разрешению 3) Субсэмплинг фонового слоя 4) Выбор числа страниц для создания общего словаря jb2 5) Степень различения букв при кодировании jb2
Некоторые "новые опции" сегментирования, на самом деле всегда существовали в Djvu SDK, и даже более того: они воспринимаются стандартным documenttodjvu.exe из пакета Document Express, хотя нигде и не обозначены. Соответственно их можно задавать при кодировании djvu-файла из командной строки. Это опции: edge-size, render-size, blurring-size, block-size, block-overlap, thickening. 47
1) Предварительный апсэмплинг изображения (разрешение маски) Разработчики "заточили" djvu-технологию на обработку исходников с разрешением 300 dpi (при этом для слоя фона при кодировании осуществляется субсэмплинг 1:3, то есть он становится 100 dpi). Когда выбираются профили изображения с большим разрешением (400, 500, 600), то слой фона кодируется с субсэмплингом 1:4, 1:5, 1:6 соответственно. Слой цвета маски продолжает кодироваться как 1:12 (большие значения не предусмотрены). Когда выбираются профили с меньшим разрешением (100, 150, 200), то субсэмплинг слоев не осуществляется, зато осуществляется апсэмплинг изображения. Практика кодирования djvu-книг установила, что предварительный апсэмплинг до 600 dpi дает лучший результат, чем 300 dpi. Буквы становятся более гладкими, в русском языке практически устраняется "эффект перепутанных букв", при этом размер маски увеличивается слабо. В Document Express 7.5 ресэмплинг изображения называется "preprocess", то есть подчеркивается, что он делается перед собственно djvu-кодированием. При этом он определяется как дробь апсэмплиг/субсэмплинг, что позволяет достичь любых пропорций изменения. Такой ресэмплинг может быть сделан и в Document Express 5.1 - опции "upsample"/"subsample" на закладке "Transform". Определение разрешения изображения, на мой взгляд, следует привязывать к размеру букв и пиксельным размерам страницы, а не заданному значению dpi: разрешение размер страницы A4 размер страницы A4 / 2 (dpi) (пикселы) (пикселы) 100 827*1169 414*585 150 1240*1754 620*877 200 1654*2339 827*1170 300 2480*3508 1240*1754 400 3307*4677 1654*2339 500 4134*5846 2067*2923 600 4961*7016 2481*3508 Если мы сканируем в 300 dpi, то стандартный лист А4 имеет размеры 210*297 мм или 2480*3508 пикселей. Если наибольший размер отсканированного изображения страницы А4 с сомнительным разрешением находится в диапазоне 1754-2339 пикселов, то это означает, что изображение сканировалось с разрешением 200 dpi и впоследствии обрезалось. Если книга сканировалась разворотами (две страницы на лист), то наибольший размер одной страницы в диапазоне 2923-3508 пикселов укажет на разрешение 600 dpi. Обычные книги следует сканировать на 300 dpi и делать апсэмплинг до 600 dpi. Вместе с тем, поскольку при djvu-кодировании маски важно отношение букв к размеру "окна обсчета", если книга напечатана микроскопическими буковками, то ее надо отсканировать на 600 dpi, а потом принудительно назначить разрешение файлам 300 dpi (далее апсэмплинг). Если обычная книга гигантскими буквами, то ее можно отсканировать на 300 dpi и принудительно назначить 600 dpi. Апсэмплинг, впрочем, лучше делать сразу в графическом редакторе, в котором осуществляется подготовка файлов для кодирования. 48
2) Определение типа djvu-страницы При создании djvu-файла необходимо заранее понимать, файл с каким типом страниц создается (что зависит от вида исходного изображения): - однослойные черно-белые DjVu (только текст и ч/б чертежи, идущие в слой маски); - двухслойные DjVu (текст и малоцветные чертежи, идущие в кодируемый паллетизированными цветами малоцветный слой маски; а также фото-рисунки, т.к. в двухслойных djvu-файлах по спецификации всегда создается слой фона); - однослойные фото-DjVu (цветные/серые рисунки, которые полностью уходят в слой фона без сегментации); - трехслойные DjVu (автоматически осуществляется сегментация фонмаска, для маски формируется слой "цвет маски"). Формат djvu-страницы в первую очередь зависит от типа профиля, который выбран при кодировании. Профиль BITONAL создает состоящие из одного слоя маски черно-белые страницы из черно-белых изображений. (Подача цветного файла будет воспринята как ошибка). Профиль PHOTO создает состоящие из одного слоя фона цветные страницы из цветных изображений. (Подача чернобелого файла будет воспринята как ошибка). Профиль SCANNED создает трехслойные DjVu из цветных изображений и однослойные черно-белые djvuстраницы из черно-белых изображений. Двухслойные djvu-файлы, как предполагают разработчики, создаются из профиля AGRESSIVE. Профиль DOCUMENTTODJVU пытается автоматически определить вид изображения и способ кодирования. Вместе с тем, эксперименты показывают, что манипулирование опциями "JB2 Format" на закладке "Text" и "To Bitonal" на закладке "Transform" позволяет создавать различные типы djvu-страниц и на основе не предназначавшихся для этого профилей: тип djvuстраницы
однослойный ч/б djvu-файл
однослойный фото djvu
(только слой маски)
(только слой фона)
режим и BITONAL его опции SCANNED To Bitonal = "yes"
PHOTO
SCANNED JB2 Format = "none"
двухслойный djvuфайл
трехслойный DjVu
(цвет маски закоди- (есть маска, слой цвета рован как Color JB2, маски, фон) есть чанк FGbz) SCANNED AGRESSIVE JB2 Format = "bitonal" SCANNED JB2 Format = "color" PHOTO JB2 Format = PHOTO JB2 Format = "color" "bitonal"
Обнаруженная хитрость здесь заключается в том, что в профилях кодирования BITONAL и PHOTO интерфейс Document Express обрезает доступ к ряду настроек. Создавая же однослойные djvu-страницы на основе модифицированного профиля SCANNED, эти настройки можно изменять. 49
3) Субсэмплинг фонового слоя (разрешение слоя фона) Следующий имеющий важное значение параметр - это величина субсэмплинга фонового слоя (параметр "Background Subsample" на закладке "Segmenter"). Как уже говорилось, разработчики по дефолту выставили уменьшение разрешения фона до 100 dpi (в 3 раза для профилей серии 300, в 4 для серии 400 и т.д.). Изменение значения этого параметра может потребоваться в следующих случаях: а) в связи с тем, что мы делаем предварительный апсэмплинг до 600 dpi, уменьшение разрешения в 3 раза сохранит фон в 200 dpi, что приведёт к увеличению размера файла. Этот параметр можно установить на уровне 6; б) в книге есть фотографии и рисунки с мелкими деталями, которые при трехкратном уменьшении разрешения исчезают. В этом случае можно субсэмплинг фона вообще не делать, и тогда он будет отображаться "как есть". (Или сделать субсэмплинг фона на уровне 2 вместо уровня 3). в) файл кодируется в фото-djvu с целью запаковать сканы "как есть" (по сравнению с форматом jpg - выигрыш ≈2 раза). Субсэмплинг здесь не нужен. Теоретически, при ухудшении фона можно менять параметр "качество фона", но на практике проще изменить разрешение. 4) Степень различения букв при кодировании jb2 В случае возникновения "эффекта перепутанных букв" следует увеличить качество распознавания букв (параметр "Text Quality" на закладке "Text"). Сначала попробовать режим lessloss, затем lossless. К сожалению, это сильно увеличивает размер файла. 5) Выбор числа страниц для создания общего словаря jb2 Популярные инструкции по djvu-книгосканированию рекомендуют устанавливать размер словаря в 1000 страниц. Однако, следует учесть, что это зависит от качества сканирования и степени однородности букв в книге. Если созданный общий словарь примет гигантские размеры (все буквы разные), то работа с djvu-документом будет крайне медленной. Дефолтная настройка в 10 страниц часто является оптимальной. Иногда можно использовать и 1000 страниц (качество букв близко к векторному изображению). Тем не менее, я предпочитаю словари в размере 20-50 страниц. В результате у меня в дополнение к основным профилям созданы следующие (комбинации приведенных ниже вариантов пока не требовались): - (SCANNED 300) трехслойный DjVu с субсэмплингом фона 1:1 - (SCANNED 300) двухслойный DjVu с субсэмплингом фона 1:2 - (SCANNED 300) двухслойный DjVu с субсэмплингом фона 1:6 - (SCANNED 300) трехслойный DjVu со слабым ухудшением букв (lessloss) - (SCANNED 300) трехслойный DjVu без ухудшения букв (lossless) - (SCANNED 300) трехслойный DjVu со словарем jb2 на 20 страниц - (SCANNED 300) трехслойный DjVu со словарем jb2 на 1000 страниц Обрабатываются в них мной, как правило, черно-белые изображения в 600 dpi. Djvu-файлы с цветными рисунками и графиками я обычно собираю в FSD. 50
6.2. Смысл настроек сегментирования Процесс сегментации - выделение маски из фона. В связи с появлением технологии разделенных сканов - ручного сегментирования фон/маска, для книгосканирования эти параметры стали практически не важны. Приведенная здесь информация - из официальной справки к Document Express. 1) PIXEL-FILTER Определяет баланс между пикселями фона и маски. Его увеличение убирает небольшие объекты из маски, сглаживает контуры, убирает полутона. Уменьшение - предотвращает выпадение символов из маски в фон. Рекомендуется оставить значение по умолчанию, чтобы избежать выпадения букв. Выпадение отдельных точек считается допустимым. (Их, как показано далее, можно вернуть через threshold). В целом, оптимальный уровень соответствует минимальному размеру документа, и варьируется в зависимости от его характеристик. Для большинства достаточно 50, но для dpi=200, например, это 25. (Поэтому за дефолтное взято 25.) Параметр соответствует штрафу, взимаемому каждый раз при переходе фон-маска. Если два соседних пикселя находятся в одном слое, то штрафа нет. Основные причины не сегментировать - слишком большое число переходов или слишком большие различия в яркости пикселей. Влияние на текст - значение меньше 25 улучшает сегментацию символов, цвет которых близок к фону. Влияние на фото - высокие значения позволяют избежать сегментации небольших спеклов. Пример использования:
В данном случае необходимо изменение дефолтного значения 25 на 10. Заметно (в данном случае - с трудом), что при 25 часть букв размыта. При просмотре только слоя маски - видно, что они ушли в фон. В данном примере у текста и фона близкие цвета: синий на желтом. 51
Пример с нормальными цветами:
Это, правда, скорее пример корректной работы дефолтного значения в 25. Но зато он хорошо отражает основную идею: если текст кусками ушел в фон (в конечном изображении разводы, а в слое маски - дырки), то надо крутить как раз пиксель-фильтр. 2) SHAPE-FILTER Определяет, куда направляются сомнительные объекты (shapes - т.е. группы связанных элементов): в маску (0) или в фон (100). Установить, где какой объект будет лучше выглядеть, как правило, можно только экспериментированием (подбором). Значение по умолчанию - 50. Объект с весом больше установленного сохраняется в маске. Этот вес определяется как разность между двумя штрафами: кодирования всего как гладкого фона и кодирования с помещением объекта в маску. Пример использования:
52
При значении 75 пропадают точки над i. При значении 50 (дефолтное) - все ОК. В связи с непрерывным улучшением алгоритма, этот параметр больше некритичен. Параметр оказывает небольшое влияние на текст и графику. Как правило, он полезен для минимизации сегментации фото с крайне небольшим риском для текста. В этом случае необходимо увеличить дефолтные 50 до 75. В некоторых редких случаях, чтобы сегментировать очень маленькие точки, значение параметра следует уменьшить. 3) THRESHOLD-LEVEL Взаимодействует с пиксель-фильтром и шейп-фильтром при определении баланса между фоном и маской. Определяет различия между стандартными отклонениями фона и маски, как показано в следующей таблице:
Рассмотрим пиксель, относительная яркость которого находится между средней для фона и средней для маски. Она будет лежать между 0 (фон) и 100 (маска). Пиксель будет классифицирован как маска, только если его яркость превышает пороговое значение. Т.е. высокое пороговое значение увеличивает фон в спорных участках. Пороговое значение в 50 оставляет равное пространство для колебаний маски и фона вокруг своих локально средних уровней. На практике пороговое значение 75 (значение по умолчанию), по мнению разработчиков, предпочтительнее - оно оставляет больше места для колебаний фона. Рекомендуется уменьшать это значение если части символов пропадают в фоне. Влияние на текст: более низкие значения улучшают сегментацию, если символы слишком тонкие. Высокие значения предотвращают, чтобы грязный фон был опознан как маска. Влияние на фото: высокие значения минимизируют нежелательную сегментацию отдельных частей изображения. Самое интересное скрывается, как всегда, среди написанных мелким шрифтом в примечаниях к приложениям разнообразных ненужностей. Оказывается, threshold надо крутить, не когда дырки в тексте, а когда буквы требуют некоего сглаживания. Рассмотрим пример из туториала. В данном случае threshold = 25 отдает больше пикселей в маску, включая разводы, а из маски они потом убираются фильтрами. И в результате мы имеем результат, обратный ожидавшемуся, дырки в маске вместо клякс в маске. Пятна фона сливаются с буквами, а потом вместе с ними и отфильтровываются шейп-фильтром. 53
Пример из туториала:
Пример, в котором LizardTech рекомендует изменение threshold:
Значение пиксель-фильтра 10 способствует избыточной сегментации (избыточная сегментация - слишком много идет в маску; недостаточная - много остается в фоне) и дает буквам читаться, но его в данном случае недостаточно. Часть пикселей из букв выпадает, буквы местами слишком тонкие. Здесь необходимо изменять threshold. При threshold = 25 - буквы становятся упитанными, поскольку переходные зоны между фоном и маской (контуры букв) определяются как маска. Следует обратить внимание, что рассмотренные в данном параграфе настройки в разных "типах" профилей выставлены по-разному. Поэтому если стандартный профиль "SCANNED" дает неправильные результаты сегментирования, то можно попробовать выбрать профиль, соответствующий другому качеству оригинального документа-источника. 54
6.3. Общие рекомендации и советы А) ПРОСМОТР DjVu-ФАЙЛОВ И ИХ ПОСТОБРАБОТКА 1) просмотр в черно-белом режиме Если вы просматриваете файл, в котором текстуры фона и цветные разводы слишком сильно мешают чтению, вспомните, что в Djvu Browser Plugin, как и в других djvu-программах от LizardTech для многослойных djvu-файлов есть возможность просматривать только черно-белый слой маски. 2) выгрузка и редактирование текстового слоя Если в слое текста при OCR допущены ошибки, то текстовый слой следует выгрузить из djvu-файла с помощью утилиты djvutoxml.exe, которая представит его в формате XML. Отредактировать xml-файл внешним редактором и загрузить обратно с помощью утилиты djvuparsexml.exe. В принципе, эти утилиты выгружают/загружают XML, содержащий все нерастровые элементы djvu-файла (гиперссылки, аннотации). И их также можно в нем редактировать. 3) экспорт/импорт оглавления На форумах обсуждалась и такая задача. Есть два djvu-файла одной и той же книги. В одном плохие сканы, но хорошее оглавление. В другом - хорошие картинки, но отсутствует оглавление. Рекомендовалось использовать утилиты сторонних производителей Bookmark Tool или DjVu Fancy Viewer v1.5, которые позволяют экспортировать и импортировать оглавление (через формат html и txt соответственно). Насколько я понимаю (сам никогда не использовал), это позволяет в процессе удобнее редактировать оглавление, не влияет на аннотации и гиперссылки. 4) разборка djvu-файла на отдельные изображения Разборка djvu-файла на отдельные изображения всех страниц возможна только из командной строки. Используется утилита djvudecode.exe из пакета Document Express. У меня создан простейший bat-файл: djvudecode.exe --output-format=tif book.djvu _output который в созданную пустую папку _OUTPUT складывает все страницы книги book.djvu в виде одностраничных tif. Если папка не будет создана или будет не пуста, то результата не будет. Если djvudecode.exe запустить с параметрами как (djvudecode.exe book.djvu book.tiff), тогда создастся многостраничный TIFF. Таким образом, если djvu-файл сделан криво, его можно разобрать, обработать в графическом редакторе и собрать заново. 5) настройка параметров открытия документа В djvu-файл могут быть встроены указания, как следует открывать документ. В программе Djvu Editor в меню Edit - Attributes можно задать параметры: 55
- отображаемый при открытии слой документа: цветной (совмещены все слои), черно-белый, слой фона, слой маски; - цвет экрана, на котором демонстрируется страница; - масштаб отображения; - верхняя, средняя или нижняя часть страницы демонстрируется, если документ больше площади экрана; - направление смещения страницы по отношению к экрану; - наличие и размещение колонтитула:
Если вспомнить описание структуры djvu-файла, то хранится эта информация в чанке ANTz с аннотациями 6) однотипная постобработка нескольких файлов Если нужно совершить однотипные действия с несколькими (многими) djvu-файлами, помните, что все программные модули от LizardTech - это графические интерфейсы к запускаемым из командной строки исполняемым файлам-утилитам. Для этих утилит можно писать скрипты или batch-файлы для пакетной обработки. Б) СБОРКА DjVu-ФАЙЛОВ 1) сборка в Djvu Editor из разных типов djvu-страниц Кодируемая книга обычно состоит из страниц разного типа: черно-белых, с крупными фотографиями, мелкими фотографиями, цветных чертежей, обложки. Правильнее всего их кодировать с разными профилями, некоторые даже по принципу вручную сегментированных слоёв. Как правило, такие страницы приводятся к одному пиксельному размеру, раскладываются по разным папкам и кодируются разными профилями. Полученный набор объединенных djvuфайлов собирается затем в единый djvu-файл в программе Djvu Editor. 56
В Djvu Editor также осуществляется правильная перестановка страниц, вставка заготовленных пустых белых страниц с целью сохранения нумерации, постобработка (создание оглавления - закладок, гиперссылок, аннотаций). При объединении нескольких djvu-файлов в один Djvu Editor общий словарь не создает. 2) контроль за физическими размерами страниц Если вы кодируете из чужих исходников, которые неожиданно могут оказаться с разным разрешением, либо если вы применяете большое количество профилей и существует вероятность ошибки (см. ниже), либо отдельно кодировали обложку с другим разрешением, то в djvu-документе могут получиться страницы с разными физическими размерами. По умолчанию обычно стоит просмотр с растягиванием страницы по ширине экрана, либо выравнивание вся страница на экран, и тогда (если пропорции постоянны) ошибку можно и не заметить. Следует задать просмотр 25% или 50% от масштаба и посмотреть, будут ли скачки размеров страниц. 3) контроль за созданием общих словарей При манипуляциях с djvu-страницами был выявлен следующий эффект. Когда из djvu-документа с общим для нескольких страниц jb2-словарем извлекается одна страница, то она полностью наследует общий словарь. (Разборка словаря и выборка символов только этой страницы не осуществляется, словарь полностью включается внутрь страницы.) При копировании нескольких страниц в Djvu Editor и выборе Paste Pages такой "общий" словарь включается дублем для КАЖДОЙ страницы как ее собственный словарь. Поэтому если вы редактируете файл, в котором создавался гигантский общий jb2-словарь символов, то иногда страницы лучше закодировать заново, чтобы размер файла не увеличивался. Общий словарь остается общим (sdjbz), а не многократно встроенным внутрь страниц (djbz), когда страницы не копируются, а удаляются: 1) выделить все страницы; 2) убрать выделение с нужных страниц с помощью Ctrl+клик мыши; 3) удалить выделенные страницы; 4) оставшееся сохранить под другим названием. 4) сборка в Djvu Editor из отдельных изображений Программа Djvu Editor позволяет собирать djvu-файл из набора графических файлов, хотя такая возможность и не очевидна. Следует: а) открыть файл с первой страницей (из меню File команда Open); б) выбрать в меню Edit команду Insert Page(s) After; в) добавить остальные файлы, начиная с последнего (тогда в строке "имя файла" они будут идти в правильной последовательности), но так, чтобы число файлов не превысило верхний предел (обычно 600); г) сохранить файл, выбрав правильные параметры сжатия.
57
В Djvu Editor доступны практически все профили кодирования (7 типов профилей с 7 разрешениями), что и в Workflow Manager. Профиль "Electronic" в Djvu Editor - это аналог профиля "Clean". 5) ошибки при сборке В некоторых случаях при кодировании djvu случаются ошибки, а на закладке "Log" в "Workflow Manager" нужная информация не отображается. В этом случае целесообразно кодировать каждую страницу как отдельный djvu-файл, тогда и лог будет вестись по каждой странице и можно увидеть, где именно происходит ошибка. Скорее всего на входе окажется какой-нибудь нестандартный tif или другой графический файл. В этом случае помогает перекодирование такого файла в Irfan View или ином графическом редакторе. Можно также запустить documenttodjvu с опцией --verbose, тогда все этапы кодирования будут выводиться на экран. Чаще всего, впрочем, происходит ошибка (которая отображается), когда пытаются сделать фото-djvu из черно-белых сканов. 6) число страниц, кодируемое за один раз По всей видимости, число одновременно обрабатываемых страниц равно 816, если файлы называются ###.tif или ###.tif. Это число составит уже 744, если файлы названы по шаблону ####.tif или ###.tiff Общая зависимость сохранится - чем длиннее имя файла, тем меньше это число. Можно, конечно, именовать файлы буквами, но известно, что если подавать на вход многостраничные tiff-файлы, то кодировалось и 2000 страниц за один раз. Следует отметить, что в случае огромного количества страниц Document Express может уже столкнуться с ограничениями по оперативной памяти. 7) имена файлов и папок У программ от LizardTech есть особенность - они иногда не любят слишком длинные имена файлов и папок, на русском языке, да к тому же и с пробелами. Ограничения здесь зависят ещё и от операционной системы. Совет: создайте в корневом каталоге папку со сканами с простым именем и без пробелов. В) СОЗДАНИЕ ПРОФИЛЕЙ В принципе, всё, что я хотел сказать о параметрах, важных для djvuкодирования, я изложил в разделе 6.1. Вместе с тем при формировании и применении профилей хотелось бы обратить внимание на еще несколько нюансов: 1) применение профилей с разрешением "150" Если посмотреть таблицу параметров, то видно, что скан сначала субсэмплится до 100 dpi, затем делается апсэмплинг маски. Это ухудшает сегментирование. Лучше применить профиль разрешением 100 к тем же сканам. 58
2) формирование "своих" профилей на основе с высоким разрешением Обратите внимание (см. таблицу с их параметрами), что в профилях с высоким разрешением "500", "600" включена опция "Resolution multiplier", которая просто выбрасывает 75% пикселей из обработки. Поэтому если вы при формировании нового профиля выбираете основу, ориентируясь в первую очередь на соотношение размеров слоев, то не забудьте, что этот параметр не эквивалентен ресэмплингу. (Другими словами: если вы не хотите по какимлибо причинам субсэмплить исходник и применять профиль меньшего разрешения, то включать "Resolution multiplier" уж тем более не надо.) 3) обработка при несоответствии разрешения профиля и файла Несмотря на то, что в файле справки написано, что дефолтное значение параметра "Dots Per Inch" (закладка "Transform") равно "0", в предустановленных профилях Workflow Manager (см. таблицу с параметрами) везде стоят отрицательные значения. То есть, если изображение не содержит информацию о разрешении, тогда используется "разрешение профиля". В результате jpg и tif файлы у меня обрабатываются в Workflow Manager следующим образом: Результирующее разрешение в djvu-файле в зависимости от профиля tif-файл jpg-файл разрешение изображения 300 600
SCANNED 300 300 600
SCANNED 600 300 600
SCANNED 300 300 300
SCANNED 600 600 600
То есть, если разрешение изображения и "разрешение профиля" отличаются, то для файлов tif в djvu-файл прописывается разрешение изображения, а для файлов jpg - разрешение профиля. (Так же себя ведут и другие профили, не только SCANNED). То есть Workflow Manager как бы "не видит" информацию о разрешении в файлах JPG. Djvu Editor, кстати, будет для JPG брать разрешение изображения, как если бы стоял дефолтный "0" и/или как если бы он "видел" разрешение. Соответственно один из способов борьбы с этим явлением заключается в замене при создании "своих" профилей отрицательных значений параметра "Dots Per Inch" на положительные, или вообще их изменении. Другие способы: переконвертировать исходники в другой формат; изменить номинальное разрешение исходников. 4) проверка файла конфигурации после создания профиля Несколько раз я наблюдал следующую картину: когда на основе одного профиля начинал создаваться новый, а затем выбиралась другая основа, то не все значения параметров изменялись. Неизвестно, насколько эти ошибки интерфейса передались бы в новый профиль. Однако, после этого я стал время от времени при наличии сомнений просматривать, что же всё-таки записалось в файл конфигурации (documenttodjvu.conf). 59
В) ОБРАБОТКА ИЗОБРАЖЕНИЙ ДЛЯ ЦЕЛЕЙ DjVu-КОДИРОВАНИЯ При предварительной обработке в графическом редакторе (таком как Scan Kromsator, Scan Tailor, Book Restorer, Photoshop) некоторые процедуры ориентированы именно на последующее djvu-кодирование, в том числе с целью уменьшения размера файла. 1) бинаризация Эффективное сжатие достигается только бинаризацией - созданием однослойного черно-белого djvu-файла. Но чтобы изначально отсканированный как серый или даже цветной файл сделать ч/б лучше пользоваться не средствами Document Express, а средствами специально ориентированного редактора, в котором есть адаптивная бинаризация, а также необходимые для получения хорошего результата процедуры ужирнения, сглаживания, цветокоррекции и т.д. Очистка сканов от мусора и спеклов снижает размер djvu. Точно также цветные графики имеет смысл перевести в 256 цветов и кодировать как двухслойные djvu-файлы. 2) сглаживание контуров букв Поскольку при формировании jb2-словаря выявляются похожие символы, то размер djvu-файла зависит от схожести одинаковых букв. Чтобы добиться этой одинаковости буквы желательно сгладить. 3) размытие рисунков Отсканированные рисунки и фотографии обычно представляет собой набор точек (типографский растр), который с одной стороны плохо сжимается. С другой - из-за наличия краев многие точки могут быть сегментированы в слой маски и тогда картинки пойдут "пятнами" и "волнами". Размытие документа (blur) как бы сглаживает разрывы между этими точками, делает фон непрерывным. В Photoshop целесообразно применять Gaussian Blur и Noise Ninja. В Scan Kromsator - Inverse Dithering. Сам по себе фильтр blur часто помогает спасти исчезающие у тонких букв перемычки. 4) вставка обложки Очень часто обложка сканируется с другим разрешением и обрабатывается (поскольку в ней нет полей) отдельно от собственно книги. В этом случае я вырезал прямоугольник с обложкой и в графическом редакторе делал ресэмплинг, изменяя его пропорции и размеры, так чтобы они соответствовали размеру страниц остальной книги. Это можно сделать двумя способами: а) задать пиксельные размеры (с тем же разрешением, что и у всех страниц), чтобы кодировать с увеличенным субсэмплингом (нестандартным профилем) в Workflow Manager; б) задать в долях миллиметра физические размеры с меньшим разрешением, чтобы кодировать стандартным профилем, просто вставив картинку с обложкой в Djvu Editor. Так делать проще, но хуже.
60