HD video и декодирование H264 с помощью CPU/GPU
уже сейчас обладатели 19" мониторов могут почувствовать разницу между HD и SD видео. это как раз тот случай, когда лучше один раз увидеть, чем 100 раз услышать. если у вас есть хороший монитор, то безусловно вы сможете найти хотя бы маленький отрывок видео в HD качестве, чтобы заглянуть в будущее домашнего видео.
техническая справка - основные форматы HD видео:
720p - 1280x720 при 25 кадров
1080i - 1440x1080 при 50 кадров черезстрочно (основной формат HD видеокамер)
1080i (full HD) - 1920x1080 при 50 кадров черезстрочно
1080p (full HD) - 1920x1080 при 25 кадров
характеристики впечатляют. более того, чтобы все это увидеть нужно иметь дорогой широкоформатный монитор или HD телевизор. к примеру, мой 19" монитор за 360 евро полностью готов только к 720p.
чтобы уместить 1.5 часа в таком качестве в разумный объем файла нужны эффективные кодеки. в индустрии используют либо MPEG2 с битрейтами 10-50 Мбит/c, либо MPEG4 AVC (он же MPEG4 Main Profile, он же H264) 5-25 Мбит/c. последний эффективнее MPEG2 и любого MPEG4 ASP вроде DivX, Xvid и т.п. эффективнось сжатия получается через усложнение алгоритма и соответственно значительно возросший объем вычислений, как при кодировании, так и при декодировании.
поговорим подробно о декодировании H264. обычно пишут требования вроде P4 3.6 или P4 2.8 (2 ядра). насколько все это правда? я нашел отрывок видео в качестве 720p 6 Мбит/с из научно-познавательного фильма Microcosmos ( http://rapidshare.com/files/12068082/Microcosmos_HDTV_sample.mkv 41 Мб) и попробовал воспроизвести его на своих домашних компьютерах.
PC1 - AMD A64-3000 AM2 (1800@2400MHz) + nVIDIA 7600GS (GPU 450 MHz)
PC2 - Intel Celeron-M 360 1400 MHz + Intel 855GM (встроенная UMA видеокарта)
видеокарты nVIDIA, начиная с 6xxx и ATI с X1xxx имеют аппаратное ускорение декодирования H264, т.ч. PC1 имеет приемущество

используемый софт:
кодеки:
ffdshow (21.8.2006)
CoreAVC 1.2
Cyberlink из PowerDVD 7.2 (поддержка аппаратного ускорения декодирования H264 видеокартой)
проигрыватели:
BSPlayer
Media Player Classic
PowerDVD 7.2
методика:
клип имеет длительность 53 секунды, будем с помощью task manager измерять время CPU, затраченное проигрывателем на воспроизведение клипа. далее нормируем на 53 секунды и получаем среднюю загрузку CPU.
PC1:
Player\Codec | ffdshow | CoreAVC | Cyberlink |
---|---|---|---|
BSPlayer | 34 (64%) | 25 (47%) | 15 (28%) |
MPC | 35 (66%) | 26 (49%) | 15 (28%) |
PowerDVD | 15 (28%) |
Причем BSPlayer + Cyberlink сначала дает 27 секунд, но после переключения с Overlay на VMR9 в настройках BSPlayer проблема решается.
PC2:
Player\Codec | ffdshow | CoreAVC |
---|---|---|
BSPlayer | 50 (94%) | 41 (77%) |
ffdshow работает на пределе, скорее всего на активных сценах идет пропуск кадров, а CoreAVC проигрывает нормально.
какие же будут выводы?
самый первый и главный, аппаратное ускорение со стороны видеокарты значительно снижает нагрузку на процессор. такой помощи со стороны видеокарты не было со времен появления Overlay. второй вывод, CoreAVC явно лучше ffdshow справляется с декодированием. по крайней мере пока.
любопытно, что в статье на ixbt http://www.ixbt.com/video2/video_dec.shtml автор получает, что декодирование с аппаратным ускорением видеокарты оказывается медленнее, чем чисто программный CoreAVC.
теперь займемся подсчетами. попытаемся оценить какой процессор будет достаточен для проигрывания видео. фиксируем среднюю загрузку CPU на 85%, чтобы был запас на динамичных сценах. тогда простые расчеты с использованием полученных данных показывают, что в случае CoreAVC для 720p достаточно процессора C-M (P-M) около 1300 MHz и A64 той же частоты. используя хорошо известный эмпирический коэффициент 1.4 получаем 1800 MHz для P4. т.е. видео 720p можно запустить на почти любом более-менее современном компьютере.
для 1080p и 1080i full HD нагрузка увеличится в 1.5-2 раза и тогда уже нам потребуется A64 с частотой около 2400 MHz или P4 3400, либо многоядерный процессор. очевидно, что не каждый компьютер готов к 1080p. однако, если использовать ускорение видеокарты, то достаточно будет CPU с частотой 1000 MHz для A64 или P4 1400. правда, востребованность видео такого качества будет под вопросом пока не появятся относительно дешевые 21+" мониторы, способные отображать такое разрешение. а там глядишь и апгрейд

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