В качестве исторический справки скопирую сюда
ответ Ильи Межирова, касательно создания 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.