Компания Google анонсировала алгоритм сжатия данных Brotli, который отнесён к алгоритмам сжатия общего назначения, но позиционируется как решение для минимизации объёма данных, передаваемых по сети. Спецификация Brotli передана в комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры Интернет, в качестве претендента на получение звания интернет-стандарта. В настоящее время Brotli уже применяется в качестве алгоритма сжатия шрифтов Web Open Font Format 2.0. Эталонная реализация Brotli написана на языке С++ и распространяется под лицензией Apache 2.0.

Brotli демонстрирует уровень сжатия, сопоставимый с лучшими современными методами сжатия общего назначения, но опережая их по скорости кодирования и декодирования. Например, в тесте Canterbury Corpus алгоритм Brotli превосходит по уровню сжатия LZMA и bzip2 и при этом меньше потребляет ресурсов CPU. По производительности Brotli близок к алгоритму Deflate, но превосходит его по степени сжатия. По сравнению с представленным в 2013 году алгоритмом Zopfli, совместимым с Zlib и Deflate, Brotli позволяет сжимать данные на 20–26% эффективнее.

Brotli является комбинацией современного варианта алгоритма LZ77, адаптивного кодирования Хаффмана и методов контекстного моделирования второго порядка. Более высокий уровень сжатия по сравнению с LZMA и bzip2 достигается применением контекстного моделирования второго порядка, повторным использованием кодов энтропии, более крупным размером окна кодирования и использованием совместных кодов распределения (joint distribution code). Компания Google надеется, что в скором времени поддержка данного формата будет реализована во всех основных браузерах (в рамках поддержки Web Open Font Format 2.0), что позволит уменьшить размер передаваемых данных и, как следствие, приведёт к меньшему потреблению энергии при открытии контента на мобильных устройствах.

Источник: http://www.opennet.ru/opennews/art.shtml?num=43006