Очень важно, чтобы контроль, упомянутый въ послѣднемъ абзаце
моего предшествующего сообщения, совершался совершенно гласным способом, то есть чтобы и для свѣдѣнія разработчиков клиентских программ (не только работающих в команде Телеграма, но и для разработчиков альтернативных клиентов, хотя бы даже и обладающих
удивительными настройками отсылки изображений), и для свѣдѣнія пользователей были обнародованы всѣ тѣ простые дѣйствія (со сжатием не связанные), которые на сёрвере совершаются над файлами JPEG (ну, напримѣръ, ѿрѣзаніе лишних метаданных во имя бóльшей приватности, в особенности метаданных с географическими координатами фотосъёмки, а также ѿрѣзаніе хвостов файлов во избѣжаніе засовывания туда скрытых архивов, раздувающих объём, по принципу RARJPEG), и всѣ тѣ правила, которым файл JPEG должен соѿвѣтствовать для того, чтобы сёрвер счёл JPEG достаточно сжатым.
Первый шаг такого обнародования ужé сдѣланъ: общеизвѣстно, что картинки в Telegram по размѣру не должны выходить за предѣлы квадрата 1280×1280 пикселов.
Если Telegram желает, чтобы картинки не превосходили опредѣлённаго объёма (скажем, мегабайта или полумегабайта), то это требование также должно быть оглашено.
Если Telegram желает, чтобы отношение объёма файла JPEG к количеству его пикселов (среднее количество информации, приходящееся на один пиксел) также не превосходило опредѣлённаго значения (скажем, семь или пять битов на пиксел), то это требование также должно быть оглашено.
Вроде как на этом заканчивается список легко обнаружимых свойств хорошо сжатого файла. Но, безусловно, если въ дѣйствительности Telegram желает ещё бóльшего для того, чтоб счесть файл JPEG хорошо сжатым: чтобы команда
magick identify -format "%[quality]"
выдавала не слишком большое значение качества, чтобы
цвѣтовая субдискретизация 4:2:0 была совершена, что угодно ещё другое — то и эти требования также должны быть оглашены.
Почему я пишу «очень важно»? — потому, что явствует цѣлый ряд крупных преимуществ.
Во-первых, как ужé было сказано, сёрверная часть разгрузится от задачи сжатия JPEGов почти полностью, за исключением разве что того сжатия, которого никак уж нельзя избѣгнуть — скажем, создания миниатюр JPEGов для альбомов — и которое вычислительно проще ввиду кратно меньшего числа пикселов.
Во-вторых, не бессмысленным, а вполне осмысленным и даже желательным станет наращивание качества отправляемых JPEGов (в заданных рамках хорошей сжатости) во всѣхъ официальных и неофициальных клиентских приложениях Телеграма: и переход на прогрессивный вариант формата, и замѣна кодировщика на MozJPEG выглядит гораздо лучше, когда результаты передаются по Сѣти «как есть» (не считая метаданных), без внесения дополнительной потери качества. Отойдёт в прошлое то (явно извращённое) положеніе дѣлъ, когда в настройках неофициального приложения повадно наращивать качество передаваемых файлов JPEG до упора (вообразите 100%
на вышеприведённом скриншоте), чтобы замедлить накопление потерь качества цѣною замедления отправки изображений.
В-третьих, клиентские приложения, зная
всё о требованиях, предъявляемых на сёрверной стороне, тоже научатся мудрому бездѣйствію во всѣхъ тѣхъ случаях, когда отправляемый пользователем файл JPEG сам по себѣ укладывается во всѣ требования, предъявляемые к его объёму и размѣру Телеграмом. Если всѣ клиентские приложения научатся и тому, что не надо переужимать картинки при сохранении их в JPEG (тут я укоризненно смотрю на Telegram Desktop), то мы всѣ войдём въ свѣтлое будущее совершенно избавленными от того ползучего
накопления артефактов сжатия, которое превращает надежды на достоинства цифровизации в горькую насмѣшку,
как подмѣтилъ Рэндалл Манро. Каждое изображение, сжатое при попадании в инфраструктуру Телеграма, будет во всю дальнѣйшую жизнь обходиться без переужатия. И популярные мемы, и зрѣлищныя фотографии, и скриншоты умопотрясающих новостей, циркулируя по каналам и группам в Телеграме, перестанут быть бичуемыми за свою популярность нынешним цифровым бичом их (накоплением артефактов от многократного сжатия JPEG), оставляющим уродливые рубцы на мѣстѣ прежней красоты.