
Delivering more video, to more users – HEVC to the rescue
Cisco Visual Networking Index (VNI) predicts that by 2017, consumer Internet video traffic will constitute 69% of all consumer internet traffic. Sustaining this traffic growth without sacrificing user experience will require a network infrastructure upgrade – unless we can find a way to squeeze more video in existing network bandwidth.
This is where High Efficiency Video Coding (HEVC) comes in. HEVC is a technology which promises to deliver the same quality video as the widely popular H.264 standard but at roughly half the bandwidth. This article will provide a brief overview of this new compression technology and its expected market adoption.
Video compression – The balancing act
Video compression works by exploiting various forms of redundancies inherent in a video stream and not surprisingly, impacts quality adversely. In general, video compression algorithms strike a balance across three dimensions: output bit-rate, computational complexity and quality – where each algorithm falls on that curve, or surface, depends upon the application.
For instance, in production environments video codecs maintain high quality or even lossless compression at expense of high bit-rate, which is not a concern over mostly-private networks. Distribution environments, on the other hand, employ codecs that tilt the balance in favour of bit-rate savings over quality. Similarly, real-time codecs have to keep computational complexity high on the list of concerns while off-line codecs do not.
For equivalent quality, HEVC aims to provide much higher compression. From the discussion above, it is clear that HEVC encoding will require substantially higher processing resources. One way to deal with this computational burden is to make use of modern multicore processors by splitting the work across multiple parallel tasks – and portions of the HEVC standard have been designed to take advantage of parallel execution.
Introduction to HEVC
Just like its predecessors, HEVC follows a predictable pattern of doubling the compression efficiency over previous generation codecs. The following description provides a high level introduction to some of the concepts that are responsible for HEVC’s coding efficiency. For a more in depth review, please see the resources section.
next; HEVC technical insights
HEVC – Technical highlights
Variable size coding blocks. Compared to H.264 which has a fixed-size 16×16 pixels macroblock, HEVC supports a flexible coding structure called coding-tree units (CTU) that can go up to 64×64 pixels and can be flexibly partitioned further into coding units (Figure 1). Variable block sizes provide more flexibility in adapting coding unit size to content – regions with more details can use smaller sizes while areas with fewer details, such as background, can be encoded with larger blocks. Support for larger block sizes provides more compression efficiency – this is especially significant when encoding higher resolution pictures. This is why HEVC is touted as one of the key technology enablers of UltraHD resolution content.
Figure 1. CTU and its partitioning.
Intraframe prediction. In contrast to a maximum of 10 intra-prediction modes used in H.264, HEVC more than triples the number to 35 modes, which provides more options in choosing the optimal prediction mode that minimises the residual error and thereof bits transmitted (Figure 2). This flexibility, however, comes at a cost; by significantly expanding the search space for intra prediction modes this increases the computational burden. At the same time it also leaves room for differentiating encoders, which can implement clever algorithms to prune this large search space and strike an optimal balance between computation time and quality.
Figure 2. HEVC versus H.264 intra prediction modes.
Interframe prediction. H.264 uses a 16×16 macroblock with varying shape and size in order to look for temporal redundancy and motion between successive video frames. HEVC replaces this partitioning scheme with a more flexible quad-tree structure that gives better refinement in expressing motion. Each tree block can be up to 64×64 pixels providing more efficiency in encoding coarse or less detailed predictions. For detailed areas, smaller blocks can be used to preserve quality and sharpness.
Parallel processing. Although HEVC is significantly more complex than other video codecs, it has design elements to overcome this computational burden by enabling concurrent processing across multiple cores of modern CPU architectures. To accomplish this, considerations have been made in the specification to remove interdependency between some of the processing operations. For the overall encoding task, in addition to slice-based encoding found in H.264, HEVC supports tile based coding and a new technique called wavefront parallel processing (WPP). In tile based coding a frame is divided into rectangular regions each of which can be processed independently in a coarse-grain parallel fashion. In WPP, a given slice is divided into rows of coding units each of which can be worked on by a separate processing thread, provided each thread starts with well defined lag from the previous row thread – this provides a finer granularity of parallelism. Depending on the processor architecture and hardware resources, a combination of these techniques can be used to achieve the best processor utilisation.
Transforms. In the encoding process, transforms are performed on prediction errors so that errors can be represented by fewer coefficients. HEVC supports up to 32×32 size transforms as opposed to AVC, which supports transform sizes only up to 8×8. Larger transforms in HEVC contribute to coding efficiency gains and also provide more room for SIMD optimisations on modern processors.
Entropy coding. HEVC allows only single entropy encoding schemes called context adaptive binary arithmetic coding (CABAC) while H.264 allows lower efficiency context adaptive variable length coding (CAVLC) in addition to CABAC. In HEVC, several enhancements have been made in this area to improve throughput by reducing data dependencies thereby facilitating parallel operations.
In-Loop filters. A deblocking filter is applied at the decoder to smooth out any blocking artifacts arising from block-based encoding. Compared to H.264, the deblocking filtering in HEVC is performed on a larger block size and is done separately, which reduces the number of computations and enables them to be done in parallel. In HEVC, a new filter called sample adaptive offset (SAO) is applied after the deblocking filter to improve picture quality and reduce ringing artifacts.
next; current industry landscape and outlook
Current industry landscape
Market demand and technical drivers for HEVC adoption are real but in order to make a solid business case for mass deployment, the HEVC processing challenge, specifically for encoding, needs to be addressed. With the processing capability available in today’s mobile devices and other end equipments, decoding HEVC streams does not pose any significant challenges. This is not the case for encoding when operators grapple with cost and power per channel. And for some applications, such as video surveillance where a camera is sending encoded stream to the infrastructure, even the size of the solution is a big concern. Today almost all HEVC encoding solutions are based on a software implementation but just as in the case of H.264, hardware accelerated solutions are not far away – and when they come, HEVC adoption is expected to pick up.
HEVC – Future advancements
A number of companies are hard at work in making contributions and enhancements to the HEVC standard and version two of the standard is expected to be released early in 2014. Just like H.264, we can expect the HEVC standard to evolve over next several years to include improvements targeting specific problem domains or market segments. Some areas of improvement include:
– Range extensions to include bit depth of 12-bits or higher and more dense 4:2:2, 4:4:4 chroma subsampling. Higher bit depths and chroma subsampling are widely used in production and contribution segments and these features will also be important in providing a rich viewing experience on UltraHD and beyond TV sets.
– Scalable Video Coding (SVC) to enable layered coding structure that provides flexibility in resolution, frame rate and quality so clients operating in different environments can choose the most appropriate stream to decode.
– Multiview Video Coding (MVC) for encoding video and associated depth data from multiple angles, a technique that is used in 3D video systems.
Conclusion
Together with big data, video will continue to play a dominating role in the emerging Internet landscape. Because of the sheer volume of bits that video consumes, any technology that promises to save video storage space or transmission bandwidth is an attractive proposition. Against this backdrop, the HEVC standard holds tremendous potential in alleviating today’s infrastructure bottlenecks. While the benefits of HEVC are clear, many are still waiting to see the impact of added costs imposed by HEVC’s computational complexity. Accelerated solutions which can bring down the cost per channel figures, are still a few years away, especially for HEVC encode. For early market movers, it is therefore imperative to choose a platform that offers flexibility to incorporate new features and scalability to address tomorrow’s needs as the standard evolves.
Reference
Overview of the High Efficiency Video Coding (HEVC) Standard. Gary J. Sullivan, Fellow, IEEE, Jens-Rainer Ohm, Member, IEEE, Woo-Jin Han, Member, IEEE, and Thomas Wiegand, Fellow, IEEE. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012
About the Author
Atul Verma is DSP business manager, video infrastructure and conferencing, for Texas Instruments. Atul is responsible for managing the DSP product line for video infrastructure and conferencing segments. Prior to his role in TI’s multicore processors group, Atul served as an Engineering Manager for TI’s Single Core processors business. He joined TI in 2004 and has led software development teams across a number of technology projects. Atul has an extensive background in embedded software development, telecommunications and data networking. He received his bachelor’s degree in computer science from IIT-BHU, India and master’s degree in computer science from Virginia Commonwealth University. He also holds MBA degree from Smith School of Business, University of Maryland.
