Google разрабатывает собственные ASIC для кодирования видео YouTube

Опубликовано:

google-cloud-platformНа платформу YouTube пользователи каждую минуту закачивают 500 часов видео. И данное видео сначала необходимо перекодировать, чтобы оно было доступно на любых устройствах в разных кодеках и уровнях качества. До сих пор Google всегда использовала программные кодеры, которые работали на процессорах. Но, как и в случае Tensor Processing Units для вычислений ИИ и машинного обучения, Google решила разработать собственные чипы кодирования видео, которые будут лучше масштабироваться, а также обеспечат существенный прирост производительности по сравнению с программным кодированием.

Argos VCU (Video Coding Unit) как раз представляет собой ASIC (application-specific integrated circuit, интегральная схема специального назначения), то есть чип для определенных сфер использования. Google, в основном, кодирует в VP9. Как Google сообщила CNET, разработка чипов началась еще в 2015 году. Два ASIC устанавливаются на карту расширения PCI Express, которая подключается по 16 линиям, но по стандарту PCI Express 3.0. Каждый чип работает с 8 Гбайт памяти LPDDR4-3200, которая подключена по 128-битному интерфейсу с пропускной способностью 36 Гбайт/с. Если верить Google, ASIC раскрывают свой потенциал при входящем потоке от 27 до 37 Гбайт/с.

Что касается карты, Google выбрала формат "Full Height, Full Length" и пассивные радиаторы. Дополнительное питание подается 8-контактным штекером. Но сведения об энергопотреблении Google не дает. В стойку устанавливаются несколько Argos VCU, здесь Google может масштабировать аппаратные ресурсы кодирования в зависимости от потребностей.

Как видно по схеме, чип состоит из десяти ядер кодирования, интерфейса памяти LPDDR4 и контроллера PCI Express. Также есть ядра CPU. Три ядра декодирования используются для обратной отдачи при наложении специальных фильтров. Например, таким образом выделяются эталонные кадры.

Кодирование выполняется в режиме MOT (multiple-output transcoding). То есть закачанное видео перекодируется в несколько потоков с разными разрешениями и битрейтами. В отличие от фиксированных аппаратных кодеров от AMD (VCE) или NVIDIA (NVENC), Google может добавлять новые оптимизации, которые существенно улучшают качество картинки. Программное кодирование на процессорах дает преимущества по настройкам кодирования, которые можно произвольно выбирать. Кодирование на VCU по качеству должно приближаться к программному кодированию.

Argos VCU могут кодировать видео в 20-33 раза эффективнее, чем программное кодирование на процессорах. На данный момент чипы оптимизированы под H.264 и VP9. Но Google сообщила, что работает над вторым поколением, которое будет поддерживать кодек AV1. Кодек AV1 требует примерно на 30% меньшую пропускную способность по сравнению с H.264 и VP9, сохраняя при этом такое же качество картинки.

Подписывайтесь на группы Hardwareluxx ВКонтакте и Facebook, а также на наш канал в Telegram (@hardwareluxxrussia).