Back to Search Document details
18th Meeting: Teleconference, April 2020 2020-04-09 17:17
AHG16: Rounding correction for ALF virtual boundary processing
Abstract
This document is Draft 8 of a new ITU-T Recommendation and ISO/IEC International Standard entitled Versatile Video Coding. It has been developed by a joint collaborative team of ITU-T and ISO/IEC experts known as the Joint Video Experts Team (JVET), which is a partnership of ITU-T Study Group 16 Question 6 (known as VCEG) and ISO/IEC JTC 1/SC 29/WG 11 (known as MPEG). This draft new standard has been designed with two primary goals. The first of these is to specify a video coding technology with a compression capability that is substantially beyond that of the prior generations of such standards, and the second is for this technology to be highly versatile for effective use in a broadened range of applications. Some key application areas for the use of this standard particularly include ultra-high-definition video (e.g., with 3840×2160 or 7620×4320 picture resolution and bit depth of 10 or 12 bits as specified in Rec. ITU-R BT.2100), video with a high dynamic range and wide colour gamut (e.g., with the perceptual quantization or hybrid log-gamma transfer characteristics specified in Rec. ITU-R BT.2100), and video for immersive media applications such as 360° omnidirectional video projected using a common projection format such as the equirectangular or cubemap projection format, in addition to the applications that have commonly been addressed by prior video coding standards.
JVET-R0208 AHG16: Rounding correction for ALF virtual boundary processing [A. M. Kotra, S. Esenlik, B. Wang, H. Gao, E. Alshina (Huawei)]

In VTM-8.0, to avoid extreme padding for the sample rows which are immediately adjacent to the adaptive loop filter (ALF) virtual boundary, the correction value applied during the filtering is quantized by a larger value 1024 (210) instead of 128(27). However the rounding value used during the filtering is still 64. The current proposal proposes a fix by changing the rounding value to 512 when the quantization value used in the ALF filtering is 1024.

The objective results, over VTM8.0 Anchor for CTC configuration are as follows:

Config. Y U V EncT DecT

AI 0.00% 0.01% 0.01% 100% 99%

RA 0.01% -0.01% 0.00% 100% 100%

LDB 0.01% 0.02% -0.07% 100% 102%

LDP 0.01% -0.25% -0.14% 100% 103%

By modifying filters at virtual boundaries per adoption of JVET-Q0150 solution 2, the rounding operation in case of shift 10 is no longer doing the nearest integer rounding. This appears as an inconsistency rather than a bug. This issue had been detected during software integration. Proponents of JVET-Q0150 also support this change. It is agreed that the change is minor and there is no harm that it would introduce any problems.

JVET-R0231 method 1 and JVET-R0291 target the same problem, basically the same solution but different specification text. There may be more elegant ways of expressing the change than suggested in JVET-R0208, which introduces another column in the table 45/46, e.g. by an equation.

The AHG meeting recommended that the rounding operation in case of the modified filter at virtual boundary should be aligned, and that editors should decide the best way of expressing it in text.

Was confirmed in track B Tue 21 Apr. 21

Decision (cleanup/text+software): Adopt JVET-R0208. The rounding operation in case of the modified filter at virtual boundary should be aligned. Editors should decide the best way of expressing it in the spec. text.

References:
JVET-K0052 JVET-K0063 JVET-K0072 JVET-K0103 JVET-K0122 JVET-K0184 JVET-K0190 JVET-K0230 JVET-K0232 JVET-K0237 JVET-K0251 JVET-K0307 JVET-K0310 JVET-K0315 JVET-K0325 JVET-K0337 JVET-K0346 JVET-K0351 JVET-K0357 JVET-K0367 JVET-K0369 JVET-K0371 JVET-K0500 JVET-K0529 JVET-K0554 JVET-K0556 JVET-K0564 JVET-K0565 JVET-L0045 JVET-L0047 JVET-L0053 JVET-L0054 JVET-L0055 JVET-L0059 JVET-L0064 JVET-L0074 JVET-L0081 JVET-L0082 JVET-L0083 JVET-L0090 JVET-L0100 JVET-L0104 JVET-L0118 JVET-L0124 JVET-L0136 JVET-L0142 JVET-L0147 JVET-L0158 JVET-L0165 JVET-L0191 JVET-L0194 JVET-L0198 JVET-L0209 JVET-L0217 JVET-L0231 JVET-L0248 JVET-L0249 JVET-L0256 JVET-L0265 JVET-L0266 JVET-L0271 JVET-L0272 JVET-L0274 JVET-L0279 JVET-L0283 JVET-L0285 JVET-L0293 JVET-L0340 JVET-L0361 JVET-L0362 JVET-L0366 JVET-L0369 JVET-L0410 JVET-L0414 JVET-L0428 JVET-L0449 JVET-L0468 JVET-L0553 JVET-L0628 JVET-L0632 JVET-L0646 JVET-L0664 JVET-L0678 JVET-L0686 JVET-L0694 JVET-L0696 JVET-M0063 JVET-M0064 JVET-M0092 JVET-M0101 JVET-M0102 JVET-M0111 JVET-M0113 JVET-M0118 JVET-M0119 JVET-M0126 JVET-M0128 JVET-M0132 JVET-M0140 JVET-M0142 JVET-M0145 JVET-M0147 JVET-M0160 JVET-M0166 JVET-M0170 JVET-M0171 JVET-M0173 JVET-M0192 JVET-M0193 JVET-M0201 JVET-M0238 JVET-M0246 JVET-M0251 JVET-M0255 JVET-M0264 JVET-M0273 JVET-M0277 JVET-M0281 JVET-M0297 JVET-M0300 JVET-M0303 JVET-M0328 JVET-M0335 JVET-M0361 JVET-M0381 JVET-M0407 JVET-M0415 JVET-M0421 JVET-M0427 JVET-M0436 JVET-M0444 JVET-M0446 JVET-M0451 JVET-M0453 JVET-M0464 JVET-M0470 JVET-M0471 JVET-M0479 JVET-M0483 JVET-M0487 JVET-M0497 JVET-M0502 JVET-M0512 JVET-M0685 JVET-M0853 JVET-M0883 JVET-M0908 JVET-N0047 JVET-N0054 JVET-N0063 JVET-N0067 JVET-N0068 JVET-N0070 JVET-N0100 JVET-N0101 JVET-N0103 JVET-N0105 JVET-N0120 JVET-N0124 JVET-N0127 JVET-N0137 JVET-N0146 JVET-N0150 JVET-N0175 JVET-N0178 JVET-N0180 JVET-N0185 JVET-N0188 JVET-N0193 JVET-N0194 JVET-N0213 JVET-N0217 JVET-N0220 JVET-N0222 JVET-N0225 JVET-N0235 JVET-N0242 JVET-N0246 JVET-N0266 JVET-N0271 JVET-N0276 JVET-N0278 JVET-N0280 JVET-N0286 JVET-N0288 JVET-N0302 JVET-N0308 JVET-N0317 JVET-N0318 JVET-N0324 JVET-N0325 JVET-N0332 JVET-N0334 JVET-N0340 JVET-N0349 JVET-N0352 JVET-N0353 JVET-N0380 JVET-N0383 JVET-N0407 JVET-N0413 JVET-N0415 JVET-N0423 JVET-N0435 JVET-N0438 JVET-N0444 JVET-N0448 JVET-N0470 JVET-N0477 JVET-N0481 JVET-N0483 JVET-N0492 JVET-N0494 JVET-N0498 JVET-N0600 JVET-N0671 JVET-N0706 JVET-N0805 JVET-N0821 JVET-N0843 JVET-N0847 JVET-N0851 JVET-N0857 JVET-N0865 JVET-N0866 JVET-N0867 JVET-N0868 JVET-N0869 JVET-O0041 JVET-O0042 JVET-O0043 JVET-O0044 JVET-O0046 JVET-O0050 JVET-O0052 JVET-O0055 JVET-O0057 JVET-O0060 JVET-O0061 JVET-O0064 JVET-O0065 JVET-O0070 JVET-O0078 JVET-O0090 JVET-O0094 JVET-O0105 JVET-O0106 JVET-O0108 JVET-O0113 JVET-O0119 JVET-O0122 JVET-O0143 JVET-O0144 JVET-O0145 JVET-O0147 JVET-O0148 JVET-O0151 JVET-O0152 JVET-O0153 JVET-O0154 JVET-O0159 JVET-O0162 JVET-O0163 JVET-O0164 JVET-O0173 JVET-O0176 JVET-O0177 JVET-O0178 JVET-O0179 JVET-O0180 JVET-O0181 JVET-O0188 JVET-O0189 JVET-O0194 JVET-O0201 JVET-O0213 JVET-O0215 JVET-O0216 JVET-O0219 JVET-O0220 JVET-O0226 JVET-O0227 JVET-O0234 JVET-O0235 JVET-O0236 JVET-O0238 JVET-O0241 JVET-O0244 JVET-O0245 JVET-O0247 JVET-O0249 JVET-O0258 JVET-O0265 JVET-O0267 JVET-O0272 JVET-O0284 JVET-O0288 JVET-O0294 JVET-O0297 JVET-O0299 JVET-O0304 JVET-O0315 JVET-O0338 JVET-O0341 JVET-O0357 JVET-O0364 JVET-O0366 JVET-O0368 JVET-O0375 JVET-O0376 JVET-O0409 JVET-O0414 JVET-O0428 JVET-O0438 JVET-O0452 JVET-O0455 JVET-O0472 JVET-O0474 JVET-O0491 JVET-O0502 JVET-O0525 JVET-O0526 JVET-O0529 JVET-O0541 JVET-O0543 JVET-O0545 JVET-O0567 JVET-O0570 JVET-O0572 JVET-O0590 JVET-O0594 JVET-O0610 JVET-O0616 JVET-O0617 JVET-O0619 JVET-O0625 JVET-O0634 JVET-O0637 JVET-O0640 JVET-O0650 JVET-O0651 JVET-O0655 JVET-O0662 JVET-O0669 JVET-O0681 JVET-O0919 JVET-O0925 JVET-O1109 JVET-O1124 JVET-O1136 JVET-O1140 JVET-O1143 JVET-O1153 JVET-O1159 JVET-O1164 JVET-O1168 JVET-O1170 JVET-O1177 JVET-O2007 JVET-P0042 JVET-P0043 JVET-P0054 JVET-P0057 JVET-P0058 JVET-P0059 JVET-P0063 JVET-P0072 JVET-P0077 JVET-P0081 JVET-P0088 JVET-P0090 JVET-P0091 JVET-P0096 JVET-P0097 JVET-P0098 JVET-P0101 JVET-P0111 JVET-P0115 JVET-P0116 JVET-P0117 JVET-P0118 JVET-P0122 JVET-P0124 JVET-P0125 JVET-P0126 JVET-P0135 JVET-P0144 JVET-P0152 JVET-P0154 JVET-P0162 JVET-P0164 JVET-P0168 JVET-P0170 JVET-P0171 JVET-P0181 JVET-P0182 JVET-P0183 JVET-P0184 JVET-P0185 JVET-P0186 JVET-P0188 JVET-P0189 JVET-P0190 JVET-P0199 JVET-P0202 JVET-P0203 JVET-P0205 JVET-P0206 JVET-P0214 JVET-P0217 JVET-P0218 JVET-P0221 JVET-P0228 JVET-P0243 JVET-P0244 JVET-P0252 JVET-P0254 JVET-P0280 JVET-P0298 JVET-P0301 JVET-P0314 JVET-P0325 JVET-P0329 JVET-P0347 JVET-P0350 JVET-P0353 JVET-P0360 JVET-P0362 JVET-P0363 JVET-P0365 JVET-P0366 JVET-P0371 JVET-P0378 JVET-P0385 JVET-P0400 JVET-P0406 JVET-P0407 JVET-P0409 JVET-P0410 JVET-P0418 JVET-P0429 JVET-P0436 JVET-P0438 JVET-P0452 JVET-P0457 JVET-P0460 JVET-P0469 JVET-P0478 JVET-P0488 JVET-P0491 JVET-P0505 JVET-P0516 JVET-P0517 JVET-P0519 JVET-P0530 JVET-P0554 JVET-P0562 JVET-P0572 JVET-P0578 JVET-P0580 JVET-P0588 JVET-P0589 JVET-P0590 JVET-P0592 JVET-P0595 JVET-P0599 JVET-P0609 JVET-P0615 JVET-P0626 JVET-P0641 JVET-P0653 JVET-P0665 JVET-P0667 JVET-P0803 JVET-P0856 JVET-P0894 JVET-P0978 JVET-P0983 JVET-P0984 JVET-P1001 JVET-P1004 JVET-P1006 JVET-P1012 JVET-P1018 JVET-P1019 JVET-P1023 JVET-P1024 JVET-P1026 JVET-P1034 JVET-P1038 JVET-P2007 JVET-Q0043 JVET-Q0044 JVET-Q0048 JVET-Q0054 JVET-Q0055 JVET-Q0089 JVET-Q0112 JVET-Q0113 JVET-Q0114 JVET-Q0115 JVET-Q0117 JVET-Q0118 JVET-Q0119 JVET-Q0121 JVET-Q0128 JVET-Q0147 JVET-Q0150 JVET-Q0151 JVET-Q0152 JVET-Q0154 JVET-Q0155 JVET-Q0156 JVET-Q0157 JVET-Q0164 JVET-Q0169 JVET-Q0172 JVET-Q0179 JVET-Q0183 JVET-Q0194 JVET-Q0197 JVET-Q0200 JVET-Q0203 JVET-Q0209 JVET-Q0210 JVET-Q0216 JVET-Q0217 JVET-Q0218 JVET-Q0219 JVET-Q0221 JVET-Q0222 JVET-Q0237 JVET-Q0242 JVET-Q0244 JVET-Q0246 JVET-Q0247 JVET-Q0249 JVET-Q0256 JVET-Q0257 JVET-Q0259 JVET-Q0260 JVET-Q0262 JVET-Q0265 JVET-Q0267 JVET-Q0270 JVET-Q0271 JVET-Q0273 JVET-Q0275 JVET-Q0277 JVET-Q0280 JVET-Q0289 JVET-Q0291 JVET-Q0293 JVET-Q0297 JVET-Q0317 JVET-Q0330 JVET-Q0346 JVET-Q0358 JVET-Q0359 JVET-Q0368 JVET-Q0371 JVET-Q0379 JVET-Q0394 JVET-Q0395 JVET-Q0397 JVET-Q0398 JVET-Q0399 JVET-Q0400 JVET-Q0402 JVET-Q0404 JVET-Q0406 JVET-Q0414 JVET-Q0416 JVET-Q0417 JVET-Q0420 JVET-Q0435 JVET-Q0441 JVET-Q0443 JVET-Q0444 JVET-Q0446 JVET-Q0449 JVET-Q0468 JVET-Q0471 JVET-Q0480 JVET-Q0481 JVET-Q0482 JVET-Q0483 JVET-Q0487 JVET-Q0488 JVET-Q0491 JVET-Q0495 JVET-Q0500 JVET-Q0501 JVET-Q0504 JVET-Q0505 JVET-Q0516 JVET-Q0517 JVET-Q0629 JVET-Q0630 JVET-Q0751 JVET-Q0764 JVET-Q0775 JVET-Q0781 JVET-Q0784 JVET-Q0786 JVET-Q0787 JVET-Q0795 JVET-Q0798 JVET-Q0806 JVET-Q0814 JVET-Q0816 JVET-Q0817 JVET-Q0818 JVET-Q0819 JVET-Q0820 JVET-Q2001
AdaptiveLoopFilter.cpp AdaptiveLoopFilter.h AdaptiveLoopFilter_avx.cpp AdaptiveLoopFilter_avx2.cpp AdaptiveLoopFilter_sse41.cpp AdaptiveLoopFilterX86.h AffineGradientSearch.cpp AffineGradientSearch.h AffineGradientSearch_avx.cpp AffineGradientSearch_avx2.cpp AffineGradientSearch_sse41.cpp AffineGradientSearchX86.h AlfParameters.h Analyze.h annexBbytecount.cpp AnnexBread.cpp AnnexBread.h AnnexBwrite.h AQp.cpp AQp.h BinDecoder.cpp BinDecoder.h BinEncoder.cpp BinEncoder.h BitStream.cpp BitStream.h Buffer.cpp Buffer.h Buffer_avx.cpp Buffer_avx2.cpp Buffer_sse41.cpp BufferX86.h CABACReader.cpp CABACReader.h CABACWriter.cpp CABACWriter.h CacheModel.cpp CacheModel.h ChromaFormat.cpp ChromaFormat.h CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CMakeLists.txt CodingStatistics.h CodingStructure.cpp CodingStructure.h ColourRemapping.cpp ColourRemapping.h Common.h common.natvis CommonDef.h CommonDefX86.cpp CommonDefX86.h ContextModelling.cpp ContextModelling.h Contexts.cpp Contexts.h convert_NtoMbit_YCbCr.cpp CrossCompPrediction.cpp CrossCompPrediction.h DecApp.cpp DecApp.h DecAppCfg.cpp DecAppCfg.h DecCu.cpp DecCu.h DecLib.cpp DecLib.h decmain.cpp DecSlice.cpp DecSlice.h DepQuant.cpp DepQuant.h dtrace.cpp dtrace.h dtrace_blockstatistics.cpp dtrace_blockstatistics.h dtrace_buffer.h dtrace_codingstruct.h dtrace_next.h EncAdaptiveLoopFilter.cpp EncAdaptiveLoopFilter.h EncApp.cpp EncApp.h EncAppCfg.cpp EncAppCfg.h EncCfg.h EncCu.cpp EncCu.h EncGOP.cpp EncGOP.h EncHRD.cpp EncHRD.h EncLib.cpp EncLib.h EncLibCommon.cpp EncLibCommon.h encmain.cpp EncModeCtrl.cpp EncModeCtrl.h encode.shl encodeCommand.sh EncReshape.cpp EncReshape.h EncSampleAdaptiveOffset.cpp EncSampleAdaptiveOffset.h EncSlice.cpp EncSlice.h EncTemporalFilter.cpp EncTemporalFilter.h ExtractBitrates.cpp ExtractBitrates.h ExtractBitratesMain.cpp GuessLambdaModifiers.cpp GuessLambdaModifiers.h GuessLambdaModifiersMain.cpp Hash.cpp Hash.h HRD.cpp HRD.h IbcHashMap.cpp IbcHashMap.h IbcHashmap_sse42.cpp IbcHashMapX86.h InitX86.cpp InterpolationFilter.cpp InterpolationFilter.h InterpolationFilter_avx.cpp InterpolationFilter_avx2.cpp InterpolationFilter_sse41.cpp InterpolationFilterX86.h InterPrediction.cpp InterPrediction.h InterSearch.cpp InterSearch.h IntraPrediction.cpp IntraPrediction.h IntraSearch.cpp IntraSearch.h JVET-R0208 -v2.docx JVET-R0208-v2.pptx JVET-R0208-v2_JVET-Q2001-vE.docx JVET_R0208-v2.xlsm libmd5.cpp libmd5.h LoopFilter.cpp LoopFilter.h makefile MatrixIntraPrediction.cpp MatrixIntraPrediction.h MCTS.cpp MCTS.h MD5.h MipData.h MotionInfo.h Mv.cpp Mv.h NAL.h NALread.cpp NALread.h NALwrite.cpp NALwrite.h parcat.cpp Picture.cpp Picture.h PicYuvMD5.cpp ProfileLevelTier.cpp ProfileLevelTier.h program_options_lite.cpp program_options_lite.h Quant.cpp Quant.h QuantRDOQ.cpp QuantRDOQ.h QuickStartGuide.pdf RateCtrl.cpp RateCtrl.h RdCost.cpp RdCost.h RdCost_avx.cpp RdCost_avx2.cpp RdCost_sse41.cpp RdCostWeightPrediction.cpp RdCostWeightPrediction.h RdCostX86.h readme.md Reshape.cpp Reshape.h Rom.cpp Rom.h RomLFNST.cpp RomTr.cpp RuntimeError.h SampleAdaptiveOffset.cpp SampleAdaptiveOffset.h SEI.cpp SEI.h SEIEncoder.cpp SEIEncoder.h SEIread.cpp SEIread.h SEIRemovalApp.cpp SEIRemovalApp.h SEIRemovalAppCfg.cpp SEIRemovalAppCfg.h seiremovalmain.cpp SEIwrite.cpp SEIwrite.h Slice.cpp Slice.h static_vector.natvis StreamMergeApp.cpp StreamMergeApp.h StreamMergeAppCfg.cpp StreamMergeAppCfg.h StreamMergeMain.cpp targetBitrates.sh TrQuant.cpp TrQuant.h TrQuant_EMT.cpp TrQuant_EMT.h TypeDef.h Unit.cpp Unit.h UnitPartitioner.cpp UnitPartitioner.h UnitTools.cpp UnitTools.h version.h VideoIOYuv.cpp VideoIOYuv.h VLCReader.cpp VLCReader.h VLCWriter.cpp VLCWriter.h WeightPredAnalysis.cpp WeightPredAnalysis.h WeightPrediction.cpp WeightPrediction.h
Decisions
adopted
Decision (cleanup/text+software): Adopt JVET-R0208. The rounding operation in case of the modified filter at virtual boundary should be aligned. Editors should decide the best way of expressing it in the spec. text.
Citation