[Mp4-tech] Why in AVC standard mb_qp_delta is restricted to be in the range [-26,25]

Gary Sullivan garysull windows.microsoft.com
Thu May 29 10:38:34 EDT 2008


Shevach Riabtsev et al,
The range outside of [-26, +25] is not needed because there is a modulo operator involved in the derivation of QPy.
See Equation 7-35 of JVT-X201.  When the BitDepth is 8, an encoder can change QPy from 2 to 30 by setting mb_qp_delta to -20.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces lists.mpegif.org [mailto:mp4-tech-bounces lists.mpegif.org] On Behalf Of Shevach Riabtsev
Sent: Thursday, May 29, 2024 6:17 AM
To: mp4-tech lists.mpegif.org
Subject: [Mp4-tech] Why in AVC standard mb_qp_delta is restricted to be in the range [-26,25]
Dear experts
According to 7.4.5 of the AVC standard:
The decoded value of mb_qp_delta shall be in the  range of -( 26 + QpBdOffsetY / 2) to +( 25 + QpBdOffsetY / 2 ), inclusive.
 If BitDepth is 8 then QpBdOffsetY=0 hence mb_qp_delta shall be in the range [-26,25].  What reasons are beoynd the decision to constraint mb_qp_delta value.
I understand that it is unlikely that a reasonable Rate Control would decide to change QP from 2 to 30 between two successive MBs, otherwise serious visual artefacts (e.g. blockiness at MB edges) might be noticed. Perhaps this is a reason for the restriction?
On the other hand, we can imagine a scenario when say, 30 consecutive MBs have CBP=0 (in this case qp_delta is not signalled, by the way this is very frequent case in cartoon movies) and the Rate Control increments QP by 1 per MB. Hence the first MB with non-zero CBP after the run of CBP-zero MBs should carry mb_qp_delta=30.
Regards,  Shevach
Broadcom  Israel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20080529/ebc5f337/attachment.html


More information about the Mp4-tech mailing list