I am trying to perform the best possible interpolation in order to perform proper chroma upsampling from 4:2:0 YCbCr to 4:4:4 YCbCr. I have implemented the improved interpolation proposed at this paper:


The general idea is to get advantage of the chroma components of four nearest neighbours to get the chroma values for the unknown pixel. In order to do so, two separate interpolations are performed and you come up with two different values for the chroma component. The two interpolations are performed using these equations:

$\ k_1 = \frac{|L_{2}-L_{0}|}{|L_{2}-L_{0}|+|L_{1}-L_{0}|} $

$\ k_2 = \frac{|L_{1}-L_{0}|}{|L_{2}-L_{0}|+|L_{1}-L_{0}|} $

$\ \hat{C_{0}} = k_1*C_1+k_2*C_2 $

where $\ L $ stand for Luminance and $\ C $ for Chroma. $\ L_0 , L_1, L_2,C_1,C_2 $ are known and $\ \hat{C_0} $ is the unknown chroma component. If these two interpolations are performed, there are two values $\ \hat{C_{01}} $ and $\ \hat{C_{02}} $ for the unknown chroma component. It is stated at the paper that the final value for the chroma component is obtained by a linear combination of these two predicted values. Until now I just compute the final value by taking the mean of the two predicted values. Is there a better way to compute the final value of the unknown chroma component by using a linear combination of these two predicted values?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.