.JP2 вариант №
JPEG 2000 (JP2) — это система кодирования изображений и современный стандарт сжатия изображений. Он использует технологию вейвлета для одновременного кодирования контента без потерь любого качества. Более того, без существенного снижения эффективности кодирования, JPEG 2000 имеет возможность доступа и эффективного декодирования одного и того же контента во множество других разрешений и качеств. Потоки кода в JPEG 2000 значительно масштабируемы, имея интересующие области, которые обеспечивают возможность пространственного произвольного доступа.
JPEG 2000 выделяется как один из самых масштабируемых стандартов. Различные части изображения могут быть сохранены с использованием различных качеств. Заметного повышения производительности можно добиться, упорядочив кодовый поток различными способами. Тем не менее, JP2 требует сложных и вычислительно сложных кодеров/декодеров, как результат этой гибкости. По сравнению с JPEG, JPEG 2000 создает только артефакты звона, которые создают кольца возле края изображения и могут быть размытыми, в то время как JPEG использует блоки визуальных артефактов 8×8, которые могут быть как звонами, так и блокирующими артефактами. Обладая до 16384 различных компонентов с размерами в терапикселях и точностью, которая может достигать 38 бит/выборка.
История
В 2000 году комитет Объединенной группы экспертов по фотографии разработал JP2 с целью улучшить свой собственный стандарт JPEG на основе дискретного косинусного преобразования с помощью этого нового метода на основе вейвлета. Комитет JPEG стремился предоставить свои базовые методы без лицензионных отчислений. В лицензии JP2, выиграв конкуренцию среди 20 компаний, они выиграли с минимальным отрывом. JPEG 2000 был объявлен стандартом ISO, хотя большинство веб-браузеров не готовы протянуть руку помощи JPEG 2000 с 2017 года.
Части системы кодирования изображений JPEG 2000
Ниже приведены основные части, составляющие полный набор стандартов для JPEG 2000.
Часть | Название | Описание | Номер |
---|---|---|---|
Часть 1 | Основная система кодирования | Определяет синтаксис потока кода. Различные этапы декодирования изображений JPEG 2000. Объясняет базовый формат файла JP2, метаданные и предоставляемые права интеллектуальной собственности. | ISO/IEC 15444-1 |
Часть 2 | Расширения | Определяет расширения для потока кода формата файла и позволяет демонстрировать образцы HDR, спецификацию цветового пространства, обрезку, геометрические преобразования; разнообразная анимация, метаданные и множественный кодовый поток. | ISO/IEC 15444-2 |
Часть 3 | Motion JPEG 2000 (MJ2 или MJP2) | Введение формата файла для последовательностей движения, кодирующего изображения в независимом кодовом потоке. | ISO/IEC 15444-3 |
Часть 4 | Соответствие | Указывает методы тестирования для кодирования и декодирования и проверяет файлы как для потоков чистого кода, так и для файлов JP2. | ISO/IEC 15444-4 |
Часть 5 | Эталонное программное обеспечение | Включает два пакета исходного кода (Java, C), которые реализуют систему кодирования Core и доступны по лицензиям с открытым исходным кодом. | ISO/IEC 15444-5 |
Часть 6 | Формат составного файла изображения | Определяет формат файла JPM и позволяет создавать изображения многостраничных документов для приложений, подобных факсу. Поддерживает использование JBIG2 и JPEG. | ISO/IEC 15444-6 |
Часть 8 | JPEG 2000 Secured (JPSEC) | Обеспечивает безопасность транзакций, контента и технологий, а также позволяет использовать защищенные битовые потоки JPEG 2000. | ISO/IEC 15444-8 |
Часть 9 | JPIP | Определяет инструменты в сетевой среде для доступа к метаданным и изображениям, а также устанавливает интерактивные и эффективные протоколы | ISO/IEC 15444-9 |
Часть 10 | JP3D | Объемное расширение части 1 и вводит измерение Z. Расширяет концепцию плиток, кодовых блоков, границ и трехмерных областей интереса. | ISO/IEC 15444-10 |
Часть 11 | JPWL | Рассматривает хорошо организованную передачу по подверженной ошибкам беспроводной сети. Это расширение совместимо с декодерами | ISO/IEC 15444-11. |
Часть 13 | Кодер начального уровня | Определяет реализацию кодера начального уровня базовой системы кодирования. | ISO/IEC 15444-13 |
Часть 14 | JPXML | Представление в XML и объясняет сегменты маркеров и методы доступа к внутренним данным изображений. | ISO/IEC 15444-14 |
Часть 15 | HTJ2K (в разработке) | Определяет альтернативный алгоритм блочного кодирования. Алгоритм предлагает десятикратно увеличенную пропускную способность и кодирование/декодирование без потерь. |
Формат файла JP2
JPEG 2000 определяет формат файла, а также кодовый поток так же, как JPEG-1. Хотя образцы изображений описываются исключительно JPEG 2000, JPEG-1 включает другую дополнительную информацию о цветовом пространстве и разрешении, необходимую для кодирования изображения. Если изображение хранится как файл JPEG 2000, в качестве расширения используется .jp2. Этот формат файла дополнительно улучшен расширением JPEG 2000 часть-2, которое определяет механизмы анимации и конфигурацию многочисленных потоков кода в одном изображении. Расширение .jpx используется, когда изображения сохраняются с использованием этого расширенного формата файла. Поскольку данные кодового потока не считаются сохраненными в основном в файлах, для этой цели не определено стандартное расширение. Хотя в целях тестирования он часто получает расширение .jpc или .j2k. В отличие от JPEG-1, JPEG 2000 выбирает другой способ кодирования метаданных в формате XML. Стандарт 12234-1.4 (комитет ISO TC42) используется в качестве ссылки между тегами Exif и компонентами XML. JPEG 2000 может содержать стандарт ISO, XMP внутри.
Кусочки
Файлы JPEG 2000 состоят из последовательных фрагментов. Каждый чанк имеет 8-байтовый заголовок: 4-байтовый размер чанка (с обратным порядком байтов, старший байт вперед) и 4-байтовый тип чанка - одна из предопределенных сигнатур: “jP” или “jP2”.
Второй фрагмент должен быть типа “ftyp” и иметь подтип по смещению 8. JPEG 2000 определяется подтипом, который должен быть одним из значений: “jp2” (тип файла *.JP2), “jp20” (файл тип *.JPA), “jpm” (тип файла *.JPM), “jpx” (тип файла *.JPX).
Перебирая фрагменты, пока не будет обнаружен неизвестный тип, мы создаем файл изображения/видео JPEG 2000.
Преобразование цвета
Первоначально требуется преобразование изображений из цветового пространства RGB в другое цветовое пространство. Для этого существует два способа: необратимое преобразование цвета (ICT) и обратимое преобразование цвета (RCT). В первом используется цветовое пространство YC,,B,,C,,R,, и оно должно быть реализовано в фиксированной/плавающей точке, тогда как позднее используется модифицированное цветовое пространство YUV и обратимый характер.// //Не ограничивается моделью RGB, JPEG Язык 2000 использует многокомпонентное преобразование.
Плитка
Когда преобразование цвета выполнено, изображение преобразуется в прямоугольные области, называемые плитками, которые можно преобразовывать и кодировать отдельно. Размер всех плиток будет одинаковым или все изображение можно рассматривать как одну плитку. Декодер использует тайлы и потребляет меньше памяти или может частично кодировать некоторые тайлы. Хотя этот метод имеет недостаток в виде ухудшения качества изображения.
Вейвлет-преобразование
Изображение после тайлинга подвергается вейвлет-преобразованию, которое может быть необратимым или обратимым и реализуется с использованием схемы свертки или подъема.
Степень сжатия
В зависимости от физических характеристик изображения достигается усиление сжатия на 20%. Предсказание пространственной избыточности JPEG 2000 играет жизненно важную роль в процессе сжатия, и изображения с высоким разрешением, как правило, получают наибольшее преимущество.
Приложения, обслуживаемые стандартом
- Запись, редактирование и хранение покадровых HD-видео
- Медицинские изображения и биометрия
- спутниковые снимки, дистанционное зондирование и обнаружение движения
- Взаимодействие клиент/сервер, сетевое распределение и хранение.
- Цифровой кинотеатр, прямые трансляции HDTV, оцифрованные аудиовизуальные материалы