Существует множество привычных примеров технологических чудес. Например, встраивание миллиардов транзисторов в компьютерный чип – это довольно удивительно. Но знаете ли Вы, насколько круто потоковое видео?
Том Петерсен (Tom Petersen) из Intel недавно рассказал Gamers Nexus о тонкостях сжатия видео, и подробности действительно захватывают, даже если Вы уже примерно представляете, как все это работает. Для начала отметим, что без технологии сжатия видео один только YouTube съедал бы в 100 раз больше всей мировой пропускной способности Интернета благодаря миллиарду часов видео в день.
Чтобы выразить это в цифрах, Петерсен говорит, что текущая пропускная способность Интернета в мире составляет 1,2 Пбит в секунду. Если Вы предполагаете потоковое вещание в формате 1080p SDR, то YouTube потребуется 155 Пбит в секунду для передачи своего контента в несжатом виде.
Вы можете умножить эту цифру примерно на 10 для полноценного HDR 4K видео. Таким образом, если бы YouTube транслировал все в несжатом формате 4K HDR, ему потребовалось бы примерно в 1 000 раз больше доступной в мире пропускной способности Интернета. Дикость.
Решение, конечно же, заключается в сжатии видео. Петерсен проводит экскурс по пяти ключевым компонентам сжатия. Во-первых, это понижающая дискретизация цвета, которая основывается на том факте, что человеческий глаз более чувствителен к яркости, чем к цвету, а также более чувствителен к некоторым цветам, чем к другим.
Это означает, что Вы можете эффективно отказаться от некоторых цветовых данных, не изменяя субъективного вида изображения. Это дает Вам возможность увеличить сжатие до двух раз.
Далее следует пространственно-временное сжатие. Один из аспектов этого означает обновление только тех пикселей, которые меняют цвет от одного кадра к другому. Вы также можете использовать векторы для перемещения пикселей, а не просто обновлять их цветовые данные полностью, что требует меньше данных. Чистый результат – сжатие до 20 раз.
Дальше все становится сложнее и, честно говоря, труднее для понимания. После пространственного и временного сжатия требуется коррекция ошибок. Затем следует квантование частоты.
Это самый сложный для понимания шаг в процессе, но в конечном итоге он позволяет избавиться от целого ряда пикселей без ущерба для качества изображения. Посмотрите видео, чтобы узнать больше, но один только этот шаг может обеспечить еще 40-кратное сжатие.
Наконец, существует кодирование символов, которое, по сути, подразумевает использование сокращенного кодирования для часто повторяющихся паттернов в самих двоичных данных изображения. Это позволяет достичь еще двухкратного сжатия.
Вот и все, весь Ваш конвейер сжатия. Точный объем полосы пропускания, используемой YouTube после сжатия, зависит от содержания видео и разрешения, в котором оно передается.
Но по собственным рекомендациям YouTube, устойчивая скорость для видео 4K составляет 20 Мбит/с, а 1080p – 5 Мбит/с. Это 2,5 МБ в секунду и 0,625 МБ в секунду, соответственно. Как же это соотносится с необработанным несжатым видео?
При 8-битном цвете для обычного SDR 1080p потребуется примерно 185 МБ/с, а для полного 4K HDR – ошеломляющие 2 ГБ в секунду. Все это довольно умопомрачительные цифры.
В любом случае, чтобы распаковать закодированное видео для просмотра, Вы проходите этапы сжатия в обратном порядке. Все современные графические процессоры, включая интегрированное оборудование Intel в процессоры и видеокарты Arc, имеют специальные медиа-движки с фиксированными функциями для каждого из пяти этапов сжатия, что позволяет им выполнять работу “на лету”, используя при этом поразительно мало ресурсов.
Но если вникнуть в детали, то сжатие видео определенно можно отнести к менее воспеваемым, но совершенно потрясающим техническим достижениям.