OCR форумы Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Всем привет!
Hi all!
 
  ГлавнаяСправкаПоискВходРегистрация Администратор Библиотека  
 
Страниц: 1 2 
Послать Тему Печать
Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu (Прочитано 17692 раз)
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #30 - 01.08.2019 :: 18:19:35
 
Я обновил файлы  *-multithread.rar
https://github.com/trufanov-nok/minidjvu_mod/releases/tag/perf_test

Благодаря AAW найдены и исправлены несколько ошибок при кодировании. Ускорена работа режима -C 3
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #31 - 15.08.2019 :: 23:05:07
 
Еще раз обновил файлы  *-multithread.rar
https://github.com/trufanov-nok/minidjvu_mod/releases/tag/perf_test

Исправлен серьезный баг.

Теперь у minidjvu_mod будут версии в форме AAmBB, где AA - версия модифицированного minidjvu, а BB - версия модификации. На практке это будут 0.9m1, 0.9m2 и т.д.

Также добавил 2 архива с GUI к утилите (аналог minidjvu Plus), написанном на Qt. Они для 64 и 32 бит, но 32-х битный на XP может не заработать,т.к. собран со слишком свежим Qt.
GUI архивы идут уже с minidjvu_mod внутри.
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #32 - 26.03.2020 :: 21:44:56
 
Я хотел, но видимо забыл, оставить здесь ссылку на обсуждение minidjvu_mod на странице проекта DjVuLibre (на английском).

Вот она: https://sourceforge.net/p/djvu/discussion/103286/thread/1b0de7aa93

Но т.к. я давно minidjvu_mod не занимался, то и новостей ни там ни тут никаких нет. Я скорее всего сперва (когда-нибудь) затолкаю поддержку сборки bundled DjVu в STU, а потом уже буду на практике полировать кодировщик.
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #33 - 08.07.2021 :: 19:13:35
 
Я выпустил новый релиз minidjvu-mod - 9m02: https://github.com/trufanov-nok/minidjvu-mod/releases/tag/0.9m02

В программу добавлены некоторые ключи, обновлена справка и русская локализация (для Линукса).
Из главного - ключ -S, который позволяет все настройки кодирования документа передавать через файл настроек. У этого файла специфичный формат, похожий на формат установки outlines через djvused из пакета DjvuLibre. С его помощью можно:

- задать персональные настройки кодирования для определенного изображения
- контролировать, какие изображения пойдут в какой общий словарь djbz
- задать персональные настройки для определенного общего словаря djbz

Формат описан в wiki проекта на eng и rus. Но, он составлен из предположения, что пользователь не будет набирать руками, а его составит за него некая программа. В частности этот файл будет генерировать ScanTailor ver. 0.3. Собственно, под него все эти фишки и заточены.

Кроме того, minidjvu-mod ver. 9m02 наконец собран (32 и 64 bit) при помощи Visual Studio 2013, а не MinGW.
Возможно, он даже поддерживает Windows XP - но это стоит проверить. По кр. мере везде где мог я эту настройку выставлял.


Вместе с minidjvu-mod обновлен minidjvu-mod-gui - простенький GUI для него:
https://github.com/trufanov-nok/minidjvu-mod-gui/releases/tag/0.2.2

Он пересобран с Qt 5.7 (32 и 64 bit), и в нем тоже должна быть поддержка Windows XP. В zip архивах GUI для Windows также положен minidjvu-mod в подпапочку bin. GUI должен автоматически его там видеть.
Но, никаких дополнений в плане функционала к нему не сделано, поэтому создавать файлы настроек он не умеет.

Хочу написать новость о релизе на ЛОР, поэтому прошу потестировать.
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #34 - 14.07.2021 :: 15:33:10
 
В качестве исторический справки скопирую сюда ответ Ильи Межирова, касательно создания minidjvu:

Цитата:
Историю разработки расскажу, почему бы и нет.

Надо было писать курсовую по математике, а нормальная математическая тема не подвернулась. В таких случаях обычная практика - написать какую-нибудь полезную программу по усмотрению научного руководителя, и он предложил улучшить djvu. Первоначально предполагалось, что другие студенты тоже что-нибудь поделают, в частности поэтому я стал переписывать части djvulibre на C - djvulibre написана на довольно зубодробительном C++, в который еще LizardTech добавил корпоративного маразма.

В djvulibre вместо сравнивателя буковок была по сути заглушка из-за того, что автор подписался LizardTech'у, что не будет делать эту часть нормально. Поэтому не улучшить djvulibre было просто невозможно. Идея простая: заглушка попросту подсчитывает различающиеся пиксели, но ясно, что различия около границ букв должны настораживать намного меньше, чем различия внутри, поэтому надо брать не простую, а взвешенную сумму. В обработке изображений я тогда ничего не понимал, поэтому нахождение границ букв усиленно написал сам, вместо того, чтобы взять готовое. Также я не понимал, что калибровать параметры надо на большой базе вроде тренировочных данных Тессеракта - minidjvu откалиброван на глаз по результатам сжатия одной конкретной страницы. Потом мне показали другую страницу, в которой minidjvu смешивал "и" и "н", и я немного подкрутил параметры в сторону осторожности.

Потом все-таки объявился другой студент, которому тоже надо было написать курсовую, и он должен был работать над многостраничным сжатием. Но он не сделал вообще ничего, и мне сказали, что чтобы все это как-то замять и спасти оболтуса, надо бы хоть что-нибудь написать в нужном направлении. Так в minidjvu появилось многостраничное сжатие, написанное за пару дней и работающее максимально тупым способом.Но оказалось, что людям это надо, потому что все остальное еще хуже.

Потом подключился Алексей Крюков и стал все это приводить в более человеческий вид, добавил локализацию и разные улучшения, за что ему большое спасибо. minidjvu 0.8 уже выпустил он.

Вот и вся история.


И частично цитату Leon Bottou:
Цитата:
<...> This is not so easy because one needs to cleanly extract the pattern matching code and reuse the djvulibre bit encoding code. In fact Ilya Mezhirov already did that for an earlier version of minidjvu, and his code can be found in djvulibre-3.5/tools/jb2cmp. <...>


В общем, как я и предполагал, алгоритмы составления локальных Sjb2 словарей в DjVuLibre перекочевали из minidjvu.
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #35 - 29.07.2021 :: 15:35:21
 
Поправил баги, обновил до 0.9m03: https://github.com/trufanov-nok/minidjvu-mod/releases/tag/0.9m03
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #36 - 07.09.2021 :: 22:24:07
 
Вышел minidjvu-mod 0.9m05
И GUI к нему ver 0.2.3

Это большое обновление в котором поправлены некоторые баги кодирования и заменен классификатор.
Мне прислали набор 300dpi сканов, с которыми minidjvu-mod 0.9m03 не справлялся - ошибки классификации [il1]. В попытке их устранения было принято решение отказаться от 3-х классификаторов и заменить их одним общим и более пессимистичным. Так что теперь опции -C нет, а minidjvu-mod нацелен скорее на повторение результатов documenttodjvu.exe,чем на их превосхождение. В общем, решено сосредоточится на надежности и точности.

Пессимистичный классификатор быстро принимает решение о различии классов, посему резко упало кол-во сравнений, а значит выросла скорость. В итоге я смог отказаться от кэша, а значит потребление RAM теперь сравнимо с documenttodjvu.exe. Скорость тоже сравнима. Параметры классификации подогнаны так, чтобы с дефолтной агрессией быть чуть лучше результатов documenttodjvu.exe.

В итоге, minidjvu-mod стал гораздо сильнее походить на documenttodjvu.exe по всем параметрам.

К сожалению, есть не все проблемы выявленные на присланных мне сканах удалось исрправить ценой увеличение вменяемого % размера документа. В частности есть пара символов, напечатанных жирным, которые minidjvu-mod путает с нежирными аналогами. Разница в площади там всего 4% и их даже на глаз без контекста тяжело отличать. Но documenttodjvu.exe это умеет. Т.е. есть куда расти.

В общем версия 0.9m05 существенно отличается от предыдущих и требует тщательного тестирования. Сборки доступны подо всё.

https://github.com/trufanov-nok/minidjvu-mod/releases/tag/0.9m05
https://github.com/trufanov-nok/minidjvu-mod-gui/releases/tag/0.2.3
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #37 - 08.09.2021 :: 21:24:17
 
И еще раз обновил бинарник без изменения версии - закрыт баг с утратой примыкающих к правому краю изображения рамок после smooth.
Наверх
 
 
IP записан
 
Dimitriy89
Новичок
*
Вне Форума


Всем привет!

Сообщений: 22
Пол: male
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #38 - 11.09.2021 :: 12:07:23
 
Спасибо за труды. Есть планы сделать/переделать такие вещи как DjvuSmall с этим кодером?
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 254
Re: Свободные кодеры DjVu не хуже коммерческих? Неигрушечный minidjvu
Ответ #39 - 11.09.2021 :: 14:54:55
 
Dimitriy89 писал(а) 11.09.2021 :: 12:07:23:
Спасибо за труды. Есть планы сделать/переделать такие вещи как DjvuSmall с этим кодером?


Нет. DjVu Small использует коммерческий documenttodjvu.exe. Тот умеет кодировать не только ч/б, но и цветные изображения. Т.е. имеет встроенный сегментатор, который как-то отделяет текст от изображений. Текст и изображения кодируются в DjVu по-рузному. Minidjvu-mod умеет кодировать только текст, т.е. только монохромные изображения. Поэтому в тупую заменить documenttodjvu.exe на minidjvu-mod нельзя.
Сегментатор создать можно, и скорее всего это не сложно. Судя по тому, как documenttodjvu.exe кодирует текст поверх изображений - там какой-то тупой порог на оттенки черного просто выделяется. Но пока таких планов нет.

Но, minidjvu-mod может использоваться как кодировщик в "методе раздельных сканов". Где сканы предварительно кто-то разделил на текст и изображения, отдельно то и то закодировал, а потом собрал DjVu Imager'ом. Таким "кто-то" могут быть сейчас форки ScanTailor с поддержкой экспорта слоев изображений. И вот что я планирую, и почти сделал - так это засунуть minidjvu-mod в ScanTailor Universal, и фактически засунуть ему под капот генерацию djvu документов по методу раздельных сканов. Текущие исходники лежат в ветке djvu3.
Наверх
 
 
IP записан
 
Страниц: 1 2 
Послать Тему Печать