Так как скорость записи на жесткий диск меньше, чем скорость видеопотока, то возникает необходимость сжатия (компрессии) информации. Такая компрессия может выполняться как аппаратно, так и программно.
Аппаратная компрессия, например MJPEG или MPEG, использует дополнительную видеопамять на плате оцифровки. Это обеспечивает высокое качество видео при малом размере файлов. Недостатком данного типа компрессии является то, что воспроизведение видео возможно только на аналогичных ПК, имеющих такие же устройства.
Программная компрессия, типа Cinepak и Indeo, обеспечивается ПК, который выполняет эту работу вместе с решением других задач. Она является аппаратно независимой и может быть осуществлена на любом ПК, но обеспечивает гораздо меньший коэффициент сжатия. Тем не менее она используется для распространения видео на компакт-дисках и через Интернет.
Даже если ваш ПК не обладает достаточными ресурсами для оцифровки видео, можно достичь хороших результатов с учетом имеющихся ограничений. Для этого нужно:
· освободить ресурсы ПК, закрыв все другие выполняющиеся программы,
· регулярно выполнять дефрагментацию жесткого диска для сохранения непрерывности свободного пространства,
· выделить отдельный физический или логический диск для записи видеоинформации,
· выполнить оцифровку с максимально возможным качеством и при необходимости выполнить последующее прореживание изображения,
· отключить запись звука при оцифровке видео.
При записи аудио на ПК качество записи, а также размер получаемых файлов, определяются следующими параметрами: частота дискретизации (sampling rate), объем выборки (sample size) и число каналов. Для звуковой записи на компакт диске характерны —2 канала стерео, каждый из которых имеет объем выборки 16 бит при частоте дискретизации 44 кГц. Однако такие значения приводят к большому размеру файлов, при проигрывании которых на ПК не удается воспроизвести весь частотный диапазон сигнала. Поэтому рекомендуется для мультимедиа проектов запись музыки и голоса производить при частоте 22 кГц, а запись звуковых эффектов и голоса за кадром даже при 11 кГц, причем для сокращения размера файлов можно ограничиться монофоническим звучанием, то есть одним каналом.
Как уже отмечено, запись звука может выполняться не одновременно с оцифровкой видео, а позднее, и затем в редакторе Video Editor они могут быть совмещены.
Большинство данных проблем исчезает, если воспользоваться цифровой видеокамерой.
Принцип кодировки.
Перед началом кодирования происходит анализ видеоинформации, выбираются ключевые кадры, которые не будут изменяться при сжатии, а так же кадры, при кодировании которых часть информации будет удаляться. Всего выделяется три типа кадров:
При кодировании формируется цепочка кадров разных типов. Наиболее типичная последовательность может выглядеть следующим образом: IBBPBBPBBIBBPBBPBB... Соответственно очередь воспроизведения по номерам кадров будет выглядеть так: 1423765...
По окончании разбивки кадров на разные типы начинается процесс подготовки к кодированию.
С I кадрами процесс подготовки к кодированию происходит достаточно просто - кадр разбивается на блоки. В MPEG-1 блоки имеют размер 8х8 пикселов.
А вот для кадров типа P и B подготовка происходит гораздо сложнее. Для того, чтобы сильнее сжать кадры указанных типов используется алгоритм предсказания движения.
В качестве входной информации алгоритм предсказания движения получает блок 8х8 пикселов текущего кадра и аналогичные блоки от предыдущих кадров (I или P типа). На выходе данного алгоритма имеем следующую информацию о вышеуказанном блоке:
Вся избыточная информация подлежит удалению, благодаря чему и достигается столь высокий коэффициент сжатия, невозможный при сжатии без потерь.
Но у алгоритма предсказания движения есть ограничения. Зачастую в фильмах бывают статические сцены, в которых движения нет или оно незначительно и возникают блоки или целые кадры, в которых невозможно использовать алгоритм предсказания движения. Думаю, вы замечали, что у видеороликов сжатых MPEG-1 качество сцен с небольшим количеством двигающихся объектов заметно выше, чем в сценах с интенсивным движением. Это объясняется тем, что в статических сценах P и B кадры, по сути, представляют собой копии I кадров, потерь практически нет, но и сжатие информации незначительно.
В случае же корректного срабатывания алгоритма предсказания движения, объемы кадров разного типа в байтах соотносятся друг с другом примерно следующим образом - I:P:B как 15:5:2. Как вы видите из данного соотношения, уменьшение объема видеоинформации налицо уже на стадии подготовки к кодированию.
По окончании этой стадии начинается собственно само кодирование. Процесс кодирования содержит в себе 3 стадии:
При кодировании блоки пикселов или вычисленная разница между блоками обрабатывается первым из преобразующим алгоритмов - DTC (дискретное преобразование косинусов). Обычно пиксели в блоке и сами блоки изображения каким-то образом связаны между собой - например однотонный фон, равномерный градиент освещения, повторяющийся узор и т.д. Такая связь называется корреляцией. Алгоритм DTC, используя коррелирующие эффекты, производит преобразование блоков в частотные Фурье-компоненты. При этом часть информации теряется за счет выравнивания сильно выделяющихся участков, которые не подчиняются корреляции. После этой процедуры в действие вступает алгоритм Quantization - квантование, который формирует Quantization matrix. Quantization matrix - это матрица квантования, элементами которой являются преобразованные из непрерывной в дискретную форму данные, то есть числа, которые представляют собой значения амплитуды частотных фурье-компонентов. После формирования quantization matrix происходит разбивка частотных коэффициентов на конкретное число значений. Точность частотных коэффициентов фиксирована и составляет 8 бит. После квантования многие коэффициенты в матрице обнуляются. И в качестве завершающей стадии происходит преобразование матрицы в линейную форму.
Все эти преобразования касаются только изображения. Но кроме изображения в практически любом видеофрагменте присутствует так же и звук. Кодирование звука осуществляется отдельным звуковым кодером. По мере развития формата MPEG, звуковые кодеры неоднократно переделывались, становясь все эффективнее. К моменту окончательной стандартизации формата MPEG-1 было создано три звуковых кодера этого семейства - MPEG-1 Layer I, Layer II и Layer 3 (тот самый знаменитый MP3). Принципы кодирования всех этих кодеков основаны на психоакустической модели, которая становилась все более и более совершенной и достигла своего апофеоза для семейства MPEG-1 в алгоритмах Layer-3.
Про психоакустическую модель и принципы сжатия аудиоданных с потерями написано множество статей, в частности статья "Описание формата аудиосжатия MP3", которую вы можете прочитать на этом сайте, поэтому описание аудиокодеров можно опустить, упомянув, единственно о синхронизации аудио- и видеоданных и форматов аудиотреков.
Синхронизация аудио- и видеоданных осуществляется с помощью специально выделенного потока данных под названием System stream. Этот поток содержит встроенный таймер, который работает со скоростью 90 КГц и содержит 2 слоя - системный слой с таймером и служебной информацией для синхронизации кадров с аудиотреком и компрессионный слой с видео- и аудиопотоками.
Под служебной информацией понимаются несколько видов меток, наиболее важными из которых являются метки SCR (System Clock Reference) - инкремент увеличения временного счетчика кодека и PDS (Presentation Data Stamp) - метка начала воспроизведения видеокадра или аудиофрейма.
Качество аудиотреков в MPEG-1 (см. описание форматов) может варьироваться в очень больших пределах - от высококачественных до безобразных. Окончательно все форматы сжатия аудиоданных были стандартизированы в 1992 году европейской комиссией по стандартам ISO.
В зависимости от используемого кодера и степени сжатия аудиоинформация видеоролика может быть представлена в следующем виде: моно, dual mono, стерео, интенсивное стерео (стереосигналы, чьи частоты превышают 2 КГц объединяются в моно), m/s стерео (один канал - сумма сигналов, другой - разница) и по частоте дискретизации могут быть: 48, 44.1и 32 КГц.
Устройства видео захвата.
К устройствам видео захвата на уровне ПК можно отнести любую программу для домашнего или профессионального редактирования видео. Среди большого количества программных продуктов, предназначенных для выполнения нелинейного видеомонтажа, наиболее распространенными являются Adobe Premiere, Ulead Media Studio Pro, Razor Pro, Video Capture, Video Editor, CG Infinity, Video Paint, Audio Editor, ActiveMovie, DirectDraw, Direct3D, SmartRender и ряд других. Программы предоставляют разнообразные творческие возможности, которые необходимы в средствах видеоредактирования. В них можно использовать настраиваемые средства для рисования, дублирования, ретуши отдельных или множественных объектов. Коллекция готовых шаблонов Object, Style, Envelope и Moving Path Galleries позволяет быстро создавать заголовки и рисованную графику профессионального качества с трансформацией объектов во времени. В Video Editor можно непосредственно загружать файлы, созданные в CG Infinity и Video Paint. В конечный видеофильм, сохраняемый в формате MPEG, можно добавить титры, воспользоваться плавными переходами между отдельными фрагментами и добавить голос или фоновую музыку к получившемуся клипу.