JPEG2000 в кино, науке, медицине и бродкастинге
Представляем вам серию из двух статей, посвященных JPEG2000. В первой части мы расскажем о ключевых технологиях алгоритма и о том, почему он стал таким востребованным в цифровом кино и телевещании. Во второй части разговор пойдёт о других областях его применимости и важных для них особенностях JPEG2000. Также расскажем о его главном недостатке и представим решение, позволяющее существенно повысить удобство работы с JPEG2000.
Часть 1: JPEG2000 в цифровом кино и телевещании. Особенности формата JP2
Мир кино покорил сердца людей сразу с момента своего появления. Все смеялись над фильмами Чарли Чаплина и ужасались Птицам Хичкока. От немого и чёрно-белого кино (вдумайтесь — всего чуть больше, чем за век) индустрия шагнула в мир IMAX. Изображение стало настолько чётким и живым, что мы моментально погружаемся в новую реальность, рисуемую автором на экране.
Но знаете ли вы, что позволяет создавать такие сочные и завораживающие кадры? Почему картинка на экранах в IMAX так отлична от той, что мы видим дома на своем TV? Оказывается, дело в алгоритме сжатия и используемом формате изображений.
JP2 - это формат файлов для изображений, сжатых по алгоритму JPEG2000.
JPEG2000 в цифровом кино
В цифровом кино (и не только, но об этом позже) уже давно и активно используется формат JP2. Он был создан в 2000 году, а выбран в качестве стандарта для цифрового кино инициативной группой Digital Cinema Initiatives (DCI), в состав которой входили такие компании как Disney, Fox, Paramount, MGM, Sony Pictures Entertainment, Universal и Warner Bros. Studios, в 2004 году. В этом же году в первую часть стандарта JPEG2000 были внесены поправки посвященные цифровому кино.
Для цифрового кино хорошее сжатие было просто необходимым. Полуторачасовой фильм в разрешении 2К или 4K с разрядностью цветовых каналов 12 бит и частотой 24 кадр/с, сжатый с помощью JPEG2000 при стандартном битрейте в 250 Мбит/с, занимает в результате не более 160 гигабайт.
Алгоритм сжатия JPEG2000, благодаря которому мы можем наслаждаться прекрасным изображением в IMAX, основан на двух ключевых технологиях — дискретного вейвлет-преобразования (DWT) и встроенного блочного кодирования с оптимизированным усечением (EBCOT). У каждого из них своя важная роль:
- DWT создает многомасштабное представление картинки для выделения пространственных и частотных компонент изображения. Это позволяет, например, просматривать фильм, сохранённый с разрешением 4K, в разрешении 2K;
- EBCOT позволяет упорядочивать информацию о пикселях каждого кодируемого блока по важности, обеспечивая таким образом плавное ухудшение качества картинки при увеличении степени сжатия.
Особенности формата: 12 бит и опция сжатия без потерь
Итак, поговорим о JPEG2000, его особенностях и областях применения. Почему же картинка в JP2 такая сочная? Глубина цвета! Одним из практически важных достоинств формата является работа с данными большой битности. Проще говоря, он позволяет описывать один пиксель изображения, используя большее количество бит, чем может отображать монитор, не предназначенный для профессиональной работы с цветом, а, значит, и хранить больше информации о цвете. Сравните изображения в привычном JPEG (8 бит на канал) с изображением в уже упоминаемом IMAX, где используются 12-битные изображения. 8-битная картинка просто не способна передать такой диапазон цвета и яркости, как 12-битная, в результате качество изображения отличается принципиально.
Ещё одним немаловажным достоинством алгоритма JPEG2000 является соотношение между коэффициентом сжатия и качеством изображения (измеренным по любой метрике). От сжатия зависит, сколько будет "весить" файл, а, соответственно, и как быстро будет осуществляться его передача. Также от сжатия зависит и качество восстановленного изображения — наличие артефактов, согласитесь, никого не приводит в восторг.
Благодаря использованию вейвлетов (DWT) при высоких степенях сжатия изображения в JP2 не обзаводятся такими бросающимися в глаза артефактами, как у его предшественника JPEG — при сжатии проявляются границы квадратов 8x8 пикселей. Полностью артефактов избежать невозможно, но визуально они куда менее заметны. В результате, JPEG2000 позволяет сжимать изображения сильнее, а терять в качестве гораздо меньше, чем при таких же степенях сжатия позволяет JPEG. Более подробное сравнение JPEG2000 с JPEG вы можете найти в одной из наших статей.
Стоит отметить, что JPEG2000 позволяет в рамках одной архитектуры сжимать как с потерями (изображение становится чуть более размытым при восстановлении), так и математически без потерь. Изображение, в зависимости от его содержимого, можно сжать без потерь до 2,5 раз, сократив при этом объем занимаемой им памяти до 60%. Конечно, всегда есть исключения, и не всякое изображение можно сжать настолько и совсем без потерь. Однако, для многих фотографий это вполне достижимо. В любом случае, такие возможности сжатия очень востребованы везде, где требуется длительное время в сжатом виде хранить большой объем данных: документацию, изображения и видео с сохранением возможности восстановления без потерь. Например, в библиотеках, музеях и т.д.
Сжатие без потерь актуально в задачах, где выполняется или в будущем будет выполняться глубокий анализ изображения или многоэтапная обработка (а каждый их этап может вносить дополнительные потери); там, где небольшие детали, полученные на пределе чувствительности камеры, могут иметь большое значение. Примеры: диагностика заболеваний на ранней стадии, исследования нанообъектов и процессов на пределе чувствительности микроскопа, изучение очень далёких космических объектов и процессов.
JPEG2000 в цифровом телевещании
Продолжая разговор о сжатии, нельзя не сказать о спортивных трансляциях, например футбольных и баскетбольных матчей. Во время трансляции ещё не сжатое видео с камеры передается на специальную приставку, где происходит сжатие изображений JPEG2000. Далее, уже в формате JP2, они передаются на сервер, где вновь идет перекодировка для создания видео, подходящего для нашего с вами просмотра. В данном случае важны как быстрая передача изображений, так и сохранность его качества. В JPEG2000 используется, уже упоминаемое, кодирование EBCOT, которое позволяет выбирать порядок хранения разрешений, слоёв качества, цветовых компонент и позиций. Благодаря ему JPEG2000 поддерживает динамическое распределение качества. Другими словами, он позволяет автоматически регулировать объём передаваемых данных в зависимости от пропускной способности канала. Таким образом на сервера быстро поступают изображения максимально возможного качества для данного IP-канала.
Продолжение следует...
Оригинальная статья: https://www.fastvideo.ru/blog/jpeg2000-applications-part1.htm