В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Расширение имени файла | .pgf |
---|---|
Тип интернет-СМИ | изображение/x-pgf |
Магическое число | 504746 ч ( ASCII PGF) |
Разработано | ксерайна ГмбХ |
Первоначальный выпуск | 2000 ( 2000 ) |
Последний релиз | 7.21.7 2021 ( 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 содержит следующие четыре этапа:
Первоначально изображения должны быть преобразованы из цветового пространства RGB в другое цветовое пространство, что приводит к трем компонентам , которые обрабатываются отдельно. PGF использует полностью обратимое модифицированное цветовое преобразование YUV . Матрицы преобразования следующие:
Компоненты цветности могут быть, но не обязательно, уменьшены в разрешении.
Затем компоненты цвета преобразуются с помощью вейвлета до произвольной глубины. В отличие от JPEG 1992, который использует дискретное косинусное преобразование размером блока 8x8 , PGF использует одно обратимое вейвлет-преобразование: округленную версию биортогонального вейвлет -преобразования CDF 5/3 . Этот банк вейвлет-фильтров точно такой же, как обратимый вейвлет, используемый в JPEG 2000. Он использует только целочисленные коэффициенты, поэтому выход не требует округления (квантования) и поэтому не вносит никакого шума квантования.
После вейвлет-преобразования коэффициенты скалярно квантуются для уменьшения количества битов для их представления за счет потери качества. Выход представляет собой набор целых чисел, которые должны быть закодированы побитно. Параметр, который можно изменить для установки конечного качества, — это шаг квантования: чем больше шаг, тем больше сжатие и потеря качества. При шаге квантования, равном 1, квантование не выполняется (он используется при сжатии без потерь). В отличие от JPEG 2000, PGF использует только степени двойки, поэтому значение параметра i представляет шаг квантования 2 i . Простое использование степеней двойки не требует операций целочисленного умножения и деления.
Результатом предыдущего процесса является набор поддиапазонов , которые представляют несколько шкал приближения. Поддиапазон — это набор коэффициентов — целых чисел , которые представляют аспекты изображения, связанные с определенным диапазоном частот, а также пространственную область изображения.
Квантованные поддиапазоны далее разделяются на блоки , прямоугольные области в вейвлет-домене. Они обычно выбираются таким образом, что коэффициенты внутри них по поддиапазонам формируют приблизительно пространственные блоки в (реконструированном) домене изображения и собираются в макроблок фиксированного размера .
Кодер должен закодировать биты всех квантованных коэффициентов макроблока, начиная с самых значимых битов и переходя к менее значимым битам. В этом процессе кодирования каждая битовая плоскость макроблока кодируется в два так называемых прохода кодирования , сначала кодируя биты значимых коэффициентов, затем уточняющие биты значимых коэффициентов. Очевидно, что в режиме без потерь все битовые плоскости должны быть закодированы, и никакие битовые плоскости не могут быть отброшены.
Только значимые коэффициенты сжимаются с помощью адаптивного кодера длины пробега/Райса (RLR), поскольку они содержат длинные серии нулей. Кодер RLR с параметром k (логарифмическая длина серии нулей) также известен как элементарный код Голомба порядка 2 k .
Существует несколько заявленных преимуществ PGF по сравнению с обычным стандартом JPEG: [2]
Автор опубликовал 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 также используются для не связанных между собой целей:
.pgf
с графикой портфолио .