DOI QR코드

DOI QR Code

An Effective Fast Algorithm of BCS-SPL Decoding Mechanism for Smart Imaging Devices

스마트 영상 장비를 위한 BCS-SPL 복호화 기법의 효과적인 고속화 방안

  • Ryu, Jung-seon (Dept. of Multimedia Eng., Graduate School of Info. & Comm., Hanbat National University) ;
  • Kim, Jin-soo (Dept. of Info. & Comm. Eng., Hanbat National University)
  • Received : 2016.01.18
  • Accepted : 2016.01.28
  • Published : 2016.02.28

Abstract

Compressed sensing is a signal processing technique for efficiently acquiring and reconstructing in an under-sampled (i.e., under Nyquist rate) representation. A block compressed sensing with projected Landweber (BCS-SPL) framework is most widely known, but, it has high computational complexity at decoder side. In this paper, by introducing adaptive exit criteria instead of fixed exit criteria to SPL framework, an effective fast algorithm is designed in such a way that it can utilize efficiently the sparsity property in DCT coefficients during the iterative thresholding process. Experimental results show that the proposed algorithm results in the significant reduction of the decoding time, while providing better visual qualities than conventional algorithm.

Keywords

1. 서 론

현재 사물 인터넷 환경에 도입 가능한 스마트 영상 기기 구현에 대한 다양한 연구 개발이 진행되고 있다. 특히 스마트 영상 용도의 압축 센싱(CS: Compressed Sensing) 기법에 대하여 매우 활발한 연구가 수행되고 있다. 압축 센싱은 Shannon/Nyquist 표본화 정리를 만족하는 Nyquist rate보다 더 적은 수의 표본화 주파수로 신호를 획득하더라도 그 신호가 성긴(Sparse) 신호라는 기준 하에 샘플링을 가능하게 하는 핵심 요소 기술이다[1]. 하지만, 2D 이미지 장치에 적용 했을 때 많은 연산량을 필요로 하는 복원 처리와 랜덤 샘플링 연산자를 저장할 큰 메모리를 요구하는 한계가 있어, 이를 개선하기 위한 많은 연구가 진행되고 있다.

압축 센싱된 신호의 복원 복잡도를 줄이기 위한 방법으로, 압축 센싱(또는 복원)을 영상프레임 단위로 하는 것이 아니라 매 영상프레임을 작은 단위 블록으로 나눈 후, 블록 크기와 측정률에 따라 각 블록들에 순차적으로 적용하는 블록기반 압축 센싱(BCS: Block-based Compressed Sensing) 기술이 개발되었다[2]. 블록 기반 압축 센싱은 프레임 기반 압축 센싱에 비해 메모리 문제 및 복잡도가 현저히 낮다는 장점 때문에 압축 센싱 및 복원을 구현하는데 많이 사용되고 있지만, 각 블록마다 다른 성김도(Sparsity)에 따라 복원 영상 블록별로 화질 열화 정도가 다를 수 있다. 이로 인해, 복원 영상 블록 경계들 간에 블록화 현상이 현저하게 보여 화질 열화와 같은 문제점을 가질 수 있다. 따라서 블록 기반 CS 복원을 사용하면서도 동시에 복원 영상의 화질을 향상시키는 복원 방법의 개발을 위한 연구들이 매우 중요하다. 물론 블록화 현상의 발생원인과 제거방법은 전통적인 블록 변환 압축방법에서 이미 오랫동안 다루어진 문제이고, 당초의 BCS 기술과 결부되어 이런 문제를 개선하기 위하여, SPL(Smoothed Projected Landweber) 기법이 추가로 적용된 BCS-SPL 방법이 개발된 바 있다[3]. 이 BCS-SPL 방법을 사용하면, 기존의 영상프레임기반 기술과 비교하여 상대적으로 더욱 간단하고 빠르고 압축 센싱 및 복원을 할 수 있으며, 또한 압축 센싱 및 복원과정에 소요되는 저장 공간도 줄일 수 있다. 하지만, 기존의 블록 변환 압축방법과는 다르게 블록의 성김도 정도와 직접적으로 연관되어 발생하는 압축 센싱에서 발생하는 블록화 현상에 대하여 그 원인과 성질을 분석한 후 이에 따른 최적의 해결책을 명확히 제시한 연구는 아직 많지 않은 상태이다.

한편, BCS-SPL 기법을 변형 혹은 다른 방법을 추가함으로써 성능을 개선시키는 연구들이 수행되어 왔다. 그중 BCS-SPL 구조의 SPL 부분에서 희소화 행렬을 DCT(Discrete Cosine Transform)뿐만 아니라 DWT(Discrete Wavelet Transform), DDWT(Dual-Tree Discrete Wavelet Transform), CT(Contourlet Transform) 등 여러 가지 변환을 가지고 실험을 하였다. 그 결과, 변환을 DDWT나 CT로 바꿈으로써 화질을 개선하는 시도가 있었다[3]. 그리고 복원 이미지의 윤곽선 부분이나 텍스쳐가 많은 부분에 대해서 WT를 이용한 적응적인 샘플링 기법을 적용하거나 MH(Multi Hypothesis)를 결합해 화질 개선을 시도하기도 하였다[4][5]. 또한, BCS-SPL 구조에 DPCM(Differential Pulse-Code Modulation)과 스칼라 양자화(Scalar Quantization)를 적용한 방법이 있는데, 이 방식은 오직 고정된 예측방향에서 상관관계가 높은 블록에 대해서만 효과적이라는 단점을 가지고 있다[6]. 자연 이미지(Natural Image)는 다양한 방향의 공간 상관관계를 가지고 있기 때문에, 이웃하는 블록으로부터 다양한 방향의 후보들 사이에서 예측방향을 선택함으로써 [6]의 문제점을 극복하고자 시도하였다[7][8]. 더불어, 이웃하는 블록들 사이에서 공간 상관관계는 블록 사이즈가 작을수록 더 높게 나오는 특성이 있다. 그래서 작은 블록 사이즈는 예측 성능 측면에서는 더 좋게 나오지만, 작은 블록의 CS복원은 큰 블록의 CS복원보다 효율적이지 않다. 이러한 두 개의 상충하는 속성을 해결하기 위해서 센싱할 때는 작은 블록 사이즈로, 복원 할 때는 큰 블록 사이즈로 복원을 가능 하게하는 SMM(Structural Measurement Matrix)에 대한 연구를 시도하기도 하였다[9][10][11].

그런데, 기존의 영상 압축 센싱 기법에 대한 연구는 주로 화질 개선이나 비트율 절감하는데 집중하였다. 현재까지 연구가 많이 진행되어 오고 있는 BCS-SPL 기법이 프레임단위 기법보다 메모리 문제와 계산량을 감소시킨 방법이긴 하지만, 여전히 많은 반복에 의한 많은 연산량을 필요로 한다. 특히, 기존의 BCS-SPL 구조의 SPL 부분에서 IHT(Iterative Hard Thresholding)를 사용하고 고정된 종료 기준을 사용함으로써 화질 개선의 여지가 있음에도 불구하고 화질 개선이 되지 않거나 종료기준을 만족하지 못하고 정해진 종료기준을 채우고 종료하는 문제점이 있다[12]. 이에 본 논문에서는 기존의 BCS-SPL의 계산량을 더 줄이기 위해 SPL 부분에서 IHT부분을 IT(Iterative Thresholding)으로 바꾸고 성김도가 증가하지 않고 작아지는 경우를 고려한 새로운 종료조건을 도입하여 연산량을 대폭 줄였고, 또한 종료기준을 고정된 값이 아닌 적응적인 형태로 변형함으로써 화질도 개선할 수 있는 방안에 대해 연구하였다.

본 논문의 구성은 다음과 같다. 2장에서 블록 기반의 압축 센싱 알고리즘인 BCS-SPL 기법의 정의와 의미를 설명하고, 3장에서 BCS-SPL 알고리즘의 제한점과 문제점을 알아보고, 본 논문의 제안한 방법을 설명한다. 그리고 4장에서는 제안한 알고리즘에 의한 실험 결과를 기존의 알고리즘과 객관적인 지표 비교를 통하여 성능을 평가하고, 5장에서 결론을 맺는다.

 

2. BCS-SPL 알고리즘의 개요 및 문제점

2.1 BCS-SPL 알고리즘

Fig. 1은 기존 BCS-SPL 구조의 전체적인 흐름도를 나타내고, Fig. 2는 BCS-SPL 알고리즘에 대한 Pseudo-code 구성을 나타낸다[3][11]. 먼저, 부호화 부분에서 입력 이미지가 들어오게 되면 이미지는 B × B 블록으로 나누어지고 측정률(subrate)에 의해 정해진 크기의 측정행렬을 이용하여 샘플링된다. 입력 이미지 X의 j번째 블록을 xj고 가정하자. 이 때, 입력 이미지는 raster-scan 방식으로 스캔되어진다. 그에 상응하는 yj는 yj = ΨBxj와 같이 표현이 된다. 여기서, ΨB는 크기의 직교 측정 행렬이다. 전체 이미지 X에 랜덤 샘플링을 사용하는 것보다 BCS를 사용하는 것이 몇 가지 장점을 가지고 있다. 첫 번째 장점은 측정 연산자 ΨB는 압축사이즈 때문에 편리하게 저장되고 사용이 가능하다. 두 번째 장점은 부호화기에서 전체 이미지가 측정될 때까지 기다릴 필요가 없다. 마지막으로 초기 측정치는 ΨB의 작은 크기 때문에 손쉽게 계산이 가능하다.

Fig. 1.BCS-SPL Structure.

Fig. 2.BCS-SPL pseudo-code의 구성[3].

복호화 부분에서는 압축된 신호 y가 들어오게 되면 초기치 x(0)로 바꾸고 SPL구조를 정해진 종료 기준을 만족시키기 전까지 Wiener 필터링, PL(Projected Landweber), IHT를 반복적으로 수행한다. 여기서, Wiener 필터는 공간 영역에서 신호 내 잡음과 블록화 현상을 제거하고, PL 과정은 신호를 원 영상으로 복원한다. 또한 IHT 과정은 복원되고 있는 영상신호내의 잡음 정도를 변환 도메인에서 추정하고, 이 추정된 값보다 작은 값을 가지는 복원 영상 계수들을 0으로 설정하여 복원 신호의 성김도를 증가시킨다.

SPL을 pseudo-code로 자세히 보면, 복호화기에서 부호화기로부터 처음 압축된 신호 y 값을 받게 되면 초기값 x(0)은 x(0) = ΨTy로 얻어진다. 입력 값은 x(i), y, ΨB, ψ, λ이다. 여기서, ΨB는 센싱 행렬이고, ψ는 희소화 행렬이고, λ는 고정된 상수이다. i + 1번째 x(i+1)은 i번째 x(i)를 Wiener 필터링 한 다음 IHT를 통해서 얻을 수 있다. 이때, Wiener 필터링은 3x3크기를 가지고, 희소화 행렬 ψ는 DCT 같은 변환을 사용한다. Thresholding(•)은 식 (1)과 같이 정의된다.

여기서, λ는 고정된 상수이고, K는 입력영상 사이즈, σ(i)는 robust median estimator로 식(2)와 같이 정의된다.

SPL의 종료 조건은 |D(i+1) - D(i)| < 10-4이고, 이다.

2.2 기존 알고리즘의 문제점

앞에서 언급한 Fig. 1와 같은 기존 BCS-SPL 알고리즘[3]을 사용하면 기존의 영상프레임기반 기술과 비교하여 상대적으로 더욱 간단하고 빠르고 압축 센싱 및 복원을 할 수 있으며, 또한 압축 센싱 및 복원과정에 소요되는 저장 공간도 줄일 수 있다.

하지만 기존 BCS-SPL 구조[3]를 직접 구현해보면 복호화기에서 몇 가지 문제점이 존재한다. 첫째는 SPL 종료조건을 정적인 값을 사용하게 되면 특정한 경우에 종료기준을 만족하지 못하고 정해진 반복횟수만 채우고 빠져나오는 현상이 존재한다. 즉, SPL의 종료기준을 너무 작게 하면 종료기준을 만족하지 못하고 정해진 반복횟수만 채우고 종료되고, 종료기준을 크게 하면 복원 이미지 품질이 만족스럽지 못하다. 그래서 전자의 경우에는 계산량의 증가 문제를 가지고 있고, 후자의 경우에는 복원 이미지 품질저하의 문제를 가지고 있다. 따라서 이를 개선하기 위한 해결책이 필요하다.

두 번째는 IHT 과정은 앞에서 언급했듯이 복원되고 있는 영상신호내의 잡음 정도를 변환 도메인에서 추정하고, 이 추정된 값보다 작은 값을 가지는 복원 영상 계수들을 0으로 설정하여 복원 신호의 성김도를 증가시킨다. 즉, 성김도를 높임으로써 현저하게 개선된 CS 복원 영상을 얻을 수 있다. 하지만, 초기부터 성김도를 높게 하면 잡음이 아닌 이미지 복원에 필요한 계수까지 제거할 가능성이 있어 복원을 위한 정체되어있는 반복구간이 존재해 반복횟수가 증가하게 된다. 이 또한 계산량의 증가 요인이 되기 때문에 개선하기 위한 해결책이 필요하다.

 

3. 기존 BCS-SPL 알고리즘의 실험적 고찰 및 제안한 고속화 방법

3.1 BCS-SPL 알고리즘의 복호화 알고리즘의 실험적 관찰

본 논문에서는 앞에서 언급한 기존의 BCS-SPL[3] 방법을 실제 구현하였고, 기존의 방법이 가지고 있는 문제점을 실험적 관찰을 통해 해결책을 찾고자 한다. 먼저, Fig. 3은 테스트 영상 Lenna (512 x 512 해상도) 영상을 직접 BCS-SPL 알고리즘을 적용하여, BCS-SPL의 복호화기에서 복호화 과정에서 반복횟수에 따른 PSNR(Peak Signal to Noise Ratio) 특성 변화를 나타낸 것이다. 이 결과에서 알 수 있듯이, 고정된 값의 종료기준을 만족하지 못한 채 정해진 반복횟수인 200회를 채우고 빠져 나오는 경우를 보여주며, 이와 같은 결과는 복호화에 따른 계산량의 증가 요인으로 작용을 한다. 또한, 1회부터 53회 정도까지 계단식으로 PSNR의 변화가 발생되는 구간이 존재하는데, 이는 앞에서 언급한 IHT에 의해 생긴 화질개선 정체구간으로 관찰된다. 이후에는 별 다른 화질 개선이 없으며 지속적으로 연산을 수행하지만 화질이 개선되지 않는 특성을 보이고 있다.

Fig. 3.Experimental observation of BCS-SPL algorithm.

3.2 실행시간 개선을 위한 제안된 BCS-SPL 복호화 알고리즘

Fig. 4에 제안하는 알고리즘의 전체적인 흐름도를 나타내었다. 본 논문에서는 기존의 BCS-SPL 복호화기에서 IHT를 IT로 바꾸고 종료기준 1(Stopping Criterion 1)과 종료기준 2(Stopping Criterion 2)를 새로이 추가해 효과적인 고속화 알고리즘을 제안한다. 종료기준 1은 기존의 고정된 종료기준 값을 적응적으로 바꿔주었고, 종료기준 2는 반복적인 문턱치 적용(Iterative Thresholding)에 의해 현재 성김도가 이전의 성김도보다 낮아진다면 종료된다.

Fig. 4.Flowchart of the proposed algorithm.

제안하는 알고리즘은 3.1절에서 언급한 관찰된 문제를 해결하기 위해 기존 BCS-SPL[3]에 대한 종료 기준을 적응적으로 적용한 실험 결과가 Fig. 5에 나타내었다. Fig. 5를 보면 반복횟수 53회로 복원 이미지를 출력하며, 자세히 보면 화질 개선과 더불어 정체 구간이 존재한다. 이 또한 계산량의 증가 요인이 되는 것을 확인할 수 있다.

Fig. 5.Experimental observation of BCS-SPL algorithm with adaptive exit criterion.

위의 문제를 해결하기 위해 IHT대신 IT를 사용하였다. 그 결과, Fig. 6 (a)와 같이 반복 횟수 10회도 안되어서 현저하게 개선된 화질을 복원되는 것이 관찰된다. 하지만, 23회 정도에서 최대 PSNR을 보인 후에 종료조건을 만족할 때까지 PSNR이 점점 하락하는 현상이 나타난다. 그 이유는 IHT을 사용하면 항상 성김도가 높게 설정되기 때문에 여러 번 반복적으로 수행하여도 PSNR이 하락하는 이유가 없다. 하지만, IT를 사용하면 Fig. 6 (b)처럼 높은 성김도를 유지하다가 점차 성김도가 낮아지는 것을 확인할 수 있다. 여기서, 반복 횟수 23회 때 성김도 감소와 PSNR을 비교하면 성김도가 낮아짐과 동시에 PSNR 저하도 발생하는 것을 확인할 수 있다.

Fig. 6.Experimental observation of BCS-SPL algorithm. (a) BCS-SPL using IT (b) the number of transform coefficients against iteration number.

따라서, 반복 과정에서 현재 성김도가 이전 성김도보다 낮아진다는 조건을 추가해 IT를 사용하더라도 화질 저하 문제를 없애고 반복횟수 또한 현저히 줄게 하였다. Fig 7. 제안하는 방식의 결과를 보여준다.

Fig. 7.Experimental observation of the proposed BCS-SPL algorithm.

 

4. 실험 결과 및 고찰

4.1 실험 결과

먼저, 실험 환경은 블록 사이즈(block size)는 16, 측정율은 0.3, 센싱 행렬 Ψ은 가우시안 랜덤 매트릭스(Gaussian random matrix)를 사용하였고, 희소화 행렬 Ψ은 DCT를 사용하였다. 테스트 영상은 8비트(bit) 512x512 흑백영상으로 Fig. 8과 같이 순서대로 Lenna, Barbara, Peppers, Mandrill, Golhill을 사용하였다. 그리고 기존의 BCS-SPL 방식[3]과 변형된 방식[11], 그리고 제안하는 BCS-SPL 방식과의 성능을 비교하였다. 각 영상에 대해서 총 5회 반복실험 후 이를 평균화하여 최종 결과값을 산출하였다.

Fig. 8.Test images. (a) Lenna (b) Barbara (c) Peppers (d) Mandrill (e) Goldhill.

Fig. 9를 보면 왼쪽 그림이 기존의 BCS-SPL 방식[3]이고 오른쪽 그림이 제안하는 BCS-SPL 방식이다. 제안하는 방식이 기존의 방식보다 이미지 복원 부분에 있어서 정체 구간 없이 빠르게 화질 개선하는 것을 확인 할 수 있다.

Fig. 9.The performance comparison between the conventional algorithm[3] and the proposed algorithm for iteration number. (a) Lenna (b) Barbara (c) Peppers (d) Mandrill (e) Goldhill.

4.2 실험 결과의 고찰

Table 1은 기존의 대표적인 BCS-SPL[3] 방법, 변형된 방법[11] 그리고 제안하는 방법에 대한 모의실험 결과를 각각 나타내고 있다. 본 논문에서 제안한 방식은 기존의 대표적인 방식인 Mun[3]방식에 비해 Barbara영상의 경우에 약 0.55dB정도의 성능 개선을 보이고, Peppers영상의 경우에는 2.89dB 정도의 성능 개선을 보인다. 그리고 Park[11]방법과는 Goldhill 영상을 제외하고는 매우 미세한 화질 개선을 이룰 수 있음을 보인다.

Table 1The PSNR performance comparison among conventional algorithms and the proposed algorithm.

Table 2는 복호화기의 연산량을 비교하기 위해 모의실험에 사용된 반복횟수를 나타내고 있다. 제안된 방법은 기존의 방식에 비해 최대 1/5까지의 연산량을 절감함을 알 수 있으며, Park[11]방식에 비해서도 약 2/3정도의 반복횟수로 해결될 수 있음을 보인다.

Table 2.The comparison of the number of iterations among conventional algorithms and the proposed algorithm

Table 2는 기존 BCS-SPL[3] 방법과 제안하는 방법의 반복 횟수를 비교한 것이다.

 

5. 결 론

본 논문에서는 최근에 사물인터넷 및 스마트 영상기기에 사용될 수 있는 압축 센싱 기술의 고속화에 대해 연구하였다. 즉, 연산량과 효율성이 우수한 기법으로 가장 많이 고려되고 있는 BCS-SPL 알고리즘의 계산적 복잡도를 단순화하기 위한 방법을 연구하고 새로운 방법을 제안하였다. 제안한 방법은 고정된 종료기준을 사용하는 대신 적응적으로 종료기준을 적용하여 종료기준을 만족하지 못하고 반복 횟수만 채우고 나오는 현상을 제거하였으며, IHT 사용시 화질 개선 정체 구간이 많아 계산량이 증가하는 문제에 대해서 IT로 대체하여 성김도 감소 조건을 추가하여 반복 횟수 또한 현저히 감소시켰다. 실험 결과를 통하여, 기존의 대표적인 방식보다 화질 개선을 이룰 수 있었고, 특히 복호화기의 반복횟수를 크게 줄일 수 있음을 보였다. 앞으로 본 논문에서 개발된 알고리즘을 통해 BCS-SPL 기반의 알고리즘 실용화에 사용될 수 있을 것으로 보인다.

References

  1. D.L. Donoho, "Compressed Sensing," IEEE Transactions on Information Theory, Vol. 52, No. 4, pp. 1289-1306, 2006. https://doi.org/10.1109/TIT.2006.871582
  2. L. Gan, "Block Compressed Sensing of Natural Images," Proceedings of the International Conference on Digital Signal Processing, pp. 403-406, 2007.
  3. S. Mun and J.E. Fowler, "Block Compressed Sensing of Images Using Directional Transforms," Proceedings of IEEE International Conference on Image Processing, pp. 3021-3024, 2009.
  4. L. Xin, Z. Junguo, C. Chen, and L. Fantao "Adaptive Sampling Rate Assignment for Block Compressed Sensing of Images Using Wavelet Transform," Journal of The Open Cybernetics & Systemics, Vol. 9, pp. 683-689, 2015. https://doi.org/10.2174/1874110X01509010683
  5. P.M. Pham, "Filter-Aided Recovery for Block- Based Compressive Sensing of Images," Proceedings of The 18th IEEE International Symposium on Consumer Electronics, pp. 22-25, 2014.
  6. J. Zhang, D. Zhao, and F. Jiang "Spatially Directional Predictive Coding for Block-based Compressive Sensing of Natural Images," Proceedings of IEEE International Conference on Image Processing, pp. 1021-1025, 2013.
  7. S. Mun and J.E. Fowler "Dpcm for Quantized Block-Based Compressed Sensing of Images," Proceedings of the European Signal Processing Conference, pp. 1424-1428, 2012.
  8. C. Chen, E.W. Tramel, and J.E. Fowler, "Compressed Sensing Recovery of Images and Video Using Multihypothesis Predictions," Proceedings of the 45th Asilomar Conference on Signals, Systems, and Computers, pp. 1193-1198, 2011.
  9. K.Q. Dinh, H.J. Shim, and B. Jeon, "Measurement Coding For Compressive Imaging Using A Structural Measurement Matrix," Proceeding of the 20th International Conference on Image Processing, pp. 15-18, 2013.
  10. B. Jeon, "Compressed Sensing and Image Processing Application," Proceedings of The Magazine of the The Institute of Electronics and Information Engineers, Vol. 41, No. 6, pp. 27-38, 2014.
  11. Y. Park, H. Shin, and B. Jeon, "Convergence Complexity Reduction for Block-Based Compressive Sensing Reconstruction," Journal of The Korean Society of Broadcast Engineering, Vol. 19, No. 2, pp. 240-249, 2014. https://doi.org/10.5909/JBE.2014.19.2.240
  12. M. Zhang, S. Kim, W.Y. Kim, and Y.H. Cho, "Formulation of Joint Decoding for Raptor Codes," Journal of Korea Multimedia Society, Vol. 17, No. 8, pp. 961-967, 2014. https://doi.org/10.9717/kmms.2014.17.8.961

Cited by

  1. Performance Comparison of Structured Measurement Matrix for Block-based Compressive Sensing Schemes vol.20, pp.8, 2016, https://doi.org/10.6109/jkiice.2016.20.8.1452
  2. Performance Comparison of BCS-SPL Techniques Against a Variety of Restoring Block Sizes vol.21, pp.3, 2016, https://doi.org/10.9723/jksiis.2016.21.3.021
  3. 분산 압축 비디오 센싱을 위한 MC-BCS-SPL 기법의 안정화 알고리즘 vol.20, pp.5, 2017, https://doi.org/10.9717/kmms.2017.20.5.731
  4. 효과적인 MC-BCS-SPL 알고리즘과 예측 구조 방식에 따른 성능 비교 vol.21, pp.7, 2017, https://doi.org/10.6109/jkiice.2017.21.7.1355