JPEG vs. DjVu
Мне кажется, формат DjVu получает незаслужено мало внимания. Те, кому надо хранить документы, делают это, чаще всего, в JPEG или TIFF (а то и в PNG), а об DjVu вообще мало кто слышал. Я взял первый попавшийся в поиске документ, чтобы проиллюстрировать всю мощь формата.
Картинку я уменьшил (до 636 по ширине) и сконвертировал в два формата. Слева на картинке JPEG, справа DjVu. Картинка в JPEG занимает 85КБ (качество — 85%, сжато jpegtran), в DjVu — 13КБ (качество — «normal», сжималось any2djvu). Выигрыш в 6,5 раз при сходном качестве.
За счёт чего достигается такой результат?
Дело в том, что JPEG — формат общего назначения, он ничего не знает о том какое изображение хранит, DjVu придумывался специально под текстовые документы и знает — внутри него, в основном, чёрно-белый текст (возможно с фоном) и вкрапления иллюстраций.
Поэтому обрабатываемое изображение разделяется на три слоя: фон, передний план и маску. По сути, изображение разделяется на две части: то, что будет сохранено с низкой детализацией (иллюстрации и фон) и то, что с высокой детализацией (текст). Маска нужна, чтобы при просмотре наложить одно на другое. Обе части сжимаются вейвлет-преобразованием, но с разным качеством, а маска (она однобитная) сжимается алгоритмом JB2.
Эффективность сжатия DjVu сильно зависит от того есть ли на картинке задний фон, если его нет и изображение только чёрно-белое, то размер отсканированной страницы в разрешении 600dpi (говорит нам Википедия) — всего 15КБ!
Один из моментов, которые подвели дежа вю — основным, едва ли не единственным, софтом долго был жутко кривой вариант от LizardTech. Он пытался становиться как плагин в броузер. Надо признать, изредка ему это даже удавалось.
Если бы была нормальная поддержка формата... По крайней мере в Федоре и Убунте, дежа вю открывается без проблем — а вот разумного варианта под win, окромя WinDjVu нету. Но поддержка одним человеком — это не то что нужно для формата.
Опять таки, в узких кругах качающих техническую литературу формат известен очень широко..
На полноразмерный результат посмотреть бы. А то двухцветный (ч/б) GIF размером 636х875 у меня ужался в ~15кб, но качество с «половинкой» сравнивать нет смысла. Сравнил с тем, что выдаёт http://any2djvu.djvuzone.org/ — в-общем, сложно сказать что лучше...
Мой GIF вариант — http://pics.livejournal.com/dibr/pic/001a6e11
Кроме «жутко кривого вариантв от LizardTech», проблемы с плохой распространённостью были связаны с лицензированием, небесплатностью.
В качестве комплимента этому формату могу сказать, что на практике я использую только 4 архиватора:
7-zip.org
DjVu
RAR
UPX
Можно получить большой выигрыш в размере фотоальбома, если хранить кучу фоток не в виде кучи фоток, а как страницы одного .djvu. Т. к. фотки и так сжимаются с потерями (JPEG), то не страшно (мне).
В своё время устал искать прогу, теперь беру свежую отсюда
http://sourceforge.net/projects/djvu/
Комментарий для dibr.livejournal.com:
Ссылки будут жить 10 дней.
Вот в «normal»: http://zalil.ru/31451149 (только я забыл текстовый слой вырубить, но на отображение это не влияет)
Вот в «loseless»: http://zalil.ru/31451160
Вот 600dpi loseless: http://zalil.ru/31451162
Комментарий для indeec17:
winDjVu пользую уже давно — но вопрос насколько хорош в долгосрочной перспективе _формат_, который поддерживается в основном на sourceforge.
PDF тоже в те годы для записи не был сильно бесплатным; но тем не менее распространился только так. Не в последнюю очередь, наверное, из-за акробата, который был _везде_. Безглючностью он тоже не отличался, но ситуаций когда бы я не смог прочесть файл у меня не было.
Но стоп — это же не «636 пикселей по ширине» («Картинку я уменьшил (до 636 по ширине) и сконвертировал в два формата»), это явно сделано непосредственно из оригинала, 1275 пикселей шириной! Не зря я попросил показать поближе :-) Могу показать увеличенные («с пикселями») скриншоты оригинала, уменьшения до 636px (без компрессии), и этого djvu — там хорошо видно, где сколько «пикселей» :-)
А при попытке пережать в b/w gif оригинал (1275 пикселей шириной), у меня получается около 40кб, что, конечно, уже никак соревноваться с djvu не может. Качество при этом практически неотличимое от djvu (с точностью до того уровня, по которому grayscale переводилось в bitmap).
Комментарий для kalvado.livejournal.com:
Ну, это открытый формат, где он ещё должен поддерживаться?
Комментарий для dibr.livejournal.com:
Так, Дим, ты меня запутал вообще :) Расскажи другими словами что ты хочешь сказать :)
Комментарий для dibr.livejournal.com:
Вот оно что. У меня сейчас уже нет сил всё сжимать заново. Можешь сказать сколько занимают 636px, чтобы я в статье поправил?
Где-то я читал (хотя могу и ошибаться), что DjVu, как формат для сканированного текста, похожие символы кодирует одной последовательностью — все равно они обозначают одну и ту же букву.
Обратите внимание на попиксельное совпадение трех букв «у» в «гражданскому, уголовному» и второй-третьей букв «о» в «уголовному». Сомнительно, что в сканированном изображении они были настолько одинаковы.
Точно: «Особенностью алгоритма JB2 является то, что он ищет на странице повторяющиеся символы и сохраняет их изображение только один раз.» (Вики)
Так у меня-то сжималки в djvu нет, я потому и просил «показать результат». А при сжатии мной уменьшенной картинки через сайт ( http://any2djvu.djvuzone.org ) почему-то получается больше, чем сжатая тобой неуменьшенная, качество при этом весьма страдает — видимо, нужна нормальная локальная сжималка и правильная её настройка, а мне искать и ставить лениво.
Я лучше скажу, что утрамбовать оригинал в jpeg фотошопом мне удалось только до 115кб, через save for web с минимальным качеством (качество при этом удовлетворительное). Image alchemy позволило утрамбовать сильнее, но меньше ~100кб качество разрушается уже стремительно. То есть разница «почти на порядок» с jpeg сохраняется и в этом случае, ну, и есть разница с GIF примерно в три раза (при почти идентичном качестве).
В универе все лекции конвертили и выкладывали в DJVu, выигрыш в месте и скорости скачивания — колоссальный.
А вот вопрос нетривиальный. Насколько коммерческий человек должен на такой формат полагаться? Открытые проекты хороши, когда они уже набрали критическую массу.
В общем обычное дело -пока формат не станетпопулярным, популярным он статьне может.
Сугубое ИМХО — если расскажете почему я не прав, скажу спасибо..
У DJVu сложилась очень мерзкая репутация, по крайней мере в моих глазах. Одно время, да и сейчас по-моему, в нём очень много выкладывали «электронных книг», которые состояли просто из набора картинок. Пользоваться этим трэшем было решительно невозможно, в отличие от нормального распознанного PDF. Меня до сих пор тошнит когда я слышу это слово :(
Ну много чего в другом формате еще долго не будет — по крайней мере того что мне надо из старого; тот же ландавшиц. Новые утекают сразу в хороших ПДФах, да. А старые сканированные нераспознанные ПДФ-ки немногим лучше дежавю.
Но для меня честно говоря лучше так, чем шкаф книг..
Промежуточный формат времени перехода на 100% электронные документы
Комментарий для uznick.livejournal.com:
DjVu и есть набор картинок. Это, по сути, формат графики.
Книги в этом формате делают потому, что либо нет времени прогонять через OCR, либо распознавать плохо получается (источник в пятнах, к примеру), либо важно сохранить внешний вид (исторический документ как пример).
Комментарий для dibr.livejournal.com:
Ну, в обще править не буду :) Разрыв сохраняется и ладно, а конкретные цифры на отдельном документе не очень важны — на другом другие будут.
Так вроде как у PDF есть аналогичный формат сжатия слоями. Вон свидетельство о рождении Обамы как раз так отсканировано и сохранено. Совсем недавно обсуждали и разбирали на Ютюбе и Хабре.
Комментарий для rodem:
http://djvu.org/resources/whatisdjvu.php
Комментарий для Евгения Степанищева:
Это хорошо, но PDF стандарт, а DjVu кто такой?
Если только какой-нибудь гигант, типа Гугла/IBM не решит его продвигать. Хотя у Гугла вон WebM есть, можно с ним уже DjVu сравнивать.
То и появляется вопрос: кому он нужен сейчас и где он будет через 10 лет?
Комментарий для rodem:
Формат. Как GIF, например, который в каждом браузере.
Зачем? Я не вижу причин не пользоваться форматом, который не стандартизирован каким-нибудь ISO. DjVu жизнь стандартизировала.
Нельзя сравнивать специализированный формат и формат общего назначения, последний заведомо проиграет.
Вы какой-то странный вопрос ставите. Что значит «где формат будет через 10 лет»? Там же будет. Что с ним сделается за это время? Появятся новый стандарт? Ну и что? Старый от этого потеряет какие-то свои качества? Нужен он сейчас тем, кто хранит много документов, например, рукописных или исторических.
Комментарий для Евгения Степанищева:
Что не мешает внедрять в него OCR-слой.
Комментарий для mr-simm.livejournal.com:
Не мешает, конечно. Но в DjVu не бывает текста без картинки, но бывает картинка без текста.
Вот уж кто получает незаслуженно мало внимания, так это LuraDocument.
Комментарий для stacmv@ya.ru:
Зачем сравнивать бесплатное и открытое с платным и закрытым?