Артефакт

Feb 14, 2024 12:17

При сжатии картиной в формат jpg появляются так называемые артефакты, которые в той или иной степени снижают качество картинки.
В случае фотографий всё понятно. Но возьмем простой чёрно-белый рисунок.

Read more... )

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

Leave a comment

Comments 81

pusets February 14 2024, 11:51:22 UTC
Ответ простой - косинус-преобразование Фурье. Гугланите, там все понятно.

Reply


dva_greka February 14 2024, 12:21:29 UTC

перепись красноглазиков

Reply


papon_ra February 14 2024, 12:57:15 UTC

Во-первых, устройство Jpeg не так тривиально и на малых объемах сопутствующие данные могут вносить существенный вклад в размер файла. ЕМНИП, там на выходе еще и сжатие без потерь на словарях. Минимальное изменение данных может сильно изменить размер словаря. Но это не точно.

Что касается дополнительных полос, так это дискретное преобразование Фурье. Формат не сохраняет исходное изображение, а только часть двухмерных синусоидальных "первообразных". За счет этого происходит сжатие с потерей данных. Побочный эффект - фантомные полосы на резких границах.

Reply

edelveis8 February 15 2024, 05:18:09 UTC

Спасибо. Теперь вообще всё понятно.

Reply

edelveis8 February 15 2024, 05:18:40 UTC

Только не понятно о каком словаре идёт речь.

Reply

papon_ra February 15 2024, 08:35:34 UTC
Ох, сейчас меня закидают тапками эксперты. Ну, ладно.
Я где-то читал, что после сжатия данных с потерями стандарт jpeg также предусматривает дополнительное сжатие без потерь.
Один из методов сжатия без потерь - поиск повторяющихся последовательностей, построение соответствующих словарей этих последовательностей и заменой одного на другое. Например, текст состоит из сотни символов А и тысячи символов Б. Строим словарь: в первой ячейке символ А, во второй - Б. Сжатая информация будет выглядеть: 1х100,2х1000 + 1:"А",2:"Б".

Reply


sanitareugen February 14 2024, 13:02:21 UTC

Вопрос Ваш сводится к "почему jpeg не tiff"

Потому, что идеального сжатия не бывает. Алгоритмы оптимизируются под разные виды изображений. В частности, в названии формата jpeg вторая буква это photography. Предполагается, что цвета меняются плавно, в преобразовании Фурье (косинус-преобразовании, если быть точным) коэффициенты с ростом частоты убывают быстро, и можно их считать нулевыми, за счёт этого и экономия. А Вы нашли пример, на котором этот алгоритм работает плохо. С разрывными функциями.

Reply

edelveis8 February 15 2024, 05:20:01 UTC

Да, я уже понял что жпг задумывался именно для сжатия картинок, а не текста. Просто мне часто приходится вставлять текст картинками (например цифры) и там уже заметна потеря качества. Поэтому решил задать такой вопрос.

Reply

hayate_ February 15 2024, 15:59:16 UTC
Для этого есть векторные форматы. PostScript, EPS (Encapsulated PS), PDF. Первые два вроде как точно задолго до JPEG разработаны.
Вы критикуете молоток за то, что им неудобно закручивать болты. Отложите молоток. Возьмите гаечный ключ.

Reply

nemoy_hussar February 17 2024, 00:00:21 UTC
Просто мне часто приходится вставлять текст картинками (например цифры) и там уже заметна потеря качества.

1. Зачем?
2. Вы про Tiff Group 4 слышали?

Reply


kruglov February 14 2024, 13:35:54 UTC

Ну как обычно словесное описание занимает меньше места, чем картинка, мол "стоит снеговик, справа ёлочка, сверху солнышко".

А если у вас просто "пиксель слева чёрный, пиксель справа красный", то описание вон какое длинное по сравнению с картинкой из двух пикселей.

Reply

john_jack February 14 2024, 17:08:43 UTC
Словесное описание называется векторная графика. Автор же спрашивал "почему jpg не gif.zip".

Reply

kruglov February 14 2024, 18:44:04 UTC

JPG с его формулами вполне шаг от чисто растрового формата к вектору.

Reply

john_jack February 14 2024, 19:14:38 UTC
Ни в коем случае. Жпег не выделяет какие-то отдельные характерные детали изображения - он тупо делит его на гнездовые квадраты, а в каждом квадрате выкидывает из палитры непопулярные цвета. То есть вместо "пиксель чёрный, пиксель красный" пишет "чр., кр.".

Reply


Leave a comment

Up