JVET-R0003 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 17th and 18th JVET meetings.
VTM software development
VTM 7.2 was tagged on Jan. 17, 2020.
VTM 7.3 was tagged on Jan. 20, 2020.
After one release candidate, VTM 8.0 was tagged on Feb. 22, 2020.
VTM 8.1 was tagged during the 18th JVET meeting.
The following tables show VTM 8.0 performance over HM 16.20:
|
| All Intra |
|
| |
|
| Over HM-16.20 |
|
| |
Y | U | V | EncT | DecT | |
Class A1 | -27.89% | -39.05% | -39.30% | 1865% | 221% |
Class A2 | -27.49% | -29.04% | -26.48% | 2997% | 238% |
Class B | -20.99% | -32.87% | -37.24% | 3361% | 227% |
Class C | -21.74% | -25.20% | -28.82% | 4692% | 224% |
Class E | -25.16% | -31.46% | -30.65% | 2667% | 206% |
Overall | -24.09% | -31.32% | -32.82% | 3097% | 224% |
Class D | -17.64% | -19.95% | -20.14% | 5303% | 217% |
Class F | -38.68% | -43.85% | -46.26% | 5898% | 215% |
|
| Random access |
|
| |
|
| Over HM-16.20 |
|
| |
Y | U | V | EncT | DecT | |
Class A1 | -37.28% | -44.18% | -49.59% | 951% | 204% |
Class A2 | -41.45% | -46.23% | -44.78% | 1080% | 222% |
Class B | -34.02% | -53.72% | -51.85% | 991% | 192% |
Class C | -29.08% | -38.81% | -40.31% | 1280% | 200% |
Class E |
|
|
|
| |
Overall | -34.84% | -46.33% | -46.91% | 1070% | 202% |
Class D | -26.89% | -35.50% | -34.96% | 1411% | 203% |
Class F | -40.62% | -49.10% | -50.32% | 789% | 167% |
|
| Low delay B |
|
| |
|
| Over HM-16.20 |
|
| |
Y | U | V | EncT | DecT | |
Class A1 |
|
|
|
|
|
Class A2 |
|
|
|
| |
Class B | -30.05% | -46.77% | -45.16% | 882% | 192% |
Class C | -28.10% | -33.08% | -33.34% | 1015% | 178% |
Class E | -32.53% | -48.40% | -44.05% | 423% | 138% |
Overall | -30.02% | -42.62% | -40.94% | 769% | 172% |
Class D | -25.19% | -28.47% | -28.37% | 1050% | 189% |
Class F | -41.83% | -49.84% | -49.94% | 569% | 140% |
|
| Low delay P |
|
| |
|
| Over HM-16.20 |
|
| |
Y | U | V | EncT | DecT | |
Class A1 |
|
|
|
|
|
Class A2 |
|
|
|
| |
Class B | -34.44% | -49.05% | -47.56% | 792% | 199% |
Class C | -29.84% | -33.27% | -33.61% | 906% | 187% |
Class E | -35.30% | -51.00% | -47.14% | 404% | 143% |
Overall | -33.12% | -44.28% | -42.80% | 700% | 179% |
Class D | -26.69% | -28.64% | -28.40% | 949% | 194% |
Class F | -41.32% | -48.83% | -49.08% | 593% | 147% |
The following tables show VTM 8.0 performance compared to VTM 7.0:
|
| All Intra |
|
| |
|
| Over VTM-7.0 |
|
| |
Y | U | V | EncT | DecT | |
Class A1 | 0.50% | -8.28% | -8.23% | 114% | 128% |
Class A2 | 0.67% | -11.87% | -15.48% | 112% | 130% |
Class B | 0.35% | -16.13% | -13.68% | 115% | 123% |
Class C | 0.33% | -6.85% | -6.57% | 114% | 122% |
Class E | 0.32% | -11.88% | -5.54% | 113% | 125% |
Overall | 0.42% | -11.34% | -10.14% | 114% | 125% |
Class D | 0.22% | -6.67% | -5.31% | 117% | 116% |
Class F | 0.44% | -7.96% | -8.06% | 122% | 119% |
|
| Random access |
|
| |
|
| Over VTM-7.0 |
|
| |
Y | U | V | EncT | DecT | |
Class A1 | 0.07% | -6.93% | -6.95% | 115% | 118% |
Class A2 | 0.08% | -12.25% | -17.23% | 115% | 116% |
Class B | -0.04% | -18.85% | -15.02% | 112% | 113% |
Class C | -0.66% | -6.25% | -5.64% | 111% | 103% |
Class E |
|
|
|
| |
Overall | -0.16% | -11.79% | -11.35% | 113% | 112% |
Class D | -0.76% | -6.76% | -5.30% | 115% | 88% |
Class F | -0.30% | -5.29% | -5.32% | 122% | 106% |
|
| Low delay B |
|
| |
|
| Over VTM-7.0 |
|
| |
Y | U | V | EncT | DecT | |
Class A1 |
|
|
|
|
|
Class A2 |
|
|
|
| |
Class B | -0.32% | -20.85% | -18.23% | 114% | 115% |
Class C | -0.78% | -7.15% | -6.08% | 111% | 94% |
Class E | -1.87% | -15.88% | -6.66% | 105% | 88% |
Overall | -0.86% | -15.04% | -11.29% | 111% | 100% |
Class D | -0.98% | -7.37% | -5.90% | 108% | 77% |
Class F | -0.70% | -9.68% | -6.98% | 110% | 90% |
|
| Low delay P |
|
| |
|
| Over VTM-7.0 |
|
| |
Y | U | V | EncT | DecT | |
Class A1 |
|
|
|
|
|
Class A2 |
|
|
|
| |
Class B | -0.03% | -19.62% | -17.65% | 113% | 117% |
Class C | 0.11% | -5.40% | -4.86% | 108% | 96% |
Class E | -0.72% | -14.74% | -5.41% | 106% | 90% |
Overall | -0.16% | -13.66% | -10.33% | 110% | 103% |
Class D | -0.28% | -6.00% | -4.10% | 106% | 78% |
Class F | 0.07% | -8.01% | -5.66% | 110% | 92% |
Full results were attached to this AHG report as Excel files.
The following issue was highlighted as having been encountered during software development:
- It was noticed that the UseIdentityTableForNon420Chroma configuration parameter does not work as intended. This malfunction can greatly impact results encodings done with 4:2:2 and 4:4:4 chroma format. The issue was fixed shortly before the 18th JVET meeting.
Test results for version 8.1 were requested to be provided in a revision of JVET-R0003. However, such a revision had not yet been uploaded at the time of preparation of this report.
Status of implementation of proposals of previous JVET meetings
All previously open implementation issues from the 15th meeting had been resolved:
JVET-O1159 on scalable coding was reported to be resolved during the meeting 17th meeting.
The software for JVET-O1143 on subpictures was submitted on Jan. 21, 2020, including updates for adoptions of the 16th meeting.
Open issues from the 16th meeting were resolved except for two issues:
JVET-P0116: Each IRAP AU is complete (i.e., there is a picture in each layer present in the CVS) and all pictures in an IRAP AU are IRAP pictures with the same NAL unit type.
A decoder for checking completeness of access units was expected to be implemented. Proponents requested to further delay the implementation because a related specification issue was found. It was stated that a related proposal would be submitted to the 18th JVET meeting.
JVET-P0359: Add an SEI message that contains only a flag self_contained_cvs_flag in its syntax.
The proponents confirmed that the implementation was still open.
Status of proposals of the 17th JVET meeting (Brussels)
At the beginning of the 18th meeting the software AHG tracking list contains a number of meeting decisions that were not marked as implemented. With the arrangements for changing the meeting into an teleconference meeting and related AHG meetings starting earlier, the software coordinators did not find the time to contact proponents to check the status, e.g. whether the implementation was included with a different merge request, or if no implementation is required.
A table was provided listing all adoptions that were not marked as merged or specification only change. Relevant parties were requested to check with the software coordinators to resolve these (some of which may have already been resolved but not marked as such).
It is asserted that the first item (using the global maximum picture size to determine the DPB size) is required following the adoption of JVET-Q0814. Agreed. | |
It is asserted that the first part of the third item (using the global maximum picture size in computing limits instead of current picture size) is required following the adoption of JVET-Q0814. Agreed. | |
The fourth item proposes to use the cumulative worst-case picture size for all pictures in an AU to derive constraints on CPB removal time, etc. Agreed. | |
Sublayer wise dependency in multi-layer: when there is a dependent layer, there is an indication of the max_tid_il_ref_pics_plus1 that the layer depends on, and if that value is 0, inter-layer prediction uses only IRAP pictures. | |
Make the prediction weight table a fifth type of data that can be signalled either in the PH or SH (like ALF, deblocking, RPL, and SAO). | |
Disallow mixing of GDR and IRAP (Disallow mixing of GDR with any non-GDR). | |
Add a PPS flag to determine whether qp delta is sent in the PH or SH, like other things (e.g., ALF, deblocking, SAO). | |
The condition for calculation of AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] is modified to signal the value as a “minus1” for the 0-th entry. In the reference picture list, the short-term 0th entry cannot have a zero-valued delta POC, so the proposal this in a current condition check the semantics. (The other case is already there, so this is using the same equation as for when weighted prediction is not used.) | |
It proposes a way to associate filler data NAL units and filler payload SEI messages with subpictures. It was noted that these already have an association defined for association with VCL NAL units, and this should be sufficient to associate them with subpicture regions. Using this association and adding a CBR flag for the subpicture level information SEI message should be sufficient. The extraction process should account for the association. Add a CBR flag to the subpicture level info SEI message, and change the semantics and extraction process as described. | |
The general editorial changes regarding the specifictaion of NAL unit decoding order. | |
To add a syntax element sps_independent_subpics_flag in the SPS. When equal to 1 it specifies that all subpicture boundaries in the CLVS are treated as picture boundaries and there is no loop filtering across the subpicture boundaries. subpic_treated_as_pic_flag[ i ] and loop_filter_across_subpic_enabled_flag[ i ] are signalled only when sps_independent_subpics_flag is equal to 0. | |
When single_slice_per_subpic_flag is equal to 1, each subpicture should contain only one slice and the vertical slice boundaries shall also be tile boundaries. | |
When rect_slice_flag is equal to 1, the length of slice_address is specified to be Max( Ceil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) ), 1 ) bits, as opposed to be Ceil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) ) bits. Instead, condition the presence of the slice_address on NumSlicesInSubpic[ SubPicIdx ] being greater than 1. | |
Not to repeat HRD parameters info of OLSs containing only one layer in the VPS (in addition to signalling them in the SPS). | |
Only allow references to SPSs/PPSs/APSs that are in the current or lower layer that is in an OLS that includes the VCL NAL unit. Ye-Kui Wang is responsible for the providing text. B. Choi is to provide the conformance check for the decoder software. | |
Move ref wraparound offset syntax to the PPS and add a ref wraparound enable flag in the PPS, while maintaining the ref wraparound enable flag in the SPS, and introduce a variable to disable the ref wraparound operation when ref pic scaling is enabled for the current picture relative to the reference picture. | |
SPS constraint on VPS id: “The value of sps_video_parameter_set_id shall be the same in all SPSs that are referred to by CLVSs in a CVS.” | |
Establish the semantics of subpic_treated_as_pic_flag[ ] to allow SNR scalability with independent subpictures when subpictures are aligned. | |
Add a constraint on cabac_zero_word for subpictures treated as pictures to obey the bin-to-bit ratio on a subpicture basis. | |
Modification of the subpicture level SEI message semantics to impose a constraint on MinCR. | |
Add constraints for BitRate and number of tiles to the subpicture level SEI message. |
Bug tracking
The bug tracker for VTM and specification text is located at:
https://jvet.hhi.fraunhofer.de/trac/vvc
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
Participants were asked to please file all issues related to the VVC reference software into the bug tracker and to try to provide all the details, which 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
- Improve documentation, especially the software manual
- Resolve any normative issues resulting from the large number of integrations in the most recent development cycle
- 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.
- Encourage people to submit non-normative changes that reduce encoder run time without significantly sacrificing compression performance
- Make sure that contributions considered for adoption in the future are subject to adequate text and software review by the JVET at large
- Design and add configuration files to the VTM software for testing of HLS features
The runtime of 8.0 versus 7.0 was discussed. It was noted that there may have been relevant differences between 7.0 and 7.2 that affect this comparison.
F. Bossen indicated that the subpicture implementation seemed to be causing a runtime increase (perhaps related to memory allocation). This didn’t appear make technical sense, and was encouraged to be investigated.
In the meeting discussion it was noted that CCALF had substantially changed the balance of luma and chroma fidelity. It was commented that this is discussed in JVET-R0076. The QP mapping table or an overall offset can be used to adjust this. Reducing lambda for luma and increasing it for chroma would also be a possibility. See further notes for the Friday 24 April plenary.