Abstract
In this paper, we propose a complexity-based parallelization method of the sample adaptive offset (SAO) algorithm which is one of HEVC in-loop filters. The SAO algorithm can be regarded as region-based process and the regions are obtained and represented with a quad-tree scheme. A offset to minimize a reconstruction error is sent for each partitioned region. The SAO of the HEVC can be parallelized in data-level. However, because the sizes and complexities of the SAO regions are not regular, workload imbalance occurs with multi-core platform. In this paper, we propose a LCU-based SAO algorithm and a complexity prediction algorithm for each LCU. With the proposed complexity-based LCU processing, we found that the proposed algorithm is faster than the sequential implementation by a factor of 2.38 times. In addition, the proposed algorithm is faster than regular parallel implementation SAO by 21%.
본 논문은 High Efficiency Video Coding (HEVC)의 인-루프 필터 기술인 Sample Adaptive Offset (SAO)에 대하여 복잡도 분석기반의 병렬화 방법을 제안한다. HEVC의 SAO는 쿼드트리 기반으로 영상을 다수의 SAO영역으로 분할하고, 각 영역 단위로 에러 보정을 위한 오프셋 값을 전송함으로써 복호화된 화소의 에러를 보정한다. HEVC의 SAO는 데이터 레벨의 병렬화를 통하여 고속화할 수 있는데, SAO영역 단위의 데이터 레벨 병렬화는 영역의 크기가 일정하지 않아 멀티 코어를 사용한 병렬화시 작업량 불균형(Workload imbalance)이 발생한다. 또한, SAO는 영역 단위로 필터링 적용 여부가 결정되므로 균둥하게 SAO영역을 각 코어에 할당하더라도, 작업량 불균형이 발생할 수 있다. 본 논문에서는 SAO영역의 최소 단위인 Largest Coding Unit (LCU)를 SAO 수행의 기본단위로 하여, 각 단위에서의 SAO 파라미터 정보를 이용하여 복잡도를 미리 예측 하였다. 예측된 복잡도를 기반으로 각 코어에 균일하게 작업량이 할당될 수 있도록 영역을 코어에 적응적으로 할당하여 병렬화를 수행한 결과 순차 수행 기반 SAO에 비하여 2.38배, 영역 균등 SAO 병렬화 대비 21% 속도 향상되었다.