1 of 23

Обзор стандарта JPEG2000

2 of 23

План занятия:

  • особенности и обзор областей применения JPEG2000;
  • обзор технологии JPEG2000;
  • сравнение технологий сжатия изображений JPEG2000 и JPEG

3 of 23

Технология JPEG позволяет использовать следующие алгоритмы сжатия:

  • базовая система сжатия JPEG, которая является простым и эффективным алгоритмом сжатия изображений с потерями, использующим дискретное косинусное преобразование (ДКП) и метод сжатия Хаффмана, работает с 8-ми битными изображениями и только в последовательном режиме;
  • расширенная система сжатия изображений (иерархическое и прогрессивное кодирование), которая является улучшением базовой системы сжатия и используется в ограниченном количестве приложений;
  • режим сжатия без потерь, основанный на предсказывающем кодировании и использующий как метод Хаффмана, так и алгоритм арифметического кодирования, но не использует ДКП

4 of 23

Области применения JPEG2000

  • графические редакторы: Corel Draw, Photoshop (плагин), XnView, GIMP (дополнение) и т.п.;
  • устройства обработки мультимедиа: цифровых камерах, устройства обработки данных, в мобильной связи (при передаче данных по сетям 3G, факсимильной связи, принтерах, сканерах…);
  • при организации клиент-серверной архитектуры: Интернет-сайты, базы цифровых изображений, видеосвязь, мультимедиа сервер;
  • при передаче данных со спутников в HD-качестве, датчиках движения, вычислительных сетях, в системах видеонаблюдения;
  • обработка медицинских изображений;
  • дистанционное зондирование Земли;
  • запись видео высокого разрешения, хранение и редактирование видеофайлов

5 of 23

Особенности JPEG2000:

  • более производительное сжатие, чем у JPEG;
  • сжатие с потерями и без потерь;
  • возможность управления разрешением изображения;
  • организация вложенного битового потока, позволяющего осуществлять прогрессивное декодирование и управлять значением отношения SNR;
  • разбиение на непересекающиеся прямоугольные блоки, tiling;
  • кодирование выбранной области (Region of Interest Coding);
  • коррекция ошибок;
  • произвольный доступ к элементам кодового потока и их обработка;
  • более гибкий формат файлов

6 of 23

Схема сжатия JPEG2000 (сравните с JPEG!!!):

7 of 23

Препроцессинг изображения:

  • Разбиение изображения на тайлы (tiling) – необязательно
  • Битовый сдвиг коэффициентов
  • Цветовое преобразование (необратимое (ICT) и обратимое (RCT))

8 of 23

Дискретное вейвлет-преобразование (ДВП)

  • Двумерное ДВП – расширение одномерного ДВП, являющегося совокупностью низкочастотных и высокочастотных фильтров (банк фильтров)

9 of 23

Двумерное вейвлет-преобразование

  • Выполняется с помощью одномерного ДВП (банка фильтров) сначала применительно к строкам, а затем к столбцам изображения (двумерное преобразование – комбинация из двух одномерных преобразований).
  • Возможен выбор из двух фильтров: LeGall (9,7) и Daubechi (5,3)

10 of 23

Разложение исходного изображения с помощью вейвлета Хаара и подполосы

11 of 23

Квантование в JPEG2000

  • Применяется скалярное квантование с «центральной мертвой зоной»

  • Квантователь – это функция, сопоставляющая каждому коэффициенту интервал на прямой

12 of 23

Энтропийное кодирование – кодер первого уровня

  • На блок энтропийного кодирования для организации битового потока подаются индексы, полученные на этапе квантования, передаются на блок энтропийного кодирования. В стандарте предусмотрены кодеры двух уровней: кодер первого уровня осуществляет арифметическое кодирование битовых плоскостей, кодер второго уровня отвечает за организацию вложенного кодового потока (пакетизация)
  • Применяется алгоритм EBCOT – embedded block coding with optimal truncation – вложенное блочное кодирование с оптимальным усечением кодового потока

13 of 23

Зоны и кодовые блоки

14 of 23

Порядок обхода кодовых блоков

15 of 23

Арифметическое кодирование битовых плоскостей:

16 of 23

Кодовые плоскости кодируются в три прохода

  • кодирование старших бит (significance propagation pass). Выполняя этот проход, кодируются незначимые коэффициенты, у которых высокая вероятность стать значимыми. Данные в кодовых блоках сканируются в порядке, изображенном на слайде.14, и кодируется каждый элемент, у которого есть хотя бы один значимый сосед (состояние основано на анализе уже закодированной информации).
  • уточняющий проход (refinement pass). В процессе выполнения этого прохода, кодируется коэффициент (magnitude bit), который уже стал значимым в предыдущей битовой плоскости. Для этого используется три контекста.
  • очищающий проход (cleanup pass). В процессе выполнения этого прохода кодируются все оставшиеся коэффициенты в кодовом блоке после первых двух проходов. В общем случае, кодируются коэффициенты, у которых небольшая вероятность стать незначимыми.

17 of 23

Кодер второго уровня – организация битового потока

  • Гибкость кодового потока достигается благодаря включению в поток следующих структур: тайлы, подполосы, уровни разрешения и кодовых блоков. Использование такой структуры позволяет выделить в изображении:
  • цветовые каналы (через компоненты);
  • пространственные регионы (через тайлы);
  • частотные регионы (через подполосы и уровни разрешения);
  • пространственно-частотные регионы (через кодовые блоки)

18 of 23

Структура битового потока в JPEG2000

19 of 23

Дополнительная опция – кодирование регионов интереса (ROI-encoding)

  • Распространенный метод – метод MAXSHIFT (Rabbani):

20 of 23

Пример кодирования ROI:

21 of 23

Формат файлов

  • Два варианта: базовый JP2 и JPX: файловый формат JP2 является более простым и предназначен для использования в тех приложениях, у которых существуют ограничения на обработку цветных изображений (или же такие приложения могут обрабатывать только полутоновые изображения). Формат JPX позволяет работать с более широким спектром изображений, а также создавать комбинации изображений или анимации.

22 of 23

Выводы:

  • При использовании JPEG в изображение вносятся искажения и возникает эффект Гиббса (искажения на границах блоков, так как используем ДКП). Благодаря использованию ДВП при кодировании с помощью алгоритма сжатия JPEG2000 искажений не возникает.
  • JPEG2000 предусматривает возможность коррекции ошибок при сжатии, а также ряд дополнительных опций, например, кодирование областей интереса (ROI-encoding)
  • Возможность изменения количества бит на пиксель (битрейт) благодаря тому, что кроме кода передается R-D кривая. JPEG не предусматривает такой возможности

23 of 23

Задания к лекции:

  • проанализируйте преимущества, позволяющие говорить о JPEG2000 как о преемнике JPEG
  • сравните JPEG2000 с базовым алгоритмом JPEG и найдите различия в схемах кодирования изображения
  • проанализируйте материалы по JPEG2000 и выясните, почему было выбрано ДВП?
  • проаназизировав материалы по схеме лифтинга, выделите подходы к ее реализации
  • сравните подходы к квантованию в базовом алгоритме JPEG и стандарте JPEG2000 и выявите главные отличия
  • сравните подход к реализации энтропийного кодирования в JPEG и JPEG2000
  • найдите более подробное описание каждого этапа кодирования в JPEG2000