Главная страница «Первого сентября»Главная страница журнала «Информатика»Содержание №3/2008


Предлагаю коллегам

Архиватор Интернета, или Что такое DjVu

Дежавю' (фр. deRja vu — уже виденное) — состояние психики, при котором человек ощущает, что он когда-то уже был в подобной ситуации, однако это чувство не связывается с определенным моментом прошлого, а относится к “прошлому вообще”. Дежавю обычно сопровождается ощущением странности и нереальности происходящего. Некоторые к тому же “чувствуют до мелочей”, что произойдет в ближайшие несколько минут (deja prevu). Они бывают уверены в том, что способны предвидеть будущее.

Кадр из фильма “Дежа вю”, в главной роли — польский актер Ежи Штур.

Термин впервые был использован французским психологом Эмилем Буараком в книге L’Avenir des sciences psychiques (Психология будущего).

Заставка голливудского блокбастера “Дежа вю”, в главной роли — Дензел Вашингтон

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

Так о чем же эта статья? За последние пять лет Интернет стал общепризнанным каналом распространения разнообразной текстовой и графической информации. Электронные газеты и журналы стали столь же обычными, как и традиционные. Многие издания и каталоги выходят в электронном виде раньше, чем на бумаге. Этому способствует повсеместное внедрение верстки на компьютере и использование формата PDF фирмы Adobe, ставшего стандартом “де-факто”.

Идея переноса документов из книг и журналов на просторы Сети не так уж нова. Но задумайтесь, сколько занимает отсканированный документ, сохраненный в формате TIFF (напомним, что графика в этом формате сохраняется без потери качества). В среднем файл с качеством порядка 300 dpi может занимать до 25–30 Мб!

Поэтому самым распространенным форматом сохранения растровых данных в Интернете стал JPEG. Этот формат позволяет достаточно прогрессивно сжимать данные. Сравните: 25 Мб у TIFF и 600 Кб JPEG. Такой размер более или менее подходит для транспортировки по Сети в условиях хорошего и стабильного соединения. Единственная проблема: удерживание приемлемого качества изображения — система компрессии данных приводит к потере информации, которую считает “лишней”. Мы видим ужасные искажения, резкие цветовые переходы размыты, о первоначальном качестве можно забыть.

Многие прочили большое будущее детищу Adobe под названием PDF. В настоящее время большинство компаний выкладывает документацию о своих продуктах именно в этом формате. Успеху способствует использование объектов ActiveX, позволяющих запускать Acrobat Reader прямо в окне Internet Explorer. К сожалению, PDF также излишне прожорлив: размер файла в основном превышает 100 Кб.

Менее признанным, а значит, менее популярным является формат сжатия данных для факсимильных аппаратов. Он позволяет неплохо сжимать данные, хотя и с заметными потерями в качестве. Правда, от факсов никогда не требовалось идеального совпадения с оригиналом.

Что же касается архивации графических файлов с возможностью последующей их пересылки по Сети, которая используется как альтернатива PDF-формату, то любая закачка архивных файлов графики, особенно технических, — это кот в мешке. Прежде чем этот файл можно просмотреть, его необходимо скачать. До разархивации файла нельзя наверняка сказать — это то, что было необходимо, или же это совершенно другой файл. Может не устроить качество изображения или полнота материала, не говоря уже об объеме и потраченном времени на скачивание. В случае каталогов — часто приходится скачивать его весь, вместо того чтобы получить информацию об одном конкретном товаре.

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

Новый графический формат DjVu (произносится “Дежавю”), разработанный фирмой AT&T, в первую очередь предназначен для размещения в Интернете отсканированных изображений. Это могут быть справочные книги, рукописи, принципиальные схемы телевизоров, радиоприемников, усилителей и других устройств. Например, архив журнала “Квант” за все годы его существования представлен на сайте mccme.ru именно в этом формате.

Технология DjVu обеспечивает для файлов с черно-белыми монохромными изображениями сжатие порядка 500:1. Выигрыш в размере файла по сравнению с форматом GIF составляет в среднем 20 раз. Суть технологии DjVu заключается в автоматическом разбиении изображения на несколько участков (например, текст, логотип фирмы и растровая фотография), для каждого из которых выбирается оптимальный для данного графического образа алгоритм сжатия. Право на коммерческое использование технологии DjVu имеет компания LizardTech.

Новая технология сжатия позволяет решить проблему публикации в Интернете радиосхем, чертежей, графиков, которые раньше имели слишком большое время загрузки. Для того чтобы иметь возможность просматривать радиосхемы в новом формате, необходимо установить специальный plug-in, который имеет размер немногим меньше девятисот килобайт. При этом сделан он очень интересно. Дело в том, что в отличие от обычных программ-просмотрщиков DjVu расшифровывает сжатый файл не полностью, а только ту его часть, которую в данный момент демонстрирует. Это позволяет просматривать файлы огромного размера и разрешения даже на очень слабых компьютерах.

Демонстрировать изображения plug-in может постепенно — по мере скачивания: в течение пары секунд можно полностью увидеть макет страницы, еще через пару секунд можно прочитать текст, еще через некоторое время появляются картинки.

Конечно, web-сервер делает вроде то же самое — сначала появляется текст, потом постепенно картинки, но то, что мы увидим с помощью DjVu, это настоящая графика, а не комбинация распознанного текста и картинок!

Формат DjVu позволяет быстро просмотреть материал в открытом виде, и уже потом решить, стоит ли его сохранять. Сразу можно оценить содержание материала, ограничившись просто его просмотром, не сохраняя файл на своем компьютере. Страница формата А4 черно-белой графики с текстом занимает в формате DjVu около 30 Кб, а в цвете около 60 Кб!

Если же сравнить DjVu с популярным PDF-форматом, то и здесь есть преимущества — обычно у пользователей установлен только Acrobat Reader. Загрузка файла в Reader возможна только для просмотра, без его частичного сохранения, поскольку возможность “сохранить объект как...” доступна только после полного скачивания, что не очень удобно. В DjVu это совмещено — при использовании бесплатного plug-inRа к браузеру (http://www.lizardtech.com/) можно сначала посмотреть файл, а уже потом, щелкнув правой кнопкой мыши, сохранить его при надобности.

В качестве примера рассмотрим пару изображений. Первое — полностью графическое (см. рис. 1).

Рис. 1. Ох, нелегкое дело — учеба

Исходное изображение в формате JPEG (A3, 300 dpi, максимальное качество) занимает 6,6 Мб. Для перевода его в формат DjVu потребуется бесплатная программа DjVu Solo, которая настолько проста, что даже не требует перевода на русский язык (хотя русская локализация имеется).

После сохранения в этом формате портрет занимает, как и было обещано, примерно 170 Кб. Заметим, что это соответствует минимальному качеству сохранения в формате JPEG. Осталось только повторно открыть файл программой DjVu Solo, сохранить файл в приемлемом для стандартного графического редактора формате (предлагается экспорт в формат BMP) и сравнить минимальное качество JPEG c качеством DjVu.

Рис. 2. Окно программы DjVu Solo

Итоги эксперимента — на рис. 3, 4 и 5. Скажем прямо — на первый взгляд качество DjVu кажется значительно лучшим, чем качество сильно сжатого JPEG, и чуть ли не таким же, как и качество исходного файла. Но, как известно, чудес не бывает, и только в голливудских блокбастерах картинка формата 320 ґ 200 (пикселей, разумеется) с помощью чудо-компьютеров за пару дней (часов, минут, секунд — по выбору сценариста) превращается в качественное фото размером A4 (A3, A2, A1, A0 — по выбору сценариста). При увеличении (см. рис. 4) видно (надеемся, даже в газетном варианте), что в формате DjVu произошла потеря четкости (“замыленность” на языке фотографов) и практически полное исчезновение фактуры кожи. Что же касается формата JPEG — результат просто плачевный (см. рис. 5). Отчетливо видны пикселизация (квадратные области одного цвета) и jpeg-артефакты (например, непонятно откуда взявшаяся полоска в области носа). После специальной обработки эти дефекты можно немного исправить, но все равно это будет заметно хуже исходного фото в формате DjVu.

Рис. 3. Исходный фрагмент

Рис. 4. DjVu-изображение

Рис. 5.
JPEG практически того же размера, что и DjVu

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

При обработке даже не отсканированной, а переснятой фотоаппаратом (!) странички журнала получается в меру качественная копия со вполне читаемым текстом. Размер полноцветной странички формата А4 — примерно 80 Кб (см. рис. 6 на с. 5).

Итак, в отличие от PDF DjVu-формат чисто растровый, такой же, как и хорошо известные GIF и JPEG.

Как и JPEG, DjVu упаковывает графические данные с некоторой потерей информации, однако качество изображения при этом снижается не столь значительно, а показатель сжатия может составлять до 300:1. Компрессор DjVu отделяет текстовые области от полутоновой графики и применяет различные алгоритмы при их обработке, причем волновое преобразование (wavelet transform) — это принципиально новый способ обработки фотоизображений, значительно перекрывающий по показателям старый добрый JPEG.

Каждая картинка подвергается некоторым преобразованиям, призванным сократить размер файла. Прежде всего она разделяется на несколько слоев, из которых можно затем ее реконструировать. А чаще всего деление происходит на подложку, маску и передний план. Для этого используется довольно простой алгоритм: растровый файл просматривается пиксель за пикселем. Все светлые точки автоматически причисляются к фону, темные — к маске или переднему плану. Все пиксели, выводимые на экран, получают цвет на базе логических вычислений, построенных на значениях соответствующих цветов из всех слоев. Такое разделение помогает наиболее эффективно сжимать графику.

В общем и целом DjVu — это великолепная технология хранения больших отсканированных изображений. Для создания архива или хранилища схем лучше DjVu, пожалуй, ничего и придумать нельзя. Правда, только в том случае, когда к сканируемому тексту невозможно или нецелесообразно применять алгоритмы распознавания. Впрочем, используя DjVu Solo, можно получить полноценное графическое изображение в формате BMP и потом попытаться его распознать.

DjVu позиционируется как конкурент PDF и пропагандируется, к примеру, для публикации научных статей в Интернете. В данном контексте технология DjVu работает гораздо хуже: невозможность скопировать хотя бы малый фрагмент текста сильно связывает руки читателю. Кроме того, качество отрисовки букв в DjVu заметно ниже, чем в PDF, а это быстро и сильно утомляет зрение и вновь вынуждает прибегать к печати.

Уникальной особенностью формата DjVu является чрезвычайная компактность при хранении изображений в высоком разрешении (300 dpi и выше). Один мегабайт — это до двадцати страниц, пригодных для распечатывания на лазерном принтере. Кроме того, этот формат оптимизирован для передачи по сети таким образом, что страницу можно просматривать еще до завершения скачивания.

Из-за прогрессивных возможностей сжатия данных и онлайнового декодирования содержимого многие аналитики прогнозируют, что в будущем данная технология может заменить HTML (пока он лишь plag-in, надстройка). Теоретически сайт на базе DjVu может быть намного меньше сегодняшних аналогов, даже если те используют только форматированный текст, лишенный графики (разумеется, почти никто уже не создает сайты, вручную кодируя на HTML, а любая автоматизация серьезно увеличивает объем).

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

Следует помнить, что алгоритмы, заложенные в DjVu, оптимизированы для изображений, отсканированных с высоким разрешением. Если у вас есть картинка 320 ґ 200 или 800 ґ 600, то вас вполне удовлетворит JPEG или GIF. Оптимальными для сжатия DjVu являются картинки, отсканированные с качеством 300 dpi и выше.

Рис. 6. Страница журнала после обработки программой DjVu Solo

Литература

1. Вирт Н. Преподавание информатики: потерянная дорога. // Информатика, № 23, 2007.

2. Жилин С.А., Жилина И.Б. Малые компонентные среды и языки программирования в школьном информационном образовании // Информатика и образование, № 7, 2006.

3. Электронный ресурс: http://www.inr.ac.ru/~info21

Ал. Ив. Сенокосов

TopList