Видео на вашем компьютере: ТВ тюнеры, захват кадра, видеомонтаж, DVD - [16]
Для форматов, использующих композитный сигнал, применяется частота дискретизации, совпадающая с частотой четвертой гармоники цветовой несущей: 17,73 МГц для PAL и 14,32 МГц для NTSC.
Сжатие
Существует два принципиально различных варианта сжатия данных: с потерей и без потери информации. Первый вариант используется, например, при архивации данных и основан на том, что информацию можно записывать более или менее «экономным» способом, подобно тому как один и тот же текст можно просто записать, а можно застенографировать. Во втором случае запись, конечно, будет гораздо компактнее. При этом информация не теряется: при расшифровке стенограммы мы получим исходный текст.
Способов сжатия без потерь немного. Один из них основан на частотном анализе компрессируемых данных. В файле различные значения байтов встречаются, естественно, с неодинаковой частотой. Можно перекодировать «текст», поставив в соответствие часто встречающимся значениям байтов более короткие битовые последовательности, а редким значениям – более длинные коды. Для файлов, где существует значительная разница в частоте значений байтов, такой механизм сжатия довольно эффективен. В усовершенствованном варианте, называемом «арифметическим кодированием», анализируется не только частота отдельных значений, но и вероятность их появления в определенном «контексте» (в зависимости от соседних значений).
В другом случае принцип кодирования близок к уже упоминавшейся стенографии: определенные последовательности значений заменяются кодами, из который составляется «словарь». При этом, если в процессе кодирования встречается комбинация значений, являющаяся расширенным вариантом уже зарегистрированной последовательности, она добавляется в словарь. Объем словаря, разумеется, ограничен. Подобным образом создаются, например, специальные компрессированные TIFF-файлы.
Степень сжатия сильно зависит от типа и длины файла. В любом случае к данным добавляется информация, необходимая для декомпрессии (восстановления исходных данных). Поэтому, если данные в файле плохо сжимаются при использовании избранного алгоритма, размер файла может даже возрасти.
Даже в удачном случае уровень компрессии без потери информации обычно не очень высок. Сжатие в два раза – уже победа. Поэтому обычно для видео используют сжатие с потерей качества, отбрасывая информацию, якобы неразличимую глазом. Естественно, чем выше уровень такого сжатия, тем больше искажения. Из «неподвижных» графических компьютерных форматов такое сжатие применяется, например, в формате JPEG. В компьютерном видеоформате AVI (Audio Video Interleave – чередование аудио и видео) используется Motion JPEG.
Методы сжатия кадров основаны на дискретно-косинусном преобразовании. Картинка подразделяется на квадратные блоки, обычно 8х8 пикселов. В пределах каждого блока значения яркости и цветности точек переводятся в некоторые частотные коэффициенты. На этом этапе потерь информации не происходит. Затем производится квантование с переменным интервалом, то есть наибольшее число уровней квантования (значений, до которых производится округление) приходится на низкочастотную область, описывающую крупные объекты. В высокочастотной области, ответственной за детали изображения, происходит грубое округление значений до небольшого числа разрешенных уровней. Внешне результат выглядит как уменьшение разрешения, иногда сопровождающееся появлением артефактов. В несколько утрированном виде последствия такого сжатия можно проиллюстрировать при помощи обычного JPEG с высоким уровнем сжатия. Обратите внимание на рис. 3.6. Исходная надпись создана в CorelDraw с использованием градиентной заливки из черного в белый. Вверху – изображение импортировано в формат TIFF с разрешение 300 dpi и стандартным сглаживанием, снизу – то же изображение преобразовано в формат JPEG с максимальным уровнем сжатия. Разрешение то же. Разумеется, в реальной жизни никому не придет в голову использовать такую обработку для векторных картинок. При меньшем уровне сжатия и для картинки с пестрым фоном повреждения будут гораздо меньше. Чувствительность зрения к высокочастотным компонентам изображения (мелким деталям) меньше, чем к низкочастотным составляющим (крупным фрагментам). Поэтому, если в результате обработки «слипнутся», например, травинки или брызги воды, зритель может этого и не заметить. Особенно когда мы имеем дело с видеорядом изображений. Крупные же объекты с плавным краем обработка почти не искажает.
Для видео, кроме компрессии одного кадра – пространственного или внутрикадрового сжатия, – возможно межкадровое сжатие, основанное на том, что два соседних кадра обычно очень похожи.
На межкадровом сжатии основан, например, наиболее часто использующийся формат компрессии MPEG, на котором следует остановиться подробнее. Вообще MPEG – это не формат и даже не группа форматов. По словам одного из разработчиков, Джона Уоткинсона, «MPEG – это набор стандартных средств или точно определенных алгоритмов, которые могут комбинироваться многими способами при реализации аппаратуры цифрового сжатия». Собственно, аббревиатура MPEG расшифровывается как Moving Picture Expert Group (группа экспертов по движущимся изображениям). Он предусматривает компрессию видео– и аудиоматериала, а также способы их объединения и синхронизации. Литературы по MPEG очень много. Мы кратко коснемся только обработки видеоданных. Метод сжатия MPEG 1 основан на том, что полностью записывается лишь один кадр из группы примерно в 10 кадров. Это опорный, или I-кадр. Он сворачивается методами внутрикадрового сжатия. Следующие кадры сравниваются при кодировании, и вычисляются векторы движения. Для этого кадр подразделяется на макроблоки размером 16x16 пикселов, и измеряется движение фрагмента при переходе к следующему кадру. Для некоторого предсказанного кадра (P-кадра) производится сравнение с реальным, и определяется ошибка предсказания. При помощи векторов движения и разностных данных кодируются и остальные кадры. Их называют двунаправленными (В-кадрами), поскольку для их декодирования необходим I– или P-кадр до и после данного B-кадра. Последовательности I-, P-, B-кадров объединяются в фиксированные по длине и структуре группы, называемые GOP (Group of Pictures). Каждая такая группа обязательно начинается с I-кадра и с определенной периодичностью содержит P-кадры. Ее структуру описывают как M/N, где M – общее число кадров в группе, а N – интервал между P-кадрами. Для кадров разных типов применяется различный уровень компрессии. Наименее сильно сжимаются I-кадры. Р-кадр составляет по размеру примерно третью часть от I, а B – восьмую. Поэтому суммарный поток данных в значительной степени зависит от состава GOP. В зависимости от назначения и требуемого качества записи – видеофильм, мультимедиа-продукция, фильм для демонстрации в Internet и т. д. – используется различный состав GOP. Так, типичная для Video-CD IPB группа 15/3 имеет следующий вид: IBBPBBPBBPBBPBB. Программы для записи MPEG обычно позволяют пользователю регулировать состав группы.