Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#1 | Link |
Registered User
Join Date: Apr 2015
Posts: 7
|
Rate control for I-frames in HM 16.7
Hi,
I'm trying to understand the rate control algorithm in the HM 16.7 reference software. I have the paper "lambda domain rate control algorithm for High Efficiency Video Coding" by B. Li et al which explains how the Lagrange multiplier lambda for the RDO is found based on a model with 2 parameters (alpha and beta). I can see how this is applied to P and B frames in HM: Code:
estLambda = alpha * pow( bpp, beta ); Code:
(alpha/256.0) * pow( MADPerPixel/bitsPerPixel, beta ) Then, as you can see from the code above, the calculation is based on the "MADPerPixel", where I assume MAD stands for Mean Absolute Difference. However, when calculateLambdaIntra is called in TEncRCPic::estimatePicLambda, MADPerPixel is given as: Code:
pow(m_totalCostIntra/(Double)m_numberOfPixel, 1.2517) Second question: Why is a sum of Hadamard calculated here? What is the link to the calculation of lambda? Any explanation or link to some explaining references would be greatly appreciated! |
![]() |
![]() |
![]() |
#2 | Link |
ангел смерти
![]() Join Date: Nov 2004
Location: Lost
Posts: 9,555
|
You should direct this query to the JCT-VC mailing list. I watched the development of what became HM (TMuC) but I don't recall ever seeing that or the rationale; it's a pretty obscure thing.
Note that this isn't actually part of HEVC at all, that's just an encoder-side formula that any encoder can modify, and most do. |
![]() |
![]() |
![]() |
Tags |
hm encoder, rate control |
Thread Tools | Search this Thread |
Display Modes | |
|
|