Введение в особенности просмотра DVD видео на персональных компьютерах с картами RADEON
СОДЕРЖАНИЕ
- Краткое описание технологий по работе с видео
- Аппаратные возможности у карт семейства RADEON по воспроизведения видео
- Проигрыватели DVD и некоторые полезные утилиты
- Сравнение качества изображения
- Подведение итогов
Сейчас наступает время DVD (Digital Versatile Disk цифровой универсальный
диск) и все большее количество людей начинает задумываться о целесообразности
приобретения DVD-приводов для установки в компьютеры. Данная статья написана в
помощь тем, кто уже приобрёл их, и решил попробовать посмотреть видео, записанное
на DVD. Надеюсь, материал будет интересен не только новичкам, но и тем, кто давно
и много смотрит DVD-видео у себя на компьютере. Статья ориентирована на пользователей
видеокарт семейства RADEON.
Часть 1. Краткое описание технологий по работе с видео
Исторически сложилось, что до недавнего времени Windows могла предоставить
лишь очень бедные возможности для аппаратного ускорения видеокартами 2D-графики,
и поэтому при операциях с графикой вся работа ложилась на центральный процессор.
Для проигрывания видео необходимо преобразовывать цвет из формата YUV (который
используется наиболее часто, цвета представляются при помощи яркостной (Y) и цветовых
(U, V) компонент) в формат RGB (цвета представляются при помощи красной, зелёной
и синей компонент), масштабировать и сглаживать полученное изображение. Эти операции
весьма процессороёмкие, и поэтому для комфортного проигрывания видео без аппаратного
ускорения видеокартой требуется мощный процессор.
Сейчас для аппаратного ускорения видеокартой вышеуказанных операций (преобразование
цветового пространства, масштабирование и фильтрация) в Windows используется оверлей
- особый режим DirectDraw. В этом режиме видеоинформация выводится в отдельную
область памяти видеокарты, обрабатывается там и выводится на десктоп Windows при
помощи технологии chroma key на десктопе рисуется прямоугольник, заполненный
"ключевым цветом" (как правило, чёрным или фиолетовым), на который и выводится
оверлей видеоконтроллёром при выводе на RAMDAC видеокарты ("ключевой цвет"
заменяется данными из буфера оверлея, предварительно масштабированными до разрешения
окна с "ключевым цветом"). Именно поэтому если мы попытаемся сделать моментальный
"снимок" экрана c помощью клавиши "Print Screen" при включённом
оверлее, то увидим вместо изображения кадра из фильма прямоугольник, заполненный
"ключевым цветом".
С выходом Windows XP появился новый термин VMR (Video Mixing Renderer).
Это дальнейшее развитие фильтра DirectShow (рендерера) Overlay Mixer,
разработанного специально для проигрывания DVD-видео и субтитров, закодированных
в видеопотоках (closed captions), и используемого по умолчанию только для их воспроизведения
(некоторые программные проигрыватели позволяют его включать и при проигрывании
обычного видео). Всё, что делает Overlay Mixer это передаёт элементы
изображения в оверлей (и более ничего). По умолчанию в Windows 9x/ME/2000
используется Video Renderer Filter, его единственное отличие от Overlay
Mixer это возможность работы без оверлея. Пока VMR доступен только
в Windows XP и называется VMR-7, так как использует для вывода на экран DirectDraw
7, но с выходом DirectX 9.0 он будет доступен на всём спектре поддерживаемых Microsoft
операционных систем. При этом он получит название VMR-9 и будет использоваться
только в том случае, если программа обращается непосредственно к нему (для обеспечения
большей совместимости). При использовании VMR видеоинформация декодируется в потоковую
текстуру, которая затем представляется видеокартой в виде треугольников, обрабатываемых
при помощи Direct3D. В результате при работе с VMR доступны различные возможности
Direct3D, например, использование для эффектов пиксельных шейдеров или смешивание
видеопотоков. В отличие от Overlay Mixer, VMR в Windows XP является рендерером
по умолчанию.
С выходом DirectX 8.0 появились новые возможности по декодированию видео благодаря
DirectX Video Acceleration (DirectX VA или просто DXVA). До этого производители
видеочипов использовали свои собственные закрытые API (Application Programming
Interface) для доступа к аппаратно реализованным функциям декодирования видео,
DirectX VA же пришёл им на смену, чем должен был значительно облегчить работу
программистов и обеспечить большую совместимость программного обеспечения с аппаратным.
Разработчики практически сразу же поддержали новый API, в числе первых были ATI
и NVIDIA (причём ATI на несколько дней опередила NVIDIA с пресс-релизом). Главным
преимуществом нового API является его открытость и поддержка всеми основными разработчиками
программного и аппаратного обеспечения. Изначально DirectX VA создавался для работы
с видео в формате MPEG2, но благодаря своей универсальности его можно использовать
для декодирования видео и других форматов.
Ещё одна важная для проигрывания видео функция это деинтерлейсинг. При разработке телевизионных
стандартов старались как можно эффективнее использовать полосу пропускания и уменьшить
количество помех. Поэтому было решено взять частоту обновления экрана равной частоте
переменного тока в электросети, а вместо передачи каждый раз полноценного кадра, передавать
полукадр (поле). То есть каждый полноценный кадр в телевидении получается из
двух полукадров (полей), причём чётные строки получающегося в результате кадра состоят
из строк одного полукадра, а нечётные из другого.
Рис.1. Наглядное представление чересстрочного формата.
Каждый кадр получается из двух полей (field).
Из-за большого времени послесвечения электронно-лучевых трубок (т.е. кинескопов) телевизоров, мы
воспринимаем изображение на них цельным. Для просмотра такого видео на дисплеях с прогрессивной
развёрткой (строки последовательно выводятся одна за другой) необходимо использовать
операцию, называемую деинтерлейсингом. Обычно применяют weave- или bob-деинтерлейсинг, так как
их реализация наиболее проста. Рассмотрим оба этих метода поближе.
При использовании первого метода, weave-деинтерлейсинга, для получения полноценного
кадра берут строки первого полукадра и делают их нечётными строками результирующего
кадра, затем берётся второй полукадр, и его строки становятся чётными строками
результирующего кадра. В результате получается кадр, созданный из двух полукадров,
при этом на движущихся объектах видна "гребёнка".
Рис.2. Пример действия weave-деинтерлейсинга. (Щёлкните по рисунку, чтобы посмотреть всю картинку).
Если же видеоряд имеет прогрессивный формат (в заголовке каждого кадра в MPEG2-потоке
содержится информация о том, какой это кадр прогрессивный или чересстрочный),
то при использовании weave-деинтерлейсинга никакой "гребёнки"
от использования этого метода мы не увидим.
Суть второго метода, bob-деинтерлейсинга, заключается в отображении в один и тот же момент времени
только одного полукадра. При этом для того, чтобы изображение имело правильные пропорции, изображение
растягивается по вертикали в два раза.
Главный недостаток bob-деинтерлейсинга потеря чёткости, так как
вертикальное разрешение становится в два раза меньше. Этот недостаток призван
исправить так называемый адаптивный деинтерлейсинг. При его использовании
определяются статические элементы изображения (к ним применяется weave-деинтерлейсинг)
и движущиеся (к ним применяется bob-деинтерлейсинг). В DirectX VA различаются
два метода адаптивного деинтерлейсинга попиксельный и покадровый.
Разница между ними состоит в том, как определяются движущиеся части изображения
- в первом случае для этого используется информация одного полукадра, во втором
случае нескольких полукадров. Недостатки адаптивного деинтерлейсинга
вытекают из его основной особенности можно неправильно определить движущиеся
и неподвижные элементы изображения (в зависимости от алгоритма), вследствие чего
могут возникать весьма серьёзные артефакты.
Стоит ещё отметить тип деинтерлейсинга, при котором происходит взаимное
наложение полукадров друг на друга (смешиваются поля). Его называют blended
fields, он очень похож на weave-деинтерлейсинг, но до смешивания
поля растягиваются по высоте в два раза при помощи интерполяции. В результате
нет эффекта "гребёнки" и получается эффект, похожий на "motion blur"
- происходит как бы размытие движущихся объектов:
Рис.3. Результат применения алгоритма деинтерлейсинга, называемого blended fields.
(Щёлкните по рисунку, чтобы посмотреть всю картинку).
Недостатками такого алгоритма является некоторая размытость движущихся элементов на
получаемом изображении и возможное небольшое замыливание картинки.
Часть 2. Аппаратные возможности у карт семейства RADEON по воспроизведению
видео
Выше уже было сказано о том, что при проигрывании видео важную роль играет
оверлей. От его реализации зависит качество получаемого на экране изображения
проигрываемого видео. При использовании оверлея видеокарта выполняет масштабирование,
фильтрацию и преобразование цвета из формата YUV в формат RGB, при этом значительно
снижая нагрузку на процессор. Кстати, благодаря использованию оверлея не только
снижается нагрузка на процессор, но и повышается качество изображения.
Карты на чипах RADEON предоставляют широкие возможности по коррекции цветов и гаммы
оверлея (настройки будут доступны только при работающем оверлее). На скриншоте ниже изображена
панель по настройке параметров оверлея. Для получения оптимального результата значения могут изменяться
в зависимости не только от используемого дисплея и его настроек, но и от проигрываемого фильма.
Рис.4. Панель с настройками коррекции цвета и гаммы оверлея.
На рисунке мы видим следующие настройки:
- Brightness (яркость)
- Contrast (контрастность)
- Saturation (насыщенность цветов)
- Hue (цветовой баланс)
- Gamma (общая гамма)
- Theater Mode (режим театра)
Включение последней опции позволяет видеокартам на базе RADEON VE, 7000, 7500, 8500, 9000 и 9700
при использовании подключённого второго дисплея (телевизора) выводить на него масштабированное
на весь экран содержание оверлея, что очень удобно для просмотра фильмов на телевизоре.
Ещё раз хочу обратить внимание на то, что будет выводиться содержание именно оверлея, и оно
будет выводиться на полный экран. Если по каким либо причинам при воспроизведении видео
не используется оверлей, то эта функция работать не будет.
Тип деинтерлейсинга, который будет использоваться при проигрывании фильма с чересстрочным видеорядом,
определяется используемым проигрывателем. Семейство видеокарт RADEON кроме обычных
алгоритмов (weave и bob) поддерживает адаптивный деинтерлейсинг. Его качество будет исследоваться в
четвёртой части этой статьи.
Для отображения скрытой графики (субтитры, караоке и выделяемые пункты меню) карты
RADEON используют 4-х битный альфа-канал. Получаемое изображение попросту накладывается на
основную картинку.
Сейчас при воспроизведении видео в формате MPEG4 или DivX максимум, что может
предложить видеокарта для снятия нагрузки с центрального процессора это использование
оверлея. Однако при воспроизведении видео с DVD-дисков (формат MPEG2)
многие видеокарты могут предложить ещё кое-что. Во-первых, это motion compensation
(компенсация движения). Поддержка этой функции сейчас является необходимой и достаточной
для того, чтобы в спецификациях видеокарты можно было написать, что имеется аппаратная
поддержка воспроизведения видео в формате MPEG2. Если же motion compensation
не поддерживается видеокартой, то эта операция выполняется центральным процессором,
причём качество воспроизведения видео MPEG2 и загрузка процессора меняется от
фильма к фильму в зависимости от алгоритма, используемого в программном проигрывателе
DVD. Во-вторых, видеокарта может иметь поддержку iDCT (обратного преобразования
Фурье). В этом случае нагрузка на центральный процессор ещё уменьшится. Кроме
вышеописанных функций по поддержке воспроизведения видео MPEG2, карты на чипах
RADEON дополнительно поддерживают следующие операции: преобразование данных из
последовательного потока информации в quantization matrix (матрицу квантования)
и восстановление сжатых по методу Хаффмана данных для получения информации, к
которой будет применяться операция iDCT.
Часть 3. Проигрыватели DVD и некоторые полезные утилиты
Перед тем, как перейти непосредственно к обзору DVD-проигрывателей, кратко
рассмотрим основные особенности дисков DVD с записанным на них видео.
Для предотвращения нелегального копирования лицензионные диски DVD с записанным
видео используют несколько типов защиты. Первая, Content Scrambling System
(CSS), предназначена для предотвращения копирования содержимого DVD на жёсткий
диск компьютера. Вторая, Macrovision protection, предназначена для предотвращения
копирования с аналогового выхода воспроизводящей аппаратуры. Сейчас появились
различные программы, предназначенные для копирования содержимого DVD на жёсткий
диск компьютера (например, Smart Ripper и DVD Decrypter), которые параллельно
ещё и убирают из скопированного таким образом на винчестер содержимого DVD защиту
Macrovision protection. Существует также региональная защита, её суть
заключается в том, что весь мир был разделён на несколько регионов, и для каждого
региона выпускаемые DVD-диски с видео имеют свой региональный код и отказываются
воспроизводиться на DVD-проигрывателе, который имеет отличный от записанного на
DVD код. Эта защита была введена для того, чтобы кинокомпании не теряли доходы
из-за несовершенной системы проката фильмов (в одном регионе фильм уже прошёл
в кинотеатрах и вышел на DVD, а в другом он только начал идти в кинотеатрах, следовательно,
люди, купившие DVD-диск с фильмом и посмотревшие его, не пойдут в кино). Схему
регионов можно посмотреть тут.
Видеоданные на DVD-диске, записаны в формате MPEG2. Это и большой объём диска
обеспечивают потенциально очень хорошее качество видео. Формат MPEG2 позволяет
хранить аудиоданные в различных форматах. Наиболее известными и популярными являются
форматы PCM (несжатый звук, используются два аудиоканала), Dolby
Digital (часто его называют AC-3 так же, как и используемый в
нём алгоритм сжатия, используются от 2-х до 6-ти аудиоканалов) и DTS
(Digital Theater Systems, используется 6 аудиоканалов). На задней обложке DVD-бокса
обычно пишется формат записанного звука и сколько при этом используется аудиоканалов.
Первый формат (PCM) обычно используется для записи концертов, второй
присутствует на подавляющем большинстве DVD-дисков (причём с 6-ю каналами, более
подробно о нём можно почитать на http://www.ixbt.com/multimedia/dd_ac3_faq.html),
и, наконец, третий сейчас пока ещё относительно мало распространён (список фильмов,
использующих DTS, можно посмотреть на http://www.dtsonline.com).
Преимущества DTS над Dolby Digital вытекают из того, что в нём
используются, во-первых, более совершенные алгоритмы компрессии, и, во-вторых,
сжатие аудиоданных происходит с меньшими искажениями из-за более высокого битрейта
(у Dolby Digital 192-448 кбит/с, DTS 754-1509 кбит/с). Для
воспроизведения звука в форматах Dolby Digital и DTS необходимо
поток аудиоданных, во-первых, раскодировать, а во-вторых, смикшировать полученные
аудиоканалы для используемого числа колонок и направить звук на них. Это можно
делать как программно, так и аппаратно (закодированный звук перенаправляется на
S/PDIF-выход звуковой карты, где он затем передаётся на специальное устройство,
называемое ресивером, и декодируется им). Некоторые звуковые карты позволяют
декодировать звук Dolby Digital, направляемый на S/PDIF, на то число
динамиков, что указано в их свойствах, например, Sound Blaster Live! 5.1. При
просмотре фильмов с использованием наушников может применяться технология Dolby
Headphone, суть которой заключается в том, что аудиоканалы определённым образом
обрабатываются и микшируются, создавая, таким образом, иллюзию звука, исходящего
из пяти колонок (шестой аудиоканал несёт в себе информацию о низких частотах для
сабвуфера, он попросту перенаправляется на правый и левый динамик наушников).
ATI DVD Player
Краткое вступление
Вместе с картами RADEON компания ATI поставляет программу, называющуюся MultiMedia
Center (сокращённое обозначение MMC). В её возможности входит проигрывание
различных типов мультимедиа-данных (Audio CD, Video CD, DVD) и возможность просмотра
и захватывания видео с видеовхода (если такой имеется).
Для проигрывания DVD в версиях MMC до 7.7 включительно использовался "движок"
от Ravisent CinePlayer 4.0, а с версии 7.8 стал использоваться "движок"
от CyberLink PowerDVD XP 4.0. Новый MMC 7.8 доступен сейчас только на
дисках с программным обеспечением к картам RADEON 9000/9700, и он даже не тестировался
на возможность его использования с предыдущим поколением видеокарт от ATI. По
слухам, MMC 8.0 будет доступен только владельцам карт RADEON 9700 All-in-Wonder
и для работы будет использовать специфические особенности этой карты. Также, по
слухам, для предыдущих поколений карт компания ATI выпустит MMC 8.1 весной 2003
года, и обновлённый DVD-проигрыватель, вероятно, будет доступен в виде платного
обновления. Представители ATI объясняют это тем, что новый ATI DVD Player
будет использовать "движок" от PowerDVD XP 4.0, и компания ATI
будет платить за этот проигрыватель лицензионные отчисления компании CyberLink.
Однако, начиная с MMC 7.8, интерфейс DVD-проигрывателя поставляется вместе с MMC,
а его программный "движок" поставляется отдельно. Так что остаётся вероятность,
что будут использоваться две версии "движка" для будущих версий MMC
от CinePlayer и от PowerDVD. Так что, возможно, будут выходить
новые версии "движка" от CinePlayer для ATI DVD Player.
Установка и интерфейс
При установке сначала устанавливался ATI DVD Player 7.6, затем на
него ставилось обновление до версии 7.7. Если после установки ATI DVD Player
7.6 выбрать старый (aka classic, на мой взгляд, самый удобный из доступных
"скинов" для проигрывателя ATI) интерфейс проигрывателя, то после установки
ATI DVD Player 7.7 будет использовать этот интерфейс:
Рис.5. Старый (вверху) и современный (внизу) интерфейсы.
То же самое справедливо и для современного (aka modern). Выбирая в MMC 7.7 "скин" для проигрывателя,
мы не найдём ни старого, ни современного интерфейса:
Рис.6. Выбор "скина", classic и modern выбрать нельзя.
Из плюсов хочется выделить возможность использования внешних субтитров в форматах
MicroDVD и SubViewer 2.0 (начиная с версии 7.7; мне так и не
удалось заставить эту полезнейшую функцию работать :-() и функцию blended window
(окно с видеоизображением становится прозрачным и накладывается поверх остальных
окон windows). Из недостатков следует отметить отсутствие функции PAN&SCAN
(увеличения изображения для более комфортного просмотра широкоформатных фильмов
на экране с соотношением сторон 4:3) и некоторую паузу, которая может возникнуть,
если при проигрывании фильма вызвать меню нажатием правой клавиши мышки. Для устранения
первого недостатка можно использовать настройку advanced aspect ratio в проигрывателе
(Top = 0.0; Height = 100.0; Left = -33.3; Width
= 133.3 настройки для масштабирования фильма с соотношением сторон 16:9 для
просмотра на экране с соотношением сторон 4:3).
Интерфейс ATI DVD Player 7.8 совершенно не отличается от интерфейса
проигрывателя версии 7.7, за исключением того, что старого "скина" изначально
нет, а современный можно-таки выбрать в настройках.
Возможности по декодированию звука
Характерной особенностью CinePlayer 4.0 считаются относительно бедные
возможности по работе со звуком. Программисты из ATI "оптимизировали"
(кавычки тут не зря стоят) "движок" проигрывателя в своём ATI DVD
Player и свели возможности по обработке звука к банальному выводу аудиопотока
на S/PDIF для декодирования того внешним декодером или драйверами звуковой платы
и выводу низкочастотного канала, предназначенного для сабвуфера, на обычные колонки,
тем самым значительно снизив привлекательность своего продукта. К слову сказать,
программный DVD-проигрыватель от NVIDIA (в этой статье он рассматриваться не будет)
имеет значительно более богатые возможности по обработке звука (декодирование
звукового потока на несколько колонок и поддержка Dolby Headphone).
Как выше уже было написано, ATI DVD Player 7.8 использует "движок" PowerDVD XP 4.0, и, к огромному
разочарованию счастливых владельцев новых карт, новый проигрыватель совершенно не использует
его возможности по обработке звука (они остались теми же, что и в MMC 7.6 и 7.7). Остаётся только
надеяться на то, что в новых версиях MMC эти возможности появятся. :-(
Недостатки
Очень не любит, когда устанавливаются новые драйвера к видеокарте. Присутствуют
проблемы с выходом на S/PDIF, которые можно решить, заменив файл DSCinemAudioDecoder.dll
в каталоге "Program Files\Common Files\Ravisent Shared" на файл от версии
ATI DVD Player 5.0 или 4.0. Их можно взять тут.
В ATI DVD Player 7.8 так и не удалось найти какие-либо преимущества перед
ATI DVD Player 7.7 на картах, основывающихся на чипах RADEON 9000/9700.
Нельзя выставить из проигрывателя тип используемого деинтерлейсинга некоторые
фильмы записаны в прогрессивном формате, но в заголовках кадров прописано, что
они имеют чересстрочный формат. В результате этого страдает качество изображения
(даже при использовании адаптивного деинтерлейсинга). Из выпущенных в
5-ом регионе (т.е. нашем) DVD-дисков этим страдают, например, "Гладиатор"
и "Тяжёлый Металл".
CyberLink PowerDVD XP 4.0
Краткое вступление
Этот проигрыватель
DVD является одним из самых популярных на данный момент. Часто этот проигрыватель
можно найти в комплекте программ, прилагающихся к различному аппаратному обеспечению.
Обычно проигрыватель, доставшийся таким способом, имеет некоторые ограничения
по сравнению с оригинальной версией. Например, может отсутствовать поддержка декодирования
DTS или возможность проигрывать скопированное на винчестер содержимое
DVD-диска.
Установка и интерфейс
Сначала устанавливался PowerDVD XP 4.0, а затем ставился
патч, обновляющий проигрыватель до
внутренней версии 1811. С патчем поставилась и русификация, причём очень качественная. :-) Интерфейс
очень хорошо продуман, удобно сделана выезжающая панель (на рисунке она находится вверху, её
можно переместить к любому краю экрана), на ней гибко настраиваются кнопки, имеется возможность
проигрывания скопированного на жёсткий диск DVD и различных типов мультимедиа файлов. Имеется возможность
выбора альтернативных "скинов", но стандартный интерфейс, вероятно, понравится всем.
Рис.7. Стандартный интерфейс PowerDVD XP 4.0.
Возможности по декодированию звука
Проигрыватель PowerDVD XP 4.0 обладает очень широкими возможностями по обработке звука. Звук может
декодироваться на 2, 4, 6 и 8 колонок или выводиться на S/PDIF, имеется поддержка Dolby Headphone,
использование DirectSound 3D или A3D для интерактивного позиционирования колонок, SRS TruSurroundXT
(создание эффекта объёмного звучания на двух колонках) и Dolby Pro Logic II (вывод стереозвука на
большее число колонок с созданием объёмной звуковой панорамы). Поддерживается декодирование Dolby Digital,
DTS и Dolby Digital Surround EX (схема аудиоканалов 6.1, задний канал кодируется матричным
способом; может быть раскодирован как обычный Dolby Digital со схемой 5.1).
Недостатки
Их немного, но они есть. Во-первых, при проигрывании содержимого DVD, записанного
на жёсткий диск, проигрыватель какое-то время подумает (это время зависит от конфигурации
используемой системы), и только затем начнётся воспроизведение фильма. Во-вторых,
при просмотре видео на полном экране курсор мыши появляется не сразу после того,
как вы сдвинете мышку, так что придётся потрудиться, чтобы курсор появился (потаскать
мышь туда-сюда). ;-) Ну и, наконец, третий и самый существенный недостаток программы
- не работает оверлей на "несколькоголовых" картах RADEON при включенном
ТВ-выходе в режиме "клон" (и, соответственно, не работает Theatre
Mode), если не выставлено такое разрешение на первичном дисплее, что на вторичном
работает виртуальный десктоп (на рассматриваемых картах это разрешение, как правило,
большее, чем 1024x768). Отчасти исправить последнюю проблему можно, расширив десктоп
на второй монитор в свойствах видеоадаптера (ТВ-выход при этом должен быть активирован)
и перетащив окно с видео на второй дисплей и раскрыв его там.
Рис.8. Расширение десктопа на второй монитор.
В некоторых драйверах для RADEON есть возможность форсирования включения Theatre
Mode при расширении десктопа на второй монитор, но, например, в драйверах
CATALYST 2.3 этой возможности по умолчанию нет. Также во время тестирования
на Windows XP был обнаружен забавный баг, проявляющийся при использовании увеличения
в 9 раз:
|