JVET-AO0006 JVET AHG report: ECM software development (AHG6) [V. Seregin (chair), J. Chen, R. Chernyak, F. Le Léannec, K. Zhang (vice-chairs)]
- Software development
ECM software repository is located at https://vcgit.hhi.fraunhofer.de/ecm/ECM.
ECM software is based on VTM-10.0 with enabled MCTF including the update from JVET-V0056, and GOP32, which is very close to VTM-11.0.
VTM-11.0ecm anchor https://vcgit.hhi.fraunhofer.de/ecm/ECM/-/tree/VTM11_ANC is used for ECM performance evaluation.
The following changes were integrated into ECM-19.0:
JVET-AN0168: Regression CCP fusion (Test 2.8a) [MR 962]
JVET-AN0101: Remove single model for ALF-CCCM (Test-5.3a) [MR 964]
JVET-AN0095: Quantization center shift (Test-4.2c*) [MR 965]
JVET-AN0121: split_cu_flag context change (Test 1.1g) [MR 968]
JVET-AN0098: Regularization for ALF-CCCM (Test 5.1a) [MR 967]
JVET-AN0093: Joint reordering GPM with affine and intra prediction (Test 3.4a) [MR 969]
JVET-AN0236: Generated merge candidates based on template cost (Test 3.1) [MR 966]
JVET-AN0203: Move RGPM to group 2 and add TM off implementation [MR 970]
JVET-AN0090: Adaptive subsampling filter selection for CCLM/intra-CCCM/ALF-CCCM (Test 2.6a) [MR 971]
JVET-AN0214: CABAC contexts retraining using ECM-18 data [MR 973]
JVET-AN0158: Longer tap interpolation filtering (Test 2.4) [MR 974]
Fixes:
Fix number of non zeroed-out coefficients to be encoded by RDOQ in LFNST/NSPT case [MR 960]
Collection of bugfixes [MR 961]
Bugfixes related to IBC and similar technologies [MR 963]
Fix JVET-AM0138 for 12 bit [MR 959]
Bugfix TIMD Intra merge [MR 958]
Fix decoder mismatch/crash in JVET_AM0138_ENHANCED_TMP_MERGE_LIST_TIMD_BV [MR 957]
Fixed CABAC bits statistics in ECM decoder [MR 956]
The following changes were integrated into VTM-11.0ecm anchor:
Use enum for split type [MR 955]
ECM-19.0 and VTM-11.0ecm19.0 were tagged on November 11, 2025.
CTC Performance
In this section, the ECM test results following the ECM SDR CTC configurations described in JVET-AI2017 are summarized.
ECM-19.0 performance over ECM-18.0 anchor is summarized in the tables below.
All Intra Main 10 | |||||||
Over ECM-18.0 | |||||||
Y | U | V | EncT | DecT | EncVmPeak | DecVmPeak | |
Class A1 | -0.06% | 0.23% | 0.23% | 100.2% | 104.1% | 100.4% | 100.3% |
Class A2 | -0.09% | -0.23% | -0.20% | 98.5% | 103.2% | 100.6% | 100.4% |
Class B | -0.06% | 0.19% | 0.37% | 95.8% | 96.5% | 98.5% | 100.2% |
Class C | -0.13% | 0.04% | 0.02% | 98.5% | 102.9% | 100.6% | 100.1% |
Class E | -0.13% | 0.04% | 0.17% | 100.2% | 103.1% | 101.5% | 100.0% |
Overall | -0.09% | 0.07% | 0.14% | 98.3% | 101.4% | 100.1% | 100.2% |
Class D | -0.13% | 0.19% | 0.16% | 99.0% | 101.2% | 100.7% | 100.0% |
Class F | -0.29% | -1.20% | -1.49% | 110.4% | 117.8% | 100.1% | 100.1% |
Class TGM | -0.01% | 0.07% | 0.06% | 114.8% | 104.4% | 100.4% | 100.1% |
Random Access Main 10 | |||||||
Over ECM-18.0 | |||||||
Y | U | V | EncT | DecT | EncVmPeak | DecVmPeak | |
Class A1 | -0.26% | -0.46% | -0.80% | 102.5% | 109.9% | 100.2% | 100.0% |
Class A2 | -0.24% | -0.90% | -0.68% | 107.9% | 112.3% | 100.3% | 100.2% |
Class B | -0.19% | -0.57% | -0.87% | 101.4% | 102.1% | 100.2% | 100.3% |
Class C | -0.27% | -0.84% | -0.68% | 106.7% | 110.3% | 100.5% | 100.0% |
Class E | |||||||
Overall | -0.24% | -0.68% | -0.77% | 104.3% | 107.8% | 100.3% | 100.2% |
Class D | -0.24% | -0.33% | -0.62% | 105.6% | 108.0% | 100.5% | 100.0% |
Class F | -0.11% | -0.91% | -1.49% | 112.7% | 117.7% | 99.9% | 99.9% |
Class TGM | 0.07% | -0.15% | -0.25% | 119.6% | 124.5% | 100.1% | 99.9% |
Low delay B Main 10 | |||||||
Over ECM-18.0 | |||||||
Y | U | V | EncT | DecT | EncVmPeak | DecVmPeak | |
Class A1 | |||||||
Class A2 | |||||||
Class B | -0.10% | -0.85% | -0.60% | 101.8% | 104.8% | 100.3% | 99.6% |
Class C | -0.29% | -1.27% | -1.06% | 103.5% | 104.5% | 100.5% | 100.2% |
Class E | -0.11% | 0.26% | 0.24% | 104.1% | 99.2% | 100.4% | 99.6% |
Overall | -0.17% | -0.71% | -0.54% | 103.0% | 103.3% | 100.4% | 99.8% |
Class D | -0.29% | -1.19% | -1.82% | 106.1% | 108.0% | 100.5% | 100.1% |
Class F | -0.14% | -1.02% | -1.69% | 110.6% | 117.7% | 100.4% | 99.9% |
Class TGM | 0.03% | -0.70% | -0.23% | 112.5% | 107.6% | 96.5% | 100.4% |
Low delay P Main 10 | |||||||
Over ECM-18.0 | |||||||
Y | U | V | EncT | DecT | EncVmPeak | DecVmPeak | |
Class A1 | |||||||
Class A2 | |||||||
Class B | -0.02% | -1.16% | -0.54% | 105.5% | 112.4% | 100.3% | 100.1% |
Class C | -0.10% | -0.63% | -0.77% | 106.6% | 104.2% | 100.5% | 100.1% |
Class E | -0.02% | 0.09% | 0.40% | 105.3% | 104.3% | 100.4% | 100.0% |
Overall | -0.05% | -0.67% | -0.39% | 105.8% | 107.6% | 100.4% | 100.1% |
Class D | -0.15% | -2.66% | -2.10% | 106.9% | 112.3% | 100.8% | 100.1% |
Class F | 0.13% | -1.71% | -1.38% | 109.4% | 117.8% | 99.9% | 99.8% |
Class TGM | 0.05% | -0.50% | -0.15% | 113.8% | 113.4% | 100.7% | 100.0% |
The below tables show ECM-19.0 performance comparing to VTM-11.0ecm19.0 anchor.
All Intra Main 10 | |||||||
Over VTM-11.0ecm19.0 | |||||||
Y | U | V | EncT | DecT | EncVmPeak | DecVmPeak | |
Class A1 | -14.87% | -16.35% | -27.31% | 1183.3% | 578.9% | 237.6% | 326.7% |
Class A2 | -21.54% | -25.02% | -29.24% | 1117.5% | 618.4% | 238.9% | 326.5% |
Class B | -15.11% | -23.02% | -20.90% | 1050.8% | 646.9% | 178.3% | 355.8% |
Class C | -15.30% | -12.03% | -13.20% | 1030.4% | 649.6% | 122.4% | 394.7% |
Class E | -19.69% | -23.36% | -21.40% | 1005.3% | 659.8% | 141.4% | 381.4% |
Overall | -16.95% | -19.86% | -21.73% | 1070.2% | 633.0% | 173.8% | 358.0% |
Class D | -13.04% | -8.61% | -9.49% | 993.9% | 692.2% | 110.1% | 414.3% |
Class F | -31.03% | -35.19% | -35.37% | 616.5% | 656.3% | 125.9% | 374.4% |
Class TGM | -43.73% | -49.29% | -48.58% | 505.2% | 645.6% | 150.3% | 351.7% |
Random Access Main 10 | |||||||
Over VTM-11.0ecm19.0 | |||||||
Y | U | V | EncT | DecT | EncVmPeak | DecVmPeak | |
Class A1 | -27.70% | -25.43% | -37.71% | 1226.1% | 1275.1% | 153.4% | 247.6% |
Class A2 | -30.98% | -35.54% | -40.94% | 1181.5% | 1462.9% | 153.2% | 247.5% |
Class B | -25.57% | -34.66% | -31.70% | 1037.5% | 1254.2% | 144.8% | 268.3% |
Class C | -27.32% | -24.94% | -25.55% | 1155.1% | 1555.8% | 117.4% | 321.1% |
Class E | |||||||
Overall | -27.55% | -30.40% | -33.11% | 1133.0% | 1374.4% | 140.1% | 272.5% |
Class D | -28.00% | -24.79% | -26.22% | 1084.2% | 1651.9% | 105.4% | 360.4% |
Class F | -33.69% | -37.31% | -38.21% | 807.9% | 865.5% | 121.6% | 296.0% |
Class TGM | -43.03% | -48.96% | -48.99% | 721.6% | 745.4% | 125.8% | 280.9% |
Low delay B Main 10 | |||||||
Over VTM-11.0ecm19.0 | |||||||
Y | U | V | EncT | DecT | EncVmPeak | DecVmPeak | |
Class A1 | |||||||
Class A2 | |||||||
Class B | -22.69% | -41.03% | -35.94% | 1048.5% | 1184.3% | 167.3% | 266.0% |
Class C | -25.22% | -29.20% | -31.15% | 1016.4% | 1236.8% | 125.8% | 316.7% |
Class E | -22.82% | -29.50% | -27.98% | 1033.7% | 732.0% | 140.2% | 295.6% |
Overall | -23.57% | -34.21% | -32.35% | 1034.0% | 1065.4% | 145.5% | 289.4% |
Class D | -26.68% | -30.77% | -32.61% | 1040.5% | 1416.4% | 111.1% | 352.8% |
Class F | -31.47% | -41.72% | -42.29% | 818.4% | 855.4% | 130.1% | 294.8% |
Class TGM | -41.32% | -51.82% | -51.52% | 707.0% | 643.7% | 120.8% | 282.6% |
Low delay P Main 10 | |||||||
Over VTM-11.0ecm19.0 | |||||||
Y | U | V | EncT | DecT | EncVmPeak | DecVmPeak | |
Class A1 | |||||||
Class A2 | |||||||
Class B | -20.61% | -49.22% | -44.58% | 922.2% | 1169.2% | 172.3% | 293.6% |
Class C | -23.22% | -37.72% | -39.26% | 863.4% | 1172.2% | 127.1% | 344.9% |
Class E | -20.96% | -38.14% | -36.76% | 935.2% | 737.6% | 144.1% | 318.4% |
Overall | -21.56% | -42.61% | -40.85% | 905.3% | 1042.9% | 148.9% | 316.1% |
Class D | -25.94% | -41.54% | -42.37% | 863.5% | 1382.6% | 111.6% | 374.7% |
Class F | -29.50% | -47.20% | -47.58% | 765.2% | 793.5% | 130.5% | 318.5% |
Class TGM | -39.51% | -54.10% | -53.63% | 739.6% | 668.2% | 126.8% | 294.8% |
- ECM memory consumption
ECM encoder memory consumption (VmPeak, GiB) is provided in ECM encoder log files and is summarized in the table below as maximum class-wise consumption rounded up to GiB.
AI | RA | LB | |
Class A (A1 & A2) | 9 | 16 | |
Class B | 4 | 6 | 5 |
Class C | 2 | 3 | 3 |
Class D | 2 | 2 | 2 |
Class E | 3 | 3 | |
Class F | 4 | 6 | 5 |
Class TGM | 4 | 8 | 7 |
It is encouraged to care about memory allocation when developing and integrating tools into ECM. In particular, it is strongly recommended to re-use already existed memory wherever possible, rather than systematically allocating new memory, and allocate only the required amount of memory if new memory is needed.
Recommendations
The AHG recommended to:
- Continue to develop ECM software.
- Improve the software documentation.
- Encourage people to report all (potential) bugs that they are finding using GitLab Issues functionality https://vcgit.hhi.fraunhofer.de/ecm/ECM/-/issues.
- Encourage people to submit merge requests fixing identified bugs.
- Encourage people to continue working on ECM memory consumption reduction.
- Encourage people to continue working on speeding up ECM encoder to reduce the simulation time.