HEVC Software Media Player for Ultra-High-Quality Video: 8Kand Beyond
Mauricio Alvarez-Mesa and Chi Ching Chi
Spin Digital Video Technologies GmbH, Helmholtzstr. 2-9, Berlin 10597. Germany
Keywords: HEVC, 8K, 16K, Software media player, Immersive media{mauricio,chi}@spin-digital.com
ABSTRACTA software media player for ultra-high-quality video
including 8K and 16K video is presented. It is based on ahigh-performance CPU-based HEVC decoder, and a highquality GPU-based video rendering engine. Experimental
results show that is possible to play up to 16Kp60 videousing a single workstation PC system.

1INTRODUCTION
A new generation of media applications is emerging
that requires an unprecedented level of quality, creating,as a result, a stronger sensation of reality, and offering amuch more immersive experience. Applications in thisdomain include Super-Hi-Vision 8K TV, next generation
Virtual Reality with high-resolution Head Mounted
Displays, and Large Screen Display systems with veryhigh resolutions including 8K and 16K [1].
These next generation media formats require very highresolution (8K and 16K), high frame rates (120 and 240
frames/s), and high-quality image formats including HighDynamic Range (HDR) and Wide Color Gamut (WCG);
features that, in turn, requires high bit-depth video (10- and12-bit) [2]. As a consequence, uncompressed video
results in huge data rates, as shown in Table 1.
Advanced video codecs are required to handle thissuper high-resolution video. The High Efficiency Video
Coding standard (HEVC), with its Range Extensions(RExt) addressed towards professional media, offers therequired compression efficiency [3,4]. The main
requirements of a HEVC implementation for highly
immersive media are: i) to provide high compression andvery high-quality, and, ii) at the same time, provide theperformance required for real-time playback.
In this paper we describe a software media player withthe capacity to decode and render very high-quality video
including 8Kp120 and 16Kp60 video in real-time. The
media player consists of a high-performance CPU-based
HEVC decoder, and high-quality GPU-based video
rendering engine, integrated into a complete media
playback solution.
2 SYSTEM DESIGN AND EXPERIMENT
A software media player based on the HEVC video codec
has been developed and optimized. The main componentsof the media player are the HEVC decoder and the Video
Rendering Engine:- HEVC decoder: we have developed an ultraoptimized HEVC decoder implementation. The decoder
is able to process high-quality 16K video in real-timeusing a CPU-only software solution. The HEVC decoder
software has been extensively optimized for modern
CPUs in order to achieve very high performance.
- Video Rendering Engine: we have developed arendering engine optimized for high resolution video
playback. It has been implemented using the DirectX-12
graphics API for Microsoft Windows systems. The video
rendering engine sends the decoded data from thedecoder’s output to the GPU, convert the decoder video
format into a pixel render format, and handles the displayof pixel data to the screen.
The main optimizations applied to the decoder andvideo renderer are:
2.1 Advanced Multithreading
Advanced multithreading has been implemented for
maximum performance and scalability of HEVC
decoding on multicore architectures with tens ofprocessor cores. Optimizations include special support
for multi-socket systems with NUMA memoryarchitectures.
2.2 Advanced SIMD Library
An advanced library of SIMD optimized modules has
been implemented for the SSE4, AVX2, and AVX-512
instruction sets, and for all main components of theHEVC decoder, including: inverse transform, intra
prediction, motion compensation, deblocking filter, andsample adaptive offset filter.
2.3 Bit-Packed Pixel Formats
Conventionally pixels or video samples are stored incomputer memory in multiple of 8-bits (byte). For the new
media applications that require more than 8-bits per
sample, the 10- and 12-bit samples are normally storedin 16-bits (2 bytes) of space.
Compared to 8-bit, in practice 10- and 12-bit doubles
the required memory size and, more importantly,memory and PCIe bandwidth. To alleviate this, we
introduced bit aligned formats where instead of storing
the 10- or 12-bit samples in 2 bytes, the samples are
stored directly after one another.

These formats can save potentially 37.5% and 25% on
required bandwidth and memory for 10- and 12-bit
respectively. Table 1 shows the bitrate of bit-packing
formats compared to byte packing formats for different 8K
and 16K video formats.
Table 1. Data rates for uncompressed 8K and 16K
video

for three different 8K video formats is presented in Figure
3 and compared to existing solutions. For thisexperiment we used a platform with an Intel Core i97960x (16-core) processor, 4x 8GB 3200Mhz memory,and a Nvidia Geforce GTX 1060 GPU. The software
platform consists of Windows 10 OS and Spin DigitalMedia Player v1.4-dev.

Resolution
WxH
frame rate

7680x
4320
60 Hz

7680x
4320
60Hz

7680x
4320
120 Hz15360x8640
60 Hz

4Chromaformat andbit depth

4:2:0
10-bit

4:4:4
12-bit

4:2:2
10-bit

4:2:0
10-bitBitratebyte packed[Gbit/s]

47.78

95.55

127.40

191.1

Bitratebit packed[Gbit/s]

29.86

71.66

79.63

119.4

2.4 Texture Compression Formats
In some applications the gains provided by bit-packing
are not enough to deliver the required performance.
For example, video playback with 16K resolution at 60
fps with a 4:2:0 10-bit format requires a bandwidth of 191.1
Gbit/s or 23.9 GB/s for planar format, and 119.4 Gbit/s or
14.9 GB/s MB/s for the bit-packed format. These data
rates are, however, higher than the practical maximum
data rate of the PCIe bus (which is 12 MB/s).
An extra reduction of memory bandwidth can beobtained by using lightweight compression methods suchas texture compression. GPUs have native support for arange of compressed pixel formats. The most suitable wefound for video use cases is the BC4 format [8].
3RESULTS
After applying all the above-mentioned optimizations, it
has been possible to playback very high-quality video
including: 8Kp120 and 16Kp60 using a software solution
based on commodity PC hardware.
Figures 1 and 2 present the performance impact of thebit-packing and BC4 compression formats respectively.
For the experiments we used a platform with an Intel Core
i9-7960x (16-core) processor, 4x 8GB 3200Mhz memory,and AMD Radeon WX 7100 GPU. The platform is basedon Windows 10 OS, and we have used Spin Digital SDK
v2.0
An 8K HEVC test sequence has been used with a bit
rate of 1Mb/frame (this translates to 60Mbps at 60Hz, and120Mbps at 120Hz).
The resulting performance for a complete media player

DISCUSSION
The described HEVC media player is the firstapplication able to decode, render, and playback ultrahigh-quality video in 8K and 16K resolution using asoftware solution. Two main use cases and contributions
are: i) playback of 8K video using compact desktopsystems, and ii) playback of 16K video using workstation
systems.
4.1 Compact 8Kp60 and 8Kp120 playback
The proposed solution is able to playback 8K video at
60 fps and 120 fps using a very compact solution basedon a multicore desktop CPU and a mid-range GPU.
This is the first system that can perform 8K playbackusing desktop CPUs (as opposed to server and high-end
workstation CPUs).
4.2 High-end 16Kp60 playback
The proposed solution is able to playback 16K video
at 60 fps (4:2:0, 10-bit, 400 Mbps) using a workstation
system based on dual-socket high performance CPUs
and a high-end multi-GPU configuration.
4.3 High bit-depth and High bit-rates
In addition to high resolution and frame rate theproposed player also supports high bit-depth (up to 12bit) required for HDR and WCG.
The proposed media player is based on a very flexible
software solution. It supports multiple video formats
including 4:2:0, 4:2:2, 4:4:4, and RGB. The performancescales very well with the number of CPU cores, allowing
the playback of very high bitrate and therefore highquality 8K and 16K video.
4.4 Advances Beyond the State-of-the-Art
Compared to state-of-the-art solutions based on
hardware GPU video decoders, the presented player
achieves higher performance (both in terms of frames
per second, and bitrate) and supports more formats asshown in Figure 3.
Compared to other works presented in the literature
the proposed HEVC media player not only obtains higher
performance HEVC decoding [6,7], but also includes anadvanced video rendering engine, which together createa complete media playback solution for ultra-high-quality
video.

CONCLUSIONS
An optimized software video player has beendeveloped and evaluated. It consists of a HEVC decoderthat runs on the CPU and a video render engine that runson the GPU. By performing extensive optimizations,
including, among others, compact pixel formats andlightweight pixel compression it has been possible toprovide the performance required for 8K and 16K highquality video playback using standard computing systems.

FPS56

ACKNOWLEDGEMENTS
This activity has received funding from the European
Union’s Horizon 2020 research and innovation programme
under grant agreement No 7620799 (www.immersify.eu).

420
10b

42012b422
10b42212b44412b

Decode byte fmt

Decode bit fmt

Render byte fmt

Render bit fmt

Fig. 1 Performance of compact pixel
formats
Performance in frames per second [fps] ofbyte-aligned formats (unpacked) comparedto the new bit packing formats for HEVC
decoding (decode byte/bit fmt) and video
rendering (Render byte/bit fmt), for different
chroma formats and bitdepths
350,0300,0250,0FPS

7 REFERENCES[1] M. Sugawara, UHDTV Image Format for Better Visual
Experience, Proceedings of the IEEE, vol. 101, no. 1,pp 8-17, 2013.
[2] M. Sugawara, S. Y. Choi and D. Wood, Ultra-HighDefinition Television (Rec. ITU-R BT.2020): A
Generational Leap in the Evolution of Television,
IEEE Signal Processing Magazine, vol. 31, no. 3, pp.
170-174, May 2014[3] Sullivan, G.J., Ohm, J., Han W.-J., and Wiegand, T.,
Overview of the High Efficiency Video Coding (HEVC)
Standard, IEEE Transactions on Circuits andSystems for Video Technology, vol. 22, no. 12, pp.
1649-1668, Dec. 2012
[4] Flynn, D., Marpe, D., Naccari, M., Nguyen, T.,
Rosewarne, C., Sharman, K., Sole, J., Xu, J.,
Overview of the Range Extensions for the HEVC
Standard: Tools, Profiles and Performance, IEEE
Transactions on Circuits and Systems for Video
Technology, vol. 26, no. 1, pp. 4-19, Jan. 2015
[5] C. C. Chi, M. Alvarez-Mesa, B. Juurlink, G. Clare, F.
Henry, S. Pateux, and T. Schierl., Parallel Scalabilityand Efficiency of HEVC Parallelization Approaches,
IEEE Transactions on Circuits and Systems for Video
Technology, vol. 22, no. 12, pp. 1827-1838, Dec.
2012.
[6] C. C. Chi, M. Alvarez-Mesa, B. Bross, B. Juurlink andT. Schierl, SIMD Acceleration for HEVC Decoding,IEEE Transactions on Circuits and Systems for Video
Technology, vol. 25, no. 5, pp. 841-855, Oct. 2014
[7] W. Hamidouche and M. Raulet and O. Déforges.
Multi-core Software Architecture for the Scalable
HEVC Decoder, IEEE International Conference onAcoustics, Speech, and Signal Processing ICASSP,
PP. 7545-7549, May 2014[8] Microsoft. Block Compression (Direct3D 10).
https://msdn:microsoft:com/en-us/
library/windows/desktop/bb694531(v=vs:85):aspx

180,0160,0140,0120,0100,080,060,040,020,00,0200,0150,0100,050,00,0420 10bPlanar

422 10bBit

444 10bBC4Fig. 2 Performance of compressed format
Performance in frames per second [FPS] fortexture compressed formats (BC4) for video
rendering compared to unpacked format(Planar) and bit packed format (Bit), fordifferent chroma formats and bitdepths

100FPS

8060

40200VLC 3.0.0*

MPC-BE
1.5.2*

Spin Player
1.2

8Kp60, 4:2:0, 10-bit, 120 Mbps
8Kp60, 4:2:2, 10-bit, 160 Mbps
8Kp60, 4:4:4, 10-bit, 200 Mbps
Fig. 3 Spin Digital Media Player
Performance for 8K Video
Performance in frames per second [FPS] ofSpin Digital Player (Spin Player) comparedto two open source media players: VLC andMPC-BE which use HEVC hardware
decoders based on GPU.