The BBC R&D Video Coding team will be actively participating in the upcoming IBC 2018 show in Amsterdam. We will be showcasing various aspects and results of our on-going work targeting improvements in faster delivery of better quality content. We will be engaged in a variety of events during the show, and will present research results, plus offer demos, and technical discussions for applications in new scenarios.
Content delivery is becoming progressively more challenging due to the increasingly demanding requirements coming from our audiences. Such demands have been driven by availability of higher resolution of content (beyond HD), the emergence of new services such as High Dynamic Range, High Frame Rate and 360° Video, coupled with the widespread use of devices that play video. BBC R&D is actively involved in various standardisation bodies which develop video coding standards to support this diverse range of uses.
Continuing the work that led to the development of the High Efficiency Video Coding/H.265 (HEVC) video compression standard, we are now actively participating in the activities to develop a new video coding standard: Versatile Video Coding (VVC). VVC is expected to further reduce the bit rates needed for compressing video content at the highest qualities. VVC development was officially initiated in March 2018, when the ISO/IEC Moving Picture Expert Group (MPEG) and the ITU-T Video Coding Expert Group (VCEG) joined efforts in a partnership called the Joint Video Experts Team (JVET).
We are also engaged in other initiatives that contribute towards video coding standards. In particular BBC R&D are members of the Alliance for Open Media (AOMedia) which aims to deliver royalty-free solutions. The AOMedia’s video coding AV1 standard was finalised earlier in 2018. We have also been researching and testing how these various video technologies perform, and what the subjective benefit of compressing content with different video codecs is. For this purpose, at IBC 2018 we will present a thorough study on subjective comparison of video compression performance obtained with HEVC, AV1, and the solution that enabled VVC development. The results of this study show that compression capabilities of AV1 and HEVC are similar. The work being carried out in JVET, on the other hand, seems to outperform both HM and AV1, proving that higher compression efficiency can be achieved and that the VVC standard will be able to deliver substantial coding advantages over available solutions. As for complexity, decoding times of HEVC are significantly lower than for other tested solutions, while the encoding complexity of AV1 is much higher than the other tested codecs. As practical AV1 implementations get more and more mature, it is expected that faster implementations can reach realistic encoding times, ideally without significantly compromising the compression performance provided by this specification. More details on this study was presented in a conference paper during one of the conference sessions at IBC 2018.
When delivering video content, it is not only critical to use an established video coding standard to ensure that all viewers are able to correctly display the content, but it is also important to ensure that video encoders are available to effectively compress in a fast, reliable and cost-effective way. Thus, BBC R&D worked on developing the Turing codec: an HEVC software encoder compliant with the Main and Main10 profiles of the HEVC standard. The Turing codec was specifically optimised for retaining HEVC compression capabilities during fast encoding of high resolution video content. To support this, its code-base has to be as lightweight as possible in terms of execution time and memory consumption. The Turing codec is available as open source, so that our knowledge and expertise can be made available to the wider industry, for the good of the community and our audiences.
During the last year, we worked to make the Turing codec more efficient, leading to several new features and refinements being added to the encoder. The Turing codec was improved to support the segmentation necessary for delivering content with adaptive streaming solutions such as those based on the MPEG-DASH streaming format. Fast programming solutions, such as those based on so-called Just-In-Time (JIT) code routines, have been used to reduce the complexity of many encoder steps, including the prediction and transform necessary during the encoding loop. These advances led to further complexity optimisations which are necessary to compress large amounts of programmes. Moreover, the Turing codec is now capable of efficiently exploiting available computational resources, appropriately scaling to the number of cores available on machines being used for its deployment. Multiple frames can be encoded in parallel, with no effects on the quality of the decoded signals. This results in considerably faster encoding depending on the availability of processing cores.
A revised rate control module was implemented, capable of successfully allocating bits when dealing with the inherent parallelisation used to speed up the encoding. This results in high accuracy of the rate allocation even when encoding with high levels of parallelisation. Thanks to the flexibility of the encoder software structure, as well as the full control on its development, the Turing codec can be also further extended to implement advanced HEVC functionalities, including the HEVC temporal scalability. When this particular feature is enabled, frames can be classified in specific separate sub-layers during the encoding process. At the decoder side, either the whole bitstream can be decoded (producing a decoded sequence at a frame rate identical to the original sequence), or only a subset of the sub-layers, producing a decoded sequence with a lower frame rate than the original sequence.
Turing Codec Temporal Scalability
Similarly, content at a given frame rate may need to be upscaled at a higher frame rate. The HEVC standard provides a specific syntax element to signal whether, while decoding, each frame should be displayed multiple times. This would allow, for instance, content at 25 fps to be shown at 50 fps, where each decoded frame would be displayed twice. The Turing codec also provides such frame doubling functionality and appropriately signals the corresponding flags in the bitstream.
The Turing codec was also extended to support both High Dynamic Range (HDR) formats specified in ITU-R recommendation BT.2100 - the Hybrid Log Gamma (HLG) and the Perceptual Quantiser (PQ) formats. In particular, HLG is a scene referred transfer characteristic jointly developed by the BBC and NHK, whose transfer function is obtained by splicing a logarithmic curve over a gamma transfer function. The implementation is designed to insert the necessary syntax elements at every IRAP picture, which corresponds to a frame coded as intra and that is inserted at every shot change or bitstream splicing point. This is done to enable signalling of the proper dynamic range to be used in situations where the main content is in HDR, while some additional material is instead in standard dynamic range. Encoding of content in the HDR format is performed with the Main10 profile of HEVC which is capable of handling a bit depth of 10 bits per input sample, as in the case of HLG content.
The Turing codec will be showcased on the BBC R&D stand at IBC 2018. Comparison with other solutions will be presented to highlight the benefits of using the codec, while also showing its strengths in terms of parallelisation features, low memory requirements and flexibility in exploiting the available resources.
Our R&D work is used to bring enhanced and new experiences to our audiences. In particular, we made our technology available as part of our work within the COGNITUS Horizon 2020 project. COGNITUS aims at enabling usage of User Generated Content (UGC) within conventional broadcast chains, by means of new technology to enhance, produce and deliver multimedia content. Among various aspects which we have been involved in throughout the project, we contributed by refining and improving the Turing codec to make it suitable for the challenging applications envisaged by the COGNITUS team. The Turing codec is used during all phases of content processing involved within the COGNITUS architecture, from the professional format used by producers to make their programmes, to the compressed bitstreams that are delivered to the audiences using adaptive streaming solutions (such as MPEG-DASH).
The whole COGNITUS framework, including demos, and discussions, and examples of results will be presented on BBC R&D’s stand in the Future Zone at IBC in Amsterdam 13th-18th September 2018
This post is part of the Distribution Core Technologies section