Видео на вашем компьютере: ТВ тюнеры, захват кадра, видеомонтаж, DVD
Шрифт:
Поскольку в цифровом описании мы имеем дело с двоичным представлением, полученные значения необходимо воспроизвести в виде двоичного кода. При этом происходит усечение значений параметра до ближайшего допустимого значения (рис. 3.1). Степень числа «два», при которой мы получим нужное число допустимых значений параметра, называется глубиной, или уровнем квантования, или разрядностью слова данных. Уважаемый читатель, не спешите пугаться обилию незнакомых терминов. Разберем несколько примеров. Крайним может быть случай, когда для описания выделен один бит. Тогда параметр может принимать 21 = 2 значения: 0 и 1. Изображение, описанное подобным образом, будет состоять из черных и белых точек. Если, допустим, уровень квантования равен 8, то для описания выделено 8 бит (1 байт), и параметр может принимать 28 = 256 значений, при уровне квантования 10 получим 1024 допустимых значения и т. д. На рис 3.1 имеем 8 допустимых значений (от 0 до 7), соответственно, уровень квантования равен трем.
Параметры одного и того же видеоматериала могут оцифровываться с различной частотой и глубиной. Чем выше частота и глубина оцифровки, тем более качественным будет описание, но тем больше и объем данных.
Рис. 3.3 иллюстрирует двоичное представление сигнала, показанного на рис 3.1. Уровень квантования, как уже было сказано, равен трем. Сигнал принимает значения 3, 4, 5, 6, затем снижается до 5. Первое значение в двоичной форме примет вид 011. Значение 4 – 100 и т. д.
Возможны два способа передачи оцифрованных данных: параллельный, когда каждый из разрядов передается по отдельной линии, и последовательный, когда данные передаются по одной линии с помощью определенной комбинации импульсов. Параллельная передача обычно быстрее, она используется,
Естественно, при последовательном кодировании и передаче возникают дополнительные проблемы: как обозначить переход к следующему слову, как своевременно обнаружить ошибку при передаче (ведь ошибка в старшем разряде может полностью исказить данные). Поэтому реально комбинация импульсов может быть достаточно сложной.
Процесс оцифровки – лишь одна из возможностей цифро-аналоговых преобразований. В цифровом виде хорошо хранить, модифицировать и копировать информацию. Но воспринимаем-то мы непрерывные, аналоговые процессы, следовательно, для вывода изображения на экран его необходимо перевести в прежний – аналоговый – формат. При этом в идеальном случае исходный сигнал должен был бы восстановиться в полном объеме. Понятно, что такого не бывает. Во-первых, глубина квантования не бесконечна, поэтому всегда происходит округление значений параметра, и при обратном преобразовании исходные значения уже не восстанавливаются в прежнем виде. Такие искажения называют шумом квантования. Во-вторых, невозможно производить замеры не только с бесконечной глубиной, но и с неограниченной частотой. А если частота дискретизации менее чем в два раза превосходит максимальную частоту в спектре сигнала, высокочастотная компонента не восстановится. Характеристики низкочастотных фильтров, используемых при цифро-аналоговых преобразованиях для сглаживания сигнала, также далеки от идеальных. Поэтому потери информации в процессе аналого-цифровых и цифроаналоговых преобразований неизбежны.
Однако при хороших параметрах оцифровки данных их искажения становятся практически незаметными и на первый план выступают достоинства цифрового описания. Это, прежде всего, возможность многократного копирования без искажений информации. Даже для формата Betacam SP число последовательных копий без ухудшения качества не превышает четырех. Для цифрового видео (если не применять многократную компрессию/декомпрессию) оно не ограничено. Цифровому видео присуща гораздо большая помехоустойчивость. В большинстве форматов существуют механизмы автоматического обнаружения и коррекции ошибок. Кроме того, появляются колоссальные возможности для преобразований изображения (например, для создания эффектов).
Итак, у цифрового описания масса преимуществ, поэтому оно стало популярным задолго до начала эры компьютерного мультимедиа.Стандарты дискретизации видеосигналов
В большинстве форматов цифрового видео используется компонентная палитра. Весьма популярен стандарт 4:2:2 (YUV2). Речь идет о раздельной оцифровке значений Y, U и V-каналов. Для цифрового кодирования в качестве базовой принята частота 3,375 МГц. Это значение кратно частотам основных стандартов телевизионных изображений: 625/60 и 525/50. Частота дискретизации для конкретного канала вычисляется как произведение базовой частоты на соответствующий коэффициент: 4 для канала Y и 2 для цветоразностных каналов. Таким образом, частота оцифровки яркостного сигнала равна 13,5 МГц. Эта частота соответствует рекомендациям международного стандарта ITU (бывшего CCIR) 601. Схема дискретизации при данной частоте приведена на рис. 3.4.
Рис. 3.4. Дискретизация по стандарту 4:2:2 (YUV2)
Отсюда следует, что каждый пиксел строки имеет собственное значение яркости, но значения каждого из цветоразностных компонентов одинаковы для пары соседних пикселов. При 576 активных строках на кадр с сохранением стандартного для телевидения соотношения ширины изображения к высоте 4:3 получаем 720 активных элементов в строке для сигнала яркости и 360 – для цветоразностных сигналов. (Нарушение соотношения 4:3 приводит к искажению изображения, так что квадратные элементы становятся прямоугольными.) Это исходный, наиболее универсальный формат, такие кадры как раз и поступают на вход систем компрессии. Яркостный сигнал кодируется восемью битами, оба цветоразностных – по 8 бит на пару точек. В результате для описания каждой точки используется 16 бит, однако определяемое таким способом кодирования цветовое пространство соответствует 24-битной палитре – 16 миллионов цветов, где каждая отдельная точка может занимать любое положение в пределах цветового охвата данной палитры. Поэтому при перекодировании из YUV 4:2:2 в 16-битный RGB происходят необратимые потери информации.
Если в процессе захвата или обработки изображения производится перекодирование из одной палитры в другую, для предсказания возможных потерь недостаточно формальной информации о числе бит на точку. Необходимо знать способ кодирования. По возможности старайтесь избегать многократного перекодирования, поскольку вероятность потерь и искажений информации при этом возрастает.
Для цифрового представления существенна величина потока информации (скорости передачи данных, необходимой для записи информации без потерь). Она является произведением глубины квантования на частоту дискретизации. То есть для стандарта 4:2:2 при уровне квантования 10 бит (распространенном для современной техники) имеем:
Чy х Гу + Чu х Гu + Чv х Гv = 10 бит х (13,5 МГц + 6,75 МГц + 6,75 МГц) = 270 Мбит/с или 33,75 Мбайт/с (где Ч – частота, Г – глубина оцифровки).
Поток достаточно большой, но только при таких характеристиках сохраняется студийное качество изображения.
Встречаются и другие значения частоты дискретизации: для передачи данных непосредственно в RGB-палитре (в измерительной технике или особо точной записывающей аппаратуре) 4:4:4. Этот способ кодирования совсем не искажает изображение, но применяется довольно редко в связи с резким увеличением потока информации. При кодировании дополнительных данных (например, альфа-канала, задающего прозрачные области) встречается представление 4:4:4:4. Это дает поток 540 Мбит/с.
Гораздо чаще встречаются стандарты дискретизации с уменьшенным пространственным разрешением для цветоразностных сигналов: 4:1:1 (BTYUV) и 4:2:0 (YUV12). Оба способа кодирования ухудшают качества кадра и обычно применяются вместе с достаточно высоким уровнем компрессии в форматах, когда компактность оказывается важнее качества.
В первом случае имеем дискретизацию яркостного сигнала с частотой 13,5 МГц, а цветоразностных сигналов – 3,375 Мгц, то есть цветоразностные компоненты общие уже не для двух, а для четырех пикселов.
Стандарт 4:2:0 (рис. 3.5) имеет тот же суммарный поток информации, но для цветоразностных сигналов в два раза снижено разрешение как по горизонтали (360 отсчетов в строке), так и по горизонтали (288 строк). В этом случае имеем не пары, а квадраты точек, для которых приравниваются значения цветоразностных сигналов: две точки в данной строке и две точки в соседней. Ноль в записи, естественно, некоторая условность, вторая цветоразностная компонента никуда не исчезает. Стандарт 4:2:0 используется в бытовых форматах DV.
Еще сильнее уменьшает поток информации (и качество изображения) формат CIF, при котором для яркостной компоненты оцифровывается половина строк (288), горизонтальное разрешение составляет 352 элемента, а разрешение цветоразностных компонент по обоим направлениям в два раз ниже. Такое кодирование используется там, где необходимо очень сильно уменьшить поток данных, например при передаче изображения по телефонным сетям.
Если изображение необходимо копировать без потери качества, надо применять дискретизацию не ниже 4:2:2. Даже если запись производилась с худшими характеристиками, копирование по мере возможности стоит производить на технике именно такого класса.
Для форматов, использующих композитный сигнал, применяется частота дискретизации, совпадающая с частотой четвертой гармоники цветовой несущей: 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 обычно позволяют пользователю регулировать состав группы.
Теоретически MPEG позволяет описывать кадры большого размера, но в связи с ограничением числа макроблоков на картинку реальный размер кадра составляет 352x240, 30 кадров/с (SIF) или 352x288, 25 кадров/с, формат 4:2:0, 8 бит на точку.
MPEG позволяет значительно уменьшить суммарный поток данных. Естественно, потери качества при очень высоком уровне сжатия будут происходить вне зависимости от алгоритма обработки. Обычно программы сжатия позволяют заранее выбрать требуемое качество и показывают поток данных, которые вы получите в этом случае. Уменьшение потока в ущерб качеству обычно выбирают при создании видео для Intenet и мультимедиа-приложений.
Поскольку B-кадр нельзя декодировать, не приняв последующего P-кадра, кадры декодируются не в линейной последовательности (рис. 3.7).
Алгоритм MPEG 2 является усовершенствованным вариантом MPEG 1, использует поиск и удаление избыточности (повторяющейся информации) в видеосигнале. Поскольку, по некоторым данным, дублируется более 90 % информации, уровень компрессии может быть весьма высоким. Этот стандарт позволяет работать с кадром полного размера, с видео в стандарте не только 4:2:2, но и 4:4:4, чересстрочной разверткой, широкоформатным изображением (соотношение сторон кадра 16:9).
MPEG подразделяется на уровни и профили. Профиль определяет набор методов обработки, а уровень – перечень ограничений, таких, как размер кадра или скорость потока данных.
В профиле Simple (простой) отсутствуют B-кадры, профиль Main (основной) – это обычный MPEG 1. В более высоких профилях – Main+ (основной+), Next (следующий) – используется разделение на три слоя, что позволяет организовать приоритет при передаче данных. При пространственном масштабировании основной, менее приоритетный слой кодируется с меньшим разрешением и затем используется как предсказание для более приоритетных. SNR-каналы (Signal to Noise Ratio Scalability – масштабирование соотношения сигнал/шум) кодируются с одинаковой скоростью, но с разным качеством: менее приоритетный слой содержит плохую картинку – более дискретные шаги, а высокоприоритетный слой содержит довесок, позволяющий построить качественную картинку.
При временном масштабировании слои различаются по скорости передачи информации. Обычно больший приоритет имеют низкочастотные компоненты, а меньший – более высокочастотные (мелкие детали).
Уровни определяют размер кадра и величину потока – см. табл. 3.1.
Существуют запретные сочетания уровней и профилей, например для профиля Main невозможны уровни High. Наиболее часто встречается сочетание главного уровня с главным профилем. Встретив обозначение ML@MP, не пугайтесь, это всего лишь Main Level, Main Profile. Возможны и более развернутые обозначения, например IBP 15/3 MP@ML. Вы, наверное, уже поняли, что такая запись означает главный уровень, главный профиль, кодирование с использованием и I-, B– и P-кадров, группы из 15 кадров, по 3 B-кадра между P-кадрами.
Таблица 3.1MPEG 2 является наиболее распространенным способом сжатия видеоданных и применяется во многих цифровых форматах. Однако в наиболее дорогой технике профессионального класса предпочитают обходиться без компрессии, следуя по пути увеличения скорости протяжки ленты и ее расхода, а для компьютерного видео – распараллеливания записей.
Для записей бытового класса и многих случаев видеорегистрации MPEG представляет собой вполне приемлемый вариант. Этот алгоритм с успехом используется в цифровом формате DVD-video, считающемся «последним словом» бытовой видеотехники. При непрерывном просмотре кадры MPEG кажутся полностью реалистичными. Однако это впечатление обманчиво. На рис. 3.8 и 3.9 показаны кадры из одного и того же видеоклипа: один взят из некомпрессированного AVI-файла, другой – из созданного на его основе MPEG-файла.
Если вы собираетесь получать из видеоролика отдельные кадры и использовать их, например, для полиграфии, формат MPEG, как и любой другой вариант компрессии, категорически противопоказан!
До недавнего времени считалось, что монтаж MPEG-последовательностей затруднен, если не невозможен. Для монтажа и создания эффектов их приходилось декомпрессировать. Наиболее современные системы видеоввода обеспечивают возможность не только монтажа, но и применения эффектов к видеопоследовательностям в формате MPEG. К сожалению, автор вынуждена честно признаться, что пока не видела видео, созданного подобным способом и ничего не может сказать о его качестве.