방향 입방정합체 보간

Directional Cubic Convolution Interpolation

방향 큐빅 컨볼루션 인터폴레이션(DCCI)은 덩웬 저우와 샤오류 심이 만든 에지 방향 이미지 스케일링 알고리즘이다.[1]

이 스케일링 알고리즘이미지의 가장자리를 고려함으로써 다른 이미지 스케일링 알고리즘에 공통적인 아티팩트를 줄인다.예를 들어, 대각선과 곡선의 계단 아티팩트가 제거된다.

알고리즘은 영상의 크기를 원래 치수에서 1을 뺀 2배까지 조정한다.[2]

알고리즘

알고리즘은 다음과 같은 세 가지 주요 단계로 작동한다.

  1. 픽셀 사이의 간격이 있는 원본 픽셀을 출력 영상에 복사하십시오.
  2. 대각선 간격의 픽셀을 계산한다.
  3. 나머지 수평 및 수직 간격에 대한 픽셀을 계산한다.

DCCI interpolation pixel grid layout

대각선 간격의 픽셀 계산

대각선 픽셀의 평가는 4×4 영역의 원본 영상 데이터에 대해 이루어지며, 새로운 픽셀은 원본 픽셀 사이의 간격에서 중앙에서 계산된다.이것은 계산할 새로운 픽셀을 중심으로 확대된 영상에서 7×7 영역이라고 생각할 수 있으며, 원래의 픽셀은 이미 복사되었다.

알고리즘은 다음 세 가지 사례 중 하나를 결정한다.

  • 위쪽 오른쪽 방향의 에지 — 아래쪽 오른쪽 방향을 따라 보간한다.
  • 오른쪽 아래 가장자리 - 오른쪽 위 방향으로 보간한다.
  • 평활 영역 - 양방향으로 보간한 다음 가중치로 값을 곱한다.

대각선 모서리 강도 계산

d1을 위쪽 오른쪽 방향의 가장자리 합으로 하고, d2는 아래쪽 오른쪽 방향의 가장자리 합으로 한다.

d1을 계산하려면 X = 1 ~ 3, Y = 0 ~ 2의 영역에서 복근(P(X, Y) - P(X - 1, Y + 1)의 합계를 구한다.

d2를 계산하려면 X = 0 ~ 2, Y = 0 ~ 2의 영역에서 복근(P(X, Y) - P(X + 1, Y + 1)의 합계를 구한다.

DCCI interpolation diagonal pixels

보간 픽셀

(1 + d1) / (1 + d2) 1.15 이상이면 위쪽 오른쪽 방향에 가장자리가 있다.(1 + d2) / (1 + d1) > 1.15일 경우, 오른쪽 아래 방향으로 가장자리가 있다.

그렇지 않으면 하나는 평탄한 곳에 있다.분할 및 부동소수점 연산을 피하기 위해, 이것은 또한 100 * (1 + d1) > 115 * (1 + d2) > 100 * (1 + d2) > 115 * (1 + d1)로 표현할 수 있다.

오른쪽 위 가장자리

오른쪽 위 방향의 가장자리의 경우 오른쪽 아래 방향으로 보간한다.

출력 픽셀 = (-1 * P(0, 0) + 9 * P(1, 1) + 9 * P(2, 2) - 1 * P(3, 3) / 16

픽셀 값은 픽셀 값의 유효한 범위(일반적으로 0 ~ 255)로 강제해야 한다.

오른쪽 아래 가장자리

오른쪽 아래 방향의 가장자리의 경우 오른쪽 위 방향으로 보간한다.

출력 픽셀 = (-1 * P(3, 0) + 9 * P(2, 1) + 9 * P(1, 2) - 1 * P(0, 3) / 16

픽셀 값은 픽셀 값의 유효한 범위(일반적으로 0 ~ 255)로 강제해야 한다.

매끄러운 면적

매끄러운 영역에서, 오른쪽 위로부터의 가장자리 강도는 오른쪽 아래 샘플링 픽셀에, 오른쪽 아래로부터의 가장자리 강도는 오른쪽 위 샘플링 픽셀에 기여할 것이다.

w1 = 1 / (1 + d1 ^ 5)

w2 = 1 / (1 + d2 ^ 5)

중량1 = w1 / (w1 + w2)

중량2 = w2 / (w1 + w2)

DownRightPixel = (-1 * P(0, 0) + 9 * P(1, 1) + 9 * P(2, 2) - 1 * P(3, 3) / 16

UpRightPixel = (-1 * P(3, 0) + 9 * P(2, 1) + 9 * P(1, 2) - 1 * P(0, 3) / 16

출력 픽셀 = DownRightPixel * weight1 + UpRightPixel * weight2

픽셀 값은 픽셀 값의 유효한 범위(일반적으로 0 ~ 255)로 강제해야 한다.

나머지 픽셀 계산

나머지 픽셀의 평가는 7×7 영역의 스케일링된 영상 데이터에 대해 수행되며, 중앙에서 계산되는 새로운 픽셀이 있다.이러한 계산은 영상의 원래 픽셀 또는 이전 단계에서 계산된 대각선 픽셀에 따라 달라진다.

알고리즘은 다음 세 가지 사례 중 하나를 결정한다.

  • 수평 방향의 모서리 - 수직 방향을 따라 보간한다.
  • 수직 방향의 모서리 - 수평 방향을 따라 보간한다.
  • 평활 영역 - 양방향으로 보간한 다음 가중치로 값을 곱한다.

수평/수직 모서리 강도 계산

d1을 수평 방향의 가장자리의 합으로 하고, d2를 수직 방향의 가장자리의 합으로 한다.

원본에서 픽셀 값만 사용하고 대각선 방향에서 추가된 픽셀 값만 사용하여 계산할 픽셀 중심의 7×7 다이아몬드 모양의 영역을 고려하십시오.

d1을 계산하려면 수평 가장자리의 절대 차이의 합을 구하여 다음과 같은 픽셀 값을 샘플링하십시오.

P(X+1, Y-2) - P(X-1, Y-2)   +   P(X+2, Y-1) - P(X, Y-1)   +   P(X, Y-1) - P(X-2, Y-1)   +   P(X+3, Y) - P(X+1, Y)   +   P(X+1, Y) - P(X-1, Y)   +   P(X-1, Y) - P(X-3, Y)   +   P(X+2, Y+1) - P(X, Y+1)   +   P(X, Y+1) - P(X-2, Y+1)   +   P(X+1, Y+2) - P(X-1, Y+2)

d2를 계산하려면 수직 가장자리의 절대 차이의 합을 구하여 다음과 같은 픽셀 값을 샘플링하십시오.

P(X-2, Y+1) - P(X-2, Y-1)   +   P(X-1, Y+2) - P(X-1, Y)   +   P(X-1, Y) - P(X-1, Y-2)   +   P(X, Y+3) - P(X, Y+1)   +   P(X, Y+1) - P(X, Y-1)   +   P(X, Y-1) - P(X, Y-3)   +   P(X+1, Y+2) - P(X+1, Y)   +   P(X+1, Y) - P(X+1, Y-2)   +   P(X+2, Y+1) - P(X+2, Y-1)

DCCI interpolation horizontal/vertical pixels

보간 픽셀

(1 + d1) / (1 + d2) 1.15보다 크면 수평 방향으로 가장자리가 있다.

(1 + d2) / (1 + d1) > 1.15일 경우, 수직 방향으로 가장자리가 생긴다.

그렇지 않으면 하나는 평탄한 곳에 있다.

분할 부동소수점 연산을 피하기 위해, 이것은 또한 100 * (1 + d1) > 115 * (1 + d2) 및 100 * (1 + d2) > 115 * (1 + d1)로 표현할 수 있다.

수평 가장자리

수평 가장자리의 경우 픽셀 중앙에 있는 열만 사용하여 수직 방향으로 보간한다.

출력 픽셀 = (-1 * P(X, Y - 3) + 9 * P(X, Y - 1) + 9 * P(X, Y + 1) - 1 * P(X, Y + 3) / 16

픽셀 값은 픽셀 값의 유효한 범위(일반적으로 0 ~ 255)로 강제해야 한다.

수직 가장자리

수직 가장자리의 경우 픽셀 중앙에 있는 행만 사용하여 수평 방향으로 보간한다.

출력 픽셀 = (-1 * P(X - 3, Y) + 9 * P(X - 1, Y) + 9 * P(X + 1, Y) - 1 * P(X + 3, Y) / 16

픽셀 값은 픽셀 값의 유효한 범위(일반적으로 0 ~ 255)로 강제해야 한다.

매끄러운 면적

매끄러운 영역에서 수평 가장자리 강도는 수직으로 샘플링된 픽셀의 무게에 기여하고 수직 가장자리 강도는 수평으로 샘플링된 픽셀의 무게에 기여한다.

w1 = 1 / (1 + d1 ^ 5)

w2 = 1 / (1 + d2 ^ 5)

중량1 = w1 / (w1 + w2)

중량2 = w2 / (w1 + w2)

수평 픽셀 = (-1 * P(X - 3, Y) + 9 * P(X - 1, Y) + 9 * P(X + 1, Y) - 1 * P(X + 3, Y) / 16

수직 픽셀 = (-1 * P(X, Y - 3) + 9 * P(X, Y - 1) + 9 * P(X, Y + 1) - 1 * P(X, Y + 3) / 16

출력 픽셀 = 수직 픽셀 * 중량1 + 수평 픽셀 * 중량2

픽셀 값은 픽셀 값의 유효한 범위(일반적으로 0 ~ 255)로 강제해야 한다.

지정되지 않음

경계 픽셀

알고리즘은 영상 외부 경계 영역을 샘플링할 때 수행할 작업을 정의하지 않는다.가능한 작업으로는 경계 픽셀 복제, 이미지 반대쪽에서 픽셀 래핑, 이미지의 동일한 측면을 역방향으로 래핑하거나 특정 경계 색상 값을 사용하는 것이 있다.

컬러 영상

컬러 영상은 알고리즘에 의해 지정되지 않지만 에지 강도를 계산할 때 모든 RGB 성분 차이를 합산할 수 있고 픽셀을 보간할 때는 모든 RGB 성분을 사용할 수 있다.또는 YCbCr로 분할하여 루마 성분만 처리하고 다른 알고리즘을 사용하여 크로마를 스트레칭할 수 있다.

참고 항목

참조

  1. ^ Dengwen Zhou; Xiaoliu Shen. "Image Zooming Using Directional Cubic Convolution Interpolation". Retrieved 13 September 2015.
  2. ^ Sabir, Essaïd; Medromi, Hicham; Sadik, Mohamed (2016-02-02). Advances in Ubiquitous Networking: Proceedings of the UNet'15. Springer. ISBN 978-981-287-990-5.