Werbung
500 Stunden an Video pro Minute – so viel Material nimmt Googles Videoplattform YouTube entgegen. Diese Videos müssen zunächst einmal Encodiert werden, um dann an anderer Stelle wieder in den verschiedenen Codecs und Qualitätsstufen ausgeliefert werden zu können. Bisher setzte Google immer auf Software-Encoder, die auf Prozessoren ausgeführt werden. Ähnlich aber wie mit den Tensor Processing Units für AI- und ML-Anwendungen hat Google nun auch eine eigene Encoding-Hardware entwickelt, die besser skaliert und deutlich leistungsstärker ist, als ein Software-Encoding.
Die Argos VCU (Video Coding Unit) verwendet eigens entwickelte ASICs (application-specific integrated circuit), also auf eine bestimmte Anwendung ausgelegte Chips. Primär sieht Google ein Encoding in VP9 vor. Bereits 2015 hat man mit der Entwicklung der Chips begonnen – so Google gegenüber CNET. Gleich zwei ASICs kommen auf einer PCI-Express-Erweiterungskarte zum Einsatz, die über 16 Lanes angebunden ist, allerdings noch PCI-Express 3.0 verwendet. Jedem Chip stehen 8 GB an LPDDR4-3200 zur Verfügung, die über ein 128 Bit breites Speicherinterface angebunden sind und eine Speicherbandbreite von 36 GB/s erreichen. Laut Google entwickeln die ASICs ihre höchste Leistung, wenn ihnen die Daten mit 27 bis 37 GB/s zugeführt werden.
Zur Hardware selbst sei noch zu sagen, dass Google eine "Full Hight, Full Length"-Karte vorsieht, die mit einem passiven Kühler versehen ist. Eine zusätzliche Stromversorgung über einen 8-Pin-Anschluss ist ebenfalls vorhanden. Genaue Angaben zur Leistungsaufnahme macht Google aber nicht. In einem Rack lassen sich gleich mehrere der Argos VCUs einsetzen, so dass Google hier den Anteil des Encodings über die eigene Hardware beliebig skalieren kann.
Der Floorplan des Chips zeigt zehn Encoder-Kerne, das LPDDR4-Speicherinterface sowie das PCI-Express-Interface. Hinzu kommen CPU-Kerne. Drei Decoder-Kerne werden für eine Feedback-Schleife verwendet, um spezielle Filter anzuwenden. Unter anderem werden darüber die Referenz-Frames bestimmt.
Das Encoding erfolgt im MOT-Verfahren (Multiple-output transcoding). Das hochgeladene Video wird also direkt für die verschiedenen Auflösungen und Bitraten encodiert. Im Gegensatz zu den Hardware-Encodern von AMD (VCE) oder NVIDIA (NVENC) kann Google aber weitere Optimierungen einbauen, welche die Bildqualität im Vergleich zu diesen Lösungen deutlich verbessern. Ein Software-Encoding auf Prozessoren besitzt den Vorteil, dass die Encoding-Einstellungen frei gewählt und angepasst werden können. Das Encoding in den VCUs soll hinsichtlich der Bildqualität sehr nahe an einem optimierten Software-Encoding sein.
Die Argos VCU soll in der Lage sein, Videos um den Faktor 20 bis 33 effizienter encodieren zu können, als dies über ein Software-Encoding auf Prozessoren der Fall ist. Aktuell ist die Hardware noch auf H.264 und VP9 hin optimiert. Google arbeitet nach eigener Aussage aber schon an einer zweiten Generation, die den AV1-Codec in ähnlicher Form verarbeitet. AV1 benötigt etwa 30 % weniger Daten im Vergleich zu H.264 und VP9 – bei gleicher Darstellungsqualität.