Открыть сервисСервис

JBIG

JBIG — это стандарт сжатия изображений без потерь, разработанный Объединённой группой экспертов по фотографии (Joint Bi-level Image Experts Group). Он предназначен для эффективного сжатия двуцветных (бинарных) изображений, таких как факсимильные сообщения, штрих-коды, чертежи и текстовые документы. JBIG обеспечивает более высокую степень сжатия по сравнению с более ранними стандартами, такими как Group 3 и Group 4, используемыми в факсимильной связи.

История

Работа над стандартом JBIG началась в 1988 году. Группа экспертов была сформирована под эгидой Международной организации по стандартизации (ISO) и Международного союза электросвязи (ITU). Основной целью было создание алгоритма, который превзошёл бы существующие методы сжатия бинарных изображений, особенно для факсимильной связи, где объём передаваемых данных напрямую влиял на скорость и стоимость.

Первая версия стандарта, известная как JBIG1, была опубликована в 1993 году (ITU-T T.82 и ISO/IEC 11544). Она быстро заменила устаревшие стандарты Group 3 и Group 4 в ряде профессиональных приложений. В 2000 году был принят расширенный стандарт JBIG2 (ITU-T T.88 и ISO/IEC 14492), который значительно улучшил степень сжатия и добавил поддержку сжатия с потерями для определённых типов изображений, хотя основное назначение осталось сжатием без потерь.

Принцип работы

JBIG основан на использовании контекстного моделирования и арифметического кодирования. В отличие от простых методов, таких как кодирование длин серий (RLE), JBIG анализирует соседние пиксели, чтобы предсказать значение текущего пикселя.

Контекстное моделирование

Алгоритм использует «шаблон» — набор пикселей, расположенных вокруг текущего. Для каждого возможного состояния этого шаблона (контекста) ведётся статистика вероятности того, что текущий пиксель будет чёрным или белым. В JBIG1 используется шаблон из 10 соседних пикселей, что даёт 2¹⁰ = 1024 возможных контекста. JBIG2 может использовать более сложные шаблоны, что повышает точность предсказания.

Арифметическое кодирование

После определения вероятности для данного контекста, значение пикселя (0 или 1) кодируется с помощью арифметического кодера. Этот метод позволяет кодировать символы дробным числом бит, что близко к теоретическому пределу энтропии. В JBIG используется специальный адаптивный арифметический кодер (QM-кодер), который динамически обновляет вероятности по мере обработки изображения, что делает алгоритм эффективным для изображений с различной статистикой.

Прогрессивная передача

JBIG1 поддерживает прогрессивную передачу изображений. Изображение кодируется на нескольких уровнях детализации (пирамида разрешений). Приёмник может сначала получить грубое изображение низкого разрешения, а затем постепенно уточнять его, добавляя детали. Это полезно для медленных каналов связи, где пользователь может увидеть общий вид документа до завершения полной загрузки.

JBIG2

JBIG2 является значительным развитием стандарта. Он включает в себя несколько ключевых улучшений:

  • Сегментация изображения: Алгоритм разделяет изображение на три типа областей: текст, полутоновые изображения и произвольные двоичные данные. Для каждого типа применяется свой метод сжатия.
  • Сжатие текста: Для текстовых областей JBIG2 использует метод «мягкого сопоставления с образцом» (soft pattern matching). Он находит повторяющиеся символы (например, буквы «а» или «е») и кодирует их как ссылки на один общий шаблон, что даёт очень высокую степень сжатия для документов с большим объёмом текста.
  • Сжатие с потерями: В режиме с потерями JBIG2 может отбрасывать незначительные детали (например, сглаживание шрифтов), что ещё больше увеличивает степень сжатия при сохранении читаемости текста.
  • Улучшенное сжатие полутонов: Для полутоновых изображений (например, фотографий, преобразованных в бинарный вид) JBIG2 использует адаптивные методы, основанные на контекстном моделировании, что превосходит JBIG1.

Применение

JBIG нашёл применение в нескольких областях, где требуется эффективное сжатие бинарных изображений:

  • Факсимильная связь: JBIG1 и JBIG2 используются в современных факс-аппаратах и программных факс-серверах для сокращения времени передачи и затрат на связь. JBIG2 может сжимать факсимильные документы в 2-4 раза сильнее, чем Group 4.
  • Сканирование документов: Профессиональные сканеры и системы управления документами (DMS) часто используют JBIG2 для сжатия отсканированных страниц. Это позволяет хранить большие архивы документов в компактном виде.
  • Электронные книги и PDF: JBIG2 является одним из стандартных методов сжатия для изображений в формате PDF. Он используется для сжатия чёрно-белых страниц, особенно в документах с большим объёмом текста.
  • Оцифровка книг: Проекты по оцифровке книг (например, Google Books, Internet Archive) активно используют JBIG2 для сжатия сканов страниц. Это позволяет экономить место на серверах и ускоряет загрузку страниц пользователями.
  • Медицинские изображения: В некоторых медицинских системах, где используются бинарные изображения (например, рентгеновские снимки в бинарном формате), JBIG может применяться для сжатия без потерь.

Сравнение с другими стандартами

ХарактеристикаGroup 3/4JBIG1JBIG2
Тип сжатияБез потерьБез потерьБез потерь / с потерями
МетодКодирование длин серийКонтекстное моделирование + арифметическое кодированиеСегментация + мягкое сопоставление с образцом
Степень сжатия1x (базовый уровень)В 2-3 раза выше Group 3/4В 4-8 раз выше Group 3/4
Прогрессивная передачаНетДа (JBIG1)Нет (в основной версии)
СложностьНизкаяСредняяВысокая
Основное применениеФакс, простые сканерыФакс, сканеры, архивыPDF, оцифровка книг, профессиональные сканеры

Критика и ограничения

Несмотря на высокую эффективность, JBIG имеет ряд ограничений:

  • Высокая вычислительная сложность: Алгоритмы JBIG, особенно JBIG2, требуют значительных вычислительных ресурсов для кодирования и декодирования по сравнению с простыми методами. Это может быть проблемой для устройств с ограниченной производительностью (например, старые факс-аппараты).
  • Специализация: JBIG оптимизирован для бинарных изображений. Для цветных или полутоновых изображений существуют более эффективные стандарты, такие как JPEG (с потерями) или JPEG 2000 (с потерями и без потерь).
  • Патентные ограничения: В прошлом существовали патентные споры, связанные с арифметическим кодированием, используемым в JBIG. Хотя большинство ключевых патентов уже истекли, это могло сдерживать его широкое внедрение в некоторых программных продуктах.
  • Неэффективность для некоторых типов изображений: Для изображений с высокой степенью детализации (например, сложные чертежи с множеством линий) JBIG может не давать такого выигрыша, как для текстовых документов.

Интересные факты

  • JBIG2 способен сжимать чёрно-белые страницы текста до размеров, в 10-20 раз меньших, чем несжатый формат, и в 2-4 раза меньших, чем сжатый с помощью Group 4.
  • Алгоритм мягкого сопоставления с образцом в JBIG2 фактически является формой распознавания символов (OCR), но без их семантической интерпретации — он просто находит повторяющиеся формы.
  • JBIG используется в некоторых моделях сканеров для автоматической подачи документов (ADF), где требуется высокая скорость сканирования и сжатия.

Источники

  • ITU-T Recommendation T.82 (JBIG1)
  • ITU-T Recommendation T.88 (JBIG2)
  • ISO/IEC 11544 (JBIG1)
  • ISO/IEC 14492 (JBIG2)
  • Salomon, D. (2007). Data Compression: The Complete Reference. Springer.
  • Sayood, K. (2017). Introduction to Data Compression. Morgan Kaufmann.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru