Frame Partition based Parallelization of H.264/AVC decoder

프레임 분할 기반 병렬화 H.264/AVC 디코더

  • 김원진 (한양대학교 전자컴퓨터통신공학과) ;
  • 박주열 (한양대학교 전자컴퓨터통신공학과) ;
  • 정기석 (한양대학교 융합전자공학부)
  • Published : 2010.07.08

Abstract

고해상도의 동영상 서비스가 보편화 되면서 동영상을 빠르게 처리를 위한 연구가 활발히 이루어 지고 있다. 그리고 멀티코어 프로세서의 사용이 증가 하고 멀티코어 시스템에서 H.264/AVC 디코더를 구현하기 위하여 다양한 병렬화 방법이 제안되고 있다. 하지만 H.264/AVC디코더의 병렬화를 진행하는 과정에서 각 스레드에서 처리하는 데이터의 처리시간 차이로 인하여 스레드의 동기를 확인 해야 한다. 이로 인하여 병렬화를 통한 성능 향상의 걸림돌이 된다. 우리는 이러한 병렬화 과정에서 발생하는 문제점을 고려하여 효과적으로 H.264/AVC 디코더를 병렬화 하는 방법에 대하여 연구하였다. 우리가 제안하는 Frame Partition based Parallelization (FPP) 방법은 프레임을 매크로 블록 묶음으로 나누어 병렬화 한다. 그리고 병렬화 과정에서 스레드를 처리하는 방법을 개선하여 성능을 향상 시켰다. 본 논문에서는 FFmpeg H.264/AVC 디코더를 이용하여 실험 하였고 인텔 쿼드 코어 기반의 멀티코어 시스템에서 멀티 스레드로 구현하였다. 우리는 FPP 방법을 적용하여 병렬화 방법 적용 전 H.264/AVC 디코더와 비교하여 최대 53%의 성능 향상을 보였다.

Keywords