Abstract
It is important to reduce computational complexity of de-blocking filter for real-time implementation, because it accounts for a great part of total computational complexity of the decoder. Because there are a lot of conditional branches and memory accesses in a decoding loop, it is not easy to speed up the de-blocking filter. Therefore, this paper presents a new algorithm of de-blocking filter minimizing conditional branches and memory accesses. The proposed structure of de-blocking filter enables filter operation to parallelize by software pipelining. The proposed optimization method was implemented on a TMS320DM6467 EVM board and we achieved approximately 46% cycle reduction, compared with that of FFmpeg.
H.264/AVC의 디블록킹 필터는 복호화기 전체의 계산 복잡도 중 큰 비중을 차지하기 때문에, H.264/AVC 복호화기의 실시간 구현을 위해서는 디블록킹 필터의 계산 복잡도를 줄이는 것이 매우 중요하다. 디블록킹 필터의 계산 복잡도가 높은 이유는 여러 단계의 조건 분기문이 많고 메모리 접근이 자주 일어나기 때문이다. 따라서, 본 논문에서는 분기문과 메모리 접근을 최소화하는 디블록킹 필터의 구조를 제안하고, 필터 연산의 병렬화를 위해 소프트웨어 파이프라이닝이 가능하도록 하는 최적화 방법을 제안한다. 제안하는 방법은 TMS320C64x+ 계열의 DSP의 TMS320DM6467 EVM 보드에 구현하여 최적화를 진행하였다. 실험 결과, 최적화된 디블록킹 필터는 FFmpeg의 디블록킹 필터와 비교하였을 때 평균 약 46%의 사이클이 감소되었다.