В начале 70-х годов американский писатель Майкл Харт (Michael Hart) сумел получить неограниченный доступ к компьютеру Xerox Sigma 5, установленному в университете штата Иллинойс. Чтобы достойно использовать ресурсы машины, он решил создать первую электронную книгу, перепечатав Декларацию независимости США.

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


/ Flickr / Lane Pearman / CC

Возникновение формата


DjVu был разработан в 1996 году компанией AT&T Labs с одной целью — дать веб-разработчикам инструмент для распространения изображений в высоком разрешении через интернет.

Дело в том, что в то время 90% всей информации все еще хранилось на бумаге, а многие из важных документов имели цветные изображения и фотографии. Чтобы сохранить читаемость текста и качество картинок, приходилось делать сканы в высоком разрешении.

Классические веб-форматы — JPEG, GIF и PNG — позволяли работать с такими изображениями, но ценой объема. В случае JPEG, чтобы текст был читаем на экране монитора, приходилось сканировать документ с разрешением 300 dpi. Цветная страница журнала при этом занимала порядка 500 Кбайт. Скачивание файлов такого объема из интернета в то время было довольно трудоемким процессом.

Альтернативой было оцифровывание бумажных документов с помощью технологий распознавания текста, однако 20 лет назад их точность была далека от идеальной — после обработки финальный результат приходилось серьезно править вручную. При этом графики и изображения оставались «за бортом». И даже если удавалось встроить отсканированную картинку в текстовый документ, терялись некоторые визуальные детали, например, цвет бумаги, её текстура, а это важные компоненты исторических документов.

С целью решить эти проблемы AT&T и разработали DjVu. Он позволил сжимать отсканированные цветные документы с разрешением 300 dpi до 40–60 Кбайт, при размере оригинала в 25 Мбайт. Размеры чёрно-белых страниц DjVu уменьшил до 10–30 Кбайт.

Как DjVu сжимает документы


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

Маска сохраняется с разрешением исходного файла и содержит изображение текста и прочие чёткие детали — тонкие линии и схемы — а также контрастные картинки.

Она имеет разрешение 300 dpi, чтобы тонкие линии и контуры букв оставались четкими, и сжимается с помощью алгоритма JB2, который представляет собой вариацию алгоритма JBIG2, предложенного AT&T для работы факсов. Особенностью JB2 является то, что он ищет на странице повторяющиеся символы и сохраняет их изображение только один раз. Таким образом, в многостраничных документах каждые несколько последовательных страниц пользуются общим «словарём».

Задний план содержит текстуру страницы и иллюстрации, а его разрешение меньше, чем у маски. Фон без потерь для восприятия сохраняется с разрешением 100 dpi.

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

Заключительным этапом создания DjVu-документа становится энтропийное кодирование, когда адаптивный арифметический кодировщик превращает последовательности одинаковых символов в бинарное значение.

Достоинства формата


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

Это также дает возможность просматривать «недокачанные» файлы, то есть отдельные страницы многостраничного DjVu-документа. При этом используется прогрессивная прорисовка деталей изображения, когда компоненты как бы «проявляются» по мере закачки файла (как в JPEG).

20 лет назад, когда был представлен этот формат, загрузка страницы происходила в три этапа: сперва грузилась текстовая составляющая, через пару секунд подгружались первые версии изображений и фон. Уже после «проявлялась» вся страница книги.

Наличие трёхуровневой структуры также позволяет осуществлять поиск по отсканированным книгам (так как есть специальный текстовый слой). Это оказалось удобно при работе с технической литературой и справочниками, поэтому DjVu стал основой для нескольких библиотек научных книг. Например, в 2002 году он был выбран Архивом Интернета в качестве одного из форматов (вместе с TIFF и PDF) для проекта по сохранению отсканированных книг из открытых источников.

Недостатки формата


Однако, как и все технологии, DjVu имеет свои минусы. Например, при кодировании сканов книг в формат DjVu некоторые символы в документе могут подменяться на другие, внешне похожие. Наиболее часто это происходит с буквами «и» и «н», отчего эта проблема получила название «проблема инь». Она не зависит от языка текста и влияет, в том числе, на цифры и другие мелкие повторяющиеся знаки.

Её причина — ошибки классификации символов в кодировщике JB2. Он «дробит» сканы на группы по 10–20 штук и формирует для каждой из групп словарь общих символов. Словарь содержит образцы общих букв и цифр со страницами и координатами их появления. Когда вы просматриваете DjVu-книгу, символы из словаря подставляются в нужные места.

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

Другим недостатком формата является то, что он не поддерживается по умолчанию во многих современных ОС (в том числе мобильных). Поэтому для работы с ним нужно ставить сторонние программы, такие как DjVuReader, WinDjView, Evince и др. Однако здесь хотелось бы отметить, что некоторые электронные читалки (например, ONYX BOOX) поддерживает формат DjVu «из коробки» — так как необходимые приложения там уже установлены.

Кстати, о том, что еще могут приложения для ридеров на базе Android, мы рассказывали в одном из предыдущих материалов.


Ридер ONYX BOOX Chronos

Еще одна проблема формата проявляется при работе с DjVu-документами на небольших экранах мобильных устройств — смартфонах, планшетах, ридерах. Иногда DjVu-файлы представлены в виде скана разворота книги, а профессиональная литература и рабочие документы часто имеют формат А4, поэтому приходится «двигать» изображение в поисках информации.

Однако отметим, что эта проблема также решаема. Проще всего, конечно, поискать документ в другом формате — но если такой вариант невозможен (например, вам нужно работать с большим количеством технической литературы в DjVu), то можно воспользоваться электронными читалками с большой диагональю от 9,7 до 13,3 дюйма, которые специально «заточены» под работу с подобными документами.

Например, в линейке ONYX BOOX такими устройствами являются Chronos и MAX 2 (кстати, мы подготовили обзор этой модели ридера, и в скором времени опубликуем его в нашем блоге), а также Note, который имеет экран E Ink Mobius Carta с диагональю 10,3 дюйма и повышенным разрешением. Такие устройства позволяют спокойно рассмотреть все детали иллюстраций в оригинальном размере и подойдут тем, кому часто приходится читать учебную или техническую литературу. Для просмотра файлов DjVu и PDF используется NEO Reader, который дает настраивать контраст и толщину оцифрованных шрифтов.

Несмотря на имеющиеся у формата недостатки, на сегодняшний день DjVu остается одним из самых популярных форматов для «сохранения» литературных произведений. Во многом это обусловлено тем, что он является открытым, а обойти его некоторые технологические ограничения сегодня позволяют современные технологии и разработки.

В следующих материалах мы продолжим рассказ об истории появления форматов электронных книг и особенностях их работы.



P.S. Несколько оборов ридеров ONYX BOOX:

Комментарии (57)


  1. Andy_Big
    07.04.2018 19:47
    -5

    Не люблю DjVu, никогда не загружаю документы или книги в этом формате. Ни оглавления нормального, ни поиска по тексту. Отдельные страницы в нем — нормально, многостраничные документы — изврат.


    1. DoctorMoriarty
      07.04.2018 20:34
      +9

      Ни оглавления нормального

      Это претензии к тем, кто оформлял документ. Держу в djvu кучу книг, потому что в pdf их банально нет и заметил, что уже несколько лет, как добавлять оглавление стало хорошим тоном на уважаемых трекерах.


      1. Andy_Big
        07.04.2018 20:48
        +5

        Возможно. Я в основном находил в DjVu техническую литературу и сколько ее видел — это всегда была просто куча отсканированных страниц.
        Художественную литературу я вообще предпочитаю в формате FB2 :)


        1. ShadowTheAge
          07.04.2018 23:40
          +1

          Формат в основном для сканов и разрабатывался — понятно что когда документ в электронном виде есть в виде текста то и формат используют другой

          А для человека (непрофессионала), который просто делает скан имеющейся у него книги альтернатива — PDF картинками или архив с jpg/tiff


    1. diversenok
      07.04.2018 21:03
      +5

      Это исключительно недоделка тех, кто выкладывал книгу. Текстовый слой и оглавление форматом-то поддерживается. В pdf тоже, знаете, иногда пихают просто набор jpeg-ов.


      1. Andy_Big
        07.04.2018 21:05

        Да, бывает такое и в PDF, но мой личный опыт говорит, что это редкость, как и в DjVu нормальный текст с оглавлением и поиском :)


        1. saege5b
          07.04.2018 21:18
          +2

          Журналы по 100-500 метров не редкость. А там всего по 80-200 страниц.
          Где-то на винте лежит недокачанный справочник на гиг с хвостиком.


          У джв проблема в том, что софта — раз-два и всё. И весь софт представляет собой унылое зрелище. Пока научишься правильно готовить, всё надоест раз сто.


          Кстати, уже давно пдф умеет тоже что джв.


          1. Andy_Big
            07.04.2018 22:04

            У джв проблема в том, что софта — раз-два и всё. И весь софт представляет собой унылое зрелище.

            И это тоже, да.


    1. Lord9999
      07.04.2018 23:40
      +1

      Поиск по тексту возможен, если внедрён текстовый слой. Т.е. это не проблема формата Djvu.


    1. Zenitchik
      08.04.2018 18:07

      Иными словами отказываетесь от нужной литературы, если её нет ни в каком другом формате. Оригинальный подход.


      1. Andy_Big
        08.04.2018 18:16

        Ищу другую подобную литературу. К счастью, ситуации когда нужная мне информация имеется в одной единственной публикации, доступной в одном единственно неудобном формате, исключительно редки.


        1. Zenitchik
          08.04.2018 19:29

          Вы живёте в тепличных условиях. Информация, которая требуется мне, как правило существует исключительно в виде галимого скана. А в DjVu он сохранён или в PDF — уже роли не играет.


          1. Andy_Big
            08.04.2018 19:53

            Сочувствую Вам :)


  1. aram_pakhchanian
    07.04.2018 20:16
    +2

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


    1. alan008
      07.04.2018 20:44

      Спецификация pdf слишком сложная, формат допускает слишком много всего — и видео внутри документа, и формы ввода и много всего прочего. Результатом этого является практическая невозможность корректно отобразить "произвольный" PDF своими силами. Полностью спецификацию поддерживают только программы от Adobe, т.к. Pdf это их изобретение.


      1. saege5b
        07.04.2018 21:34

        Не поддерживают они полную спецификацию.
        Банальный пнг с альфа-каналом в пдф не засунуть не постучав при этом в бубен.
        И вообще, вставка картинок там по свински организована. В своё время пришлось порыскать по инету, пока нарыл библиотеку которая умеет вставлять картинку одним куском (минимум накладных расходов, плюсом около 3 кб)
        С формами тоже начеку — в читалке текст вводится, но распечатать уже не получится.
        В новых форматах есть фишка — наложение элемента шрифта на картинку. Т.е в целях повышения резкости поверх растрового слоя кладётся текстовый слой. и это круто, до тех пор, пока OCR сделан без ошибок. А в случае проблем распознавания можно с удивлением узнать что растровый слой сохранён с чудесным разрешением 100 точек ( и это ещё за счастье).
        А правильно подобранные параметры кодирования, от которых 4ядерник с 8 гигами долго и вдумчиво листает страницу — это кривые руки, или такое чуство юмора, как и разрешение на печать с 50 — 80 точками.


      1. aram_pakhchanian
        07.04.2018 21:34
        +1

        PDF — это стандарт ISO. Полностью поддерживают его множество компаний, и многие отлично конкурируют с Adobe по качеству как создания, так и отображения PDF. Вокруг PDF построена громадная инфраструктура. DjVu не является стандартом, полностью его поддерживает только одна библиотека: DjVulib, и никто ничего не может сделать с файлом, если какая-то функция не поддержана этой библиотекой. Так что ситуация обстоит с точностью до наоборот. В современном мире важна не спецификация, а доступность технологий создания файла. Спецификация, кстати, достаточно простая, и написать корректный PDF совсем несложно даже вручную. Я не уверен, что кто-либо возьмется писать корректный DjVu без использования вышеупомянутой библиотеки.


        1. thousandsofthem
          08.04.2018 10:52
          +1

          PDF не является стандартом, в отличии от PDF/A (А — архивный). И как раз он не поддерживает всего разнообразия свистелок и перделок что адоб добавляет в очередной версии пдф


          1. aram_pakhchanian
            08.04.2018 13:03

            А как же это: www.iso.org/standard/51502.html?


        1. zartarn
          08.04.2018 13:12

          Готовить из сканов правильный PDF ничуть не легче чем DjVu, а в некоторых моментах и сложнее. например если делать автоматически CS, и где нибудь на белом фоне окажется точка — то почти всё уйдет в бэкграунд. Не хочу повторяться, если интересно, можете заглянуть в коменты к этой теме, там уже обсуждались и плюсы и минусы обеих сторон habrahabr.ru/post/351266


          1. aram_pakhchanian
            08.04.2018 15:34

            Готовить одинаково тяжело. Смотреть и работать с ним куда проще. Статья ведь об этом.


            1. zartarn
              08.04.2018 15:47

              А какие проблемы с смотреть и работать? на пк постоянно. Под андроид тоже софт был, причем даже выбор существовал. Тоже проблем не замечал. софт абсолютно одинаково работал что с PDF что с DJVU. На андроиде мне нравился Orion Viewer, но сейчас там еще больше выбора.

              ps.: даже родной адобовский акробат на ПК работает с PDF Тормознуто, иллюстрации прогружает с задержкой, в то врея когда на основе тех же сканов собраный DjVu — летает по всем фронтам без каких либо задержек и проблем.


            1. tmin10
              08.04.2018 16:50

              При копировании из PDF часто бывает, что текст разбит по куче строчек и его ещё приводить в должный вид надо. Причём это часто с изнчально электронны текстом бывает…


  1. mad_god
    07.04.2018 21:33
    +1

    на планшете win почти нечем открыть djvu, чтобы можно было листать в обе стороны и свайпать. Или я что-то делаю не так?
    Неужели трудно клик вверху и клик внизу обрабатывать по-разному? Или справа-слева? Свайп слева-направо и справа-налево?


    1. kAIST
      07.04.2018 22:59
      +1

      У меня ноутбук трансформер. Я вам скажу даже больше — под windows вообще редко кто предусматривает нормальную работу с тачскрином.


  1. Exchan-ge
    07.04.2018 22:29
    -2

    DjVu был разработан в 1996 году компанией AT&T Labs с одной целью — дать веб-разработчикам инструмент для распространения изображений в высоком разрешении через интернет.


    Времена изменились и Дежавю уже мертв.
    В любом случае предпочитаю PDF.
    Очень жаль тех людей, которые потратили огромное количество времени на сканирование оригиналов, сохраненных только в этом формате.


    1. dan939
      07.04.2018 23:38
      +2

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


    1. amarao
      08.04.2018 13:31

      Архивный формат не может быть «мёртвым» до тех пор, пока в нём есть информация, отсутствующая в других форматах. В сравнении с OCR в текстовый вид он менее удобен, но зато он сохраняет массу другой информации, которая теряется при OCR. И при этом он разумен по объёму.


      1. Zenitchik
        08.04.2018 18:11

        зато он сохраняет массу другой информации, которая теряется при OCR

        А кроме того — сохраняет оригинальную орфографию, без внесённых при OCR опечаток.


        1. SandroSmith
          09.04.2018 00:26

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


    1. Zenitchik
      08.04.2018 18:10
      +1

      Дежавю уже мертв.

      Вы из какого мира?


  1. Exchan-ge
    08.04.2018 01:07

    ерунда какаято. дежавю-лучший формат для книг в электронном виде


    Тут, выше, в статье — описаны основные недостатки формата.
    Хотя, в принципе одного: «он не поддерживается по умолчанию во многих современных ОС (в том числе мобильных)» — уже достаточно для вынесения приговора.

    Плюс у большинства сканов в дежавю совершено отвратительное качество текста.
    (Объективно этот параметр можно оценить с помощью ABBYY Screenshot Reader)


    1. Barafu
      08.04.2018 12:42

      А что, PDF поддерживается по-умолчанию в какой-то современной ОС? Ну, кроме *бунты?


      1. MrKarlKori
        08.04.2018 13:25

        Edge идёт вместе с windows 10, он читает pdf.


        1. Kobalt_x
          08.04.2018 14:46

          Кроме него с win8 есть просмотрщик в виде metro приложения


          1. Kobalt_x
            09.04.2018 11:37

            я имел в виду Reader если что, в win8/win8.1, в какой-то десятке вроде тоже он вроде шел из коробки www.microsoft.com/ru-ru/store/p/reader/9wzdncrfhwg5


      1. lizarge
        08.04.2018 14:13

        macos, ios, linux, chromeos, плюс везде где можно поставить браузер chrome.


  1. betrachtung
    08.04.2018 03:57

    На одном форуме когда-то натолкнулся на интересного персонажа, который утверждал, что художественную литературу надо читать только в формате DjVu, а EPUB и FB2 презрительно называл «распознанкой».
    Увы, мне так и не удалось выяснить у него преимущества — любые, пусть даже мнимые — DjVu перед «распознанкой» в случае с художественной литературой, и с тех пор меня так и гложет этот вопрос.


    1. Lord_Ahriman
      08.04.2018 08:26

      Рискну предположить, что дело в том, что часто те, кто делает FB2-версию, не утруждают себя вычиткой и коррекцией, а потому довольно часто там встречаются артефакты распознавания, в DJVU же обычно тупо пихают сканы.
      Кроме того, извечная проблема — разбивка на странице. Жене для диссертации как-то понадобилось использовать книгу XIX века, она существует в виде DJVU-сканов и в виде FB2. Пришлось пользоваться DJVU, потому что нужны были ссылки на конкретные страницы.


    1. omgiafs
      08.04.2018 08:36
      +3

      Это всё полумеры.
      Художку надо читать исключительно на бумаге (старой), сидя вечером в кресле-качалке под лампой с лампочкой с нитью накаливания, накрыв ноги пледом, попивая изредка тёплый глинтвейн. И чтоб рядом никого не было, кроме кота, свернувшегося калачиком в другом кресле недалеко от камина, в котором иногда потрескивают дрова, а за окном чуть слышно постукивает дождь по исключительно деревянному подоконнику.
      И никаких смартфонов и прочей современной гаджетухи в радиусе 5 метров от вас, а если и есть, то выключено или в тихом режиме.
      Всё остальное — издевательство.


      1. splav_asv
        08.04.2018 09:00
        +1

        Тоже полумеры — никаких ламп, только свечи и керосиновые фонари.


        1. Andy_Big
          08.04.2018 09:29
          +1

          Лучины же.


        1. 9660
          08.04.2018 10:37

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


          1. Ravebinovich
            08.04.2018 14:45

            Все эти ваши новомодные веяния не потеснят старые добрые надёжные глиняные таблички в душах настоящих эстетов.


            1. 9660
              08.04.2018 14:51

              Приличная книжка занимает пространство размерами с спортзал? :)


              1. Ravebinovich
                08.04.2018 14:57

                Это вы ещё нашу библиотеку не видели.


                1. sHaggY_caT
                  08.04.2018 16:12
                  +1

                  Ардуину использует для сортировки табличек? А есть прошивка на github'е?


                  1. alix_ginger
                    09.04.2018 09:32

                    Ардуина — это бездуховно. Только рабы


      1. DoctorMoriarty
        08.04.2018 13:11

        Художку надо читать исключительно (...)

        Из всего этого невкусовщиной являются только первые три слова, образующие отдельное безусловное высказывание:
        «Художку надо читать.»


  1. 9660
    08.04.2018 09:36
    -1

    однако 20 лет назад их точность была далека от идеальной — после обработки финальный результат приходилось серьезно править вручную

    Разве что-то изменилось?


  1. YouHim
    08.04.2018 13:34

    Djvu у меня ассоциируется только с электронными схемами. Когда в конце 90-х я вместо библиотек дорвался до интернета. До сих пор эта иконка перед глазами.


  1. RolexStrider
    08.04.2018 20:15

    Замечательный формат, но имел проблемы «с рождения» — там почти каждый параграф (открытой, таки!) спецификации покрыт как минимум двумя патентами. Так что на любую более-менее качественную его реализацию патентные тролли слетались как мухи на известный продукт жизнедеятельности.


    1. coturnix19
      08.04.2018 21:26

      В этом году как раз будет 20 лет как он появился (согласно вики — в 1998, хм, я думал что раньше)


  1. WP_Hedgehog
    08.04.2018 22:06

    Имею мнение, что лень (и жадность) компании Adobe, не позволила им “захватить Мир”. Да, Adobe Reader был доступен и бесплатен ещё со времён Windows 3.0… Однако, выпусти компания одновременно с ним простой PDF-принтер (типа сегодняшнего DoPDF) для всего спектра систем – подозреваю, такого “зоопарка форматов” мы бы сегодня не видели, кроме мест где нужен “мягкий”, “текучий” формат (в отличие от “жёсткого” PDF'а).


  1. andy_p
    09.04.2018 04:12

    Что-то здесь никто PostScript не упомянул, как альтернатива pdf.


    1. Zenitchik
      09.04.2018 11:48

      А чем он читается? Я до сих пор его в pdf печатал для просмотра.


      1. Kobalt_x
        09.04.2018 12:51

        GSView/Okular, ну и большинством opensource pdf просмотрщиков.