IppResizeBilinear 함수의 인자 구성은 앞에서 살펴본 IppResizeNearest 함수와 동일하다. imgSrc와 imgDst는 각각 입력 영상과 출력 영상이고, nw와 nh는 크기 변환되어 생성될 결과 영상의 가로와 세로 크기이다. IppResizeBilinear 함수의 전체 구현은 소스 9-5에 나타내었다.
IppResizeBilinear 함수 동작의 이해를 돕기 위하여, 소스 9-5의 for 루프 안에서 사용되는 변수들의 이름에 대한 설명을 그림 9-9에 나타내었다. 실수형 변수 rx, ry는 입력 영상에서 참조할 픽셀 값의 실수 좌표를 나타내고, 정수형 변수 x1, x2, y1, y2는 각각 (rx, ry) 좌표를 둘러싼 4개의 픽셀 좌표를 나타낸다. p와 q는 0부터 1 사이의 값을 갖는 실수형 변수이다. 이 경우 양선형 보간법으로 구하는 (rx, ry)의 픽셀 값은 다음과 같다.
value = (1. - p) * (1. - q) * pSrc[y1][x1] + p * (1. - q) * pSrc[y1][x2] + (1. - p) * q * pSrc[y2][x1] + p * q * pSrc[y2][x2];
이렇게 구한 value 값을 반올림하여 정수형으로 변환하고, 그 값을 결과 영상의 픽셀 값으로 저장한다. 만약 반올림한 값이 255보다 커질 경우 255로 설정하도록 limit 함수를 사용하였다.
소스 9-5에서 x1, y1 좌표를 구하는 방법에서는 큰 문제가 발생하지 않는다. 즉, x1과 y1은 항상 0보다 같거나 크고, w와 h보다는 작은 값으로 결정된다. 그러나 x2와 y2는 w 또는 h와 같아질 가능성이 있기 때문에, if 문을 이용하여 값의 범위를 검사해주어야 한다. 소스 9-5에서는 x2와 y2가 영상의 크기를 벗어난 픽셀을 참조할 때에는 맨 가장자리의 픽셀 값을 참조하도록 하였다.
그림 9-10은 양선형 보간법을 이용하여 영상을 확대한 결과를 보여준다. 이 그림에서 영상의 확대 비율은 그림 9-7에서와 마찬가지로, 256×256 크기의 원본 영상을 각각 1024×1024와 2048×2048의 크기로 확대하였다. 양선형 보간법에 의해 확대된 영상들은 앞에서 설명한 최근방 이웃 보간법에 비하여 계단 현상이 현저하게 없어지고, 영상의 윤곽선이 많이 부드러워진 것을 볼 수 있다.