Эта статья будет интересна в первую очередь тем, кто по каким-то причинам предпочитает AVI и XVID, а не MKV и H264. На форумах doom9 и ixbt поднимались вопросы по использованию различных матриц, а также использованию своих, но никто не дал внятного ответа, кроме углубления в теорию дискретного косинусного преобразования.
Есть статья , где приведены хорошие матрицы, но там не объяснены их преимущества и недостатки.
Так что буду рад, если окажусь пионером.
Итак, задача стояла следующая: подобрать коэффициенты матрицы таким образом, чтобы исключить квадратичность при кодировании постоянным квантователем > 2. При этом размер файла должен быть меньше, чем у того же квантователя со стандартной матрицей H263. Чтобы не утомлять вас углублением в нюансы исследования, вот фото получившейся матрицы, а ниже пояснения.
Квадраты, обведенные красным, являются наиболее важными частями.
Они отвечают за макроблоки, которые почти полностью состоят из одного цвета.
Поскольку таких блоков в видеопотоке большинство, от их упаковки зависит как размер файла, так и визуальное восприятие качества.
Поэтому задача свелась к подбору таких коэффициентов, при которых соотношение качество/размер было бы максимальным.
Остальные коэффициенты устанавливались по принципу «чуть больше предыдущего», мелкие детали изображения игнорировались.
Особенно важно число 12 во втором квадрате.
При использовании квантователя 4, если увеличить этот коэффициент, на заднем плане будут квадраты, а уменьшение приводит к резкому увеличению размера файла.
Еще немного об особенностях кодирования.
Чтобы эта матрица стала эффективной, необходимо внести некоторые коррективы.
Во-первых, это должен быть постоянный квантователь 2, 3 или 4. Меньше 2 нет смысла, а больше 4 — появляются фоновые искажения.
Никаких дробных квантователей! Фото 2.
Во-вторых, дополнительные настройки квантователя, которые появляются при нажатии на верхнюю кнопку «еще».
Важные настройки обведены красным.
Quantizer Ratio – множитель указанного ранее основного квантователя (фото 2), обязательно 1. Quantizer offset – приращение квантователя для неключевых кадров, оптимально 2. Для маньяков качества можно 0, для большего сжатия можно увеличить, но я не рекомендую.
Я также настоятельно рекомендую отключить адаптивное квантование и решетчатое квантование (нижняя кнопка «еще»).
Для примера я взял небольшой кусочек из фильма хорошего качества, разрешение 720х304, исходный битрейт 1300 (без звука).
Параметры кодирования и результирующий битрейт: матрица H263, квантователь 2 = битрейт 953 моя матрица, квантователь 2 = битрейт 883 моя матрица, квантователь 4 = битрейт 433 С квантайзером 2 найти различия в качестве практически невозможно, с квантайзером 4 с моей матрицей различия видны при покадровом просмотре, с квантайзером 4 с матрицей H263 - квадратики, квадратики.
Вывод: матрица работоспособна при любом разрешении, можно сосредоточиться на качестве или меньшем размере.
Особенно полезно на низких разрешениях, так как квадратичность минимальна, а на больших с квантователем 4 - вполне достаточно для заливки фильмов в интернет. На низких разрешениях можно немного уменьшить коэффициенты в красном квадрате и будет сладко.
И забудьте о двух проходах.
Возможно, кого-то не порадует, что детали в моей матрице слишком сглажены (все коэффициенты > 20), но на это есть две причины.
Во-первых, этому способствует хорошее сжатие и небольшой размер, а во-вторых, резкость, по сути, не теряется навсегда.
Если видео закодировано качественно, то во время просмотра можно включить фильтр повышения резкости.
Я предпочитаю msharpen из пакета кодеков K-Lite. Там можно очень плавно регулировать резкость и работает он корректнее других.
В большинстве случаев плавное видео с фильтром повышения резкости производит лучшее впечатление, чем кодирование повышения резкости в видеопоток.
Это связано с особенностями кодирования сигналов путем квантования, о которых я не буду подробно говорить.
Теперь о полезных фильтрах VirtualDub — Smoother и Temporal Smoother, оба встроенные.
Первый сглаживает методом Гаусса, поэтому картинка получается более мультяшной.
Если вы используете значение в диапазоне 1–5, вы можете успешно сгладить прямоугольность и шум на границах объектов.
Замедляет кодирование на 10-20%.
Второй на самом деле не сглаживает, а скорее стабилизирует изображение, делая текущий кадр зависимым от предыдущего.
Значение устанавливает приблизительное количество предыдущих кадров.
Рекомендуется 1 или 2. Если вы установите значение > 4, взмах руки будет выглядеть веером.
Незаменим для стабилизации подергивания фона.
Замедляет кодирование на 30-50%.
Наконец, остается сказать только одно: Le XVID Est Mort? Да здравствует XVID! Кодируйте свое здоровье.
Теги: #Работа с видео #VirtualDub #VirtualDub #xvid #xvid #матрица квантования #матрица квантования
-
У Син
19 Oct, 24 -
Не Разговаривайте С Пациентом! История
19 Oct, 24 -
Тюнинг Канабальта
19 Oct, 24 -
Как Я Сделал И Продал Курс По Axure 7
19 Oct, 24 -
Ангелы В Фотографиях Или «Нло Из Принтера 2»
19 Oct, 24