Abstract
In this paper, we propose a parallel deblocking algorithm to resolve workload imbalance when the deblocking filter of high efficiency video coding (HEVC) decoder is parallelized. In HEVC, the deblocking filter which is one of the in-loop filters conducts two-step filtering on vertical edges first and horizontal edges later. The deblocking filtering can be conducted with high-speed through data-level parallelism because there is no dependency between adjacent edges for deblocking filtering processes. However, workloads would be imbalanced among regions even though the same amount of data for each region is allocated, which causes performance loss of decoder parallelization. In this paper, we solve the problem for workload imbalance by predicting the complexity of deblocking filtering with coding unit (CU) depth information at a coding tree block (CTB) and by allocating the same amount of workload to each core. Experimental results show that the proposed method achieves average time saving (ATS) by 64.3%, compared to single core-based deblocking filtering and also achieves ATS by 6.7% on average and 13.5% on maximum, compared to the conventional uniform data-level parallelism.
본 논문에서는 high efficiency video coding (HEVC) 복호화기의 디블록킹 필터를 병렬화할 때 발생하는 작업량 불균형 문제를 해결하는 병렬화 방법을 제안한다. HEVC의 디블록킹 필터는 인-루프 필터로써 먼저 수직 에지에서 필터링을 수행한 후, 수평 에지에서 필터링을 수행한다. 수직 및 수평 에지에 대해 필터링을 수행하는 경우 주변 에지와 의존성이 없기 때문에 데이터 레벨의 병렬화를 통하여 복호화를 고속화 할 수 있다. 그러나 데이터 레벨 병렬화 방법을 통해 데이터가 균등하게 분할된 경우에도 영역 간의 작업량은 불균등 할 수 있으며, 이는 복호화기의 병렬화 성능을 저하시킨다. 본 논문에서는 coding tree block (CTB)에서 coding unit (CU)의 깊이 정보를 사용하여, 현재 프레임에 대한 디블록킹 필터링 과정의 연산량을 예측하고, 이를 통해 각 코어에 동등한 작업량이 분배되게 함으로써 작업량 불균형 문제를 해결하였다. 실험 결과, 제안하는 작업량 예측 기반의 데이터 레벨 병렬화 방법은 단일 코어를 사용하여 디블록킹 필터를 수행하는 것에 비하여 64.3%의 평균 시간 감소 (average time saving; ATS)를 얻었고, 기존의 균등 분할 데이터 레벨 병렬화 방법보다 평균 6.7%, 최대 13.5% 감소를 얻었다.