Я хотел бы агрессивно сжать некоторые научные 16-битные файлы изображений в градациях серого, но без уменьшения динамического диапазона. Возможно ли такое?
Я понимаю, что формат JPEG использует сжатие с потерями и, следовательно, настраиваемое агрессивное сжатие, но поддерживает только 8 бит на цветовой канал.
Формат PNG поддерживает 16-битные изображения в градациях серого, но поддерживает только сжатие без потерь, что ограничивает степень сжатия файла.
Формат TIFF также поддерживает 16-битные изображения в градациях серого, но, насколько мне известно, не поддерживает стандартное сжатие 16-битных изображений с потерями.
Похоже, что вы ищете JPEG2000. Он имеет ряд опций, включая 16-битное сжатие с потерями и лучшую степень сжатия, чем JPEG. Он не получил такого широкого распространения, как ожидалось (по множеству причин), и может иметь некоторые проблемы с патентами, которые могут затруднить его использование в определенных ситуациях, но в остальном он соответствует вашим потребностям.
Лично, если бы я был на вашем месте, я бы сказал, что хранилище дешево и использует PNG, который является правильно определенным и бесплатным стандартом.
JPEG2000, и вы также можете взглянуть на OpenEXR, потому что он поддерживается видеооборудованием.
Максимальный динамический диапазон линейного 8-битного кодирования составляет всего 8 ступеней, однако динамический диапазон, который вы можете сохранить с помощью нелинейного кодирования, безграничен.
Таким образом, я бы посоветовал вам применить к изображениям сильную тоновую кривую, а затем вы можете использовать стандартный JPEG без потери динамического диапазона. Если вы хотите использовать исходные изображения, преобразуйте их в 16-битные и примените обратную тоновую кривую.
Это, конечно, если вас интересует только динамический диапазон. Если вам также нужно сохранить тональный диапазон , вам, возможно, придется использовать собственное сжатие с потерями...
Дитрих Эпп
JDługosz
Vi0
Илья Френкель
Кристофер Брунс
Гатоатиградо