Spectrum сделает загрузку фотографий более эффективной

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

Spectrum сделает загрузку фотографий более эффективной

Гигант социальных сетей впервые представил Spectrum широкой публике в ноябре 2018, и с тех пор он доступен в бета-версии (v0.9). Сегодняшний день предвещает официальный запуск Spectrum 1.0.0 на GitHub, поскольку Facebook стремится улучшить технологию, открыв её для сообщества разработчиков.

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

Большие файлы изображений не только занимают больше памяти на мобильном устройстве, они также потребляют огромный трафик при совместном использовании в Интернете — вот почему такие приложения, как WhatsApp и Facebook Messenger, сжимают изображения. Платформы, подобные этим, автоматически изменяют размер и форматируют фотографии, обеспечивая минимальное зависание во время выгрузки и оптимальное время загрузки с другой стороны. Но есть и компромисс в отношении качества изображения: картинка размером 3 МБ с разрешением 2980 x 2384 пикселей может быть примерно в пять раз больше, чем при отображении в приложении, что приводит к снижению четкости.

Это проблема для любого приложения, которое позволяет загружать изображения, где скорость и надёжность имеют первостепенное значение: как оно может обеспечить максимальное качество без ущерба для качества загрузки? Здесь и вступает в игру Spectrum.

Spectrum — это библиотека транскодирования изображений на стороне клиента для приложений Android и iOS. На первом этапе он работает для уменьшения размера файла, что, в свою очередь, означает более быструю выгрузку (и меньшее потребление мобильных данных). Используя «декларативный» API, Spectrum стремится облегчить разработчикам приложений контроль качества изображения, не беспокоясь об отдельных шагах, необходимых для его достижения, которые в противном случае могли бы включать написание дополнительного кода, например, для использования других библиотек сжатия.

Короче говоря, вместо того, чтобы шаг за шагом рассказывать приложению о том, как следует транскодировать изображение, Spectrum позволяет разработчикам определять, что они хотят сделать, а Spectrum заботится об «аккомпанименте».

Согласно Facebook, Spectrum предпочитает подход без потерь при обрезке и повороте изображений JPEG, а при изменении его размера оптимизируется взаимодействие между выборкой декодера и идеальным изменением размеров пикселя. Spectrum интегрируется с собственными библиотеками сжатия изображений, включая MozJpeg (кодировщик JPEG), запущенный Исследовательской командой Mozilla ещё в 2014 году, которая может уменьшить размер файла на 10-15 процентов при подготовке к загрузке.

Spectrum также позволяет управлять более продвинутыми параметрами, такими как субсэмплирование цветности, что является практикой сжатия, дающей меньшее разрешение цвету изображения в пользу яркости. Однако для определенных типов изображений могут потребоваться более определённые цвета, особенно те, которые содержат острые края или иллюстрации, в которые вмешивается Spectrum. «Последовательный API делает эти функции доступными для разработчиков, которые не являются экспертами по изображениям», — говорится в сообщении Facebook.

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

Facebook начал разработку Spectrum около 18 месяцев назад и постепенно включил его в свои собственные приложения. На этапе предварительной версии 0.9 Facebook собрал информацию от сообщества разработчиков для подготовки к официальному выпуску, который включает в себя ряд исправлений и поддержку менее распространенной подвыборки цветности в файлах JPEG.

Фото предоставлены Facebook

Юрий Мурзаев

Сегодня в СМИ

Оставить комментарий

avatar
  Подписка  
Уведомлять о

Подписка на рассылку

Будьте в курсе. Новые истории по электронной почте. Гарантируем отсутствие спама.

Согласен на обработку персональных данных Политика конфиденциальности