JPEG-LS - стандарт сжатия без потерь (в котором, однако, предусмотрен также режим сжатия с ограниченными потерями), представленный группой экспертов в области фотографии (Joint Photographic Experts Group) в дополнение к известным форматам сжатия изображений JPEG и JPEG 2000, ориентированным прежде всего на сжатие с потерями.
Формат JPEG-LS
Формат JPEG-LS был основан на формате LOCO-I (Low Complexity Lossless Compression for Images)[1]. Алгоритм сжатия без потерь LOCO-I, принятый за основу при разработке стандарта JPEG-LS, впервые предусматривал не только lossless, но и near lossless режим (сжатие с ограниченными, задаваемыми пользователем потерями). Декодер JPEG-LS почти не отличается от кодера, поэтому этот алгоритм сжатия симметричный.
[1]
Алгоритм сжатия, лежащий в основе JPEG-LS, использует адаптивное предсказание значения текущего пиксела по окружению, включающему уже закодированные пикселы (метод Median Edge Detection), классификацию контекста, контекстное моделирование ошибки предсказания и её коррекцию, а также энтропийное кодирование скорректированной ошибки предсказания (используется кодирование Голомба-Райса)[2]. Для повышения эффективности кодирования низкоэнтропийных изображений (или фрагментов изображений) алгоритм предусматривает автоматический переход в режим кодирования длин серий, что позволяет использовать его для сжатия без потерь (или с ограниченными потерями) не только фотореалистических изображений, но и компьютерной графики.
Для цветных (многокомпонентных) изображений стандарт JPEG-LS не предписывает какого-то определённого метода преобразования цветовых компонент, поэтому программы, реализующие JPEG-LS, обычно предлагают выбрать одну схему из нескольких (независимое сжатие цветовых плоскостей, преобразование в стиле JPEG 2000 lossless mode и т. п.).
Применение
Формат JPEG-LS разрабатывался прежде всего для хранения изображений в медицинских целях, то есть для тех случаев, когда важно иметь большое изображение без малейших потерь качества. Как уже говорилось, за основу был взят формат LOCO-I, разработанный в стенах «HP Labs». Затем он был доработан совместными усилиями «Hewlett-Packard» и «Mitsubishi». Обе компании разрешили использовать их патенты на этот формат без оплаты лицензии, поэтому JPEG-LS можно встретить и в обычных программах для PC.
[2]
Конкурирующие форматы
Lossless JPEG
Lossless JPEG представляет собой дополнение к JPEG (и к JPEG-LS, несмотря на некоторое сходство в названии, отношения не имеет). В отличие от «обычного» JPEG, построенного на основе дискретного косинусного преобразования, Lossless JPEG использует схему предсказания значения пиксела по трём ближайшим соседям — верхнему, левому и верхнему левому пикселам, а для сжатия разницы между истинным и предсказанным значением пиксела использует энтропийное кодирование. В отличие от JPEG-LS алгоритм сжатия Lossless JPEG не предусматривает ни адаптивного предсказания значения кодируемого пиксела, ни контекстного моделирования ошибки предсказания. Для энтропийного кодирования ошибки предсказания Lossless JPEG использует код Хаффмана. В качестве альтернативного стандарт допускает использование арифметического кодирования, однако из-за патентных ограничений оно не нашло применения в практических реализациях Lossless JPEG. Этот метод не получил широкого распространения и не поддерживается популярными библиотеками IJG libraries.
JPEG 2000
JPEG 2000 также имеет режим сжатия без потерь (отличающийся от JPEG-LS), основанный на специальном целочисленном wavelet-фильтре (биортогональный 3/5). Сжатие без потерь в JPEG 2000 работает медленнее и оно менее эффективно, чем в JPEG-LS, как на искусственных, так и на фотореалистичных изображениях [3][4][5][6].
См. также
Примечания
Ссылки