- 31 October 2018
- Benny Har-Even
Data compression is a fundamental technology tool. It enables us to make efficient use of limited resources and without it, many things that we take for granted would not be possible: physical media such as DVD and Blu-ray rely on it, as do the video and music we stream to our TVs and mobile devices.
It’s also used inside Imagination’s GPUs. Whether it’s in a smartphone, a TV, or a car, there’s a huge amount of data coming into the SoCs and that trend is only going one way. TVs have gone from HD to 4K, and, believe it or not, 8K TVs are now on sale to the public. Meanwhile, our phones are packing an even larger number of sensors absorbing information from the world around them, while smartphone radios are moving from 4G to 5G, creating an even greater flow of incoming data. All of these are placing ever more pressure on memory bandwidth and memory footprint, which impacts battery-life. At the same time, in an ever-more competitive market, manufacturers are under pressure to reduce costs.
So how do we deliver more performance, while driving down power consumption and cost? To do this we use a trio of technologies in our GPUs, known as PVR3C Triple Compression – a ‘triple-threat’ of texture compression (PVRTC and ASTC), geometry compression (PVRGC) and image compression (PVRIC).
While PVRTC and PVRGC both impact operations inside the GPU, PVRIC operates on the transfer of the final image from the GPU to the display controller. First introduced in our Series6 GPUs, PVRIC hit version 3 this year with our Series8 GPUs, and in a blog post we demonstrated the real-world benefits it delivers in reducing bandwidth and power consumption.
PVRIC3 has been widely implemented inside other third-party IP blocks such as ISPs, display controllers, 2D cores and video encoder/decoders, so it’s a proven technology.
Today, we are proud to announce the next step in our image compression technology – PVRIC4 featuring PVRIC visually lossless compression.
So, what the difference? In PVRIC3 images could only be compressed losslessly and, by definition, this meant that the compression had no impact whatsoever on image quality. However, the amount of compression depends on the content. While some parts of an image might compress well (say, a single block of colour as found in an all-white sky), compression could be highly effective – up to a theoretical best case of 256:1. While this means that bandwidth consumption for the transfer is reduced significantly, that block still needs a full allocation of memory to be reserved, as the compression ratio is not known or guaranteed ahead of time.
Dual pipeline – double benefit
This is where PVRIC4 comes in to play. Now each block of pixels delivered from the GPU to its destination, such as the display controller or video encoder, is sent through the regular lossless compression pipeline and – at the same time, (and without any loss of performance) – is sent to an entirely new pipeline that applies ‘lossy’ compression.
After the image data block has passed through both pipelines, new decision logic decides which version of the block to pass on to its destination. If the lossless pipeline has managed to compress the block by at least 50% then this is selected, this also means we maintain perfect image quality. However, if it cannot do so then the lossless pipeline output is used. This will always compress the image by exactly 50%. As a result, not only can we now guarantee a bandwidth reduction of 50%, but we can also guarantee a memory footprint saving of 50%.
This means that SoC designers can put down fewer memory pins – which adds up to a saving of the bill of materials. The memory allocation per block will also be 128 bytes, which is a very efficient size for data transfer.
It’s possible though that alarm bells might be ringing at the thought of ‘compression. After all, by definition, doesn’t lossy means that you’re losing quality? However, while we’re reducing the data size by 50% we have spent a lot of time to ensure that this is done without any real-world impact on image quality. Our algorithms are tuned to avoid halos or artefacts that plague competitor lossy solutions and the changes applied tend to be minor alterations to individual pixel values that are localised to small detailed blocks in the image.
What’s important to understand is that PVRIC4 operates on the block level – as in the parts of the image that are fed, bit by bit, from the GPU. This means that parts of each frame will be lossless and other parts visually lossless. In the image below, only the purple areas have had visually lossless compression applied – you can see how it only affects a part of the image.
Below we see image quality comparisons between the Netflix GUI and the game Angry Birds, with the areas where ‘lossy’ compression is applied, and you’ll find that even under close inspection you’d be hard pressed to tell the difference. In other words, it’s visually lossless.
The graph below shows the amount of compression applied in a range of popular app and games, displaying both lossless and visually lossless compression paths. The latter provides an improvement in the compression in games such as Temple Run, Minion Rush, Minecraft, and Command & Conquer Rivals.
Thanks to PVRIC4, Imagination is showing that it is leading the way with GPU design with a unique feature that pushes its already highly efficient architecture even further and provides a real-world benefit to device makers. It helps reduce image bandwidth and memory footprint by guaranteeing a 2:1 or better reduction in bandwidth and associated power consumption and a fixed 50% memory footprint reduction. Therefore, as SoC requirements continue to increase PVRIC4 will enable low-cost markets to keep memory/bandwidth costs in check, and for premium markets, to keep power consumption under control. The result is more affordable products, greater profit margins and better battery life.
PVRIC4 will arrive with our upcoming 2018 GPU releases, which I look forward to telling you about before the end of the year. What’s more, it can also be offered as stand-alone IP for our partners to integrate into their designs. It’s powerful, flexible and available for licensing now!