The streaming activity of user-created content has been with us for more than a decade, as has the distribution of series and films on the Internet. Behind all of this, there is a specialized piece of equipment more and more in the making, which is the VPU, and which means the return to specialized video equipment.
Encoding, decoding and transcoding
One of the most important elements is the transmission of the video in real time, which means that there must be the minimum possible time between the transmission of the event and its reception. In other words, there has to be completely smooth retransmission and it requires a lot of computing capacity, because the processing speed we need is much higher because it requires encoding in much less time.
Adding to this complication is the huge number of devices connected to the network, which will require content at different resolutions and in different formats. This is something analog TV didn’t have to deal with at all, since all TVs all operated at the same resolution regardless of size, so there was no need to generate a slew of different resolutions.
From a reproduction point of view, it is easier, as they only need to process a video signal at a specific bit rate, file format and resolution. To this we have to add that most of the PCs that people have at home are already equipped to play multiple video streams at the same time, but encoding is a different problem and is much more complex when it comes to implement it and in terms of your computational cost.
A GPU is not suitable for transcoding
Graphics cards have for years had units that encode video, their job is to take the last successive frames of an application and create a video with them in a specific format and then store it or transmit it over the network. The encoding is done because if we had the file with the original information, it would require a large amount of data and a very high download speed.
But the hardware video codec inside the GPU doesn’t have the speed to be able to transmit at different resolutions and in real time, if you look at it the vast majority of people streaming have a lag of several seconds and therefore hundreds. of images. .
So GPUs, whether dedicated or integrated, aren’t good enough to be able to transmit content in real time and you have to use a kind of specialized hardware that not everyone has, that’s when – there they come into play. as a processor dedicated to video processing.
The need to handle a larger amount of data than codecs included as standard in SoCs and GPUs makes VPUs the equivalent of a dedicated graphics card compared to simple onboard hardware codecs, so processors are just right. specialized created that we call VPU.
Architecture of a VPU
A VPU like a GPU is a coprocessor for the main CPU, so its job is to free up the CPU to do a specific job and do it under better conditions and in less time than the CPU itself.
Its internal organization is very similar to a GPU, and therefore derived from it, but with some important changes:
- You can have shading units, but these do not have the unit of textures and other elements for graphics such as the unit of calculation for the intersection of rays in the scene which is used in ray tracing.
- There are also no specialized units for graphics outside of shading units, such as tessellation units, raster units, and render outputs.
- They have a large number of hardware video codecs with the ability to handle multiple video streams at the same time. These codecs take up a significant portion of the chip compared to what they take up in a normal GPU.
- Some units use artificial intelligence hardware to run algorithms such as changing image resolution, styling, interpolation, and extrapolation.
Compared to a GPU, its abilities to transform data from one format to another and from one resolution to another are much higher in terms of speed. Its encoders are therefore much more powerful, in part because they achieve high encoding, decoding and transcoding speed not only thanks to the hardware codecs, but also to the computing power of the units around them.
Where are VPUs located?
So in general, a VPU is not a type of hardware that is typically found as standard in most computers, as very few people need video processing hardware with this level of power for their performance. daily use.
VPUs are typically found in the following types of hardware.
- On the servers of video streaming platforms, regardless of the type of content that is transmitted through them to users.
- In specialized equipment used for transcoding, these are usually video player type units with a series of video inputs and outputs. Some veteran television networks use this type of equipment to broadcast their old and analog content directly to digital.
- In videoconferencing systems, where the advent of teleworking has created the need to be able to establish clear and fluid communication between the different parties.
- In computer vision systems so that the system has eyes and can “see” what is going on, not only in robots or smart cars, but also in smartphones and tablets.
Thus, VPUs will always be visible when a much higher video processing is required compared to that provided by a conventional PC and, little by little, they have permeated different markets given the importance of getting video streaming for many. different customers playing low. Different conditions.