Файл прогрессивной графики

Формат файла

ПГФ
Расширение имени файла
.pgf
Тип интернет-СМИизображение/x-pgf
Магическое число504746ч ( ASCII PGF)
Разработаноксерайна ГмбХ
Первоначальный выпуск2000 ; 24 года назад ( 2000 )
Последний релиз
7.21.7
2021 ; 3 года назад ( 2021 )
Тип форматаФормат растрового изображения на основе вейвлетов
Расширенный отJPEG , PNG
Открытый формат ?LGPLv2 [1]

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

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

Цветовые модели

PGF поддерживает широкий спектр цветовых моделей:

Техническое обсуждение

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

Цепочка процесса PGF содержит следующие четыре этапа:

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

Преобразование цветовых компонентов

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

[ И г У г В г ] = [ 1 4 1 2 1 4 1 1 0 0 1 1 ] [ Р Г Б ] ; [ Р Г Б ] = [ 1 3 4 1 4 1 1 4 1 4 1 1 4 3 4 ] [ И г У г В г ] {\displaystyle {\begin{bmatrix}Y_{r}\\U_{r}\\V_{r}\end{bmatrix}}={\begin{bmatrix}{\frac {1}{4}}&{\frac {1}{2}}&{\frac {1}{4}}\\1&-1&0\\0&-1&1\end{bmatrix}}{\begin{bmatrix}R\\G\\B\end{bmatrix}};\qquad \qquad {\begin{bmatrix}R\\G\\B\end{bmatrix}}={\begin{bmatrix}1&{\frac {3}{4}}&-{\frac {1}{4}}\\1&-{\frac {1}{4}}&-{\frac {1}{4}}\\1&-{\frac {1}{4}}&{\frac {3}{4}}\end{bmatrix}}{\begin{bmatrix}Y_{r}\\U_{r}\\V_{r}\end{bmatrix}}}

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

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

Затем компоненты цвета преобразуются с помощью вейвлета до произвольной глубины. В отличие от 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 (Portable Network Graphics) более экономичен при обработке изображений с большим количеством пикселей одного цвета.

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

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

Доступное программное обеспечение

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

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

Смотрите также

Расширение файла

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

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

Ссылки

  1. ^ ab Christoph Stamm (2015). "PGF libPGF.org". Проект SourceForge . Получено 14 сентября 2015 г.
  2. ^ abc Stamm, Christoph (2002). "PGF – новый прогрессивный формат файла для сжатия изображений с потерями и без потерь" (PDF) . Архивировано (PDF) из оригинала 7 марта 2007 г. . Получено 12 апреля 2023 г. .
  3. ^ "PGF download". xeraina. 2013 . Получено 12 апреля 2023 .
Получено с "https://en.wikipedia.org/w/index.php?title=Progressive_Graphics_File&oldid=1196335845"