Часто используемые кодеки
Вид кодека | Функции |
Microsoft Video 1 | Самый распространенный кодек. Справляется с большинством задач. Распространяется бесплатно в комплекте с программным пакетом Video for Windows фирмы Microsoft |
Microsoft RLE | Кодек для видео с низкой степенью детализации при воспроизведении на маломощных компьютерах. Лучше всего его применять для видео с «говорящими головами» (дикторами) — количество движений здесь минимально. |
Intel Indeo | Всегда захватывает 16 млн. цветов и затем адаптирует изображение под конкретную аппаратуру при воспроизведении. Платы со специальной встроенной микросхемой видеозахвата фирмы Intel (i750) существенно ускоряют процесс захвата и воспроизведения. Чисто программным способом достичь такой скорости невозможно |
MPEG (Motion Picture Expert Group) | MPEG считается одним из лучших методов компрессии. Один из самых сложных методов. Для записи и воспроизведения видео требуются дорогостоящие MPEG-платы |
JPEG (Joint Photographic Expert Group) | Первоначально этот метод применялся только для неподвижных изображений. Теперь он также используется и для видеозаписи. |
Cinepak | Свое существование этот кодек начал на компьютерах Macintosh, но теперь он работает и с Video for Windows. Компрессия происходит сравнительно медленно, зато результат замечательный |
Spigot | Эти кодеки работают с платами видеозахвата компании Creative Labs |
Какой кодек самый лучший? Тут нет однозначного ответа. Одни кодеки могут делать очень малые по размеру файлы, но при этом теряется качество изображения. Другие позволяют иметь отличное изображение, но размер файлов слишком велик. Большинство же плат находится где-то посередине этих крайних вариантов. Впрочем, вы вряд ли столкнетесь с широким выбором кодеков. Большинство плат видеозахвата может использовать только определенный тип кодека, который входит в состав ПО, поставляемого вместе с платой.
При выборе кодека вам необходимо определить, при каких условиях вы будете воспроизводить фильмы. На быстром ли компьютере, или на медленном, при постоянных или различных значениях скорости? Используя быстрый или медленный CD-ROM-дисковод или, может, жесткий диск? Какое качество изображения вам необходимо, как много цветов? Как много динамики в ваших конкретных фильмах? И, наконец, сколько дискового пространства вы можете отвести для видео. Ответьте на все эти вопросы и затем поэкспериментируйте с различными кодеками пока не найдете тот, что наилучшим образом подходит под ваше любимое видео.
Сжатие видео
Для большего уменьшения потоков данных при переходе к цифровому сигналу используют так называемую компрессию (сжатие). Чем больше коэффициент компрессии (в пределах одного алгоритма), тем меньше поток, но больше потери качества.
Основные виды компрессии, используемые в видео, это MJPEG (Motion JPEG) и MPEG. Сжатие MJPEG основано на удалении лишней пространственной информации в кадре с помощью так называемого Дискретного Косинусного Преобразования. MJPEG - это последовательность JPEG-кадров. При использовании больших коэффициентов компрессии видна блоковая структура JPEG - квадратики. Цифровая запись DV основана на аналогичном алгоритме, но использует более гибкую схему, что позволяет добиться лучшего сжатия при том же качестве, что и у MJPEG. Напомним, что разрешение DV достигает 500 линий, и по качеству изображение сравнимо с аналоговым Betacam. При сжатии алгоритмом MPEG дополнительно удаляется временная избыточность, то есть информация, повторяющаяся в последовательных кадрах. Нет смысла передавать в каждом кадре один и тот же объект, если он не меняется. MPEG1 работает с разрешением 352х288 (PAL) и ориентирован на скорости передачи до 1 Мбайт/с (он используется в VideoCD). MPEG2 имеет 4 уровня разрешения кадров (до 1920х1152) и 5 профилей кодирования сигналов яркости и цветности (в частности, используется в DVD-Video).
При использовании MJPEG изображение качества VHS передается потоком 2 Мб/с (сжатие эталонного сигнала около 1:10), S-VHS - 4 Мб/с (1:5), DV - 3,6 Мб/с (1:5), студийное видео 7 Мб/с (1:2). Но все равно это требует больших пространств на диске (около 200 Мб для одной минуты DV качества). Используя алгоритм MPEG1, можно сжать еще сильнее - час видео VHS качества занимает около 650 Мб (помещается на СD). Но лучше всего сжимает MPEG2. Час видео DV качества, сжатый в MPEG2, помещается на CD-R! Правда, для просмотра требуются достаточно большие мощности компьютера. Программа (или устройство), осуществляющая компрессию-декомпрессию, называется КОДЕК (КОдирование/ДЕКодирование). Аппаратный кодек работает быстрее, но стоит очень дорого. Программный перекладывает все функции на процессор, стоит дешево, а производительность зависит от компьютерной системы.
Таким образом, при нелинейном монтаже аналоговый сигнал оцифровывается, сжимается определенным образом. Вы можете обычно варьировать коэффициент компрессии, в зависимости от ваших требований и возможности системы. Чем меньше сжатие, тем меньше искажение сигнала, но больше потоки данных, и как следствие, требования к аппаратуре. Считается, что сжатие 1:3 практически не заметно глазом, но далеко не каждая система сможет такое сжатие обеспечить. Более дорогие платы могут работать с меньшим сжатием. Подумайте, для чего вы будете использовать полученный фильм. Для создания интернет-роликов подойдет самая дешевая плата, для создания VideoCD или записи результата на VHS-магнитофон - тоже не особенно дорогая. Еще одной особенностью более дорогих плат является возможность редактирования самой записи. Так, можно вытянуть слишком затемненные места, сделать кадры контрастнее. Конечно, это могут и программы, но только при поддержке плат.
Следует исходить из разумной достаточности при определении необходимой степени сжатия. При этом необходимо учитывать, как четыре характеристики (частота кадра, экранное разрешение, глубина цвета и качество изображения) влияют на объем и качество видео. Вы должны ясно себе представлять, какую "цену" придется заплатить за качественное изображение. Чем больше глубина цвета, выше разрешение и лучше качество, тем большая производительность компьютера вам потребуется, не говоря уж о громадных объемах дискового пространства, необходимого под цифровое видео. Учитывая эти характеристики, можно выбрать оптимальный коэффициент сжатия. Надо отметить, что в профессиональном видео действует простое правило - чем ниже коэффициент сжатия, тем лучше.
Простейшие расчеты показывают, что 24-битное цветное видео, при разрешении 640 на 480 и частоте 30 кадров/с потребует передачи 26 Мбайт данных в секунду! Этот поток не только выходит за рамки пропускной способности компьютерной шины, но и моментально "съест" любое дисковое пространство. Для наглядности приводим здесь наши расчеты.
640 горизонтальное разрешение X 480 вертикальное разрешение
307,200 точек на кадр X 3 байтов на каждую точку/пиксель
921,600 всего байтов на кадр X 30 кадров в секунду
27,648,000 всего байтов в секунду / 1,048,576 конвертируем байты в Мбайты
Итого: 27,648,000 байт/с, или 26,36 Мбайт/с
Иногда для уменьшения этого сумасшедшего объема данных до разумного уровня достаточно оптимизировать один из вышеперечисленных параметров видеосигнала. Современные приложения (игры, компьютерные тренажеры, видеокиоски[2] и некоторые деловые пакеты) зачастую не требуют полноэкранного видео. Такие программы обычно используют видео в окне, и для них не требуется оцифровывать целый кадр. Так давайте изменим параметры видеосигнала и сделаем новый расчет для разрешения 320 на 240.
320 горизонтальное разрешение X 240 вертикальное разрешение
76,800 точек на кадр X 3 байтов на каждую точку/пиксель
230,400 всего байтов на кадр X 15 кадров в секунду
3,456,000 всего байтов в секунду / 1,048,576 конвертируем байты в Мбайты
Итого: 3,456,000 байт/с, или 3,3 Мбайт/с
Как видите, уменьшив размер изображения, мы добились весьма существенного уменьшения объема данных, передаваемых в единицу времени. Однако стандартная ISA-шина имеет пропускную способность всего около 600 Кбайт/с. Поэтому, даже существенно пожертвовав качеством видео, мы все еще вынуждены оперировать данными, объем которых в 6 раз больше допустимого уровня. К тому же, не забудьте, что 3,3 Мбайт занимает всего лишь одна секунда видео. Для двухчасового фильма потребуется 23,73 Гбайт дискового пространства! За счет дальнейшего уменьшения размера окна, понижения качества изображения и перехода с RGB формата на YUV (4:1:1) можно добиться еще некоторого снижения объема данных, примерно до 1,5 Мбайт/с. Но этого все равно явно недостаточно.
3.1. Все о сжатии видеоданных:
Очевидно, что сжатие видео нужно для уменьшения объема цифровых видео файлов, предназначенных для хранения, при этом желательно максимально сохранить качество оригинала. Различают сжатие обычное в режиме реального времени, симметричное или асимметричное, с потерей качества или без потери, сжатие видеопотока или покадровое сжатие.
Для уменьшения объема цифровых видеофайлов используют методы сжатия данных, которые базируются на математических алгоритмах устранения, группировки и усреднения схожих данных, присутствующих в видеосигнале. Существует большое количество разнообразных алгоритмов сжатия, включая Compact Video, Indeo, Motion-JPEG, MPEG, Cinepak, Sorenson Video. Все они могут быть разделены на следующие категории.
Обычное сжатие (в режиме реального времени). Система оцифровки видеосигнала с одновременным сжатием. Для качественного выполнения этих операций требуются высокопроизводительные специальные процессоры. Большинство плат ввода/вывода видео на PC пропускают кадры, что нарушает плавность изображения и его синхронизацию со звуком.
Симметричное сжатие. Оцифровка и запись производится при параметрах последующего воспроизведения (например, разрешение 640 х 480 при скорости 30 кадров в секунду).
Асимметричное сжатие. Обработка выполняется при существенных затратах времени. Так, отношение асимметричности 150:1 указывает, что 1 минута сжатого видео соответствует затратам на сжатие в 150 минут реального времени.
Сжатие с потерей или без потери качества. Все методы сжатия приводят к некоторой потере качества. Существует только один алгоритм (разновидность Motion-JPEG для формата Kodak Photo CD), который выполняет сжатие без потерь, однако он оптимизирован только для фотоизображений и работает с коэффициентом 2:1.
Коэффициент сжатия — это цифровое выражение соотношения между объемом исходного и сжатого материала. Качество видео зависит от используемого алгоритма сжатия, параметров видеоплаты оцифровщика, конфигурации компьютера и даже от программного обеспечения. Для MPEG сейчас стандартом считается соотношение 200:1. Различные варианты Motion-JPEG работают с коэффициентами от 5:1 до 100:1, хотя уже при уровне 20:1 трудно добиться нормального качества изображения.
Сжатие обычное (в режиме реального времени). Термин real-time (реальное время) имеет много толкований. Применительно к сжатию данных используется его прямое значение, т. е. работа в реальном времени. Многие системы оцифровывают видео и одновременно сжимают его, иногда параллельно совершая и обратный процесс декомпрессии и воспроизведения. Для качественного выполнения этих операций требуются очень мощные специальные процессоры, поэтому большинство плат ввода/вывода видео для PC бытового класса не способны оперировать с полнометражным видео и часто пропускают кадры.
Недостаточная частота кадров является одной из основных проблем для видео на PC. При производительности ниже 24 кадров/с видео перестает быть плавным, что нарушает комфортность восприятия. К тому же, пропущенные кадры могут содержать необходимые данные по синхронизации звука и изображения.
Симметричное или асимметричное сжатие. Этот показатель связан с соотношением способов сжатия и декомпрессии видео. Симметричное сжатие предполагает возможность проиграть видеофрагмент с разрешением 640 на 480 при скорости в 30 кадров/с, если оцифровка и запись его выполнялась с теми же параметрами. Асимметричное сжатие - это процесс обработки одной секунды видео за значительно большее время. Степень асимметричности сжатия обычно задается в виде отношения. Так цифры 150:1 означают, что сжатие одной минуты видео занимает примерно 150 минут реального времени.
Асимметричное сжатие обычно более удобно и эффективно для достижения качественного видео и оптимизации скорости его воспроизведения. К сожалению, при этом кодирование полнометражного ролика может занять слишком много времени, вот почему подобный процесс выполняют специализированные компании, куда отсылают исходный материал на кодирование (что увеличивает материальные и временные расходы на проект).
Сжатие с потерей или без потери качества. Как мы уже говорили, чем выше коэффициент сжатия, тем больше страдает качество видео. ВСЕ методы сжатия приводят к некоторой потере качества. Даже если это не заметно на глаз, всегда есть разница между исходным и сжатым материалом. Пока существует всего один алгоритм (разновидность Motion-JPEG для формата Kodak Photo CD), который выполняет сжатие без потерь, однако он оптимизирован только для фотоизображений и работает с коэффициентом 2:1.
Сжатие видеопотока или покадровое сжатие. Это, возможно, наиболее обсуждаемая проблема цифрового видео. Покадровый метод подразумевает сжатие и хранение каждого видеокадра как отдельного изображения. Сжатие видеопотока основано на следующей идее: не смотря на то, что изображение все время претерпевает изменения, задний план в большинстве видеосцен остается постоянным - отличный повод для соответствующей обработки и сжатия изображения. Создается исходный кадр, а каждый следующий сравнивается с предыдущим и последующим изображениями, а фиксируется лишь разница между ними. Этот метод позволяет существенно повысить коэффициент сжатия, практически сохранив при этом исходное качество. Однако в этом случае могут возникнуть трудности с покадровым монтажом видеоматериала, закодированного подобным образом.
Коэффициент сжатия. Этот показатель особенно важен для профессионалов, работающих с цифровым видео на компьютерах. Его ни в коем случае нельзя путать с коэффициентом асимметричности сжатия. Коэффициент сжатия - это цифровое выражение соотношения между объемом сжатого и исходного видеоматериала. Для примера, коэффициент 200:1 означает, что если принять объем полученного после компрессии ролика за единицу, то исходный оригинал занимал объем в 200 раз больший.
Обычно, чем выше коэффициент сжатия, тем хуже качество видео. Но многое, конечно, зависит от используемого алгоритма. Для MPEG сейчас стандартом считается соотношение 200:1, при этом сохраняется неплохое качество видео. Различные варианты Motion- JPEG работают с коэффициентами от 5:1 до 100:1, хотя даже при уровне в 20:1 уже трудно добиться нормального качества изображения. Кроме того, качество видео зависит не только от алгоритма сжатия (MPEG или Motion-JPEG), но и от параметров цифровой видеоплаты, конфигурации компьютера и даже от программного обеспечения (к этим вопросам мы вернемся чуть позже в сравнительном обзоре видеоплат).