서 론
최근 모바일 기기는 PC와 버금가는 성능을 사용자들에게 제공하고 있다. 또한, 고화질 카메라가 필수적으로 탑재되어 이제 모바일 기기 사용자 누구나 간단하게 고화질 영상을 취득하고 처리할 수 있다. 하지만 사용자들은 더욱 좋은 화질의 고해상도 영상을 요구하고 있다. 이에 QVGA, VGA, WVGA 해상도를 넘어 720p, 1080p, Ultra HD 해상도가 현재 대중화되어 가고 있다. 그러나 영상의 해상도가 커짐에 따라 영상의 데이터양도 급격히 증가되었다. 일례로 8 Bit의 비트 심도를 가진 640 × 480 크기를 가진 VGA 해상도의 칼라 정지 영상의 데이터양은 640 × 480 × 3 × 8 bit ≒ 0.92 Mbyte이다. 3840 × 2160 크기를 가진 Ultra HD 해상도의 데이터양은 3840 × 2160 × 3 × 8 bit ≒ 24.88 Mbyte가 된다. 즉, Ultra HD에서 처리해야 하는 데이터양은 VGA의 약 27배이다. 기하급수적으로 커진 영상의 데이터양을 줄이기 위해 많은 연구가 진행되고 있다. 대표적으로 영상 압축 기술이 있으며, 현재 사용되고 있는 대부분의 압축 기술들은 수많은 자연 영상 분석을 통해 이루어졌다. 대표적인 자연 영상 분석은 자연 영상의 색상과 공간 구조 간의 주파수적 분석[1], 색상과 조도 관계[2], 자연 영상들에 대한 수치적 분석[3,4,5], 그리고 자연 영상의 구성 요소에 대한 분석[6] 등이 있다. 유명한 손실(lossy) 영상 압축 기술에는 JPEG(Joint Photographic Experts Group), H.26x 시리즈 그리고 VP9 등이 있다. 최근에는 JCT-VC(A Joint Collaborative Team of Video Coding)에서 HEVC(High Efficiency Video Coding)을 발표하여 고해상도 영상을 보다 효과적으로 압축할 수 있게 되었다[7].
자연 영상과 달리 불량품 검사, 의료 영상 개선, 영상 분류 등 다양한 분야에서 경계 영상을 사용하고 있다. 경계 영상도 자연 영상과 같이 더 좋은 품질의 고해상도가 요구되고 있다. 하지만 경계 검출 기술이 O(MNmn)이라는 높은 계산 복잡도를 가지고 있기 때문에 영상의 해상도가 커질수록 처리 시간이 급격히 증가한다는 문제점이 있다. 여기서 M, N은 각각 영상의 넓이, 높이를 m, n은 각각 경계 검출 마스크의 넓이, 높이를 나타낸다. 또한, 경계 검출 기술은 자연 영상과 경계 영상, 두 개의 영상 정보를 가져야 하므로 영상의 크기가 큰 경우 많은 메모리를 사용해야 한다는 문제점도 있다. 이는 한정된 자원을 가진 모바일 단말에서는 커다란 문제가 될 수 있다. 경계 검출 기술 대체 방안 중 하나는 자연 영상처럼 고해상도 경계 영상을 압축/전송하여 사용하는 방식이 있다. 경계 영상 압축을 통해 경계 검출 기술의 높은 계산 복잡도와 메모리 문제를 해결할 수 있다.
많은 분석과 다양한 압축 기술을 가진 자연 영상과 달리 자연 영상 이외의 영상들에 대한 분석은 미흡하고 압축 기술은 찾기 힘들다. 경계 영상도 마찬가지로 영상 자체의 분석이 부족하다. 경계 영상 분석의 미흡과 경계 영상 압축 기술의 필요성 부족으로 인해 지금까지 경계 영상 압축은 자연 영상 압축 방식을 그대로 사용하였다. 하지만 경계 영상은 자연 영상과는 전혀 다른 특성을 가지기 때문에 경계 영상을 기존 자연 영상 압축 방식으로 압축할 경우 압축효율은 떨어진다.
차세대 압축 기술인 HEVC는 경계 영상에서도 높은 압축률을 선보이고 있다. 하지만 전체적인 부호화 복잡도가 다른 압축 기술들보다 매우 크다. 이는 HEVC가 동일 영상 Quality일 때 H.264/AVC 대비 2배의 압축률을 목표로 하여 다양한 최신 기법들을 적용했기 때문이다. 대표적인 기법으로는 35개 모드의 화면 내 예측, 다양한 크기의 블록을 재귀적으로 처리하여 최적의 블록 크기를 찾는 화면 분할 방법 등이 있다. 이 기술들은 영상 복호화에도 영향을 끼쳐 복호화 시간을 크게 상승시킨다. 이러한 많은 처리 시간 때문에 실시간 처리가 필요한 분야나 성능이 제한된 모바일 기기 분야에서는 HEVC를 사용하기 어렵다.
본 논문에서는 경계 영상에 적합한 새로운 압축 기법을 제시한다. 먼저 경계 영상의 값 분포와 경계의 특징 등을 분석하였고, 그 결과 경계 영상의 값 분포가 ‘0’을 중심으로 하는 가우시안 분포라는 것을 확인했다. 이를 바탕으로 Zero-based Codec을 제안한다. 현재 처리되고 있는 CU(Coding Unit) 안의 모든 픽셀 값이 ‘0’인 경우, 한 개의 Bit Flag를 복호기에 보내어 복호화 시 해당 CU의 모든 값을 0으로 표현한다. 이 방법을 통해 압축 Bitrate를 크게 감소시킨다.
HEVC의 블록 분할 방식과 화면 내 예측은 코덱의 압축 효율을 높여준다. 하지만 HEVC의 기술들은 높은 계산 복잡도로 인해 부호화 시간을 크게 증가시킨다는 문제가 있다. 이를 해결하고자 QP(Quantization Parameter)와 PU(Prediction Unit)별로 최적의 블록 크기와 최적의 화면 내 예측 모드를 분석하였다. 분석을 토대로 블록 크기별로 Threshold 값과 경계 방향별 화면 내 예측 모드 후보군을 설정하였다. 위의 기법들을 Zero-based Codec과 결합하여 계산 복잡도를 감소시켰다. 실험 결과는 제안 코덱이 Y에 대한 객관적 화질이 HEVC에 비해 다소 떨어지지만, 제안 코덱의 주관적 화질이 HEVC와 동일하면서 처리 속도가 HEVC보다는 약 52.96배 더 빠른 것을 보여준다.
본 논문의 구성은 다음과 같다. 2장은 경계 영상 소개와 경계 영상 분석 내용 그리고 HEVC의 블록 분할 방식과 화면 내 예측을 소개하고 해당 기술들의 문제점을 이야기한다. 3장은 2장에서의 분석을 이용하여 설계한 Zero-based Codec과 HEVC의 블록 분할 방식과 화면 내 예측의 해결방안을 제시한다. 4장은 제안 코덱에 실험 결과를 보여주고, 최종적으로 5장에서 결론을 맺는다.
2. 경계 영상의 분석
경계 영상은 자연 영상에서 서로 다른 물체 사이의 경계를 검출하여 보여주는 영상을 뜻한다. 경계 영상은 손가락 영상의 경계 검출을 통한 개인 인증기술[8], 경계를 통한 전방 차량 검출[9], 경계 기반의 영상 품질 평가[10] 등 다양하게 사용되고 있다. 또한, Sample Adaptive Offset을 고속으로 예측[11], 영상 압축 분야에서도 경계 영상을 이용하여 화면 내 예측의 계산 복잡도 감소[12,13]등 코덱의 전체적인 계산 복잡도를 낮추고 퍼포먼스(Performance)를 향상 시키는 연구가 많이 이루어져 있다. 위와 같이 경계 영상은 대부분의 영상 처리 분야에서 사용되고 있다. 경계 검출 기술은 소벨(Sobel), 케니(Canny) 그리고 로버츠(Robert) 연산자 등이 있다. 본 논문에서는 다운-업(Down-Up) 경계 영상 알고리즘을 이용한다. 다운-업(Down-Up) 경계 영상 알고리즘은 입력 자연 영상을 Down Scaling 함수를 이용하여 1/N 배 크기로 보간한다. 그 후 Up Scaling 함수를 통해 원본과 같은 크기로 이미지를 보간한다. 위의 과정으로 보간된 결과 영상은 경계와 같은 고주파수 성분이 제거되어 전체적으로 원본 영상보다 부드러워진다. 이는 가우시안 스무딩(Gaussian Smoothing)을 적용한 이미지와 유사하다. 마지막으로 보간된 자연 영상과 원본 영상과의 차를 구한다. 식은 아래와 같다.
f(x,y)과 f'(x,y)은 좌표 (x,y)의 경계 영상과 다운-업 영상의 픽셀 값이며, e(x,y)은 좌표 (x,y)의 경계 영상의 픽셀 값을 나타낸다. 다운-업 영상은 고주파수 성분은 제거되고 저주파수 성분만 남아 있기 때문에 원본 영상과의 차를 구하면 평평한 영역에서는 ‘0’에 가까운 차이 값이 나타나면 경계 영역에서는 큰 차이 값이 나온다. 이로 인해 생성된 차영상은 원본의 경계들로 구성된 경계 영상이 된다. Fig. 1은 원본 영상, 소벨 경계 영상 그리고 다운-업 경계 영상을 보여준다.
Fig. 1.Comparison of an edge image (a) Original image, (b) Sobel edge image, (c) Down-up edge image.
2.1 경계 영상 영역 분석
영상은 크게 Contour와 Texture로 구성되어 있다. Contour는 객체의 윤곽, 즉 객체의 경계선 또는 경계를 뜻한다. Texture는 영상에서 homogeneous 영역, 즉 배경을 말한다. 경계 영상과 자연 영상의 가장 큰 차이 중 하나는 Texture 영역 값의 Coherence이다. 경계 영상은 Texture 영역 값의 Coherence가 자연 영상보다 훨씬 크다. 이는 경계 영상이 영교차로 구성된 영상이기 때문이다. 이로 인해 경계 영상의 Texture 영역의 값은 아주 작은 값들로 이루어져 있다. 특히 다운-업 경계 기술의 특성상 경계 영상의 Data가 Sparse하게 나타나며 Dynamic Range가 적다. Fig. 2는 자연 영상과 경계 영상의 Texture 영역 차이를 보여주기 위해 Fig. 1의 (a) 영상과 (c) 영상의 동일 Texture 지역 일부분을 확대한 그림이다.
Fig. 2.Comparison of texture region. (a) Texture region of (a) image of fig. 1, (b) Texture region of (c) image of fig. 1
2.2 경계 영상 수치적 분석
경계 영상은 Texture 지역의 Coherence가 아주 크기 때문에 경계 영상의 픽셀 값 대부분은 특정 영역에 분포한다. 본 논문은 경계 영상의 값 분포를 분석하기 위해 정규 히스토그램(Normalized histogram)을 이용한다. 경계 영상의 너비를 w, 높이를 h, 그리고 e(x,y)은 경계 영상의 좌표 (x,y)의 픽셀 값이라고 할 때, 1-D Histogram h(u)은 다음과 같이 계산한다.
δ(•)은 Argument가 참인 경우 1, 나머지 경우 0을 반환한다. 영상 전체의 픽셀들의 개수를 s라고 할 때 정규화 1-D Histogram ĥ(u)은 아래와 같이 계산한다.
Fig. 3은 경계 영상의 값 분포의 일부분을 보여준다. 경계 영상의 값 분포는 ‘0’을 중심으로 퍼지는 가우시안 분포 모양을 하고 있다. class 1의 경우 전체 값 개수의 약 83%가 –3~3 값 사이에 몰려 있다. 그 외의 영상들도 픽셀 값의 상당수가 해당 지역에 분포된 모습을 보여준다. 경계 영상은 위처럼 값의 분포가 지엽적이기 때문에 이를 이용하면 경계 영상에 대한 압축 효율을 크게 증진시킬 수 있다.
Fig. 3.The distribution of the value of the edge image.
2.3 HEVC의 블록 분할과 화면 내 예측
HEVC은 가변 크기의 CTU(Coding Tree Unit)을 사용한다. CTU는 다시 CU, PU 그리고 TU(Transform Unit)으로 분류된다. 각 Unit은 예측이 수행되는 코딩 기본 단위, 예측의 기본 단위, 그리고 변환블록의 기본 단위를 뜻한다. 셋 개의 Unit은 CTU 크기보다 클 수 없다. CU는 CTU의 크기부터 분할되어 최소 8 × 8까지 분할된다[14]. 본 논문에서는 CTU는 64 × 64, CU는 64 × 64~8 × 8 그리고 PU의 크기를 64 × 64~4 × 4, TU 사이즈는 32 × 32~4 × 4로 설정하였다.
HEVC의 화면 내 예측 모드는 35개가 존재한다. 모드 0과 모드 1은 Planar, DC이다. 그 이외의 33개의 모드는 방향성을 고려한 Angular 화면 내 예측 모드이다. HEVC의 화면 내 예측은 위의 35개의 모드를 이용하여 정밀한 예측을 실행한다. HEVC은 Unit 내 영상 정보의 특징과 주변 영상 정보들과의 관계를 RDO(Rate-Distortion Optimization)을 이용하여 계산한다. 계산된 RDO로 통해 영상에 Rate와 열화를 고려한 각 Unit의 최적의 압축을 선택한다. 이때 사용되는 RDO 식은 아래와 같다[15].
D, R, J는 각각 양자화에 의한 열화, 압축 스트림의 Rate, RD-Cost이고, ∅, λ은 각각 부호화 모드와 라그랑지안(Lagrangian) 승수를 가리킨다. 여기서 최적의 인코딩을 위해 최소의 J값을 찾고, 그에 따른 ∅를 선택한다. 아래 식은 하나의 영상에서 J값을 계산하기 위해 사용되는 블록 분할과 화면 내 예측 RDO 수행 횟수이다.
C는 RDO 수행 횟수이고, α은 영상의 CTU 개수이다. 또한 B는 CTU 사이즈의 따른 최대 RDO 수행 횟수이고, P는 화면 내 예측 모드의 개수이다. 예를 들어 Full HD 화질의 그레이 스케일 이미지를 64x64 CTU 사이즈와 35개의 화면 내 예측 모드로 영상을 압축한다고 가정할 때, 최대 4,569,600번의 RDO가 실행된다. 이러한 RDO 연산은 HEVC 부호화 계산 복잡도를 크게 증가시킨다[16]. 따라서 HEVC의 화면 분할 방식과 화면 내 예측을 사용하기 위해서는 RDO를 대체할 수 있는 방식이 필요하다. 본 논문에서는 Unit 내 경계의 방향 개수, 주요 경계의 방향과 경계의 강도의 Unit 내 분포를 이용하여 최적의 압축을 수행하는 방법을 제안한다.
3. 제안하는 Zero-Based Codec
3.1 경계의 값 분포를 이용한 압축 기법
경계 영상의 값 분포는 ‘0’을 중심으로 하는 가우시안 분포이다. 따라서 경계 영상에서 가장 많은 빈도수를 차지하는 값은 ‘0’이 되므로 ‘0’에 대한 Bit를 적게 주면 줄수록 경계 영상의 압축률이 높아진다. 제안하는 Zero-based Codec은 CU 블록의 픽셀 값이 모두 ‘0’인 Zero Block인 경우, 1 Bit로 부호화하여 복호화 시 해당 CU 블록의 모든 값이 ‘0’으로 표현될 수 있게 설계하였다. Fig. 4는 Zero-based Codec의 순서도를 보여준다.
Fig. 4.Flow chart of Zero-based Codec.
제안하는 Zero-based Codec은 CU 블록의 픽셀 값이 모두 ‘0’인 Zero Block인 경우, 1 Bit를 부호화하여 복호화 시 해당 CU 블록의 모든 값이 ‘0’으로 표현될 수 있게 설계하였다. Fig. 4는 Zero-based Codec의 순서도를 보여준다.
제안 코덱은 Zero Block을 늘리기 위해 특정 구간을 모두 ‘0’으로 치환하는 Bit Reduction 전처리를 실행한다. Bit Reduction 식은 아래와 같다.
τ은 Threshold 값을 나타내고, 경계 픽셀의 절대 값이 Threshold보다 작거나 같은 경우 ‘0’으로 치환한다. Bit Reduction된 경계 영상은 차례대로 블록 분할과 화면 내 예측, 주파수 변환, 그리고 양자화를 실행한다. 마지막으로 엔트로피 코딩(Entropy Coding)을 통해 최종적으로 영상을 압축한다.
경계 영상을 다양한 크기의 CU 블록으로 분할하고 각 CU 블록 내 픽셀의 모든 값이 ‘0’인지 검사한다. Zero Block인 경우에는 부호기는 복호기에 'True'를 전달한다. 두 가지 방식으로 Zero Block 검사가 이루어진다. CU의 경계 픽셀 값을 검사하는 방식과 경계 픽셀 값을 주파수 변환과 양자화를 한 후에 나온 결과 값을 검사하는 방식이 있다. 후자 방식은 경계 영상의 Dynamic Range가 작다는 특징을 이용한다. 경계 영상의 값 분포가 –3~3 값 사이에 많이 분포되어 있으므로 경계 영상에 양자화를 적용할 경우 많은 블록이 Zero Block으로 변한다. 양자화를 통해 나온 Zero Block은 역양자화와 역주파수 변환 후에도 모든 값이 0이 되기 때문에 첫 번째 방식의 Zero Block과 성질이 일치하다.
화면 내 예측 실행 전에 두 가지 Zero Block 검사를 함으로써, 이후에 발생하는 Flag Bit를 줄일 수 있으면 부호화 계산 복잡도를 감소시킬 수 있다. 현재 CU가 Zero Block이 아닌 경우에는 복호기에 'False' 전달하고, 화면 내 예측에 대한 실행 여부를 결정한다. 그 후, 주파수 변화와 양자화를 적용하여 경계 영상의 데이터양을 감소시킨다. Zero-based Codec의 주파수 변화와 양자화 기술은 HEVC의 Integer DCT(Discrete Cosine Transform)와 양자화 스케일(Quantization Scale) 방식과 같다. 마지막으로 엔트로피 코딩을 통해 경계 압축 영상의 비트스트림(BitStream)을 생성한다.
3.2 경계 정보를 이용한 블록 분할
RDO를 이용하는 블록 분할 방식을 대체하기 위해 본 논문에서는 경계 방향성과 경계의 강도를 이용한다. 경계의 방향성과 경계의 강도를 구하기 위해 경계 영상에서 그레이디언트(Gradient)를 계산한다. Fig. 5는 그레이디언트 검출 마스크이다.
Fig. 5.Gradient detection mask.
식 7은 그레이디언트 검출 마스크를 이용하여 그레이디언트 dx을 계산하는 식이다.
e(u,v)은 경계 영상의 좌표 (u,v)의 픽셀 값, M(x,y)은 좌표 (u,v)의 그레이디언트 검출 마스크 값을 의미한다. dy을 구하는 식은 위와 동일하다.
아래 식은 그레이디언트 dy, dx을 이용하여 경계 강도, 그레이디언트 방향을 계산하는 식이다. S와 D는 경계 강도, 그레이디언트 방향을 나타낸다.
D의 경계 방향은 [0°, 360°]를 가지기 때문에서 모든 방향으로 처리하는 대신 수평(0°), 수직(90°), 45°, 135°의 4 방향으로 양자화한다[17].
위 식들로 생성된 경계 강도와 방향의 개수는 경계 영상의 크기와 같다. 데이터양을 줄이기 위해 경계 강도와 방향의 개수를 4 × 4 블록으로 분할한 후, 분할된 블록 별로 경계의 주된 방향과 강도를 계산한다. 식(10)은 경계의 주된 방향을 구하는 식을 나타낸다.
HD는 1-D 경계 Histogram을 뜻한다. Histogram 계산식은 식 (2)와 동일하다. D'(w',h')은 w',h'에 위치한 경계 방향 값이다. 즉, 블록 내의 각 픽셀의 경계 방향들 중에서 가장 많은 방향이 블록의 주된 방향이다.
식 (11)은 식 (10)에서 구한 주된 경계의 강도를 구하는 식이다. 모든 전처리 과정을 마친 뒤 원본 경계 영상을 CTU 블록 크기인 64 × 64로 분할한다. 각 CTU은 식 (10)과 식 (11)에서 구한 주요 경계 방향과 주요 경계의 강도를 이용하여 CU 사이즈를 결정한다.
경계의 주된 방향의 개수가 다른 경계들과 비슷하거나 작으면 현재 지역은 다양한 경계가 존재하는 복잡한 지역이다. 복잡한 지역은 CU의 크기가 작을수록 예측의 효율은 높아진다. 이와 반대로 경계의 주된 방향의 개수가 다른 경계들보다 많으면 현재 지역은 Edge confidence가 높은 지역이다. Edge confidence가 높은 지역은 PU의 크기가 클수록 예측의 효율을 높아진다. Fig. 6은 지역에 따른 경계 방향을 보이고 있다. 또한, 경계의 주된 방향의 강도가 다른 경계들보다 크지 않은 지역은 복잡한 지역이므로 CU의 크기가 작아야 한다. 이 때문에 블록의 병합과 분할은 경계의 주된 방향의 개수와 강도를 고려해야 한다.
Fig. 6.Edge orientation per block region. (a) the edge orientation per 4×4 pixels of the complex region, (b) the edge orientation per 4×4 pixels of the region of the strong edge confidence.
기존의 코덱에서는 모든 블록의 크기에 대해 Cost를 계산하고, 그중에서 가장 작은 Cost를 가지는 블록의 크기로 병합된다. Cost를 사용하여 병합된 블록들의 경계의 주된 방향 개수와 강도 모두 블록 내에서 차지하는 비중이 크고 차지 비율은 언제나 일정한 값을 웃돈다. 따라서, 제안 코덱에서는 Cost가 아닌 임계값을 통해 블록의 병합과 분할을 고속으로 처리한다.
임계값을 도출하기 위해 다음과 같은 과정을 거친다. 먼저, QP 값을 10에서 49까지 설정하고, 각 CTU의 블록 크기 별로 Edge confidence를 계산한다. 그리고 분할에 필요한 Bit와 계산된 Edge confidence를 고려하여 최적의 크기로 블록을 분할한다. 마지막으로 병합된 블록의 크기별로 경계의 주된 방향 개수와 강도가 블록 내에서 차지하는 비율을 계산한다. Fig. 7과 Fig. 8은 경계의 주된 방향과 강도가 블록 내에서 차지하는 비율을 보여준다. Table 1과 Table 2는 Fig. 7과 Fig. 8을 통해 정의된 임계값이다.n
Fig. 7.Accounting for the average number of the major edge per block size. (a) 8x8 block size, (b) 16×6 block size, (c) 32×32 block size, (d) 64×64 block size.
Fig. 8.Accounting for the average amplitude of the major edge per block size. (a) 8×8 block size, (b) 16×6 block size, (c) 32×32 block size, (d) 64×64 block size.
Table 1.Threshold of accounting for the number of the major edge per QP and Block Size.
Table 2.Threshold of accounting for the amplitude of the major edge per QP and block Size
제안 코덱은 경계의 주된 방향의 개수와 강도가 차지하는 비율 값 중에 하나라도 임계값보다 작으면 CU를 분할한다. 분할은 CU 크기가 최소 블록 크기가 될 때까지 실행하며, 식은 (12)와 같다. E와 S는 경계의 주된 방향과 강도가 현재 블록 내에서 차지하고 있는 비율을 나타내면 em과 sm은 경계별 방향 개수와 강도이다. 제안 방법은 임계값만을 이용하기 때문에 블록의 병합과 분할에 대한 계산 복잡도가 작다. 또한, 경계의 주된 방향의 개수와 강도를 이용하기 때문에 병합된 블록들의 Edge confidence가 높다.
3.3 경계 정보를 이용한 화면 내 예측
앞서 언급했듯이 HEVC의 화면 내 예측 모드는 총 35가지로 이루어져 있다. 특히 33가지의 Angular 화면 내 예측 모드는 영상의 방향성과 관련이 크다. 수직인 경계 영상의 경우 26 주변으로, 수평이면 10 주변으로 예측 모드가 선택된다. 본 논문에서는 화면 내 예측 모드와 블록 방향 간의 상관관계를 알기 위해 다음과 같이 실험한다. 식 (9)의 경계 방향을 36개의 방향으로 양자화한다. 그 후, 모든 화면 내 예측 모드를 실행하여 최적의 예측 모드를 구한다. 현재 블록의 방향과 최적의 예측 모드를 표시한 결과는 Fig. 9와 같다. Fig. 9는 블록의 각도 별로 가장 많이 나온 화면 내 예측 모드 10개를 빨간 화살표로 표시한 그림이다. Fig. 9의 결과는 경계의 각도가 커질수록 예측 모드들이 반 시계 방향으로 회전하는 것을 보여준다.
Fig. 9.Intra prediction mode of each the edge orientation.
본 논문에서는 이 특징을 이용하여 36개의 경계 방향을 몇 개의 그룹으로 묶어 화면 내 예측을 간소화시킨다. Table 3은 36개의 경계 방향을 그룹화한(Grouping) 표이다.
Table 3.An edge orientation group
각 그룹에 특성에 따라 총 13개의 화면 내 예측 모드를 부여하였다. PU는 경계의 방향에 따라 하나의 경계 그룹에 속한다. 각 PU는 13개의 예측 모드를 이용하여 화면 내 예측을 실행한다. 최종적으로 가장 작은 크기의 잔여 블록을 생성하는 예측 모드를 최적의 예측 모드로 선택한다. Fig. 10은 1st 그룹의 화면 내 예측 모드를 보인다.
Fig. 10.Intra prediction mode set of 1st group.
자연 영상과 달리 경계 영상은 Signed 9 Bit 영상이므로 음수가 존재한다. 이로 인해 화면 내 예측 시 참조 샘플 값과 현재 픽셀 값의 부호가 다를 경우, 잔여 픽셀 값이 현재 픽셀 값보다 커진다. 본 논문은 최적의 모드로 생성된 잔여 블록과 현재 블록의 픽셀 값들을 비교하여 위 문제를 해결한다. 식은 다음과 같다.
predflag는 화면 내 예측 실행 Flag이고, R, e'는 최적의 모드로 생성된 잔여 블록과 현재 블록의 픽셀 값들이다. predflag의 값에 따라 주파수 변환이 적용되는 블록을 달리한다. 잔여 블록의 절댓값 합이 현재 블록의 픽셀 절댓값 합보다 작은 경우 predflag는 1이 되고, 잔여 블록으로 주파수 변환을 한다. 반대의 경우에는 잔여 블록이 아닌 현재 블록으로 주파수 변환을 한다. 위 방법을 통해 부호 문제로 인해 현재 블록의 픽셀 값들보다 더 커진 잔여 블록의 픽셀 값으로 주파수 변환을 하는 것을 방지한다.
4. 실험결과
제안하는 코덱은 경계 영상의 값 중 ‘0’이 가장 많은 빈도수를 차지하는 것을 이용하여 경계 영상에 대한 압축 효율 크게 늘렸다. 또한, 화면 분할과 화면 내 예측에서 사용하는 RDO를 경계의 방향을 이용하는 방식으로 전환하여 부호화의 처리 시간을 현저히 감소시켰다. 제안하는 코덱의 성능을 평가하기 위해 다양한 크기로 실험을 수행했다. 실험 영상으로는 YUV420 칼라모델인 640 × 480, 1280 × 720, 1920 × 1088, 2560 × 1600 그리고 3840 × 2160 크기의 영상을 사용하였다. 기존 코덱과의 성능 비교를 위해 HEVC의 소프트웨어 모델인 HM 16.2를 이용하였다. 실험은 3.50GHz 듀얼 코어, 16GB 메모리를 가지는 사양의 컴퓨터로 진행하였다.
Table 4는 동일 Bitrate일 때의 전체 인코딩 시간을 비교한 표이다. 실험 결과는 제안하는 코덱이 HEVC보다 최대 약 66배, 평균적으로는 약 53배의 빠른 부호화 속도를 가지는 것을 보인다. Table 5는 동일 Bitrate일 때의 HEVC와 제안 코덱의 PSNR을 비교한 표이다. 제안하는 코덱이 HEVC에 비해 Y도메인에서 다소 화질의 열화를 보이지만 U, V 도메인에서 유사한 것을 확인할 수 있다.
Table 4.Comparing encoding time of the proposed algorithm with HEVC
Table 5.PSNR comparisons of the proposed algorithm and HEVC
Fig. 11은 동일 Bitrate일 때의 HEVC와 제안 코덱의 복호기로 복원한 영상을 비교한 그림이다. Fig. 11의 Enhancement 영상은 복원된 이미지의 Y 값에 5를 곱한 영상이다. 두 코덱 간의 영상의 주관적 화질이 동일한 것을 알 수 있다. Enlarged 영상은 Enhancement 영상에서 일부를 확대하여 보여준다. 위의 Enlarged 영상은 제안하는 코덱이 몇몇 부분에서 수평과 수직 방향의 경계를 HEVC보다 좀 더 정확하게 복원하는 모습을 보여준다.
Fig. 11.Comparing the image of the proposed codec with HEVC.
5. 결 론
본 논문에서는 경계 영상에 적합한 새로운 압축 기법을 제시하였다. 먼저, 경계 영상과 자연 영상과의 차이와 특징을 분석하였고, 경계 영상의 값 분포가 ‘0’을 중심으로 퍼지는 가우시안 분포라는 것을 확인하였다. 이에 본 논문에서는 새로운 경계 영상 압축 기법인 Zero-based Codec을 제안하였다. 제안 코덱은 CU 블록 안의 모든 픽셀 값이 ‘0’인 경우 1개의 Flag를 복호기에 보낸다. 그 후 복호화 시에 해당 CU 블록을 Zero block으로 표현한다. 또한, 특정 구간을 ‘0’으로 치환하는 Bit reduction을 적용하여 Zero block을 증가시켰다. 제안하는 코덱은 기존의 코덱에서 사용하는 RDO로 인해 부호화 및 복호화의 계산 복잡도가 높아지는 문제가 발생한다. 본 논문에서는 높은 계산 복잡도를 줄이기 위해 블록의 크기별로 경계의 주된 방향 개수와 강도가 블록 내에서 차지하는 비율을 이용하여 블록 분할 크기를 고속으로 설정할 수 있게 하였고 36개의 경계 방향을 7개 그룹으로 묶어 각 그룹별로 화면 내 예측 모드 Set을 주어 화면 내 예측의 모드를 고속으로 찾을 수 있게 하였다. 실험 결과를 통해 제안 코덱이 객관적 화질 평가에서 HEVC보다 다소 떨어지지만, 제안 코덱이 HEVC에 비교하여 현저히 빠른 속도를 보이면서도 주관적 화질에서는 동일하다는 것을 확인하였다.
References
- G.J. Burton and I.R. Moorhead, “Color and Spatial Structures in Natural Scenes,” Journal of Applied Optics, Vol. 26, No. 1, pp. 157-170, 1987. https://doi.org/10.1364/AO.26.000157
- C.A. Párraga, G.Brelstaff, T. Troscianko, and I.R. Moorehead, "Color and Luminance Information in Natural Scenes," Journal of the Optical Society of America A, Vol. 15, Issue 3, pp. 563-569, 1998. https://doi.org/10.1364/JOSAA.15.000563
- A. Srivastava, A.B. Lee, E.P. Simoncelli, and S.C. Zhu, "On Advances in Statistical Modeling of Natural Images," Journal of Mathematical Imaging and Vision, Vol. 18, Issue 1, pp. 17-33, 2003. https://doi.org/10.1023/A:1021889010444
- D.L. Donoho and A.G. Flesia, “Can Recent Innovations in Harmonic Analysis ‘Explain’ Key Findings in Natural Image Statistics,” Journal of Network: Computation in Neural Systems, Vol. 12, No. 5, pp. 371-393, 2001. https://doi.org/10.1080/net.12.3.371.393
- D.L. Ruderman, “The Statistics of Natural Images,” Journal of Network: Computation in Neural Systems, Vol. 5, pp. 517-548, 1994. https://doi.org/10.1088/0954-898X_5_4_006
- G. Heidemann, “The Principal Components of Natural Images Revisited,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 28, No. 5, pp. 822-826, 2006. https://doi.org/10.1109/TPAMI.2006.107
- D.S. Lee and Y.M. Kim, “Efficient Motion Information Representation in Splitting Region of HEVC,” Journal of Korea Multimedia Society, Vol. 15, Issue 4, pp. 485-491, 2012. https://doi.org/10.9717/kmms.2012.15.4.485
- B.K. Bae, H.S. Kim, and A.R. Kim, “Individual Identification by Finger Edge Images,” Journal of Korean Institute of Information Technology, Vol. 10, Issue 5, pp. 49-59, 2012.
- Y.S. Ji, Y.J. Han, and H.S. Hahn, “Real-time Forward Vehicle Detection Method Based on Extended Edge,” Journal of the Korea Society of Computer and Information, Vol. 15, Issue 10, pp. 35-47, 2010. https://doi.org/10.9708/jksci.2010.15.10.035
- G.H. Chen, C.L. Yang, L.M. Po, and S.L. Xie, “Edge-Based Structural Similarity for Image Quality Assessment,” Proceeding of IEEE International Conference on Acoustics Speech and Signal Processing, Vol. 2, pp. 933-936, 2006.
- J.h. Joo and Y.S. Choi, “Dominant Edge Direction Based Fast Parameter Estimation Algorithm for Sample Adaptive Offset in HEVC,” Proceeding of IEEE International Conference on Image Processing, pp. 3749-3752, 2014.
- H. Li, K.N. Ngan, and Z. Wei, “Fast and Efficient Method for Block Edge Classification and Its Application in H.264/AVC Video Coding,” IEEE Transactions on Circuits and Systems for Video Technology, Vol. 18, Issue 6, pp. 756-768, 2008. https://doi.org/10.1109/TCSVT.2008.918778
- G. Chen, Z. Liu, T. Ikenaga, and D. Wang, “Fast HEVC Intra Mode Decision Using Matching Edge Detector and Kernel Density Estimation alike Histogram Generation,” Proceeding of IEEE International Symposium on Circuits and Systems, pp. 53-56, 2013.
- B. Bross, W.J. Han, J.R. Ohm, G.J. Sullivan, Y.K. Wang, and T. Weingand, High Efficiency Video Coding (HEVC) Text Specification Draft 10, 2013.
- D.K. Sim and H.H. Jo, High Efficiency Video Coding Technology HEVC Understanding of Standards Technology, Hongrung Publishing Company, Seoul, 2014.
- F. Bossen, B. Bross, K. Suhring, and D. Flynn, “HEVC Complexity and Implementation Analysis,” IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, Issue 12, pp. 1685-1696, 2012. https://doi.org/10.1109/TCSVT.2012.2221255
- S. Na, W.J. Lee, and K.W. Yoo, "Edge-based Fast Mode Decision Algorithm for Intra Prediction in HEVC," Proceeding of IEEE International Conference on Consumer Electronics, pp. 12-13, 2014.
Cited by
- Turtle edge encoding and flood fill based image compression scheme pp.1573-7543, 2018, https://doi.org/10.1007/s10586-018-1994-5