Patent ID: 6526095
Filing Date: 2003-02-25
Classification: G06T,H04N

Abstract:
A method of synthesizing an inter-frame predicted image in a video decoder, comprising the steps of:performing a motion compensation process between a current image and a reference image, wherein said motion compensation process includes the steps of: dividing said current image into N patches, N being a positive integer, arranging an assumed patch for at least one patch Pb, which has four assumed grid points as representative points having coordinates (Iâ€², Jâ€²), (Iâ€²+p, Jâ€²), (Iâ€², Jâ€²+q), and (Iâ€²+p, Jâ€²+q), obtaining motion vectors of the four representative points, computing a motion vector of each pixel in the patch Pb by bilinear transformation using the motion vectors of the four representative points, wherein either of p and âˆ’p is equal to 2&agr;, &agr; being a positive integer, and wherein either of q and âˆ’q is equal to 2&bgr;, &bgr; being a positive integer, wherein when the horizontal and vertical components of motion vectors at representative points (Iâ€²,Jâ€²), (Iâ€²+p,Jâ€²), (Iâ€²,Jâ€²+q), and (Iâ€²+p,Jâ€²+q) take only values integral multiples of 1/k, wherein k is equal to 2h0 and h0 is an integer other than a negative integer, and the horizontal and vertical components of the motion vector of each pixel take only values integral multiples of 1/m, wherein m is a positive integer, and (u(x,y), v(x,y)), wherein x, y, u(x,y), and v(x,y) are integers, obtained by multiplying the horizontal and vertical components of the motion vector of a pixel (x,y) in the patch Pb by m by using (u0, v0), (u1,v1), (u2,v2), and (u3,v3), wherein u0, v0, u1, v1, u2, v2, u3, and v3 are integers, obtained by multiplying the horizontal and vertical components of the motion vectors at the representative points (Iâ€²,Jâ€²), (Iâ€²+p,Jâ€²), (Iâ€²,Jâ€²+q), and (Iâ€²+p,Jâ€²+q) by k as per u(x,y)=((uO(Iâ€²+pâˆ’x)+u1(xâˆ’Iâ€²))(Jâ€²+qâˆ’y)+(u2(Iâ€²+pâˆ’x)+u3(xâˆ’Iâ€²))(yâˆ’Jâ€²))m//(pÂ·qÂ·k) and v(x,y)=((v0(Iâ€²+pâˆ’x)+v1(xâˆ’Iâ€²))(Jâ€²+qâˆ’y)+(v2(I+pâˆ’x)+v3(xâˆ’Iâ€²))(yâˆ’Jâ€²))m//(pÂ·qÂ·k), wherein symbol â€œ//â€  denotes a division for rounding an operation result obtained from a division of a real number into a nearby integer when the result is not an integer and its priority as an operator is equal to that of a multiplication or division.