[Computer Vision] Super Resolution for Smartphones

서기현·2021년 10월 8일
0

Super Resolution

목록 보기
11/14
post-custom-banner

Super Resolution for Smartphones

Keywords

  • Smartphone, Real-time Video Processing, Nyquist Frequency, Super Resolution

Abstract

스마트폰은 진보된 커뮤니케이션 도구로써 개발되었고, 최근 다양한 응용 분야에서 사용되고 있다. 디스플레이는 스마트폰에서 가장 중요한 특징 중 하나다. TV와 영화 스크린을 비교하면 스마트폰의 디스플레이 크기는 매우 작다. 하지만 TV와 영화 콘텐츠는 흔히 스마트폰 스크린에서 즐긴다. 최근 스마트폰의 디스플레이는 다양한 종류의 콘텐츠를 위해 사용된다. 과거에는 작은 디스플레이에서 해상도 차이를 알아보는 게 어려울 것이라 생각했다. 하지만 이제는 아니다. 스마트폰의 해상도는 꾸준히 향상되고 있으며, HDTV 해상도가 지원되는 것이 흔하다. 신호 처리는 해상도를 개선하기 위한 또 다른 방법이다. 초해상화(SR)는 흥미로운 연구 분야가 되었고, 이미지와 영상에 적용되었다. SR은 디스플레이 해상도를 향상시키기 위한 기술이다. 따라서 SR은 TV 스크린과 컴퓨터 디스플레이에 적용시키기 위해 주로 연구된다. SR 기술 알고리즘들은 스마트폰의 중앙 처리 장치(CPU)나 그래픽 처리 장치(GPU)에 올리기에는 복잡하고 무겁다. 스마트폰에서 실시간 영상에 대해 SR을 적용시키기는 어렵다. 그래서 지금까지 스마트폰에 대한 SR 보고서가 없었다. 이 논문은 스마트폰에서 실시간 SR을 실행하기 위한 방법을 제안한다. 이 방법은 스마트폰 GPU에서 실시간 영상이 작동한다.


1. Introduction

커뮤니케이션 환경과 기기는 지난 20년 동안 극적으로 바꼈다. 스마트폰은 모바일 휴대폰 시장에서 주요 기기가 되었고, 매년 새로운 모델들이 소개됐다. 스마트폰은 일체형 소형 컴퓨터이며, 다양한 기능을 갖추고 있다. 스마트폰의 디스플레이는 입력 단말기와 영상 콘텐츠를 위한 기존 디스플레이로 사용되었다. 따라서 스마트폰은 TV와 영화뿐만 아니라 게임까지도 즐기는 중요한 기기가 되었다. 스마트폰 제조사들은 끊임없이 새로운 제품을 개발하고 있고, 경쟁에서 돋보이기 위해 노력중이다. 스마트폰의 모니터 해상도는 증가하고 있고, HDTV 해상도는 이제 흔하다. 몇몇의 최신 스마트폰들은 4K 해상도가 지원된다. 하지만 디스플레이 크기는 약 5인치이다. 만약 작은 5인치 HDTV 디스플레이와 4K 디스플레이 간에 명백한 해상도 품질 차이가 있다면, 이것은 4K 스마트폰 기술에 더욱 투자할 만한 가치가 있을 것이다. 하지만 스마트폰에서 4K 디스플레이를 사용하는 것에 대한 주관적 평가나 논의는 없었다. 게다가 인터넷에 있는 스마트폰용 콘텐츠 중 4K 해상도가 없으며, HDTV 해상도가 없는 콘텐츠도 있다. 그럼에도 불구하고, 마케팅을 위해 오직 디스플레이의 픽셀 수만 증가하고 있다. Video Graphics Array(VGA)나 Quarter VGA(QVGA)와 같이 디스플레이를 위한 콘텐츠의 해상도가 충분하지 않을 때, 콘텐츠는 스마트폰 디스플레이의 해상도에 고정되도록 특별히 보간된다. 보간된 이미지와 영상들은 흐리고, 스마트폰 디스플레이의 성능을 제대로 활용하지 못한다. 비록 해당 콘텐츠에 HDTV 픽셀이 있긴 하지만 초점이 항상 양호한 것은 아니기 때문에 HDTV 해상도가 항상 보장되지는 않는다. 분명한 건, 스마트폰 사용자들은 고해상도 이미지와 영상을 선호한다는 것이다. 하지만 고해상도 디스플레이(HDTV/4K)가 항상 고해상도 이미지와 영상을 제공하는 것은 아니다. 콘텐츠의 해상도는 디스플레이의 픽셀의 수 보다 더욱 중요하다.

이미지 해상도를 향상시키는 것은 매년 활발한 연구 분야다. Edge Enhancement라고도 하는 Unsharp masking(USM)은 실시간 시스템에서 영상을 향상시키는 유일한 방법이다. 비록 USM이 간단하고 비용 효율이 높은 방법임에도 불구하고, 이것은 사실 해상도를 향상시키는 게 아니라 band-pass filter(BPF)나 high-pass filter(HPF)를 이용하여 더 좋은 이미지 품질을 제공한다. 하지만 USM은 이미지에 대해 노이즈와 Edge를 생성할 수 있다.

거의 20년 동안 연구되어 온 초해상도(SR) 기술은 저해상도 이미지를 고해상도 이미지로 만든다. 다양한 SR 기술들이 지난 10년 동안 제안되어 왔지만 이들 대부분은 여전히 이미지에 국한되어 제안되었고, 복잡한 알고리즘 때문에 영상에 적용하기는 어려웠다. 최근 non-linear processing을 가진 SR(SRNP)이 한 저자로부터 제안되어졌는데, SRNP는 실시간으로 영상을 처리할 수 있다. 해당 논문에서는 실시간 비디오 처리를 위한 스마트폰용 SRNP를 제안했다. 본 논문 저자들의 방법은 스마트폰의 CPU/GPU를 통해 소프트웨어에서 작동할 수 있는데, 스마트폰의 디스플레이에서 좋은 결과를 보여주고 영상을 좋은 품질로 개선시킨다.

2. Super Resolution For Smartphones

SR은 이미지와 영상 해상도를 향상시키기 위한 기술이다. 앞서 언급한 바와 같이 많은 방법과 제안이 있었다. 모니터의 크기는 SR 처리된 이미지 결과를 볼 때 중요한 요소이다. 이전 연구에서 모니터의 크기는 SR 연구에서 논의되어 오지 않았다. SR 연구들은 해상도 개선을 알아보기 위해 SR 처리된 이미지 크기를 자유롭게 선택하여 진행했다. PC 모니터들은 이미지 해상도를 확인하기 위해 사용되었다. 비록 SR 기능을 가진 상업용 HDTV 세트도 사용할 수 있지만, HDTV 스크린의 크기들은 40인치 이상이다. 이는 작은 스마트폰 모니터에서 SR 개선을 인식하기는 어려울 것이다. SR 기술을 구현하려면 스마트폰 디스플레이에서 해상도 향상을 인식할 수 있어야 한다.

스마트폰은 정교한 기기이지만, SR을 사용하기 위해 스마트폰에 장치를 추가하는 것은 불가능하다. 한정된 자원을 가진 스마트폰에서 SR을 실행할 때 두 가지 어려운 점이 있다.
첫 번째 어려움은 SR 알고리즘의 복합성이다. 많은 SR 알고리즘들이 제안되어져 왔다. 초해상도 이미지 복원(SRR)과 학습 기반의 초해상도(LBSR)는 일반적인 SR 기술들이고, 다른 많은 것들도 제안되어져 왔다. 하지만 SRR과 LBSR을 포함한 모든 SR 알고리즘들은 고해상도 이미지를 생성하기 위해 반복을 요구하기 때문에 영상에 대해 실시간으로 사용하기 어렵다. CPU/GPU에서 반복은 매우 시간이 많이 걸리고 실행하기가 어렵다. 비록 HDTV를 위한 비 반복적인 SRR 알고리즘이 제안되긴 했지만 그것의 해상도는 기존 HDTV의 해상도 보다 낮았을 뿐만 아니라 SRR 알고리즘을 사용하기 위해서는 추가 기기가 필요했다.
두 번째 어려움은 스마트폰에서 SR이 한 스마트폰의 CPU/GPU에서 작동해야만 한다는 것이다. 스마트폰의 공간 및 전력 소비량 때문에 SR이 작동하는 데 필요한 추가 장치를 스마트폰에서 처리하는게 어렵다는 것이다. 스마트폰에서 추가 부품을 구현할 공간이 거의 없고, 새 부품은 높은 전력 소비로 인해 배터리 지속 시간이 단축된다. 만약 SR을 스마트폰에서 작동시키려면 SR이 해당 스마트폰의 CPU/GPU와 자원을 사용해야 한다. CPU/GPU는 많은 작업들을 수행하며, 메모리 대역폭과 같은 자원들은 제한적인데 만약 충분한 CPU/GPU 성능과 자원들이 SR 처리에 제공되지 못한다면 영상은 실시간으로 처리될 수 없고, frame drop(평균 프레임 이하로 떨어지면서 끊겨 보이는 현상)이 발생할 수 있으며, 최악의 경우 영상이 멈출 것이다. 이 어려움들을 극복하기 위해서 스마트폰의 SR 알고리즘은 CPU/GPU 성능과 제한된 자원을 사용할 수 있도록 간단하고 충분히 가벼워야 한다.

3. SRNP

SRNP는 HDTV에서 4K로 상향변환을 위해 개발되었다.

Figure 1은 제안된 방법의 신호 흐름을 보여준다. 입력 영상에는 두 가지 경로가 있다. 첫 번째 경로는 HPF(High-Pass Filter), NLF(Non-Linear Filter) 와 LMT(Limiter)로 구성되며 원본 비디오에는 없는 고주파 요소를 생성한다. NLF는 Fourier series를 사용해 Harmonic waves에 의해 만들어진 고주파 원소를 생성하는데 사용된다. Harmonic waves는 HPF로 검출된 Edge에서만 생성된다. 즉, Edge가 없는 평평한 영역에서는 생성되지 않는다. LMT는 Harmonic waves를 비디오에 적용시키기 위해 큰 값들을 제한한다. 두 번째 경로는 입력에서 ADD(Adder)로 직접 연결된다. ADD는 LMT에서 처리된 Harmonic waves를 원본 비디오에 추가한다. 이 프로세스는 픽셀 단위로 수행된다. 따라서 ADD의 출력에는 입력 비디오에는 없었던 고주파 요소가 있다. 이 비디오 처리 방법은 해상도를 향상시킬 수 있으며 원본 비디오의 Nyquist frequency를 초과하는 고주파 요소를 생성할 수도 있다.

Figure 2는 SRNP 하드웨어로 처리된 이미지를 보여준다. Figure 2(c)와 Figure 2(d)는 각각 Figure 2(a)는 Figure 2(b)의 2D-FFT(2 Dimensional Fast Fourier Transform)결과이다. Figure 2 (c)와 Figure 2(d)는 주파수 영역에서 주파수 특성을 나타낸다. 수평 및 수직 축은 이미지의 수평 및 수직 주파수이다. Figure 2(d)에는 수평 및 수직 고주파 요소가 있지만 Figure 2(c)에는 없다. 즉, SRNP가 해상도를 향상시킨다.
그러나 SRNP는 소프트웨어가 설치된 CPU/GPU를 통해 실시간으로 비디오 처리를 하지 못했다. 앞서 설명한 것처럼 스마트폰의 리소스가 제한되어 있어 SR이 실시간으로 작동하기 어렵다. 즉, SRNP 알고리즘은 간단하지만 스마트폰에서 실시간으로 비디오 처리에 사용할 수 있다는 보장이 없다.

4. System Architecture of SRNP for Smartphone

스마트폰은 사용자에게 다양한 서비스를 제공하기 위해 최신 기술을 갖춘 소형 컴퓨터와 거의 같다. 그러나 스마트폰의 자원과 전력이 부족하여 PC의 모든 작업을 실행할 수 없다. SRNP는 간단한 알고리즘이지만 자원이 부족하면 작동하지 않을 수 있다. 스마트폰 플랫폼에 실험적인 SRNP 시스템을 구축하고 시스템을 최적화하는 것이 그것을 실용적으로 만드는 유일한 방법이다.

실험용 하드웨어의 사양은 Table 1에 있다. 스마트폰은 MSM8992 CPU와 Adreno 418 GPU를 가지고 있다. 운영 체제는 안드로이드 5.1이다. 하드웨어를 통한 SRNP 신호 흐름은 Figure 3에 있다. 동영상은 MPEG-4 H.264로 코드화되어 SD 메모리에 저장된다. MPEG-4 스트림은 하드웨어 디코더를 사용하여 디코딩됩니다. 가장 일반적인 비디오는 HDTV(1920 × 1080)이지만 인터넷에서 사용할 수 있는 다른 형식이 있다.

SRNP 프로세스는 HDTV, QVGA 등과 같은 원본 형식으로 수행된다. GPU는 SRNP 프로세스를 수행하여 HDTV를 포함한 입력 비디오 형식에 따라 해상도를 개선한다. GPU의 출력 비디오 형식은 입력 비디오의 크기와 동일하다. SRNP 이후의 확대/축소 단위는 비디오 형식을 변경하려면 전체 프레임이 필요하기 때문에 GPU는 비디오를 프레임별로 처리한다. GPU는 CPU에 의해 제어되며 메모리 및 기타 자원을 다른 장치와 공유한다. 또한 GPU는 디스플레이를 고정하지 않기 위해 프레임을 33.3ms(30Hz)로 확대/축소 장치에 전달할 때 타이밍을 제어한다. 모든 신호 처리가 30Hz에서 지연 없이 작동하는 경우 LCD(액정 디스플레이)는 실시간으로 비디오를 표시할 수 있다.

GPU는 SRNP 처리의 한 프레임을 33.3ms 이내에 완료해야 하기 때문에 시스템의 잠재적인 병목현상이 있다. 이러한 병목 현상을 극복하는 데는 두 가지 어려움이 있다. 첫 번째, SRNP 프로세스 자체의 GPU 계산은 33.3ms 내에 완료되어야 한다. 둘째, 메모리 대역폭이 적절해야 한다. GPU의 입/출력 비디오 프레임은 Table 1에 표시된 3GB RAM에 저장된다. RAM은 다른 응용 프로그램에서도 사용되며 CPU에서 액세스할 수 있다. GPU용 RAM이 제한되어 있으므로 CPU와 GPU 간의 조정이 필요하다. 듀얼(dual) 및 쿼드(quad) CPU 코어가 RAM에 액세스하고 SRNP용 GPU의 성능을 향상시키려면 두 가지 튜닝이 필요하다. 튜닝의 어려움은 frame rate이 높고 화면이 큰 것에 비례한다. 높은 frame rate은 GPU의 기능에 직접적으로 해당하는 SRNP의 짧은 기간을 필요로 한다. 큰 화면은 더 많은 메모리를 필요로 한다. 두 가지 모두 메모리 대역폭과 관련이 있다. 현재 스마트폰의 프레임률은 30Hz이다. 스마트폰은 30Hz(33.3ms)의 비디오를 표시하기 때문에 GPU는 프레임의 경우 33.3m에 SRNP를 완료해야 한다.

시스템의 병목현상은 GPU에서 SRNP의 처리 시간이다. GPU에서 SRNP의 처리 시간은 화면 크기에 비례하여 증가한다. SRNP를 프로그래밍하도록 GPU를 조정하면 초고화질(UHD) 3,940 × 2,160 디스플레이 해상도까지 작동할 수 있다. Table 2는 GPU의 화면 크기와 처리 시간 사이의 관계를 보여준다. 현재 4K는 시장에서 가장 큰 실용적인 디스플레이 중 하나이다. 4K의 처리 시간은 14.1ms이다. 이는 SRNP가 4K에서 실시간으로 작동할 수 있음을 의미한다. 또한, 4K의 SRNP 시간은 16.7ms보다 짧은 14.1ms이기 때문에 SRNP는 4K의 경우 60Hz(16.7ms)에서 작동할 수 있다. 간단한 SRNP 알고리즘은 짧은 처리 시간을 구현한다. H.264 디코더와 같은 하드웨어의 다른 부분이 더 빨라지면 SRNP는 4K 3,840 x 2160;60Hz도 처리할 수 있다.

5. Result

Figure 6(a)에서 7(b)는 스마트폰으로 SRNP의 해상도 향상을 보여준다. 그것들은 스틸 이미지가 아니라 영상의 프레임이다. Figure 6(a)와 Figure 7(a)는 입력 이미지이며, Figure 6(b)와 Figure 7(b)은 SRNP로 처리된다. SRNP 처리 영상의 해상도는 입력 영상의 해상도보다 우수하다. SR 처리된 이미지와 기존 Enhancer를 사용한 이미지 사이의 해상도 향상을 인식하기 어려운 경우가 있다. 기존의 Enhancer는 이미지의 Edge를 증폭시킬 뿐이지만 SRNP는 원본 이미지에 없는 더 높은 주파수 요소를 생성할 수 있다. Figure 6과 7의 비디오는 상업용 카메라를 사용하여 촬영되었기 때문에 MPEG-4에 의해 왜곡되었다. 그러나 왜곡은 화질에 영향을 미치지 않았으며 SRNP의 해상도 개선은 확연히 눈에 띈다. 이 비디오들은 MPEG-4 디코딩을 무겁고 시간이 많이 걸리게 하는 고주파 요소를 가지고 있었다. 그러나 프레임 Drop 또는 Freeze없이 모두 30Hz로 표시되었다. 이는 SRNP가 스마트폰에서 실시간으로 작동할 수 있다는 뜻이다.

SR 기능이 있는 스마트폰은 실시간 비디오를 재생할 수 있도록 개발되었지만 평가에 문서를 포함한 스틸 이미지를 사용했다. 관찰자는 SR 스위치(On/Off)를 제어하여 이미지를 SR On/Off로 비교할 수 있다. 분석 결과 문서안의 글자들은 LCD의 대비가 향상되어 SR이 켜져 있을 때 읽기 더 쉬웠다. 이것은 LCD의 백라이트를 낮추고 전력 소비를 줄일 수 있다는 것을 의미한다. SR은 장치의 배터리 수명을 연장할 수도 있다.

6. Conclusion

많은 SR 기술이 제안되었지만, 지금까지 신호 처리 로드가 심하여 SR을 스마트폰에서 실행할 수 없었다. 저자들은스마트폰 하드웨어와 함께 사용할 수 있는 SR 기술을 제안했다. 추가 장치 없이 60Hz 비디오에서 실시간으로 작동한. 개발된 스마트폰은 원본 비디오에는 없었던 고주파 요소를 보여주며, 작동한다는 것을 증명하기 위해 2D-FFT 결과를 제시했다. 스마트폰의 디스플레이는 작지만 해상도 향상은 스마트폰 사용자가 쉽게 감지할 수 있다. 스마트폰용 SR은 실시간 비디오용으로 개발되었다. 하지만, 그것은 부수적인 이득이 있다. SR은 대비를 개선하며 문서의 문자를 읽기 쉬워진다. 개발된 스마트폰은 wide quad HD(WQHD), 14402560 화소 디스플레이를 탑재하고 있으며, 4K 디스플레이가 스마트폰에 탑재되기 시작했다. 대형 디스플레이는 시스템 구성요소가 더 많은 픽셀을 처리해야 하기 때문에 실시간 시스템에 대처하기 위해 부하가 많이 필요하다. 4K 디스플레이가 있는 스마트폰의 SR은 다음 단계이다.

profile
Computer Vision Deep Learning Engineer
post-custom-banner

0개의 댓글