Jump to content

JBIG2

JBIG2
Тип интернет-СМИ изображение/x-jbig2
Разработано Объединенная группа экспертов по двухуровневым изображениям
Последний выпуск
2
Содержится Портативный формат документов , ФАКС
Стандартный МСЭ Т.88 и ИСО / МЭК 14492

JBIG2 стандарт сжатия изображений для двухуровневых изображений , разработанный Joint Bi-level Image Experts Group . Он подходит как для сжатия без потерь , так и для сжатия с потерями . Согласно пресс-релизу [1] от группы, в режиме без потерь JBIG2 обычно генерирует файлы в 3–5 раз меньше, чем Fax Group 4 , и в 2–4 раза меньше, чем JBIG , предыдущий стандарт двухуровневого сжатия, выпущенный группой. JBIG2 был опубликован в 2000 году как международный стандарт ITU T.88. [2] и в 2001 году как ISO / IEC 14492. [3]

Функциональность [ править ]

В идеале кодировщик JBIG2 сегментирует входную страницу на области текста, области полутоновых изображений и области других данных. Области, которые не являются ни текстом, ни полутонами, обычно сжимаются с использованием контекстно-зависимого арифметического алгоритма кодирования , называемого кодером MQ. Текстовые области сжимаются следующим образом: пиксели переднего плана в регионах группируются в символы. Затем создается и кодируется словарь символов, обычно также с использованием контекстно-зависимого арифметического кодирования, а регионы кодируются путем описания того, какие символы где появляются. Обычно символ соответствует символу текста, но для метода сжатия это не требуется. При сжатии с потерями можно пренебречь разницей между похожими символами (например, слегка отличающимися отпечатками одной и той же буквы); при сжатии без потерь эта разница учитывается путем сжатия одного аналогичного символа с использованием другого в качестве шаблона. Полутоновые изображения можно сжимать путем восстановления изображения в оттенках серого, используемого для создания полутонов, а затем отправки этого изображения вместе со словарем полутоновых шаблонов. [4] В целом алгоритм, используемый JBIG2 для сжатия текста, очень похож на схему сжатия JB2, используемую в формате файлов DjVu для кодирования двоичных изображений.

Файлы PDF версии 1.4 и выше могут содержать данные, сжатые с помощью JBIG2. Декодеры с открытым исходным кодом для JBIG2: jbig2dec. [5] ( AGPL ), jbig2-imageio на основе Java. [6] ( Apache-2 ), jbig2.js на основе JavaScript. [7] ( Apache-2 ) и декодер от Glyph & Cog LLC, найденный в Xpdf и Poppler. [8] (обе под лицензией GPL ). Кодировщик с открытым исходным кодом — jbig2enc. [9] ( Апач-2 ).

Технические подробности [ править ]

Обычно двухуровневое изображение состоит в основном из большого количества текстовых и полутоновых данных, в которых одни и те же фигуры появляются неоднократно. Двухуровневое изображение сегментировано на три области: текстовую, полутоновую и общую. Каждый регион кодируется по-разному, и методологии кодирования описаны в следующем отрывке.

Текстовые данные изображения [ править ]

Кодирование текста основано на природе визуальной интерпретации человека. Человек-наблюдатель не может отличить два экземпляра одних и тех же символов в двухуровневом изображении, даже если они не могут точно совпадать по пикселям. Следовательно, необходимо кодировать только растровое изображение одного экземпляра репрезентативного символа вместо кодирования растровых изображений каждого появления одного и того же символа по отдельности. Для каждого экземпляра символа закодированный экземпляр символа затем сохраняется в «словаре символов». [10] Существует два метода кодирования данных текстового изображения: сопоставление и замена шаблона (PM&S) и мягкое сопоставление шаблонов (SPM). [11]

Блок-схемы (слева) метода сопоставления и подстановки с образцом и (справа) метода мягкого сопоставления с образцом

Сопоставление и замена шаблонов (PM&S) — более классический метод кодирования. Кодер выполняет сегментацию изображения для выделения фрагментов размером с символ. Для каждого отдельного фрагмента кодировщик ищет совпадение в словаре растровых изображений. Если совпадение существует, мы кодируем индекс соответствующего репрезентативного растрового изображения в словаре и положение символа на странице. Позиция обычно определяется относительно другого ранее закодированного символа. Если совпадение не найдено, сегментированный блок пикселей кодируется напрямую и добавляется в словарь. Типичные процедуры сопоставления с образцом и алгоритм замены показаны на левой блок-схеме рисунка выше. Хотя метод PM&S позволяет добиться превосходного сжатия, во время процесса могут быть допущены ошибки замены, если разрешение изображения низкое. [11]

JBIG2 улучшает PM&S за счет дополнительного программного сопоставления с образцом (SPM). Выполняется та же самая сегментация и поиск, но для каждого найденного совпадения кодер сохраняет не только соответствующую словарную статью, но и уточняющие данные, описывающие разницу между фактическим куском и куском словаря. Это значительно снижает количество ошибок замены. [10] [а] Поскольку для сопоставления словаря требуется, чтобы фактический символ и символ словаря были очень похожи, SPM добавляет лишь небольшой объем данных. [11]

Полутона [ править ]

Полутоновые изображения можно сжимать двумя способами. Один из методов аналогичен алгоритму контекстно- арифметического кодирования , который адаптивно позиционирует пиксели шаблона для получения корреляций между соседними пикселями. Во втором методе растрирование выполняется для полутонового изображения, так что изображение снова преобразуется в оттенки серого. Преобразованные значения оттенков серого затем используются в качестве индексов крошечных растровых шаблонов фиксированного размера, содержащихся в словаре растровых изображений полутонов. Это позволяет декодеру успешно визуализировать полутоновое изображение, представляя индексированные словарные растровые шаблоны, соседствующие друг с другом. [10]

Энтропийное кодирование [ править ]

Все три типа областей, включая текстовые, полутоновые и общие области, могут использовать арифметическое кодирование или кодирование Хаффмана. JBIG2 специально использует кодер MQ , тот же энтропийный кодер, который используется в JPEG 2000 .

Патенты [ править ]

Патенты на JBIG2 принадлежат IBM и Mitsubishi. Бесплатные лицензии должны быть доступны по запросу. Патенты JBIG и JBIG2 — это не одно и то же. [13] [14] [15]

Ошибки подстановки символов в отсканированных документах [ править ]

Некоторые реализации JBIG2, использующие сжатие с потерями, потенциально могут изменять символы в документах, сканируемых в PDF. В отличие от некоторых других алгоритмов, в которых артефакты сжатия , такие как размытие. очевидны [16] или шум комаров JBIG2 , функция сопоставления с образцом находит похожие символы. Если сопоставление реализовано плохо, особенно при сканировании с низким разрешением, где символы менее четко определены, похожие символы могут быть ошибочно заменены. Но как заметил учёный-компьютерщик Дэвид Кризель, обнаруживший такую ​​проблему, как описано ниже, «причина ошибки не в самом JBIG2» . [17]

произошли различные замены (включая замену «6» на «8») Сообщалось , что в 2013 году на многих Xerox Workcentre копировальных машинах и принтерах . Числа, напечатанные на отсканированных (но не оптических ) документах, потенциально могли быть изменены. Это было продемонстрировано на строительных чертежах и некоторых таблицах цифр; потенциальное влияние таких ошибок замены в таких документах, как медицинские рецепты . было кратко упомянуто [17] [18] [19] Немецкий ученый-компьютерщик Дэвид Кризель и компания Xerox исследовали это. [20] [21]

Впоследствии Xerox признала, что это был давний дефект программного обеспечения, и их первоначальные заявления о том, что только не заводские настройки могут привести к замене, были неверными. Не было предпринято никаких попыток отозвать или потребовать обновления затронутых устройств, что, как было признано, затронуло более десятка семейств продуктов. Однако в августе 2013 года программный патч , который при установке автоматически отключал сопоставление с образцом. был доступен [22] Ранее отсканированные документы по-прежнему потенциально содержат ошибки, что затрудняет подтверждение их правдивости. После публикации информации о возможных ошибках власти некоторых стран выступили с заявлениями о запрете использования JBIG2. [23]

В Германии Федеральное управление информационной безопасности выпустило техническое руководство, в котором говорится, что кодировка JBIG2 «НЕ ДОЛЖНА использоваться» для «замещающего сканирования». [24] В Швейцарии Координационное бюро постоянного архивирования электронных документов рекомендовало не использовать JBIG2 при создании PDF-документов. [25]

Эксплойт [ править ]

Уязвимость в реализации JBIG2 в формате Xpdf , повторно использованная в операционной системе телефона iOS от Apple , использовалась шпионским ПО Pegasus для реализации атаки с нулевым щелчком мыши на iPhone путем создания эмулируемой компьютерной архитектуры внутри потока JBIG2. Apple исправила эту уязвимость FORCEDENTRY в iOS 14.8 в сентябре 2021 года. [26]

См. также [ править ]

Ссылки [ править ]

  1. ^ Если данные уточнения используются без какого-либо порога различия, кодирование будет полностью без потерь . Это может быть менее эффективно, чем просто пометить всю страницу как «общую область» для прямого арифметического кодирования. [12]
  1. ^ Пресс-релиз Объединенной группы экспертов по двухуровневым изображениям. Архивировано 15 мая 2005 г. в Wayback Machine .
  2. ^ «Рекомендации МСЭ-Т T.88 – T.88: Информационные технологии. Кодированное представление изображения и аудиоинформации. Кодирование с потерями/без потерь двухуровневых изображений» . Проверено 19 февраля 2011 г.
  3. ^ «ISO/IEC 14492:2001 – Информационные технологии – Кодирование двухуровневых изображений с потерями/без потерь» . Проверено 19 февраля 2011 г.
  4. ^ JBIG2 - окончательный стандарт двухуровневого кодирования изображений , авторы Ф. Оно, В. Раклидж, Р. Арпс и К. Константинеску, в материалах Международной конференции по обработке изображений 2000 г. (Ванкувер, Британская Колумбия, Канада), том. 1, стр. 140–143.
  5. ^ Домашняя страница декодера jbig2dec .
  6. ^ Плагин декодера jbig2-imageio для Java ImageIO.
  7. ^ jbig2.js для PDF.js. Декодер
  8. ^ Декодер JBIG2Stream от Glyph & Cog LLC.
  9. ^ jbig2enc . Главная страница проекта кодировщика
  10. ^ Jump up to: Перейти обратно: а б с Ф. Оно, В. Раклидж, Р. Арпс и К. Константинеску, «JBIG2 - окончательный стандарт двухуровневого кодирования изображений», Обработка изображений, 2000. Труды. Международная конференция 2000 г., вып. 1, стр. 140–143 т. 1. С. 140–143. 1, 2000.
  11. ^ Jump up to: Перейти обратно: а б с П. Ховард, Ф. Коссентини, Б. Мартинс, С. Форчхаммер и В. Раклидж, «Новый стандарт JBIG2», Схемы и системы для видеотехнологий, IEEE Transactions on, vol. 8, нет. 7, стр. 838–848, ноябрь 1998 г.
  12. ^ Лэнгли, Адам. «jbig2enc: Документация» . Гитхаб . Мы можем сделать это для каждого символа на странице, поэтому нам не нужно уточнять, когда мы отклоняемся всего на пару пикселей. Если мы будем уточнять всякий раз, когда мы [так в оригинале] выбираем неправильный пиксель, мы получим кодирование без потерь с использованием символов.
  13. ^ Какова патентная ситуация с JBIG? , заархивировано из оригинала 23 февраля 2012 г.
  14. ^ Что такое JBIG2? , заархивировано из оригинала 14 апреля 2012 г. , получено 7 апреля 2012 г.
  15. ^ Патенты JBIG2 , заархивировано из оригинала 29 сентября 2017 г. , получено 7 апреля 2012 г.
  16. ^ Чжоу Ван, Хамид Р. Шейх и Алан К. Бовик (2002). «Безреферентная оценка качества восприятия изображений, сжатых в формате JPEG». Материалы Международной конференции по обработке изображений 2002 г. (PDF) . Архивировано из оригинала (PDF) 2 ноября 2013 г.
  17. ^ Jump up to: Перейти обратно: а б «Сканеры/копировальные аппараты Xerox случайным образом меняют номера в отсканированных документах» . 02 августа 2013 г. Проверено 4 августа 2013 г.
  18. ^ «Растерянные ксероксы переписывают документы, выяснил эксперт» . Новости Би-би-си . 06.08.2013 . Проверено 6 августа 2013 г.
  19. ^ «Сканеры/копировальные машины Xerox случайным образом меняют числа» . Лента шрифтов . 5 августа 2013 г. Архивировано из оригинала 26 октября 2017 г.
  20. ^ «Xerox изучает результаты последних испытаний на искажение» . 11 августа 2013 г. Проверено 11 августа 2013 г.
  21. ^ Обновление по проблеме сканирования: грядут исправления программного обеспечения , Xerox (блог), 11 августа 2013 г., заархивировано из оригинала 04 ноября 2013 г. , получено 11 августа 2013 г.
  22. ^ Корпорация Xerox. Технический документ по сканированию и сжатию , 2013 г.
  23. ^ Кризель, Дэвид. «Видео и слайды моего выступления на Xerox в 31C3» . Д. Кризель Наука о данных, машинное обучение, барбекю, фотографии и муравьи в террариуме . Проверено 31 июля 2016 г.
    Примечание. Видео дублировано на английском языке; если вы понимаете немецкий, возможно, вам будет легче следовать оригиналу: Дэвид Кризель: Не доверяйте скану, который вы не подделали сами.
  24. ^ «Технические рекомендации BSI 03138: Запасное сканирование» (PDF) . Проверено 28 декабря 2021 г.
  25. ^ «Сжатие JBIG2» . Проверено 28 декабря 2021 г.
  26. ^ Пиво, Ян; Гросс, Самуэль (15 декабря 2021 г.). «Проект Ноль: глубокое погружение в эксплойт NSO iMessage с нулевым щелчком мыши: удаленное выполнение кода» . Google Проект Ноль . Проверено 16 декабря 2021 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 02a0fcab822518f0a40948ebeafd3cfa__1712011980
URL1:https://arc.ask3.ru/arc/aa/02/fa/02a0fcab822518f0a40948ebeafd3cfa.html
Заголовок, (Title) документа по адресу, URL1:
JBIG2 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)