Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

PGF ( Progressive Графика File ) является вейвлет -На растрового формата изображения , который использует без потерь и сжатие с потерями данных . PGF был создан для улучшения и замены формата JPEG . Он был разработан одновременно с JPEG 2000, но с упором на скорость, а не на степень сжатия . [ необходима цитата ]

PGF может работать с более высокими степенями сжатия, не тратя больше времени на кодирование / декодирование и без создания характерных «блочных и размытых» артефактов исходного стандарта JPEG на основе DCT . [2] Это также позволяет более сложные прогрессивные загрузки . [ необходима цитата ]

Цветовые модели [ править ]

PGF поддерживает широкий спектр цветовых моделей: «Информационный бюллетень PGF» (PDF) .

  • Оттенки серого с 1, 8, 16 или 31 битом на пиксель
  • Индексированный цвет с размером палитры 256
  • Цветное изображение RGB с 12, 16 (красный: 5 бит, зеленый: 6 бит, синий: 5 бит), 24 или 48 бит на пиксель
  • Цветное изображение ARGB с 32 битами на пиксель
  • Цветное изображение L * a * b с 24 или 48 битами на пиксель
  • Цветное изображение CMYK с 32 или 64 битами на пиксель

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

PGF утверждает, что обеспечивает улучшенное качество сжатия по сравнению с JPEG, добавляя или улучшая такие функции, как масштабируемость. Его эффективность сжатия аналогична исходному стандарту JPEG. PGF также поддерживает очень низкие и очень высокие степени сжатия (включая сжатие без потерь ). Способность конструкции обрабатывать очень большой диапазон эффективных скоростей передачи данных - одна из сильных сторон PGF. Например, чтобы уменьшить количество бит для изображения ниже определенного количества, рекомендуется сделать с первым стандартом JPEG уменьшить разрешение входного изображения перед его кодированием - что обычно не требуется для этой цели, когда используя PGF из-за его свойств масштабируемости вейвлетов.

Цепочка процесса PGF состоит из следующих четырех шагов:

  1. Преобразование цветового пространства (в случае цветных изображений)
  2. Дискретное вейвлет-преобразование
  3. Квантование (в случае сжатия данных с потерями)
  4. Иерархическое кодирование длин серий битовой плоскости

Преобразование компонентов цвета [ править ]

Первоначально изображения должны быть преобразованы из цветового пространства RGB в другое цветовое пространство, что приводит к трем компонентам , которые обрабатываются отдельно. PGF использует полностью обратимое модифицированное преобразование цвета YUV . Матрицы преобразования:

Компоненты цветности могут быть, но не обязательно, уменьшены в разрешении.

Вейвлет-преобразование [ править ]

Затем цветовые компоненты преобразуются вейвлет до произвольной глубины. В отличие от JPEG 1992, в котором используется дискретное косинусное преобразование размером блока 8x8 , PGF использует одно обратимое вейвлет-преобразование: округленную версию биортогонального вейвлет- преобразования CDF 5/3 . Этот банк вейвлет-фильтров в точности совпадает с обратимым вейвлет-фильтром, используемым в JPEG 2000. Он использует только целочисленные коэффициенты, поэтому выходной сигнал не требует округления (квантования) и не вносит шума квантования.

Квантование [ править ]

После вейвлет-преобразования коэффициенты скалярно квантуются, чтобы уменьшить количество битов для их представления за счет потери качества. Результатом является набор целых чисел, которые нужно закодировать побитно. Параметр, который можно изменить для установки окончательного качества, - это шаг квантования: чем больше шаг, тем сильнее сжатие и потеря качества. Если шаг квантования равен 1, квантование не выполняется (используется при сжатии без потерь). В отличие от JPEG 2000, PGF использует только степени двойки, поэтому значение параметра i представляет шаг квантования 2 i . Простое использование степени двойки не требует операций целочисленного умножения и деления.

Кодирование [ править ]

Результатом предыдущего процесса является набор поддиапазонов, которые представляют несколько шкал аппроксимации. Подполоса - это набор коэффициентов - целых чисел, которые представляют аспекты изображения, связанные с определенным частотным диапазоном, а также пространственную область изображения.

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

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

Только значимые коэффициенты сжимаются с помощью адаптивного кодера длины серии / Райса (RLR), потому что они содержат длинные серии нулей. Кодер RLR с параметром k (логарифмическая длина последовательности нулей) также известен как элементарный код Голомба порядка 2 k .

Сравнение с другими форматами файлов [ править ]

  • JPEG 2000 немного более экономичен при обработке естественных изображений. PSNR для той же степени сжатия составляет в среднем 3% лучшечем PSNR из PGF. Он имеет небольшое преимущество в степени сжатия, но более длительное время кодирования и декодирования. [2]
  • PNG (переносимая сетевая графика) более компактна при обработке изображений с большим количеством пикселей одного цвета.

Есть несколько самопровозглашенных преимуществ PGF перед обычным стандартом JPEG: [2]

  • Превосходная производительность сжатия : качество изображения (измеренное в PSNR ) для той же степени сжатия в среднем на 3% лучше, чем PSNR JPEG. При более низких скоростях передачи данных (например, менее 0,25 бит / пиксель для изображений в градациях серого) PGF имеет гораздо более значительное преимущество по сравнению с некоторыми режимами JPEG: артефакты менее заметны и практически отсутствует блокировка. Улучшение сжатия по сравнению с JPEG связано с использованием DWT .
  • Представление с несколькими разрешениями : PGF обеспечивает бесшовное сжатие нескольких компонентов изображения, при этом каждый компонент содержит от 1 до 31 бит на выборку компонента. Благодаря этой функции нет необходимости в отдельно сохраненных изображениях предварительного просмотра ( эскизах ).
  • Прогрессивная передача по точности разрешения, обычно называемая прогрессивным декодированием: PGF обеспечивает эффективную организацию кодовых потоков, которые прогрессивны по разрешению. Таким образом, после того, как будет получена меньшая часть всего файла, можно увидеть более низкое качество окончательного изображения, качество может быть улучшено монотонно, получая больше данных из источника.
  • Сжатие без потерь и с потерями : PGF обеспечивает сжатие без потерь и с потерями в единой архитектуре сжатия. Как с потерями, так и без потерь обеспечивается использование обратимого (целочисленного) вейвлет-преобразования.
  • Пространственная информация бокового канала : полностью поддерживаются прозрачность и альфа-плоскости
  • Извлечение ROI : Начиная с версии 5, PGF поддерживает извлечение областей интереса ( ROI ) без декодирования всего изображения.

Доступное программное обеспечение [ править ]

Автор опубликовал libPGF через SourceForge под лицензией GNU Lesser General Public License версии 2.0. [1] Xeraina предлагает бесплатный плагин для формата файлов Photoshop .8bi , консольный кодировщик и декодер Win32 , а также программы просмотра PGF на основе WIC для 32- и 64-битных платформ Windows. Другие приложения WIC, включая Photo Gallery , могут отображать изображения PGF после установки этой программы просмотра. [3]

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

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

  • Сравнение форматов графических файлов
  • Связанные форматы графических файлов : ECW , JPEG , JPEG 2000 , JPEG XR
  • Форматы файлов изображений
  • Сжатие изображения

Расширение файла [ править ]

Расширение файла .pgfи TLA PGF также используются для несвязанных целей:

  • Adobe Illustrator использовал формат прогрессивной графики до инкапсуляции PostScript .
  • PGF / TikZ использует формат переносимой графики в проекте PGF SourceForge .
  • XnView и Konvertor связывают расширение файла .pgfс графикой портфолио .

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

  1. ^ a b Кристоф Штамм (2015). "PGF libPGF.org" . Проект SourceForge libpgf . Проверено 14 сентября 2015 года . Внешняя ссылка в |work=( помощь )
  2. ^ a b c Кристоф Штамм. «PGF - новый прогрессивный формат файлов для сжатия изображений с потерями и без потерь» (PDF) . Архивировано из оригинального (PDF) 7 марта 2007 года . Проверено 13 марта 2014 .
  3. ^ "Загрузка PGF" . xeraina. 2013 . Проверено 14 марта 2014 .