JVET-M0163 Adaptive loop filter with history filters [C.-Y. Chen, Z.-Y. Lin, C.-Y. Lai, Y.-W. Huang, S.-M. Lei (MediaTek)]
This contribution proposes history filters in adaptive loop filter (ALF). The concept of history filters is to allow using history filters for the current slice to increase coding efficiency, where the history filters are decoded filters from previously decoded slices. When the maximum number of history filter set is five, where one filter set contains all signalled filters of one slice, BD-rate savings are 0.16% and 0.34% for RA and LB, respectively, and the required memory of history filter set storage is 1660 bytes (5 sets * 25 luma filters per set * 13 coefficients per luma filter * 1 byte per coefficient + 5 sets * 1 chroma filter per set * 7 coefficients per chroma filter * 1 byte per coefficient). To reduce the memory requirement, it is further proposed to apply history filters with the “maximum number of luma filters per slice” constraint in JVET-M0162. When the maximum number of luma filters per slice is reduced from 25 to 16, BD-rate savings are 0.16% and 0.33% for RA and LB, respectively, and the required memory size is 1075 bytes (65% of no constraint). When the maximum number of luma filters per slice is 12, BD-rate savings are 0.15% and 0.33% for RA and LB, respectively, and the required memory size is 815 bytes (49% of no constraint).
The proposal targets compression improvement by re-using filters from previous pictures. The argument of saving on-chip memory (as under JVET-M0162) is not fully understood, as it would be external memory that is needed to store the coefficients along with the refernce pictures.
The reduction in bit rate is relatively low, and the approach would introduce some additional dependency between parameters of pictures. The current design of coding ALF parameters independently for every picture is quite clean.
It was also asked how it is determined which filter to use. This is based on matching with the covariance matrix.
No action.