Высококачественная резервная копия Google Фото - как Google обеспечивает отличное сжатие, и я теряю некоторые данные?

21

Я уверен, что многие из нас использовали высококачественную резервную копию фотографий Google, которая позволяет нам хранить фотографии в Интернете без комиссии.

Недавно я подумал о том, чтобы проверить, насколько высоким было качество загрузки, загрузив некоторые фотографии (менее 16 Мп) и сравнив их с оригиналом с точки зрения разрешения, качества (как видно на глаз) и размера файла.

Я был удивлен, заметив, что разрешение и качество были почти такими же, как и у оригинала (в большинстве случаев визуальное отличие от глаз даже не увеличивалось), но размер файла был резко уменьшен - по крайней мере, в 2-3 раза и даже примерно в 10 раз. некоторые случаи. В прошлом, используя RAR для различных типов файлов, я знал, что он не подойдет, и не стал его проверять.

Вопрос в том, как Google справляется с таким большим сжатием без каких-либо заметных изменений в самом изображении? Они сбрасывают данные о местоположении или другие данные, связанные с изображением, о которых фотограф-любитель не знает?

Анураг Б.
источник
2
Мой ответ на самом деле касается второго вопроса. Они не нашли волшебного общего алгоритма сжатия без потерь, как супер версия ZIP или RAR. Они только что улучшили специфичное для JPEG сжатие.
mattdm

Ответы:

20

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

Но все остальные фотографии тоже сжимаются , используя оптимизирующий алгоритм сжатия. Я не думаю, что Google выходит и говорит точно, что они делают, но это, вероятно, их алгоритм Гетцли с открытым исходным кодом . Google утверждает:

Сгенерированные Гетцли изображения обычно на 20-30% меньше, чем изображения эквивалентного качества, сгенерированные libjpeg.

Что бы они ни делали, результаты довольно впечатляющие - часто намного больше, чем 20-30%. (Вероятно, из этого следует, что Google не считает их действительно «эквивалентными по качеству».) Некоторые сравнения можно увидеть в этом посте на блоге Phone Arena .

Но, к вашему заглавному вопросу: вы определенно теряете некоторые данные. Этот алгоритм не волшебен - он просто использует модель восприятия для отбрасывания визуальных данных, чего нет в обычном сжатии JPEG, что приводит к более высоким степеням сжатия и, в то же время (надеемся), не вызывает больше беспокойства для вещей, которые вы действительно можете заметить.

Только ты можешь решить, в порядке ли ты с этим. Если вы выполняете резервное копирование оригиналов RAW (с резервными копиями настроек) и можете воссоздать JPEG-файлы по своему усмотрению, я бы не задумывался об этом дважды. Но если вы серьезно относитесь к фотографии и имеете рабочий процесс, ориентированный на JPEG, - и, несмотря на снобизм RAW в Интернете, это нормально, - вы, вероятно, захотите хотя бы сохранить исходные файлы JPEG без изменений. Добавление терабайта памяти с Google составляет всего 10 долларов в месяц. Или , если вы являетесь клиентом Amazon Prime ($ 100 / год) вы получаете реально неограниченное место для хранения фотографий, в том числе RAW - файлов.

mattdm
источник
Dropbox создал Lepton для сжатия изображений без потерь в среднем на 22%
Ник Т
5

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

Вы можете сделать то же самое - программное обеспечение и различные услуги бесплатны или дешевы. Ваша программа / камера просто не обладают вычислительной мощностью, чтобы придумать «оптимальный» способ использования сжатия JPG с потерями.

TomTom
источник
Это хороший момент, хотя он лишь незначительно уменьшит размер изображения.
Салман А
4
Ого, этот алгоритм Гетцли, упомянутый выше в @mattdm, - просто боров! На сайте github с программным обеспечением вам сообщают, что для обработки требуется 300 МБ ОЗУ на мегапиксель изображения, а также требуется одна минута ЦП на мегапиксель!
Давидбак
Да. В основном «опробуйте много комбинаций, а затем используйте лучшую». Что может сделать ни Lightlight, ни ваша камера (в частности, ваша камера).
TomTom
Но так как алгоритм в основном повторно сжимает уже сжатое изображение JPEG, разве это не хуже, если вы применили тот же алгоритм к оригиналу?
Майкл
Да. Посмотри на Гюцли. Jpeg - частично сделанный камерами - сделан БЫСТРО. Tehy может потратить минуту на поиск оптимальной кодировки для каждого изображения. Такие службы, как compressor.io, делают то же самое. Вы получаете очень значительное уменьшение размера с оптически одинаковым изображением.
TomTom