Русский

Изображения и фотографии · Изменение размера изображений в социальных сетях

Четные размеры пикселей и субдискретизация цветности: почему нечетные размеры вызывают проблемы

· Фон

размеры изображения кодирование изображения видео-рабочий процесс

Сетка изображения нечетного размера, настроенная на границе перед входом в видеокодер
Оригинальная векторная иллюстрация ToolAcre

JPEG и большинство видеокодеров сохраняют цвет с половинным разрешением, используя субдискретизацию цветности 4:2:0, поэтому нечетные размеры пикселей вызывают ошибки или краевые артефакты в некоторых конвейерах. В этом посте объясняется механизм и почему изменение размера на один пиксель иногда является правильным решением.

Нечетные сбои относятся к конкретным нисходящим кодерам; ToolAcre не воспроизводит здесь ни одного

Нечетная ширина или высота может быть отклонена конкретным видеокодером, но Social Image Resizer сам принимает любое положительное целое число, соответствующее его бюджету пикселей. В его текущих пресетах используются четные целочисленные размеры. Ни один тест в этом приложении не демонстрирует сбой в один пиксель или краевой артефакт.

Рассматривайте ошибку кодировщика как свидетельство этого нисходящего контракта, а не как универсальное свойство изображений. Запишите точное сообщение, настройки кодека и размеры. Затем настройте пользовательский вывод ToolAcre, если следующий инструмент явно требует четную пару. Это исправление сохраняет причину и средство устранения в одном и том же конвейере.

Концепции яркости и цветности являются фоном, а не элементами управления, предоставляемыми этим инструментом.

Кодеки изображений и видео могут представлять информацию о яркости отдельно от информации о цвете. Человеческое зрение часто допускает меньше пространственных цветовых деталей, чем яркость, что мотивирует разработку субдискретизации цветности. Это объясняет, почему некоторые форматы группируют образцы цвета по соседним пикселям.

ToolAcre не раскрывает плоскости яркости, плоскости цветности или элементы управления выборкой. Он передает холст и запрос MIME кодировщику браузера. Итоговые детали реализации зависят от этого кодировщика и не могут быть получены из ползунка качества. Обучение концептуальным кодекам должно оставаться отделенным от заявлений о продукте.

ToolAcre не обещает 4:2:0 кодирования для JPEG, WebP или видео

В представлении 4:2:0 цветность обычно относится к области яркости два на два, что делает четные размеры удобными для многих реализаций. Точные правила хранения, заполнения и границ принадлежат кодеку и кодировщику. Такой лозунг, как «все JPEG и большинство видео используют это», слишком широк для доступных здесь доказательств.

Ни render.js, ни его тесты не проверяют маркеры подвыборки в выходных данных JPEG или WebP. Приложение также экспортирует неподвижные изображения, а не видео. Если необходимо знать субдискретизацию, проанализируйте фактически закодированный файл с помощью инструмента, учитывающего формат, или обратитесь к документированному нижестоящему кодировщику, а не делайте выводы из размеров.

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

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

Выходная таблица ToolAcre сообщает ширину и высоту, что упрощает проверку передачи обслуживания. Если инструмент приема видео требует, чтобы оба значения делились на два, добавьте это требование в производственный контрольный список. Не подталкивайте молча каждый социальный образ, если его предназначение не имеет такого ограничения.

Соотношение сторон против четных пикселей — почему математически точное соотношение иногда должно уступать четному размеру

Соотношение сторон и делимость могут конкурировать, если пользовательские размеры округляются. sizeFromRatio округляет более короткий край после фиксации самого длинного края. Этот результат может быть странным. Если нисходящий контракт требует четной пары, выберите еще самое длинное ребро и вычислите ближайший четный аналог, измеряя полученную разницу в коэффициентах.

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

Рабочий пример: вычисление четной пары 9:16 без изобретения артефактов кодировщика.

Для 9:16 1080×1920 уже является точной четной парой и является текущей общей предустановкой полноэкранного инструмента. Специальная пара половинного размера 540×960 также точно сохраняет соотношение и остается четным. Оба примера взяты из арифметики, а не из придуманного правила качества кодировщика.

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

Что здесь не распространяется — 4:4:4 и 4:2:2 рабочие процессы и профессиональные конвейеры цветного видео

Профессиональные 4:4:4, 4:2:2 и конвейеры цвета видео находятся за пределами этого инструмента обрезки неподвижного изображения. То же самое относится и к профилям кодеков, форматам пикселей и ограничениям аппаратного кодирования. Кодировщик браузера принимает запросы JPEG, PNG или WebP; он не раскрывает переключатели, необходимые для обещания этих производственных форматов.

Используйте видеоинструмент для управления выборкой видео и цветом. Используйте Social Image Resizer, чтобы подготовить неподвижный кадр с известными размерами и композицией. Поддержание этой границы предотвращает превращение полезной проверки четности размеров в ложную уверенность в закодированной структуре цветности.

Вывод: предпочитайте четные числа, когда это бесплатно — Social Image Resizer обрезает изображение до нужного соотношения и изменяет его размер в браузере; проверьте окончательные размеры, прежде чем передавать файл в видеоинструмент

Отдавайте предпочтение четным размерам, когда документированный последующий рабочий процесс приносит пользу и корректировка ничего не стоит, но не превращайте предпочтение в закон изображения. Принимающий кодер владеет своими ограничениями. Задача ToolAcre — обеспечить проверяемые целочисленные выходные размеры и предсказуемый кадр.

Проверьте файл перед передачей, сохраните заданное соотношение и запустите реального потребителя. Если это не удалось, используйте ошибку и документацию, чтобы выбрать другую пару. Этот метод, основанный на доказательствах, более надежен, чем приписывание каждого артефакта нечетного размера 4:2:0 без проверки закодированного файла.