1. 서론
현대 사회에서 주고 받는 정보의 양이 상당해질수록 해당 정보를 주고 받을 때 데이터 압축은 불가피하다[1-17]. 특히, 5G(Generation) 시대가 도래함에 따라 초고용량 데이터 및 실시간으로 전송되는 데이터에 대한 전송 지연율을 최소화하기 위해 압축은 필수적이다. 정보화시대에 있어 압축 기술은 끊임없이 거론되는 기술로서 텍스트 데이터, 정지 영상, 음성, 동영상 등 다양한 데이터를 전송하는 과정에서 필수적으로 사용된다[9-13].
압축 방식에는 무손실 압축과 손실 압축이 있다. 일반적으로 사용되는 데이터는 손실 압축을 통해서도 사용자들은 큰 불편함을 느끼지 않지만, 의료 영상, 데이터 보관, 원격 감지, 위성 송수신 등 데이터 보존이 중요한 정보에 있어서는 무손실 압축 기술을 선택한다[12-13]. 더불어 무손실 압축은 손실 압축 기법의 마지막 단계로 종종 필요하기도 하다. 그러기 때문에 수많은 무손실 압축에 대한 연구가 이루어져 왔다.
그중, 가장 널리 사용되는 기법인 JPEG-LS는 기존의 JPEG이 가지는 비효율적인 무손실 압축 방법을 보완하여 새로운 무손실 압축 기법을 소개하였다. LOCO-I (LOw COmplexity LOssless COmpression for Images)는 국제 표준화 기구 ISO/ITU에서 발표한 영상 데이터에 대한 무손실 압축 기법의 핵심 알고리즘으로 이는 JPEG-LS에서 사용되는 압축 알고리즘이다[11]. JPEG-LS는 LOCO-I 압축 기법을 통해 범용적인 컨텍스트 모델링에 대한 복잡도를 낮춰 압축의 효율을 증대시켰고 현재 문헌상으로 알려진 무손실 압축 기법 중 전체적으로 높은 성능을 보여주는 기법이다.
또한, JPEG-LS와 비등한 성능을 보이는 무손실 압축 기법은 CALIC(context based adaptive lossless image codec) 방식이다[18]. CALIC은 기존의 공개된 다른 기법보다 손실 없이 이미지 압축에 높은 성능을 보여주고 있다. 이러한 높은 성능은 비교적 적은 시간 및 비용 소모를 통해 이루어진 결과이기도 하다. 즉, CALIC 방법은 무손실 압축에 있어 높은 성능과 저비용이라는 점에서 큰 장점을 가지고 있다.
그 뒤로 등장한 CTW(context tree weighting) 방식 역시 context 간의 유사성을 통해 데이터를 압축 하는 기술로 기존의 Arithmetic coding보다 높은 성능을 보여준다[16-17]. CTW는 가변 차수 모델링을 통해 데이터에 대한 예측을 실행하고 예측된 데이터에 대한 불필요한 중복성과 복잡도를 낮추기 위해 산술부호 코딩을 수행한다. 특히, CTW 방식은 입력 데이터를 binary 데이터 단위로 취급하여 산술 부호 코딩을 수행하는데, 이는 어떤 입력 데이터가 들어와도 비트 단위로 수행한다는 점에서 유연하게 사용이 가능하다는 점을 암시한다.
본 논문에서는 기존에 알려진 무손실 산술 부호기 방법 중 CTW 압축 알고리즘을 이용하여 위성 및 항공 영상을 보다 높이 압축하기 위한 전처리 단계를 제안한다. 위성 및 항공 영상은 데이터 자체가 가지고 있는 정보량이 많기 때문에 무손실 압축을 선호한다. 이러한 수요 때문에 본 논문에서는 입력 영상 데이터를 옵션 정보에 따라 블록화하여 나눈 후 나누어진 영상에 각각 CTW 기법을 적용하여 무손실 압축을 진행한다. 본 연구에서는 입력 영상에 적응적인 블록화를 통해 CALIC 기법보다 높은 성능을 보여주고자 한다. 제안되는 방법은 기존의 영상을 그대로 무손실 압축하는 기법보다 높은 성능을 보여준다는 점에서 정보를 송수신하는 과정에서 데이터의 손실 없이 전송비용을 줄일 수 있다는 장점을 가진다. 그리고 고용량의 영상 데이터를 손실 없이 압축하여 보관할 때 메모리 소모를 줄일 수 있다. 또한, 영상 데이터를 분할하여 압축하기 때문에 압축 과정이 간단하고 빠르다. 병합하는 과정에서도 영상 순서에 대한 헤더 정보를 통해 빠르게 재배열이 가능하다는 점에서 기존의 방법보다 객관적으로나 주관적으로 성능이 우수함을 알 수 있다.
본 논문의 구성은 다음과 같이 이루어졌다. 1절에서는 본 논문에서 다루는 무손실 압축 기법에 대한 소개 및 본 논문의 필요성에 대해 다루었고, 2절에서는 본 논문에서 사용되는 CALIC 기법 및 CTW 기법에 대한 기본 개념을 다루었다. 3절에서는 본 논문에서 제안하는 방법에 대해 소개한다. 4절에서는 해당 실험에 관한 결과 및 분석에 대해 이야기 하며 마지막으로 5절에서는 본 논문에 대한 결론으로 끝맺음한다.
2. 기본 개념
입력 데이터에 대한 압축 과정은 크게 두 단계로 이루어진다. 첫 번째로 입력 영상에 대한 상관도를 제거하는 전처리 과정이 이루어지며, 두 번째는 실제 압축 과정이다. 그중 상관도 제거 과정은 영상이 가지는 상관도를 제거함으로써 압축의 효율을 높이는 과정으로 사용되는 전처리 기술에 따라 압축의 효율이 바뀔 수 있다. 두 번째로 실제 압축 과정이 진행된다. 두 번째 단계 역시 사용되는 압축 기법에 따라 압축의 효율이 바뀌기 때문에 적절한 상관도 제거 방법과 압축 기법을 조합하여 입력 데이터를 효율적으로 압축하는 여러 연구가 필요하다.
본 논문에서는 입력 영상에 대해 옵션 정보에 따라 영상을 동일한 크기로 분할한 후, 각각의 영상을 CTW 기법을 사용하여 압축하는 과정으로 진행하였다. 제안된 방법과 성능을 비교하기 위해 사용된 압축 기법은 CALIC(Context-based, Adaptive, Lossless Image Compression)이다. 본 연구에서 사용된 각 압축 기법에 대한 설명은 다음과 같다.
2.1 CALIC
CALIC은 영상 간 상관도를 기반한 적응적인 무손실 영상 압축 기법이다[18]. CALIC은 문헌에 보고된 다른 기술들보다 연속적인 색상의 이미지에 대해 효과적인 손실 없는 압축 결과를 보여준다. 이러한 높은 효율은 비교적 낮은 소요 시간 및 복잡도에 기인한다. CALIC의 특징은 다수의 모델링 컨텍스트를 사용하여 비선형 예측 변수를 조정하고 다양한 통계 결과에 유용하도록 적응시킨다는 점이다. 비선형 예측 변수는 오류 피드백 알고리즘을 통해 적응적으로 변화한다. 이 적응과정에서 CALIC은 모든 조건부 오류 확률을 추정하기 보다는 다양한 픽셀을 통해 예측된 오류의 예상치만 추정한다는 점에서 효율적인 알고리즘을 가지고 있다.
CALIC의 압축 과정 중 주요한 기능 중 하나는 GAP (Gradient Adjusted Predictor)이다. GAP는 인접한 픽셀을 사용하여 예측하고자 하는 픽셀의 값을 비선형적으로 예측한다. 그래서 GAP는 특히 강한 엣지 영역에서 DPCM과 같은 선형 predictor보다 더 우수한 성능을 보여준다. GAP는 이미지의 추정된 기울기에 따라 I[i,j]의 주변 픽셀에 가중치를 부여한다는 점에서 기존의 선형 예측 변수와 다르다. GAP에서 현재 픽셀 I에서 함수의 기울기는 식 1과 같이 구할 수 있다.
dh = |I[i-1, j] - I[i-2, j]| + |I[i,j-1]-I[i-1,j-1]| + | I[i+1, j-1]-I[i, j-1]|
dv= | I[i-1, j]-I[i-1,j-1]| + | I[i, j-1]-I[i,j-2]| + | I[i+1, j-1] - I[i+1, j-2]| (1)
위의 과정으로 얻어진 기울기를 통해 예측은 다시 아래의 과정으로 이어진다.
IF (dv - dh > 80) {sharp horizontal edge}
\(\dot{I}[i, j]=w\)
ELSE IF (dv - dh <-80) {sharp vertical edge}
\(\dot{I}[i, j]=n \)
ELSE {
\(\dot{I}[i, j] \)= (w+n)/2 + (ne-nw)/4;
IF (dv - dh >32) {horizontal edge}
\(\dot{I}[i, j]\)= (\(\dot{I}[i, j]\)+w)/2
ELSE IF (dv - dh> 8) {weak horizontal edge}
\(\dot{I}[i, j]\)= (3\(\dot{I}[i, j]\)+w)/4
ELSE IF (dv - dh <-32) {vertical edge}
\(\dot{I}[i, j]\)= (\(\dot{I}[i, j]\)+n)/2
ELSE IF (dv - dh <-8) {weak vertical edge}
\(\dot{I}[i, j]\)= (3\(\dot{I}[i, j]\)+n)/4
where
n= I[i, j-1], w = I[i-1, j], ne = I[i+1, j-1],
nw= I[i-1, j-1], nn = I[i, j-2], ww=I[i-2, j]. (2)
식 (2)를 통해 예측되는 변수를 이용하여 CALIC 기법은 양자화 과정 및 압축 과정을 거쳐 최종적으로 압축된 영상 데이터를 반환한다.
2.2 CTW
CTW(Context Tree Weighting)는 F.M.J Willems에 의해 고안된 방법으로 입력 데이터가 문자, 픽셀, 음성, 그 무엇이라도 이들은 바이너리 데이터로 취급이 가능하다는 점을 이용하여 바이너리 데이터 간의 weighting을 통해 데이터를 압축하는 방법이다[16-17]. CTW의 기본 개념은 현재까지 입력된 데이터를 분석하여 다음 입력될 미지의 데이터를 정확히 예측하여 압축의 효율을 증대시키고자 하는 고안에서 시작되었다. CTW는 컨텍스트 모델을 사용하여 확률을 추정하고 탐색한 모든 노드에 대해 가중치를 효율적으로 부여한다. 이를 통해 부호화된 데이터는 복잡성과 중복성을 낮추기 위해 산술 부호 코딩으로 한 번 더 부호화된다. CTW는 알려지지 않은 모델 및 파라미터를 가지는 트리 소스에 대해서도 정확한 예측이 가능하여 효율적인 압축을 진행할 수 있다는 점에서 장점이 있다. CTW에 대한 대략적인 흐름은 그림 1과 같다.
(그림 1) CTW 흐름도
(Figure 1) block diagram for the CTW method
기존의 Markov 모델을 이용한 압축 기법은 유한한 데이터와 새로 입력될 데이터가 무엇인지 알고 있다는 전제하에 이루어진 기법이라는 점에서 한계점이 존재했다. 그러나 CTW는 이러한 한계를 극복하여 무한한 미지의 데이터를 정확히 예측하여 압축할 수 있다는 점에서 주목받았다. 특히 이 과정에서 불필요한 중복성을 감소시키고 복잡도를 낮추었다는 점에서 큰 성과를 가져왔다.
또한, CTW는 이진 문자열에 집중하여 해당 데이터를 압축하기 위해 연구되어왔다. 예를 들어, Z나 Q와 같은 알파벳이 연이어 등장할 확률보다 T와 E가 연이어 등장할 확률이 더 높은 언어의 특성을 활용하여 CTW 기법은 다음에 나타날 이진 데이터의 확률값을 계산하여 데이터를 예측하고 데이터를 압축한다. 이러한 방법을 통한 압축 성능 역시 우수하여 널리 사용되는 방법이기도 하다.
3. 제안하는 방법
본 논문에서는 입력 데이터의 context 유사성을 분석한 후 예측하여 압축하는 CTW의 특성을 이용하여 무손실 압축의 효율을 증대하고자 한다. 특히, 무손실 압축이 필요한 위성 및 항공 영상에 초점을 두어 기존의 압축 기법보다 높은 성능을 보이고자 한다.
본 논문에서 제안하고자 하는 방법은 다음과 같다. 입력 영상이 들어오면 해당 영상을 분할한 후, 각각의 영상에 CTW기법을 적용하여 압축을 진행하는 방식이다. 이때 입력되는 영상은 옵션 정보에 따라 영상을 분할 할 수 있다. 옵션에 대한 자세한 설명은 다음과 같다. 옵션은 입력 영상에 대한 분할 영상 개수를 의미한다. 실험에서는 4, 16의 옵션이 사용되었다. 해당 옵션이 입력되면 알고리즘을 통해 입력 영상의 크기와 동일한 비율로 4개 혹은 16개의 영상으로 분할이 이루어진다. 이는 옵션에 따라 블록의 크기 즉, 영상의 크기를 적응적으로 조절할 수 있음을 의미한다. 분할된 영상은 각각 CTW 기법을 통해 예측 후 context 가중치 계산을 거쳐 최종적으로 산술부호 코딩을 통해 압축된다. 제안된 방법에 대한 흐름도는 그림 2와 같다. 또한, 해당 옵션을 통해 분할된 영상의 예시는 그림 4와 같다.
(그림 2) 제안하는 방법에 대한 알고리즘
(Figure 2) block diagram for the proposed method
(그림 4) Aerial2 영상에 대한 분할 영상 예시
(Figure 4) Example of segmented images about Aerial2
해당 과정을 끝낸 압축 데이터는 압축되지 않은 데이터와 비교하여 bpp(bit per pixel) 계산을 통해 성능을 확인한다[19]. bpp는 한 픽셀이 가지고 있는 영상의 정보량을 의미한다. 즉, bpp의 값이 낮을수록 한 픽셀이 담고 있는 데이터가 적음을 의미하고 이는 압축 기법의 성능을 비교할 수 있다. 사용된 bpp 계산식은 다음 식 3과 같다. 이때 식 3의 size of input은 입력되는 영상 데이터의 크기로 단위는 바이트(byte)이다. size of output 역시 압축된 영상 데이터의 크기로 단위는 바이트 (byte)이다.
\(b p p=\frac{\text { size of output }^{*} 8}{\text { size of input }}\) (3)
본 연구에서는 입력된 영상에 대해 동일한 크기로 등분을 나누어 압축을 진행하였다. 또한, 압축 기법으로는 CALIC 기법보다 압축률이 높은 CTW 기법을 적용하였다. 이는 압축의 효율을 증대하기 위해 분할 영상의 크기를 조정할 수 있고, 다른 압축 기법을 적용할 수도 있음을 의미한다. 이러한 다양성의 이유로, 본 논문에서 제안하는 방법 외에도 압축 기법을 변경하여 압축률 성능 개선을 위한 연구도 이어져 왔다[20-21].
4. 실험 및 분석
본 논문에서는 CTW 기법을 분할된 입력 영상 데이터에 적용하여 영상 데이터를 압축하는 방법을 제안하였다. 제안된 방법에 대한 성능을 평가하기 위해 다음과 같은 실험을 진행하였다. 입력 영상은 JPEG 2000에서 제공하는 위성 및 항공 영상을 사용하였다. 비교 압축 기법으로는 기존의 CALIC 방법을 사용하였고 분할하지 않은 영상 데이터를 CTW 기법을 통해 압축한 성능 역시 확인해 보았다.
실험에 사용된 영상의 크기는 1024*1024로 이루어져 있으며 실험에 사용된 영상의 분할 크기는 4개의 데이터로 분할된 512*512 크기와 16개의 데이터로 분할된 256*256 크기의 영상으로 실험을 진행하였다. 실험 결과는 아래 표 1과 같다. 또한, 실험에 사용된 그림은 아래 그림 3과 같다. 표 1에서 보이는 바와 같이, 분할하지 않았을 때의 입력 영상에 대한 CALIC 기법을 적용한 압축 데이터의 평균 bpp는 5.52이며, 분할하지 않은 영상에 대한 CTW 기법을 적용한 데이터의 평균 bpp는 4.86이다. 이는 한 픽셀을 기준으로 담긴 정보량으로 CALIC 기법을 사용하여 압축했을 때 보다 CTW 기법을 사용하여 압축했을 때의 정보량이 더 적음을 의미한다. 즉, CTW의 압축 성능이 기존의 CALIC 기법에 비해 더 뛰어남을 암시한다. 이와 마찬가지로, 분할하지 않은 실험 영상을 CTW 기법을 적용하여 압축했을 때 평균 bpp는 4.86이고, 분할한 영상을 CTW 기법으로 압축했을 때 평균 bpp는 4블록으로 나누었을 때 4.76, 16블록으로 나누었을 때 4.74이다. 해당하는 실험 결과 역시 분할한 영상에 CTW 기법을 적용했을 때의 정보량이 더 적음을 의미하며 압축률이 상승했음을 알 수 있다. 이는 곧 본 연구에서 제안한 방법의 성능이 더 뛰어남을 의미한다.
(표 1) 실험 영상에 대한 압축 bpp 결과
(Table 1) bpp results of experimental images
a=CALIC, b=CTW, c=CTW(4 block), d=CTW(16 block)
(그림 3) 실험에 사용된 영상
(Figure 3) Experimental images
5. 결론
본 논문에서는 높은 성능을 보이는 CTW 기법을 사용하여 분할된 항공 및 위성 사진을 효율적으로 압축하기 위한 방법을 제안한다. CTW 기법은 context 간의 유사성을 통해 데이터를 압축하는 특성을 가진다. 실험에서 사용한 항공 및 위성 데이터는 영상 내 포함하고 있는 정보량이 많기 때문에 무손실 압축 도구를 통해 압축하는 것을 제안한다. 본 논문에서는 무손실 압축이 필요한 항공 및 위성 영상을 효율적으로 압축하기 위해 영상을 분할하여 CTW 기법을 적용한 실험을 진행하였다. 실험을 통해 기존의 전체 영상을 압축했을 때 보다 영상을 분할 했을 때 더 높은 압축률을 보여주는 것을 확인할 수 있었다. 본 연구는 고용량의 데이터를 손실 없이 압축하여 데이터를 보관할 때 메모리 소모를 줄일 수 있다. 또한, 송수신하는 과정에서 사용되는 전송비용을 줄일 수 있다는 점에서 기존의 방법보다 우수함을 증명할 수 있다.
References
- I. H. Witten, R. M. Neal, and J.G. Cleary, "Arithmetic coding for data compression," Communications of the ACM, vol.30, no.6, pp.520-540, 1987. https://doi.org/10.1145/214762.214771
- J. Ziv, "A universal algorithm for sequential data compression," IEEE Transactions on Information Theory, vol.23, no.3, pp.337-343, May, 1977. https://doi.org/10.1109/TIT.1977.1055714
- A. K. Jain, "Image data compression: A review," Proceedings of the IEEE, vol.69, no.3, pp.349-389, March, 1981. https://doi.org/10.1109/PROC.1981.11971
- J. Rissanen, "A universal data compression system," IEEE Transactions on Information Theory, vol.29, no.5, pp.656-664, Sep, 1983. https://doi.org/10.1109/TIT.1983.1056741
- M. J. Weinberger, A. Lempel and J. Ziv, "A sequential algorithm for the universal coding of finite memory sources," IEEE Transactions on Information Theory, vol.38, no.3, pp.1002-1014, May, 1992. https://doi.org/10.1109/18.135641
- R. E. Krichevsky and V. K. Trofimov, "The performance of universal encoding," IEEE Transactions on Information Theory, vol. 27, no.2, pp.199-207, Mar, 1981. https://doi.org/10.1109/TIT.1981.1056331
- J. S. Vitter, "Design and analysis of dynamic Huffman codes," Journal of the ACM, vol.34, no.4, pp.825-845, Oct, 1987. https://doi.org/10.1145/31846.42227
- G. V. Cormack and R. N. S. Horspool, "Data compression using Dynamic Markov modelling," The Computer Journal, vol.30, no.6, pp.541-550, 1987. https://doi.org/10.1093/comjnl/30.6.541
- "Adaptive Multi-Rate(AMR) speech codec; Transcoding functions," 3GPP TS 26.090, v14.0.0(2017-03). https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1392
- B. Bessette, R. Salami, R. Lefebvre, M. Jelinek, J. Rotola-Pukkila, J. Vainio, H. Mikkola, and K. Jarvinen, "The adaptive multi-rate wideband speech codec (AMR-WB)," IEEE Transactions on Speech and Audio Processing, Vol.10, No.8, pp.620-636, Nov 2002. https://doi.org/10.1109/TSA.2002.804299
- M. J. Weinberger, G. Seroussi, and G. Sapiro, "The LOCO-I lossless image compression algorithm: principles and standardization into JPEG-LS," IEEE Transactions on Image Processing, vol.9, No.8, pp.1309-1324, Aug, 2000. https://doi.org/10.1109/83.855427
- J. Wang and K. Huang, "Medical image compression by using three-dimensional wavelet transformation," IEEE Transactions on Medical Imaging, vol.15, no.4, pp.547-554, Aug, 1996. https://doi.org/10.1109/42.511757
- S. Qian, M. Bergeron, I. Cunningham, L. Gagnon, and A. Hollinger, "Near lossless data compression onboard a hyperspectral satellite," IEEE Transactions on Aerospace and Electronic Systems, Vol. 42, No. 3, pp. 851-866, July, 2006. https://doi.org/10.1109/TAES.2006.248183
- G. K. Wallace, "The JPEG still picture compression standard," IEEE Transactions on Consumer Electronics, Vol.38, no.1, pp.18-34, Feb, 1992. https://doi.org/10.1109/30.125072
- P. G. Howard and J. S. Vittter, "Arithmetic coding for data compression," Proceedings of the IEEE, vol.82, no.6, pp. 857-865, Jun, 1994. https://doi.org/10.1109/5.286189
- F. M. J. Willems, Y. M. Shtarkov and T. J. Tjaklens, "The context-tree weighting method: basic properties," IEEE Transactions on Information Theory, Vol.41, no.3, pp.653-664, May, 1995. https://doi.org/10.1109/18.382012
- F. M. J Willems, "The context-tree weighting method :extensions," IEEE Transactions on Information Theory, Vol.44, no.2, pp.792-798, Mar, 1998. https://doi.org/10.1109/18.661523
- X. Wu and N. Memon, "CALIC-a context based adaptive lossless image codec," IEEE International Conference on Acoustics, Speech, and Signal Processing Conference Proceedings, Atlanta, pp. 1890-1893, 1996. https://doi.org/10.1109/ICASSP.1996.544819
- G. J. Sullivan, J. R. Ohm, W. J. Han, and T. Wiegand, "Overview of the High Efficiency Video Coding (HEVC) Standard," IEEE Transactions on Circuits and Systems for Video Technology, Vol.22, no.12, pp.1649-1668, Dec, 2012. https://doi.org/10.1109/TCSVT.2012.2221191
- J. Vaisey and A. Gersho, "Image compression with vriable block size segmentation," IEEE Transactions on Signal Processing, Vol.40, No.8, pp.2040-2060, Aug. 1992. https://doi.org/10.1109/78.150005
- N. Ranganathan, S. G. Romaniuk, and K. R. Namuduri, "A lossless image compression algorithm using variable block size segmentation," IEEE Transactions on Image Processing, Vol.4, No.10, pp.1396-1406, Oct, 1995. https://doi.org/10.1109/83.465104