JVET-K0003 JVET AHG report: Test model software development (AHG3) [F. Bossen, X. Li, K. Sühring]
This report summarizes the activities of the AhG3 on Test model software development that has taken place between the 10th and 11th JVET meetings.
Initial versions of VTM and BMS were checked into SVN repositories. Versions 1.0 and 1.1 of both were released. JEM 7.2 was released, with a corresponding version of BMS (BMS-0), that can cross-decode bitstreams. Software development guidelines are proposed in JVET-K0461. Moving the software development from SVN to git (GitLab) was proposed.
The VTM software can be found at
https://jvet.hhi.fraunhofer.de/svn/svn_VVCSoftware_VTM/
The BMS software can be found at:
https://jvet.hhi.fraunhofer.de/svn/svn_VVCSoftware_BMS/
After three release candidates, VTM 1.0 and BMS 1.0 were tagged on May 17, 2018. This version reportedly reflected all meeting decisions regarding tool integration. Tools were removed by moving the code into macros, which were disabled. The BMS software still contained all disabled code. VTM 1.0 was derived from BMS 1.0 by stripping out the JEM_TOOLS macro.
VTM 1.1 and BMS 1.1 were tagged on June 1, 2018, with the following changes:
- WPSNR for HDR
- A fix for the SIMD config setting being ignored at the decoder
- A fix for ALF decoding with low QP values
- A fix for adaptive luma QP
- Fixes for config files
The following table shows VTM 1.0 performance over HM 16.18:
All Intra Main10 | |||||
Over HM 16.18 | |||||
Y | U | V | EncT | DecT | |
Class A1 | −5.06% | −9.60% | −10.38% | 860% | 102% |
Class A2 | −4.75% | −11.83% | −11.88% | 920% | 109% |
Class B | −3.38% | −12.53% | −13.55% | 982% | 113% |
Class C | −3.32% | −11.90% | −12.03% | 1139% | 119% |
Class E | −5.29% | −12.96% | −12.87% | 862% | 103% |
Overall | −4.19% | −11.86% | −12.29% | 961% | 110% |
Class D | −2.60% | −10.85% | −11.22% | 1104% | 110% |
Random Access Main 10 | |||||
Over HM 16.18 | |||||
Y | U | V | EncT | DecT | |
Class A1 | −10.44% | −14.37% | −15.90% | 253% | 78% |
Class A2 | −10.43% | −18.14% | −17.05% | 224% | 78% |
Class B | −7.53% | −17.60% | −16.91% | 206% | 76% |
Class C | −6.49% | −14.69% | −15.18% | 233% | 92% |
Class E | |||||
Overall | −8.42% | −16.28% | −16.28% | 225% | 81% |
Class D | −5.19% | −14.11% | −14.03% | 206% | 90% |
Low delay B Main10 | |||||
Over HM 16.18 | |||||
Y | U | V | EncT | DecT | |
Class A1 | |||||
Class A2 | |||||
Class B | −8.02% | −17.30% | −18.11% | 179% | 82% |
Class C | −7.18% | −12.84% | −14.36% | 202% | 97% |
Class E | −10.77% | −22.53% | −22.95% | 89% | 72% |
Overall | −8.43% | −17.12% | −18.07% | 156% | 84% |
Class D | −6.01% | −9.64% | −9.99% | 195% | 101% |
Low delay P Main10 | |||||
Over HM 16.18 | |||||
Y | U | V | EncT | DecT | |
Class A1 | |||||
Class A2 | |||||
Class B | −8.90% | −20.17% | −20.51% | 175% | 89% |
Class C | −7.44% | −14.02% | −15.18% | 191% | 102% |
Class E | −11.70% | −25.27% | −25.58% | 91% | 79% |
Overall | −9.11% | −19.40% | −20.00% | 153% | 90% |
Class D | −6.18% | −10.46% | −11.12% | 181% | 108% |
Full results for the VTM and BMS were attached to the AHG report as Excel files.
The JEM and the NextSoftware codebases were modified to allow bitstream cross-decoding. The resulting versions were released as JEM 7.2 and BMS-0, which was the initial check-in of the BMS:
https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-7.2/
https://jvet.hhi.fraunhofer.de/svn/svn_VVCSoftware_BMS/tags/BMS-0
An area was created in the BMS repository with restricted read and write access. Approximately 70 company accounts were created to allow access for CE participants. Base directories were created for each CE, in which the CE coordinators could create the appropriate branches for sub-CEs and test. 288 branches were created for CE software development.
Guidelines for software development were proposed in JVET-K0461. These guidelines were derived from guidelines previously used for HM software development, but contained several changes detailed in the document.
To improve the software development process, it was desirable to switch from subversion to git. Especially the GitLab environment provides many features that are helpful for CE software coordination:
- Personal accounts (instead of company account)
- Cloning of repositories for CEs and software submissions
- Merge requests
- Multiple level of access right management, i.e., CE coordinators can assign access rights themselves.
A GitLab server was set up by Fraunhofer HHI that could host the git repositories in the future. It allows user registration for contributing software after adoption, or for CEs.
The JEM bug tracker was extended to also allow filing bugs for VTM, BMS and specification text. It is now located at:
https://jvet.hhi.fraunhofer.de/trac/vvc
The old URLs will continue to work and are forwarding to the new location.
The bug tracker uses the same accounts as the HM software bug tracker. Users may need to log in again due to the different sub-domain. For spam fighting reasons account registration is only possible at the HM software bug tracker at
https://hevc.hhi.fraunhofer.de/trac/hevc
Contributors were asked to please file all issues related to the VVC reference software into the bug tracker. When doing this, they were asked to provide all the details that are necessary to reproduce the issue. Patches for solving issues and improving the software are always appreciated.
The AHG recommended to:
- Continue to develop the VTM reference software
- Encourage people to test VTM software more extensively outside of common test conditions.
- Encourage people to report all (potential) bugs that they are finding.
- Encourage people to submit bit-streams/test cases that trigger bugs in VTM.
- Adopt the proposed guidelines for software development
- Switch to a git server for software development
It was remarked that for RA configuration, the VTM decoder is actually faster than the HM decoder. This seemed to be the result of using larger block sizes, and possibly some difference in SIMD optimization.