H 265 hevc какие видеокарты поддерживают

Обновлено: 18.05.2024

В одной из предыдущих статей я поднимал тему аппаратного декодирования видео Full HD. Современность требует использования на компьютере видео разрешений 4K и 8K.

Введение

Чтобы обеспечить стабильную частоту кадров, низкую загрузку процессора во время воспроизведения видео высокого разрешения, вычислительная нагрузка перекладывается с центрального процессора на видеокарту - аппаратное ускорение видео. Для этого, видеокарта должна иметь поддержку декодирования популярных форматов - H.264 (AVC), H.265 (HEVC), VP8, VP9.

Следует отметить, что на видеохостинге YouTube по умолчанию воспроизводится видео формата VP9 - дальнейшее развитие формата VP8. Использование VP9 обусловлено необходимостью экономии пропускной способности. Но VP9 - более требовательный кодек с точки зрения вычислительных потребностей, близок к H.265. При одинаковом битрейте, кодек VP9 обеспечивает лучшее качество по сравнению с H.264.

Полная аппаратная поддержка кодека VP9 начинается с карт nVidia GTX 950, 960, которые поддерживают набор возможностоей "Feature Set F". Более ранние карты обрабатывают VP9 частично, полагаясь на центральный процессор.

У Intel поддержка VP9 впервые реализована во встроенном графическом процессоре Intel HD Graphics 620 / Intel UHD Graphics 620, входяем в состав CPU поколений "Kaby Lake" и "Coffee Lake". Например, процессоры Intel i3-7200, Intel i3-8300 без проблем воспроизводят видео YouTube в разрешении FullHD, в чём я убедился. При этом, центральный процессор занят не более чем на 24%. Более новые чипы Intel® UHD Graphics 730, 750 также годятся. Поддержка формата 4K началась с процессоров intel Core 6-ой серии.

Наиболее подходящие для просмотра YouTube процессоры AMD со встроенной графикой - с Ryzen 5 2400G, Ryzen 5 3350G, Ryzen 5 3400G, Ryzen 5 Pro 3400G и подобные, с чипом "RX Vega 11". Из дискретных видеокарт AMD - лучшие (но и дорогие) - Radeon cерии RX - 5300, 5600, 5700 и т.д..

nVidia - аппаратное ускорение видео "PureVideo"

AMD аппаратное ускорение видео "Avivo"

Встроенная графика процессоров Intel

Разрешение видео и кодеки Поколение Модели ЦП
Full HD - да (AVC/H.264, VC-1 и MPEG-2 через интерфейс DXVA) 6th Gen - HD Graphics 2000 / 3000 ("Sandy Bridge") Celeron G440 - G555;
Pentium G620 - G860;
Core i3 2100 - 2130,
Core i5 2300 - 2550K,
Core i7 2600 - 2700K,
Core i7 3820 / 3930K
Full HD - да (AVC/H.264, VC-1 и MPEG-2 через интерфейс DXVA) 7th Gen - HD Graphics 2500 / 4000 ("Ivy Bridge") Core i3 3210 - 3250T,
Core i5 3330 - 3570K,
Core i7 3770 / 3770K,
Core i7 4820K / 4930K
Full HD - да
4K - нет
7th Gen - HD Graphics 4200 / 4400 / 4600 / 5000 / 5100 / 5200 ("Haswell") Core i3 4130 - 4370T,
Core i5 4430 - 4690K,
Core i7 4770 / 4790
Full HD - да
4K - нет
8th Gen - HD Graphics GT1 / 5300 / 5500 / 5600 / 6000 / 6100 / 6200 ("Broadwell") Мобильные решения:
Core i3-5005U - 5157U
4K - да, 60Hz
H.265 - 8bit
9th Gen - HD Graphics 510-GT1, 515 / 520 / 530 / 540 / 550 / 580-GT2 (" Skylake ") Core i3-6006U, i3-6100U, 6100, 6300, 6320, Core i5-6200 / 6260U / 6300 / 6320 / 6360U / 6400 / 6600Core i7-6820, 6560U, 6660, 6650U, Pentium® G4400, Pentium® G4500, Pentium® G4520, Celeron® G3900E, Celeron® G3920, Celeron® G3900T, Celeron® G3900, Celeron® 3855U, Celeron® 3955U
4K - да, 60Hz
H.265 (HEVC) -10 bit, VP9
9th Gen - HD Graphics 610-GT1, 615 / 620 / 630-GT2, 640 / 650-GT3e (" Kaby Lake ") Core i3-7100 - 7350K, Core i5-7400 - 7600T, Core i7-7500U - 7700K - 7820, Pentium® Gold 4415U, Pentium® G4560T, Pentium® G4560, Pentium® G4600, Pentium® G4620, Celeron® G3930E, Celeron® G3930TE, Celeron® G3930T, Celeron® G3950, Celeron® G3930, Celeron® 3865U, Celeron® 3965U
4K - да, 60Hz
H.265 (HEVC) - 10bit, VP9
9th Gen - HD Graphics 610-GT1, UHD Graphics - 620 / 630 - GT2, 655 - GT3e (" Coffee Lake ") Core i3-8100, i3-8300, i5-8400, i5-8500, i5-8600, i7-8700;
Core i3-9100, i3-9300, i5-9400, i5-9500, i5-9600, i7-9700, i9-9900;
G5400 класса "Gold", G5420, G5600, G6520
Celeron® G4900, Celeron® G4920, Celeron® G4930T, Celeron® G4930, Celeron® G4950
9th Gen - UHD Graphics 600 - GT1, 605 - GT1.5 ( "Goldmont Plus" )
9th Gen - UHD Graphics 615/617 - мобильные процессоры ("Amber Lake") Pentium® Gold 4425Y
4K - да, 60Hz
H.265 (HEVC), VP9
11th Gen - UHD Graphics - мобильные процессоры G1/G4/G7 ("Ice Lake") Core™ i3-1005G1, Core™ i3-1000G1, Core™ i3-1000G4
Intel® Core™ i5-1035G7, Core™ i5-1035G1, Core™ i5-1030G7, Core™ i5-1030G4, Core™ i5-1038NG7
Core™ i7-1065G7, Core™ i7-1060G7, Core™ i7-1068NG7, Core™ i5-1035G4
4K - да, 60Hz
H.265 (HEVC), VP9
11th Gen - UHD Graphics - мобильные процессоры G1/G4/G7 (" Gemini Lake Refresh ", " Jasper Lake ") Мобильные процессоры - Pentium® Silver N5000, N5030, N6000, N6005, Pentium® Silver J5005, J5040
4K - да, 60Hz
H.265 (HEVC), VP9
11th Gen - " Rocket Lake " - Intel® UHD Graphics 730, 750 Core™ i5-11400 Processor, Core™ i5-11400T Processor, Core™ i7-11700K, Core™ i9-11900K
нет данных 12th Gen - UHD Graphics G4/G7 ("Xe") Нет данных

Процессоры AMD со встроенной графикой для настольных ПК

Разрешение видео и кодеки Поколение Модели ЦП
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen" - Athlon "Raven Ridge", 14 nm, Vega 3 Athlon 200GE / 220 GE / Pro 200GE / 240 GE / 3000G
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen" - Athlon "Picasso", 12 nm, Vega 3 Athlon Pro 300GE, Gold 3150GE, Gold Pro 3150GE, Gold 3150G, Gold Pro 3150G,
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen" - Athlon "Dalí", 14 nm, Vega 3 AMD 3015e, AMD 3020e, Athlon Silver 3050e, Athlon PRO 3045B, Athlon Silver 3050U, Athlon Silver 3050C, Athlon PRO 3145B,Athlon Gold 3150U, Athlon Gold 3150C,
Ryzen 3 3250U, Ryzen 3 3250C
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen" - "RX Vega 8" Ryzen 3 2200GE, Ryzen 3 Pro 2200GE, Ryzen 3 2200G, Ryzen 3 Pro 2200G
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen" - "RX Vega 11" Ryzen 5 Pro 2400GE, Ryzen 5 2400G, Ryzen 5 Pro 2400G, Ryzen 5 3350GE, Ryzen 5 3350G
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen+" - "RX Vega 8" Ryzen 3 3200GE, Ryzen 3 Pro 3200GE, Ryzen 3 3200G, Ryzen 3 Pro 3200G, Ryzen 5 Pro 3400GE, Ryzen 5 3400G, Ryzen 5 Pro 3400G
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen 2" - "RX Vega 6" / AMD Radeon 6 Graphics (Renoir) Ryzen 3 4300G, Ryzen 3 Pro 4350G, Ryzen 3 4300GE, Ryzen 3 Pro 4350GE
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen 2" - "RX Vega 7" / AMD Radeon 7 Graphics (Renoir) Ryzen 5 4600G, Ryzen 5 Pro 4650G, Ryzen 5 4600GE, Ryzen 5 Pro 4650GE
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen 2" - "RX Vega 8" Ryzen 7 4700G, Ryzen 7 Pro 4750G, Ryzen 7 4700GE, Ryzen 7 Pro 4750GE
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC "Zen 3" - "AMD Radeon Graphics" / AMD Radeon 5 Graphics (Renoir) Ryzen 3 5300GE, Ryzen 3 5300G, Ryzen 5 5600GE, Ryzen 5 5600G, Ryzen 7 5700GE, Ryzen 7 5700G

Стратегия апгрейда ПК для качественного просмотра видео

Очень старые компьютеры целесообразно модернизировать при помощи б/у дискретных видеокарт - таких как nVidia GT 440, 450, 460 или офисных видеокарат GT 520 / 610. Цена апгрейда составит 1000 рублей ($15). Более качественным решением является замена материнской платы и процессора. Если компьютер не будет использоваться для игр, можно собрать компьютер на недорогих процессорах со встроенной графикой - например, процессор Athlon 3000G (с графикой "Vega 8") можно купить за 5000 рублей ($67). Из продукции фирмы Intel - новые процессоры Intel® Core™ i3-7100 Socket LGA1151 - 6500 руб. имеются в продаже на AVITO. Этой конфигурации хватит для видео Full HD и офисных программ. Особо хочу отметить не очень известный процессор Intel Pentium Gold G5420, который стоит сейчас (на 2021-04-20) 8800 рублей (2020-10-06 я покупал его для организаци за 4700 руб.) - он также отлично воспроизводит видео FullHD (загрузка процессора 16%). Однако существенное подорожание компьютерных комплектующих в 2021 году заставляет подходить к модернизации ПК более осторожно.

Более шести лет назад 13 сентября 2010 года на форуме IDF компания Intel представила микроархитектуру процессоров Sandy Bridge — второго поколения процессоров Intel Core. Процессор и графическое ядро объединили на одном кристалле, а само графическое ядро значительно обновилось и увеличило тактовую частоту. Именно в Sandy Bridge появилось «секретное оружие» — технология Intel Quick Sync Video (QSV) для аппаратного ускорения кодирования и декодирования видео. Маленький участок SoC специально выделили для размещения специализированных интегральных схем, которые занимаются только видео. Это был настоящий аппаратный транскодер .



Встроенная графика 9-го поколения HD Graphics 530 в процессоре Intel Core i7 6700K с 24 блоками выполнения команд (EU), организованными в три фрагмента по 8 блоков.

Удивительно, но Intel сумела обойти и AMD, и Nvidia в реализации аппаратного ускорения кодирования видео: похожие технологии AMD Video Codec Engine и Nvidia NVENC в видеокартах AMD и Nvidia появились со значительным опозданием (алгоритмы компрессии требуют серьёзной адаптации под процессоры видеокарт). Вот почему идея и разработка QSV хранились в секрете пять лет.

Сказать, что QSV была востребована — значит, ничего не сказать. Воспроизведение (декодирование) видео с аппаратной поддержкой стало гораздо меньше отнимать ресурсов у других задач в ОС, меньше нагревать CPU и потреблять меньше электроэнергии.

К тому же, в последние годы кодирование видео стало одной из самых ресурсоёмких задач на ПК. Популярность YouTube превратила миллионы человек в операторов и режиссёров. А тут ещё и повсеместное распространение смартфонов, для которых требуется транскодирование с DVD в сжатый AVC MP4/H.264. В результате, практически каждый ПК стал видеостудией. Массово распространились IPTV и потоковые видеотрансляции в интернете. Компьютер начал выполнять роль телевизора. Видео стало вездесущим и превратилось в один из самых популярных видов контента на ПК. Оно кодируется и транскодируется постоянно и везде: на разные битрейты, в зависимости от типа устройства, размера экрана и скорости интернета. В такой ситуации возможность быстрого кодирования и декодирования видео в процессорах напрашивалась сама собой. Так в Intel GPU встроили аппаратный кодер/декодер.

Современный кодек обрабатывает каждый кадр в отдельности, но также анализирует последовательность кадров на предмет повторений во времени (между кадрами) и пространстве (внутри одного кадра). Это сложная вычислительная задача. Ниже показан пример кадра из видео, который закодирован новейшим кодеком HEVC. Для конкретного участка возле уха зайца показано, как именно были закодированы различные участки кадра. Также показано положение и тип кадра в общей структуре видеопотока. Не углубляясь в детали алгоритмов видеокомпрессии, это даёт общее представление, насколько много информации требуется анализировать, чтобы эффективно кодировать и декодировать видео.



Скриншот открытого видео в программе Elecard StreamEye, 1920×1040

Аппаратная поддержка кодирования и декодирования означает, что непосредственно в процессоре реализованы интегральные схемы, специализированные для конкретных задач кодирования и декодирования. Например, дискретное косинусное преобразования (DCT) выполняется при кодировании, а обратное дискретное косинусное преобразования — при декодировании.

За прошедшие пять лет технология Intel QSV значительно продвинулась вперёд. Добавлена поддержка свободных видеокодеков VP8 и VP9, обновлены драйверы под Linux и т.д.

Технология улучшалась с каждым новым поколением Intel Core, вплоть до нынешнего 6-го поколения Skylake.

Микроархитектура GPU 9-го поколения

Последняя версия QSV 5.0 вышла вместе с микроархитектурой ядра шестого поколения Skylake. Данная версия GPU в официальной документации Intel классифицируется как Gen9, то есть графика 9-го поколения.



Процессор Intel Core i7 6700K для настольных компьютеров содержит 4 ядра CPU и встроенную графику 9-го поколения HD Graphics 530

С каждой новой микроархитектурой в GPU увеличивалось количество блоков выполнения команд (EU). Оно выросло с 6 в Sandy Bridge до 72 в топовой графике Iris Pro Graphics 580 на кристаллах Skylake. В том числе за счёт этого производительность GPU увеличилась десятикратно без увеличения тактовой частоты. Во всей графике последнего поколения Iris и Iris Pro имеется встроенный кэш Level 4 на 64 или 128 МБ.

▍Микроархитектура блоков выполнения команд (EU)

Базовым строительным блоком микроархитектуры Gen9 является блок выполнения команд (EU). Каждый EU сочетает в себе одновременную многопоточность (SMT) и тщательно настроенную чередующуюся многопоточность (IMT). Здесь работают арифметическо-логические устройства с одиночным потоком команд, множественным потоком данных (SIMD ALU). Они выстроены по конвейерам многочисленных тредов для высокоскоростного проведения вычислений с плавающей запятой и целочисленных операций.

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



Блок выполнения команд (EU)

В зависимости от нагрузки, аппаратные треды в EU могут выполнять параллельно один код от одного вычислительного ядра либо могут выполнять код от совершенно разных вычислительных ядер. Состояние выполнения в каждом треде, в том числе его собственные указатели инструкций, хранятся в его независимом ARF. На каждом цикле EU может выдавать до четырёх различных инструкций, которые должны быть от четырёх различных тредов. Специальный арбитр тредов (Thread Arbiter) отправляет эти инструкции в один из четырёх функциональных блоков для выполнения. Обычно арбитр может выбирать из разнородных инструкций, чтобы одновременно загружать все функциональные блоки и, таким образом, обеспечивать параллелизм на уровне инструкций.

Пара модулей FPU на схеме на самом деле выполняет и операции с плавающей запятой, и целочисленные вычисления. В Gen9 эти модули способы обработать за цикл не только до четырёх операций с 32-битными числами, но и до восьми операций с 16-битными. Операции сложения и умножения выполняются одновременно, то есть блок EU способен выполнить максимум до 16 операций с 32-битными числами за один цикл: 2 FPU по 4 операции × 2 (сложение+умножение).

Генерацией SPMD-кода для многопоточной загрузки EU занимаются соответствующие компиляторы, такие как RenderScript, OpenCL, Microsoft DirectX Compute Shader, OpenGL Compute и C++AMP. Компилятор сам эвристически выбирает режим загрузки тредов (SIMD-width): SIMD-8, SIMD-16 или SIMD-32. Так, в случае SIMD-16 на одном EU могут одновременно исполняться 112 (16×7) потоков.

Обмен данными в рамках одной инструкции внутри блока EU может составлять, например, 96 байтов на чтение и 32 байтов на запись. При масштабировании на весь GPU с учётом нескольких уровней иерархии памяти получается, что максимальный теоретический лимит обмена данными между FPU и GRF достигает нескольких терабайт в секунду.

▍Масштабируемость

Микроархитектура GPU обладает масштабируемостью на всех уровнях. Масштабируемость на уровне тредов переходит в масштабируемость на уровне блоков выполнения команд. В свою очередь, эти блоки выполнения команд объединятся в группы по восемь штук (8 EU = 1 subslice).

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



Группа из 8 блоков EU (subslice)

В свою очередь группы из 8 EU объединяются в группы по 24 EU (3 sublices = 1 slice). Эти срезы по 24 блока, в свою очередь, тоже масштабируются: существующая графика Gen9 содержит 24, 48 или 72 EU.

В графике Gen9 увеличен объём кэша третьего уровня L3 до 768 КБ на каждую группу из 24 EU. У всех семплеров и портов данных свой собственный интерфейс доступа к L3, позволяющий считать и записать по 64 байта за цикл. Таким образом, на группу из 24 EU приходится три порта данных с полосой передачи данных к кэшу L3 192 байта за цикл. Если в кэше нет данных по запросу, то данные запрашиваются или направляется для записи в системную память, тоже по 64 байта за цикл.



Микроархитектура Gen9 из двух групп по 24 (3×8) EU

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

Что умеет QSV в Skylake

В Gen9 появилась полная поддержка аппаратного ускорения при кодировании и декодировании H.265/HEVC, частичная поддержка аппаратного кодирования и декодирования свободным кодеком VP9. Произведены значительные улучшения в технологии QSV. Они повысили качество и эффективность кодирования и декодирования, а также производительность фильтров в программах для транскодирования и видеоредактирования, которые используют аппаратное ускорение.

Интегрированная графика Skylake поддерживает стандарты DirectX 12 Feature Level 12_1, OpenGL 4.4 и OpenCL 2.0. Решено полностью отказаться от мониторов VGA, зато Skylake GPU поддерживают до трёх мониторов c интерфейсами HDMI 1.4, DisplayPort 1.2 или Embedded DisplayPort (eDP) 1.3.

Аппаратное ускорение декодирования видео доступно графическому драйверу через интерфейсы Direct3D Video API (DXVA2), Direct3d11 Video API или Intel Media SDK, а также через фильтры MFT (Media Foundation Transform).

В графике Gen9 поддерживается аппаратное ускорение декодирования AVC, VC1, MPEG2, HEVC (8 бит), VP8, VP9 и JPEG.

▍Аппаратное ускорение декодирования видео

Расчётная производительность декодирования видео при аппаратном ускорении составляет более 16 одновременных потоков видео 1080p. Реальная производительность зависит от модели GPU, битрейта и тактовой частоты. Аппаратное декодирование H264 SVC не поддерживается в Skylake.

Аппаратное ускорение кодирования доступно только через интерфейсы Intel Media SDK, а также через фильтры MFT (Media Foundation Transform).

▍Аппаратное ускорение кодирования видео

Кроме аппаратного ускорения кодирования и декодирования, в графике Gen9 реализовано аппаратное ускорение обработки видео, в том числе следующих функций: деинтерлейсинг, определение каденции, масштабирование видео (Advanced Video Scaler), улучшение детализации, стабилизация изображения, сжатие охвата цветовой гаммы (gamut compression), адаптивное улучшение контраста HD, улучшение оттенков кожи, контроль цветопередачи, шумоподавление в цветовой составляющей канала (chroma de-noise), преобразование SFC (Scalar and Format Conversion), сжатие памяти, LACE (Localized Adaptive Contrast Enhancement), пространственное шумоподавление, Out-Of-Loop De-blocking (для декодера AVC) и др.

Аппаратный транскодер Gen9 поддерживает следующие специфические функции транскодирования:

  • Быстрый и энергоэффективный кодер AVC в реальном времени для видеоконференций
  • Сжатие памяти без потерь для медиадвижка с целью уменьшения энергопотребления
  • Масштабирование видео (Advanced Video Scaler)
  • Энергоэффективный конвертер SFC (Scalar and Format Conversion)



Источник: 6th Generation Intel Processor Datasheet for S-Platforms

В Gen9 реализована аппаратная поддержка обработки видео с цифровых камер (Camera Processing Pipeline), в том числе отдельные функции этой обработки: баланс белого, восстановление полноцветного изображения с массива цветных фильтров на сенсоре камеры (de-mosaic), коррекция дефективных пикселей, исправление уровня чёрного, гамма-коррекция, устранение виньетирования, конвертер цветового пространства (Front end Color Space Converter, CSC), улучшение цветопередачи (Image Enhancement Color Processing, IECP).

Skylake GPU

  • HD Graphics 510 (GT1, 12 EU, 950 МГц, 182,4 Гфлопс)
  • HD Graphics 515 (GT2, 24 EU, 1000 МГц, 384 Гфлопс)
  • HD Graphics 520 (GT2, 24 EU, 1050 МГц, 403,2 Гфлопс)
  • HD Graphics 530 (GT2, 24 EU, 1150 МГц, 441,6 Гфлопс)
  • Iris Graphics 540 (GT3e, 48 EU, 64 МБ eDRAM, 1050 МГц, 806,4 Гфлопс)
  • Iris Graphics 550 (GT3e, 48 EU, 64 МБ eDRAM, 1100 МГц, 844,8 Гфлопс)
  • Iris Pro Graphics 580 (GT4e, 72 EU, 128 МБ eDRAM, 1000 МГц, 1152 Гфлопс)
  • HD Graphics P530, сервер (GT2, 24 EU, 1150 МГц, 441,6 Гфлопс)
  • Iris Pro Graphics P555, сервер (GT3e, 48 EU, 128 МБ eDRAM, 1000 МГц, 768 Гфлопс)
  • Iris Pro Graphics P580, сервер (GT4e, 72 EU, 128 МБ eDRAM, 1000 МГц, 1152 Гфлопс)

Как программы используют аппаратное ускорение

Чтобы использовать аппаратное ускорение, каждая программа должна явно реализовать поддержку специфических функций Gen9. Многие делают это. Компания Intel публикует в открытом доступе Media SDK 2.0, так что поддержку аппаратного ускорения кодирования и декодирования можно внедрить в любую программу. Кроме того, существуют готовые приложения для транскодирования лайв видео на кодеках Intel, такие как Элекард CodecWorks 990. В отличие от SDK, CodecWorks 990 не требует участия программистов для применения в реальных задачах, уже содержит наиболее популярные профили транскодирования и работать с ним инженеру-не программисту в целом гораздо проще, чем с SDK. Как работают программные транскодеры с аппаратным ускорением — мы расскажем в следующей части.

Распространённый в «нулевых» формат DVD, основанный на кодеке MPEG2, по мере появления телевизоров и мониторов с высоким разрешением уже не мог удовлетворять возросшим требованиям к качеству видео. Поэтому появление в 2003 году формата кодирования H.264 было воспринято в основном доброжелательно. Но со временем и этот стандарт перестал отвечать современным нуждам – требовался такой кодек, который бы обеспечивал меньший размер файла при том же битрейте (или увеличенный битрейт при неизменном объёме видеофайла). Так появился усовершенствованный формат H.265, именуемый также HEVC, позволивший уменьшить размеры файлов на 30-50% при сравнимом качестве. В нём реализована поддержка разрешения уровня 8К (8192×4320 пикселей). Насколько успешно продвигается этот стандарт? Давайте разбираться.

Воспроизведение H.264 и H.265

Что такое формат H.265 (HEVC)

High Efficiency Video Coding на сегодняшний день является самым современным и продвинутым видеокодеком. Если H.264 (AVC), основанный на кодеке MPEG, был ориентирован на воспроизведение FullHD видео, то его сменщик способен сжимать видеоряд до разрешения UHDTV, или 8К.

Что интересно, к разработке более совершенного стандарта приступили в 2004 году, то есть всего через год после начала внедрения AVC. Первоначально проект назывался H.NGVC, что расшифровывается как Next-generation Video Coding, а затем за стандартом закрепилось нынешнее эволюционное название. Перед экспертной группой VCEG стояла нелёгкая задача: повысить разрешение видео, добившись снижения битрейта, при этом не увеличивая вычислительные мощности оборудования. Требования, прямо скажем, противоречивые, поэтому в полной мере их реализовать не удалось.

Формат видео HEVC

И всё-таки разработчикам удалось добиться главного: увеличения максимального размера блока, основной единицы кодека, в 16 раз по сравнению с H.264, у которого он равен 16х16 пикселей. При этом была задействована технология блоков динамического размера, когда кодек во время сжатия видео сам выбирает оптимальное количество пикселей в блоке. Это и позволило новому формату легко поддерживать разрешение 8К, хотя и 4К на сегодня внедряется не такими быстрыми темпами, как хотелось бы. Добавьте сюда технологию параллельного кодирования, и вы получите кодек, способный сжимать видео до размера, на 25-50% меньше, чем у предшественника, при том же качестве.

Новый стандарт был утверждён только в 2012 году и поначалу имел ограниченное применение – в телевидении и IP камерах. Но когда в 2017 году поддержку HEVC реализовали в iOS 11, ситуация начала быстро меняться.

Качество H.264 и H.265

Преимущества HEVC по отношению к старым форматам

С выходом iOS 11 и macOS High Sierra Apple начала усиленно продвигать новые форматы для изображений (HEIF) и видео (HEVC). Задача упростилась в том плане, что новый кодек обеспечивал либо видео лучшего разрешения, либо меньшего размера, что в эпоху глобального обмена контентом имеет немаловажное значение – попробуйте передать по сети файл размером с 10-20 ГБ.

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

Фильм в H.264 и H.265

Частично улучшения характеристик нового формата удалось добиться за счёт использования новых технологий, о которых мы уже упоминали. Но за всё нужно платить. В данном случае речь идёт о возрастании нагрузки на аппаратную часть, из чего следует вывод, что для обеспечения декодирования видео в формате HEVC потребуется более мощное оборудование. Второй негативный момент связан с тем, что соответствующие кодеки, по крайней мере, на начальном этапе распространения формата, встроены в популярные проигрыватели в ограниченном количестве. Ещё хуже обстоят дела с «железом» – только передовые модели телевизоров, медиаплееров, телевизионной техники и IP-камер умеют «переваривать» этот формат. Но это, разумеется, дело поправимое в среднесрочной перспективе. Во всяком случае, уже сейчас количество доступных аппаратных и софтверных декодеров стремительно растёт.

Что касается ПК, то поначалу H.265 поддерживали только видеокарты 970/980 от GeForce, а для кодирования среднего видео этого формата на более слабом оборудовании требовалось порядка 10 часов. Сегодня ситуация в этом плане гораздо более благоприятная, а дивиденды от использования HEVC очень даже ощутимы. Главное, что выгода будет тем больше, чем выше качество видео: для разрешения 720p, которое ещё совсем недавно было «золотым стандартом», размер файла будет примерно на 25% меньше, чем в формате H.264. Но для 4К выигрыш составит уже 50%, а если говорить о рипах Blue-ray, то здесь экономия достигается десятикратная, то есть видео такого качества вполне можно упаковать в каких-то 3-4 ГБ.

Сжатие H.264 и H.265

Рассмотрим основные особенности кодека HEVC с технической точки зрения:

Форматы AVC и HEVC

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

Как использовать кодек HEVC

Разумеется, обычного пользователя больше интересует вопрос, чем смотреть видео в формате HEVC/H.265, нежели технические подробности реализации улучшенного стандарта.

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

Но по умолчанию поддержка HEVC здесь выключена, и чтобы смотреть видео, закодированное H.265, необходимо выполнить следующие действия:

В результате вы получите возможность просматривать на компьютере видео, сжатое новым кодеком, вне зависимости от используемой операционной системы.

Примерно таким же способом можно установить HEVC/H.265 на Windows, используя последние версии других популярных медиаплееров – Media Player Classic, KMPlayer, GOM Player и других.

Поддержка H.265 реализована и в некоторых браузерах – Microsoft Edge (начиная с 16-й версии) и Safari (от одиннадцатой версии и выше).

Что касается MacOS High Sierra, то там с новым кодеком справляется стандартное приложение «Видео», хотя если вам нравятся сторонние плееры, то все вышесказанное остаётся справедливым. Аналогичная ситуация и с мобильными девайсами, работающими под iOS 11 – здесь главное, чтобы для воспроизведения нового формата хватило производительности устройства.

Что касается смартфонов и планшетов под Android, то на сегодня получить работающий кодек HEVC/H.265 можно только в приложении MX Player с тем же условием – производительности девайса должно хватать для воспроизведения видео нового формата.

MX Player на Android

Другое дело, что видео, записанного с использованием кодека HEVC, в сети пока не так много. Остаётся надеяться, что ситуация будет постепенно улучшаться, как это было с предшественником и разрешением 4К – сегодня количество каналов, вещающих в этом формате, растёт в арифметической прогрессии.

В немалой степени проблема касается и оборудования, способного поддерживать сверхвысокие разрешения – среди компьютерных мониторов таковых практически нет, да и телевизоры с разрешением 8192×4320 пикселей – пока не столь распространённое явление. Но технический прогресс не остановить…

Вышла бета новой ветки (349) с поддержкой x265:

Added support for VDPAU Feature Set F to the NVIDIA VDPAU driver. GPUs with VDPAU Feature Set F are capable of hardware-accelerated decoding of H.265/HEVC video streams.

Поэтому те, кто говорят что амд/интел заботятся о своих пользователях - пусть сначала прикрутят нормально хардварное ускорение в mplayer (без костыля через vdpau)


Как проверить? Наверное моя затычка не могет :) Больно старая.


пусть сначала прикрутят нормально хардварное ускорение в mplayer (без костыля через vdpau)


Но зачем, если современные процессоры и так нормально его тянут? Оно разве что нужно для ноутбуков и мобильников. Качество аппаратного кодирования/декодирования видеопотока всегда упирается в ограничения платформы и потому весьма средненькое.


А где в реальной жизни мне найти видеопотоки в этом?


Спроси у анимешников.


Суть в том, что vaapi в mplayer работает через костыль с vdpau.


переходи на mpv


А где в реальной жизни мне найти видеопотоки в этом?


x265 - это вполне определённая реализация кодека, который называется h265.


Емнип, что H265, что DX12 умеют все видюхи, начиная с GTX4xx.

Видимо что-то большое сдохло, и невидии расхотелось продавать говно без обратной совместимости (видеочип NV199 такой же как NV198, но умеет DirectX20, который на 198 не заработает). PS: Если что, блок тесселяции (киллер-йоба фича DX11/GL4) был ещё в радиках 8500 образца 2001 года. И в некоторых играх оно даже нормально работало (напр C&C Renegade. Хотя там графика была довольно убога в целом, но тесселяция хоть делала модельки солдат менее блевотными).

svr4 ☆ ( 26.03.15 17:10:36 )
Последнее исправление: svr4 26.03.15 17:14:31 (всего исправлений: 2)


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


Я и так на mpv, и у меня nvidia.


При этом mpv VA-API умеет нативно.



Драйвера Intel поддерживают VA-API, fglrx поддерживает VA-API (с 14.12) а свободный драйвер Радеонов умеет OpenMAX, VA-API, VDPAU. Есть VLC, есть mpv, есть Kodi, есть bomi, есть GStreamer, все умеют аппаратное декодирование на Intel и AMD.

Поэтому те, кто говорят что амд/интел заботятся о своих пользователях - пусть сначала прикрутят нормально хардварное ускорение в mplayer

Ничего умнее придумать не удалось, да?


Не умеет, ибо старенькая gtx 560, надо уже апгрейдить до этак gtx 960


Нигде. И ускорения 10битного x264 всё нет.


Та по моему в mpv VDPAU работает и напрямую, без промежуточного звена в виде vaapi.

У них тоже нет ответа. Были пробы тестового кодирования, но никто так и не стал массового никуда переходить.

Никакая видеокарта не умеет и не будет уметь x265. Это целиком софтовый кодек.

Читайте также: