На каждом сайте постоянно увеличивается и количество файлов JPEG, и их размер. Поскольку HTML, JS, и CSS относительно невелики, то при загрузке веб-страницы основной трафик зачастую приходится именно на JPEG. Так что уменьшение размера фотографий — вполне очевидная цель для оптимизации, считает Mozilla.
Существующие кодеры JPEG зачастую работают не очень эффективно. Логично перейти на более современные алгоритмы (например, JPEG2000 с вейвлет-преобразованием), и такая тема неоднократно обсуждалась. Но разработчики Mozilla говорят, что популярность JPEG слишком велика. Созданный в 1992 году этот стандарт сжатия с потерями стал общепризнанным. Переход на новый формат займёт много лет, поскольку он не совместим с имеющимся программным обеспечением. «Мы (в Mozilla) не сомневаемся, что алгоритмические улучшения когда-нибудь подтолкнут к такому переходу, возможно, скоро. Но даже в этом случае JPEG ещё долго будет с нами».
Таким образом, даже с учетом внедрения нового формата сжатия с потерями улучшение нынешнего кодера JPEG имеет смысл. Разработчики Mozilla задались вопросом: достиг ли JPEG за 22 года своей эволюции максимально возможного уровня компрессии? Они проконсультировались с множеством инженеров и пришли к выводу, что ответ отрицательный, даже с учётом ограничения на совместимость с существующими декодерами. Поэтому и решено было запустить проект mozjpeg.
Для начала Mozilla выпускает версию 1.0, которая является форком libjpeg-turbo с добавлением функциональности perl-скрипта jpgcrush, который часто используют для оптимизации фотографий без потери качества. На случайной выборке 1500 фотографий из Wikimedia скрипт уменьшает размер файлов, в среднем, на 10%, выбирая конфигурацию прогрессивного кодирования с наименьшим количеством бит. Поскольку ни в одном популярном кодере нет такой функциональности, решено добавить её в mozjpeg.
На следующем этапе Mozilla планирует внедрить треллис-квантование.
Желающим поучаствовать в процессе и подсказать идеи — добро пожаловать в список рассылки dev-mozjpeg.
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий