posted on 2016-07-01, 00:00authored byAlberto Mannari
Huge quantities of data are continuously transmitted across the world to deliver news, data or simply something to watch on television. The amount of information transmitted everyday is exponentially growing, and speaking about multimedia content it is important to take into consideration the increase of quality too. Cameras are becoming more and more popular and now almost every phone embeds one so that everybody can easily take dozens of pictures or videos everyday, ready to be shared through messaging services or social networks. These cameras are able to record videos up to FullHD resolution or even higher, creating hours and hours of sequences that can quickly reach the size of many GigaBytes.
The constant growth of quality and size creates new challenges such as finding efficient ways to store and transmit them. Image and video compression are techniques that are part of our everyday life, even if most of us do not even notice it, allowing delivery and retrieval of incredibly large amount of data even from smartphones on a mobile connection. In order to achieve such a seamless integration, hardware and software have been continuously improved by bringing new encoding standards and dedicated hardware solutions.
This thesis is going to focus on the latest video coding standard High Efficiency Video Coding (HEVC or also H.265), which is taking the place of the previous standard H.264. This new standard allows even higher resolutions and frame rates, up to 8kx4k @ 120 fps, and this of course requires great computational resources if it needs to be done in real-time. Devices with limited power and computational resources such as smartphones or televisions struggle to seamlessly play or capture videos coded compliantly with that standard. New solutions need to be implemented to help hardware designers.
The Decoded Picture Buffer (DPB) is a memory location where encoders and decoders need to store uncompressed frames during the execution of their operations. With the highest HEVC level the DPB can be larger than 200 MB and if that memory needs to be embedded in a hardware encoder or decoder it will be very expensive and a big power drain. Since that memory also needs to be accessed thousands of times for every new compressed frame, the power consumption due to the read and write operations will be very high.
The aim of this research is to find a way to reduce the memory requirement and to reduce its power consumption by limiting the number of reading and writing operations. Due to the high throughput imposed by HD and UltraHD videos it is also important to keep the solution computationally simple and hardware-friendly so that its overhead will not affect the system performance.
The proposed solution implements a customized version of adaptive pulse code modulation (ADPCM), adapted to exploit hardware parallelization. Truncated bit packing (TBP) encoding system has been chosen to enable parallelism and guarantee a fixed compression ratio. TBP has been modified to solve some of its limitations such as its reduced flexibility compared to other solutions. A new organization of the memory also allows adaptive compression ratio (CR) to be used. This new feature is important to overcome some limitations of the completely fixed CR, without losing direct access to the desired block.
Results demonstrate how the proposed solution outperforms the reference algorithm by offering better features and higher quality. The hardware required for implementation is one of the simplest in literature, but the performance of the system will not be affected thanks to a structure tailored to the most efficient exploitation of the implemented resources.