JPEG vs. DjVu

Мне кажется, формат DjVu получает незаслужено мало внимания. Те, кому надо хранить документы, делают это, чаще всего, в JPEG или TIFF (а то и в PNG), а об DjVu вообще мало кто слышал. Я взял первый попавшийся в поиске документ, чтобы проиллюстрировать всю мощь формата.

JPEG vs. DjVu (69.42КиБ)

Картинку я уменьшил (до 636 по ширине) и сконвертировал в два формата. Слева на картинке JPEG, справа DjVu. Картинка в JPEG занимает 85КБ (качество — 85%, сжато jpegtran), в DjVu — 13КБ (качество — «normal», сжималось any2djvu). Выигрыш в 6,5 раз при сходном качестве.

За счёт чего достигается такой результат?

Дело в том, что JPEG — формат общего назначения, он ничего не знает о том какое изображение хранит, DjVu придумывался специально под текстовые документы и знает — внутри него, в основном, чёрно-белый текст (возможно с фоном) и вкрапления иллюстраций.

Поэтому обрабатываемое изображение разделяется на три слоя: фон, передний план и маску. По сути, изображение разделяется на две части: то, что будет сохранено с низкой детализацией (иллюстрации и фон) и то, что с высокой детализацией (текст). Маска нужна, чтобы при просмотре наложить одно на другое. Обе части сжимаются вейвлет-преобразованием, но с разным качеством, а маска (она однобитная) сжимается алгоритмом JB2.

Эффективность сжатия DjVu сильно зависит от того есть ли на картинке задний фон, если его нет и изображение только чёрно-белое, то размер отсканированной страницы в разрешении 600dpi (говорит нам Википедия) — всего 15КБ!
21 июля 2011 14:40

Внутреннее Коралио (kalvado.livejournal.com)
21 июля 2011, 18:50

Один из моментов, которые подвели дежа вю - основным, едва ли не единственным, софтом долго был жутко кривой вариант от LizardTech. Он пытался становиться как плагин в броузер. Надо признать, изредка ему это даже удавалось.
Если бы была нормальная поддержка формата... По крайней мере в Федоре и Убунте, дежа вю открывается без проблем - а вот разумного варианта под win, окромя WinDjVu нету. Но поддержка одним человеком - это не то что нужно для формата.
Опять таки, в узких кругах качающих техническую литературу формат известен очень широко..

Дмитрий Радищев (dibr.livejournal.com)
21 июля 2011, 18:59

в DjVu — 13КБ
На полноразмерный результат посмотреть бы. А то двухцветный (ч/б) GIF размером 636х875 у меня ужался в ~15кб, но качество с "половинкой" сравнивать нет смысла. Сравнил с тем, что выдаёт http://any2djvu.djvuzone.org/ - в-общем, сложно сказать что лучше...
Мой GIF вариант - http://pics.livejournal.com/dibr/pic/001a6e11

indeec17 (инкогнито)
21 июля 2011, 19:34

Кроме "жутко кривого вариантв от LizardTech", проблемы с плохой распространённостью были связаны с лицензированием, небесплатностью.
В качестве комплимента этому формату могу сказать, что на практике я использую только 4 архиватора:
7-zip.org
DjVu
RAR
UPX
Можно получить большой выигрыш в размере фотоальбома, если хранить кучу фоток не в виде кучи фоток, а как страницы одного .djvu. Т.к. фотки и так сжимаются с потерями (JPEG), то не страшно (мне).
В своё время устал искать прогу, теперь беру свежую отсюда
http://sourceforge.net/projects/djvu/

bolk (bolknote.ru)
21 июля 2011, 20:01, ответ предназначен Дмитрий Радищев (dibr.livejournal.com):

На полноразмерный результат посмотреть бы.
Ссылки будут жить 10 дней.

Вот в «normal»: http://zalil.ru/31451149 (только я забыл текстовый слой вырубить, но на отображение это не влияет)
Вот в «loseless»: http://zalil.ru/31451160
Вот 600dpi loseless: http://zalil.ru/31451162

Внутреннее Коралио (kalvado.livejournal.com)
21 июля 2011, 20:30, ответ предназначен indeec17

winDjVu пользую уже давно - но вопрос насколько хорош в долгосрочной перспективе _формат_, который поддерживается в основном на sourceforge.
PDF тоже в те годы для записи не был сильно бесплатным; но тем не менее распространился только так. Не в последнюю очередь, наверное, из-за акробата, который был _везде_. Безглючностью он тоже не отличался, но ситуаций когда бы я не смог прочесть файл у меня не было.

Дмитрий Радищев (dibr.livejournal.com)
21 июля 2011, 20:33

Вот в «normal»: http://zalil.ru/31451149
Но стоп - это же не "636 пикселей по ширине" ("Картинку я уменьшил (до 636 по ширине) и сконвертировал в два формата"), это явно сделано непосредственно из оригинала, 1275 пикселей шириной! Не зря я попросил показать поближе :-) Могу показать увеличенные ("с пикселями") скриншоты оригинала, уменьшения до 636px (без компрессии), и этого djvu - там хорошо видно, где сколько "пикселей" :-)

А при попытке пережать в b/w gif оригинал (1275 пикселей шириной), у меня получается около 40кб, что, конечно, уже никак соревноваться с djvu не может. Качество при этом практически неотличимое от djvu (с точностью до того уровня, по которому grayscale переводилось в bitmap).

bolk (bolknote.ru)
21 июля 2011, 21:00, ответ предназначен Внутреннее Коралио (kalvado.livejournal.com):

winDjVu пользую уже давно - но вопрос насколько хорош в долгосрочной перспективе *формат*, который поддерживается в основном на sourceforge.
Ну, это открытый формат, где он ещё должен поддерживаться?

bolk (bolknote.ru)
21 июля 2011, 21:03, ответ предназначен Дмитрий Радищев (dibr.livejournal.com):

Так, Дим, ты меня запутал вообще :) Расскажи другими словами что ты хочешь сказать :)

Дмитрий Радищев (dibr.livejournal.com)
21 июля 2011, 21:16

Так, Дим, ты меня запутал вообще :) Расскажи другими словами что ты хочешь сказать :)
1. В посте ошибка: до 13кб сжималась, судя по всему, не уменьшенная версия (636px), а оригинал (1257px). Могу доказать с картинками :-)
2. С учётом этой поправки, GIF с конкурса снимается: результат в GIF намного больше результата в DJVU. Без учета поправки результаты были бы близкими - 15кб против 13кб.

bolk (bolknote.ru)
21 июля 2011, 21:48, ответ предназначен Дмитрий Радищев (dibr.livejournal.com):

В посте ошибка: до 13кб сжималась, судя по всему, не уменьшенная версия (636px), а оригинал (1257px). Могу доказать с картинками :-)
Вот оно что. У меня сейчас уже нет сил всё сжимать заново. Можешь сказать сколько занимают 636px, чтобы я в статье поправил?

kovsky.net (инкогнито)
21 июля 2011, 21:49

Где-то я читал (хотя могу и ошибаться), что DjVu, как формат для сканированного текста, похожие символы кодирует одной последовательностью — все равно они обозначают одну и ту же букву.
Обратите внимание на попиксельное совпадение трех букв «у» в «гражданскому, уголовному» и второй-третьей букв «о» в «уголовному». Сомнительно, что в сканированном изображении они были настолько одинаковы.

kovsky.net (инкогнито)
21 июля 2011, 22:06

Точно: «Особенностью алгоритма JB2 является то, что он ищет на странице повторяющиеся символы и сохраняет их изображение только один раз.» (Вики)

Дмитрий Радищев (dibr.livejournal.com)
21 июля 2011, 22:29

У меня сейчас уже нет сил всё сжимать заново. Можешь сказать сколько занимают 636px, чтобы я в статье поправил?
Так у меня-то сжималки в djvu нет, я потому и просил "показать результат". А при сжатии мной уменьшенной картинки через сайт (http://any2djvu.djvuzone.org) почему-то получается больше, чем сжатая тобой неуменьшенная, качество при этом весьма страдает - видимо, нужна нормальная локальная сжималка и правильная её настройка, а мне искать и ставить лениво.

Я лучше скажу, что утрамбовать оригинал в jpeg фотошопом мне удалось только до 115кб, через save for web с минимальным качеством (качество при этом удовлетворительное). Image alchemy позволило утрамбовать сильнее, но меньше ~100кб качество разрушается уже стремительно. То есть разница "почти на порядок" с jpeg сохраняется и в этом случае, ну, и есть разница с GIF примерно в три раза (при почти идентичном качестве).

doctor-lg (doctor-lg.ru)
21 июля 2011, 22:30

В универе все лекции конвертили и выкладывали в DJVu, выигрыш в месте и скорости скачивания - колоссальный.

Внутреннее Коралио (kalvado.livejournal.com)
21 июля 2011, 23:20

Ну, это открытый формат, где он ещё должен поддерживаться?
А вот вопрос нетривиальный. Насколько коммерческий человек должен на такой формат полагаться? Открытые проекты хороши, когда они уже набрали критическую массу.
В общем обычное дело -пока формат не станетпопулярным, популярным он статьне может.
Сугубое ИМХО - если расскажете почему я не прав, скажу спасибо..

Probably Built In The Fifties (uznick.livejournal.com)
21 июля 2011, 23:23

У DJVu сложилась очень мерзкая репутация, по крайней мере в моих глазах. Одно время, да и сейчас по-моему, в нём очень много выкладывали "электронных книг", которые состояли просто из набора картинок. Пользоваться этим трэшем было решительно невозможно, в отличие от нормального распознанного PDF. Меня до сих пор тошнит когда я слышу это слово :(

Внутреннее Коралио (kalvado.livejournal.com)
22 июля 2011, 01:15

Пользоваться этим трэшем было решительно невозможно, в отличие от нормального распознанного PDF.
Ну много чего в другом формате еще долго не будет - по крайней мере того что мне надо из старого; тот же ландавшиц. Новые утекают сразу в хороших ПДФах, да. А старые сканированные нераспознанные ПДФ-ки немногим лучше дежавю.
Но для меня честно говоря лучше так, чем шкаф книг..
 
Промежуточный формат времени перехода на 100% электронные документы

bolk (bolknote.ru)
22 июля 2011, 07:13, ответ предназначен uznick.livejournal.com:

У DJVu сложилась очень мерзкая репутация, по крайней мере в моих глазах. Одно время, да и сейчас по-моему, в нём очень много выкладывали «электронных книг», которые состояли просто из набора картинок.
DjVu и есть набор картинок. Это, по сути, формат графики.

Книги в этом формате делают потому, что либо нет времени прогонять через OCR, либо распознавать плохо получается (источник в пятнах, к примеру), либо важно сохранить внешний вид (исторический документ как пример).

bolk (bolknote.ru)
22 июля 2011, 07:29, ответ предназначен Дмитрий Радищев (dibr.livejournal.com):

Ну, в обще править не буду :) Разрыв сохраняется и ладно, а конкретные цифры на отдельном документе не очень важны — на другом другие будут.

rodem (инкогнито)
22 июля 2011, 10:29

Так вроде как у PDF есть аналогичный формат сжатия слоями. Вон свидетельство о рождении Обамы как раз так отсканировано и сохранено. Совсем недавно обсуждали и разбирали на Ютюбе и Хабре.

bolk (bolknote.ru)
22 июля 2011, 10:31, ответ предназначен rodem

http://djvu.org/resources/whatisdjvu.php
DjVu files are also about *3* *to* *8* times smaller than black and white PDF files produced from scanned documents (scanned documents in color are impractical in PDF).

rodem (инкогнито)
22 июля 2011, 10:59, ответ предназначен bolk (bolknote.ru):

Это хорошо, но PDF стандарт, а DjVu кто такой?
Если только какой-нибудь гигант, типа Гугла/IBM не решит его продвигать. Хотя у Гугла вон WebM есть, можно с ним уже DjVu сравнивать.
То и появляется вопрос: кому он нужен сейчас и где он будет через 10 лет?

bolk (bolknote.ru)
22 июля 2011, 12:16, ответ предназначен rodem

Это хорошо, но PDF стандарт, а DjVu кто такой?
Формат. Как GIF, например, который в каждом браузере.
Если только какой-нибудь гигант, типа Гугла/IBM не решит его продвигать.
Зачем? Я не вижу причин не пользоваться форматом, который не стандартизирован каким-нибудь ISO. DjVu жизнь стандартизировала.
Хотя у Гугла вон WebM есть, можно с ним уже DjVu сравнивать.
Нельзя сравнивать специализированный формат и формат общего назначения, последний заведомо проиграет.
То и появляется вопрос: кому он нужен сейчас и где он будет через 10 лет?
Вы какой-то странный вопрос ставите. Что значит «где формат будет через 10 лет»? Там же будет. Что с ним сделается за это время? Появятся новый стандарт? Ну и что? Старый от этого потеряет какие-то свои качества? Нужен он сейчас тем, кто хранит много документов, например, рукописных или исторических.

SiMM (mr-simm.livejournal.com)
22 июля 2011, 15:35, ответ предназначен bolk (bolknote.ru):

DjVu и есть набор картинок. Это, по сути, формат графики.
Что не мешает внедрять в него OCR-слой.

bolk (bolknote.ru)
22 июля 2011, 16:38, ответ предназначен SiMM (mr-simm.livejournal.com):

Не мешает, конечно. Но в DjVu не бывает текста без картинки, но бывает картинка без текста.

stacmv@ya.ru (инкогнито)
30 декабря 2011, 02:08

Вот уж кто получает незаслуженно мало внимания, так это LuraDocument.

bolk (bolknote.ru)
30 декабря 2011, 14:04, ответ предназначен stacmv@ya.ru

Зачем сравнивать бесплатное и открытое с платным и закрытым?

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)