Дело в том, что звук или видео, представленные в цифровом виде, без какой-либо обработки, имеют очень большие объёмы. Поэтому и применяются кодеки, которые позволяют существенно уменьшить размер мультимедийных файлов.
Сжатие файлов
Процесс сжатия информации — кодирование, «распаковка» — декодирование. Проще говоря, файл созданный кодеком представляет собой своеобразный архивный файл. Отсюда следует ещё один вариант происхождения слова «кодек» — от слов «COmpressor» и «DECompressor».
Существует два основных способа кодирования — сжатие исходной информации с потерями и без потерь. Первый способ обеспечивает значительное уменьшение объёма данных при сохранении приемлемого качества звука и изображения.
Большинство распространённых в Интернете форматов видео, а также популярный аудиоформат MP3 используют алгоритмы сжатия с потерями (lossy), когда малозаметная для зрителя или слушателя информация попросту не кодируется. Недостатком этого метода является ощутимое, особенно экспертами, ухудшение качества, а также значительное ухудшение качества при многократной перекодировке подобных файлов.
Что умеет QSV в Skylake
В Gen9 появилась
, частичная поддержка аппаратного кодирования и декодирования свободным кодеком 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.
Как программы используют аппаратное ускорение
Чтобы использовать аппаратное ускорение, каждая программа должна явно реализовать поддержку специфических функций Gen9. Многие делают это. Компания Intel публикует в открытом доступе
, так что поддержку аппаратного ускорения кодирования и декодирования можно внедрить в любую программу. Кроме того, существуют готовые приложения для транскодирования лайв видео на кодеках Intel, такие как
. В отличие от SDK, CodecWorks 990 не требует участия программистов для применения в реальных задачах, уже содержит наиболее популярные профили транскодирования и работать с ним инженеру-не программисту в целом гораздо проще, чем с SDK. Как работают программные транскодеры с аппаратным ускорением — мы расскажем в следующей части.
(Продолжение следует…)