1

Когда мы конвертируем видео в оттенки серого, всем его 3 цветам (RGB) в пикселе присваивается один и тот же номер (вместо 3 разных номеров). Так что теоретически у нас должно быть уменьшение в размере почти на 66%. Я знаю, что есть некоторые метаданные и звуковые данные, но самые большие данные относятся к пикселям.

Я конвертировал видео с помощью Handbrake с выходным размером 4,17 МБ, затем я сделал это с теми же настройками, за исключением того, что установил флажок "Оттенки серого", тогда размер выходного файла стал 3,88 МБ. Почему только 7% уменьшение размера? Для другого видео: 3,08 МБ и 2,97 МБ (почти 6%).

Я также выполнил серое с использованием "монохромного" фильтра "Corel Video Studio" и получил аналогичный результат (8,70 МБ и 8,32 МБ -> 5%). Есть ли алгоритм или что-то, чтобы получить лучший результат?

1 ответ1

2

Проблема в том, что основной формат, который вы сохраняете, не понимает ничего, кроме 24-битного цвета на пиксель. Если базовый контейнер или формат специально предназначены для 8-битной серой шкалы (или 8-битных форматов в целом), то вы увидите ожидаемое уменьшение размера.

В качестве примера вы можете сохранить изображение в виде.BMP или PNG, вы обычно получаете возможность установить битовую глубину для вывода (вы делаете это, если вы используете Paint.NET по крайней мере), тогда преобразование в серую шкалу будет полезным.

JPEG не поддерживает строго меньшую битовую глубину, если я правильно помню, я был бы удивлен, если бы большинство современных видеокодеров делали это, так как 99% их использования предназначено для источников цвета.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .