DOI QR코드

DOI QR Code

A Study on the Fast Computational Algorithm for the Discrete Cosine Transform(DCT) via Lifting Scheme

리프팅 구조를 경유한 고속의 DCT 계산 알고리즘에 관한 연구

  • Inn-Ho Jee (Dept. of Software and Communication Engineering, Hongik University)
  • 지인호 (홍익대학교 소프트웨어융합학과)
  • Received : 2023.10.05
  • Accepted : 2023.12.08
  • Published : 2023.12.31

Abstract

We show the design of fast invertible block transforms that can replace the DCT in future wireless and portable computing application. This is called binDCT. In binDCT, both the forward and the inverse transforms can be implemented using only binary shift and addition operation. And the binDCT inherits all desirable DCT characteristics such as high coding gain, no DC leakage, symmetric basis functions, and recursive construction. The binDCT also inherits all lifting properties such as fast implementations, invertible integer-to-integer mapping, in-place computation. Thus, this method has advantage of fast implementation for complex DCT calculations. In this paper, we present computation costs and performance analysis between DCT and binDCT using Shapiro's EZW.

미래의 무선과 휴대용 계산 응용에서 DCT 대체할 수 있는 가역적인 블록 변환의 구현을 제시하였다. 이것을 binDCT라 불린다. BinDCT에서 정방향과 역방향 변환들은 이진 천이와 더하기 연산으로 구현될 수 있다. 그리고 binDCT는 바람직한 DCT 특징인(고코딩이득, DC손실 없음, 대칭적인 기저함수, 재귀적 구성)을 유지한다. 또한 binDCT는 lifting 특징인(빠른 구현, 가역적인 정수대정수 매핑, 내부 계산)을 유지한다. 따라서 복잡한 DCT 연산을 보다 빠르게 실행할 수 있는 장점을 가진다. 이 논문에서는 DCT와 binDCT의 계산비용과 성능분석을 Shapiro의 EZW을 사용하여 제시하였다.

Keywords

Ⅰ. 서론

DCT는 이미지 및 비디오 처리 분야 뿐만 아니라 다양한 분야에서 널리 사용되고 있다. 또한 JPEG, H.26x 그리고 MPEG에서도 국제 표준안으로 사용되고 있다. 그러나 DCT는 많은 연산량을 필요로 하므로 DCT의 연산을 보다 빠르게 수행하기 위한 다양한 알고리즘들이 개발되어 왔다. 이러한 알고리즘의 일부는 DCT 행렬의 인수분해를 기반으로 하고 있으며 이들 중의 대부분은 순환구조를 사용한다. 이론적으로 1차원 8-point DCT에 필요한 곱셈기의 수가 11이고 29개의 더하기가 필요하다고 증명되었다. 이미 언급된 빠른 알고리즘은 아직 소수점 계산이 필요하여 하드웨어와 소프트웨어 구현 시 느려지게 된다. 보다 빠른 구현을 얻기 위해서는 많은 알고리즘에서 계수들이 스케일링 되고 정수로 간략화 되어 소수점 곱셈이 정수형 곱셈으로 대체되어야 한다. 본 논문에서는 미래의 무선 분야와 휴대용 컴퓨팅 응용분야에서 DCT를 대체할 수 있는 빠른 역변환이 가능한 블록 변환의 디자인을 나타낸다. 이 새로운 변환을 binDCT라 한다. BinDCT의 순방향과 역방향 변환은 단지 이진 쉬프트와 더하기 연산을 사용하여 동작 되며, DCT에서 고려 될 수 있는 특징인, 즉 높은 코딩 이득과 DC 손실이 없으며 대칭적인 기본함수들 그리고 순환구조를 가진다. 또한 모든 리프팅의 특징 즉, 빠른 동작과 덮어쓰기, 정수형 변환이 가능한 특징을 가지고 있다.

Ⅱ. 회전 변환에 근거한 리프팅과 DCT 인수분해

1. 공간 회전에 근거한 DCT 인수분해

Chen[9]은 N = 2m, m ≥ 2을 가지는 어떤 N-point DCT-Ⅱ에서 인수분해를 하기 위한 순환 알고리즘을 제안했다. 매우 규칙적인 구조를 가지는 인수분해는 DFT에 근거한 빠른 DCT 알고리즘만큼 빠른 속도를 가진다.

그림 1은 8-point DCT의 인수분해를 보여준다. 그림 1은 5개의 공간회전을 가진다. 또한 총 13개의 곱셈과 29개의 더하기 연산으로 동작되어진다. DCT 계수는 스케일 factor를 포함한다. 그림 2는 Loeffler[7]에 의해 제안된 보다 정밀한 DCT의 인수분해는 스케일된 4-point DCT를 포함하고 있으며, 단지 11개의 곱셈기와 29개의 덧셈기가 필요하다.

OTNBBE_2023_v23n6_75_f0001.png 이미지

그림 1. Chen의 인수분해에 의한 8-point DCT

Fig. 1. 8-point DCT of Chen’s factorization

OTNBBE_2023_v23n6_75_f0002.png 이미지

그림 2. Loeffler의 인수분해에 의한 8-point DCT

Fig. 2. 8-point DCT of Loeffler’s factorization

2. 공간 회전에 근거한 리프팅

그림 3(a)는 3단계 리프팅 속에서의 공간 회전의 분해를 보여준다.

OTNBBE_2023_v23n6_75_f0008.png 이미지

그림 3. 3단계 리프팅에 의한 공간 회전의 표현

Fig. 3. Space rotation representation of 3-level lifting

이것은 행렬 형태로 다음과 같이 쓸 수 있다.

\(\begin{aligned}\left[\begin{array}{cc}\sin (\alpha) & -\sin (\alpha) \\ \sin (\alpha) & \cos (\alpha)\end{array}\right]=\left[\begin{array}{ll}1 & p \\ 1 & u\end{array}\right]\left[\begin{array}{ll}1 & 0 \\ u & 1\end{array}\right]\left[\begin{array}{ll}1 & p \\ 0 & 1\end{array}\right]\end{aligned}\)       (1)

여기서 p = (cos(α) - 1)/sin(α), u = sin(α)이다. 각 리프팅 단계는 쌍직교 변환이고 그것들의 역변환 또한 간단하게 된다.

\(\begin{aligned}\left[\begin{array}{ll}1 & x \\ 0 & 1\end{array}\right]=\left[\begin{array}{cc}1 & -x \\ 0 & 1\end{array}\right],\left[\begin{array}{ll}1 & 0 \\ x & 1\end{array}\right]=\left[\begin{array}{cc}1 & 0 \\ -x & 1\end{array}\right]\end{aligned}\)       (2)

위의 결과로 공간 회전은 그림 3(b)의 리프팅 단계로 표현될 수 있다.

\(\begin{aligned}\left[\begin{array}{cc}\cos (\alpha) & -\sin (\alpha) \\ \sin (\alpha) & \cos (\alpha)\end{array}\right]\left[\begin{array}{cc}1 & -p \\ 0 & 1\end{array}\right]\left[\begin{array}{cc}1 & 0 \\ -u & 1\end{array}\right]\left[\begin{array}{cc}1 & -p \\ 0 & 1\end{array}\right]\end{aligned}\)       (3)

이것은 리프팅이 역변환 될 수 있음을 의미하고, 순방향에서 더해준 것들은 뺄셈이 필요할 뿐이다. 그러므로, 원 신호는 비록 리프팅 단계에서 부동 소수점 곱셈의 결과들이 정수형으로 변환이 되더라도 순방향과 역방향 모두 같은 과정을 적용할 수 있다. 이것은 리프팅을 기반으로 한 무손실 변환을 위한 것이다.

Ⅲ. 성능 평가

1. Coding gain

코딩 이득은 압축 응용에 사용되는 변환에서 아주 중요한 변수가 된다. 쌍 직교 코딩 이득 Cg는 다음과 같이 정의한다.

\(\begin{aligned}C_{g}=10 \log _{10} \frac{\sigma_{x}^{2}}{\left(\prod_{i=0}^{M-1} \sigma_{x_{i}}^{2}|\quad| f_{i}||^{2}\right)^{\frac{1}{M}}}\end{aligned}\)       (4)

여기서 M : 부대역의 수

σ2x : 입력의 분산

σ2xi : i - th 부대역의 분산

| | fi | |2 : i - th 합성 기저 함수의 norm

DCT의 코딩 이득은 KLT와 매우 유사하게 된다.

2. Mean Square Error(MSE)

BinDCT와 원래의 DCT 출력의 양립성을 유지하기 위해서는 DCT와 binDCT 사이의 계수들의 MSE는 최소화 되어야 한다. 합당한 입력 신호를 가정하면 MSE는 다음과 같이 계산된다. M × M이 DCT 행렬이라 가정하면 UM을 그의 간략화라고 하자. 주어진 입력 열벡터가 x라면 1-D M-point DCT 계수와 그의 간략화된 변환의 계수들과의 오차는 다음과 같다.

e = UMX - U'MX = (UM - U'M)XDX       (5)

위의 식으로부터 원래의 DCT와 간략화된 DCT 사이의 MSE는 다음과 같다.

\(\begin{aligned} M S E & =\frac{1}{M} E\left[e^{T} e\right]=\frac{1}{M} E\left[X^{T} D_{X}^{T} X D_{X}\right] \\ & =\frac{1}{M} E\left[\operatorname{Trace}\left\{D_{X X}^{T} D^{T}\right\}\right]=\frac{1}{M} \operatorname{Trace}\left\{D R_{X X} D^{T}\right\}\end{aligned}\)       (6)

여기서 RXX = E[XXT}는 입력의 자기 상관 행렬이다.

Ⅳ. 8-point binDCT

일반적인 binDCT는 Chen의 인수분해를 기반으로 한다. 그림 4는 binDCT의 C 형태이다[1]. 어떤 연산자의 표시는 모든 양의 스켈링 인자들을 만들기 위해 포함된다. π/4를 갖는 중간 회전은 3 단계 리프팅에 의해 동작하고, 3π/8과 7π/8을 사용한 리프팅 구조로 변경되어진다. X[0]와 X[4] 사이에 π/4의 회전은 또한 버터플라이 대신에 스케일 된 리프팅 구조에 의해 개선되어진다. 하나의 vanishing 모멘트와 같은 순방향과 역방향 변환 동안 같은 버터플라이 계수들은 모든 부대역들을 만들기 위함이다. 두개의 버터플라이 연산자는 2의 스케일링 인자를 가지고 있고, 순방향과 역방향 변환의 조합은 모든 부대역들을 위한 4인 스케일링 인자를 가진다. 이것은 2-D에서 16이 된다. 이것은 간단한 이동 연산에 의해 보상되어진다. 스케일링 인자들은 양자화 단계에서 흡수되어진다. 그들은 무손실 압축에서 우회하게 되거나, 원래 DCT에서는 조합을 필요로 하지 않는다. 리프팅 구조의 특징은 신호들의 손실이 있는 완전재생의 리프팅 파라미터들을 조절할 수 있게 한다. 이것은 최적화에 기반한 디자인 방법보다 더 융통성이 있다.

OTNBBE_2023_v23n6_75_f0003.png 이미지

그림 4. 순방향 binDCT

Fig. 4. Forward binDCT

표 1은 리프팅 파라미터와 binDCT 군의 수치들을 나타내고 있다. 여기서 값들은 정확도의 차이를 가지는 분석적인 값들을 뒷자리를 잘라 내거나 반올림한 값들이다. 그림 5와 그림 6은 DCT와 binDCT C7의 주파수 응답을 비교한 그림이다. 그림5와 6의 수평 x축은 주파수를 나타내고 수직 y축은 magnitude 응답을 나타낸다.

표 1. Chen의 인수분해에 기반한 binDCT의 형태

Table 1. The form of binDCT by Chen’s factorization

OTNBBE_2023_v23n6_75_t0001.png 이미지

OTNBBE_2023_v23n6_75_f0004.png 이미지

그림 5. DCT의 주파수 응답

Fig. 5. Frequency response of DCT

OTNBBE_2023_v23n6_75_f0005.png 이미지

그림 6. binDCT C7의 주파수 응답

Fig. 6. Frequency response of binDCT C7

Ⅴ. 실험 및 결과

실험에서는 Chen의 인수분해를 기반으로 하는 8-point binDCT 변환과 8-point DCT의 성능과 연산량에 대하여 비교 실험을 실시하였다. 실험에 사용된 영상은 512×512 크기를 갖는 8bit gray level의 LENA 영상과 BARBARA 영상을 사용하였다. 사용된 압축 알고리즘은 Shapiro에 의해 제안된 EZW 방식을 사용하였다[5]. 8×8 크기의 DCT 블럭은 depth-3의 웨이브렛 변환 계수처럼 사용되었다.

그림 7은 8-point DCT를 기반으로, embedded 이미지 코딩을 실시하여 얻은 결과 영상이다.

OTNBBE_2023_v23n6_75_f0006.png 이미지

그림 7. DCT 기반의 embedded 이미지 코딩 (a),(b),(c),(d)

Fig. 7. DCT based embedded image coding at each bpp

그림 8은 8-point BinDCT를 기반으로, embedded 이미지 코딩을 실시하여 얻은 결과 영상이다. LENA 영상과 BARBARA 영상의 각 bpp에 대한 PSNR은 표 2에 나타내었다.

OTNBBE_2023_v23n6_75_f0007.png 이미지

그림 8. BinDCT기반의 embedded 이미지 코딩 (a),(b),(c),(d)

Fig. 8. BinDCT based embedded image coding at each bpp

표 2. 실험결과

Table 2. Simulation results

OTNBBE_2023_v23n6_75_t0002.png 이미지

표 2에서 나타내고 있는 PSNR 값은 block DCT에서 발생하는 blocking 현상을 고려하지 않은 값이다. 8-point DCT의 경우 13개의 곱셈과 29개의 덧셈 연산을 필요로 하지만 binDCT의 경우 23개의 이동과 42개의 덧셈 연산으로 동일한 DCT 계수를 얻을 수 있다. BinDCT는 동일한 PSNR 값을 갖으면서도 곱셈 연산을 하지 않기 때문에 낮은 연산량을 요구한다.

Ⅵ. 결론

본 논문에서는 곱셈기가 없는 binDCT를 사용한 영상의 embedded 코딩을 제시하였다. 8-point DCT의 경우 13개의 곱셈과 29개의 덧셈 연산을 필요로 하지만 binDCT의 경우 23개의 이동과 42개의 덧셈연산으로 동일한 DCT 계수를 얻을 수 있다. 따라서 복잡한 DCT 연산을 보다 빠르게 실행할 수 있는 장점을 가진다. BinDCT는 Chen의 DCT 행렬의 인수분해를 이용해 얻을 수 있다. BinDCT는 리프팅의 장점인 덮어쓰기, 정수형 연산 등을 가지게 되며, 영상 코딩에서도 DCT와 동일한 성능을 나타내므로 높은 성능의 멀티미디어 컴퓨팅과 통신 분야에 응용되어질 수 있다.

References

  1. J. Liang and T. D. Tran, "Fast multiplierless approximation of the DCT with the lifting scheme," IEEE Trans. Signal Processing, vol. 49, no. 12, pp. 3032-3044, Dec. 2001.  https://doi.org/10.1109/78.969511
  2. Y. Chen, S. Orantara and T. Nguyen, "Integer discrete cosine transform (IntDCT)," in Proc. 2nd Int. Conf. Inform., Commun. Singnal. Process., Dec. 1999. 
  3. I. Daubechies and W. Sweldens, "Factoring wavelet transform into lifting step," J. Fourier Anal. Appl., vol. 4, no. 3, pp. 247-269, 1998.  https://doi.org/10.1007/BF02476026
  4. W. Sweldens, "The lifting scheme: A custom-design construction of biorthogonal wavelets," Appl. Comput. Harmon. Anal., vol. 3, no. 2, pp. 186-200, 1996.  https://doi.org/10.1006/acha.1996.0015
  5. J. M. Shapiro, "Embedded image coding using zerotrees of wavelet coefficients," IEEE Trans. Signal Processing, vol. 41, no. 12, pp. 3445-3462, 1993.  https://doi.org/10.1109/78.258085
  6. S. C. Chan and K. L. Ho, "A new two-dimensional fast cosine transform algorithm," IEEE Trans. Signal Processing, vol. 39, pp. 481-485, Feb. 1991.  https://doi.org/10.1109/78.80833
  7. C. Loeffler, A. Lightenberg, and G. Moschytz, "Practical fast 1-D DCT algorithms with 11 multiplications," Proc. IEEE ICASSP, vol. 2, pp. 988-991, Feb. 1989. 
  8. H. Malvar, "Fast computation of the discrete cosine transform and the discrete Hartley transform," IEEE Trans. Acoust., Speech, Signal Processing, vol. ASSP-35, pp. 1484-1485, Oct. 1987.  https://doi.org/10.1109/TASSP.1987.1165043
  9. W. Chen, C. H. Smith, and S. C. Fralick, "A fast computational algorithm for the discrete cosine transform," IEEE Trans. Commun., vol. COMM-25, pp. 1004-1009, Sept. 1977.  https://doi.org/10.1109/TCOM.1977.1093941
  10. Sang-Un Lee, "Algorithm for Block Packing of Main Memory Allocation Problem," The Journal of The Institute of Internet, Broadcasting and Communication (IIBC) vol. 22, No. 6, pp.99-105, Dec. 31, 2022. DOI: https://doi.org/10.7236/JIIBC.2022.22.6.99 
  11. Inn-Ho Jee, "A Study on Noise Removal Using Over-sampled Discrete Wavelet Transforms," The Journal of The Institute of Internet, Broadcasting and Communication (IIBC) vol. 19, No. 1, pp. 69-75, Feb. 28, 2019. DOI: https://doi.org/10.7236/JIIBC.2022.22.6.99 
  12. S-Ra-El Lee, Kyung-Sik Ko, Jong-Won Park, "Automated Algorithm for Super Resolution(SR) using Satellite Images",The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), vol. 18, No. 2, pp. 209-216, Apr. 30, 2018. DOI: https://doi.org/10.7236/JIIBC.2022.22.6.99 
  13. M. H. Lee and J. H. Kim, "Characteristics of Jacket Matrix for Communication Signal Processing," The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), vol. 21, No 2, pp. 103-109, Apr. 30, 2021. DOI: https://doi.org/10.7236/JIIBC.2021.21.2.103