Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #54, МАЙ 2005 г.

Теория цифрового видео

Хоптынец Владимир

Спецвыпуск: Хакер, номер #054, стр. 054-004-4


При видеозахвате всегда нужно учитывать, будут ли проводиться обработка этого материала фильтрами и нелинейный видеомонтаж. Если да, то при захвате лучше вообще не использовать сжатие "на лету" или использовать не очень сильное сжатие, основанное на "раздельном" алгоритме. Наиболее популярным видом такого сжатия является Motion JPEG (MJPEG), при котором каждый кадр компрессируется известным алгоритмом JPEG, выдающим степень сжатия 7:1 без заметных искажений картинки. Все это я долго излагаю из-за того, что сильное сжатие и "рекурсивные" алгоритмы вносят в видеофрагмент очень большое количество "скрытых" артефактов, которые станут заметными только при проведении фильтрации или рекомпрессии, производимой после нелинейного видеомонтажа.

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

Сжатие

Сжатие видео - дело тонкое, поэтому внимательно читай этот раздел.

Пороговая частота дискретного восприятия сменяющихся графических образов – 25 кадров в секунду, поэтому наличие в выходном потоке большего числа кадров неоправданно.

Существует множество алгоритмов сжатия видео, но все они основаны на базовых алгоритмах в различных сочетаниях и последовательностях. Видео – это поток картинок, поэтому возникают и дополнительные методы компрессии. Например, можно сохранять следующий по отношению к какому-нибудь другому кадр не целиком, а только его отличия от предыдущего, а на неизмененные пикселы накладывать прозрачные. Похожие приемы применяются в GIF и несколько усложненные - в FLI-форматах. Рассмотрим несколько базовых методов сжатия изображений.

Квантование

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

Принцип сжатия при квантовании следующий: берется некоторое количество встречающихся чаще всего цветов, при этом учитывается чувствительность глаза человека к определенным цветам. Далее для каждой точки изображения назначается ближайший цвет из выбранных как среднеквадратичная разность RGB-составляющих. После такого преобразования появляются большие области одного цвета, которые можно "скормить" любому из предыдущих алгоритмов. Большой плюс метода – сжатие "сложных" картинок, а минус – некоторая потеря качества. Соответственно, чем больше цветов "загрубляется", тем больше потеря качества.

Назад на стр. 054-004-3  Содержание  Вперед на стр. 054-004-5