JPEG XS ( стандартизирован как ISO/IEC 21122) — это совместимая, визуально без потерь, с малой задержкой и легкая система кодирования изображений и видео , используемая в профессиональных приложениях. [2] [3] [4] [5] [6] Целевые приложения стандарта включают потоковую передачу высококачественного контента для профессионального видео по IP (SMPTE ST 2022 и ST 2110 ) в вещательных и других приложениях, виртуальную реальность , дроны, автономные транспортные средства с камерами, игры. [3] [7] [8] [9] Хотя официального определения аббревиатуры не существует, XS был выбран, чтобы подчеркнуть сверхмалые и сверхскоростные характеристики кодека.
Три основные особенности являются ключевыми для JPEG XS:
Опираясь на эти ключевые особенности, JPEG XS подходит для использования в любом приложении, где нормой является несжатый контент, при этом все еще обеспечивая значительную экономию требуемого использования полосы пропускания, сохраняя качество и низкую задержку. Среди целевых вариантов использования - передача видео по профессиональным видеоканалам (например, SDI и Ethernet / IP ), хранение видео в реальном времени, буферы памяти, всенаправленный захват и рендеринг видео, а также сжатие датчиков изображений (например, в камерах и в автомобильной промышленности). [10] JPEG XS предпочитает визуальное качество без потерь в сочетании с низкой задержкой и низкой сложностью, а не грубую производительность сжатия. Следовательно, он не является прямым конкурентом альтернативным кодекам изображений, таким как JPEG 2000 и JPEG XL , или видеокодекам, таким как AV1 , AVC/H.264 и HEVC/H.265 .
Другие важные особенности:
В этом разделе перечислены основные области применения, где JPEG XS активно используется. Новые и другие области применения могут быть добавлены в будущем, например, сжатие буфера кадра или приложения AR/VR. [14]
Требования к пропускной способности видео постоянно растут, поскольку разрешения видео, частота кадров, глубина битов и количество видеопотоков постоянно увеличиваются. Аналогично, пропускная способность видеолинков и каналов связи также растет, но медленнее, чем это необходимо для решения проблемы огромного роста пропускной способности видеолинков. Кроме того, инвестиции в модернизацию пропускной способности линков и каналов значительны и должны окупаться в течение нескольких лет.
Более того, как вещательный, так и pro-AV рынки смещаются в сторону инфраструктуры на основе AV-over-IP, при этом предпочтение отдается 1 Gigabit Ethernet-соединениям для удаленного производства или 10G Ethernet-сетям для внутренних объектов. Как 1G, так и 2.5G и 10G Ethernet дешевы и повсеместны, в то время как 25G или более высокие соединения обычно пока недоступны. Учитывая доступную полосу пропускания и стоимость инфраструктуры, полагаться на несжатое видео больше не вариант, поскольку должны поддерживаться 4K, 8K, увеличенная битовая глубина (для HDR) и более высокая частота кадров.
JPEG XS — это легковесное сжатие, которое визуально сохраняет качество по сравнению с несжатым потоком, при низкой стоимости, нацеленное на коэффициенты сжатия до 10:1. Например, с помощью XS можно перепрофилировать существующие кабели SDI для передачи 4K60 по одному 3G-SDI (при 4:1) и даже по одному HD-SDI (при 8:1). Аналогичные сценарии можно использовать для передачи контента 8K60 по различным типам кабелей SDI (например, 6G-SDI и 12G-SDI). В качестве альтернативы XS позволяет передавать контент 4K60 по 1G Ethernet и 8K60 по 5G или 10G Ethernet, что было бы невозможно без сжатия. В следующей таблице показаны некоторые ожидаемые диапазоны сжатия для некоторых типичных случаев использования.
С транспортировкой видеопотоков связано хранение и извлечение потоков высокого разрешения, где также действуют ограничения пропускной способности. Например, видеокамеры используют внутренние хранилища, такие как SSD-накопители или SD-карты, для хранения больших потоков изображений, однако максимальная скорость передачи данных таких устройств хранения ограничена и значительно ниже пропускной способности несжатого видео.
Как уже было сказано, JPEG XS имеет встроенную поддержку прямого сжатия изображений RAW Bayer /CFA с использованием преобразования цветов Star-Tetrix. Это преобразование берет изображение шаблона RAW Bayer и декоррелирует образцы в 4-компонентное изображение, где каждый компонент имеет только четверть разрешения. [15] Это означает, что общее количество образцов для дальнейшей обработки и сжатия остается прежним, однако значения декоррелируются аналогично классическому преобразованию нескольких компонентов.
Избежание такого преобразования предотвращает потерю информации и позволяет выполнять этот этап обработки вне камеры. Это выгодно, поскольку позволяет отложить демозаику контента Bayer с момента захвата до этапа производства, где можно лучше сделать выбор относительно художественного замысла и различных настроек. Напомним, что процесс демозаики необратим и требует определенных выборов, таких как выбор алгоритма интерполяции или уровня шумоподавления, которые должны быть сделаны заранее. Более того, процесс демозаики может быть энергоемким и также вносит дополнительную задержку и сложность. Возможность вынести этот этап за пределы камеры возможна с JPEG XS и позволяет использовать более продвинутые алгоритмы, что в конечном итоге дает лучшее качество.
Система кодирования JPEG XS представляет собой набор стандартов ISO/IEC, состоящий из следующих частей:
Часть 1 , официально обозначенная как ISO/IEC 21122-1, описывает основную систему кодирования JPEG XS. Этот стандарт определяет синтаксис и, подобно другим кодекам изображений JPEG и MPEG, процесс декомпрессии для восстановления цифрового изображения с непрерывным тоном из его закодированного кодового потока. Часть 1 предоставляет некоторые рекомендации по обратному процессу, который сжимает цифровое изображение в сжатый кодовый поток, или, проще говоря, процессу кодирования, но оставляет оптимизацию и выбор, зависящие от реализации, разработчикам.
Часть 2 (ISO/IEC 21122-2) основывается на Части 1, чтобы разделить различные приложения и виды использования JPEG XS на сокращенные подмножества инструментов кодирования с более жесткими ограничениями. Определение профилей, уровней и подуровней позволяет снизить сложность реализаций в конкретных случаях использования приложений, а также обеспечить совместимость. Напомним, что более низкая сложность обычно означает меньшее энергопотребление, более низкие производственные затраты, более простые ограничения и т. д. Профили представляют собой подмножества совместимости синтаксиса кодового потока, указанного в Части 1. Кроме того, уровни и подуровни обеспечивают ограничения максимальной пропускной способности в соответственно кодированных (кодовый поток) и декодированных (пространственных и пиксельных) доменах изображений. Часть 2 также определяет модель буфера, состоящую из модели декодера и модели канала передачи, чтобы гарантировать низкие требования к задержке для части размера кадра.
Часть 3 (ISO/IEC 21122-3) определяет форматы транспорта и контейнера для кодовых потоков JPEG XS. Она определяет передачу важных метаданных, таких как цветовые пространства, метаданные отображения мастеринга (MDM) и EXIF, для упрощения транспортировки, редактирования и представления. Кроме того, эта часть определяет специфичные для XS поля ISOBMFF, регистрацию типа интернет-носителя и дополнительный синтаксис, позволяющий встраивать XS в такие форматы, как MP4, MPEG-2 TS или формат файла изображения HEIF.
Часть 4 (ISO/IEC 21122-4) — это поддерживающий стандарт JPEG XS, который обеспечивает тестирование соответствия и проверку модели буфера. Этот стандарт имеет решающее значение для реализаторов XS и тестирования соответствия устройств.
Наконец, Часть 5 (ISO/IEC 21122-5) представляет собой эталонную программную реализацию (написанную на ISO C11) декодера JPEG XS Часть 1, соответствующую профилям, уровням и подуровням Части 2, а также примерную реализацию кодера.
Второе издание всех пяти частей находится в разработке и будет опубликовано не позднее начала 2022 года. Оно содержит дополнительные инструменты кодирования, профили и уровни, а также новое справочное программное обеспечение для поддержки эффективного сжатия контента 4:2:0, контента RAW Bayer/CFA и математического сжатия без потерь.
RFC 9134 [16] описывает формат полезной нагрузки для Real-Time Transport Protocol (RTP, RFC 3550 [17] ) для передачи видео в кодировке JPEG XS. Кроме того, рекомендация также регистрирует официальную регистрацию типа носителя для видео JPEG XS как video/jxsv
, вместе с отображением всех параметров в протокол описания сеанса (SDP).
Формат полезной нагрузки RTP для JPEG XS, в свою очередь, позволяет использовать JPEG XS в средах SMPTE ST 2110 , используя SMPTE ST 2110-22 для передачи сжатого видео CBR.
ISO/IEC 13818-1:2022, известный как MPEG-TS 8-е издание, определяет поддержку передачи JPEG XS в транспортных потоках MPEG. [18] См. также MPEG-2 . Обратите внимание, что AMD1 (передача LCEVC и другие улучшения) ISO/IEC 13818-1:2022 содержит некоторые дополнительные исправления, улучшения и разъяснения относительно встраивания JPEG XS в MPEG-TS. [19]
См. VSF TR-07 [20] и TR-08, [21], опубликованные Форумом видеоуслуг.
Открытые спецификации сетевых носителей, которые позволяют регистрировать, обнаруживать и управлять подключением конечных точек JPEG XS с использованием спецификаций AMWA IS-04 и IS-05 NMOS. См. AMWA BCP-006-01, [22], опубликованный Advanced Media Workflow Association .
Internet Protocol Media Experience (IPMX) — это предлагаемый набор открытых стандартов и спецификаций, позволяющий передавать сжатое и несжатое видео, аудио и данные по IP-сетям для профессионального рынка AV. JPEG XS поддерживается в IPMX через VSF TR-10-8 [23] и TR-10-11. [24]
Комитет JPEG начал деятельность по стандартизации в 2016 году с открытого призыва к высокопроизводительному стандарту кодирования изображений с низкой сложностью. Наиболее эффективные технологии-кандидаты были получены от intoPIX и Fraunhofer IIS и легли в основу нового стандарта. Первые реализации были продемонстрированы в апреле 2018 года на выставке NAB Show , а позднее в том же году на Международной вещательной конвенции . [25] XS также был представлен на выставке CES в 2019 году. JPEG XS был официально стандартизирован как ISO/IEC 21122 Объединенной группой экспертов по фотографии , первое издание было опубликовано в 2019 году. Второе издание было опубликовано в 2022 году, [26] добавив поддержку прямого сжатия необработанного контента CFA Bayer, сжатия без потерь и поддержки цветовой субдискретизации 4:2:0. Сегодня комитет JPEG продолжает активно работать над дальнейшими улучшениями XS, третье издание будет опубликовано в 2024 году. В этом издании добавлена поддержка технологии временной декорреляции в области вейвлетов, называемой временным дифференциальным кодированием (TDC).
Стандарт JPEG XS — это классический кодек неподвижного изображения на основе вейвлетов без какого-либо буфера кадров. В то время как стандарт [27] определяет JPEG XS на основе гипотетического эталонного кодера, JPEG XS проще объяснить с помощью шагов, которые выполняет типичный кодер: [28]
Масштабирование компонента и необязательная декорреляция компонента: на первом этапе усиление постоянного тока входных данных удаляется и масштабируется до точности бита 20 бит. При необходимости применяется многокомпонентная генерация, идентичная JPEG 2000 RCT. Это преобразование представляет собой приближение без потерь преобразования RGB в YUV, генерируя один канал яркости и два канала цветности.
Вейвлет-преобразование: Входные данные пространственно декоррелируются 5/3- вейвлет-фильтром Добеши . В то время как в горизонтальном направлении выполняется пятиэтапное преобразование, в вертикальном направлении выполняется только от 0 до 2 преобразований. Причина этого асимметричного фильтра — минимизация задержки.
Предварительное квантование : выходной сигнал вейвлет-фильтра преобразуется в знаково-величинное представление и предварительно квантуется квантователем мертвой зоны до 16-битной точности.
Управление скоростью и квантование : Кодер определяет с помощью ненормативного процесса [28] скорость каждой возможной настройки квантования, а затем квантует данные либо с помощью квантователя мертвой зоны, либо с помощью равномерного квантователя, зависящего от данных.
Энтропийное кодирование: JPEG XS использует минималистичное энтропийное кодирование для квантованных данных, которое выполняется за четыре прохода по горизонтальным линиям квантованных вейвлет-коэффициентов. Шаги следующие:
Упаковка потока кодов : все данные, закодированные с помощью энтропии, упаковываются в линейный поток битов (сгруппированных в байтовые кратные) вместе со всеми необходимыми метаданными изображения. Эта последовательность байтов называется потоком кодов, а ее высокоуровневый синтаксис основан на типичном синтаксисе маркеров JPEG и сегментов маркеров. [29]
JPEG XS определяет профили (в ISO/IEC 21122-2), которые определяют подмножества инструментов кодирования, которые должны поддерживать соответствующие декодеры, ограничивая допустимые значения параметров и допустимые маркеры. В следующей таблице представлен обзор всех профилей вместе с их наиболее важными свойствами. Пожалуйста, обратитесь к стандарту для получения полной спецификации каждого профиля.
Кроме того, JPEG XS определяет уровни для представления нижней границы требуемой пропускной способности, которую соответствующие декодеры должны поддерживать в области декодированного изображения (также называемой пространственной областью). В следующей таблице перечислены уровни, определенные JPEG XS. Максимальные значения указаны в контексте сетки выборки, поэтому они относятся к значению на пиксель, где каждый пиксель представляет одно или несколько значений компонентов. Однако в контексте данных Байера JPEG XS внутренне интерпретирует шаблон Байера как чередующуюся сетку из четырех компонентов. Это означает, что количество точек сетки выборки, необходимых для представления изображения Байера, в четыре раза меньше общего количества точек выборки Байера. Каждая группа из 2x2 (четырех) значений Байера интерпретируется как одна точка сетки выборки с четырьмя компонентами. Таким образом, разрешения сенсора следует разделить на четыре, чтобы вычислить соответствующую ширину, высоту и количество точек сетки выборки. По этой причине все уровни также имеют двойные названия. Пожалуйста, обратитесь к стандарту для получения полной спецификации каждого уровня.
Аналогично концепции уровней, JPEG XS определяет подуровни для представления нижней границы требуемой пропускной способности, которую должны поддерживать соответствующие декодеры в области кодированного изображения. Каждый подуровень определяется номинальным значением бит на пиксель (Nbpp), которое указывает максимальное количество бит на пиксель для кодированного изображения максимально допустимого количества точек сетки выборки в соответствии с выбранным уровнем соответствия. Таким образом, декодеры, соответствующие определенному уровню и подуровню, должны соответствовать следующим ограничениям, выведенным из Nbpp:
В следующей таблице перечислены существующие подуровни и их соответствующие номинальные значения bpp. Пожалуйста, обратитесь к стандарту для полной спецификации каждого уровня.
JPEG XS содержит запатентованную технологию, которая доступна для лицензирования через JPEG XS Patent Portfolio License (JPEG XS PPL). Этот пул лицензий охватывает основные патенты, принадлежащие лицензиарам для внедрения стандарта видеокодирования ISO/IEC 21122 JPEG XS, и доступен на условиях RAND . [30]