Существует ли формат сжатого файла с потерями для 16-битных изображений с динамическим диапазоном?

14

Я хотел бы активно сжать некоторые научные 16-битные файлы изображений в градациях серого, но без уменьшения динамического диапазона. Это возможно?

Я понимаю, что формат JPEG использует сжатие с потерями и, следовательно, изменчиво агрессивно, но поддерживает только 8 бит на канал цвета.

Формат PNG поддерживает 16-битные изображения в градациях серого, но поддерживает только сжатие без потерь, что ограничивает степень сжатия файлов.

Формат TIFF также поддерживает 16-битные изображения в градациях серого, но, насколько мне известно, не поддерживает стандартное сжатие 16-битных изображений с потерями.

Кристофер Брунс
источник
2
JPEG на самом деле поддерживает 12-битные изображения! Не многие знают это, и многие программы не поддерживают это. Но поддержка есть.
Дитрих Эпп
1
Я думаю openEXR - это то, что вы хотите. Вы можете быть более гибкими с помощью цветовой подвыборки, чем jpeg, и лучше настроить ее под свои потребности в научных данных. Насколько я помню, это разработано для / Pixar.
JDługosz
2
BPG поддерживает до 14 бит.
Vi0
Извините, если я совершенно не согласен, но что плохого в старом добром ZIP?
Илья Френкель
1
@ Илья Френкель ZIP не с потерями. (Не специализируется на изображениях)
Кристофер Бранс,

Ответы:

18

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

Лично, если бы я был на вашем месте, я бы сказал, что хранилище дешево и использовал бы PNG, который является правильно определенным и бесплатным стандартом.

Джеймс Снелл
источник
2
JPEG2000 выглядит просто как вещь. Инструменты ImageMagick работают с jpeg2000; что является достаточной поддержкой для моего расследования.
Кристофер Брунс
8

JPEG2000, и вы также можете посмотреть на OpenEXR, потому что он поддерживается видеооборудованием.

Илья Борг
источник
3

Максимальный динамический диапазон линейного 8-битного кодирования составляет всего 8 ступеней, однако динамический диапазон, который можно сохранить с помощью нелинейного кодирования, безграничен.

Поэтому я бы посоветовал вам применить сильную кривую тона к изображениям, и тогда вы сможете использовать стандартный JPEG без потери динамического диапазона. Если вы хотите использовать исходные изображения, преобразуйте их в 16-битные и примените обратную тональную кривую.

Это, конечно, если динамический диапазон является вашей единственной задачей. Если вам также необходимо сохранить тональный диапазон, вам, возможно, придется свернуть собственное сжатие с потерями ...

Мэтт Грум
источник
1
Точно так же вы можете предварительно обработать изображения таким образом, чтобы отбрасывать информацию, которая, как вам известно, вас не волнует, перед сохранением в виде 16-битного PNG или TIFF со сжатием без потерь.
junkyardsparkle
Это то, что делает видеокамера с профилем лог-изображения, но по опыту могу сказать, что это очень плохая идея, потому что уменьшение информации фиксируется вместо использования переменной потери. Использование сжатия OpenEXR с потерями даст гораздо лучший результат.
Skyde