Как стать автором
Обновить
11
Карма
0
Рейтинг
Антон @antoxa950

Программист

  • Подписчики 1
  • Подписки 2

Алгоритм сжатия без потерь Broo и дельта-кодирование, сравнение с Xdelta3. Развитие домашнего проекта

В первую очередь — спасибо за предыдущий комментарий. Натолкнули на мысли попробовать поработать с аудио и видео.
Во вторых, уже успели частично поработать с аудио и видео. По поводу аудио файлов, я пока не вижу применения дельта-кодирования, так как в аудио все идет одним потоком и нет каких то опорных данных которые изменяются с течением времени.
Но тем ни менее по текущим наработкам получилось тестовые wav файлы сжать до размера уровня flac, к примеру 30мб wav файла упаковываются в 21мб, что равняются размеру туго же файла упакованным в flac. Но это без использования дельта-кодирования, пока не вижу применения ему в аудио.

В видео чуть другая история, есть кадры которые могут выступать опорными и тут уже можно использовать дельта-кодирование. Первые результаты показали сжатие порядка 20% (если мне не изменяет память) от опорного кадра без какой-либо предварительной подготовки данных.

Алгоритм сжатия без потерь Broo и дельта-кодирование, сравнение с Xdelta3. Развитие домашнего проекта

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

Профит статьи отобразить прогресс и возможно это может заинтересовать компании которые уже используют похожее или только собираются. Я думаю, что сам алгоритм или продукт на основе него будет ориентирован на рынок b2b.

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

Алгоритм сжатия без потерь Broo и дельта-кодирование, сравнение с Xdelta3. Развитие домашнего проекта

Код — нет. На счет бинарей пока не знаю.

Алгоритм сжатия без потерь Broo и дельта-кодирование, сравнение с Xdelta3. Развитие домашнего проекта

Если Вы имеете в виду такой же революционный алгоритм, как и Пегий дудочник из сериала «Кремниевая долина», то я не готов его назвать революционным, но при сравнении с Xdelta3 преимущество у DBroo. А Xdelta3, на сколько мне известно, является одним из лучших в этом направлении.

Broo — алгоритм сжатия без потерь. Улучшения

С нишей будем определяться чуть позже, еще есть чем заниматься и что улучшать.

Broo — алгоритм сжатия без потерь. Улучшения

Про различные уровни у zstd знаем и не однократно прогоняли не только на -3 но и на -22. А так же, не только с zstd. Да, согласен, zstd хорошо с этим справляется, но у нас не стоит задача вытеснуть кого-то из сегмента или применять алгоритм в каких-то конкретных целях. На данный момент стараемся выжать из него все что можно, а потом посмотреть под какие задачи больше всего подходит и будет ли кто-то заинтересован в его использовании.
Спасибо большое за информацию.

Broo — алгоритм сжатия без потерь. Улучшения

Из-за большего размера файла.

Broo — алгоритм сжатия без потерь. Улучшения

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

Broo — алгоритм сжатия без потерь. Улучшения

Сделали приватную копию репозитория lzbench и туда интегрировали. В публичном доступе, на данный момент, нет.

Broo — алгоритм сжатия без потерь. Улучшения

Верно. Но и упаковкой мы займемся, пока что, это не самая приоритетная задача.

Broo — алгоритм сжатия без потерь. Улучшения

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

Рождение нового алгоритма по имени Broo и сравнение с Brotli и остальными

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

Рождение нового алгоритма по имени Broo и сравнение с Brotli и остальными

Вдохновила интересная задача, но и сериал видел)

Рождение нового алгоритма по имени Broo и сравнение с Brotli и остальными

Только биты. Нет.

Рождение нового алгоритма по имени Broo и сравнение с Brotli и остальными

Да, натыкался на данный сайт. Для любой деятельности должна быть мотивация, вполне вероятно без какой-то подпитки запас мотивации иссяк.

Рождение нового алгоритма по имени Broo и сравнение с Brotli и остальными

В сравнении нет zopfli так как он не поддерживается в lzbench, надо прикручивать ручками, возможно в следующий раз это будет учтено и добавлено.
Практически всю работу по статистике на себя берет lzbench, единственное что мы могли корректировать это кол-во итерация для каждого алгоритма по результатам которых выбирается лучший результат. Но так же не надо забывать, что показатели зависят и от самой ОС (перед тестами позаботился, что б ничего лишнего не было запущено).
По скорости упаковки с Вами согласен, по возможности будем думать над решением.

Рождение нового алгоритма по имени Broo и сравнение с Brotli и остальными

Сам пока в полной мере не разбирался, но для ознакомления можете воспользоваться данной ссылкой.
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность