검색 전체 메뉴
PDF
맨 위로
OA 학술지
고속 영상 압축을 위한 근사 이산 코사인 변환 An Orthogonal Approximate DCT for Fast Image Compression
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT
고속 영상 압축을 위한 근사 이산 코사인 변환

For image data the discrete cosine transform (DCT) has comparable energy compaction capability to Karhunen-Loeve transform (KLT) which is optimal. Hence DCT has been widely accepted in various image and video compression standard such as JPEG, MPEG-2, and MPEG-4. Recently some approximate DCT’s have been reported, which can be computed much faster than the original DCT because their coefficients are either zero or the power of 2. Although the level of energy compaction is slightly degraded, the approximate DCT’s can be utilized in real time implementation of image or visual compression applications. In this paper, an approximate 8-point DCT which contains 17 non-zero power-of-2 coefficients and high energy compaction capability comparable to DCT is proposed. Transform coding experiments with several images show that the proposed transform outperforms the published works.

KEYWORD
근사 DCT , 에너지 압축 , 고속 구현 , 변환의 직교성
  • Ⅰ. 서 론

    영상 신호의 응용 범위는 지속적으로 확대되고 있다. 방송, 영화, 1인 미디어 등의 멀티미디어 컨텐츠뿐만 아니라 경계, 교통, CCTV 등의 보안, 감시 분야의 영상 신호의 생산, 저장 및 전송 양이 폭발적으로 증가하고 있다. 이러한 방대한 영상 신호를 효율적으로 다루기 위해 신호를 압축하는 과정은 필수적이다. 직교 커널을 활용한 변환 코딩은 영상 신호의 압축의 주요한 기법이다. 이산 코사인 변환(DCT)은 직교 특성을 가질 뿐 아니라 영상 신호에 대해 높은 에너지 집중 특성을 보유하고 있다. 에너지 집중 관점에서는 Karhunen-Loeve 변환이 최적이지만, 신호의 통계적 특성을 미리 알아야 하므로 실제 응용의 구현에는 적당하지 않다[1]. 이러한 이유로 JPEG, MPEG-2, MPEG-4, H.263 등의 많은 국제 영상 압축 표준에서 DCT를 채택하고 있다.

    DCT의 계수는 삼각함수이므로 DCT를 충분한 정밀도로 구현하고자 한다면 일반적으로 많은 비트 수의 곱셈이 필수적이다. 처리 속도를 높이기 위해 곱셈 횟수를 줄일 수 있는 고속 DCT 알고리듬이 많이 제안되었으며[2,3], 곱셈기의 비용을 줄이기 위해 주어진 오차 성능을 만족하는 신호의 최소의 비트수를 찾는 방법에 대한 연구도 많이 보고되었다[4].

    한편 곱셈을 요구하지 않은 변환에 대한 연구도 보고 되었는데, SDCT (signed DCT) 는 DCT 계수에 signum 함수를 적용하여 자신의 계수로 삼았다[5]. 그 계수가 –1, 0, 또는 1이므로 덧셈만으로 변환을 계산할 수 있으며 따라서 영상의 처리 속도를 높일 수 있다. 그러나 에너지 집중 능력도 많이 떨어지고, 직교변환도 아니며, 필요한 덧셈 수도 24회로 충분히 적지 않다.

    SDCT가 제안된 이후로 SDCT의 단점인 계산량과 직교성을 개선하기 위한 연구가 활발히 수행되었다. [6]에서 제안된 변환은 다음과 같다.

    image

    단,

    image

    이다. SDCT와 비교해보면 24개의 계수가 0이 되었고, 나머지도 그 크기가 모두 2의 지수승 형태이다. 변환을 계산하기 위해 필요한 계산량은 덧셈 17회와 쉬프트 2회이므로 SDCT보다 적다. 비록 완벽하지는 않지만 직교성도 많이 개선되었다. 의 비대각 성분 중에 두개의 0이 아닌 성분이 있지만 그 효과는 무시할 만하고 를 역행렬로 근사할 수 있다.

    Cintra 등은 정수함수를 이용하여 8포인트 DCT의 근사 변환을 제안하였다[7]. 사용된 정수함수로는 floor, ceil, truncation, rounding 함수등이 있다. 이러한 근사 변환들은 직교성을 가지거나 준직교성을 가진다. 또한 계산량도 상대적으로 낮고 역변환도 간단하다. 변환을 계산하기 위해 18 ~ 24회의 덧셈을 필요로 한다. 특히 0을 향한 반올림 함수를 사용한 함수는 직교성을 띠며 쉬프트 연산도 사용하지 않는다. 변환 행렬은 다음과 같다.

    image

    단,

    image

    이다.

    [8]에서는 26개의 0과 ±1을 사용한 근사 DCT 변환을 제안하였다. 0의 갯수가 많기 때문에 변환의 계산에 요구되는 덧셈의 횟수는 17번이다. 그러나 다른 근사 DCT 변환에 비해 에너지 집중 능력이 떨어지고, 또한 변환이 직교성을 가지고 있지 않아 전치행렬을 역행렬로 삼을 수 없는 단점이 있다.

    근사 DCT에 대한 또 다른 연구 결과로는 [9][10] 등이 있는데, 이들은 DCT 변환의 크기를 조정한 후 반올림하는 기법을 적용했다. 변환 행렬은 16개의 0과 ±1을 사용하였으며 계산을 위해 22번의 덧셈이 요구된다. 비록 계산량이 다소 많으나 직교성이 있으므로 역변환의 계산은 용이하다. 본 논문의 구성은 다음과 같다. 2절에서는 에너지 집중 능력이 높고 계산량도 상대적으로 낮은 새로운 근사 DCT 변환이 제안된다. 다양한 테스트 영상을 이용하여 제안된 변환의 성능을 비교한 결과는 3절에 소개된다. 마지막으로 4절에서 수행된 연구의 결과를 정리한다.

    Ⅱ. 높은 에너지 압축 성능의 근사 DCT

    제안된 8-포인트 근사 DCT 행렬은 적은 계산량과 높은 에너지 집중 능력을 가지면서 직교성을 유지하는 것이 바람직하다. 먼저 계산량을 낮추기 위해 8-포인트 DCT 행렬의 각 성분을 {-1, -1/2, 0, 1/2, 1} 중에 가장 가까운 값으로 치환하였다. ±1/2은 한 비트 쉬프트 연산으로 대체할 수 있으므로 덧셈만으로 변환을 계산할 수 있다. 계산량을 줄이는 또 하나의 방법은 0의 갯수를 늘리는 것이므로 각 행벡터의 주파수 특성을 많이 훼손하지 않는 범위에서 계수를 0으로 교체한다. 이는 또한 DCT의 에너지 집중 성질을 유지할 수 있는 방법이 된다. 단, 계수 교체 시에 변환의 직교성이 유지되도록 제한을 둔다.

       2.1. 제안된 근사 변환

    제안되는 근사 DCT 행렬은 다음과 같다.

    image

    단,

    image

    이며 TP를 정규화시킨다, 즉 이다. 다음 절의 실험 결과에서도 확인할 수 있듯이 제안된 변환은 다른 유사 DCT 변환들에 비해 우수한 에너지 집중 특성을 보인다.

       2.2. 고속 계산 방법

    나비 연산을 이용한 고속 계산 방식은 그림 1과 같다. 두꺼운 실선은 신호가 그대로 전달되며, 점선은 부호가 반전된다. 두 신호가 합쳐진 곳의 검정색 점은 두 신호를 더하는 동작을 의미한다. 직선 위에 “/2”는 신호에 0.5를 곱하여 전달하라는 뜻이다. 출력의 순서가 섞여 있기는 하지만, 계산 과정에서는 in-place 계산을 할 수 있다.

    제안된 변환은 총 17번의 덧셈과 두 번의 1비트 쉬프트, 그리고 두 번의 부호 반전으로 8 포인트 변환을 계산할 수 있다. [9][10]의 변환은 총 22번의 덧셈을 요구하기 때문에 제안된 변환이 계산량 측면에서 우수하며, [6][8]은 17번의 덧셈을 사용하기 때문에 계산량은 같지만, 다음 절에서 보는 바와 같이 에너지 집중능력 면에서 제안된 변환이 우수하다.

    Ⅲ. 압축 성능 비교 실험

       3.1. 실험 환경

    성능 비교 실험의 절차는 JPEG 표준 환경과 유사하며 그림 2와 같다. 먼저 테스트 이미지를 8x8 블럭으로 분할하여 변환한다.

    변환 계수를 크기로 정렬하여 그 중 N개 만 남기고 나머지는 0으로 만든다. 에너지 집중 능력이 좋다면 없어진 계수의 영향이 적을 것이며, 따라서 압축 능력이 좋아진다. N개의 계수만으로 역변환을 한 후 이미지를 복원한다.

    제안된 변환의 에너지 집중능력을 평가하기 위하여 PSNR (peak signal to noise ratio)와 PEEN (percentage error energy norm)을 사용하였다. 각각은 다음과 같이 구한다.

    image

    단, 이다. xij는 원 이미지의 픽셀값이고, 는 복원된 픽셀값이다.

    image

       3.2. 성능 비교

    제안된 변환의 에너지 집중 성능 비교를 위해 barbara, boat, cameraman, baboon 영상을 사용하였다. 그림 3은 영상 복원에 사용한 계수의 갯수와 복원된 영상의 PSNR을 각 테스트 영상에 대해 보여준다. 원영상을 네가지 변환, 즉 DCT, T1, T2, 그리고 본 논문에서 제안 된 Tp에 대하여 모의실험을 하였다. 모든 테스트 영상과 모든 실험 환경에서 제안된 근사 변환이 기존의 변환보다 우수한 성능을 보인다.

    T1, T2는 사용한 계수의 갯수가 늘어나면서 DCT와 의 PSNR 차이가 점점 커지고 있지만 제안된 Tp는 거의 DCT와 근접한 성능을 보이고 있다. 또한 테스트 영상에 따라 T1, T2는 DCT와의 성능 차이가 달라지는데, Tp는 거의 일정한 성능을 보이고 있다.

    그림 4는 영상 복원에 사용한 계수의 갯수와 복원된 영상의 PEEN을 각 테스트 영상에 대해 보여준다. 모든 테스트 영상과 모든 실험 환경에서 제안된 근사 변환이 기존의 변환보다 오차의 비율이 낮다. T1, T2는 사용한 계수의 갯수가 늘어나면서 DCT와의 PEEN 차이가 점점 커지고 있지만 제안된 Tp는 거의 DCT에 근접한 성능을 보이고 있다. 또한 테스트 영상에 따라 T1, T2는 DCT와의 성능 차이가 달라지는데, Tp는 거의 일정한 성능을 보이고 있다.

    그림 5에서는 8개의 변환 계수를 사용하여 복원한 테스트 영상을 보여준다.

    Ⅳ. 결 론

    본 논문에서는 고속 영상 압축을 위해 낮은 계산량을 사용하면서도 DCT에 근접한 압축 성능을 갖는 근사 DCT를 제안하였다. 총 17번의 덧셈만으로 변환을 계산할 수 있으므로 JPEG과 같은 정지영상 압축 환경에서 고속으로 입력 영상을 압축할 수 있다. 또한 제안된 변환은 직교성을 보유하고 있으므로 영상 복원을 위해 변환 행렬의 전치 행렬을 사용할 수 있다는 장점도 있다. 다양한 특성을 갖는 여러 영상에 대한 테스트에 의하면 다른 근사 변환과 달리 모든 영상에 대해 고른 압축성능을 보임을 알 수 있다.

참고문헌
  • 1. Pratt W. 2007 Digital Image Processing google
  • 2. Chen W. H., Smith C. H., Fralick S. C. 1977 “A fast computational algorithm for the discrete cosine transform,” [IEEE Trans. Comm.] Vol.25 P.1004-1009 google cross ref
  • 3. Lee B. G. 1984 “A new algorithm to compute the discrete cosine transform,” [IEEE Trans. Acoust., Speech, Signal Processing] Vol.32 P.1234-1245 google
  • 4. Kim S., Sung W. 1998 “Fixed-point error analysis and word length optimization of 8x8 IDCT architectures,” [IEEE Trans., Circuits and Systems for Video Technology] Vol.8 P.935-940 google cross ref
  • 5. Haweel T. I. 2001 “A new square wave transform based on the DCT,” [Signal Processing] Vol.81 P.2309-2319 google cross ref
  • 6. Senapati R. K., Pati U. C., Mahapatra K. K. 2014 “A low complexity orthogonal 8x8 transform matrix for fast image compression,” [Proc. Annual IEEE India Conference] P.1-4 google
  • 7. Cintra R. J., Bayer F. M., Tablada C. J. 2014 “Low complexity 8-point DCT approximation based on integer functions,” [Signal Processing] Vol.99 P.201-214 google cross ref
  • 8. Brahimi N., Bouguezel S. 2011 “An efficient fast integer DCT transform for image compression with 16 addtions only,” [Proc. IEEE 7th International Workshop on systems, signal Processing and Their Applications] P.71-74 google
  • 9. Cintra R. J., Bayer F. M. 2011 “A DCT approximation for image compression,” [IEEE Signal Processing Letters] Vol.18 P.579-581 google cross ref
  • 10. Saraswathy K., Vaithiyanathan D., Seshasayanan R. Apr., 2013 “A DCT approximation with low complexity for image compression,” [IEEE International Conference on Communication and Signal Processing] P.464-468 google
OAK XML 통계
이미지 / 테이블
  • [ ] 
  • [ ] 
  • [ ] 
  • [ ] 
  • [ ] 
  • [ ] 
  • [ 그림 1. ]  제안된 변환의 고속 계산 방법
    제안된 변환의 고속 계산 방법
  • [ 그림 2. ]  압축 성능을 측정하기 위한 절차
    압축 성능을 측정하기 위한 절차
  • [ ] 
  • [ ] 
  • [ 그림 3. ]  복원에 사용된 계수의 갯수에 따른 테스트 영상 별 PSNR
    복원에 사용된 계수의 갯수에 따른 테스트 영상 별 PSNR
  • [ 그림 4. ]  복원에 사용된 계수의 갯수에 따른 테스트 영상 별 PEEN
    복원에 사용된 계수의 갯수에 따른 테스트 영상 별 PEEN
  • [ 그림 5. ]  8개의 변환 계수를 사용하여 복원한 영상; 좌측으로부터 T1, T2, Tp.
    8개의 변환 계수를 사용하여 복원한 영상; 좌측으로부터 T1, T2, Tp.
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.