High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a video compression standard, one of several potential successors to the widely used AVC (H.264 or MPEG-4 Part 10). In comparison to AVC, HEVC offers about double the data compression ratio at the same level of video quality, or substantially improved video quality at the same bit rate. It supports resolutions up to 8192×4320, including 8K UHD.
Video High Efficiency Video Coding
Concept
In most ways, HEVC is an extension of the concepts in H.264/MPEG-4 AVC. Both work by comparing different parts of a frame of video to find areas that are redundant, both within a single frame as well as subsequent frames. These redundant areas are then replaced with a short description instead of the original pixels. The primary changes for HEVC include the expansion of the pattern comparison and difference-coding areas from 16×16 pixel to sizes up to 64×64, improved variable-block-size segmentation, improved "intra" prediction within the same picture, improved motion vector prediction and motion region merging, improved motion compensation filtering, and an additional filtering step called sample-adaptive offset filtering. Effective use of these improvements requires much more signal processing capability for compressing the video, but has less impact on the amount of computation needed for decompression.
HEVC was developed by the Joint Collaborative Team on Video Coding (JCT-VC), a collaboration between the ISO/IEC MPEG and ITU-T VCEG. The ISO/IEC group refers to it as MPEG-H Part 2 and the ITU-T as H.265. The first version of the HEVC standard was ratified in January 2013 and published in June 2013. The second version, with multiview extensions (MV-HEVC), range extensions (RExt), and scalability extensions (SHVC), was completed and approved in 2014 and published in early 2015. Extensions for 3D video (3D-HEVC) were completed in early 2015, and extensions for screen content coding (SCC) were completed in early 2016 and published in early 2017, covering video containing rendered graphics, text, or animation as well as (or instead of) camera-captured video scenes. In October 2017, the standard was recognized by a Primetime Emmy Engineering Award as having had a material effect on the technology of television.
HEVC contains technologies covered by patents owned by the organizations that participated in the JCT-VC. Implementing a device or software application that uses HEVC may require a license from HEVC patent holders. The ISO/IEC and ITU require companies that belong to their organizations to offer their patents on reasonable and non-discriminatory licensing (RAND) terms. Patent licenses can be obtained directly from each patent holder, or through patent licensing bodies, such as MPEG LA, HEVC Advance, and Velos Media. The combined licensing fees currently offered by all of the patent licensing bodies are higher than for AVC. The licensing fees are one of the main reasons HEVC adoption has been low on the web and is why some of the largest tech companies (Amazon, AMD, Apple, ARM, Cisco, Google, Intel, Microsoft, Mozilla, Netflix, Nvidia, and more) have joined the Alliance for Open Media, which aims to finalize the royalty-free alternative video coding format AV1 by the end of 2017.
Maps High Efficiency Video Coding
History
Previous work
In 2004, the ITU-T Video Coding Experts Group (VCEG) began significant study of technology advances that could enable creation of a new video compression standard (or substantial compression-oriented enhancements of the H.264/MPEG-4 AVC standard). In October 2004, various techniques for potential enhancement of the H.264/MPEG-4 AVC standard were surveyed. In January 2005, at the next meeting of VCEG, VCEG began designating certain topics as "Key Technical Areas" (KTA) for further investigation. A software codebase called the KTA codebase was established for evaluating such proposals. The KTA software was based on the Joint Model (JM) reference software that was developed by the MPEG & VCEG Joint Video Team for H.264/MPEG-4 AVC. Additional proposed technologies were integrated into the KTA software and tested in experiment evaluations over the next four years. MPEG and VCEG established a Joint Collaborative Team on Video Coding (JCT-VC) to develop the HEVC standard.
Two approaches for standardizing enhanced compression technology were considered: either creating a new standard or creating extensions of H.264/MPEG-4 AVC. The project had tentative names H.265 and H.NGVC (Next-generation Video Coding), and was a major part of the work of VCEG until its evolution into the HEVC joint project with MPEG in 2010.
The preliminary requirements for NGVC was the capability to have a bit rate reduction of 50% at the same subjective image quality compared with the H.264/MPEG-4 AVC High profile and computational complexity ranging from 1/2 to 3 times that of the High profile. NGVC would be able to provide 25% bit rate reduction along with 50% reduction in complexity at the same perceived video quality as the High profile, or to provide greater bit rate reduction with somewhat higher complexity.
The ISO/IEC Moving Picture Experts Group (MPEG) started a similar project in 2007, tentatively named High-performance Video Coding. An agreement of getting a bit rate reduction of 50% had been decided as the goal of the project by July 2007. Early evaluations were performed with modifications of the KTA reference software encoder developed by VCEG. By July 2009, experimental results showed average bit reduction of around 20% compared with AVC High Profile; these results prompted MPEG to initiate its standardization effort in collaboration with VCEG.
Standardization
A formal joint Call for Proposals on video compression technology was issued in January 2010 by VCEG and MPEG, and proposals were evaluated at the first meeting of the MPEG & VCEG Joint Collaborative Team on Video Coding (JCT-VC), which took place in April 2010. A total of 27 full proposals were submitted. Evaluations showed that some proposals could reach the same visual quality as AVC at only half the bit rate in many of the test cases, at the cost of 2-10× increase in computational complexity, and some proposals achieved good subjective quality and bit rate results with lower computational complexity than the reference AVC High profile encodings. At that meeting, the name High Efficiency Video Coding (HEVC) was adopted for the joint project. Starting at that meeting, the JCT-VC integrated features of some of the best proposals into a single software codebase and a "Test Model under Consideration", and performed further experiments to evaluate various proposed features. The first working draft specification of HEVC was produced at the third JCT-VC meeting in October 2010. Many changes in the coding tools and configuration of HEVC were made in later JCT-VC meetings.
On January 25, 2013, the ITU announced that HEVC had received first stage approval (consent) in the ITU-T Alternative Approval Process (AAP). On the same day, MPEG announced that HEVC had been promoted to Final Draft International Standard (FDIS) status in the MPEG standardization process.
On April 13, 2013, HEVC/H.265 was approved as an ITU-T standard. The standard was formally published by the ITU-T on June 7, 2013 and by the ISO/IEC on November 25, 2013.
On July 11, 2014, MPEG announced that the 2nd edition of HEVC will contain three recently completed extensions which are the multiview extensions (MV-HEVC), the range extensions (RExt), and the scalability extensions (SHVC).
On October 29, 2014, HEVC/H.265 version 2 was approved as an ITU-T standard. It was then formally published on January 12, 2015.
On April 29, 2015, HEVC/H.265 version 3 was approved as an ITU-T standard.
On June 3, 2016, HEVC/H.265 version 4 was consented in the ITU-T and was not approved during a vote in October 2016.
On December 22, 2016, HEVC/H.265 version 4 was approved as an ITU-T standard.
Patent licensing
On September 29, 2014, MPEG LA announced their HEVC license which covers the essential patents from 23 companies. The first 100,000 "devices" (which includes software implementations) are royalty free, and after that the fee is $0.20 per device up to an annual cap of $25 million. This is significantly more expensive than the fees on AVC, which were $0.10 per device, with the same 100,000 waiver, and an annual cap of $6.5 million. MPEG LA does not charge any fee on the content itself, something they had attempted when initially licensing AVC, but subsequently dropped when content producers refused to pay it. The license has been expanded to include the profiles in version 2 of the HEVC standard.
When the MPEG LA terms were announced, commenters noted that a number of prominent players were not part of the group. Among these were AT&T, Microsoft, Nokia, and Motorola. Speculation at the time was that these companies would form their own licensing pool to compete with or add to the MPEG LA pool. Such a group was formally announced on March 26, 2015 as HEVC Advance. The terms, covering 500 essential patents, were announced on July 22, 2015, with rates that depend on the country of sale, type of device, HEVC profile, HEVC extensions, and HEVC optional features. Unlike the MPEG LA terms, HEVC Advance reintroduced license fees on content encoded with HEVC, through a revenue sharing fee.
The initial HEVC Advance license had a maximum royalty rate of US$2.60 per device for Region 1 countries and a content royalty rate of 0.5% of the revenue generated from HEVC video services. Region 1 countries in the HEVC Advance license include the United States, Canada, European Union, Japan, South Korea, Australia, New Zealand, and others. Region 2 countries are countries not listed in the Region 1 country list. The HEVC Advance license had a maximum royalty rate of US$1.30 per device for Region 2 countries. Unlike MPEG LA, there was no annual cap. On top of this, HEVC Advance also charged a royalty rate of 0.5% of the revenue generated from video services encoding content in HEVC.
When they were announced, there was considerable backlash from industry observers about the "unreasonable and greedy" fees on devices, which were about seven times that of the MPEG LA's fees. Added together, a device would require licenses costing $2.80, twenty-eight times as expensive as AVC, as well as license fees on the content. This led to calls for "content owners [to] band together and agree not to license from HEVC Advance". Others argued the rates might cause companies to switch to competing standards such as Daala and VP9.
On December 18, 2015, HEVC Advance announced changes in the royalty rates. The changes include a reduction in the maximum royalty rate for Region 1 countries to US$2.03 per device, the creation of annual royalty caps, and a waiving of royalties on content that is free to end users. The annual royalty caps for a company is US$40 million for devices, US$5 million for content, and US$2 million for optional features.
On February 3, 2016, Technicolor SA announced that they had withdrawn from the HEVC Advance patent pool and would be directly licensing their HEVC patents.
On November 22, 2016, HEVC Advance announced a major initiative, revising their policy to allow software implementations of HEVC to be distributed directly to consumer mobile devices and personal computers royalty free, without requiring a patent license.
On March 31, 2017, Velos Media announced their HEVC license which covers the essential patents from Ericsson, Panasonic, Qualcomm Incorporated, Sharp, and Sony.
Versions
Versions of the HEVC/H.265 standard using the ITU-T approval dates.
- Version 1: (April 13, 2013) First approved version of the HEVC/H.265 standard containing Main, Main 10, and Main Still Picture profiles.
- Version 2: (October 29, 2014) Second approved version of the HEVC/H.265 standard which adds 21 range extensions profiles, two scalable extensions profiles, and one multi-view extensions profile.
- Version 3: (April 29, 2015) Third approved version of the HEVC/H.265 standard which adds the 3D Main profile.
- Version 4: (December 22, 2016) Fourth approved version of the HEVC/H.265 standard which adds seven screen content coding extensions profiles, three high throughput extensions profiles, and four scalable extensions profiles.
Implementations and products
2012
On February 29, 2012, at the 2012 Mobile World Congress, Qualcomm demonstrated a HEVC decoder running on an Android tablet, with a Qualcomm Snapdragon S4 dual-core processor running at 1.5 GHz, showing H.264/MPEG-4 AVC and HEVC versions of the same video content playing side by side. In this demonstration, HEVC reportedly showed almost a 50% bit rate reduction compared with H.264/MPEG-4 AVC.
2013
On February 11, 2013, researchers from MIT demonstrated the world's first published HEVC ASIC decoder at the International Solid-State Circuits Conference (ISSCC) 2013. Their chip was capable of decoding a 3840×2160p at 30 fps video stream in real time consuming under 0.1W of power.
On April 3, 2013, Ateme announced the availability of the first open source implementation of a HEVC software player based on the OpenHEVC decoder and GPAC video player which are both licensed under LGPL. The OpenHEVC decoder supports the Main profile of HEVC and can decode 1080p at 30 fps video using a single core CPU. A live transcoder that supports HEVC and used in combination with the GPAC video player was shown at the ATEME booth at the NAB Show in April 2013.
On July 23, 2013, MulticoreWare announced, and made the source code available for the x265 HEVC Encoder Library under the GPL v2 license.
On August 8, 2013, Nippon Telegraph and Telephone announced the release of their HEVC-1000 SDK software encoder which supports the Main 10 profile, resolutions up to 7680×4320, and frame rates up to 120 fps.
On November 14, 2013, DivX developers released information on HEVC decoding performance using an Intel i7 CPU at 3.5 GHz which had 4 cores and 8 threads. The DivX 10.1 Beta decoder was capable of 210.9 fps at 720p, 101.5 fps at 1080p, and 29.6 fps at 4K.
On December 18, 2013, ViXS Systems announced shipments of their XCode 6400 SoC which is the first SoC to support the Main 10 profile of HEVC.
2014
On April 5, 2014, at the NAB show, eBrisk Video, Inc. and Altera Corporation demonstrated an FPGA-accelerated HEVC Main10 encoder that encoded 4Kp60/10-bit video in real-time, using a dual-Xeon E5-2697-v2 platform.
On August 13, 2014, Ittiam Systems announces availability of its third generation H.265/HEVC codec with 4:2:2 12-bit support.
On September 5, 2014, the Blu-ray Disc Association announced that the 4K Blu-ray Disc specification will support 4K video at 60 fps, High Efficiency Video Coding, the Rec. 2020 color space, high dynamic range, and 10-bit color depth. 4K Blu-ray Disc will have a data rate of at least 50 Mbit/s and may include support for 66/100 GB discs. 4K Blu-ray Disc will be licensed in the spring or summer of 2015 and 4K Blu-ray Disc players have an expected release date of late 2015.
On September 9, 2014, Apple announced the iPhone 6 and iPhone 6 Plus which supports HEVC/H.265 for FaceTime over cellular.
On September 18, 2014, Nvidia released the GeForce GTX 980 (GM204) and GTX 970 (GM204), which includes Nvidia NVENC, the world's first HEVC hardware encoder in a discrete graphics card.
On October 31, 2014, Microsoft confirmed that Windows 10 will support HEVC out of the box, according to a statement from Gabriel Aul, the leader of Microsoft Operating Systems Group's Data and Fundamentals Team. Windows 10 Technical Preview Build 9860 added platform level support for HEVC and Matroska.
On November 3, 2014, Android Lollipop was released with out of the box support for HEVC using Ittiam Systems' software.
2015
On January 5, 2015, ViXS Systems announced the XCode 6800 which is the first SoC to support the Main 12 profile of HEVC.
On January 5, 2015, Nvidia officially announced the Tegra X1 SoC with full fixed-function HEVC hardware decoding.
On January 22, 2015, Nvidia released the GeForce GTX 960 (GM206), which includes the world's first full fixed function HEVC Main/Main10 hardware decoder in a discrete graphics card.
On February 23, 2015, Advanced Micro Devices (AMD) announced that their UVD ASIC to be found in the Carrizo APUs would be the first x86 based CPUs to have a HEVC hardware decoder.
On February 27, 2015, VLC media player version 2.2.0 was released with robust support of HEVC playback. The corresponding versions on Android and iOS are also able to play HEVC.
On March 31, 2015, VITEC announced the MGW Ace which was the first 100% hardware-based portable HEVC encoder that provides mobile HEVC encoding.
On August 5, 2015, Intel launched Skylake products with full fixed function Main/8bit decoding/encoding and hybrid/partial Main10/10bit decoding.
On August 20, 2015, Nvidia released the GeForce GTX 950 (GM206), which includes the full fixed function HEVC Main/Main10 hardware decoder like the GTX 960.
2016
On April 11, 2016, full HEVC (H.265) support was announced in the newest MythTV version (0.28).
On May 27, 2016, Nvidia released the GeForce GTX 1080 (GP104), which includes full fixed function HEVC Main10/Main12 hardware decoder.
On June 10, 2016, Nvidia released the GeForce GTX 1070 (GP104), which includes full fixed function HEVC Main10/Main12 hardware decoder.
On July 19, 2016, Nvidia released the GeForce GTX 1060 (GP106), which includes full fixed function HEVC Main10/Main12 hardware decoder.
On August 2, 2016, Nvidia released the Nvidia Titan X (GP102), which includes full fixed function HEVC Main10/Main12 hardware decoder.
On August 30, 2016, Intel officially announced 7th generation Core CPUs (Kaby Lake) products with full fixed function HEVC Main10 hardware decoding support.
On October 25, 2016, Nvidia released the GeForce GTX 1050Ti (GP107) and GeForce GTX 1050 (GP107), which includes full fixed function HEVC Main10/Main12 hardware decoder.
2017
On January 3, 2017, Intel officially announced 7th generation Core CPUs (Kaby Lake) desktop products with full fixed function HEVC Main10 hardware decoding support.
On March 10, 2017, Nvidia released the GeForce GTX 1080 Ti (GP102), which includes full fixed function HEVC Main10/Main12 hardware decoder.
On April 6, 2017, Nvidia released the Nvidia Titan Xp (GP102), which includes full fixed function HEVC Main10/Main12 hardware decoder.
On May 17, 2017, Nvidia released the GeForce GT 1030 (GP108), which includes full fixed function HEVC Main10/Main12 hardware decoder.
On June 5, 2017, Apple announced HEVC H.265 support in macOS High Sierra, iOS 11, tvOS, HTTP Live Streaming and Safari.
On June 25, 2017, Microsoft released a free HEVC app extension for Windows 10, enabling some Windows 10 devices with HEVC decoding hardware to play video using the HEVC format inside any app.
On August 21, 2017, Intel officially unveiled their 8th generation Core CPUs (Kaby Lake Refresh) mobile products with full fixed function HEVC Main10 hardware decoding support.
On September 19, 2017, Apple released iOS 11 and tvOS 11 with HEVC encoding & decoding support.
On September 25, 2017, Apple released macOS High Sierra with HEVC encoding & decoding support.
On September 28, 2017, GoPro released the Hero6 Black action camera, with 4K60P HEVC video encoding.
On October 5, 2017, Intel officially launched their 8th generation Core CPUs (Coffee Lake) desktop products with full fixed function HEVC Main10 hardware decoding support.
On November 2, 2017, Nvidia released the GeForce GTX 1070 Ti (GP104), which includes full fixed function HEVC Main10/Main12 hardware decoder.
On December 11, 2017, Intel officially launched their Pentium Silver & Celeron CPUs (Gemini Lake) desktop & mobile products with full fixed function HEVC Main10 hardware decoding support.
2018
Coding efficiency
The design of most video coding standards is primarily aimed at having the highest coding efficiency. Coding efficiency is the ability to encode video at the lowest possible bit rate while maintaining a certain level of video quality. There are two standard ways to measure the coding efficiency of a video coding standard, which are to use an objective metric, such as peak signal-to-noise ratio (PSNR), or to use subjective assessment of video quality. Subjective assessment of video quality is considered to be the most important way to measure a video coding standard since humans perceive video quality subjectively.
HEVC benefits from the use of larger coding tree unit (CTU) sizes. This has been shown in PSNR tests with a HM-8.0 HEVC encoder where it was forced to use progressively smaller CTU sizes. For all test sequences, when compared with a 64×64 CTU size, it was shown that the HEVC bit rate increased by 2.2% when forced to use a 32×32 CTU size, and increased by 11.0% when forced to use a 16×16 CTU size. In the Class A test sequences, where the resolution of the video was 2560×1600, when compared with a 64×64 CTU size, it was shown that the HEVC bit rate increased by 5.7% when forced to use a 32×32 CTU size, and increased by 28.2% when forced to use a 16×16 CTU size. The tests showed that large CTU sizes increase coding efficiency while also reducing decoding time.
The HEVC Main Profile (MP) has been compared in coding efficiency to H.264/MPEG-4 AVC High Profile (HP), MPEG-4 Advanced Simple Profile (ASP), H.263 High Latency Profile (HLP), and H.262/MPEG-2 Main Profile (MP). The video encoding was done for entertainment applications and twelve different bitrates were made for the nine video test sequences with a HM-8.0 HEVC encoder being used. Of the nine video test sequences, five were at HD resolution, while four were at WVGA (800×480) resolution. The bit rate reductions for HEVC were determined based on PSNR with HEVC having a bit rate reduction of 35.4% compared with H.264/MPEG-4 AVC HP, 63.7% compared with MPEG-4 ASP, 65.1% compared with H.263 HLP, and 70.8% compared with H.262/MPEG-2 MP.
HEVC MP has also been compared with H.264/MPEG-4 AVC HP for subjective video quality. The video encoding was done for entertainment applications and four different bitrates were made for nine video test sequences with a HM-5.0 HEVC encoder being used. The subjective assessment was done at an earlier date than the PSNR comparison and so it used an earlier version of the HEVC encoder that had slightly lower performance. The bit rate reductions were determined based on subjective assessment using mean opinion score values. The overall subjective bitrate reduction for HEVC MP compared with H.264/MPEG-4 AVC HP was 49.3%.
École Polytechnique Fédérale de Lausanne (EPFL) did a study to evaluate the subjective video quality of HEVC at resolutions higher than HDTV. The study was done with three videos with resolutions of 3840×1744 at 24 fps, 3840×2048 at 30 fps, and 3840×2160 at 30 fps. The five second video sequences showed people on a street, traffic, and a scene from the open source computer animated movie Sintel. The video sequences were encoded at five different bitrates using the HM-6.1.1 HEVC encoder and the JM-18.3 H.264/MPEG-4 AVC encoder. The subjective bit rate reductions were determined based on subjective assessment using mean opinion score values. The study compared HEVC MP with H.264/MPEG-4 AVC HP and showed that, for HEVC MP, the average bitrate reduction based on PSNR was 44.4%, while the average bitrate reduction based on subjective video quality was 66.5%.
In a HEVC performance comparison released in April 2013, the HEVC MP and Main 10 Profile (M10P) were compared with H.264/MPEG-4 AVC HP and High 10 Profile (H10P) using 3840×2160 video sequences. The video sequences were encoded using the HM-10.0 HEVC encoder and the JM-18.4 H.264/MPEG-4 AVC encoder. The average bit rate reduction based on PSNR was 45% for inter frame video.
In a video encoder comparison released in December 2013, the HM-10.0 HEVC encoder was compared with the x264 encoder (version r2334) and the VP9 encoder (version v1.2.0-3088-ga81bd12). The comparison used the Bjøntegaard-Delta bit-rate (BD-BR) measurement method, in which negative values tell how much lower the bit rate is reduced, and positive values tell how much the bit rate is increased for the same PSNR. In the comparison, the HM-10.0 HEVC encoder had the highest coding efficiency and, on average, to get the same objective quality, the x264 encoder needed to increase the bit rate by 66.4%, while the VP9 encoder needed to increase the bit rate by 79.4%.
In a subjective video performance comparison released in May 2014, the JCT-VC compared the HEVC Main profile to the H.264/MPEG-4 AVC High profile. The comparison used mean opinion score values and was conducted by the BBC and the University of the West of Scotland. The video sequences were encoded using the HM-12.1 HEVC encoder and the JM-18.5 H.264/MPEG-4 AVC encoder. The comparison used a range of resolutions and the average bit rate reduction for HEVC was 59%. The average bit rate reduction for HEVC was 52% for 480p, 56% for 720p, 62% for 1080p, and 64% for 4K UHD.
In a subjective video codec comparison released in August 2014 by the EPFL, the HM-15.0 HEVC encoder was compared with the VP9 1.2.0-5183 encoder and the JM-18.8 H.264/MPEG-4 AVC encoder. Four 4K resolutions sequences were encoded at five different bit rates with the encoders set to use an intra period of one second. In the comparison, the HM-15.0 HEVC encoder had the highest coding efficiency and, on average, for the same subjective quality the bit rate could be reduced by 49.4% compared with the VP9 1.2.0-5183 encoder, and it could be reduced by 52.6% compared with the JM-18.8 H.264/MPEG-4 AVC encoder.
In August, 2016, Netflix published the results of a large-scale study comparing the leading open-source HEVC encoder, x265, with the leading open-source AVC encoder, x264 and the reference VP9 encoder, libvpx. Using their advanced Video Multimethod Assessment Fusion (VMAF) video quality measurement tool, Netflix found that x265 delivered identical quality at bit rates ranging from 35.4% to 53.3% lower than x264, and from 17.8% to 21.8% lower than VP9.
Features
HEVC was designed to substantially improve coding efficiency compared with H.264/MPEG-4 AVC HP, i.e. to reduce bitrate requirements by half with comparable image quality, at the expense of increased computational complexity. HEVC was designed with the goal of allowing video content to have a data compression ratio of up to 1000:1. Depending on the application requirements, HEVC encoders can trade off computational complexity, compression rate, robustness to errors, and encoding delay time. Two of the key features where HEVC was improved compared with H.264/MPEG-4 AVC was support for higher resolution video and improved parallel processing methods.
HEVC is targeted at next-generation HDTV displays and content capture systems which feature progressive scanned frame rates and display resolutions from QVGA (320x240) to 4320p (7680x4320), as well as improved picture quality in terms of noise level, color spaces, and dynamic range.
Video coding layer
The HEVC video coding layer uses the same "hybrid" approach used in all modern video standards, starting from H.261, in that it uses inter-/intra-picture prediction and 2D transform coding. A HEVC encoder first proceeds by splitting a picture into block shaped regions for the first picture, or the first picture of a random access point, which uses intra-picture prediction. Intra-picture prediction is when the prediction of the blocks in the picture is based only on the information in that picture. For all other pictures, inter-picture prediction is used, in which prediction information is used from other pictures. After the prediction methods are finished and the picture goes through the loop filters, the final picture representation is stored in the decoded picture buffer. Pictures stored in the decoded picture buffer can be used for the prediction of other pictures.
HEVC was designed with the idea that progressive scan video would be used and no coding tools were added specifically for interlaced video. Interlace specific coding tools, such as MBAFF and PAFF, are not supported in HEVC. HEVC instead sends metadata that tells how the interlaced video was sent. Interlaced video may be sent either by coding each frame as a separate picture or by coding each field as a separate picture. For interlaced video HEVC can change between frame coding and field coding using Sequence Adaptive Frame Field (SAFF), which allows the coding mode to be changed for each video sequence. This allows interlaced video to be sent with HEVC without needing special interlaced decoding processes to be added to HEVC decoders.
- Color spaces
The HEVC standard supports color spaces such as generic film, NTSC, PAL, Rec. 601, Rec. 709, Rec. 2020, SMPTE 170M, SMPTE 240M, sRGB, sYCC, xvYCC, XYZ, and externally specified color spaces. HEVC supports color encoding representations such as RGB, YCbCr, and YCoCg.
Coding tools
Coding tree unit
HEVC replaces 16×16 pixel macroblocks, which were used with previous standards, with coding tree units (CTUs) which can use larger block structures of up to 64x64 samples and can better sub-partition the picture into variable sized structures. HEVC initially divides the picture into CTUs which can be 64×64, 32×32, or 16×16 with a larger pixel block size usually increasing the coding efficiency.
Parallel processing tools
- Tiles allow for the picture to be divided into a grid of rectangular regions that can independently be decoded/encoded. The main purpose of tiles is to allow for parallel processing. Tiles can be independently decoded and can even allow for random access to specific regions of a picture in a video stream.
- Wavefront parallel processing (WPP) is when a slice is divided into rows of CTUs in which the first row is decoded normally but each additional row requires that decisions be made in the previous row. WPP has the entropy encoder use information from the preceding row of CTUs and allows for a method of parallel processing that may allow for better compression than tiles.
- Tiles and WPP are allowed, but are optional. If tiles are present, they must be at least 64 pixels high and 256 pixels wide with a level specific limit on the number of tiles allowed.
- Slices can, for the most part, be decoded independently from each other with the main purpose of tiles being the re-synchronization in case of data loss in the video stream. Slices can be defined as self-contained in that prediction is not made across slice boundaries. When in-loop filtering is done on a picture though, information across slice boundaries may be required. Slices are CTUs decoded in the order of the raster scan, and different coding types can be used for slices such as I types, P types, or B types.
- Dependent slices can allow for data related to tiles or WPP to be accessed more quickly by the system than if the entire slice had to be decoded. The main purpose of dependent slices is to allow for low-delay video encoding due to its lower latency.
Other coding tools
- Entropy coding
HEVC uses a context-adaptive binary arithmetic coding (CABAC) algorithm that is fundamentally similar to CABAC in H.264/MPEG-4 AVC. CABAC is the only entropy encoder method that is allowed in HEVC while there are two entropy encoder methods allowed by H.264/MPEG-4 AVC. CABAC and the entropy coding of transform coefficients in HEVC were designed for a higher throughput than H.264/MPEG-4 AVC, while maintaining higher compression efficiency for larger transform block sizes relative to simple extensions. For instance, the number of context coded bins have been reduced by 8× and the CABAC bypass-mode has been improved in terms of its design to increase throughput. Another improvement with HEVC is that the dependencies between the coded data has been changed to further increase throughput. Context modeling in HEVC has also been improved so that CABAC can better select a context that increases efficiency when compared with H.264/MPEG-4 AVC.
- Intra prediction
HEVC specifies 33 directional modes for intra prediction compared with the 8 directional modes for intra prediction specified by H.264/MPEG-4 AVC. HEVC also specifies DC intra prediction and planar prediction modes. The DC intra prediction mode generates a mean value by averaging reference samples and can be used for flat surfaces. The planar prediction mode in HEVC supports all block sizes defined in HEVC while the planar prediction mode in H.264/MPEG-4 AVC is limited to a block size of 16x16 pixels. The intra prediction modes use data from neighboring prediction blocks that have been previously decoded from within the same picture.
- Motion compensation
For the interpolation of fractional luma sample positions HEVC uses separable application of one-dimensional half-sample interpolation with an 8-tap filter or quarter-sample interpolation with a 7-tap filter while, in comparison, H.264/MPEG-4 AVC uses a two-stage process that first derives values at half-sample positions using separable one-dimensional 6-tap interpolation followed by integer rounding and then applies linear interpolation between values at nearby half-sample positions to generate values at quarter-sample positions. HEVC has improved precision due to the longer interpolation filter and the elimination of the intermediate rounding error. For 4:2:0 video, the chroma samples are interpolated with separable one-dimensional 4-tap filtering to generate eighth-sample precision, while in comparison H.264/MPEG-4 AVC uses only a 2-tap bilinear filter (also with eighth-sample precision).
As in H.264/MPEG-4 AVC, weighted prediction in HEVC can be used either with uni-prediction (in which a single prediction value is used) or bi-prediction (in which the prediction values from two prediction blocks are combined).
- Motion vector prediction
HEVC defines a signed 16-bit range for both horizontal and vertical motion vectors (MVs). This was added to HEVC at the July 2012 HEVC meeting with the mvLX variables. HEVC horizontal/vertical MVs have a range of -32768 to 32767 which given the quarter pixel precision used by HEVC allows for a MV range of -8192 to 8191.75 luma samples. This compares to H.264/MPEG-4 AVC which allows for a horizontal MV range of -2048 to 2047.75 luma samples and a vertical MV range of -512 to 511.75 luma samples.
HEVC allows for two MV modes which are Advanced Motion Vector Prediction (AMVP) and merge mode. AMVP uses data from the reference picture and can also use data from adjacent prediction blocks. The merge mode allows for the MVs to be inherited from neighboring prediction blocks. Merge mode in HEVC is similar to "skipped" and "direct" motion inference modes in H.264/MPEG-4 AVC but with two improvements. The first improvement is that HEVC uses index information to select one of several available candidates. The second improvement is that HEVC uses information from the reference picture list and reference picture index.
- Inverse transforms
HEVC specifies four transform units (TUs) sizes of 4x4, 8x8, 16x16, and 32x32 to code the prediction residual. A CTB may be recursively partitioned into 4 or more TUs. TUs use integer basis functions that are similar to the discrete cosine transform (DCT). In addition 4x4 luma transform blocks that belong to an intra coded region are transformed using an integer transform that is derived from discrete sine transform (DST). This provides a 1% bit rate reduction but was restricted to 4x4 luma transform blocks due to marginal benefits for the other transform cases. Chroma uses the same TU sizes as luma so there is no 2x2 transform for chroma.
Loop filters
HEVC specifies two loop filters that are applied sequentially, with the deblocking filter (DBF) applied first and the sample adaptive offset (SAO) filter applied afterwards. Both loop filters are applied in the inter-picture prediction loop, i.e. the filtered image is stored in the decoded picture buffer (DPB) as a reference for inter-picture prediction.
- Deblocking filter
The DBF is similar to the one used by H.264/MPEG-4 AVC but with a simpler design and better support for parallel processing. In HEVC the DBF only applies to a 8x8 sample grid while with H.264/MPEG-4 AVC the DBF applies to a 4x4 sample grid. DBF uses a 8x8 sample grid since it causes no noticeable degradation and significantly improves parallel processing because the DBF no longer causes cascading interactions with other operations. Another change is that HEVC only allows for three DBF strengths of 0 to 2. HEVC also requires that the DBF first apply horizontal filtering for vertical edges to the picture and only after that does it apply vertical filtering for horizontal edges to the picture. This allows for multiple parallel threads to be used for the DBF.
- Sample adaptive offset
The SAO filter is applied after the DBF and is designed to allow for better reconstruction of the original signal amplitudes by applying offsets stored in a lookup table in the bitstream. Per CTB the SAO filter can be disabled or applied in one of two modes: edge offset mode or band offset mode. The edge offset mode operates by comparing the value of a sample to two of its eight neighbors using one of four directional gradient patterns. Based on a comparison with these two neighbors, the sample is classified into one of five categories: minimum, maximum, an edge with the sample having the lower value, an edge with the sample having the higher value, or monotonic. For each of the first four categories an offset is applied. The band offset mode applies an offset based on the amplitude of a single sample. A sample is categorized by its amplitude into one of 32 bands (histogram bins). Offsets are specified for four consecutive of the 32 bands, because in flat areas which are prone to banding artifacts, sample amplitudes tend to be clustered in a small range. The SAO filter was designed to increase picture quality, reduce banding artifacts, and reduce ringing artifacts.
Range extensions
Additional coding tool options have been added in the range extensions. This includes new definitions of profiles and levels:
- Profiles supporting bit depths beyond 10 bits per sample. Profiles that support a range of bit depths can use different bit depths for luma and chroma with YCbCr color spaces.
- Profiles that support 4:0:0 (monochrome), 4:2:2 (half-horizontal chroma resolution), and 4:4:4 (full chroma resolution) chroma sampling.
- Additional profiles supporting only all-intra coding and only still-picture coding for applications that do not need inter-picture (temporal) prediction.
- The Still Picture profiles can use an unbounded level, level 8.5, for which no limit is imposed on the picture size. Decoders for level 8.5 are not required to decode all level 8.5 bitstreams, since some may exceed their picture size capability.
Within these new profiles are enhanced coding features that include:
- High precision weighted prediction uses an increased precision for weighted prediction that increases the coding efficiency for fading video scenes at high bit depths.
- Cross-component prediction, using prediction between the chroma/luma components to improve coding efficiency. The reduction in bit rate can be up to 7% for YCbCr 4:4:4 video and up to 26% for RGB video. RGB video has a larger reduction in bit rate due to the greater correlation between the components.
- Intra smoothing disabling, allowing the neighbor region filtering process ordinarily applied in intra prediction to be disabled.
- Persistent Rice adaptation, using a Rice coding parameter derivation for entropy coding that has memory that persists across transform coefficient sub-block boundaries.
- Modifications of transform skip mode processing:
- Residual DPCM (RDPCM), allowing a vertical or horizontal spatial-predictive coding of residual data in transform skip and transform-quantization bypass blocks (which can be selected for use in intra blocks, inter blocks, or both).
- Transform skip block size flexibility, supporting block sizes up to 32x32 (versus only 4x4 support in version 1).
- Transform skip rotation, allowing the encoder to indicate a rotation of residual data for 4x4 transform skip blocks.
- Transform skip context enabling, using a separate context for entropy coding the indication of which blocks are coded using transform skipping.
- Extended precision processing, using an extended dynamic range for inter prediction interpolation and inverse transform.
- CABAC bypass alignment, allowing for the alignment of the data to a byte boundary before bypass decoding is supported in the High Throughput 4:4:4 16 Intra profile.
The second version of HEVC adds several supplemental enhancement information (SEI) messages which include:
- Color remapping information SEI message, provides information on remapping from one color space to a different color space. An example would be to preserve the artistic intent when converting wide color gamut (WCG) video from the Rec. 2020 color space for output on a Rec. 709 display. The color remapping information SEI message was proposed for future UHDTV applications. Multiple color remapping processes can be supported for different display scenarios.
- Knee function information SEI message, provides information on how to convert from one dynamic range to a different dynamic range. An example would be to compress the upper range of high dynamic range (HDR) video that has a luminance level of 800 cd/m2 for output on a 100 cd/m2 display. Multiple knee function processes can be supported for different display scenarios.
- Mastering display color volume SEI message, provides information on the color primaries and dynamic range of the display that was used to author the video.
- Time code SEI message, provides information on the time of origin when the video was recorded.
Screen content coding extensions
Additional coding tool options have been added in the March 2016 draft of the screen content coding (SCC) extensions:
- Adaptive color transform.
- Adaptive motion vector resolution.
- Intra block copying.
- Palette mode.
The ITU-T version of the standard that added the SCC extensions (approved in December 2016 and published in March 2017) added support for the Hybrid Log-Gamma (HLG) transfer function and the ICtCp color matrix. This allows the fourth version of HEVC to support both of the HDR transfer functions defined in Rec. 2100.
The fourth version of HEVC adds several supplemental enhancement information (SEI) messages which include:
- Alternative transfer characteristics information SEI message, provides information on the preferred transfer function to use. The primary use case for this would be to deliver HLG video in a way that would be backward compatible with legacy devices.
- Ambient viewing environment SEI message, provides information on the ambient light of the viewing environment that was used to author the video.
Profiles
Version 1 of the HEVC standard defines three profiles: Main, Main 10, and Main Still Picture. Version 2 of HEVC adds 21 range extensions profiles, two scalable extensions profiles, and one multi-view profile. HEVC also contains provisions for additional profiles. Extensions that were added to HEVC include increased bit depth, 4:2:2/4:4:4 chroma sampling, Multiview Video Coding (MVC), and Scalable Video Coding (SVC). The HEVC range extensions, HEVC scalable extensions, and HEVC multi-view extensions were completed in July 2014. In July 2014 a draft of the second version of HEVC was released. Screen content coding (SCC) extensions are under development for screen content video, which contains text and graphics, with an expected final draft release date of 2015.
A profile is a defined set of coding tools that can be used to create a bitstream that conforms to that profile. An encoder for a profile may choose which coding tools to use as long as it generates a conforming bitstream while a decoder for a profile must support all coding tools that can be used in that profile.
Version 1 profiles
Main
The Main profile allows for a bit depth of 8-bits per sample with 4:2:0 chroma sampling, which is the most common type of video used with consumer devices.
Main 10
The Main 10 profile allows for a bit depth of 8-bits to 10-bits per sample with 4:2:0 chroma sampling. HEVC decoders that conform to the Main 10 profile must be capable of decoding bitstreams made with the following profiles: Main and Main 10. A higher bit depth allows for a greater number of colors. 8-bits per sample allows for 256 shades per primary color (a total of 16.78 million colors) while 10-bits per sample allows for 1024 shades per primary color (a total of 1.07 billion colors). A higher bit depth allows for a smoother transition of color which resolves the problem known as color banding.
The Main 10 profile allows for improved video quality since it can support video with a higher bit depth than what is supported by the Main profile. Additionally, in the Main 10 profile 8-bit video can be coded with a higher bit depth of 10-bits, which allows improved coding efficiency compared to the Main profile.
Ericsson has stated that the Main 10 profile will bring the benefits of 10-bits per sample video to consumer TV. They also state that for higher resolutions there is no bit rate penalty for encoding video at 10-bits per sample. Imagination Technologies states that 10-bits per sample video will allow for larger color spaces and is required for the Rec. 2020 color space that will be used by UHDTV. They also state that the Rec. 2020 color space will drive the widespread adoption of 10-bits per sample video.
In a PSNR based performance comparison released in April 2013 the Main 10 profile was compared to the Main profile using a set of 3840×2160 10-bit video sequences. The 10-bit video sequences were converted to 8-bits for the Main profile and remained at 10-bits for the Main 10 profile. The reference PSNR was based on the original 10-bit video sequences. In the performance comparison the Main 10 profile provided a 5% bit rate reduction for inter frame video coding compared to the Main profile. The performance comparison states that for the tested video sequences the Main 10 profile outperformed the Main profile. The Main 10 profile was added at the October 2012 HEVC meeting based on proposal JCTVC-K0109 which proposed that a 10-bit profile be added to HEVC for consumer applications. The proposal stated that this was to allow for improved video quality and to support the Rec. 2020 color space that has become widely used in UHDTV systems and to be able to deliver higher dynamic range and color fidelity avoiding the banding artifacts. A variety of companies supported the proposal which included ATEME, BBC, BSkyB, CISCO, DirecTV, Ericsson, Motorola Mobility, NGCodec, NHK, RAI, ST, SVT, Thomson Video Networks, Technicolor, and ViXS Systems.
Main Still Picture
The Main Still Picture profile allows for a single still picture to be encoded with the same constraints as the Main profile. As a subset of the Main profile the Main Still Picture profile allows for a bit depth of 8-bits per sample with 4:2:0 chroma sampling. An objective performance comparison was done in April 2012 in which HEVC reduced the average bit rate for images by 56% compared to JPEG. A PSNR based performance comparison for still image compression was done in May 2012 using the HEVC HM 6.0 encoder and the reference software encoders for the other standards. For still images HEVC reduced the average bit rate by 15.8% compared to H.264/MPEG-4 AVC, 22.6% compared to JPEG 2000, 30.0% compared to JPEG XR, 31.0% compared to WebP, and 43.0% compared to JPEG.
A performance comparison for still image compression was done in January 2013 using the HEVC HM 8.0rc2 encoder, Kakadu version 6.0 for JPEG 2000, and IJG version 6b for JPEG. The performance comparison used PSNR for the objective assessment and mean opinion score (MOS) values for the subjective assessment. The subjective assessment used the same test methodology and images as those used by the JPEG committee when it evaluated JPEG XR. For 4:2:0 chroma sampled images the average bit rate reduction for HEVC compared to JPEG 2000 was 20.26% for PSNR and 30.96% for MOS while compared to JPEG it was 61.63% for PSNR and 43.10% for MOS.
A PSNR based HEVC performance comparison for still image compression was done in April 2013 by Nokia. HEVC has a larger performance improvement for higher resolution images than lower resolution images and a larger performance improvement for lower bit rates than higher bit rates. For lossy compression to get the same PSNR as HEVC took on average 1.4× more bits with JPEG 2000, 1.6× more bits with JPEG-XR, and 2.3× more bits with JPEG.
A compression efficiency study of HEVC, JPEG, JPEG XR, and WebP was done in October 2013 by Mozilla. The study showed that HEVC was significantly better at compression than the other image formats that were tested. Four different methods for comparing image quality were used in the study which were Y-SSIM, RGB-SSIM, IW-SSIM, and PSNR-HVS-M.
Version 2 profiles
Version 2 of HEVC adds 21 range extensions profiles, two scalable extensions profiles, and one multi-view profile: Monochrome, Monochrome 12, Monochrome 16, Main 12, Main 4:2:2 10, Main 4:2:2 12, Main 4:4:4, Main 4:4:4 10, Main 4:4:4 12, Monochrome 12 Intra, Monochrome 16 Intra, Main 12 Intra, Main 4:2:2 10 Intra, Main 4:2:2 12 Intra, Main 4:4:4 Intra, Main 4:4:4 10 Intra, Main 4:4:4 12 Intra, Main 4:4:4 16 Intra, Main 4:4:4 Still Picture, Main 4:4:4 16 Still Picture, High Throughput 4:4:4 16 Intra, Scalable Main, Scalable Main 10, and Multiview Main. All of the inter frame range extensions profiles have an Intra profile.
- Monochrome
The Monochrome profile allows for a bit depth of 8-bits per sample with support for 4:0:0 chroma sampling.
- Monochrome 12
The Monochrome 12 profile allows for a bit depth of 8-bits to 12-bits per sample with support for 4:0:0 chroma sampling.
- Monochrome 16
The Monochrome 16 profile allows for a bit depth of 8-bits to 16-bits per sample with support for 4:0:0 chroma sampling. HEVC decoders that conform to the Monochrome 16 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Monochrome 12, and Monochrome 16.
- Main 12
The Main 12 profile allows for a bit depth of 8-bits to 12-bits per sample with support for 4:0:0 and 4:2:0 chroma sampling. HEVC decoders that conform to the Main 12 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Monochrome 12, Main, Main 10, and Main 12.
- Main 4:2:2 10
The Main 4:2:2 10 profile allows for a bit depth of 8-bits to 10-bits per sample with support for 4:0:0, 4:2:0, and 4:2:2 chroma sampling. HEVC decoders that conform to the Main 4:2:2 10 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 10, and Main 4:2:2 10.
- Main 4:2:2 12
The Main 4:2:2 12 profile allows for a bit depth of 8-bits to 12-bits per sample with support for 4:0:0, 4:2:0, and 4:2:2 chroma sampling. HEVC decoders that conform to the Main 4:2:2 12 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Monochrome 12, Main, Main 10, Main 12, Main 4:2:2 10, and Main 4:2:2 12.
- Main 4:4:4
The Main 4:4:4 profile allows for a bit depth of 8-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. HEVC decoders that conform to the Main 4:4:4 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, and Main 4:4:4.
- Main 4:4:4 10
The Main 4:4:4 10 profile allows for a bit depth of 8-bits to 10-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. HEVC decoders that conform to the Main 4:4:4 10 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 10, Main 4:2:2 10, Main 4:4:4, and Main 4:4:4 10.
- Main 4:4:4 12
The Main 4:4:4 12 profile allows for a bit depth of 8-bits to 12-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. HEVC decoders that conform to the Main 4:4:4 12 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 10, Main 12, Main 4:2:2 10, Main 4:2:2 12, Main 4:4:4, Main 4:4:4 10, Main 4:4:4 12, and Monochrome 12.
- Main 4:4:4 16 Intra
The Main 4:4:4 16 Intra profile allows for a bit depth of 8-bits to 16-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. HEVC decoders that conform to the Main 4:4:4 16 Intra profile must be capable of decoding bitstreams made with the following profiles: Monochrome Intra, Monochrome 12 Intra, Monochrome 16 Intra, Main Intra, Main 10 Intra, Main 12 Intra, Main 4:2:2 10 Intra, Main 4:2:2 12 Intra, Main 4:4:4 Intra, Main 4:4:4 10 Intra, and Main 4:4:4 12 Intra.
- High Throughput 4:4:4 16 Intra
The High Throughput 4:4:4 16 Intra profile allows for a bit depth of 8-bits to 16-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. The High Throughput 4:4:4 16 Intra profile has an HbrFactor 12 times higher than other HEVC profiles allowing it to have a maximum bit rate 12 times higher than the Main 4:4:4 16 Intra profile. The High Throughput 4:4:4 16 Intra profile is designed for high end professional content creation and decoders for this profile are not required to support other profiles.
- Main 4:4:4 Still Picture
The Main 4:4:4 Still Picture profile allows for a single still picture to be encoded with the same constraints as the Main 4:4:4 profile. As a subset of the Main 4:4:4 profile the Main 4:4:4 Still Picture profile allows for a bit depth of 8-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling.
- Main 4:4:4 16 Still Picture
The Main 4:4:4 16 Still Picture profile allows for a single still picture to be encoded with the same constraints as the Main 4:4:4 16 Intra profile. As a subset of the Main 4:4:4 16 Intra profile the Main 4:4:4 16 Still Picture profile allows for a bit depth of 8-bits to 16-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling.
- Scalable Main
The Scalable Main profile allows for a base layer that conforms to the Main profile of HEVC.
- Scalable Main 10
The Scalable Main 10 profile allows for a base layer that conforms to the Main 10 profile of HEVC.
- Multiview Main
The Multiview Main profile allows for a base layer that conforms to the Main profile of HEVC.
Version 3 and higher profiles
Version 3 of HEVC added one 3D profile: 3D Main. The February 2016 draft of the screen content coding extensions added seven screen content coding extensions profiles, three high throughput extensions profiles, and four scalable extensions profiles: Screen-Extended Main, Screen-Extended Main 10, Screen-Extended Main 4:4:4, Screen-Extended Main 4:4:4 10, Screen-Extended High Throughput 4:4:4, Screen-Extended High Throughput 4:4:4 10, Screen-Extended High Throughput 4:4:4 14, High Throughput 4:4:4, High Throughput 4:4:4 10, High Throughput 4:4:4 14, Scalable Monochrome, Scalable Monochrome 12, Scalable Monochrome 16, and Scalable Main 4:4:4.
- 3D Main
The 3D Main profile allows for a base layer that conforms to the Main profile of HEVC.
- Screen-Extended Main
The Screen-Extended Main profile allows for a bit depth of 8-bits per sample with support for 4:0:0 and 4:2:0 chroma sampling. HEVC decoders that conform to the Screen-Extended Main profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, and Screen-Extended Main.
- Screen-Extended Main 10
The Screen-Extended Main 10 profile allows for a bit depth of 8-bits to 10-bits per sample with support for 4:0:0 and 4:2:0 chroma sampling. HEVC decoders that conform to the Screen-Extended Main 10 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 10, Screen-Extended Main, and Screen-Extended Main 10.
- Screen-Extended Main 4:4:4
The Screen-Extended Main 4:4:4 profile allows for a bit depth of 8-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. HEVC decoders that conform to the Screen-Extended Main 4:4:4 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 4:4:4, Screen-Extended Main, and Screen-Extended Main 4:4:4.
- Screen-Extended Main 4:4:4 10
The Screen-Extended Main 4:4:4 10 profile allows for a bit depth of 8-bits to 10-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. HEVC decoders that conform to the Screen-Extended Main 4:4:4 10 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 10, Main 4:2:2 10, Main 4:4:4, Main 4:4:4 10, Screen-Extended Main, Screen-Extended Main 10, Screen-Extended Main 4:4:4, and Screen-Extended Main 4:4:4 10.
- Screen-Extended High Throughput 4:4:4
The Screen-Extended High Throughput 4:4:4 profile allows for a bit depth of 8-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. The Screen-Extended High Throughput 4:4:4 profile has an HbrFactor 6 times higher than most inter frame HEVC profiles allowing it to have a maximum bit rate 6 times higher than the Main 4:4:4 profile. HEVC decoders that conform to the Screen-Extended High Throughput 4:4:4 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 4:4:4, Screen-Extended Main, Screen-Extended Main 4:4:4, Screen-Extended High Throughput 4:4:4, and High Throughput 4:4:4.
- Screen-Extended High Throughput 4:4:4 10
The Screen-Extended High Throughput 4:4:4 10 profile allows for a bit depth of 8-bits to 10-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. The Screen-Extended High Throughput 4:4:4 10 profile has an HbrFactor 6 times higher than most inter frame HEVC profiles allowing it to have a maximum bit rate 6 times higher than the Main 4:4:4 10 profile. HEVC decoders that conform to the Screen-Extended High Throughput 4:4:4 10 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 10, Main 4:2:2 10, Main 4:4:4, Main 4:4:4 10, Screen-Extended Main, Screen-Extended Main 10, Screen-Extended Main 4:4:4, Screen-Extended Main 4:4:4 10, Screen-Extended High Throughput 4:4:4, Screen-Extended High Throughput 4:4:4 10, High Throughput 4:4:4, and High Throughput 4:4:4.
- Screen-Extended High Throughput 4:4:4 14
The Screen-Extended High Throughput 4:4:4 14 profile allows for a bit depth of 8-bits to 14-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. The Screen-Extended High Throughput 4:4:4 14 profile has an HbrFactor 6 times higher than most inter frame HEVC profiles. HEVC decoders that conform to the Screen-Extended High Throughput 4:4:4 14 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 10, Main 4:2:2 10, Main 4:4:4, Main 4:4:4 10, Screen-Extended Main, Screen-Extended Main 10, Screen-Extended Main 4:4:4, Screen-Extended Main 4:4:4 10, Screen-Extended High Throughput 4:4:4, Screen-Extended High Throughput 4:4:4 10, Screen-Extended High Throughput 4:4:4 14, High Throughput 4:4:4, High Throughput 4:4:4 10, and High Throughput 4:4:4 14.
- High Throughput 4:4:4
The High Throughput 4:4:4 profile allows for a bit depth of 8-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. The High Throughput 4:4:4 profile has an HbrFactor 6 times higher than most inter frame HEVC profiles allowing it to have a maximum bit rate 6 times higher than the Main 4:4:4 profile. HEVC decoders that conform to the High Throughput 4:4:4 profile must be capable of decoding bitstreams made with the following profiles: High Throughput 4:4:4.
- High Throughput 4:4:4 10
The High Throughput 4:4:4 10 profile allows for a bit depth of 8-bits to 10-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. The High Throughput 4:4:4 10 profile has an HbrFactor 6 times higher than most inter frame HEVC profiles allowing it to have a maximum bit rate 6 times higher than the Main 4:4:4 10 profile. HEVC decoders that conform to the High Throughput 4:4:4 10 profile must be capable of decoding bitstreams made with the following profiles: High Throughput 4:4:4 and High Throughput 4:4:4 10.
- High Throughput 4:4:4 14
The High Throughput 4:4:4 14 profile allows for a bit depth of 8-bits to 14-bits per sample with support for 4:0:0, 4:2:0, 4:2:2, and 4:4:4 chroma sampling. The High Throughput 4:4:4 14 profile has an HbrFactor 6 times higher than most inter frame HEVC profiles. HEVC decoders that conform to the High Throughput 4:4:4 14 profile must be capable of decoding bitstreams made with the following profiles: High Throughput 4:4:4, High Throughput 4:4:4 10, and High Throughput 4:4:4 14.
- Scalable Monochrome
The Scalable Monochrome profile allows for a base layer that conforms to the Monochrome profile of HEVC.
- Scalable Monochrome 12
The Scalable Monochrome 12 profile allows for a base layer that conforms to the Monochrome 12 profile of HEVC.
- Scalable Monochrome 16
The Scalable Monochrome 16 profile allows for a base layer that conforms to the Monochrome 16 profile of HEVC.
- Scalable Main 4:4:4
The Scalable Main 4:4:4 profile allows for a base layer that conforms to the Main 4:4:4 profile of HEVC.
Tiers and levels
The HEVC standard defines two tiers, Main and High, and thirteen levels. A level is a set of constraints for a bitstream. For levels below level 4 only the Main tier is allowed. The Main tier is a lower tier than the High tier. The tiers were made to deal with applications that differ in terms of their maximum bit rate. The Main tier was designed for most applications while the High tier was designed for very demanding applications. A decoder that conforms to a given tier/level is required to be capable of decoding all bitstreams that are encoded for that tier/level and for all lower tiers/levels.
- A The maximum bit rate of the profile is based on the combination of bit depth, chroma sampling, and the type of profile. For bit depth the maximum bit rate increases by 1.5× for 12-bit profiles and 2× for 16-bit profiles. For chroma sampling the maximum bit rate increases by 1.5× for 4:2:2 profiles and 2× for 4:4:4 profiles. For the Intra profiles the maximum bit rate increases by 2×.
- B The maximum frame rate supported by HEVC is 300 fps.
- C The MaxDpbSize is the maximum number of pictures in the decoded picture buffer.
Decoded picture buffer
Previously decoded pictures are stored in a decoded picture buffer (DPB), and are used by HEVC encoders to form predictions for subsequent pictures. The maximum number of pictures that can be stored in the DPB, called the DPB capacity, is 6 (including the current picture) for all HEVC levels when operating at the maximum picture size supported by the level. The DPB capacity (in units of pictures) increases from 6 to 8, 12, or 16 as the picture size decreases from the maximum picture size supported by the level. The encoder selects which specific pictures are retained in the DPB on a picture-by-picture basis, so the encoder has the flexibility to determine for itself the best way to use the DPB capacity when encoding the video content.
Containers
MPEG has published an amendment which added HEVC support to the MPEG transport stream used by ATSC, DVB, and Blu-ray Disc; MPEG decided not to update the MPEG program stream used by DVD-Video. MPEG has also added HEVC support to the ISO base media file format. HEVC is also supported by the MPEG media transport standard. Support for HEVC was added to Matroska starting with the release of MKVToolNix v6.8.0 after a patch from DivX was merged. A draft document has been submitted to the Internet Engineering Task Force which describes a method to add HEVC support to the Real-time Transport Protocol.
Using HEVC's intra frame encoding, a still-image coded format called Better Portable Graphics (BPG) has been proposed by the programmer Fabrice Bellard. It is essentially a wrapper for images coded using the HEVC Main 4:4:4 16 Still Picture profile with up to 14 bits per sample, although it uses an abbreviated header syntax and adds explicit support for Exif, ICC profiles, and XMP metadata.
Patent license terms
License terms and fees for HEVC patents, compared with its main competitors:
Provision for costless software
Like its predecessor AVC, software which implements HEVC must pay a price per distributed copy.+ While this licensing model is unproblematic for paid software, it is an obstacle to most free and open-source software, which is crucially meant to be freely distributable. In the opinion of MulticoreWare, developers of x265, enabling royalty-free software encoders and decoders is in the interest of accelerating HEVC adoption. HEVC Advance made an exception that specifically waives the royalties on software-only implementations (both decoders and encoders) when not bundled with hardware. However, the exempted software is not free from license obligations until also exempted by MPEG LA and Technicolor.
While the obstacle to free software is no concern in for example TV broadcast networks, this problem, combined with the prospect of future collective lock-in to the format, makes several ideal organizations like Wikipedia, Mozilla (see OpenH264), and the European Free Software Foundation wary of royalty bearing formats for internet use. Competing formats intended for internet use (VP9 and the upcoming AV1) steer clear of these concerns by being royalty-free.
^+ : Regardless of how the software is licensed from the software authors (see software licensing), if what it does is patented, it is (additionally) bound by the patent holders' licenses.
Future Video Coding
In October 2015, MPEG and VCEG formed Joint Video Exploration Team (JVET) to evaluate available compression technologies and study the requirements for a next-generation video compression standard. The new algorithm should have 30-50% better compression rate for the same perceptual quality, with support for lossless and subjectively lossless compression. It should also support YCbCr 4:4:4, 4:2:2 and 4:2:0 with 10 to 16 bits per component, BT.2100 wide color gamut and high dynamic range (HDR) of more than 16 stops (with peak brightness of 1000, 4000 and 10000 nits), auxiliary channels (for depth, transparency, etc.), variable and fractional frame rates, scalable video coding for temporal (frame rate), spatial (resolution), SNR, color gamut and dynamic range differences, and multiview coding. Encoding complexity of 10 times that of HEVC is expected. JVET issued a final "Call for Proposals" in October 2017 and expects the final standard to be approved before the end of 2020.
See also
- UHDTV - digital television formats with resolutions of 4K / 2160p (3840×2160) and 8K / 4320p (7680×4320)
- Rec. 2020 - ITU-R Recommendation for UHDTV with standard dynamic range
- Rec. 2100 - ITU-R Recommendation for HDTV and UHDTV with high dynamic range
- Image file formats based on HEVC
- Better Portable Graphics - a file format for images based on HEVC
- High Efficiency Image File Format - a file format for images and image sequences based on HEVC
- Comparison of video codecs
- List of open-source codecs
- x265 - an open-source software implementation of HEVC
- List of multimedia (audio/video) codecs
- H.264/MPEG-4 AVC - the video standard predecessor of HEVC
- VP9 - an open format developed by Google as a competitor to HEVC
- AV1 - an open format that is being developed by the Alliance for Open Media as a successor to VP9 and a competitor to HEVC
- Daala - an open format that is being developed by Mozilla Foundation and Xiph.Org Foundation as a competitor to HEVC
- Dirac (video compression format) - an open format that is being developed by the BBC Research & Development as a competitor to HEVC
- Thor (video codec) - an open format that is being developed by Cisco as a competitor to HEVC
References
Citations
Bibliography
- G. J. Sullivan; J.-R. Ohm; W.-J. Han; T. Wiegand (December 2012). "Overview of the High Efficiency Video Coding (HEVC) Standard" (PDF). IEEE Transactions on Circuits and Systems for Video Technology. IEEE. 22 (12). Retrieved 2012-09-14.
- "H.265: High efficiency video coding". ITU. 2015-07-09. Retrieved 2015-08-02.
- J.-R. Ohm; G. J. Sullivan; H. Schwarz; T. K. Tan; T. Wiegand (December 2012). "Comparison of the Coding Efficiency of Video Coding Standards - Including High Efficiency Video Coding (HEVC)" (PDF). IEEE Trans. on Circuits and Systems for Video Technology. IEEE. 22 (12). Retrieved 2012-09-22.
- Philippe Hanhart; Martin Rerabek; Francesca De Simone; Touradj Ebrahimi (2012-08-13). "Subjective quality evaluation of the upcoming HEVC video compression standard" (PDF). École Polytechnique Fédérale de Lausanne (EPFL). Retrieved 2012-11-08.
-
- Related slides: Philippe Hanhart; Martin Rerabek; Francesca De Simone; Touradj Ebrahimi (2012-08-15). "Subjective quality evaluation of the upcoming HEVC video compression standard". slideshare.com. Retrieved 2012-11-08.
- Vivienne Sze; Madhukar Budagavi; G. J. Sullivan (2014). High Efficiency Video Coding (HEVC): Algorithms and Architectures. Integrated Circuit and Systems. Springer.
-
- Related slides: Vivienne Sze; Madhukar Budagavi (2014-06-01). "Design and Implementation of Next Generation Video Coding Systems (H.265/HEVC Tutorial)" (PDF). IEEE International Symposium on Circuits and Systems (ISCAS).
External links
- Official websites
- Fraunhofer Heinrich Hertz Institute HEVC website
- Joint Collaborative Team on Video Coding (JCT-VC)
- JCT-VC Document Management System
- Moving Picture Experts Group (MPEG) website
- ITU-T Recommendation H.265 - High Efficiency Video Coding
- Videos
- HEVC 4K Video Demonstration (DiVX)
- Standardization of High Efficiency Video Coding (HEVC)
- Motorola's Ajay Luthra discusses HEVC
- MainConcept HEVC Demonstration Video - IBC 2012
- Comparison Videos
- Tears_400_x265.mp4
- Tears_400_x264.mp4
- Tractor_500kbps_x265.mp4
- Tractor_500kbps_x264.mp4
- BigBuckBunny_2000hevc.mp4
- BigBuckBunny_2000h264.mp4
- http://kodi.wiki/view/Samples
- https://x265.com/hevc-video-files/
- http://www.libde265.org/downloads-videos/
- Bitrate Test Files
- Example HEVC bitstreams from NGCodec
- Videos in different resolutions/bitrates in HEVC/AAC multiplexed TS from Elecard
- Open Source and Free Codecs
- x265 - Open source HEVC/H.265 encoder (GNU GPL v2) bitbucket.org/multicoreware
- x265 - Open source HEVC/H.265 encoder (GNU GPL v2) multicoreware
- libde265 - Open HEVC/H.265 video codec implementation (LGPL) github.com/strukturag
- libde265 - Open HEVC/H.265 video codec implementation (LGPL) libde265.org
- OpenHEVC - Open source HEVC decoder github.com/OpenHEVC
- Kvazaar - Open source HEVC/H.265 encoder (LGPL) Tampere University of Technology (Finland)
- https://github.com/ultravideo/kvazaar
- f265 - Open source HEVC/H.265 encoder (BSD) 2016-01-11
- DivX's Free HEVC/H.265 Encoder and Decoder
- Codecs Products
- Cinemartin Cinec HEVC - H.265 encoder software for windows
- Lentoid - HEVC/H.265 Encoder/Decoder strongene
- x265.com - HEVC/H.265 encoder (GNU GPL v2) multicoreware
- Websites
- Intel's HEVC/H.265 Encoder, Decoder and Analysis Tools
- H2B2VS. HEVC Hybrid Broadcast Broadband Video Services. European R&D project on HEVC TV and Hybrid TV
- Elecard HEVC Analyzer - in-depth analysis tool for HEVC encoded video
Source of the article : Wikipedia