Question

I'm reading a paper about sub-pixel motion estimation optimization algorithm in HEVC; while all the proposed concepts are based on "Modeling the Error Surface" in the search range(search window)during algorithm;

Does anybody by any chance know the definition of "Error Surface" here???

And what I'm lookin for is definitely not this:http://en.wikipedia.org/wiki/Freeform_surface_modelling

Thanks.

By the way!! The paper's link is : http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6288102&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6288102

Was it helpful?

Solution

The picture below (from the Geneva meeting in January this year) shows the

Integer samples (shaded blocks with upper-case letters) and fractional sample positions (un-shaded blocks with lower-case letters) for quarter sample luma interpolation

enter image description here

The following calculations are needed for the quarter-sample-interpolation:

a0,0 = ( −A−3,0 + 4 * A−2,0 − 10 * A−1,0 + 58 * A0,0 +   17 * A1,0 − 5 * A2,0 + A3,0 )  >>  shift1  (8‑292)
b0,0 = ( −A−3,0 + 4 * A−2,0 − 11 * A−1,0 + 40 * A0,0 +   40 * A1,0 − 11 * A2,0 + 4 * A3,0 − A4,0 )  >>  shift1  (8‑293)
c0,0 = ( A−2,0 − 5 * A−1,0 + 17 * A0,0 +     58 * A1,0 − 10 * A2,0 + 4 * A3,0 − A4,0 )  >>  shift1  (8‑294)
d0,0 = ( −A0,−3 + 4 * A0,−2 − 10 * A0,−1 + 58 * A0,0 +   17 * A0,1 − 5 * A0,2 + A0,3 )  >>  shift1  (8‑295)
h0,0 = ( −A0,−3 + 4 * A0,−2 − 11 * A0,−1 + 40 * A0,0 +   40 * A0,1 − 11 * A0,2 + 4 * A0,3 − A0,4 )  >>  shift1  (8‑296)
n0,0 = ( A0,−2 − 5 * A0,−1 + 17 * A0,0 +     58 * A0,1 − 10 * A0,2 + 4 * A0,3 − A0,4 )  >>  shift1  (8‑297)

–   The samples labelled e0,0, i0,0, p0,0, f0,0, j0,0, q0,0, g0,0, k0,0, and r0,0
    are derived by applying an 8-tap filter to the samples a0,i, b0,i and c0,i with
    i = −3..4 in the vertical direction as follows:

e0,0 = ( −a0,−3 + 4 * a0,−2 − 10 * a0,−1 + 58 * a0,0 +   17 * a0,1 − 5 * a0,2 + a0,3 )  >>  shift2  (8‑298)
i0,0 = ( −a0,−3 + 4 * a0,−2 − 11 * a0,−1 + 40 * a0,0 +   40 * a0,1 − 11 * a0,2 + 4 * a0,3 − a0,4 )  >>  shift2  (8‑299)
p0,0 = ( a0,−2 − 5 * a0,−1 + 17 * a0,0 +     58 * a0,1 − 10 * a0,2 + 4 * a0,3 − a0,4 )  >>  shift2  (8‑300)
f0,0 = ( −b0,−3 + 4 * b0,−2 − 10 * b0,−1 + 58 * b0,0 +   17 * b0,1 − 5 * b0,2 + b0,3 )  >>  shift2  (8‑301)
j0,0 = ( −b0,−3 + 4 * b0,−2 − 11 * b0,−1 + 40 * b0,0 +   40 * b0,1 − 11 * b0,2 + 4 * b0,3 − b0,4 )  >>  shift2  (8‑302)
q0,0 = ( b0,−2 − 5 * b0,−1 + 17 * b0,0 +     58 * b0,1 − 10 * b0,2 + 4 * b0,3 − b0,4 )  >>  shift2  (8‑303)
g0,0 = ( −c0,−3 + 4 * c0,−2 − 10 * c0,−1 + 58 * c0,0 +   17 * c0,1 − 5 * c0,2 + c0,3 )  >>  shift2  (8‑304)
k0,0 = ( −c0,−3 + 4 * c0,−2 − 11 * c0,−1 + 40 * c0,0 +   40 * c0,1 − 11 * c0,2 + 4 * c0,3 − c0,4 )  >>  shift2  (8‑305)
r0,0 = ( c0,−2 − 5 * c0,−1 + 17 * c0,0 +     58 * c0,1 − 10 * c0,2 + 4 * c0,3 − c0,4 )  >>  shift2  (8‑306)

Quite a mouthful as you can see...

The paper you are referring to error surface is probably the difference between the pixel-values calculated using the method proposed in the standard and the second-order-function proposed in the paper. Hope it helps :-)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top