Изображения и фотографии · Инструмент конфиденциальности метаданных изображений
Удаление сегментов и перекодирование холста: два способа удаления метаданных фотографии
· Как это работает
exif конфиденциальность изображений форматы файлов
Многие онлайн-стриптизеры просто перерисовывают вашу фотографию на холсте и сохраняют ее снова, при этом метаданные удаляются, но при этом повторно сжимаются пиксели. В этом посте объясняется альтернатива: удаление сегментов метаданных и копирование сжатых данных изображения в нетронутом виде.
«Очищенная» фотография, потерявшая качество: почему JPEG с удаленными метаданными должно сохранять байтовую идентичность данных изображения и как определить, что это не так
«Очищенный» JPEG, который внезапно стал выглядеть мягче, возможно, был декодирован и сохранен с новыми настройками сжатия. Удаление скрытых тегов не требует повторного сжатия потока изображений: EXIF и другие записи занимают идентифицируемые контейнеры вне сжатых данных изображения. Если данные изображения хранятся побайтно, декодированные пиксели должны оставаться неизменными. Это различие имеет значение для фотографа, который усердно работал над сохранением мелких текстур и цветов в исходном экспортированном файле.
Способ первый: перерисовать на холсте и экспортировать — что делает браузер, когда декодирует, рисует и перекодирует, и почему каждый проход стоит качества
Один из распространенных методов загружает изображение на холст браузера и сохраняет новые JPEG, PNG или WebP. Поскольку холст содержит пиксели, а не исходные сегменты файла, большая часть старых метаданных исчезает. Компромисс реален: новый код JPEG снова квантует изображение, а новый файл PNG/WebP может использовать другой цветовой профиль или выбор кодировки. Процесс браузера может быть локальным, но при этом качество изображения будет меняться; «Запускается в вашем браузере» — это не то же самое, что «без потерь».
Побочные эффекты перекодирования — потеря профилей ICC, возможно, изменение субдискретизации цветности, изменение ориентации и прозрачность PNG или данные без потерь WebP, обрабатываемые по-другому.
При повторном кодировании можно удалить ICC информацию о цвете, изменить субдискретизацию или сгладить альфу в зависимости от выбранного вывода. Тег ориентации камеры особенно неудобен: если декодер отображает повернутые пиксели, а тег удаляется, новый файл должен явно сохранять эту видимую ориентацию; в противном случае зритель может отобразить его по-другому. PNG и WebP без потерь имеют правила контейнера, отличные от JPEG, поэтому универсальная перерисовка может изменить больше, чем ожидал фотограф. Проверьте вывод в средстве просмотра, где он действительно будет использоваться.
Способ второй: удалить сегменты, сохранить сканирование — скопировать заголовки кадров, таблицы квантования и данные энтропийного кодирования и удалить только блоки APP1, APP13 и XMP.
ToolAcre использует альтернативу на уровне байтов. Для JPEG он проходит по маркерам, классифицирует несущие метаданные APP1 Exif/XMP, APP13 Photoshop/IPTC, COM комментарии и другие соответствующие сегменты, а затем записывает новый файл, опуская эти сегменты. Структурные сегменты и сегменты, несущие изображения, таблицы квантования и энтропийно-кодированное сканирование копируются, а не отправляются через кодировщик изображений. Парсер не обещает понимать собственные поля MakerNote: он удаляет содержащий их блок EXIF вместо того, чтобы придумывать для них значения.
Выполняем ту же работу в PNG и WebP — удаляем фрагменты вспомогательных метаданных, оставляя фрагменты сжатого изображения такими же, какими они были.
PNG хранит метаданные в помеченных фрагментах, таких как eXIf, tEXt, zTXt и iTXt. WebP использует фрагменты RIFF, такие как EXIF и XMP, с битами присутствия в VP8X, которые должны обновляться при удалении фрагмента. Инструмент применяет правила, специфичные для формата, и оставляет данные изображения на месте. Он намеренно сохраняет информацию, необходимую для правильного рендеринга, например определенные блоки, связанные с цветом; Таким образом, «удаление метаданных» означает удаление задокументированных категорий, не обещая, что каждый непиксельный байт исчезнет.
Рабочий пример: сравнение двух выходных данных — размера файла, проверка разницы в пикселях и повторная проверка обоих файлов для подтверждения отсутствия метаданных.
Сделайте две копии образца JPEG с координатами GPS. Удалите первый с помощью перерисовки холста, второй с помощью средства удаления сегментов ToolAcre, затем проверьте источник и оба выхода. Копия на уровне байтов должна сохранять поток сжатых изображений и может отличаться в основном размерами удаленных сегментов; перерисовка может быть меньше по совершенно другим причинам. Декодируйте оба и сравните значения пикселей, если вам нужно оценить качество. Наконец, снова откройте каждый из них в инспекторе метаданных: само по себе изменение размера файла не доказывает, что поле GPS исчезло.
На что это не распространяется: все, что находится внутри самих пиксельных данных, например видимые водяные знаки или стеганография, не затрагивается ни одним из методов.
Ни один из методов не удаляет номер дома, видимый на фотографии, текст, разбитый на пиксели, отраженное лицо или информацию, намеренно скрытую внутри данных изображения. Инспектор метаданных может сообщать только о тех форматах и каталогах, которые он понимает; не думайте, что панель «Поля не найдены» доказывает, что изображение не содержит идентифицирующего контента. Этот инструмент принимает JPEG, PNG и WebP, а не RAW, HEIC или все возможные контейнеры. Просмотрите то, чем вы делитесь в самом изображении, а также в его тегах.
Вывод: удалите контейнер, а не изображение — инструмент конфиденциальности метаданных изображения удаляет метаданные без повторного сжатия, поэтому данные изображения не ухудшаются.
Удалите назначенные метаданные контейнера, а не повторно сжимайте изображение, просто чтобы удалить несколько тегов. Инструмент конфиденциальности метаданных изображений создает новую загружаемую копию локально и дает имена удаленным или сохраненным блокам. Сравните образец до и после и проверьте экспортированный файл самостоятельно; этот рабочий процесс защищает как качество изображения, так и ваши ожидания относительно того, какая личная информация была фактически удалена.