Введение

Что такое DScaler ?

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

Аналоговое видео с черезстрочной разверткой - это как раз то, что получается на выходе видеомагнитофона, проигрывателя лазерных дисков и DVD, игровой приставки и тому подобного добра, подключаемого, как правило, к аналоговому телевизору. После оцифровки аналогового сигнала распространнеными сегодня платами видеоввода (включая видеокарты с TV-входом) просмотр полученного видео на экране с прогрессивной разверткой несколько коробит глаз - появляются горизонтальные полосы (эффект "жалюзи"), а высокая четкость монитора этому только способствует (особенно при растягивании картинки на весь экран). DScaler позволяет решить эту и некторые другие проблемы.

Что хорошего в DScaler'е ?

В отличие от большинства других приложений для плат видеоввода, в DScaler'е реализованы довольно сложные алгоритмы преобразования черезстрочной развертки в прогрессивную (в простонародии - "дебобуляции" - прим. переводчика). Использование этих алгоритмов гарантирует, что каждый источник видеосигнала обрабатывается сообразно его особенностям. Это приводит к невиданному ранее (пользователями PC) уровню качества изображения.

Некоторые используемых техники:

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

Что такое dTV ?

dTV - это старое название DScaler'а. Мы изменили название, поскольку говоря "dTV", люди обычно подразумевают цифровое телевидение (digital TV), что вызывало некоторое непонимание. В исходных кодах DScaler, документации и форумах до сих пор можно встретить слово "dTV" - теперь его следует читать "DScaler".

Кто это сделал ?

Смотрите страничку Авторы - там перечислены имена основных разработчиков, Благодарности - имена тех, кто помог DScaler'у добиться успеха.

Сколько стоит DScaler ?

$1000 (плюс налоги) :-) Шутка. DScaler распространяется совершенно бесплатно с открытым исходным кодом (Open Source) под лицензией GNU GPL. Остерегайтесь дешевых подделок.

Общие вопросы

Следует ли мне использовать DScaler для преобразования видеосигнала с моего аппаратного DVD плеера?

Это вполне возможно и выглядит очень даже ничего (см. "DScaler vs. WinDVD challenge" в скриншотах - сравнение результатов DScaler'а и популярного программного проигрывателя DVD, зарекомендовавшего себя высоким качеством изображения), наилучших результатов на PC для домашнего кинотеатра удается добиться используя программный DVD плеер с DVD-ROM'ом и современной видеокартой (VGA). Однако, есть некоторые граждане, которым больше нравится пользоваться DScaler'ом и внешним аппаратным DVD плеером.

Некоторые считают, что DScaler лучше справляется с DVD, изготовленными не из киноматериала (концертные записи или телевизионные шоу, например), чем программные плееры.

Вопросы программного обеспечения

на какой операционной системе можно использовать DScaler ?

Windows 95 - можно использует VxD, работающую в ring-0, может потребоваться Internet Explorer 4.0
Windows 98 - можно использует VxD, работающую в ring-0
Windows NT - не понятно требуется DirectX 5.0, которую на WinNT взгромоздить не совсем просто (лично я этим не занимался - прим. перев.)
Windows Me - можно использует VxD, работающую в ring-0
Windows 2000 - можно использует SYS-драйвер, работающий в ring-0
Windows XP - можно использует SYS-драйвер, работающий в ring-0
Linux - пока нет если вы хотите написать порт, свяжитесь с нами
OS/2 - однозначно нет ;-)

Какие такие алгоритмы преобразования черезстрочной развертки в прогрессивную ?

Video Deinterlace (Bob)

Bob - англ., одно из значений - полировать. Метод на базе фильтра для VirtualDub от Gunnar Thalin'а.  При обнаружении дефектов "сплетения" (weave) алгоритм использует "полирование" (т.е., сглаживание) (bob) чтобы от них избавиться.  В данном случае метод отдает предпочтение сглаживанию, что не есть хорошо на четких статичных изображениях.

Video Deinterlace (Weave)

Weave - англ., одно из значений - плести. Аналогичен Video Deinterlace (Bob), но предпочтение отдается "сплетению" на движущихся деталях на изображении. В итоге четкость остается, но на быстром движении наблюдаются "жалюзи".

Video Deinterlace (2-Frame)

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

Simple Weave

Простое сплетение. Просто комбинирует последнее четное и нечетное поля.  Приводит к дефектам движения и реализовано исключительно для сравнения из научного интереса.

Simple Bob

Простое сглаживание. Использует только последнее поле и заполняет оставшиеся строчки интерполированными значениями.  Scaler Bob делает то же самое, но используя аппаратные возможности видеокарты, что гораздо быстрее и эффективнее.

Blended Clip

Дословный перевод ("смешанное обрезание") по-русски несколько неблагозвучен. Метод сделан специально для экспериментов с преобразованием черезстрочной развертки в прогрессивную. При запуске появляется диалоговое окно с множеством регулировок для разнообразных параметров алгоритма. Для всех них есть соответствующие поля в секции [Deinterlace] файла DScaler.ini. Это не универсальный метод для всего подряд, однако его можно использовать для создания собственных алгоритмов для специальных случаев. Параметры можно сохранить в отдельном ini-файле и передавать в качестве аргумента командной строки в DScaler.exe. Нагрузка на процессор высокая.

Scaler Bob

Использует аппаратные возможности bob через DirectDraw® (если таковые имеются). Берется последнее поле передается видеокарте, которая сама разбирается с масштабированием изображения и втискиванием его в экран.  Дает хорошие результаты на быстро меняющихся изображениях.

Even Fields Only
Odd Fields Only

Только четные/только нечетные поля. Использует только одно поле из пары и аппаратное масштабирование.  Уменьшает дефекты сглаживания за счет уменьшения количества информации.  Изначально предполагалось для использования с игровыми приставками.

Adaptive Deinterlace

Адаптивный алгоритм. Использует оценку количества движения для выбора наилучшего алгоритма преобразования.  Пока по умолчанию переключается между 2-Frame и weave.

Greedy deinterlace method

"Жадный" метод. Спроектирован для получения хороших результатов на медленном движении при меньшей загрузке процессора, чем остальные алгоритмы. Хорош на медленных компьютерах, но приводит к ужасным результатам на быстром движении (спорт, например). По счастливой случайности, он весьма недурно справляется с плохо собранным 3:2 и 2:2 pulldown'ом (фильмы, преоразованные в видео) типа мультфильмов, несмотря на быстрое или медленное движение. Рекомендуем попробовать, если у вас есть кино, которое плохо обнаруживается автоматическим детектором.

Greedy 2 Frame method

"Жадный" двухкадровый метод. Попытка объединить лучшее, что есть в двухкадровом алгоритме с возможностями прогнозирования из "жадного" метода.  Хорошо работает на спорте и другом материале с быстрым движением.  На статических изображениях и при низком качестве сигнала возможно сглаживание до неприемлемого уровня.

3:2 Pulldown, Skip Field X

Pulldown device - англ., механизм прерывистго движения (кинопленки). Как правило, на видео в формате NTSC материал с прогрессивной разверткой 24 кадр/с (исползуемый в кинопродукции) кодируетя как 48 полей (24 четных и 24 нечетных). Поля воспроизводятся попеременно 3 и 2 раза соответственно. Таким образом, порядок воспроизведения полей выглядит так: нечетное, четное, нечетное (из кадра 1), четное, нечетное (из кадра 2)и так далее. Чтобы получить изображение с прямой разверткой (кадр 1 из материала 24 кадр/с), DScaler берет нечетное и четное поля, сплетает их вместе, пропускает следующее нечетное поле и ждет следующей пары нечетного и четного полей. Далее история повторяется. Из последовательности полей одно поле из каждых 5 может быть пропущено. Это поле, номер которого соответствует номеру Skip Field. Если все входные последовательности такие хорошие, как написано, и DScaler однозначно это определяет, выбранный метод 3:2 pulldown будет иметь один и тот же X в Skip Field X. Если же компьютер не достаточно быстрый (пропускаются кадры), или последовательность меняется (изменяющиеся сцены после редактирования), или первышен порог срабатывания по сравнению полей у DScaler'а, DScaler будет пытаться обнаружить правильный 3:2 pulldown, что может окончиться выбором нового номера поля, которое пропускается.

2:2 Pulldown

Кино в формате PAL состоят из последовательностей 2:2 кадров. Как только такая последовательность обнаружена, четное и нечетное поля сплетаются (weave), получается один кадр 24 кадр/с материала, который и отображается.

Существует ли дистанционный пульт для DScaler'а ? ДА

Конечно существует. DScaler разрабатывается людьми, которые используют его преимущественно как процессор аналогового сигнала для проектора, и естественно они предпочитают использовать DScaler с "лентяйки" развалившись на диванчике, чем сидя скрючившись перед монитором ;-)

В DScaler'е предусмотрены управление кнопочками с клавиатуры для всех основных настроек, так что можно все делать быстро.
Более того, мы рекомендуем Girder от Ron Bessems как лучший инструмент для удаленного управления компьютером.

Можно лм с помощью DScaler'а записывать видео на диск?

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

Если вым нужно записывать видео, обратите внимание на альтернативные приложения:

Разумеется, если вы горите желанием добавить возможность записи видео в DScaler, вас никто не держит! Для этого и существует открытый исходный код.

Вопросы аппаратного обеспечения

Подойдет ли для работы моя VGA плата ?

Вот что говорит Mark Rejhon:

"DScaler'у необходима AGP карта. На PCI работать не будет. DScaler передает и принимает по шине большие объемы данных: 250 Мбит/с входящий (с TV карты) и около 500 Мбит/с исходящий (на видеокарту). Шина PCI с таким объемом не справляется, поскольку ограничивается 600-700 Мбит/с *только в одном направлении* из максимально возможных 1056 Мбит/с (132 МБ/с) из-за вспомогательной передаваемой информации. Если по ней гонять данные в обе стороны, то частота кадров снизится до нуля." (перевод не дословный - прим. перев.)

Тем не менее, как показывает опыт последнего времени, некоторым пользователям удается успешно использовать PCI карты без пропуска кадров. В некоторых случаях, однако, частота кадров падает с ростом разрешения, что характерно:

IanD говорит: У меня 3dfusion PCI с 8MB на борту на BX mobo Celeron 566 64MB RAM 66MHz FSB, с Dynalink Magic TView (Conexant 878) и DScaler работает только в режиме 16 бит/пиксел (RGB555 или RGB565). При разрешении дисплея 1024x768, DScaler v1.9 с 720x576 @ 50Hz PAL дает 0 DFS в ручном Video De-interlace режиме с размером окна DScaler'а до 848x629 (как выясняется из DScaler.ini) и 7+ DFS для размеров окна хоть на 1 пиксел больше

Мнимально видеокарта должна поддерживать YUV2 оверлеи. Все новые видеокарты их поддерживают.

Какую плату видеоввода можно использовать?

Почти любая (что означает, многие) видеокарта на основе чипов Brooktree (ныне Conexant), включая bt848/878/879 будет работать (только видео). Почему именно эти чипы? Их достаточно просто программировать (для них было написано очень много программ), а еще они очень дешевые. Как следствие, многие производители выпускали (и продолжают выпускать) платы на базе этих чипов.

Звук с тюнера поддерживается не везде и не всегда, и его поддержка на всех мыслимых тюнерах не самая приоритетная задача.

Мы не беремся утверждать, что "это именно так карта, которая вам нужна". Однако подскажем некоторые проверенные варианты.

Обратите внимание на список карт. Этот список никогда не будет полным, поэтому не стесняйтесь написАть нам о своих впечатлениях от работы DScaler'а с вашей платой. И пожалуйста заметьте, что наличие карты в списке не гарантирует ее правильной работы. Некоторые вещи (особенно звук) могут не только работать некорректно, но и вообще не работать.

Список составлен по мотивам списка для драйвера bttv под Лиункс, на базе которого написан драйвер DScaler.

Можно ли использовать видеовход моей <любая> платы видеоввода/видеокарты ?

Скорее всего нет. DScaler поддерживает (см. выше) чипсет Brooktree/Conexant. Поддежка других устроиств возможна, но требует дополнительных трудозатрат и некоторого знакомства с целевым чипсетом. Поскольку далеко не все видеокарты построены на Brooktree/Conexant, Gx00, Asus Deluxe, ATI All-in-Wonder и т.п. пока не поддерживаются.

Если у вас есть некоторый опыт программирования чипсетов вышеперечисленных видеокарт, возможно, вы могли бы помочь нам. Смотрите параграф "Чем я могу помочь ?".

А можно использовать больше одного источника видео ?

Некотороые звери, которые развлекаются с Picture In Picture (картика в картинке), спрашивают, поддерживает ли DScaler несколько карт или несколько видеовходов. Карта, поддерживающая в худшем случае 4 видеовхода, изготавливается замечательной компанией Leadtek и называется Winview 605.

Он сделана на чипе Brooktree и как бы должна работать с DScaler'ом, но ничего специального для поддержки множества входов на сегодняшний день у нас нет.

Смотрите соответствующую дискуссию на AVS forum'е.

Тем не менее, вы можете использовать свой ресивер для переключений между несколькими источниками. Подключите выход ресивера к плате видеоввода, а все источники видеосигнала - к входам ресивера.

Также некоторые платы поддерживают два композитных входа, между которыми можно переключаться в DScaler'е. То же касается и S-Video входа.

Решение некоторых проблем

У меня проблемы со звуком.

Хотим отметить, что поддержка звука со встроенных тюнеров - не самая приоритетная задача для большинства разработчиков DScaler'а.  Почти все они используют внешний тюнер и проблем со звуком не имеют.  Мы всеми руками "За" добавление поддержки любых встроенных тюнеров, однако сами по этому поводу ничего делать не собираемся.

Чего у меня картика скачет вверх-вниз?
У меня, похоже, кадры теряются.

Обе проблемы возникают в случае нехватки производительности процессора.  Много процессорного времени требуют алгоритмы 2-Frame и Blended Clip, а также автоматическое обнаружение преобразованного в видео кино (automatic pulldown detection).  Попробуйте использовать другой алгоритм или отключите автоматическое обнаружение вообще.  Рекомендуется также приобрести компьютер побыстрее. ;-))

В Select Hardware теперь есть переключатель, которым можно объяснить DScaler'у, насколько быстрый у вас компьютер.  Попробуйте установить меньшую скорость в случае этих проблем.

Что за беда с фиолетовыми полосами ("purple stripes") ?

Некоторые источники видеосигнала, будучи подлюченными к плате видеоввода и DScaler'у, приводят к появленю горизонтальный цветных полос на картинке.

Обратите внимание на эту картинку - в неё добвлен сигнал Macrovision ("Макровижн"). На том же самом видеосигнале без защиты Macrovision таких полос не видно.

Это явление, как правило, наблюдается при оцифровке видеосигнала с защитой от копирования Macrovision некоторыми платами видеоввода. Однако были случаи появления (хотя и менее явного) и на незащищенном материале.

Другие примеры этого явления можно найти :
avs:MacroVision side effect (Побочные явления MacroVision - на AVS Forum'е)
avs:DScaler Purple Stripes - is this capture card dependent? (Фиолетовая полосатость в DScaler'е - зависит ли от платы видеоввода? - на AVS Forum'е)

Некторые подробности можно также найти в Dvd Faq :

"Macrovision добавляет короткие импульсы в цветоразностный сигнал ("Colorstripe") в сигнал вертикальной развертки ("AGC") в композитный и S-Video выходы. Это сбивает синхронизацию и автоматическую регулировку уровня записи в 95% бытовых видеомагнитофонов. К сожалению, это может влиять в худшую сторону на качество картинки, особенно на старом или нестандартном оборудовании. Macrovision может проявляться как цветные полосы, искажение цвета, прокрутка, черное-белое изображение или скачки яркости. Заодно Macrovision создает проблемы многим удвоителям телевизионных линий (line doublers - как это по-русски? - (прим. перев.)."

ВНИМАНИЕ Проблема возникает только при подключении внешнего DVD плеера к видеовходу компьютера. С другими источниками цветных полос никто еще не видел.

То есть, в общем случае вам волноваться не следует.

У меня выскакивает ошибка "overlay update" (отрисовка оверлея)

Иногда у вас появляется сообщение об ошибке:
Error calling overlay update. D:/source/deinterlace/DScaler/other.c at line 161
Разумного объяснения этой ошибке мы пока не придумали. Известно, что она появляется при изменении размеров окна видео или переходе из полноэкранного режима в окно. Глубина цвета, разрешение и частота обновления дисплея тоже к этому каким-то образом причастны.

Все равно не работает

Смотрите Поддержку пользователей. Там указаны адреса тех, кого нужно доставать.

Чем я могу помочь ?

Тестирование

Все больше и больше пользователей отдают предпочтение DScaler'у. Почему бы не попробовать и вам?
Мы бы хотели услышать о ваших успехах, что не работает (так, как хотелось бы), что может быть улучшено, что добавлено? Мы будем рады любым отзывам!

Пожалуйста сообщайте об ошибках на AV Science Forum убедившись (используя поиск), что о такой проблеме еще не сообщали. В сообщение следует включить описание аппаратного обеспечения, которое вы используете, особенно видеокарту, плату видеоввода, тип процессора и его скорость.

Программирование

Любая помощь приветствуется. За исключением некоторых участков чересчур сложного кода, существует множество полезных вещей, которые просто реализовать без особого знания деталей алгоритмов обработки видео.

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