IZONE - http://www.izcity.com/ - бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

Пособие для фанатов балета

Михаил Забелин

Хотелось ли вам заправить ваш любимый видеофрагмент в компьютер? Причем "в полный рост" и дешево? Это возможно. Правильно используя даже недорогую бытовую аппаратуру, можно записать материал с качеством не хуже, чем у многих рекламных роликов и клипов, встречающихся на различных CD и в Сети. Конечно, выбрав в качестве источника профессиональную аппаратуру, шансов получить хорошее изображение больше. Но сейчас появилась возможность получить качественную оцифровку видео, записанного с плохим качеством. Итак, наша задача осуществить процесс при минимуме вложений, получив при этом максимально качественный результат.

Благодаря чему же это стало возможно? Ну, спасибо надо сказать простому парню Эвери Ли (Avery Lee), создавшему замечательную программу VirtualDub, и многим другим товарищам, написавшим дополнительные фильтры для нее. Эта программа дает вашему ПК всю мощь профессиональной системы для обработки видео. Adobe Premier и After Effects просто не имеют таких средств. В плане захвата (capture) видео VirtualDub также нет равных.

Взять программу можно на www.virtualdub.org, там же есть и фильтры, которые нужно скопировать в созданную папку "Plugins". Программа спокойно переваривает AVI-файлы размером больше 2 Гб как единый файл, а также умеет преодолевать четырехгигабайтный барьер файловой системы FAT32.

Железо

В последнее время декодеры BrookTree 848 и 878/879 производства фирмы Conexant (бывший Rockwell) стали стандартом для устройств захвата видео. В 878 добавлена функция оцифровки одноканального звука, в 879 - обработка стереозвука ТВ и FM-радио и система шумоподавления DBX. Коррекция временных искажений не осуществляется - фирменная технология UltraLock гарантирует только одинаковое число пикселей в строке. 

Недорогие платы видеозахвата, как правило, сделаны на чипе BrookTree 848 или 878 и оснащены композитным и S-Video входом. Опционально платы могут комплектоваться телевизионным или FM-тюнером и называться Miro Video PCTV, AVerMedia TV Capture, 
Fly Video и так далее. Под названием "просто Bt 848" такая платка пару лет назад была куплена в одной компьютерной фирме всего за $17. Как правило, софт, написанный для одной из плат, построенных на этом чипсете, подходит также к другой плате.

Немного о возможностях чипсета. Bt 848 позволяет оцифровывать полноформатное видео стандартов PAL и SECAM (768 х 576 точек) с частотой 25 кадров в секунду без потери кадров. Многие видеоадаптеры, особенно ATI и ASUS, имеют видеовход, но их возможности по захвату часто весьма скромны: размер изображения может быть ограничен 384 х 288 или 352 х 288. Совсем плохо, когда карта рассчитана на американский рынок и, соответственно, стандарт NTSC. В этом случае максимальный размер изображения по вертикали будет 480 точек, и в режиме 384 х 288, если он есть, появится чересстрочность. Если такого режима нет, самый большой формат без чересстрочности будет 320 х 240, полученный интерполяцией "по соседним" из 384 х 288. Естественно, такую карту покупать не стоит.

Для оцифровки видео с приличным качеством нужен жесткий диск, способный писать поток данных со скоростью 16,3 или 
18 Мб/с, что вполне реально на сегодняшний день. Собираясь покупать жесткий диск специально для таких целей, надо помнить, что необходим запас по скорости около 5-10%, и к тому же надо учитывать снижение скорости записи при приближении головок к центру "блинов". Фрагментация файловой системы, естественно, нежелательна; лучше выделить логический раздел или просто отдельный диск. Если все же происходит выпадение некоторого количества кадров, попробуйте использовать другую программу захвата, например, VidCon32 из состава ПО для Miro PCTV. Для достижения максимальной производительности в свойствах CaptureSetup укажите "capture to memory", а в Preferences, в разделе "Video and audio synchronization", поставьте галочку "No master".

Привет от VHS

Бытовые аналоговые форматы: VHS, S-VHS, Video 8 и Hi-8 - очень плохо обращаются с информацией о цвете изображения. Сигнал цветности записывается с помощью амплитудной модуляции (так же, как звук на обычную компакт-кассету) в узкой полосе частот. При воспроизведении сигнал цветности в системе PAL (но не SECAM) задерживается на две строки и суммируется с исходным для предотвращения искажений на насыщенных цветных деталях, вызванных близким расположением соседних строчек видеозаписи.

Кроме того, в любом телевизоре (и в любой плате оцифровки видео) происходит задержка на одну строку и сложение с исходным для предотвращения разноцветности строк изображения. Все эти манипуляции приводят к сдвигу цветной составляющей относительно черно-белой - цветное изображение предметов "сползает" вниз, и цветовая четкость по вертикали снижается. 

В форматах Video-8 и Hi-8 плотность записи весьма высока, что вызывает относительно большой шум цветности, для борьбы с которым принимаются дополнительные меры - отключение режима EDIT=OFF (дополнительная задержка на две строки и сложение с исходным в соотношении 1/2) и шумоподавителя цветности DNR, суммирующего изображение в соседних кадрах, в результате чего цветное изображение отстает от черно-белого и за движущимися цветными объектами тянется "отставший" шлейф. Все эти средства нужно отключить (EDIT=ON, DNR=OFF), поскольку эти шумы (и те, что возникнут при оцифровке) будут более эффективно и аккуратно подавлены при последующей обработке в VirtualDub.

Проблемы с сигналом цветности иллюстрируют три фрагмента размером 150 х 200 пикселей. 

На первом - исходное изображение с видеокамеры. Затем оно было записано на ленту Hi-8, воспроизведено и захвачено с установками по умолчанию - так, как это обычно делается (второй фрагмент). На третьем - захвачено с рекомендованными установками и обработано фильтрами VirtualDub (см. ниже). Обратите внимание на сильное ухудшение цветовой четкости картинки, воспроизводимой с ленты.

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

Подключаем... и выигрываем!

При использовании соединения S-Video сигналы яркости и цветности передаются раздельно. Большинство недорогих проводов S-Video, которыми комплектуется аппаратура, имеют два совсем обычных (предназначенных для аудио) провода в одном общем экране, что нарушает спецификацию (отдельный экран для каждого, электрически изолированный от соседнего). В результате наводок от несущей цветности на сигнал яркости в системе PAL сама несущая становится заметна (проявляется в виде мелкоструктурной сетки или шума на окрашенных участках). Нормальный провод можно приобрести только в специализированных фирмах, торгующих вещательным оборудованием, или сделать самому из кабеля РК-75 с посеребренными жилами. Захват (лучше назвать это "передача данных") с цифровых камер лучше делать с помощью контроллера FireWire.

Оцифровывать полноэкранное видео имеет смысл (и большой!) при наличии в видеокамере режима прогрессивной съемки, когда вы получаете видео с реальным разрешением 768 х 576 точек и кадровой частотой 25 Гц. Это лучший вариант для видео на PC. 

Но обычный телевизионный кадр состоит из двух полей, поочередно сменяющих друг друга с удвоенной кадровой частотой: сначала на экране показываются все четные линии, потом нечетные (чересстрочная развертка). По горизонтали поле имеет полное разрешение (768 точек), по вертикали - половинное (288). Если объекты в кадре неподвижны, то чересстрочной структуры не видно.

Если же они двигаются, то при просмотре полноэкранного видео на мониторе компьютера появляется чересстрочность, в просторечии - "гребенка". Можно поступить двумя способами: захватить оба поля и получить видео с прогрессивной разверткой 50 Гц или захватить только одно поле, что обычно и делается. В любом случае с потерей четкости по вертикали придется смириться. Для захвата одного поля достаточно указать размер изображения меньше, чем 384 х 288 точек включительно. У работы чипа Bt 848 в этом режиме есть одна особенность: происходит размытие по вертикали - снижается четкость горизонтальных линий, как после обработки фильтром Photoshop "размытие в движении" (Motion Blur) в 1 пиксель. Все становится ОК при захвате с горизонтальным размером кадра, большим, чем 384; удобней использовать 768, а затем в реальном времени уменьшить горизонтальный размер кадра ровно в два раза с помощью интерполяции методом "по соседним" или "билинейная".

После того, как все подключено, необходимо установить уровни сигналов. Здесь поможет гистограмма - запускаем VirtualDub, и далее File > Capture AVI... > Video > preview w/ histogram. При настройке уровней действуют те же правила, как и при сканировании фотографий - передать все оттенки, не потеряв самых светлых и самых темных, и в то же время не допустить слишком малоконтрастного изображения. Необходимо получить нормальную картинку уже при захвате, не полагаясь на возможную регулировку яркости и контрастности при дальнейшей обработке. При этом мы получаем минимальный шум квантования для сканеров, видеодекодеров и вообще любых устройств, преобразующих аналоговые сигналы в цифровые.

Воспроизводя с ленты контрастное изображение с максимально черными и максимально белыми деталями, с помощью ползунков "яркость" и "контраст" установите размах видео и уровень черного так, чтобы весь диапазон яркостей точно уместился в окне гистограммы. Уровень сигнала цветности придется устанавливать "на глазок": по картинке с максимально насыщенными цветными деталями. Двигайте ползунок вправо, пока не наступит ограничение сигнала - на самых насыщенных участках пропадет детализация.

Если при захвате происходит потеря небольшого числа кадров (скажем, 1 выпавший кадр за 5 минут), хотя мощности PC вполне хватает и загрузка процессора не приближается к 100%, вполне возможно, что звуковая карта не может записывать звук синхронно с видеопотоком. В таких случаях и программе захвата приходиться время от времени выкидывать или дублировать кадры, чтобы обеспечить одинаковую длину аудио- и видеотреков. Чтобы этого избежать, отключите динамическую регулировку частоты видеозахвата в меню Capture > Timing, и вам даже не придется заботиться о выставлении правильной частоты кадров - достаточно поставить 25 или больше (хоть 100), и видео будет захвачено с реальной частотой. Но не забудьте после открытия файла зайти в меню Video > Frame Rate и установить переключатель Frame rate conversion в положение Change so video and audio durations match ("поменять, чтобы видео и аудио были одинаковой длительности").

Если материал получен с оборудования форматов DV или D-8, не обязательно уменьшать размер по горизонтали вдвое - теряется информация о мелких деталях. Картинка с размером кадра, к примеру, 512 х 384 смотрится значительно лучше четвертьэкранного видео 384 х 288 (CIF - Common Interchange Format, так не совсем логично это называется). При этом увеличение вертикального разрешения с 288 до 384 необходимо только для сохранения пропорций и не приводит к какому-нибудь улучшению качества.
Вот как выглядят некоторые другие типичные установки capture mode в программе VirtualDub: формат видео (Set custom format) - RGB, 768 x 288 @ 24 бит; cropping - так, чтобы избавиться от искаженных и не содержащих изображения областей; сжатие видео (compression) - MiroVIDEO-XL 32 бит, то есть сжатие без потерь 1:3; звук - PCM без компрессии, 16 бит, 44 кГц.

Dub in progress!

После открытия полученного файла применяем следующие фильтры:

  • TV, chrominance shift up;

  • TV - I/Q (Chrominance) 3x3 average;

  • Resize 512 x 384, bilinear;

  • Unsharp mask: 3 / 15 / 0;

  • Hue/saturation/int: saturation - 0,8;

  • Dynamic Noise Reduction: 10-12;

  • Hue/saturation/int: saturation - 1,2.

Перед шумоподавлением насыщенность цвета уменьшается, а после него увеличивается. Это необходимо для более эффективного подавления именно шумов цветности, если они имеются. Вообще, для сильно зашумленного видео полезно подчеркнуть относительно крупные детали (Unsharp mask с диаметром 5), а затем применить слабое размытие. Оно делается так: берете фильтр General Convolution (что это за зверь такой, написано в инструкции к VirtualDub), прописываете в центре матрицы (знакомое слово, не правда ли?) число 212, в остальных ячейках 5, и вставляете после DNR. Использовать фильтры Smoother или 2d cleaner для этого не стоит - слишком неестественная картинка получается.

Полученные файлы теперь выглядят гораздо лучше, чем их оригиналы на магнитной ленте - ведь мы правильно захватили видео, устранили, насколько возможно, недостатки аналоговых форматов видеозаписи, использовали эффективное шумоподавление. Материал при необходимости смонтируем в любой программе видеомонтажа, сохраняя в промежуточном формате MiroVIDEO-XL (без потерь), а затем в Microsoft MPEG-4 v. 3, широко известным как DivX.

P.S. На сервере Upgrade выложены несколько фрагментов видео в MPEG-4, в том числе и с 50 fps в формате WMV. Весь материал воспроизводился с камеры Hi-8, соединенной с платой "правильным" шнуром S-Video и включает сюжеты, которые могли бы встретиться на практике; есть хороший пример применения фильтра Smart Deinterlace.

Фильтры

Dynamic Noise Reduction
Уменьшает шумы видеозаписи без подавления мелких деталей за счет сложения информации в соседних кадрах. Движущиеся объекты не подвергаются обработке, но шум на них не так заметен. Качество работы фильтра при значении 10-12 аналогично выполненным "в железе" профессиональным аппаратам, применяющимся на телевидении. Фильтры, усиливающие резкость, необходимо применять до DNR, а ослабляющие - после. На основе алгоритма когерентного сложения, заложенного во все DNR этого типа, в начале 60-х было осуществлено радиолокационное исследование поверхности Марса, при этом уровень отраженного от поверхности планеты полезного сигнала был намного ниже уровня собственных шумов приемника.

Smart Deinterlace
Устраняет чересстрочность полноформатного видео только в участках кадра, содержащих движение - таких, где эта чересстрочность имеется, и не затрагивает статичные области, сохраняя в них полное разрешение по вертикали.

TV Chrominance 3x3 average - подавляет мелкоструктурный шум сигнала цветности, появляющийся после захвата даже с 
S-Video входа.

TV Chrominance shift up
Восстанавливает положение компоненты цветности относительно яркостной для материала, полученного с нецифрового оборудования. При захвате двух полей (576 точек по вертикали) фильтр нужно применить два раза.

 

ВИДЕО 50 КАДРОВ В СЕКУНДУ

Видео, с которым мы встречаемся на PC, имеет обычно следующие значения частоты кадров: 15; 24; 25; 30; соответственно - 1/2 частоты NTSC; кино; PAL/SECAM; NTSC.

Но чересстрочное видео - это "кино" 50 (для NTSC - 60) кадров в секунду размером 768 х 288 (для NTSC - 640 х 240). VirtualDub может преобразовывать чересстрочное видео в прогрессивное с удвоением частоты кадров, но для этого оно должно быть в формате MJPEG, например, полученное от плат видеомонтажа Miro.

Windows Media Encoder 8 также умеет это делать (MJPEG не требуется), но выходной файл получается только в формате WMV. Для устранения вертикального дрожания соседних кадров (поля содержат различную информацию о деталях объекта) WME 8 слегка размывает по вертикали одно поле и сдвигает его на пиксель вверх.

Из-за быстрой смены кадров различие в четкости незаметно, и видео с 50 fps, особенно содержащее динамичные сцены, выглядит просто здорово! Однако размер файла выглядит совсем не здорово - он увеличивается в 1,8 - 2 раза, так же, как и степень загрузки процессора при воспроизведении.

Источник: http://www.computery.ru/ 

 


Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com