Facebook Spectrum

Продукт
Разработчики: Meta Platforms
Дата последнего релиза: январь 2019 г
Отрасли: Интернет-сервисы

2019: Публикация исходных кодов

В январе 2019 года Facebook объявила о раскрытии исходных кодов библиотеки для обработки изображений Spectrum, которую крупнейшая в мире социальная сеть использует для улучшения качества фотографий, загружаемых пользователями приложений компании.

Эта система изначально применялась самой Facebook, а в ноябре 2018 года она была выпущена в публичный доступ в рамках бета-версии (0.9). В январе 2019-го вышла Spectrum 1.0.0, а ее исходники были опубликованы на портале GitHub. Таким образом, технология стала доступной огромному сообществу разработчиков.[1]

Facebook открыла исходники своей системы, позволяющей быстро загружать большие фото без потери качества

Как пишет издание VentureBeat, камеры в современных смартфонах стали занимать центральное место. Их производительность увеличивается за счет искусственного интеллекта и дополнительных сенсоров на радость любителей фотографий. Однако высокое качество снимков приводит к увеличению их размеров, что осложняет их обмен между пользователями и потребляет много трафика.

Приложения, вроде WhatsApp и Facebook, сжимают изображения (уменьшают размер и переформатируют снимки), чтобы ускорить их загрузку в соцсеть. Но это сказывается на качестве.

Догнать и перегнать: Российские ВКС прирастают новыми функциями 8.5 т

Библиотека Spectrum помогает решить эту проблему, используя технологию перекодировки изображения на пользовательском устройстве. В результате даже большие фотографии на iPhone и Android-гаджеты загружаются быстро без потери качества.

Технология интегрируется с библиотеками сжатия изображений от сторонних производителей, в том числе MozJpeg от Mozilla. MozJpeg может уменьшить размер файла на 10-15% при подготовке к загрузке.

В Facebook утверждают, что Spectrum более эффективно справляется с обработкой изображений, чем API-интерфейсы, которые встроены в другие программные платформы, поскольку различные мобильные ОС и разворачиваемые API могут выдавать неодинаковые результаты.[2]

Примечания